Re: Fedora 34 Change: Enable btrfs transparent zstd compression by default (System-Wide Change proposal)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Wed, Dec 30, 2020 at 12:53 PM Ben Cotton <bcotton@xxxxxxxxxx> wrote:
>
> ** Update anaconda to perform the installation using <code>mount -o
> compress=zstd:1</code>
> ** Set the proper option in fstab (alternatively: set the XATTR)

I think the most discoverable is using 'compress=zstd:1" as the mount
option, and any one who wants to opt out would remove this. Upon
removal, the system will become not compressed basically by attrition,
as files are replaced.

The mount option method is per file system. Since we have 'subvol'
mount options to mount '/' and '/home' it seems plausible that
compression is a per subvolume option, but it's not (see below). It's
file system wide.

The per subvolume, per directory, per file method of compression has
some pretty esoteric nuances:

- chattr +c method uses the default compression, currently this is zlib
- btrfs property method can't be unset
https://github.com/kdave/btrfs-progs/issues/308
- btrfs property compression 'none' is not the same as unsetting it,
and it inherits just like any other xattr; none means mount option
"compress" does not apply; mount option "compress-force" will compress
files set with compression 'none'.
- btrfs property method isn't recursive
https://github.com/kdave/btrfs-progs/issues/278
- both methods stop at subvolume boundaries; i.e. if you set
compression on a subvolume or directory, it inherits as you add new
directories or files, but stops at a subvolume
- compression flags survive through btrfs send/receive - this is
particularly confusing because it can make it a bit difficult to have
a copy without compression, and not immediately obvious that it's
continuing to tag along

This might best be turned into a flowchart :P



> This Change only applies to newly installed systems. Existing systems
> on upgrade will be unaffected, but can be converted manually with
> <code>btrfs filesystem defrag -czstd -r</code>, updating `/etc/fstab`
> and remounting.

Note that defragmenting to compress is an option. You can just add the
mount option to fstab and remount, but only new files will be
compressed, but again by attrition, eventually most of the file system
will end up compressed.




-- 
Chris Murphy
_______________________________________________
devel mailing list -- devel@xxxxxxxxxxxxxxxxxxxxxxx
To unsubscribe send an email to devel-leave@xxxxxxxxxxxxxxxxxxxxxxx
Fedora Code of Conduct: https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: https://lists.fedoraproject.org/archives/list/devel@xxxxxxxxxxxxxxxxxxxxxxx




[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Fedora Announce]     [Fedora Users]     [Fedora Kernel]     [Fedora Testing]     [Fedora Formulas]     [Fedora PHP Devel]     [Kernel Development]     [Fedora Legacy]     [Fedora Maintainers]     [Fedora Desktop]     [PAM]     [Red Hat Development]     [Gimp]     [Yosemite News]

  Powered by Linux