There are 3 ways to lookup a volume, only virStorageVolLookupByName
needs pool object. So if no --pool is specified, it will tries to
get the volume via virStorageVolLookupByPath/virStorageVolLookupByKey.
But if all 3 ways fails, and no --pool is specified, a friendly
error might help the user get right way quickly.
---
tools/virsh.c | 9 +++++++--
1 files changed, 7 insertions(+), 2 deletions(-)
diff --git a/tools/virsh.c b/tools/virsh.c
index 371346a..4b9e662 100644
--- a/tools/virsh.c
+++ b/tools/virsh.c
@@ -14714,8 +14714,13 @@ vshCommandOptVolBy(vshControl *ctl, const vshCmd *cmd,
vol = virStorageVolLookupByPath(ctl->conn, n);
}
- if (!vol)
- vshError(ctl, _("failed to get vol '%s'"), n);
+ if (!vol) {
+ if (pool)
+ vshError(ctl, _("failed to get vol '%s'"), n);
+ else
+ vshError(ctl, _("failed to get vol '%s', specifying --pool
"
+ "might help"), n);
+ }
if (pool)
virStoragePoolFree(pool);
--
1.7.6