diff options
author | trasz <trasz@FreeBSD.org> | 2008-12-16 21:13:11 +0000 |
---|---|---|
committer | trasz <trasz@FreeBSD.org> | 2008-12-16 21:13:11 +0000 |
commit | b2515a861b17c67bef0ad8eb3e85cdaffe242388 (patch) | |
tree | 69e7de47346c349ddf6f303959a812bf891ea077 /share | |
parent | 4039bb7c824968c46ec054cb3ea586cc81de6623 (diff) | |
download | FreeBSD-src-b2515a861b17c67bef0ad8eb3e85cdaffe242388.zip FreeBSD-src-b2515a861b17c67bef0ad8eb3e85cdaffe242388.tar.gz |
According to phk@, VOP_STRATEGY should never, _ever_, return
anything other than 0. Make it so. This fixes
"panic: VOP_STRATEGY failed bp=0xc320dd90 vp=0xc3b9f648",
encountered when writing to an orphaned filesystem. Reason
for the panic was the following assert:
KASSERT(i == 0, ("VOP_STRATEGY failed bp=%p vp=%p", bp, bp->b_vp));
at vfs_bio:bufstrategy().
Reviewed by: scottl, phk
Approved by: rwatson (mentor)
Sponsored by: FreeBSD Foundation
Diffstat (limited to 'share')
-rw-r--r-- | share/man/man9/VOP_STRATEGY.9 | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/share/man/man9/VOP_STRATEGY.9 b/share/man/man9/VOP_STRATEGY.9 index 709a929..8c4fbac 100644 --- a/share/man/man9/VOP_STRATEGY.9 +++ b/share/man/man9/VOP_STRATEGY.9 @@ -53,7 +53,9 @@ This call either reads or writes data from a file, depending on the value of .Pp The call may block. .Sh RETURN VALUES -Zero is returned on success, otherwise an error is returned. +Always zero. +Errors should be signalled by setting BIO_ERROR on b_ioflags field in struct buf, +and setting b_error to the appropriate errno value. .Sh SEE ALSO .\" .Xr buf 9 , .Xr vnode 9 |