On Wed, 30 Dec 2020 at 14:53, Ben Cotton <bcotton@xxxxxxxxxx> wrote: > > https://fedoraproject.org/wiki/Changes/BtrfsTransparentCompression > > == Summary == > > On variants using btrfs as the default filesystem, enable transparent > compression using zstd. Compression saves space and can significantly > increase the lifespan of flash-based media by reducing write > amplification. It can also increase read and write performance. > > == Owners == > > * Name: [[User:salimma|Michel Salim]], [[User:dcavalca|Davide > Cavalca]], [[User:josef|Josef Bacik]] > * Email: michel@xxxxxxxxxxxxxxx, dcavalca@xxxxxx, josef@xxxxxxxxxxxxxx > > > == Detailed description == > > Transparent compression is a btrfs feature that allows a btrfs > filesystem to apply compression on a per-file basis. Of the three > supported algorithms, zstd is the one with the best compression speed > and ratio. Enabling compression saves space, but it also reduces write > amplification, which is important for SSDs. Depending on the workload > and the hardware, compression can also result in an increase in read > and write performance. > > See https://pagure.io/fedora-btrfs/project/issue/5 for details. This > was originally scoped as an optimization for > https://fedoraproject.org/wiki/Changes/BtrfsByDefault during Fedora > 33. > > > == Benefit to Fedora == > > Better disk space usage, reduction of write amplification, which in > turn helps increase lifespan and performance on SSDs and other > flash-based media. It can also increase read and write performance. > > == Scope == > > * Proposal owners: > ** Update anaconda to perform the installation using <code>mount -o > compress=zstd:1</code> > ** Set the proper option in fstab (alternatively: set the XATTR) > ** Update disk image build tools to enable compression: > *** lorax > *** appliance-tools > *** osbuild > *** imagefactory > ** [optional] Add support for > [https://github.com/kdave/btrfs-progs/issues/328 setting compression > level when defragmenting] > ** [optional] Add support for > [https://github.com/kdave/btrfs-progs/issues/329 setting compression > level using `btrfs property`] > * Other developers: > ** anaconda: review PRs as needed > * Release engineering: https://pagure.io/releng/issue/9920 > * Policies and guidelines: N/A > * Trademark approval: N/A > > == Upgrade/compatibility impact == > > 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. > > == How to test == > > Existing systems can be converted to use compression manually with > <code>btrfs filesystem defrag -czstd -r</code>, updating `/etc/fstab` Update `/etc/fstab` how? Please be more explicit. > and remounting. > > == User experience == > > Compression will result in file sizes (e.g. as reported by du) not > matching the actual space occupied on disk. The > [https://src.fedoraproject.org/rpms/compsize compsize] utility can be > used to examine the compression type, effective compression ration and > actual size. > > == Dependencies == > > Anaconda will need to be updated to perform the installation using > <code>mount -o compress=zstd:1</code> > > == Contingency plan == > > * Contingency mechanism: will not include PR patches if not merged > upstream and will not enable > * Contingency deadline: Final freeze > * Blocks release? No > * Blocks product? No > > == Documentation == > > https://btrfs.wiki.kernel.org/index.php/Compression > > == Release Notes == > > Transparent compression of the filesystem using zstd is now enabled by > default. Use the compsize utility to find out the actual size on disk > of a given file. > > > -- > Ben Cotton > He / Him / His > Senior Program Manager, Fedora & CentOS Stream > Red Hat > TZ=America/Indiana/Indianapolis > _______________________________________________ > 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 -- Elliott _______________________________________________ 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