tgtadm delete without lld specified?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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




[Index of Archives]     [Linux SCSI]     [Linux RAID]     [Linux Clusters]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]

  Powered by Linux