[Libguestfs] [hivex PATCH] Re-allocating unused blocks before assigning new blocks

Richard W.M. Jones rjones at redhat.com
Wed Jul 25 11:32:45 UTC 2018


On Mon, Jul 23, 2018 at 02:38:18PM -0400, Shreyas Khare wrote:
> Hello Richard
> 
> As discussed in the IRC channel, when merging a moderately large reg
> file (~35MB) to a hiv file (~118 MB); hivex generates a huge hiv
> file (~580 MB). These changes address that by creating a list of
> unallocated blocks and reassigning unused blocks. I used https://github.com/msuhanov/regf/blob/master/Windows%20registry%20file%20format%20specification.md
> as a reference for the structure of the hiv file (in addition to the
> source code itself)
>
> Attaching the patch file.

Just as a general comment, for the patch to go upstream at all it will
need to be reformatted so it fits with the existing code style.

[...]
>  /* Allocate a single block, first allocating an hbin (page) at the end
>   * of the current file if necessary.  NB. To keep the implementation
>   * simple and more likely to be correct, we do not reuse existing free

This comment is left in place, but it's now obviously wrong.

I'm a bit confused why we need a separate free list.  Can't we just
use the existing bitmap?

Rich.

-- 
Richard Jones, Virtualization Group, Red Hat http://people.redhat.com/~rjones
Read my programming and virtualization blog: http://rwmj.wordpress.com
virt-df lists disk usage of guests without needing to install any
software inside the virtual machine.  Supports Linux and Windows.
http://people.redhat.com/~rjones/virt-df/




More information about the Libguestfs mailing list