summaryrefslogtreecommitdiff
path: root/fs/f2fs
diff options
context:
space:
mode:
authorChao Yu <yuchao0@huawei.com>2020-05-26 04:55:02 +0300
committerJaegeuk Kim <jaegeuk@kernel.org>2020-05-28 22:00:43 +0300
commitdc35d73a42291b2a68f5b9a12b2b095b82194c1f (patch)
tree5036c8eb103f3ffbb83f362f2b43e15ce6d1597f /fs/f2fs
parent47d0d7d76437ca9f48314844bc44dd08615302a1 (diff)
downloadlinux-dc35d73a42291b2a68f5b9a12b2b095b82194c1f.tar.xz
f2fs: compress: don't compress any datas after cp stop
While compressed data writeback, we need to drop dirty pages like we did for non-compressed pages if cp stops, however it's not needed to compress any data in such case, so let's detect cp stop condition in cluster_may_compress() to avoid redundant compressing and let following f2fs_write_raw_pages() drops dirty pages correctly. Signed-off-by: Chao Yu <yuchao0@huawei.com> Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
Diffstat (limited to 'fs/f2fs')
-rw-r--r--fs/f2fs/compress.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/fs/f2fs/compress.c b/fs/f2fs/compress.c
index bf152c0d79fe..a53578a89211 100644
--- a/fs/f2fs/compress.c
+++ b/fs/f2fs/compress.c
@@ -849,6 +849,8 @@ static bool cluster_may_compress(struct compress_ctx *cc)
return false;
if (!f2fs_cluster_is_full(cc))
return false;
+ if (unlikely(f2fs_cp_error(F2FS_I_SB(cc->inode))))
+ return false;
return __cluster_may_compress(cc);
}