Skip to content
  • Mike Hibler's avatar
    all: · a6a648e9
    Mike Hibler authored
    	add -Wall to CFLAGS and clean up lint
    	update the TODO file
    	explicitly size the header fields (e.g., int32_t not int)
    
    imagezip:
    	Version 2.
    
    	Adds two ints to the header to help track free space.  Each chunk
    	now has a first and last sector number which can describe any free
    	block before or after the data contained in the chunk.  This is
    	needed in order to properly zero all free space when laying down
    	an image.  In practice: the first chunk describes any free space
    	before the first allocated range and any free space after its
    	contained ranges and before the first allocated range in the second
    	chunk.  Every other chunk then describes just free space following
    	itself (since the previous chunk has already described the space
    	before this chunk).  The point being, we only describe each free
    	range once.
    
    	Added "relocation" information.  Relocation entries go in the chunk
    	header along with region descriptors.  This allows us to identify
    	chunks of data which need to be absolute disk blocks instead of
    	offsets from the containing partition.  This is now used for BSD-slice
    	partition tables which contain absolute disk blocks.  We can now
    	create an image in one slice and reload it into another slice.
    
    	Allow zlib compression level 0 (no compression).  This might be
    	useful on machines that have slow CPUs: do just FS-compression and
    	transfer the image elsewhere faster where it could be re-zipped
    	with regular compression.
    
    	Fix goof.  Previously we were not saving any DOS partition with
    	an unrecognized type.  We should be naively compressing it instead.
    	This is what we now do.  We continue to skip partitions of type 0
    	("unused").
    
    	mikeism: add handler for SIGINFO (^T) to report progress of
    	a zip-age.
    
    	Added everybody's favorite "dots" mode for reporting progress.
    
    	Eliminate some excess copies left over from the conversion from
    	write-every-little-piece to buffer-up-a-full-chunk-and-then-write.
    
    	Eliminaged the special case handling of no skips (ranges) in
    	compress_image by creating a single allocated range describing
    	the whole disk/partition in this case.
    
    	For NTFS, make the behavior of calling missing unicode routines
    	be to return an error rather than exit.  These calls happen,
    	but their failing doesn't seem to be fatal.
    
    	Lots of typical mike-pissing on everything else.
    
    imageunzip:
    
    	Modify to handle both V1 and V2 images.
    
    	In slice mode, make sure we don't write past the bounds of
    	the slice.  ES&D if we try.
    
    	Make output to unseekable devices work again (broken when
    	pwrite was added)
    
    	Add debug -F (Frisbee) option to randomize the presentation of
    	chunks to the unzip/write threads.  Used to simulate frisbee.
    
    	Add "-T DOS-type" option to tell imageunzip, when in slice mode,
    	to set the type of the slice in the DOS partition table.
    	This is useful if you are dropping say a BSD filesystem into
    	an unused slice, you don't have to go back later and set this
    	with fdisk.  Considered making this info part of the image
    	itself (recorded by imagezip when creating a slice image),
    	but decided against it.
    
    	writezero takes an off_t for the size, we can be asked to write
    	many gigabytes of zero at the end of a disk.
    
    	Turn off dots mode by default.  Ya wanna see spots?  Ya gotta
    	turn it on!
    
    	Lots of typical mike-pissing on everything else.
    
    imagedump:
    
    	New tool for checking/dumping the structure of an image and
    	reporting stats about it.
    a6a648e9