Module Name:    src
Committed By:   riastradh
Date:           Fri Mar 27 19:58:58 UTC 2015

Modified Files:
        src/share/man/man9: wapbl.9

Log Message:
Explain wapbl's relation to the garbage-appendage bug.


To generate a diff of this commit:
cvs rdiff -u -r1.4 -r1.5 src/share/man/man9/wapbl.9

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

Modified files:

Index: src/share/man/man9/wapbl.9
diff -u src/share/man/man9/wapbl.9:1.4 src/share/man/man9/wapbl.9:1.5
--- src/share/man/man9/wapbl.9:1.4	Fri Mar 27 19:48:37 2015
+++ src/share/man/man9/wapbl.9	Fri Mar 27 19:58:58 2015
@@ -1,4 +1,4 @@
-.\"	$NetBSD: wapbl.9,v 1.4 2015/03/27 19:48:37 riastradh Exp $
+.\"	$NetBSD: wapbl.9,v 1.5 2015/03/27 19:58:58 riastradh Exp $
 .\"
 .\" Copyright (c) 2015 The NetBSD Foundation, Inc.
 .\" All rights reserved.
@@ -426,6 +426,26 @@ and
 .Xr ubc_uiomove 9 ,
 which is normally used for file data.
 .Pp
+Not only is
+.Nm
+unable to log writes via the page cache, it is also unable to defer
+.Xr buffercache 9
+writes until cached pages have been written.
+This manifests as the well-known garbage-data-appended-after-crash bug
+in FFS: when appending to a file, the pages containing new data may not
+reach the disk before the inode update reporting its new size.
+After a crash, the inode update will be on disk, but the new data will
+not be -- instead, whatever garbage data in the free space will appear
+to have been appended to the file.
+.Nm
+exacerbates the problem by increasing the throughput of metadata
+writes, because it can issue many metadata writes asynchronously that
+FFS without
+.Nm
+would need to issue synchronously in order for
+.Xr fsck 8
+to work.
+.Pp
 There is only one
 .Nm
 transaction for each file system at any given time, and only one

Reply via email to