qemu: catch failure of drive_add

Previously when QEMU failed "drive_add" due to an error opening
a file it would report

  "could not open disk image"

These days though, QEMU reports

  "Could not open '/tmp/virtd-test_e3hnhh5/disk1.qcow2': Permission denied"

which we were not detecting as an error condition.

Signed-off-by: Daniel P. Berrange <berrange@redhat.com>
This commit is contained in:
Daniel P. Berrange 2017-01-17 16:14:11 +00:00
parent 01d9c3497c
commit b9cc6316c0

View File

@ -1959,6 +1959,16 @@ int qemuMonitorTextAddDrive(qemuMonitorPtr mon,
goto cleanup;
}
if (strstr(reply, "Could not open")) {
size_t len = strlen(reply);
if (reply[len - 1] == '\n')
reply[len - 1] = '\0';
virReportError(VIR_ERR_OPERATION_FAILED, "%s",
reply);
goto cleanup;
}
ret = 0;
cleanup: