]> git.ipfire.org Git - thirdparty/kernel/stable.git/commit
f2fs: compress: fix to cover normal cluster write with cp_rwsem
authorChao Yu <chao@kernel.org>
Fri, 12 Jan 2024 19:41:28 +0000 (03:41 +0800)
committerSasha Levin <sashal@kernel.org>
Tue, 26 Mar 2024 22:19:59 +0000 (18:19 -0400)
commit75abfd61392b1db391bde6d738a30d685b843286
tree24bb3b6ca384009eded1ae9598f71d0797e8afa5
parent82704e598d7b33c7e45526e34d3c585426319bed
f2fs: compress: fix to cover normal cluster write with cp_rwsem

[ Upstream commit fd244524c2cf07b5f4c3fe8abd6a99225c76544b ]

When we overwrite compressed cluster w/ normal cluster, we should
not unlock cp_rwsem during f2fs_write_raw_pages(), otherwise data
will be corrupted if partial blocks were persisted before CP & SPOR,
due to cluster metadata wasn't updated atomically.

Fixes: 4c8ff7095bef ("f2fs: support data compression")
Reviewed-by: Daeho Jeong <daehojeong@google.com>
Signed-off-by: Chao Yu <chao@kernel.org>
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
fs/f2fs/compress.c
fs/f2fs/data.c