Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 31 Aug 2001 22:25:00 -0400 (EDT)
From:      Robert Watson <rwatson@freebsd.org>
To:        Christian Carstensen <cc@devcon.net>
Cc:        current@freebsd.org
Subject:   Re: ufs ext attr problem...
Message-ID:  <Pine.NEB.3.96L.1010831222303.14755B-200000@fledge.watson.org>
In-Reply-To: <Pine.BSF.4.33.0108311711530.928-100000@albert.gate5.de>

index | next in thread | previous in thread | raw e-mail

[-- Attachment #1 --]
Could you try the attached patch, which does what you suggest?

Robert N M Watson             FreeBSD Core Team, TrustedBSD Project
robert@fledge.watson.org      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 majordomo@FreeBSD.org
> with "unsubscribe freebsd-current" in the body of the message
> 

[-- Attachment #2 --]
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)
help

Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?Pine.NEB.3.96L.1010831222303.14755B-200000>