diff options
author | Chao Yu <yuchao0@huawei.com> | 2020-05-26 09:55:02 +0800 |
---|---|---|
committer | Jaegeuk Kim <jaegeuk@kernel.org> | 2020-05-28 12:00:43 -0700 |
commit | dc35d73a42291b2a68f5b9a12b2b095b82194c1f (patch) | |
tree | 5036c8eb103f3ffbb83f362f2b43e15ce6d1597f /fs/f2fs | |
parent | 47d0d7d76437ca9f48314844bc44dd08615302a1 (diff) | |
download | linux-dc35d73a42291b2a68f5b9a12b2b095b82194c1f.tar.bz2 |
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.c | 2 |
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); } |