[libvirt] [PATCH] virsh: Option for overriding disk type in attach-disk
Daniel Veillard
veillard at redhat.com
Fri Sep 10 12:34:57 UTC 2010
On Fri, Sep 10, 2010 at 01:48:24PM +0200, Jiri Denemark wrote:
> Unless --driver tap|file option was given to attach-disk, virsh would
> generate <disk type='block'> XML which might be fine for Xen but not for
> other hypervisors. This patch introduces a new option --sourcetype which
> can be used to explicitly set the type of disk source. The option
> accepts either "file" or "block" types.
> ---
> tools/virsh.c | 12 ++++++++++--
> 1 files changed, 10 insertions(+), 2 deletions(-)
>
> diff --git a/tools/virsh.c b/tools/virsh.c
> index 7bc33d8..57ea618 100644
> --- a/tools/virsh.c
> +++ b/tools/virsh.c
> @@ -8116,6 +8116,7 @@ static const vshCmdOptDef opts_attach_disk[] = {
> {"type", VSH_OT_STRING, 0, N_("target device type")},
> {"mode", VSH_OT_STRING, 0, N_("mode of device reading and writing")},
> {"persistent", VSH_OT_BOOL, 0, N_("persist disk attachment")},
> + {"sourcetype", VSH_OT_STRING, 0, N_("type of source (block|file)")},
> {NULL, 0, 0, NULL}
> };
>
> @@ -8127,6 +8128,7 @@ cmdAttachDisk(vshControl *ctl, const vshCmd *cmd)
> int isFile = 0, ret = FALSE;
> char *buf = NULL, *tmp = NULL;
> unsigned int flags;
> + char *stype;
>
> if (!vshConnectionUsability(ctl, ctl->conn))
> goto cleanup;
> @@ -8144,10 +8146,16 @@ cmdAttachDisk(vshControl *ctl, const vshCmd *cmd)
> subdriver = vshCommandOptString(cmd, "subdriver", NULL);
> type = vshCommandOptString(cmd, "type", NULL);
> mode = vshCommandOptString(cmd, "mode", NULL);
> + stype = vshCommandOptString(cmd, "sourcetype", NULL);
>
> - if (driver) {
> - if (STREQ(driver, "file") || STREQ(driver, "tap"))
> + if (!stype) {
> + if (driver && (STREQ(driver, "file") || STREQ(driver, "tap")))
> isFile = 1;
> + } else if (STREQ(stype, "file")) {
> + isFile = 1;
> + } else if (STRNEQ(stype, "block")) {
> + vshError(ctl, _("Unknown source type: '%s'"), stype);
> + goto cleanup;
> }
>
> if (mode) {
ACK, though not 100% of a bug fix, it's a workaround, and limited to
virsh so I think it's fine to apply now before the release.
Daniel
--
Daniel Veillard | libxml Gnome XML XSLT toolkit http://xmlsoft.org/
daniel at veillard.com | Rpmfind RPM search engine http://rpmfind.net/
http://veillard.com/ | virtualization library http://libvirt.org/
More information about the libvir-list
mailing list