f2fs: add f2fs_gc exception handle in f2fs_ioc_gc_range
authorQilong Zhang <zhangqilong3@huawei.com>
Sun, 28 Jun 2020 11:23:03 +0000 (19:23 +0800)
committerJaegeuk Kim <jaegeuk@kernel.org>
Wed, 8 Jul 2020 04:51:44 +0000 (21:51 -0700)
commit97767500781fae9c53b7d227f99f1dbb0dfe9a4f
tree7a54ad231d4924dacf5058b69d3ca7342fb874ef
parentf608c38c59c6020bfde14af88630b8d7817003f9
f2fs: add f2fs_gc exception handle in f2fs_ioc_gc_range

When f2fs_ioc_gc_range performs multiple segments gc ops, the return
value of f2fs_ioc_gc_range is determined by the last segment gc ops.
If its ops failed, the f2fs_ioc_gc_range will be considered to be failed
despite some of previous segments gc ops succeeded. Therefore, so we
fix: Redefine the return value of getting victim ops and add exception
handle for f2fs_gc. In particular, 1).if target has no valid block, it
will go on. 2).if target sectoion has valid block(s), but it is current
section, we will reminder the caller.

Signed-off-by: Qilong Zhang <zhangqilong3@huawei.com>
Reviewed-by: Chao Yu <yuchao0@huawei.com>
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
fs/f2fs/file.c
fs/f2fs/gc.c
fs/f2fs/segment.c