aboutsummaryrefslogtreecommitdiffstats
path: root/fs/f2fs/data.c
diff options
context:
space:
mode:
authorChao Yu <yuchao0@huawei.com>2017-02-27 17:10:45 +0800
committerJaegeuk Kim <jaegeuk@kernel.org>2017-02-27 10:40:08 -0800
commit540faedb0036aca14ff90a7f679b008442bc9dd7 (patch)
treebf78d9f7652d2f9fc3522ca21d813c62b281e90a /fs/f2fs/data.c
parentf2fs: use MAX_FREE_NIDS for the free nids target (diff)
downloadlinux-dev-540faedb0036aca14ff90a7f679b008442bc9dd7.tar.xz
linux-dev-540faedb0036aca14ff90a7f679b008442bc9dd7.zip
f2fs: fix to update F2FS_{CP_}WB_DATA count correctly
We should only account F2FS_{CP_}WB_DATA IOs for write path, fix it. Signed-off-by: Chao Yu <yuchao0@huawei.com> Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
Diffstat (limited to 'fs/f2fs/data.c')
-rw-r--r--fs/f2fs/data.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/fs/f2fs/data.c b/fs/f2fs/data.c
index b0a2e3faabb2..1375fef11146 100644
--- a/fs/f2fs/data.c
+++ b/fs/f2fs/data.c
@@ -398,7 +398,8 @@ alloc_new:
if ((fio->type == DATA || fio->type == NODE) &&
fio->new_blkaddr & F2FS_IO_SIZE_MASK(sbi)) {
err = -EAGAIN;
- dec_page_count(sbi, WB_DATA_TYPE(bio_page));
+ if (!is_read)
+ dec_page_count(sbi, WB_DATA_TYPE(bio_page));
goto out_fail;
}
io->bio = __bio_alloc(sbi, fio->new_blkaddr,