f2fs: set the default compress_level on ioctl
Subsystems (2)
Jaegeuk Kim
maintainerPATCH 1/1 f2fs: set the default compress_level on ioctl
Otherwise, we'll get a broken inode.
# touch $FILE # f2fs_io setflags compression $FILE # f2fs_io set_coption 2 8 $FILE
[ 112.227612] F2FS-fs (dm-51): sanity_check_compress_inode: inode (ino=8d3fe) has unsupported compress level: 0, run fsck to fix
Signed-off-by Jaegeuk Kim <[email protected]>
--- fs/f2fs/file.c | 9 +++++++++ 1 file changed, 9 insertions(+)
fs/f2fs/file.c +9 -0
@@ -4005,6 +4005,15 @@ static int f2fs_ioc_set_compress_option(struct file *filp, unsigned long arg)F2FS_I (inode)->i_compress_algorithm = option.algorithm;F2FS_I (inode)->i_log_cluster_size = option.log_cluster_size;F2FS_I (inode)->i_cluster_size =BIT (option.log_cluster_size); +/* Set default level */ +if (F2FS_I (inode)->i_compress_algorithm ==COMPRESS_ZSTD ) +F2FS_I (inode)->i_compress_level =F2FS_ZSTD_DEFAULT_CLEVEL ; +else +F2FS_I (inode)->i_compress_level =0 ; +/* Adjust mount option level */ +if (option.algorithm ==F2FS_OPTION (sbi).compress_algorithm && +F2FS_OPTION (sbi).compress_level) +F2FS_I (inode)->i_compress_level =F2FS_OPTION (sbi).compress_level;f2fs_mark_inode_dirty_sync (inode, true);if (!f2fs_is_compress_backend_ready (inode))
Signature · 1 line
2.42.0.283.g2d96d420d3-goog
This patch was applied to jaegeuk/f2fs.git (dev) by Jaegeuk Kim <[email protected]>:
Hello:
This patch was applied to jaegeuk/f2fs.git (dev)
by Jaegeuk Kim <[email protected]>:
Quoted 9 lines · On Tue, 12 Sep 2023 13:50:15 -0700 you wrote:
Otherwise, we'll get a broken inode.
# touch $FILE # f2fs_io setflags compression $FILE # f2fs_io set_coption 2 8 $FILE[ 112.227612] F2FS-fs (dm-51): sanity_check_compress_inode: inode (ino=8d3fe) has unsupported compress level: 0, run fsck to fix[...]
Here is the summary with links:
- [f2fs-dev] f2fs: set the default compress_level on ioctl
https://git.kernel.org/jaegeuk/f2fs/c/f5f3bd903a5d
You are awesome, thank you!
Signature · 2 lines
Deet-doot-dot, I am a bot. https://korg.docs.kernel.org/patchwork/pwbot.html