}
+static char **
+virshDomainDiskTargetListCompleter(vshControl *ctl,
+ const vshCmd *cmd,
+ const char *argname)
+{
+ const char *curval = NULL;
+ g_auto(GStrv) targets = virshDomainDiskTargetCompleter(ctl, cmd, 0);
+
+ if (vshCommandOptStringQuiet(ctl, cmd, argname, &curval) < 0)
+ return NULL;
+
+ if (!targets)
+ return NULL;
+
+ return virshCommaStringListComplete(curval, (const char **) targets);
+}
+
+
+char **
+virshDomainMigrateDisksCompleter(vshControl *ctl,
+ const vshCmd *cmd,
+ unsigned int completeflags G_GNUC_UNUSED)
+{
+ return virshDomainDiskTargetListCompleter(ctl, cmd, "migrate-disks");
+}
+
+
+char **
+virshDomainUndefineStorageDisksCompleter(vshControl *ctl,
+ const vshCmd *cmd,
+ unsigned int completeflags G_GNUC_UNUSED)
+{
+ return virshDomainDiskTargetListCompleter(ctl, cmd, "storage");
+}
+
+
char **
virshDomainEventNameCompleter(vshControl *ctl G_GNUC_UNUSED,
const vshCmd *cmd G_GNUC_UNUSED,
virshDomainStorageFileFormatCompleter(vshControl *ctl,
const vshCmd *cmd,
unsigned int flags);
+
+char **
+virshDomainMigrateDisksCompleter(vshControl *ctl,
+ const vshCmd *cmd,
+ unsigned int completeflags);
+
+char **
+virshDomainUndefineStorageDisksCompleter(vshControl *ctl,
+ const vshCmd *cmd,
+ unsigned int completeflags);
},
{.name = "storage",
.type = VSH_OT_STRING,
+ .completer = virshDomainUndefineStorageDisksCompleter,
.help = N_("remove associated storage volumes (comma separated list of "
"targets or source paths) (see domblklist)")
},
},
{.name = "migrate-disks",
.type = VSH_OT_STRING,
+ .completer = virshDomainMigrateDisksCompleter,
.help = N_("comma separated list of disks to be migrated")
},
{.name = "disks-port",