o At some point, unmounting a non-EA file system with EA's compiled

in got a bit broken, when ufs_extattr_stop() was called and failed,
  ufs_extattr_destroy() would panic.  This makes the call to destroy()
  conditional on the success of stop().

Submitted by:		Christian Carstensen <cc@devcon.net>
Obtained from:	TrustedBSD Project
This commit is contained in:
Robert Watson 2001-09-01 20:11:05 +00:00
parent c8b8bac3ed
commit 7df97b6117
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=82755

View File

@ -834,11 +834,13 @@ ffs_unmount(mp, mntflags, p)
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)