I am debugging a problem on SUSE 11 SP3, with tgt 0.9.10. I am creating two iSCSI targets using targets.conf. Neither target specifies a low-level driver, and there is no default-driver specified either. The targets looks something like this: <target iqn....t1> backing-store /dev/some-device vendor_id someid product_id volume-num1 </target> I create two of these targets, t1, and t2, then I using open-iscsi to login to the first target, t1, then logout. Then I run "tgt-admin --delete "iqn...t1". As you know, this just runs "tgtadm --op delete --mode target --tid=<tid-of-t1>". No low-level driver is specified. Then I try to login to the second target, t2, using open-iscsi, and the login hangs. This is because tgtd has died. Further analysis shows that tgtd dies because when it tries to look up the iscsi target structure for t2, the t1 entry is still around. And when the code tries to get the name of this no-longer-existing target, it gets NULL and tries to compare that with the iqn name being added. This makes strcmp() very unhappy. I find that if I manually specify the lld either on the command line of "tgtadm", or in one of the config files, then this problem goes away. It looks like when I don't specify any LLD the upper-level code defaults to low-lever-driver zero! This seems like a bug to me. Shouldn't the "tgtadm" command enforce specifying the low-level driver? -- Lee Duncan SUSE Labs -- To unsubscribe from this list: send the line "unsubscribe stgt" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html