[Fedora-livecd-list] [PATCH] cleanupDeleted and container_size - saves 5.5% output size on f7livecd-i686

Douglas McClendon dmc.fedora at filteredperception.org
Sat Jul 21 21:27:30 UTC 2007


Douglas McClendon wrote:

> patch#1: add --container-size flag
> 
> Using this flag, one can cause the os.img that sits in the squashfs.img, 
> to be a larger sparse file than the filesystem contained in it.  By 
> default, the old behavior happens.  One somewhat unrealistic, but real 
> justification for this, would be booting a livecd on a system with 16G 
> of ram.  Without this flag, you would be limited to only writing 2G of 
> data (given the existing f7-livecd-i686 choice of a 4G 
> uncompressed-size, and about 2.1G of data).  With this flag and a 
> container of say 1T or 100G, there would be no negative consequences, 
> but the livecd user would be able to online resize2fs their root 
> filesystem upward if they liked.
> 
 > The more realistic usefulness comes if through a persistence
 > implementation, the overlay file is not a 512M file stored in tmpfs, but
 > an 8G file stored on an ipod.  Everything mentioned above applies.
 >

Ok, so there is a negative consequence of a large container.  As I alluded to 
before, mksquashfs apparently does not give any special consideration to sparse 
files.  Naturally it can compress a file containing huge blocks of 0s pretty 
well, but it still appears to be going to an aweful lot of work to do that.

Short of adding more intelligent handling of sparse files to squashfs 
(feasible?), another alternative which satisfies the above resizing scenarios 
would be this-

Instead of having a larger container, at runtime before the resize, reload the 
device mapper table for live-rw.  Instead of the os.img loop device being the 
base of the snapshot device, create a new device which is a dm linear addition 
of os.img and a dm-zero device.  This will add a penalty for the extra dm-layer, 
but given that this use-case is pretty obscure, it should be sufficient.

Given this line of reasoning, I can no longer think of any need for the 
--container-size patch.  New patch coming soon, with the other changes as well.

-dmc





More information about the livecd mailing list