>> === New process ===
>> # Resolve packaging request into a list of packages and operations
>> # Download and '''decompress''' packages into a '''locally optimized''' rpm 
>> file
>> # Install and/or upgrade packages sequentially using RPM files, using 
>> ''reference linking''' (reflinking) to reuse data already on
disk. 
> This sound great because free space requirements can be reduced, 
> specially when installing new packages.

I need to re-word this: the "reuse" of data is between the locally downloaded 
rpm and the installed destination. I do have a plan to investigate making 
rpm2extents enumerate the dnf/rpm cache (if you enable it) and reflink any 
shared data between rpms, saving writes.

Today this proposal explains that disk space requirements during updates are 
expected to be higher. See https://fedoraproject.org/wiki/Changes/RPMCoW#Notes 
item 3.

> I have experimented building very small appliances using btrfs 
> compression on things like /usr/share. So I think this could disrupt 
> this because if I am correct the extends will be first downloaded to a 
> temporary directory without compression enabled.

There is also some confusion between compressed data in the rpm and the 
transcoded one, and filesystem level compression. This proposal affects the 
former, but not the latter. I'd caution against using btrfs specific attributes 
to disable compression the dnf/rpm cache directory tree, because then the 
extents written/shared to the installed file locations will also not be 
compressed. (this is my interpretation of what I expect to see with 
FICLONERANGE ioctl etc: it'd be slower if it honored filesystem level 
compression because it'd need to re-write the data.)

> I am happy with an option to disable this behavior.

I'm unclear on which behavior you're referring to. This proposal is add support 
for Copy on Write in Fedora, but not make it default at this time.

Thanks, Matthew.
_______________________________________________
devel mailing list -- devel@lists.fedoraproject.org
To unsubscribe send an email to devel-le...@lists.fedoraproject.org
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@lists.fedoraproject.org

Reply via email to