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>