Hi, FYI:

First, pactically the same thing as "zerofree" can be done with dd while
in (loop) mounted image file.

$ dd if=/dev/zero of=junk; sync; rm junk

So unless this tool can do in-place zeroing without growing file, this is
useless.

When reading http://intgat.tigress.co.uk/rmy/uml/index.html, I learn
this "zerofree" command togeher with "sparsify" command available from 
http://intgat.tigress.co.uk/rmy/uml/sparsify.c .  But this points out
that zerofree grows file size.  This beat the purpose for me.

They also talk about in-place change using patched kernels with
sys_punch which may be race condition prone.

I would do followings:

# mkdir /mnt/original
# mkdir /mnt/new
# mount -t auto -o loop original.image /mnt/original
# dd if=/dev/zero of=new.image bs=1 count=1 seek=2G
# mkfs.ext3 new.image
# mount -t auto -o loop      new.image /mnt/new
# cd /mnt/original
# cp -a --sparse=always ./ /mnt/new

This should work on other file system while erasing old histories.
All erased files in original.image will not be copied.
All large file with hole are copied with hole.
No need to zero holes in image files.

Osamu






createeasily by
creating zero size image and copying files there using GNU cp with
-a --sparse=always.

Osamu




-- 
To UNSUBSCRIBE, email to [email protected]
with a subject of "unsubscribe". Trouble? Contact [email protected]

Reply via email to