Module Name: src
Committed By: riastradh
Date: Tue Mar 31 00:03:58 UTC 2015
Modified Files:
src/share/man/man9: wapbl.9
Log Message:
Explain large write transaction bug in WAPBL.
To generate a diff of this commit:
cvs rdiff -u -r1.8 -r1.9 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.8 src/share/man/man9/wapbl.9:1.9
--- src/share/man/man9/wapbl.9:1.8 Fri Mar 27 21:53:50 2015
+++ src/share/man/man9/wapbl.9 Tue Mar 31 00:03:58 2015
@@ -1,4 +1,4 @@
-.\" $NetBSD: wapbl.9,v 1.8 2015/03/27 21:53:50 riastradh Exp $
+.\" $NetBSD: wapbl.9,v 1.9 2015/03/31 00:03:58 riastradh Exp $
.\"
.\" Copyright (c) 2015 The NetBSD Foundation, Inc.
.\" All rights reserved.
@@ -453,6 +453,18 @@ how many buffers, inodes, and deallocati
.Nm
in the transaction.
.Pp
+.Nm
+mainly supports write-ahead, and has only limited support for rolling
+back operations, in the form of
+.Fn wapbl_register_inode
+and
+.Fn wapbl_unregister_inode .
+Consequently, for example, large writes appending to a file, which
+requires multiple disk block allocations and an inode update, must
+occur in a single transaction -- there is no way to roll back the disk
+block allocations if the write fails in the middle, e.g. because of a
+fault in the middle of the user buffer.
+.Pp
There is only one
.Nm
transaction for each file system at any given time, and only one