summaryrefslogtreecommitdiff
path: root/qga
diff options
context:
space:
mode:
authorMichael Roth <mdroth@linux.vnet.ibm.com>2015-10-19 16:38:25 -0500
committerMichael Roth <mdroth@linux.vnet.ibm.com>2015-10-19 18:28:07 -0500
commitf693fe6ef402bdcf89b3979bf004c4c5bf646724 (patch)
tree9bfbe3c92de68d67fa1bc6f7c9221c7344eb1958 /qga
parent8a0b5421a09ab9b9567300c554d3e169f28fc09d (diff)
qga: guest-get-memory-blocks shouldn't fail for unexposed memory blocks
Some guests don't expose memory blocks via sysfs at all. This shouldn't be a failure, instead just return an empty list. For other access failures we still report an error. Signed-off-by: Michael Roth <mdroth@linux.vnet.ibm.com>
Diffstat (limited to 'qga')
-rw-r--r--qga/commands-posix.c10
1 files changed, 8 insertions, 2 deletions
diff --git a/qga/commands-posix.c b/qga/commands-posix.c
index a932809a6f..ff0ba626a9 100644
--- a/qga/commands-posix.c
+++ b/qga/commands-posix.c
@@ -2213,8 +2213,14 @@ GuestMemoryBlockList *qmp_guest_get_memory_blocks(Error **errp)
dp = opendir("/sys/devices/system/memory/");
if (!dp) {
- error_setg_errno(errp, errno, "Can't open directory"
- "\"/sys/devices/system/memory/\"\n");
+ /* it's ok if this happens to be a system that doesn't expose
+ * memory blocks via sysfs, but otherwise we should report
+ * an error
+ */
+ if (errno != ENOENT) {
+ error_setg_errno(errp, errno, "Can't open directory"
+ "\"/sys/devices/system/memory/\"\n");
+ }
return NULL;
}