copying 'holey' files ...

Fabian Keil freebsd-listen at fabiankeil.de
Mon Nov 3 09:12:22 PST 2008


"Marc G. Fournier" <scrappy at hub.org> wrote:

> I have a disk img for qemu that is 4G, but disk usage is only 650M ... due to 
> how the image is created, it will grow to 4G, but only uses as much as it needs 
> ... but, if I run a simple 'cp' on the file, it goes from:
> 
> image: debian.img
> file format: raw
> virtual size: 4.0G (4294967296 bytes)
> disk size: 652M
> 
> to:
> 
> image: dtc.img
> file format: raw
> virtual size: 4.0G (4294967296 bytes)
> disk size: 4.0G
> 
> Is there a way of moving things around such that it *maintains* the holes, 
> instead of fills them in?

Quoting dd(1):

| conv=value[,value ...]
|          Where value is one of the symbols from the following list.
[...]
|          sparse   If one or more output blocks would consist solely of
|                   NUL bytes, try to seek the output file by the required
|                   space instead of filling them with NULs, resulting in a
|                   sparse file.

I haven't actually tested it with qemu images, though.

Fabian
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 195 bytes
Desc: not available
Url : http://lists.freebsd.org/pipermail/freebsd-questions/attachments/20081103/ea3686bf/signature.pgp


More information about the freebsd-questions mailing list