2020-12-10 09:26:47

by Chao Yu

[permalink] [raw]
Subject: [PATCH RFC] f2fs: compress: add compress_flag in struct f2fs_comp_option

Add a extra field compress_flag to get/set more compress option from/to
compressed inode.

Signed-off-by: Chao Yu <[email protected]>
---

Daeho, Jaegeuk,

Could you please check whether we could add this new field to struct
f2fs_comp_option? so we can expand to allow user to query/config more
options of compressed inode via new ioctl.

It needs to consider before original patches goes to merge window, let
me know you have other concerns.

fs/f2fs/file.c | 1 +
include/uapi/linux/f2fs.h | 1 +
2 files changed, 2 insertions(+)

diff --git a/fs/f2fs/file.c b/fs/f2fs/file.c
index 16ea10f2bcf5..fbf06311c88d 100644
--- a/fs/f2fs/file.c
+++ b/fs/f2fs/file.c
@@ -3965,6 +3965,7 @@ static int f2fs_ioc_get_compress_option(struct file *filp, unsigned long arg)

option.algorithm = F2FS_I(inode)->i_compress_algorithm;
option.log_cluster_size = F2FS_I(inode)->i_log_cluster_size;
+ option.compress_flag = F2FS_I(inode)->i_compress_flag;

inode_unlock_shared(inode);

diff --git a/include/uapi/linux/f2fs.h b/include/uapi/linux/f2fs.h
index 352a822d4370..2b9c4c99ceee 100644
--- a/include/uapi/linux/f2fs.h
+++ b/include/uapi/linux/f2fs.h
@@ -93,6 +93,7 @@ struct f2fs_sectrim_range {
struct f2fs_comp_option {
__u8 algorithm;
__u8 log_cluster_size;
+ __u16 compress_flag;
};

#endif /* _UAPI_LINUX_F2FS_H */
--
2.29.2


2020-12-11 12:01:27

by Chao Yu

[permalink] [raw]
Subject: Re: [PATCH RFC] f2fs: compress: add compress_flag in struct f2fs_comp_option

On 2020/12/11 1:23, Jaegeuk Kim wrote:
> On 12/10, Chao Yu wrote:
>> Add a extra field compress_flag to get/set more compress option from/to
>> compressed inode.
>>
>> Signed-off-by: Chao Yu <[email protected]>
>> ---
>>
>> Daeho, Jaegeuk,
>>
>> Could you please check whether we could add this new field to struct
>> f2fs_comp_option? so we can expand to allow user to query/config more
>> options of compressed inode via new ioctl.
>>
>> It needs to consider before original patches goes to merge window, let
>> me know you have other concerns.
>
> Chao, I think it'd hard to add this at time point, unless there's critical
> info that we need to set very urgently.

Oops, so it needs extra ioctl interface to get/set newly added chksum and
compress_level configs...

Thanks,

>
>>
>> fs/f2fs/file.c | 1 +
>> include/uapi/linux/f2fs.h | 1 +
>> 2 files changed, 2 insertions(+)
>>
>> diff --git a/fs/f2fs/file.c b/fs/f2fs/file.c
>> index 16ea10f2bcf5..fbf06311c88d 100644
>> --- a/fs/f2fs/file.c
>> +++ b/fs/f2fs/file.c
>> @@ -3965,6 +3965,7 @@ static int f2fs_ioc_get_compress_option(struct file *filp, unsigned long arg)
>>
>> option.algorithm = F2FS_I(inode)->i_compress_algorithm;
>> option.log_cluster_size = F2FS_I(inode)->i_log_cluster_size;
>> + option.compress_flag = F2FS_I(inode)->i_compress_flag;
>>
>> inode_unlock_shared(inode);
>>
>> diff --git a/include/uapi/linux/f2fs.h b/include/uapi/linux/f2fs.h
>> index 352a822d4370..2b9c4c99ceee 100644
>> --- a/include/uapi/linux/f2fs.h
>> +++ b/include/uapi/linux/f2fs.h
>> @@ -93,6 +93,7 @@ struct f2fs_sectrim_range {
>> struct f2fs_comp_option {
>> __u8 algorithm;
>> __u8 log_cluster_size;
>> + __u16 compress_flag;
>> };
>>
>> #endif /* _UAPI_LINUX_F2FS_H */
>> --
>> 2.29.2
> .
>

2020-12-11 21:01:13

by Jaegeuk Kim

[permalink] [raw]
Subject: Re: [PATCH RFC] f2fs: compress: add compress_flag in struct f2fs_comp_option

On 12/10, Chao Yu wrote:
> Add a extra field compress_flag to get/set more compress option from/to
> compressed inode.
>
> Signed-off-by: Chao Yu <[email protected]>
> ---
>
> Daeho, Jaegeuk,
>
> Could you please check whether we could add this new field to struct
> f2fs_comp_option? so we can expand to allow user to query/config more
> options of compressed inode via new ioctl.
>
> It needs to consider before original patches goes to merge window, let
> me know you have other concerns.

Chao, I think it'd hard to add this at time point, unless there's critical
info that we need to set very urgently.

>
> fs/f2fs/file.c | 1 +
> include/uapi/linux/f2fs.h | 1 +
> 2 files changed, 2 insertions(+)
>
> diff --git a/fs/f2fs/file.c b/fs/f2fs/file.c
> index 16ea10f2bcf5..fbf06311c88d 100644
> --- a/fs/f2fs/file.c
> +++ b/fs/f2fs/file.c
> @@ -3965,6 +3965,7 @@ static int f2fs_ioc_get_compress_option(struct file *filp, unsigned long arg)
>
> option.algorithm = F2FS_I(inode)->i_compress_algorithm;
> option.log_cluster_size = F2FS_I(inode)->i_log_cluster_size;
> + option.compress_flag = F2FS_I(inode)->i_compress_flag;
>
> inode_unlock_shared(inode);
>
> diff --git a/include/uapi/linux/f2fs.h b/include/uapi/linux/f2fs.h
> index 352a822d4370..2b9c4c99ceee 100644
> --- a/include/uapi/linux/f2fs.h
> +++ b/include/uapi/linux/f2fs.h
> @@ -93,6 +93,7 @@ struct f2fs_sectrim_range {
> struct f2fs_comp_option {
> __u8 algorithm;
> __u8 log_cluster_size;
> + __u16 compress_flag;
> };
>
> #endif /* _UAPI_LINUX_F2FS_H */
> --
> 2.29.2