diff mbox

[V4,4/4] Change default to qcow2 for sync mode none.

Message ID 1374173251-19449-1-git-send-email-imain@redhat.com
State New
Headers show

Commit Message

Ian Main July 18, 2013, 6:47 p.m. UTC
qcow2 supports backing files so it makes sense to default to qcow2
for MIRROR_SYNC_MODE_NONE so that we can use the source as a backing
drive and export it via nbd.  Defaulting FULL and TOP to SYNC_MODE_NONE
breaks tests but that could be fixed if we wanted it.

Signed-off-by: Ian Main <imain@redhat.com>
---
 blockdev.c       | 5 ++++-
 qapi-schema.json | 1 +
 2 files changed, 5 insertions(+), 1 deletion(-)

Comments

Eric Blake July 18, 2013, 6:56 p.m. UTC | #1
On 07/18/2013 12:47 PM, Ian Main wrote:
> qcow2 supports backing files so it makes sense to default to qcow2
> for MIRROR_SYNC_MODE_NONE so that we can use the source as a backing
> drive and export it via nbd.  Defaulting FULL and TOP to SYNC_MODE_NONE
> breaks tests but that could be fixed if we wanted it.
> 
> Signed-off-by: Ian Main <imain@redhat.com>
> ---
>  blockdev.c       | 5 ++++-
>  qapi-schema.json | 1 +
>  2 files changed, 5 insertions(+), 1 deletion(-)

Looks okay, but let's answer the meta-question first of whether we
should just make 'format' mandatory and be done with it.

Also, I've noticed you aren't cc'ing many people; that can slow down
reviews.  http://wiki.qemu.org/Contribute/SubmitAPatch gives hints on
how to determine the right people to send your patches to, by
deciphering MAINTAINERS and running ./scripts/getmaintainer.pl.
Ian Main July 18, 2013, 7:13 p.m. UTC | #2
On Thu, Jul 18, 2013 at 12:56:51PM -0600, Eric Blake wrote:
> On 07/18/2013 12:47 PM, Ian Main wrote:
> > qcow2 supports backing files so it makes sense to default to qcow2
> > for MIRROR_SYNC_MODE_NONE so that we can use the source as a backing
> > drive and export it via nbd.  Defaulting FULL and TOP to SYNC_MODE_NONE
> > breaks tests but that could be fixed if we wanted it.
> > 
> > Signed-off-by: Ian Main <imain@redhat.com>
> > ---
> >  blockdev.c       | 5 ++++-
> >  qapi-schema.json | 1 +
> >  2 files changed, 5 insertions(+), 1 deletion(-)
> 
> Looks okay, but let's answer the meta-question first of whether we
> should just make 'format' mandatory and be done with it.
> 
> Also, I've noticed you aren't cc'ing many people; that can slow down
> reviews.  http://wiki.qemu.org/Contribute/SubmitAPatch gives hints on
> how to determine the right people to send your patches to, by
> deciphering MAINTAINERS and running ./scripts/getmaintainer.pl.

Ah ok, I'll add them next rev.

My take has been to just do a patch that implements the suggestion and
see what people think :).

	Ian
Eric Blake July 18, 2013, 7:55 p.m. UTC | #3
On 07/18/2013 01:13 PM, Ian Main wrote:
> On Thu, Jul 18, 2013 at 12:56:51PM -0600, Eric Blake wrote:
>> On 07/18/2013 12:47 PM, Ian Main wrote:
>>> qcow2 supports backing files so it makes sense to default to qcow2
>>> for MIRROR_SYNC_MODE_NONE so that we can use the source as a backing
>>> drive and export it via nbd.  Defaulting FULL and TOP to SYNC_MODE_NONE
>>> breaks tests but that could be fixed if we wanted it.
>>>
>>> Signed-off-by: Ian Main <imain@redhat.com>
>>> ---
>>>  blockdev.c       | 5 ++++-
>>>  qapi-schema.json | 1 +
>>>  2 files changed, 5 insertions(+), 1 deletion(-)
>>
>> Looks okay, but let's answer the meta-question first of whether we
>> should just make 'format' mandatory and be done with it.
>>
>> Also, I've noticed you aren't cc'ing many people; that can slow down
>> reviews.  http://wiki.qemu.org/Contribute/SubmitAPatch gives hints on
>> how to determine the right people to send your patches to, by
>> deciphering MAINTAINERS and running ./scripts/getmaintainer.pl.
> 
> Ah ok, I'll add them next rev.
> 
> My take has been to just do a patch that implements the suggestion and
> see what people think :).

But this list is so high volume that the people that matter won't check
your email unless they are cc'd :)  If you want opinions fast, it pays
to follow the directions.
diff mbox

Patch

diff --git a/blockdev.c b/blockdev.c
index 000dea6..a56ba08 100644
--- a/blockdev.c
+++ b/blockdev.c
@@ -1462,7 +1462,10 @@  void qmp_drive_backup(const char *device, const char *target,
     }
 
     if (!has_format) {
-        format = mode == NEW_IMAGE_MODE_EXISTING ? NULL : bs->drv->format_name;
+        format = NULL;
+        if (mode != NEW_IMAGE_MODE_EXISTING) {
+            format = sync == MIRROR_SYNC_MODE_NONE ? "qcow2" : bs->drv->format_name;
+        }
     }
     if (format) {
         drv = bdrv_find_format(format);
diff --git a/qapi-schema.json b/qapi-schema.json
index b3f6c2a..e2c86f9 100644
--- a/qapi-schema.json
+++ b/qapi-schema.json
@@ -1806,6 +1806,7 @@ 
 #
 # @format: #optional the format of the new destination, default is to
 #          probe if @mode is 'existing', else the format of the source
+#          drive.  If @sync is 'none' then the default is qcow2.
 #
 # @sync: what parts of the disk image should be copied to the destination
 #        (all the disk, only the sectors allocated in the topmost image, or