svn commit: r222954 - head/sys/ufs/ufs
Jeff Roberson
jeff at FreeBSD.org
Fri Jun 10 22:18:26 UTC 2011
Author: jeff
Date: Fri Jun 10 22:18:25 2011
New Revision: 222954
URL: http://svn.freebsd.org/changeset/base/222954
Log:
- If the fsync in ufs_direnter fails SUJ can later panic because we have
partially added a name. Allow ufs_direnter() to continue in the
hopes that it is a transient error. If it is not, the directory
is corrupted already from IO errors and writing this new block
is not likely to make things worse.
Modified:
head/sys/ufs/ufs/ufs_lookup.c
Modified: head/sys/ufs/ufs/ufs_lookup.c
==============================================================================
--- head/sys/ufs/ufs/ufs_lookup.c Fri Jun 10 22:15:36 2011 (r222953)
+++ head/sys/ufs/ufs/ufs_lookup.c Fri Jun 10 22:18:25 2011 (r222954)
@@ -967,7 +967,7 @@ ufs_direnter(dvp, tvp, dirp, cnp, newdir
return (0);
if (tvp != NULL)
VOP_UNLOCK(tvp, 0);
- error = VOP_FSYNC(dvp, MNT_WAIT, td);
+ (void) VOP_FSYNC(dvp, MNT_WAIT, td);
if (tvp != NULL)
vn_lock(tvp, LK_EXCLUSIVE | LK_RETRY);
return (error);
More information about the svn-src-head
mailing list