[PATCH RFC] modify iscsi layer to support software iscsi targets

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

 



The attached patch, from Tomo, takes a older version of the open-iscsi
initiator code and modifies it so that a software target that hooks into
tgt could reuse the data patch and transport class code.

After talking with several people at OLS, we realized that many people
do not agree as to where to implement a software iscsi target.

There is the do it completely in userspace camp. This can be done and
with net channels, network kevents or net splice on the horizon this
option is appealing.

The other option is to do it completely in the kernel. This has already
been rejected with the IET submission and scst discussion and the tgt
framework already pushes most of that code to userspace so there is no
point in pursing this right now.

And the last option would be something that hooks into iscsi layer in
mainline and tgt. This is what the attached patch implements. It has the
benefit that we can use the iscsi layer that is already in the kernel
with little modification. That iscsi layer is optimized to run from the
network sofirq and to be zero copy for the larger data transfers. The
tgt framework provides zero copy on the target side so we get to take
advantage of all that code. The disadvantage to this is that, probably
in the future tgt should work with the kevent and other async apis that
are being proposed so we should be working twords that goal right from
the beginning. Also, where we feel we would be using the iscsi kernel
code sort of how you would open a TCP socket and read and write to it
from userspace today, many people feel that any target code that can be
done in userspace should be done there. And for that argument we do not
have answer. As we said below we can do this in userspace, but we wanted
to reuse the initiator code when possible.

The attached path was made against a older iscsi tree so do not bother
reviewing it. I only attach it incase someone really wants to see the
code. I wanted to get feedback from others before I either port it to
the upstream iscsi code or reject it and help out on a completely
userspace software iscsi target.

Attachment: add-iscsi-tgt.patch.bz2
Description: application/bzip


[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [SCSI Target Devel]     [Linux SCSI Target Infrastructure]     [Kernel Newbies]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Linux IIO]     [Samba]     [Device Mapper]
  Powered by Linux