git: NFS - Properly handle NFSv3 EOF short-reads
Antonio Huete Jimenez
ahuete.devel at gmail.com
Mon Aug 24 23:21:39 PDT 2009
This was originally reported by Thomas Nikolajsen on issue 844
(http://bugs.dragonflybsd.org/issue844)
2009/8/25 Matthew Dillon <dillon at crater.dragonflybsd.org>:
>
> commit 28953d39b23eec3fbd96a46ca2c4946bfe8d1a61
> Author: Matthew Dillon <dillon at apollo.backplane.com>
> Date: Mon Aug 24 15:41:42 2009 -0700
>
> NFS - Properly handle NFSv3 EOF short-reads
>
> * Short reads were not causing the remainder of the buffer to be
> zero'd out in all cases, causing the fsx filesystem test to fail.
>
> * An EOF condition was sometimes improperly reporting a non-zero
> bp->b_resid. Race against the server where the client's idea of
> the file size differs from the server could result in a non-zero
> bp->b_resid after a BIO.
>
> Zero out the remaining space and and set bp->b_resid to 0. The
> NFS client code always specifies buffers within the bounds of
> the file.
>
> Reported-by: Antonio Huete Jimenez <tuxillo at quantumachine.net>
>
> Summary of changes:
> sys/vfs/nfs/nfs_bio.c | 136 ++++++++++++++++++++++------------------------
> sys/vfs/nfs/nfs_vnops.c | 31 ++++++++---
> 2 files changed, 89 insertions(+), 78 deletions(-)
>
> http://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/28953d39b23eec3fbd96a46ca2c4946bfe8d1a61
>
>
> --
> DragonFly BSD source repository
>
More information about the Commits
mailing list