[libvirt] [PATCH] Invert logic for checking for QEMU disk cache options

QEMU has had two different syntax for disk cache options Old: on|off New: writeback|writethrough|none QEMU recently added another 'unsafe' option which broke the libvirt check. We can avoid this & future breakage, if we do a negative check for the old syntax, instead of a positive check for the new syntax * src/qemu/qemu_conf.c: Invert cache option check --- src/qemu/qemu_conf.c | 3 ++- 1 files changed, 2 insertions(+), 1 deletions(-) diff --git a/src/qemu/qemu_conf.c b/src/qemu/qemu_conf.c index 0dbab48..db60ca3 100644 --- a/src/qemu/qemu_conf.c +++ b/src/qemu/qemu_conf.c @@ -1170,7 +1170,8 @@ static unsigned long long qemudComputeCmdFlags(const char *help, flags |= QEMUD_CMD_FLAG_DOMID; if (strstr(help, "-drive")) { flags |= QEMUD_CMD_FLAG_DRIVE; - if (strstr(help, "cache=writethrough|writeback|none")) + if (strstr(help, "cache=") && + !strstr(help, "cache=on|off")) flags |= QEMUD_CMD_FLAG_DRIVE_CACHE_V2; if (strstr(help, "format=")) flags |= QEMUD_CMD_FLAG_DRIVE_FORMAT; -- 1.7.1.1

On 07/27/2010 06:23 AM, Daniel P. Berrange wrote:
QEMU has had two different syntax for disk cache options
Old: on|off New: writeback|writethrough|none
QEMU recently added another 'unsafe' option which broke the libvirt check. We can avoid this & future breakage, if we do a negative check for the old syntax, instead of a positive check for the new syntax
* src/qemu/qemu_conf.c: Invert cache option check --- src/qemu/qemu_conf.c | 3 ++- 1 files changed, 2 insertions(+), 1 deletions(-)
diff --git a/src/qemu/qemu_conf.c b/src/qemu/qemu_conf.c index 0dbab48..db60ca3 100644 --- a/src/qemu/qemu_conf.c +++ b/src/qemu/qemu_conf.c @@ -1170,7 +1170,8 @@ static unsigned long long qemudComputeCmdFlags(const char *help, flags |= QEMUD_CMD_FLAG_DOMID; if (strstr(help, "-drive")) { flags |= QEMUD_CMD_FLAG_DRIVE; - if (strstr(help, "cache=writethrough|writeback|none")) + if (strstr(help, "cache=") && + !strstr(help, "cache=on|off")) flags |= QEMUD_CMD_FLAG_DRIVE_CACHE_V2; if (strstr(help, "format=")) flags |= QEMUD_CMD_FLAG_DRIVE_FORMAT;
ACK - Cole
participants (2)
-
Cole Robinson
-
Daniel P. Berrange