diff options
| author | Andrew Morton <akpm@osdl.org> | 2004-02-18 04:55:26 -0800 |
|---|---|---|
| committer | Linus Torvalds <torvalds@ppc970.osdl.org> | 2004-02-18 04:55:26 -0800 |
| commit | 6a69bfeed836db64c6c3e16881d28c887bf52322 (patch) | |
| tree | dd0960a649c08f0991b8f59c68316a5d9ad6d102 /include/linux | |
| parent | ce8b13c94d766c44623108fbbcb80ae25d45f56d (diff) | |
[PATCH] off_t in nfsd_commit needs to be loff_t
From: Neil Brown <neilb@cse.unsw.edu.au>,
From: Miquel van Smoorenburg <miquels@cistron.nl>
While I was stress-testing NFS/XFS on 2.6.1/2.6.2-rc, I found that
sometimes my "dd" would exit with:
# dd if=/dev/zero bs=4096 > /mnt/file
dd: writing `standard output': Invalid argument
1100753+0 records in
1100752+0 records out
After adding some debug printk's to the server and client code and some
tcpdump-ing, I found that the NFSERR_INVAL was returned by nfsd_commit on
the server.
Turns out that the "offset" argument is off_t instead of loff_t. It isn't
used at all (unfortunately), but it _is_ checked for sanity, so that's
where the error came from.
Diffstat (limited to 'include/linux')
| -rw-r--r-- | include/linux/nfsd/nfsd.h | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/include/linux/nfsd/nfsd.h b/include/linux/nfsd/nfsd.h index 97a57608a6e6..9a23efb48ec5 100644 --- a/include/linux/nfsd/nfsd.h +++ b/include/linux/nfsd/nfsd.h @@ -86,7 +86,7 @@ int nfsd_create_v3(struct svc_rqst *, struct svc_fh *, struct svc_fh *res, int createmode, u32 *verifier, int *truncp); int nfsd_commit(struct svc_rqst *, struct svc_fh *, - off_t, unsigned long); + loff_t, unsigned long); #endif /* CONFIG_NFSD_V3 */ int nfsd_open(struct svc_rqst *, struct svc_fh *, int, int, struct file *); |
