Fix do_commit() behavior
Commit 751c6a17042b5d011013d6963c0505d671cf708e changed the monitor's
'commit' command to this behavior:
1. Any string you type as argument will cause do_commit() to
call bdrv_commit() to all devices
2. If you enter a device name, it will be the only one ignored
by do_commit() :)
The fix is to call bdrv_commit() to the specified device only and
ignore the others (when 'all' is not specified).
Signed-off-by: Luiz Capitulino <lcapitulino@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
Message-Id:
diff --git a/monitor.c b/monitor.c
index aac8878..4b270d9 100644
--- a/monitor.c
+++ b/monitor.c
@@ -259,7 +259,7 @@
all_devices = !strcmp(device, "all");
TAILQ_FOREACH(dinfo, &drives, next) {
if (!all_devices)
- if (!strcmp(bdrv_get_device_name(dinfo->bdrv), device))
+ if (strcmp(bdrv_get_device_name(dinfo->bdrv), device))
continue;
bdrv_commit(dinfo->bdrv);
}