Code Review for illumos-gate

Prepared by:Arne Jansen (arne) on 2013-Jan-31 10:01 +0100 MET
Workspace:/waflhome/arne/urika/illumos/illumos-gate (at 5349ae22ca28)
Compare against: 0bd14df00a11242e78381798c372d8e4c9921f95 (at 0bd14df00a11)
Summary of changes: 16 lines changed: 2 ins; 1 del; 13 mod; 4374 unchg
Patch of changes: illumos-gate.patch
Printable review: illumos-gate.pdf

Cdiffs Udiffs Wdiffs Sdiffs Frames Old New Patch Raw usr/src/uts/common/fs/nfs/nfs4_client.c

NFS4 data corruption (#3508)
If async calls are disabled, nfs4_async_putapage is supposed to do its
work synchronously. Due to a bug, it sometimes just does nothing, leaving
the page for later.
Unfortunately the caller has already reset the R4DIRTY flag.
Without R4DIRTY, nfs4_attrcache_va can't see that there are still
outstanding writes and accepts the file size from the server, which is
too low.
When the dirty page finally gets written back, the page size is truncated
to the file size, leaving some bytes unwritten.
Reviewed by: Marcel Telka <>
Reviewed by: Robert Gordon <>
16 lines changed: 2 ins; 1 del; 13 mod; 4374 unchg

This code review page was prepared using /opt/onbld/bin/webrev. Webrev is maintained by the illumos project. The latest version may be obtained here.