Re: [PATCH 0/4] btrfs: add per-inode compression levels in xattrs

Qu Wenruo <[email protected]>
Newsgroups org.kernel.vger.linux-btrfs
Message-ID <[email protected]>

在 2026/8/10 10:35, koraynilay 写道:
> On Mon Aug 10, 2026 at 2:51 AM CEST, Qu Wenruo wrote:
>>>>>> So either option 2 or 3 would be fine to me. Although I personally prefer
>>>>>> option 3 a little more, just because it's much cleaner code wise.
>>>>>
>>>>> Option 2 preserves legacy behavior that is 12 years old now, and it
>>>>> costs a single comparison in two 'if' statements.
>>>>>
>>>>> Option 3 makes an already confusing situation worse--it makes the
>>>>> underspecified behavior change depending on kernel version.
>>>>
>>>> One should never rely on something not documented in the first place.
>>>
>>> Option 3 prevents existing mount-option compression level specifications
>>> from working when the attribute agress with the mount option; otherwise,
>>> they would be blocked by a btrfs.compression string that doesn't specify
>>> a level.  That's a _regression_.
>>
>> Let me be this clear, the current one nor option 2 is not working either.
>>
>> If the current algo is different from the XATTR algo, it will be
>> whatever random number clamped to the XATTR algo for the current code.
>>
>> This applies to the option 2 solution. When mount option changed, the
>> level will suddenly change from whatever previous mount option to the
>> default.
> 
> TBF, I can see how it could be useful (or rather, how it could be good
> to have it as an option) to have some files with btrfs.compression="zstd"
> and then use -o compress= to decide on the fly how much compressed the
> new data added to them should be.
> Both are (read: will be, after the per-inode patch) 1 command away, but
> there *might* be use-cases where mount is more suitable.

To be honest, with the proper XATTR compression level specification, I 
think we should even deprecate compress= mount option, and make the 
XATTR one the only recommended way to specific compression.

There are already too many corner cases with mount option.

IMHO, a good design should allow and only allow the best way to do a thing.

And option 3 matches perfect for the XATTR only compression future. It 
still allows old XATTR to work, have a very sane default level, very 
explicit and clear independent from whatever stupid mount option there 
could be.

> 
> 
>>>       https://wiki.tnonline.net/w/Btrfs/Compression
>>
>> The first URL doesn't even resolve here.
> (for some reason it's down right now :(, it was up < 1 hour ago).
> 
> Best,
> koraynilay
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.