[stgt] iscsi initiastor library for kvm/qemu

ronnie sahlberg ronniesahlberg at gmail.com
Wed Nov 24 09:52:26 CET 2010


On Tue, Nov 23, 2010 at 9:16 AM, Mike Christie <michaelc at cs.wisc.edu> wrote:
> On 11/22/2010 02:11 PM, Mike Christie wrote:

>> The initiator is all in userspace, right? Is there any plans on
>> supporting offload? Would you create some offloaded connection using a
>> driver like bnx2i/cxgb3i/be2iscsi/qla4xxx then pass/get pdus through it?

Yes, it is all in userspace.
My goal is to have a library/client, posix compliant so that it runs
on all platforms, and all in userspace.


>
> Oh yeah, there is also a libiscsi for userspace apps here:
> http://git.kernel.org/?p=linux/kernel/git/mnc/open-iscsi.git;a=tree;f=libiscsi;h=da40a4845058b1c23d803dc91a1fbc7c225c7025;hb=qla4xxx
> This uses the open-iscsi kernel code, so it is probably not going to help
> you. An updated versions is currently shipped in red hat distro's (can send
> the patch if you want) and used by the installer, anaconda, to discover and
> log into targets and find disks.
>
> Do you think there will be overlap? Just wondering because for open-iscsi we
> are trying to modify that lib to support more operations, so it is useful to
> other apps but if your lib ends up supporting everything we need we would
> just use it instead.


Yes, there will be overlap :-)
At this stage, anything based on open-iscsi has a very much more
mature implementation of the iscsi layer.

Eventually I want the library to support all useful SCSI functions in
SBC, MMC, SSC, and maybe SMC.
I want it to be able to do marshalling and unmarshalling of most
useful structures passed in DATA-IN/DATA-OUT.

I also want the iscsi layer to be reasonably complete.


I got a lot of responses to this, so there does seem to be interest
for a client library for general purpose use.
Now, I initially only wanted something for myself, to get KVM to use
iscsi directly. (I find it VERY annoying that open-iscsi make the
devices visible to the host),   and also to hook into DBENCH, which
has a functioning but otherwise very poor synchronous initiator built
in.


When your tool does "login and discover LUNs" what operations does
that involve and would you need ?

Is this something similar to this ?

$ ./iscsi-ls --portal=127.0.0.1 --show-luns
Target:iqn.ronnie.test Portal:127.0.0.1:3260,1
Lun:0    Type:STORAGE_ARRAY_CONTROLLER
Lun:1    Type:DIRECT_ACCESS Size:5G
Lun:2    Type:MMC



Now, I just need to think of where to take this "for KVM and for
DBENCH" library onto a public git tree so others can use and
contribute to it.


regards
ronnie sahlberg
--
To unsubscribe from this list: send the line "unsubscribe stgt" in
the body of a message to majordomo at vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html



More information about the stgt mailing list