This patch fixes to update ctx->pos correctly when hitting hole in
directory.

Signed-off-by: Chao Yu <[email protected]>
---
 fs/f2fs/dir.c | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/fs/f2fs/dir.c b/fs/f2fs/dir.c
index 14646440b662..2d98d877c09d 100644
--- a/fs/f2fs/dir.c
+++ b/fs/f2fs/dir.c
@@ -870,7 +870,7 @@ static int f2fs_readdir(struct file *file, struct 
dir_context *ctx)
                goto out_free;
        }
 
-       for (; n < npages; n++) {
+       for (; n < npages; n++, ctx->pos = n * NR_DENTRY_IN_BLOCK) {
 
                /* allow readdir() to be interrupted */
                if (fatal_signal_pending(current)) {
@@ -907,7 +907,6 @@ static int f2fs_readdir(struct file *file, struct 
dir_context *ctx)
                        break;
                }
 
-               ctx->pos = (n + 1) * NR_DENTRY_IN_BLOCK;
                kunmap(dentry_page);
                f2fs_put_page(dentry_page, 1);
        }
-- 
2.13.1.388.g69e6b9b4f4a9

Reply via email to