[Stgt-devel] [PATCH] Move device type to LUN
Hannes Reinecke
hare
Mon Jun 11 17:15:19 CEST 2007
Pete Wyckoff wrote:
> hare at suse.de wrote on Tue, 05 Jun 2007 15:38 +0200:
>> This patch moves the device type down to the LUN structure.
>> And in doing so we now also have the proper peripheral device
>> type and peripheral device qualifier attributes for the INQUIRY
>> data.
>
> Makes sense to me too.
>
>> One thing puzzles me, though: do we support commands with no
>> LUN attached to it? IE is it valid to have 'cmd->dev == NULL'?
>> If so: where is the point here? If that's our handling of a
>> non-existing LUN 0 we should rather add a proper LUN 0 and
>> treat cmd->dev == NULL as an error case ...
>
> In the SCSI model, every device must have at least one LUN for
> handling REPORT LUNS and a couple other commands. It is addressed
> as LUN 0 or using the "well-known" LUN for the command. In the stgt
> abstraction, though, there is no magic LUN like this. Instead
> things like spc_inqury use cmd->dev == NULL to handle this case.
>
Ah. Hence.
> Perhaps it is reasonable to create a special device for these
> commands. Up in target.c, you could assign cmd->dev to target->dev,
> where that is the special device, paralleling the way that
> target->cmd_queue is used. As a side effect, lots of "if (cmd->dev)
> ... else ILLEGAL_REQUEST" clauses can be removed from device code
> too.
>
Well, I actually thought of creating a proper LUN 0 with type 0xc.
This would be automagically created whenever a target is created.
And we could hook some management facilities to that one.
Maybe even turn it into a proper remote management :-)
But then, for this we definitely need to move the type to the LUN.
Tomo, what are you're thoughts on that one?
Cheers,
Hannes
--
Dr. Hannes Reinecke zSeries & Storage
hare at suse.de +49 911 74053 688
SUSE LINUX Products GmbH, Maxfeldstr. 5, 90409 N?rnberg
GF: Markus Rex, HRB 16746 (AG N?rnberg)
More information about the stgt
mailing list