summaryrefslogtreecommitdiffstats
path: root/fs
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2008-11-09 21:25:44 +0100
committerLinus Torvalds <torvalds@linux-foundation.org>2008-11-09 21:25:44 +0100
commit8b805ef617cf0e02f6d18b891f8deb6246421b01 (patch)
tree35759385f2834d48a10025f949e49e0c77095876 /fs
parentMerge branch 'cpus4096' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/... (diff)
parentFix nfsd truncation of readdir results (diff)
downloadlinux-8b805ef617cf0e02f6d18b891f8deb6246421b01.tar.xz
linux-8b805ef617cf0e02f6d18b891f8deb6246421b01.zip
Merge branch 'for-2.6.28' of git://linux-nfs.org/~bfields/linux
* 'for-2.6.28' of git://linux-nfs.org/~bfields/linux: Fix nfsd truncation of readdir results
Diffstat (limited to 'fs')
-rw-r--r--fs/nfsd/vfs.c5
1 files changed, 1 insertions, 4 deletions
diff --git a/fs/nfsd/vfs.c b/fs/nfsd/vfs.c
index 848a03e83a42..4433c8f00163 100644
--- a/fs/nfsd/vfs.c
+++ b/fs/nfsd/vfs.c
@@ -1875,11 +1875,11 @@ static int nfsd_buffered_readdir(struct file *file, filldir_t func,
return -ENOMEM;
offset = *offsetp;
- cdp->err = nfserr_eof; /* will be cleared on successful read */
while (1) {
unsigned int reclen;
+ cdp->err = nfserr_eof; /* will be cleared on successful read */
buf.used = 0;
buf.full = 0;
@@ -1912,9 +1912,6 @@ static int nfsd_buffered_readdir(struct file *file, filldir_t func,
de = (struct buffered_dirent *)((char *)de + reclen);
}
offset = vfs_llseek(file, 0, SEEK_CUR);
- cdp->err = nfserr_eof;
- if (!buf.full)
- break;
}
done: