diff options
author | Wei Yongjun <yjwei@cn.fujitsu.com> | 2009-05-19 12:03:15 +0800 |
---|---|---|
committer | J. Bruce Fields <bfields@citi.umich.edu> | 2009-05-27 17:40:06 -0400 |
commit | a0d24b295aed7a9daf4ca36bd4784e4d40f82303 (patch) | |
tree | 2cda7bf3b4514cf13158a557f3ab82d384ce5349 /net/sunrpc/svcsock.c | |
parent | 59a3759d0fe8d969888c741bb33f4946e4d3750d (diff) | |
download | linux-stable-a0d24b295aed7a9daf4ca36bd4784e4d40f82303.tar.gz linux-stable-a0d24b295aed7a9daf4ca36bd4784e4d40f82303.tar.bz2 linux-stable-a0d24b295aed7a9daf4ca36bd4784e4d40f82303.zip |
nfsd: fix hung up of nfs client while sync write data to nfs server
Commit 'Short write in nfsd becomes a full write to the client'
(31dec2538e45e9fff2007ea1f4c6bae9f78db724) broken the sync write.
With the following commands to reproduce:
$ mount -t nfs -o sync 192.168.0.21:/nfsroot /mnt
$ cd /mnt
$ echo aaaa > temp.txt
Then nfs client is hung up.
In SYNC mode the server alaways return the write count 0 to the
client. This is because the value of host_err in nfsd_vfs_write()
will be overwrite in SYNC mode by 'host_err=nfsd_sync(file);',
and then we return host_err(which is now 0) as write count.
This patch fixed the problem.
Signed-off-by: Wei Yongjun <yjwei@cn.fujitsu.com>
Signed-off-by: J. Bruce Fields <bfields@citi.umich.edu>
Diffstat (limited to 'net/sunrpc/svcsock.c')
0 files changed, 0 insertions, 0 deletions