[libvirt] [PATCH] qemu: add port check for iscsi host when disk type is network
Shanzhi Yu
shyu at redhat.com
Thu Nov 13 10:17:16 UTC 2014
On 11/13/2014 05:42 PM, Peter Krempa wrote:
> On 11/13/14 10:28, Shanzhi Yu wrote:
>> For network type disk, host port is not checked when source protocol is
>> iscsi, so the error is not sure when with invalid port. If pass -1 to port
>> the error will be
>> error: Failed to start domain rh6-i
>> error: An error occurred, but the cause is unknown
>>
>> Resolves: https://bugzilla.redhat.com/show_bug.cgi?id=1163553
>> Signed-off-by: Shanzhi Yu <shyu at redhat.com>
>> ---
>> src/qemu/qemu_command.c | 6 ++++++
>> 1 file changed, 6 insertions(+)
>>
>> diff --git a/src/qemu/qemu_command.c b/src/qemu/qemu_command.c
>> index f674ba9..f806225 100644
>> --- a/src/qemu/qemu_command.c
>> +++ b/src/qemu/qemu_command.c
>> @@ -3016,6 +3016,12 @@ qemuBuildNetworkDriveURI(int protocol,
>> case VIR_STORAGE_NET_PROTOCOL_FTPS:
>> case VIR_STORAGE_NET_PROTOCOL_TFTP:
>> case VIR_STORAGE_NET_PROTOCOL_ISCSI:
>> + if (STRNEQ_NULLABLE(hosts->port,"3260")) {
>> + virReportError(VIR_ERR_INTERNAL_ERROR, "%s",
>> + _("expected port for iscsi host should be 3260"));
>> + goto cleanup;
>> + }
> Um? this would forbid to use any other port than 3260 for any of the
> protocols stated above. That doesn't make sense neither for iSCSI nor
> for the other ones.
>
> The code should make sure that the port is in range <0,65536> and don't
> force to use a certain port. Ohterwise we wouldn't need a port field.
How about make a check for every protocols above, eg FTP, HTTP. As
known, different protocol use certain port, if just make sure
the port is in range <0.65535>, error info may be like
error: Failed to start domain rh6-i
error: internal error: process exited while connecting to monitor:
2014-11-13T10:06:57.112170Z qemu-system-x86_64: -drive
file=ftp://10.66.6.111:100/mnt/nfs/rhel6.img,if=none,id=drive-virtio-disk0,format=raw,cache=none:
could not open disk image ftp://10.66.6.111:100/mnt/nfs/rhel6.img: curl
block device does not support writes
>
>> +
>> case VIR_STORAGE_NET_PROTOCOL_GLUSTER:
>> if (nhosts != 1) {
>> virReportError(VIR_ERR_INTERNAL_ERROR,
>>
> NACK to this approach.
>
> Peter
>
--
Regards
shyu
More information about the libvir-list
mailing list