Skip to contentSkip to conversation

Merging se_dev_entry and se_lun?

DISCUSSION Hannes Reinecke 2 participants 4 messages Jun 19, 2015 SCSI

lore
Share & tools
lore
#0 lore raw

Hi Nic,

having done the patch to export 'write_protect' for demo-mode LUNs I've came across one puzzling item:

struct se_lun uses a list to refer to the underlying se_dev_entry structures. Which I found rather curious, as from my understanding 'se_lun' is the structure for the mapped LUN (ie the LUN visible to the initiator) and 'se_dev_entry' is the underlying physical device as visible to the LUN.
As such I would have expected a 1:1 relationship between both, ie a simple pointer from se_lun to se_dev_entry.

Having a list here implies that 'se_lun' can have _several_ se_dev_entry structure attached to it, which I found rather curious.

Can you give me an example where this might be the case? Or can we replace the list with a simple pointer or even merge both?

Reason I'm asking is the lun_access / dev_flags field; it really looks like it being a duplicate (I would judge 'write_protect' to be a property of the mapped LUN, and not of the underlying device), but in either case having it in both places requires a synchronisation between both, as for demo-mode LUNs we can only change it via se_lun, and for others we have to change it via the se_dev_entry.

Cheers,

Hannes

Signature · 5 lines
Dr. Hannes Reinecke		               zSeries & Storage
[email protected]			               +49 911 74053 688
SUSE LINUX GmbH, Maxfeldstr. 5, 90409 Nürnberg
GF: F. Imendörffer, J. Smithard, J. Guild, D. Upmanyu, G. Norton
HRB 21284 (AG Nürnberg)
#1 lore raw
Quoted 5 lines · Hannes Reinecke

Having a list here implies that 'se_lun' can have _several_ se_dev_entry structure attached to it, which I found rather curious.

Can you give me an example where this might be the case? Or can we replace the list with a simple pointer or even merge both?

Each initiator has it's own dev entry.

What might make sense with the new list-based dev entry handling is to merge the se_lun_acl and se_dev_entry, but it would be a fair amount of work.

#2 lore raw
Quoted 9 lines · Christoph Hellwig
Quoted 5 lines · Hannes Reinecke

Having a list here implies that 'se_lun' can have _several_ se_dev_entry structure attached to it, which I found rather curious.

Can you give me an example where this might be the case? Or can we replace the list with a simple pointer or even merge both?

Each initiator has it's own dev entry.

But isn't 'se_lun' per initiator, too?

Cheers,

Hannes

Signature · 5 lines
Dr. Hannes Reinecke		               zSeries & Storage
[email protected]			               +49 911 74053 688
SUSE LINUX GmbH, Maxfeldstr. 5, 90409 Nürnberg
GF: F. Imendörffer, J. Smithard, J. Guild, D. Upmanyu, G. Norton
HRB 21284 (AG Nürnberg)
#3 lore raw
Quoted 3 lines · Hannes Reinecke
Quoted 2 lines

Each initiator has it's own dev entry.

But isn't 'se_lun' per initiator, too?

No.
--
To unsubscribe from this list: send the line "unsubscribe linux-scsi" in