From: Masayoshi Mizuma <m.mizuma(a)jp.fujitsu.com>
Enable <transient/> disk option for the xml to hotplug disks.
And <shareable/> disk option is also available for the disk to
share the disk with multiple guests.
For example:
# cat disk.xml
<disk type='file' device='disk'>
<driver name='qemu' type='qcow2'/>
<source file='/var/lib/libvirt/images/disk.qcow2'/>
<target dev='vdf' bus='virtio'/>
<shareable/>
<transient/>
</disk>
#
# virsh attach-device Guest1 disk.xml
Device attached successfully
#
# virsh attach-device Guest2 disk.xml
Device attached successfully
#
Signed-off-by: Masayoshi Mizuma <m.mizuma(a)jp.fujitsu.com>
---
tools/virsh-domain.c | 8 ++++++++
1 file changed, 8 insertions(+)
diff --git a/tools/virsh-domain.c b/tools/virsh-domain.c
index a778421b66..7246260673 100644
--- a/tools/virsh-domain.c
+++ b/tools/virsh-domain.c
@@ -486,6 +486,10 @@ static const vshCmdOptDef opts_attach_disk[] = {
.type = VSH_OT_STRING,
.help = N_("host socket for source of disk device")
},
+ {.name = "transient",
+ .type = VSH_OT_BOOL,
+ .help = N_("mark the disk as transient")
+ },
VIRSH_COMMON_OPT_DOMAIN_PERSISTENT,
VIRSH_COMMON_OPT_DOMAIN_CONFIG,
VIRSH_COMMON_OPT_DOMAIN_LIVE,
@@ -593,6 +597,7 @@ cmdAttachDisk(vshControl *ctl, const vshCmd *cmd)
bool live = vshCommandOptBool(cmd, "live");
bool persistent = vshCommandOptBool(cmd, "persistent");
bool multifunction = vshCommandOptBool(cmd, "multifunction");
+ bool transient = vshCommandOptBool(cmd, "transient");
VSH_EXCLUSIVE_OPTIONS_VAR(persistent, current);
@@ -739,6 +744,9 @@ cmdAttachDisk(vshControl *ctl, const vshCmd *cmd)
cmdAttachDiskFormatAddress(ctl, &diskChildBuf, straddr, target,
multifunction) < 0)
return false;
+ if (transient)
+ virBufferAddLit(&diskChildBuf, "<transient/>\n");
+
virXMLFormatElement(&buf, "disk", &diskAttrBuf,
&diskChildBuf);
xml = virBufferContentAndReset(&buf);
--
2.27.0