[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <1429696514-14779-1-git-send-email-johannes@sipsolutions.net>
Date: Wed, 22 Apr 2015 11:55:14 +0200
From: Johannes Berg <johannes@...solutions.net>
To: viro@...iv.linux.org.uk, linux-kernel@...r.kernel.org
Cc: j@...fi, Johannes Berg <johannes.berg@...el.com>
Subject: [PATCH] fs/9p: fix readdir()
From: Johannes Berg <johannes.berg@...el.com>
Al Viro's IOV changes broke 9p readdir() because the new code
didn't abort the read when it returned nothing. The original
code checked if the combined error/length was <= 0 but in the
new code that accidentally got changed to just an error check.
Add back the return from the function when nothing is read.
Cc: Al Viro <viro@...iv.linux.org.uk>
Fixes: e1200fe68f20 ("9p: switch p9_client_read() to passing struct iov_iter *")
Signed-off-by: Johannes Berg <johannes.berg@...el.com>
---
fs/9p/vfs_dir.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/fs/9p/vfs_dir.c b/fs/9p/vfs_dir.c
index 76c3b1ab6361..5cc00e56206e 100644
--- a/fs/9p/vfs_dir.c
+++ b/fs/9p/vfs_dir.c
@@ -138,6 +138,8 @@ static int v9fs_dir_readdir(struct file *file, struct dir_context *ctx)
&err);
if (err)
return err;
+ if (n == 0)
+ return 0;
rdir->head = 0;
rdir->tail = n;
--
2.1.4
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists