|
@@ -1891,7 +1891,6 @@ static int nfsd_buffered_readdir(struct file *file, filldir_t func,
|
|
|
if (!size)
|
|
|
break;
|
|
|
|
|
|
-
|
|
|
de = (struct buffered_dirent *)buf.dirent;
|
|
|
while (size > 0) {
|
|
|
offset = de->offset;
|
|
@@ -1908,7 +1907,9 @@ static int nfsd_buffered_readdir(struct file *file, filldir_t func,
|
|
|
size -= reclen;
|
|
|
de = (struct buffered_dirent *)((char *)de + reclen);
|
|
|
}
|
|
|
- offset = vfs_llseek(file, 0, 1);
|
|
|
+ offset = vfs_llseek(file, 0, SEEK_CUR);
|
|
|
+ if (!buf.full)
|
|
|
+ break;
|
|
|
}
|
|
|
|
|
|
done:
|