9p: Pass the correct end of buffer to p9dirent_read
Sripathi Kodi [Mon, 9 Aug 2010 11:33:10 +0000 (11:33 +0000)]
A patch was accepted recently for sending correct buffer size to p9stat_read.
We need a similar patch in v9fs_dir_readdir_dotl to send correct end of buffer
to p9dirent_read.

Signed-off-by: Sripathi Kodi <sripathik@in.ibm.com>
Signed-off-by: Eric Van Hensbergen <ericvh@gmail.com>

fs/9p/vfs_dir.c

index 899f168..170f5bb 100644 (file)
@@ -242,7 +242,8 @@ static int v9fs_dir_readdir_dotl(struct file *filp, void *dirent,
                while (rdir->head < rdir->tail) {
 
                        err = p9dirent_read(rdir->buf + rdir->head,
-                                               buflen - rdir->head, &curdirent,
+                                               rdir->tail - rdir->head,
+                                               &curdirent,
                                                fid->clnt->proto_version);
                        if (err < 0) {
                                P9_DPRINTK(P9_DEBUG_VFS, "returned %d\n", err);