Opened 7 years ago
Closed 6 years ago
#13742 closed enhancement (fixed)
PackageKit: add Zstd compression
Reported by: | korli | Owned by: | nobody |
---|---|---|---|
Priority: | normal | Milestone: | Unscheduled |
Component: | Kits/Package Kit | Version: | R1/Development |
Keywords: | Cc: | bonefish | |
Blocked By: | Blocking: | ||
Platform: | All |
Description
Zstd isn't available on x86_gcc2, so it might only be interesting for non-gcc2 archs.
see https://facebook.github.io/zstd/ for more information.
Adding another compression might require a package format version increment.
Attachments (1)
Change History (11)
comment:1 by , 7 years ago
patch: | 0 → 1 |
---|
comment:2 by , 7 years ago
comment:3 by , 7 years ago
Cc: | added |
---|
by , 7 years ago
Attachment: | 0001-Package-Kit-add-Zstd-compression.patch added |
---|
Draft patch to add Zstd as Hpkg compression format
comment:4 by , 7 years ago
I updated the patch with the kernel lib and the packagefs changes.
Next step would be the bootloader, only useful for the haiku package. This can probably wait.
comment:5 by , 7 years ago
Because HaikuDepotServer reads the HPKR format (repository catalog) which is a derivative of the HPKG format, can you please let me know ahead of time if you plan to use this compression for the chunks of the HPKR as I will have to get the server-side adapted to cope with this.
comment:6 by , 7 years ago
Added support in libbe.so, the kernel lib, and extension of compress_test in hrev51615.
comment:7 by , 7 years ago
The patch does not apply anymore. Is there anything in there that needs to be recovered, or are all the changes already integrated?
comment:8 by , 6 years ago
Remaining changes migrated to Gerrit: https://review.haiku-os.org/#/c/haiku/+/323/
comment:9 by , 6 years ago
patch: | 1 → 0 |
---|
comment:10 by , 6 years ago
Resolution: | → fixed |
---|---|
Status: | new → closed |
Merged in hrev52209.
At what point should we switch Zstd compression to be default?
Next step is obviously adding the compilation of zstd in the kernel in src/system/kernel/lib/zstd/Jamfile
packagefs and btrfs would use it, as with zlib (src/add-ons/kernel/file_systems/btrfs/Jamfile, src/add-ons/kernel/file_systems/packagefs/Jamfile)
Packagefs shares most code with the userland package kit.
BtrFS has a zstd compression feature (to be implemented, BTRFS_EXTENT_COMPRESS_LZO 3).