New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
squashfsTools: incorporate 4k-alignment option patch #49200
Conversation
The discussion is from chromium's developers and not the authors of squashfs-tools, right? Have you tried sending the patch upstream? I would be interested in their opinion. |
I've requested upstream's feedback, and will follow up here when a reply is received (or they may comment directly -- a link to the PR was included). |
Silence from the upstream author, both directly and via mailing list (only message in the archive for October 2018, per https://sourceforge.net/p/squashfs/mailman/squashfs-devel/?viewmonth=201810 -- and as of this writing there's no content for November either). I'm almost tempted to create a fork of the project that follows Google's publicly released patchset. |
@ruuda any opinions about the inclusion of the patch? |
There seems also no activity since 2014. |
@@ -22,6 +22,7 @@ stdenv.mkDerivation rec { | |||
./0001-If-SOURCE_DATE_EPOCH-is-set-override-timestamps-with.patch | |||
./0002-If-SOURCE_DATE_EPOCH-is-set-also-clamp-content-times.patch | |||
./0003-remove-frag-deflator-thread.patch |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Can you move the comment from above directly to this patches and make a newline after them so it is clear that the 4k align patch is not meant for reproducibility?
I saw this patch before, seems like a useful thing to have.
There is also the squashfskit fork which has seen more activity, perhaps they would accept it. |
Seems like a good idea, they also have patches we have: https://github.com/squashfskit/squashfskit/commits/master |
722f5b6
to
f6ec508
Compare
@GrahamcOfBorg build mksquashfs |
No attempt on x86_64-linux (full log) The following builds were skipped because they don't evaluate on x86_64-linux: mksquashfs Partial log (click to expand)
|
No attempt on aarch64-linux (full log) The following builds were skipped because they don't evaluate on aarch64-linux: mksquashfs Partial log (click to expand)
|
No attempt on x86_64-darwin (full log) The following builds were skipped because they don't evaluate on x86_64-darwin: mksquashfs Partial log (click to expand)
|
@GrahamcOfBorg build squashfsTools |
Success on x86_64-linux (full log) Attempted: squashfsTools Partial log (click to expand)
|
Success on x86_64-darwin (full log) Attempted: squashfsTools Partial log (click to expand)
|
Success on aarch64-linux (full log) Attempted: squashfsTools Partial log (click to expand)
|
Motivation for this change
Padding the space between files in squashfs images increases the size of that image, but can greatly improve efficiency both of block- or extent-based on-disk deduplication (such as bees) and chunking-based software distribution systems (such as casync or desync).
This incorporates a patch from Chromium adding an option to enable such alignment, trivially tweaked so it applies to our tree. See https://chromium-review.googlesource.com/c/chromiumos/overlays/portage-stable/+/612449 for upstream discussion of said patch.
Things done
sandbox
innix.conf
on non-NixOS)nix-shell -p nox --run "nox-review wip"
./result/bin/
)nix path-info -S
before and after)