2022-06-21 07:12:58

by Chao Liu

[permalink] [raw]
Subject: [PATCH] f2fs: allow compression of files without blocks

From: Chao Liu <[email protected]>

Files created by truncate have a size but no blocks, so
they can be allowed to enable compression.

Signed-off-by: Chao Liu <[email protected]>
---
fs/f2fs/file.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/fs/f2fs/file.c b/fs/f2fs/file.c
index 2d1114b0ceef..daaa0dfd2d2e 100644
--- a/fs/f2fs/file.c
+++ b/fs/f2fs/file.c
@@ -1879,7 +1879,7 @@ static int f2fs_setflags_common(struct inode *inode, u32 iflags, u32 mask)
if (iflags & F2FS_COMPR_FL) {
if (!f2fs_may_compress(inode))
return -EINVAL;
- if (S_ISREG(inode->i_mode) && inode->i_size)
+ if (S_ISREG(inode->i_mode) && F2FS_HAS_BLOCKS(inode))
return -EINVAL;

set_compress_context(inode);
--
2.36.1


2022-06-22 13:23:42

by Chao Yu

[permalink] [raw]
Subject: Re: [PATCH] f2fs: allow compression of files without blocks

On 2022/6/21 14:42, Chao Liu wrote:
> From: Chao Liu <[email protected]>
>
> Files created by truncate have a size but no blocks, so

I didn't get it, how can we create file by truncation...

Thanks,

> they can be allowed to enable compression.
>
> Signed-off-by: Chao Liu <[email protected]>
> ---
> fs/f2fs/file.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/fs/f2fs/file.c b/fs/f2fs/file.c
> index 2d1114b0ceef..daaa0dfd2d2e 100644
> --- a/fs/f2fs/file.c
> +++ b/fs/f2fs/file.c
> @@ -1879,7 +1879,7 @@ static int f2fs_setflags_common(struct inode *inode, u32 iflags, u32 mask)
> if (iflags & F2FS_COMPR_FL) {
> if (!f2fs_may_compress(inode))
> return -EINVAL;
> - if (S_ISREG(inode->i_mode) && inode->i_size)
> + if (S_ISREG(inode->i_mode) && F2FS_HAS_BLOCKS(inode))
> return -EINVAL;
>
> set_compress_context(inode);

2022-06-23 05:06:27

by Chao Liu

[permalink] [raw]
Subject: Re: [PATCH] f2fs: allow compression of files without blocks

On Wed, Jun 22, 2022 at 08:50:33PM +0800, Chao Yu wrote:
> On 2022/6/21 14:42, Chao Liu wrote:
> > From: Chao Liu <[email protected]>
> >
> > Files created by truncate have a size but no blocks, so
>
> I didn't get it, how can we create file by truncation...

I'm sorry I didn't make it clear. We can create a file
by passing a FILE parameter that does not exist
to the user command truncate(1) [1].

How about using truncate(1) instead of truncate
in the description of the change?

Thanks,

[1] truncate(1): https://man7.org/linux/man-pages/man1/truncate.1.html

2022-07-06 03:10:04

by Chao Liu

[permalink] [raw]
Subject: Re: [PATCH] f2fs: allow compression of files without blocks

Ping.

On Thu, Jun 23, 2022 at 12:24:04PM +0800, Chao Liu wrote:
> On Wed, Jun 22, 2022 at 08:50:33PM +0800, Chao Yu wrote:
> > On 2022/6/21 14:42, Chao Liu wrote:
> > > From: Chao Liu <[email protected]>
> > >
> > > Files created by truncate have a size but no blocks, so
> >
> > I didn't get it, how can we create file by truncation...
>
> I'm sorry I didn't make it clear. We can create a file
> by passing a FILE parameter that does not exist
> to the user command truncate(1) [1].
>
> How about using truncate(1) instead of truncate
> in the description of the change?
>
> Thanks,
>
> [1] truncate(1): https://man7.org/linux/man-pages/man1/truncate.1.html

2022-07-06 15:08:42

by Chao Yu

[permalink] [raw]
Subject: Re: [PATCH] f2fs: allow compression of files without blocks

On 2022/6/23 12:24, Chao Liu wrote:
> On Wed, Jun 22, 2022 at 08:50:33PM +0800, Chao Yu wrote:
>> On 2022/6/21 14:42, Chao Liu wrote:
>>> From: Chao Liu <[email protected]>
>>>
>>> Files created by truncate have a size but no blocks, so
>>
>> I didn't get it, how can we create file by truncation...
>
> I'm sorry I didn't make it clear. We can create a file
> by passing a FILE parameter that does not exist
> to the user command truncate(1) [1].
>
> How about using truncate(1) instead of truncate
> in the description of the change?

Fine to me, as f2fs_disable_compressed_file() uses the same check
condition. ;)

Thanks,

>
> Thanks,
>
> [1] truncate(1): https://man7.org/linux/man-pages/man1/truncate.1.html

2022-07-07 09:04:13

by Chao Liu

[permalink] [raw]
Subject: Re: [PATCH] f2fs: allow compression of files without blocks

On Wed, Jul 06, 2022 at 10:27:44PM +0800, Chao Yu wrote:
> On 2022/6/23 12:24, Chao Liu wrote:
> > On Wed, Jun 22, 2022 at 08:50:33PM +0800, Chao Yu wrote:
> > > On 2022/6/21 14:42, Chao Liu wrote:
> > > > From: Chao Liu <[email protected]>
> > > >
> > > > Files created by truncate have a size but no blocks, so
> > >
> > > I didn't get it, how can we create file by truncation...
> >
> > I'm sorry I didn't make it clear. We can create a file
> > by passing a FILE parameter that does not exist
> > to the user command truncate(1) [1].
> >
> > How about using truncate(1) instead of truncate
> > in the description of the change?
>
> Fine to me, as f2fs_disable_compressed_file() uses the same check
> condition. ;)

Thank you, let me send a v2 patch later. :-D