[libvirt] [PATCH] storage: Update qemu-img flag checking
Osier Yang
jyang at redhat.com
Thu Mar 10 07:33:04 UTC 2011
于 2011年03月10日 15:29, Daniel Veillard 写道:
> On Thu, Mar 10, 2011 at 03:08:28PM +0800, Osier Yang wrote:
>> For newer qemu-img, the help string for "backing file format" is
>> "[-F backing_fmt]".
>>
>> Fix the wrong logic error by commit e997c268.
>>
>> * src/storage/storage_backend.c
>> ---
>> src/storage/storage_backend.c | 7 ++++---
>> 1 files changed, 4 insertions(+), 3 deletions(-)
>>
>> diff --git a/src/storage/storage_backend.c b/src/storage/storage_backend.c
>> index 0751fde..6d8e8b0 100644
>> --- a/src/storage/storage_backend.c
>> +++ b/src/storage/storage_backend.c
>> @@ -595,7 +595,8 @@ static int virStorageBackendQEMUImgBackingFormat(const char *qemuimg)
>>
>> start = strstr(help, " create ");
>> end = strstr(start, "\n");
>> - if ((tmp = strstr(start, "-F fmt"))&& tmp< end)
>> + if (((tmp = strstr(start, "-F fmt"))&& tmp< end) ||
>> + ((tmp = strstr(start, "-F backing_fmt"))&& tmp< end))
>> ret = QEMU_IMG_BACKING_FORMAT_FLAG;
>> else if ((tmp = strstr(start, "[-o options]"))&& tmp< end)
>> ret = QEMU_IMG_BACKING_FORMAT_OPTIONS;
>> @@ -757,7 +758,7 @@ virStorageBackendCreateQemuImg(virConnectPtr conn,
>> };
>>
>> if (vol->target.encryption != NULL) {
>> - if (imgformat == QEMU_IMG_BACKING_FORMAT_FLAG) {
>> + if (imgformat == QEMU_IMG_BACKING_FORMAT_OPTIONS) {
>> imgargv[8] = "-o";
>> imgargv[9] = "encryption=on";
>> } else {
>> @@ -837,7 +838,7 @@ virStorageBackendCreateQemuImg(virConnectPtr conn,
>> };
>>
>> if (vol->target.encryption != NULL) {
>> - if (imgformat == QEMU_IMG_BACKING_FORMAT_FLAG) {
>> + if (imgformat == QEMU_IMG_BACKING_FORMAT_OPTIONS) {
>> imgargv[6] = "-o";
>> imgargv[7] = "encryption=on";
>> } else {
>
> Okay, this makes sense, ACK
>
> Daniel
>
Thanks, pushed.
Regards
Osier
More information about the libvir-list
mailing list