Skip to content

iscsi: modify transport class to support qla4xxx

Mike Christie linux-scsi 1 version In review

Get series with b4
b4 am 1151514021.11553.43.camel@madmax

Versions newest first

  1. v1 Latest9 patches 1 replyIn review

Patches in v1 No applies recorded yet

#Subject and filesSizeRepliesApplied
1/9iscsi: add target discvery event to transport classdrivers/scsi/scsi_transport_iscsi.c include/scsi/iscsi_if.h include/scsi/scsi_transport_iscsi.h+57 -00 replies
2/9iscsi: fixup set/get param functionsdrivers/scsi/libiscsi.c drivers/scsi/scsi_transport_iscsi.c include/scsi/libiscsi.h +1 more+246 -1870 replies
3/9iscsi: convert iser to new set/get param fnsdrivers/infiniband/ulp/iser/iscsi_iser.c+17 -1210 replies
4/9iscsi: convert iscsi_tcp to new set/get param fnsdrivers/scsi/iscsi_tcp.c+24 -1280 replies
5/9iscsi: fix session refcoutingdrivers/scsi/libiscsi.c drivers/scsi/scsi_transport_iscsi.c+9 -90 replies
6/9iscsi: rm channel usage from iscsidrivers/scsi/libiscsi.c drivers/scsi/scsi_transport_iscsi.c include/scsi/scsi_transport_iscsi.h+5 -80 replies
7/9iscsi: break up session creation into two stagesdrivers/scsi/scsi_transport_iscsi.c include/scsi/scsi_transport_iscsi.h+76 -290 replies
8/9iscsi: pass target nr to session creationdrivers/scsi/libiscsi.c drivers/scsi/scsi_transport_iscsi.c include/scsi/scsi_transport_iscsi.h+12 -110 replies
9/9iscsi: add async notification of session eventsdrivers/scsi/scsi_transport_iscsi.c include/scsi/iscsi_if.h include/scsi/scsi_transport_iscsi.h+235 -1000 replies

Reviews trailers per patch

No Reviewed-by, Acked-by or Tested-by trailers for v1 yet.

Read the v1 thread

Cover letter [PATCH 0/9] iscsi: modify transport class to support qla4xxx

It looks like qla4xxx is getting close to being mergable. The following patches complete the transport class related fixes I wanted qlogic to do. Qlogic and Doug will resend the driver with Arjan and others comments and lot of other bug fixes and cleanups.

The following patches modify the transport class so qla4xxx can use it. The patches also make any needed conversions to libiscsi and the other iscsi LLD modules.

The reason for the changes is because the qlogic HW can expose a interface that is close to a normal SPI driver that hides most of the iscsi details (session mode), or it can expose a interface that exposes more of the iscsi details (connection mode). And we chose to go with session mode.

Even in session mode, we have hooked the qla4xxx driver into the open-iscsi framework. Normally to do discovery and log into iscsi sessions using iscsi_tcp you can do:

iscsiadm --mode=discovery --type=sendtargets --portal=192.168.0.10:3260 --login

To see the running session you can do:

iscsiadm --m session

These same commands now work for qla4xxx and we also support qla4xxx persistent targets.

We have hooked qla4xxx into the userspace scanning and iscsi state model code. So you can load the module, then run iscsid. iscsid will then scan for disks and setup userspace. Or you can run iscsid and then load the module. iscsid and the tools can be used with qla4xxx and iscsi_tcp and iscsi_iser at the same time.

In the future we plan to implement more functionality in the userspace tools for qla4xxx like manually adding sessions and removing sessions, and push more code to userspace, but the current code at least provides a usable driver.

Doug and Qlogic have finished the last qla4xx cleanups and will send that driver soon