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