Thanks for this report. I'll try to reproduce this myself and see what is 
going on.

It is certainly the case that there is insufficient locking in iscsid with 
respect to multiple threads, IMHO, so I am not surprised.

On Wednesday, September 27, 2017 at 11:43:02 PM UTC-7, Tangchen (UVP) wrote:
>
> Hi guys, 
>
> If we run iscsiadm -m node --login command through the same IP address 4 
> times, only one session will be created. 
> But if we run them in parallel, then 4 same sessions could be created. 
> ( Here, xxx.xxx.xxx.xxx is the IP address to the IPSAN. I'm using the same 
> IP in these 4 commands. ) 
>
> # iscsiadm -m node -p xxx.xxx.xxx.xxx  --login & 
> # iscsiadm -m node -p xxx.xxx.xxx.xxx  --login & 
> # iscsiadm -m node -p xxx.xxx.xxx.xxx  --login & 
> # iscsiadm -m node -p xxx.xxx.xxx.xxx  --login & 
> Logging in to [iface: default, target: iqn. xxx.xxx.xxx.xxx, portal: 
> xxx.xxx.xxx.xxx] (multiple) 
> Logging in to [iface: default, target: iqn. xxx.xxx.xxx.xxx, portal: 
> xxx.xxx.xxx.xxx] (multiple) 
> Logging in to [iface: default, target: iqn. xxx.xxx.xxx.xxx, portal: 
> xxx.xxx.xxx.xxx] (multiple) 
> Logging in to [iface: default, target: iqn. xxx.xxx.xxx.xxx, portal: 
> xxx.xxx.xxx.xxx] (multiple) 
> Login to [iface: default, target: xxx.xxx.xxx.xxx, portal: 
> xxx.xxx.xxx.xxx] successful. 
> Login to [iface: default, target: xxx.xxx.xxx.xxx, portal: 
> xxx.xxx.xxx.xxx] successful. 
> Login to [iface: default, target: xxx.xxx.xxx.xxx, portal: 
> xxx.xxx.xxx.xxx] successful. 
> Login to [iface: default, target: xxx.xxx.xxx.xxx, portal: 
> xxx.xxx.xxx.xxx] successful. 
>
> # iscsiadm -m session 
> tcp: [1] xxx.xxx.xxx.xxx (non-flash) 
> tcp: [2] xxx.xxx.xxx.xxx (non-flash) 
> tcp: [3] xxx.xxx.xxx.xxx (non-flash) 
> tcp: [4] xxx.xxx.xxx.xxx (non-flash) 
>
> If we check the net connection in /proc/net/nf_conntrack, they are 4 TCP 
> connections with different src ports. 
> And if we run logout command only once, all the 4 sessions will be 
> destroyed. 
>
> Unfortunately, service like multipathd cannot tell the difference between 
> them. If we have 4 same sessions, 
> 4 paths will be created connecting to the dm device. But actually they are 
> the same paths. 
>
> Referring to the code, iscsiadm command does prevent creating same session 
> by checking /sys/class/iscsi_session/ dir. 
> But no multi-thread protection in there. 
>
> Any idea how to solve this problem ? 
>
> Thanks. 
>

-- 
You received this message because you are subscribed to the Google Groups 
"open-iscsi" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to open-iscsi+unsubscr...@googlegroups.com.
To post to this group, send email to open-iscsi@googlegroups.com.
Visit this group at https://groups.google.com/group/open-iscsi.
For more options, visit https://groups.google.com/d/optout.

Reply via email to