Module Name:    src
Committed By:   riastradh
Date:           Sat May  7 21:11:51 UTC 2016

Modified Files:
        src/sys/kern: vfs_wapbl.c

Log Message:
Clarify comment about early exit from wapbl_flush.

Note possible bug.  Requires further analysis.


To generate a diff of this commit:
cvs rdiff -u -r1.74 -r1.75 src/sys/kern/vfs_wapbl.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/kern/vfs_wapbl.c
diff -u src/sys/kern/vfs_wapbl.c:1.74 src/sys/kern/vfs_wapbl.c:1.75
--- src/sys/kern/vfs_wapbl.c:1.74	Sat May  7 20:59:46 2016
+++ src/sys/kern/vfs_wapbl.c	Sat May  7 21:11:51 2016
@@ -1,4 +1,4 @@
-/*	$NetBSD: vfs_wapbl.c,v 1.74 2016/05/07 20:59:46 riastradh Exp $	*/
+/*	$NetBSD: vfs_wapbl.c,v 1.75 2016/05/07 21:11:51 riastradh Exp $	*/
 
 /*-
  * Copyright (c) 2003, 2008, 2009 The NetBSD Foundation, Inc.
@@ -36,7 +36,7 @@
 #define WAPBL_INTERNAL
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: vfs_wapbl.c,v 1.74 2016/05/07 20:59:46 riastradh Exp $");
+__KERNEL_RCSID(0, "$NetBSD: vfs_wapbl.c,v 1.75 2016/05/07 21:11:51 riastradh Exp $");
 
 #include <sys/param.h>
 #include <sys/bitops.h>
@@ -1580,8 +1580,15 @@ wapbl_flush(struct wapbl *wl, int waitfo
 	    wl->wl_dealloccnt);
 
 	/*
-	 * Now that we are fully locked and flushed,
-	 * do another check for nothing to do.
+	 * Now that we are exclusively locked and the file system has
+	 * issued any deferred block writes for this transaction, check
+	 * whether there are any blocks to write to the log.  If not,
+	 * skip waiting for space or writing any log entries.
+	 *
+	 * XXX Shouldn't this also check wl_dealloccnt and
+	 * wl_inohashcnt?  Perhaps wl_dealloccnt doesn't matter if the
+	 * file system didn't produce any blocks as a consequence of
+	 * it, but the same does not seem to be so of wl_inohashcnt.
 	 */
 	if (wl->wl_bufcount == 0) {
 		goto wait_out;

Reply via email to