summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorjeff <jeff@FreeBSD.org>2011-06-10 22:18:25 +0000
committerjeff <jeff@FreeBSD.org>2011-06-10 22:18:25 +0000
commit2cdd0660a5978b8ea67c7857423395ceb93c8439 (patch)
tree8e7c42cbe351d7c8bebfa60e680a18806fc9e787
parent02186557c493060453d6404a21286d5ece195663 (diff)
downloadFreeBSD-src-2cdd0660a5978b8ea67c7857423395ceb93c8439.zip
FreeBSD-src-2cdd0660a5978b8ea67c7857423395ceb93c8439.tar.gz
- 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.
-rw-r--r--sys/ufs/ufs/ufs_lookup.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/sys/ufs/ufs/ufs_lookup.c b/sys/ufs/ufs/ufs_lookup.c
index 45ebea1..391b3e9 100644
--- a/sys/ufs/ufs/ufs_lookup.c
+++ b/sys/ufs/ufs/ufs_lookup.c
@@ -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);
OpenPOWER on IntegriCloud