- 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.
This commit is contained in:
Jeff Roberson 2011-06-10 22:18:25 +00:00
parent 6f59b2bd33
commit 5aa336ed20
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=222954

View File

@ -967,7 +967,7 @@ ufs_direnter(dvp, tvp, dirp, cnp, newdirbp, isrename)
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);