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);
_______________________________________________
svn-src-head@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"

Reply via email to