mirror of
https://git.FreeBSD.org/src.git
synced 2025-02-04 17:15:50 +00:00
- 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:
parent
6f59b2bd33
commit
5aa336ed20
Notes:
svn2git
2020-12-20 02:59:44 +00:00
svn path=/head/; revision=222954
@ -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);
|
||||
|
Loading…
x
Reference in New Issue
Block a user