Could you try the attached patch, which does what you suggest?
Robert N M Watson FreeBSD Core Team, TrustedBSD Project
[EMAIL PROTECTED] NAI Labs, Safeport Network Services
On Fri, 31 Aug 2001, Christian Carstensen wrote:
>
> hi,
>
> it seems like there's a problem in ffs_unmount, ffs_vfsops.c:841:
>
> if ufs_extattr_stop() returns EOPNOTSUPP, calling ufs_extattr_uepm_destroy
> two lines later will cause a panic("ufs_extattr_uepm_destroy: not initialized")
> in ufs_extattr.c:175, at least on my machine.
> maybe, ufs_extattr_uepm_destroy() should be enclosed in a else statement
> in ffs_vfsops.c?
>
>
> best,
> christian
>
> --
> "Sorry, no defects found. Please try a different search"
> [http://www.cisco.com/support/bugtools/bugtool.shtml]
>
>
> To Unsubscribe: send mail to [EMAIL PROTECTED]
> with "unsubscribe freebsd-current" in the body of the message
>
Index: ffs_vfsops.c
===================================================================
RCS file: /home/ncvs/src/sys/ufs/ffs/ffs_vfsops.c,v
retrieving revision 1.157
diff -u -r1.157 ffs_vfsops.c
--- ffs_vfsops.c 2001/06/28 22:21:27 1.157
+++ ffs_vfsops.c 2001/09/01 02:22:55
@@ -834,11 +834,13 @@
flags |= FORCECLOSE;
}
#ifdef UFS_EXTATTR
- if ((error = ufs_extattr_stop(mp, p)))
+ if ((error = ufs_extattr_stop(mp, p))) {
if (error != EOPNOTSUPP)
printf("ffs_unmount: ufs_extattr_stop returned %d\n",
error);
- ufs_extattr_uepm_destroy(&ump->um_extattr);
+ } else {
+ ufs_extattr_uepm_destroy(&ump->um_extattr);
+ }
#endif
if (mp->mnt_flag & MNT_SOFTDEP) {
if ((error = softdep_flushfiles(mp, flags, p)) != 0)