f2fs: compress: fix zstd data corruption
authorChao Yu <yuchao0@huawei.com>
Fri, 8 May 2020 01:16:03 +0000 (09:16 +0800)
committerJaegeuk Kim <jaegeuk@kernel.org>
Tue, 12 May 2020 03:37:13 +0000 (20:37 -0700)
commit1454c978efbb57b052670d50023f48c759d704ce
tree27e5443f67eb0dec0eb93c238165193333b93d8d
parent9c1223845a37ce09fd498b8c8ed061decff20eda
f2fs: compress: fix zstd data corruption

During zstd compression, ZSTD_endStream() may return non-zero value
because distination buffer is full, but there is still compressed data
remained in intermediate buffer, it means that zstd algorithm can not
save at last one block space, let's just writeback raw data instead of
compressed one, this can fix data corruption when decompressing
incomplete stored compression data.

Fixes: 50cfa66f0de0 ("f2fs: compress: support zstd compress algorithm")
Signed-off-by: Daeho Jeong <daehojeong@google.com>
Signed-off-by: Chao Yu <yuchao0@huawei.com>
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
fs/f2fs/compress.c