[Toybox] gzip --rsyncable

Rob Landley rob at landley.net
Sun Jan 21 12:02:57 PST 2018


More or less a note to self, but I've had a todo item to write a
"mount -t zip" driver for like a decade now, which can loopback mount a
zip file as a filesystem. (Basically squashfs only using the
near-ubiquitous zip file format as its filesystem layout. The fact you
_can't_ just "mount -t blah.zip dir" and get a read-only view of the
sucker is a crying shame. I remember the first time I sat down to do
this my blocker was I needed to wait for the block layer rewrite in 2.3
that allowed multiple mounts to finish because everything was too in flux.

(The reason for zip not tar.gz is that zip compresses each file
individually with metadata at the end, so you can list directories and
open a specific file without having to start at the beginning and
extract your way through megabytes of file linearly searching for it.
The downside of zip is because they put the metadata at the end, to make
modifying existing archives easier, a truncated archive is basically
useless.)

Anyway, the gzip --rsyncable option makes doing such a filesystem
easier, because it means you can scan the file for dictionary resets and
maintain a list of points you can randomly seek to.

Rob

P.S. You know all those people who say "somebody will steal your idea"?
PLEASE STEAL MY #(%(&%& IDEA SO I DON'T HAVE TO IMPLEMENT THEM. Grrr...

P.P.S. Yes I've said this for years.
https://lists.celinuxforum.org/pipermail/celinux-dev/2010-January/000292.html
was _eight_years_ago_, people still won't steal 'em. Grrr.

P.P.P.S. Still driving to wisconsin. Somewhere, someone has to have
photoshopped a state welcome sign to say "Missouri loves company."


More information about the Toybox mailing list