aboutsummaryrefslogtreecommitdiff
path: root/fs/f2fs/segment.c
diff options
context:
space:
mode:
authorGravatar Sahitya Tummala <stummala@codeaurora.org> 2020-04-16 11:47:41 +0530
committerGravatar Jaegeuk Kim <jaegeuk@kernel.org> 2020-04-17 09:17:00 -0700
commitdf423399757531c20d495bf6b8b83a8dcca3565c (patch)
treebacc3f517b7b91f2e726d3c84e9d82980089e2fb /fs/f2fs/segment.c
parentf2fs: fix to handle error path of f2fs_ra_meta_pages() (diff)
downloadlinux-df423399757531c20d495bf6b8b83a8dcca3565c.tar.gz
linux-df423399757531c20d495bf6b8b83a8dcca3565c.tar.bz2
linux-df423399757531c20d495bf6b8b83a8dcca3565c.zip
f2fs: Fix the accounting of dcc->undiscard_blks
When a discard_cmd needs to be split due to dpolicy->max_requests, then for the remaining length it will be either merged into another cmd or a new discard_cmd will be created. In this case, there is double accounting of dcc->undiscard_blks for the remaining len, due to which it shows incorrect value in stats. Signed-off-by: Sahitya Tummala <stummala@codeaurora.org> Reviewed-by: Chao Yu <yuchao0@huawei.com> Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
Diffstat (limited to 'fs/f2fs/segment.c')
-rw-r--r--fs/f2fs/segment.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/fs/f2fs/segment.c b/fs/f2fs/segment.c
index 728ff6e316ac..1c48ec866b8c 100644
--- a/fs/f2fs/segment.c
+++ b/fs/f2fs/segment.c
@@ -1214,8 +1214,10 @@ submit:
len = total_len;
}
- if (!err && len)
+ if (!err && len) {
+ dcc->undiscard_blks -= len;
__update_discard_tree_range(sbi, bdev, lstart, start, len);
+ }
return err;
}