Hi all,

I've been looking at the kernel to iscsid interfaces with an eye towards
opening up the possibility for several things that we can't do right
now.  Like running iscsid in a container, or moving towards a
multi-process model with a simplified iscsid process managing each
session.

There's a few issues blocking experimenting with those ideas, but I've
only run into one breaking change so far.

- The big change here, is making everything isolated by network
  namespace.  This is what keeps the netlink interface from working at
  all inside of a container with a net-ns, and once we're namespace
  aware I think it makes sense to filter the netlink responses and sysfs
  visibility by net-ns.

- This lets you run an iscsid per net-ns, but only iscsi_tcp (and maybe
  iSER?) will work in a namespace/container.  We could extend to allow
  moving of an iscsi_host to a namespace like network interfaces.

- The flashnode stuff, that's where I had to break the Open-iSCSI tools.
  The tools don't search for the sysfs devices anywhere outside of
  /sys/bus/iscsi_flashnode (best practice for sysfs is to search all
  "subsystems" like bus, class, etc.)  It's an easy fix for the tools,
  but a harder issue if we wanted to keep the kernel back compatible.

- Are people using the flashnode commands?  They only work with qla4xxx.

- The final patch here is a test towards fixing the netlink messaging to
  support multiple processes communicating with the kernel.  It doesn't
  get everything, but shows that we can move to unicasting responses and
  iscsid still works.

And my timing on this is terrible, but I'm going to put this on the list
and then be gone for the next week (and I know I've been too quiet here
lately).  I'll try and keep an eye on any replies, and then starting the
14th look at making any needed changes to finalize these and see about
moving them to an ready to merge submission.

Thanks,

- Chris

  iscsi: create per-net iscsi netlink kernel sockets
  iscsi: sysfs filtering by network namespace
  iscsi: make all netlink multicast namespace aware
  iscsi: set netns for iscsi_tcp hosts
  iscsi: pass ep to bind_conn
  iscsi: convert flashnode devices from bus to class
  iscsi: rename iscsi_bus_flash_* to iscsi_flash_*
  iscsi: filter flashnode sysfs by net namespace
  iscsi: respond to netlink with unicast when appropriate

 drivers/infiniband/ulp/iser/iscsi_iser.c |   8 +-
 drivers/scsi/be2iscsi/be_iscsi.c         |   6 +-
 drivers/scsi/be2iscsi/be_iscsi.h         |   1 +
 drivers/scsi/bnx2i/bnx2i_iscsi.c         |   5 +-
 drivers/scsi/cxgbi/libcxgbi.c            |   6 +-
 drivers/scsi/cxgbi/libcxgbi.h            |   4 +-
 drivers/scsi/iscsi_tcp.c                 |  12 +-
 drivers/scsi/qedi/qedi_iscsi.c           |   6 +-
 drivers/scsi/qla4xxx/ql4_os.c            |  58 +--
 drivers/scsi/scsi_transport_iscsi.c      | 625 +++++++++++++++++++++----------
 include/scsi/scsi_transport_iscsi.h      |  47 ++-
 11 files changed, 507 insertions(+), 271 deletions(-)

-- 
2.9.4

-- 
You received this message because you are subscribed to the Google Groups 
"open-iscsi" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to open-iscsi+unsubscr...@googlegroups.com.
To post to this group, send email to open-iscsi@googlegroups.com.
Visit this group at https://groups.google.com/group/open-iscsi.
For more options, visit https://groups.google.com/d/optout.

Reply via email to