From 4b2b53f674f6b831c842a89b4e96aa80b2cb1d92 Mon Sep 17 00:00:00 2001
From: John Ferlan fs
, logical
, disk
,
iscsi
, zfs
).
May be repeated multiple times depending on backend driver. Contains
- a single attribute path
which is the fully qualified
- path to the block device node. Since 0.4.1
+ a single attribute path
which is either the fully
+ qualified path to the block device node or for iscsi
+ the iSCSI Qualified Name (IQN).
+ Since 0.4.1
dir
dir
), or optionally to select a subdirectory
@@ -292,7 +294,15 @@
or device
element. Contains an attribute name
which is the hostname or IP address of the server. May optionally
contain a port
attribute for the protocol specific
- port number. Since 0.4.1directory
or device
+ element. Name resolution of the provided hostname or IP address
+ is left to the storage driver backend interactions with the remote
+ server. See the storage driver page for
+ any restrictions for specific storage backends.
+ Since 0.4.1
auth
auth
element provides the
authentication credentials needed to access the source by the
diff --git a/docs/storage.html.in b/docs/storage.html.in
index b9b503de8..92e9ae7b5 100644
--- a/docs/storage.html.in
+++ b/docs/storage.html.in
@@ -439,6 +439,12 @@
to use /dev/disk/by-path
or /dev/disk/by-id
for the target path. These provide persistent stable naming for LUNs
+ The libvirt iSCSI storage backend does not resolve the provided + host name or IP address when finding the available target IQN's + on the host; therefore, defining two pools to use the same IQN + on the same host will fail the duplicate source pool checks. +
@@ -446,7 +452,7 @@ <name>virtimages</name> <source> <host name="iscsi.example.com"/> - <device path="demo-target"/> + <device path="iqn.2013-06.com.example:iscsi-pool"/> </source> <target> <path>/dev/disk/by-path</path> diff --git a/src/conf/storage_conf.c b/src/conf/storage_conf.c index 61365b9ca..65b270410 100644 --- a/src/conf/storage_conf.c +++ b/src/conf/storage_conf.c @@ -2427,9 +2427,7 @@ virStoragePoolSourceISCSIMatch(virStoragePoolObjPtr matchpool, virStoragePoolSourcePtr poolsrc = &matchpool->def->source; virStoragePoolSourcePtr defsrc = &def->source; - if (!virStoragePoolSourceMatchSingleHost(poolsrc, defsrc)) - return false; - + /* NB: Do not check the source host name */ if (STRNEQ_NULLABLE(poolsrc->initiator.iqn, defsrc->initiator.iqn)) return false; -- 2.39.5