[Rpm-maint] [rpm-software-management/rpm] API improvement to accommodate for RPM CoW (PR#1470) (Discussion #2057)
David Disseldorp
notifications at github.com
Tue Apr 30 01:25:48 UTC 2024
I hacked together a proof of concept implementation which uses `BTRFS_IOC_ENCODED_WRITE` to write a zstd-compressed cpio payload directly to disk as-is, from a carefully aligned rpm. Compressed extents are then reflinked to the installation path.
presentation: https://www.youtube.com/live/qNGw8IKaqc0?si=vrLkk8Bi9Odfqm4Z&t=10325
rpm-rs based source: https://github.com/ddiss/rpm/tree/poc-btrfs-zstd-encoded-io-reflink-extract
The rpm payload format isn't modified, although there's a slight "bending" of the cpio/newc spec to use the filename field for padding. zstandard frames making up the compressed rpm payload explicitly carry both compressed and uncompressed lengths, to allow detection of filesystem-supported I/O sizes.
--
Reply to this email directly or view it on GitHub:
https://github.com/rpm-software-management/rpm/discussions/2057#discussioncomment-9269013
You are receiving this because you are subscribed to this thread.
Message ID: <rpm-software-management/rpm/repo-discussions/2057/comments/9269013 at github.com>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.rpm.org/pipermail/rpm-maint/attachments/20240429/76381f56/attachment.html>
More information about the Rpm-maint
mailing list