【请教:Suse9下linux-iscsi问题(最好看过源码)】
在使用开源的linux-iscsi的时候,遇到了一个问题,请教高手给予指点:
根据linux-iscsi源码的实现,它有一个检测session超时的线程(timer-thread),这个线程会周期性的检查session是否超时,session有多种超时-active_timeout、idle_timeout、ping[-timeout等等,其中在数据传输时基本以active_timeout和ping[-timeout时间为主,即若linux-iscsi启动器没有收到任何target的数据超过5s,则启动器会发送一个ping包去探测target是否还在服务;若超过10s则认为session超时,直接dropp掉当前session,尝试重新连接,所以正常情况下出现的打印应该像下面,rx、ping、now3个jiffies相差都是5s:
iSCSI: 10 second timeout expired for session iscsi bus 0 target id 5, rx 10014757, ping 10019756, now 10024757
但我遇到的情况是linux-iscsi启动器直接10s超时,而没有在中途5s的时候去发ping包,打印如下:
Aug 14 17:00:18 wdl-sa-01 kernel: iSCSI: 10 second timeout expired for session iscsi bus 0 target id 0, rx 2680379544, ping 410248510, now 2680389544
Aug 14 17:00:18 wdl-sa-01 kernel: iSCSI: session iscsi bus 0 target id 0 has ended quickly 1 times, login delay 2 seconds
我看了源码,也没有找到原因,请问有没有人遇到类似的问题,或者知道这是linux-iscsi的什么bug!?