Re: [PATCH 4/4] blockcommit: require base below top

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 06/13/14 18:31, Eric Blake wrote:
> The block commit code looks for an explicit base file relative
> to the discovered top file; so for a chain of:
>   base <- snap1 <- snap2 <- snap3
> and a command of:
>   virsh blockcommit $dom vda --base snap2 --top snap1
> we got a sane message (here from libvirt 1.0.5):
> error: invalid argument: could not find base 'snap2' below 'snap1' in chain for 'vda'
> 
> Meanwhile, recent refactoring has slightly reduced the quality of the
> libvirt error messages, by losing the phrase 'below xyz':
> error: invalid argument: could not find image 'snap2' in chain for 'snap3'
> 
> But we had a one-off, where we were not excluding the top file
> itself in searching for the base; thankfully qemu still reports
> the error, but the quality is worse:
>   virsh blockcommit $dom vda --base snap2 --top snap2
> error: internal error unable to execute QEMU command 'block-commit': Base '/snap2' not found
> 
> Fix the one-off in blockcommit by changing the semantics of name
> lookup - if a starting point is specified, then the result must
> be below that point, rather than including that point.  The only
> other call to chain lookup was blockpull code, which was already
> forcing the lookup to omit the active layer and only needs a
> tweak to use the new semantics.
> 
> This also fixes the bug exposed in the testsuite, where when doing
> a lookup pinned to an intermediate point in the chain, we were
> unable to return the name of the parent also in the chain.
> 
> * src/util/virstoragefile.c (virStorageFileChainLookup): Change
> semantics for non-NULL startFrom.
> * src/qemu/qemu_driver.c (qemuDomainBlockJobImpl): Adjust caller,
> to keep existing semantics.
> * tests/virstoragetest.c (mymain): Adjust to expose new semantics.
> 
> Signed-off-by: Eric Blake <eblake@xxxxxxxxxx>
> ---
>  src/qemu/qemu_driver.c    |  3 +--
>  src/util/virstoragefile.c | 33 ++++++++++++++++++++-------------
>  tests/virstoragetest.c    | 36 +++++++++++++++++-------------------
>  3 files changed, 38 insertions(+), 34 deletions(-)
> 

ACK,

Peter


Attachment: signature.asc
Description: OpenPGP digital signature

--
libvir-list mailing list
libvir-list@xxxxxxxxxx
https://www.redhat.com/mailman/listinfo/libvir-list

[Index of Archives]     [Virt Tools]     [Libvirt Users]     [Lib OS Info]     [Fedora Users]     [Fedora Desktop]     [Fedora SELinux]     [Big List of Linux Books]     [Yosemite News]     [KDE Users]     [Fedora Tools]