<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META content="text/html; charset=utf-8" http-equiv=Content-Type>
<STYLE>
BLOCKQUOTE {
MARGIN-TOP: 0px; MARGIN-BOTTOM: 0px; MARGIN-LEFT: 2em
}
OL {
MARGIN-TOP: 0px; MARGIN-BOTTOM: 0px
}
UL {
MARGIN-TOP: 0px; MARGIN-BOTTOM: 0px
}
P {
MARGIN-TOP: 0px; MARGIN-BOTTOM: 0px
}
BODY {
LINE-HEIGHT: 1.5; FONT-FAMILY: 微软雅黑; COLOR: #000000; FONT-SIZE: 10.5pt; 36719: ; 38597: ; 40657:
}
</STYLE>
<META name=GENERATOR content="MSHTML 8.00.7601.17514"></HEAD>
<BODY style="MARGIN: 10px">
<DIV>Please ignore the patchs [1-3].</DIV>
<DIV>I followed the contributer guidelines, before I push the patches I did a
"git pull --rebase" operation, </DIV>
<DIV>Then the newest three patches are included into my patches. Are there
anything I missed?</DIV>
<DIV> </DIV>
<DIV>On 2013-09-17 22:50 , <A
href="mailto:hzguanqiang@gmail.com">hzguanqiang</A> wrote:</DIV>
<DIV>
<TABLE width="100%">
<TBODY>
<TR>
<TD width="100%">
<BLOCKQUOTE
style="BORDER-LEFT: #000000 2px solid; PADDING-LEFT: 5px; PADDING-RIGHT: 0px; MARGIN-LEFT: 5px; MARGIN-RIGHT: 0px">
<DIV>From: Aline Manera <alinefm@br.ibm.com></DIV>
<DIV> </DIV>
<DIV>The https protocol is also accepted by qemu/KVM when specifying the
cdrom ISO</DIV>
<DIV>image.</DIV>
<DIV> </DIV>
<DIV>The xml should be as following:</DIV>
<DIV> </DIV>
<DIV> <disk type='network' device='cdrom'></DIV>
<DIV> <source protocol='https'
name='/url/path'></DIV>
<DIV> <host
name='host.name' port='443'/></DIV>
<DIV> </source></DIV>
<DIV> </disk></DIV>
<DIV> </DIV>
<DIV>Signed-off-by: Aline Manera <alinefm@br.ibm.com></DIV>
<DIV>---</DIV>
<DIV>docs/formatdomain.html.in
| 8 +++++</DIV>
<DIV>docs/schemas/domaincommon.rng
| 1 +</DIV>
<DIV>src/conf/domain_conf.c
| 1 +</DIV>
<DIV>src/conf/domain_conf.h
| 1 +</DIV>
<DIV>src/qemu/qemu_command.c
| 6 ++++</DIV>
<DIV>.../qemuxml2argv-disk-cdrom-network-https.args
| 8 +++++</DIV>
<DIV>.../qemuxml2argv-disk-cdrom-network-https.xml
| 37 ++++++++++++++++++++</DIV>
<DIV>tests/qemuxml2argvtest.c
| 2 ++</DIV>
<DIV>8 files changed, 64 insertions(+)</DIV>
<DIV>create mode 100644
tests/qemuxml2argvdata/qemuxml2argv-disk-cdrom-network-https.args</DIV>
<DIV>create mode 100644
tests/qemuxml2argvdata/qemuxml2argv-disk-cdrom-network-https.xml</DIV>
<DIV> </DIV>
<DIV>diff --git a/docs/formatdomain.html.in
b/docs/formatdomain.html.in</DIV>
<DIV>index f5a36d9..240571f 100644</DIV>
<DIV>--- a/docs/formatdomain.html.in</DIV>
<DIV>+++ b/docs/formatdomain.html.in</DIV>
<DIV>@@ -1511,6 +1511,14 @@</DIV>
<DIV> </disk></DIV>
<DIV> <disk type='network'
device='cdrom'></DIV>
<DIV> <driver name='qemu'
type='raw'/></DIV>
<DIV>+ <source protocol="https"
name="url_path"></DIV>
<DIV>+ <host
name="hostname" port="443"/></DIV>
<DIV>+ </source></DIV>
<DIV>+ <target dev='hdc' bus='ide'
tray='open'/></DIV>
<DIV>+ <readonly/></DIV>
<DIV>+ </disk></DIV>
<DIV>+ <disk type='network'
device='cdrom'></DIV>
<DIV>+ <driver name='qemu'
type='raw'/></DIV>
<DIV> <source protocol="ftp"
name="url_path"></DIV>
<DIV> <host
name="hostname" port="21"/></DIV>
<DIV> </source></DIV>
<DIV>diff --git a/docs/schemas/domaincommon.rng
b/docs/schemas/domaincommon.rng</DIV>
<DIV>index ecd3a42..2f91f0f 100644</DIV>
<DIV>--- a/docs/schemas/domaincommon.rng</DIV>
<DIV>+++ b/docs/schemas/domaincommon.rng</DIV>
<DIV>@@ -1231,6 +1231,7 @@</DIV>
<DIV>
<value>gluster</value></DIV>
<DIV>
<value>iscsi</value></DIV>
<DIV>
<value>http</value></DIV>
<DIV>+
<value>https</value></DIV>
<DIV>
<value>ftp</value></DIV>
<DIV> </choice></DIV>
<DIV> </attribute></DIV>
<DIV>diff --git a/src/conf/domain_conf.c b/src/conf/domain_conf.c</DIV>
<DIV>index e5fe900..04563f6 100644</DIV>
<DIV>--- a/src/conf/domain_conf.c</DIV>
<DIV>+++ b/src/conf/domain_conf.c</DIV>
<DIV>@@ -265,6 +265,7 @@ VIR_ENUM_IMPL(virDomainDiskProtocol,
VIR_DOMAIN_DISK_PROTOCOL_LAST,</DIV>
<DIV>
"gluster",</DIV>
<DIV>
"iscsi",</DIV>
<DIV>
"http",</DIV>
<DIV>+
"https",</DIV>
<DIV>
"ftp")</DIV>
<DIV></DIV>
<DIV>VIR_ENUM_IMPL(virDomainDiskProtocolTransport,
VIR_DOMAIN_DISK_PROTO_TRANS_LAST,</DIV>
<DIV>diff --git a/src/conf/domain_conf.h b/src/conf/domain_conf.h</DIV>
<DIV>index e4dfee9..d54b29e 100644</DIV>
<DIV>--- a/src/conf/domain_conf.h</DIV>
<DIV>+++ b/src/conf/domain_conf.h</DIV>
<DIV>@@ -543,6 +543,7 @@ enum virDomainDiskProtocol {</DIV>
<DIV> VIR_DOMAIN_DISK_PROTOCOL_GLUSTER,</DIV>
<DIV> VIR_DOMAIN_DISK_PROTOCOL_ISCSI,</DIV>
<DIV> VIR_DOMAIN_DISK_PROTOCOL_HTTP,</DIV>
<DIV>+ VIR_DOMAIN_DISK_PROTOCOL_HTTPS,</DIV>
<DIV> VIR_DOMAIN_DISK_PROTOCOL_FTP,</DIV>
<DIV></DIV>
<DIV> VIR_DOMAIN_DISK_PROTOCOL_LAST</DIV>
<DIV>diff --git a/src/qemu/qemu_command.c
b/src/qemu/qemu_command.c</DIV>
<DIV>index 1521431..883b513 100644</DIV>
<DIV>--- a/src/qemu/qemu_command.c</DIV>
<DIV>+++ b/src/qemu/qemu_command.c</DIV>
<DIV>@@ -3905,6 +3905,12 @@ qemuBuildDriveStr(virConnectPtr conn
ATTRIBUTE_UNUSED,</DIV>
<DIV>
disk->hosts->port ? disk->hosts->port : "80");</DIV>
<DIV>
virBufferEscape(&opt, ',', ",", "%s,", disk->src);</DIV>
<DIV>
break;</DIV>
<DIV>+
case VIR_DOMAIN_DISK_PROTOCOL_HTTPS:</DIV>
<DIV>+
virBufferAsprintf(&opt, "file=https://%s:%s",</DIV>
<DIV>+
disk->hosts->name,</DIV>
<DIV>+
disk->hosts->port ? disk->hosts->port : "443");</DIV>
<DIV>+
virBufferEscape(&opt, ',', ",", "%s,", disk->src);</DIV>
<DIV>+
break;</DIV>
<DIV>
case VIR_DOMAIN_DISK_PROTOCOL_FTP:</DIV>
<DIV>
virBufferAsprintf(&opt, "file=ftp://%s:%s",</DIV>
<DIV>
disk->hosts->name,</DIV>
<DIV>diff --git
a/tests/qemuxml2argvdata/qemuxml2argv-disk-cdrom-network-https.args
b/tests/qemuxml2argvdata/qemuxml2argv-disk-cdrom-network-https.args</DIV>
<DIV>new file mode 100644</DIV>
<DIV>index 0000000..affa794</DIV>
<DIV>--- /dev/null</DIV>
<DIV>+++
b/tests/qemuxml2argvdata/qemuxml2argv-disk-cdrom-network-https.args</DIV>
<DIV>@@ -0,0 +1,8 @@</DIV>
<DIV>+LC_ALL=C PATH=/bin HOME=/home/test USER=test LOGNAME=test
QEMU_AUDIO_DRV=none \</DIV>
<DIV>+/usr/bin/kvm -S \</DIV>
<DIV>+-M pc-1.2 -m 1024 -smp 1 -nographic -nodefaults \</DIV>
<DIV>+-monitor unix:/tmp/test-monitor,server,nowait -boot d -usb \</DIV>
<DIV>+-drive \</DIV>
<DIV>+file=https://host.name:443/url/path/file.iso,if=none,media=cdrom,id=drive-ide0-1-0
\</DIV>
<DIV>+-device
ide-drive,bus=ide.1,unit=0,drive=drive-ide0-1-0,id=ide0-1-0 \</DIV>
<DIV>+-device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x3</DIV>
<DIV>diff --git
a/tests/qemuxml2argvdata/qemuxml2argv-disk-cdrom-network-https.xml
b/tests/qemuxml2argvdata/qemuxml2argv-disk-cdrom-network-https.xml</DIV>
<DIV>new file mode 100644</DIV>
<DIV>index 0000000..b8a60ed</DIV>
<DIV>--- /dev/null</DIV>
<DIV>+++
b/tests/qemuxml2argvdata/qemuxml2argv-disk-cdrom-network-https.xml</DIV>
<DIV>@@ -0,0 +1,37 @@</DIV>
<DIV>+<domain type='kvm'></DIV>
<DIV>+ <name>QEMUGuest1</name></DIV>
<DIV>+
<uuid>c7a5fdbd-edaf-9455-926a-d65c16db1809</uuid></DIV>
<DIV>+ <memory unit='KiB'>1048576</memory></DIV>
<DIV>+ <currentMemory
unit='KiB'>1048576</currentMemory></DIV>
<DIV>+ <vcpu placement='static'>1</vcpu></DIV>
<DIV>+ <os></DIV>
<DIV>+ <type arch='x86_64'
machine='pc-1.2'>hvm</type></DIV>
<DIV>+ <boot dev='cdrom'/></DIV>
<DIV>+ </os></DIV>
<DIV>+ <features></DIV>
<DIV>+ <acpi/></DIV>
<DIV>+ <apic/></DIV>
<DIV>+ <pae/></DIV>
<DIV>+ </features></DIV>
<DIV>+ <clock offset='utc'/></DIV>
<DIV>+ <on_poweroff>destroy</on_poweroff></DIV>
<DIV>+ <on_reboot>restart</on_reboot></DIV>
<DIV>+ <on_crash>restart</on_crash></DIV>
<DIV>+ <devices></DIV>
<DIV>+
<emulator>/usr/bin/kvm</emulator></DIV>
<DIV>+ <disk type='network'
device='cdrom'></DIV>
<DIV>+ <driver name='qemu'
type='raw'/></DIV>
<DIV>+ <source protocol='https'
name='/url/path/file.iso'></DIV>
<DIV>+ <host
name='host.name' port='443'/></DIV>
<DIV>+ </source></DIV>
<DIV>+ <target dev='hdc'
bus='ide'/></DIV>
<DIV>+ <readonly/></DIV>
<DIV>+ <alias
name='ide0-1-0'/></DIV>
<DIV>+ <address type='drive'
controller='0' bus='1' target='0' unit='0'/></DIV>
<DIV>+ </disk></DIV>
<DIV>+ <controller type='usb' index='0'/></DIV>
<DIV>+ <controller type='pci' index='0'
model='pci-root'/></DIV>
<DIV>+ <controller type='ide' index='0'/></DIV>
<DIV>+ <memballoon model='virtio'/></DIV>
<DIV>+ </devices></DIV>
<DIV>+</domain></DIV>
<DIV>diff --git a/tests/qemuxml2argvtest.c
b/tests/qemuxml2argvtest.c</DIV>
<DIV>index fdf1d31..a11c9a8 100644</DIV>
<DIV>--- a/tests/qemuxml2argvtest.c</DIV>
<DIV>+++ b/tests/qemuxml2argvtest.c</DIV>
<DIV>@@ -445,6 +445,8 @@ mymain(void)</DIV>
<DIV> DO_TEST("disk-cdrom", NONE);</DIV>
<DIV> DO_TEST("disk-cdrom-network-http",
QEMU_CAPS_KVM, QEMU_CAPS_DEVICE,</DIV>
<DIV>
QEMU_CAPS_DRIVE);</DIV>
<DIV>+ DO_TEST("disk-cdrom-network-https",
QEMU_CAPS_KVM, QEMU_CAPS_DEVICE,</DIV>
<DIV>+
QEMU_CAPS_DRIVE);</DIV>
<DIV> DO_TEST("disk-cdrom-network-ftp",
QEMU_CAPS_KVM, QEMU_CAPS_DEVICE,</DIV>
<DIV>
QEMU_CAPS_DRIVE);</DIV>
<DIV> DO_TEST("disk-cdrom-empty",
QEMU_CAPS_DRIVE);</DIV>
<DIV>-- </DIV>
<DIV>1.7.9.5</DIV>
<DIV> </DIV>
<DIV>--</DIV>
<DIV>libvir-list mailing list</DIV>
<DIV>libvir-list@redhat.com</DIV>
<DIV>https://www.redhat.com/mailman/listinfo/libvir-list</DIV></BLOCKQUOTE></TD></TR></TBODY></TABLE></DIV>
<DIV> </DIV>
<DIV><SPAN>
<DIV style="FONT-FAMILY: verdana; FONT-SIZE: 10pt">
<DIV>------------------ <BR>Best
regards!<BR>GuanQiang</DIV></DIV></SPAN></DIV>
<DIV>22:52:52</DIV></BODY></HTML>