[Stgt-devel] Question for pass-through target design

Robert Jennings rcj
Thu May 24 21:01:36 CEST 2007


* Vladislav Bolkhovitin (vst at vlnb.net) wrote:
> Robert Jennings wrote:
> >>>>What I meant that is that the kernel tgt code (scsi_tgt*) receives
> >>>>SCSI commands from one lld and send them to another lld instead of
> >>>>sending them to user space.
> >>>
> >>>Although the approach of passing SCSI commands from a target LLD to an
> >>>initiator one without any significant interventions from the target
> >>>software looks to be nice and simple, you should realize how limited,
> >>>unsafe and illegal it is, since it badly violates SCSI specs.
> >>
> >>I think that 'implemented cleanly' means that one scsi_host is assigned
> >>to only one initiator.
> >
> >Vladislav listed a number of issues that are inherent in an implementation
> >that does not have a 1:1 relationship of initiators to targets.  The vscsi
> >architecture defines the 1:1 relationship; it's imposible to have more
> >than one initiator per target.
> 
> Just few small notes:
> 
> 1. As I already wrote, complete 1:1 relationship isn't practically 
> possible, because there is always a local access on the target (i.e. one 
> more initiator) and you can't disable it on practice.

I was proposing a 1:1 relationship of initiator to target within the
target framework for in-kernel pass-through.  We would still have the
case that local access on the target is possible; an administrator with
privileges neccessary to create a target would have the responsibility
to not then access the device locally.  

This is no different than if I create my root file system on /dev/sda1,
I should not also 'dd' data to /dev/sda1 while the system is running.
It's a bad idea, but nothing stops me; however this is something that
only a root level user can do.  This would be the same, these targets in
pass-through have permissions by default that do not allow local access
by non-root users.

> 2. 1:1 relationship is a serious limitation for usage cases like an SPI 
> tape library serving backup for several servers on an FC net.

Restricting the relationship to 1:1 would be for pass-through devices
only, this would not necessarily dictate other target types which could
be used for such cases.

--Rob



More information about the stgt mailing list