iscsi: add hostname support in portal addresses
Currently, the iSCSI plugin regex patterns only match IPv4 and IPv6 addresses, causing session parsing to fail when portals use hostnames (like nas.example.com:3260). This patch updates ISCSI_TARGET_RE and session parsing regex to accept any non-whitespace characters before the port, allowing hostname-based portals to work correctly. Tested with IP and hostname-based portals on Proxmox VE 8.2, 8.3, and 8.4.1 Signed-off-by: Stelios Vailakakis <stelios@libvirt.dev> Link: https://lore.proxmox.com/20250626022920.1323623-1-stelios@libvirt.dev
This commit is contained in:
committed by
Thomas Lamprecht
parent
c33abdf062
commit
6bf171ec54
@ -33,7 +33,7 @@ my sub assert_iscsi_support {
|
|||||||
}
|
}
|
||||||
|
|
||||||
# Example: 192.168.122.252:3260,1 iqn.2003-01.org.linux-iscsi.proxmox-nfs.x8664:sn.00567885ba8f
|
# Example: 192.168.122.252:3260,1 iqn.2003-01.org.linux-iscsi.proxmox-nfs.x8664:sn.00567885ba8f
|
||||||
my $ISCSI_TARGET_RE = qr/^((?:$IPV4RE|\[$IPV6RE\]):\d+)\,\S+\s+(\S+)\s*$/;
|
my $ISCSI_TARGET_RE = qr/^(\S+:\d+)\,\S+\s+(\S+)\s*$/;
|
||||||
|
|
||||||
sub iscsi_session_list {
|
sub iscsi_session_list {
|
||||||
assert_iscsi_support();
|
assert_iscsi_support();
|
||||||
@ -49,7 +49,7 @@ sub iscsi_session_list {
|
|||||||
my $line = shift;
|
my $line = shift;
|
||||||
# example: tcp: [1] 192.168.122.252:3260,1 iqn.2003-01.org.linux-iscsi.proxmox-nfs.x8664:sn.00567885ba8f (non-flash)
|
# example: tcp: [1] 192.168.122.252:3260,1 iqn.2003-01.org.linux-iscsi.proxmox-nfs.x8664:sn.00567885ba8f (non-flash)
|
||||||
if ($line =~
|
if ($line =~
|
||||||
m/^tcp:\s+\[(\S+)\]\s+((?:$IPV4RE|\[$IPV6RE\]):\d+)\,\S+\s+(\S+)\s+\S+?\s*$/
|
m/^tcp:\s+\[(\S+)\]\s+(\S+:\d+)\,\S+\s+(\S+)\s+\S+?\s*$/
|
||||||
) {
|
) {
|
||||||
my ($session_id, $portal, $target) = ($1, $2, $3);
|
my ($session_id, $portal, $target) = ($1, $2, $3);
|
||||||
# there can be several sessions per target (multipath)
|
# there can be several sessions per target (multipath)
|
||||||
|
|||||||
Reference in New Issue
Block a user