svn commit: r245612 - head/sys/fs/ext2fs

Pedro F. Giffuni pfg at FreeBSD.org
Fri Jan 18 19:11:17 UTC 2013


Author: pfg
Date: Fri Jan 18 19:11:17 2013
New Revision: 245612
URL: http://svnweb.freebsd.org/changeset/base/245612

Log:
  ext2fs: Add some DOINGASYNC check to match ffs.
  
  This is mostly cosmetical.
  
  Reviewed by:	bde
  MFC after:	3 days

Modified:
  head/sys/fs/ext2fs/ext2_inode.c

Modified: head/sys/fs/ext2fs/ext2_inode.c
==============================================================================
--- head/sys/fs/ext2fs/ext2_inode.c	Fri Jan 18 18:43:38 2013	(r245611)
+++ head/sys/fs/ext2fs/ext2_inode.c	Fri Jan 18 19:11:17 2013	(r245612)
@@ -180,7 +180,7 @@ ext2_truncate(vp, length, flags, cred, t
 		else
 			bawrite(bp);
 		oip->i_flag |= IN_CHANGE | IN_UPDATE;
-		return (ext2_update(ovp, 1));
+		return (ext2_update(ovp, !DOINGASYNC(ovp)));
 	}
 	/*
 	 * Shorten the size of the file. If the file is not being
@@ -238,7 +238,7 @@ ext2_truncate(vp, length, flags, cred, t
 	for (i = NDADDR - 1; i > lastblock; i--)
 		oip->i_db[i] = 0;
 	oip->i_flag |= IN_CHANGE | IN_UPDATE;
-	allerror = ext2_update(ovp, 1);
+	allerror = ext2_update(ovp, !DOINGASYNC(ovp));
 
 	/*
 	 * Having written the new inode to disk, save its new configuration
@@ -420,9 +420,13 @@ ext2_indirtrunc(ip, lbn, dbn, lastbn, le
 	  (u_int)(NINDIR(fs) - (last + 1)) * sizeof(int32_t));
 	if (last == -1)
 		bp->b_flags |= B_INVAL;
-	error = bwrite(bp);
-	if (error)
-		allerror = error;
+	if (DOINGASYNC(vp)) {
+		bdwrite(bp);
+	} else {
+		error = bwrite(bp);
+		if (error)
+			allerror = error;
+	}
 	bap = copy;
 
 	/*


More information about the svn-src-all mailing list