Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 10 Jun 2011 22:18:25 +0000 (UTC)
From:      Jeff Roberson <jeff@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   svn commit: r222954 - head/sys/ufs/ufs
Message-ID:  <201106102218.p5AMIPoR045494@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
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);



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201106102218.p5AMIPoR045494>