qemu-devel
[Top][All Lists]
Advanced

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

Re: [Qemu-devel] [PATCH v7 for 2.1 4/4] block: add QAPI command to allow


From: Eric Blake
Subject: Re: [Qemu-devel] [PATCH v7 for 2.1 4/4] block: add QAPI command to allow live backing file change
Date: Mon, 30 Jun 2014 09:55:24 -0600
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:24.0) Gecko/20100101 Thunderbird/24.6.0

On 06/30/2014 08:59 AM, Kevin Wolf wrote:
> Am 25.06.2014 um 21:40 hat Jeff Cody geschrieben:
>> This allows a user to make a live change to the backing file recorded in
>> an open image.
>>
>> The image file to modify can be specified 2 ways:
>>
>> 1) image filename
>> 2) image node-name
>>

> I'm not a huge fan of adding two different addressing modes to a new QMP
> command. I consider using device_name/filename as deprecated and expect
> that management tools use node-name for new commands.

Good point.  Libvirt does not plan on using this command directly (that
is, right now, we don't see a need to change the backing file of an
image except as part of a bigger operation; but the work with
block-commit and block-stream earlier in this series already adds that
in the bigger operation); but we DO want to have a witness that the
other commands have support for relative backing name selection.  So it
is easiest if this new command exists, in ANY form, as the witness that
the overall series is in place, without regards to the parameters in
this particular command.

> 
> Also there's still Eric's reply and Jeff's promise to update the patch
> once blockers were sorted out for 2.1.
> 
> I'm leaning towards declaring this patch not ready.

How about a compromise - simplify the command to always require a
node-name and device for 2.1. For 2.2, we may later add optional
arguments (for example, making @device optional instead of mandatory),
and/or provide alternative interfaces (if it turns out we wanted
filename addressing after all), but the immediate concern is getting the
command installed, with the bare minimum interface.  That is, my
proposal is to completely drop the addressing by filename, and only
allow addressing by node-name.

##
# @change-backing-file
#
# Change the backing file in the image file metadata.  This does not
# cause QEMU to reopen the image file to reparse the backing filename
# (it may, however, perform a reopen to change permissions from
# r/o -> r/w -> r/o, if needed). The new backing file string is written
# into the image file metadata, and the QEMU internal strings are
# updated.
#
# @image-node-name: The name of the block driver state node of the
#                   image to modify.
#
# @device:          The name of the device that owns image-node-name.
#
# @backing-file:    The string to write as the backing file.  This
#                   string is not validated, so care should be taken
#                   when specifying the string or the image chain may
#                   not be able to be reopened again.
#
# Since: 2.1
##
{ 'command': 'change-backing-file',
  'data': { 'device': 'str', 'image-node-name': 'str',
            'backing-file': 'str' } }

-- 
Eric Blake   eblake redhat com    +1-919-301-3266
Libvirt virtualization library http://libvirt.org

Attachment: signature.asc
Description: OpenPGP digital signature


reply via email to

[Prev in Thread] Current Thread [Next in Thread]