f2fs: clean up error path in f2fs_readdir
authorChao Yu <chao2.yu@samsung.com>
Tue, 1 Dec 2015 03:41:50 +0000 (11:41 +0800)
committerJaegeuk Kim <jaegeuk@kernel.org>
Fri, 4 Dec 2015 20:07:55 +0000 (12:07 -0800)
No logic changes, just clean up the error path.

Signed-off-by: Chao Yu <chao2.yu@samsung.com>
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
fs/f2fs/dir.c

index 9de898d2ddff3f547158f8280b41ba99663972e3..6554fd5fce88f851f7b072311e07adf80153d0e3 100644 (file)
@@ -867,18 +867,15 @@ static int f2fs_readdir(struct file *file, struct dir_context *ctx)
 
                make_dentry_ptr(inode, &d, (void *)dentry_blk, 1);
 
-               if (f2fs_fill_dentries(ctx, &d, n * NR_DENTRY_IN_BLOCK, &fstr))
-                       goto stop;
+               if (f2fs_fill_dentries(ctx, &d, n * NR_DENTRY_IN_BLOCK, &fstr)) {
+                       kunmap(dentry_page);
+                       f2fs_put_page(dentry_page, 1);
+                       break;
+               }
 
                ctx->pos = (n + 1) * NR_DENTRY_IN_BLOCK;
                kunmap(dentry_page);
                f2fs_put_page(dentry_page, 1);
-               dentry_page = NULL;
-       }
-stop:
-       if (dentry_page && !IS_ERR(dentry_page)) {
-               kunmap(dentry_page);
-               f2fs_put_page(dentry_page, 1);
        }
 out:
        f2fs_fname_crypto_free_buffer(&fstr);