aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChao Yu <chao2.yu@samsung.com>2015-12-01 11:41:50 +0800
committerMister Oyster <oysterized@gmail.com>2017-04-13 12:32:28 +0200
commitfc33f889ed98b8f17623007b67a3d354ae05d04a (patch)
tree5c06480a997ea243e219a042fe1c3027e3350224
parent0987adc405739648b99e75aaab47eeb6b1d2cfcd (diff)
f2fs: clean up error path in f2fs_readdir
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> Conflicts: fs/f2fs/dir.c
-rw-r--r--fs/f2fs/dir.c14
1 files changed, 6 insertions, 8 deletions
diff --git a/fs/f2fs/dir.c b/fs/f2fs/dir.c
index 32297a449..f05651df7 100644
--- a/fs/f2fs/dir.c
+++ b/fs/f2fs/dir.c
@@ -878,19 +878,17 @@ static int f2fs_readdir(struct file *file, void *dirent, filldir_t filldir)
make_dentry_ptr(inode, &d, (void *)dentry_blk, 1);
- if (f2fs_fill_dentries(file, dirent, filldir, &d, n, bit_pos, &fstr))
- goto stop;
+ if (f2fs_fill_dentries(file, dirent, filldir, &d, n,
+ bit_pos, &fstr)) {
+ kunmap(dentry_page);
+ f2fs_put_page(dentry_page, 1);
+ break;
+ }
bit_pos = 0;
file->f_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);