From: Juhani R. <jr...@ik...> - 2006-11-07 06:54:36
|
On Mon, 6 Nov 2006, Steffen Plotner wrote: > Hi, Hi again. Didn't go through the whole mailbox before responding the first one. > In my previous post, I state: volume->sid, that should have been > volume->reserve_sid I think we got the point;). > And one more choice: > > So, how do we solve this? I have come up with 2 thoughts: > > 1. force the initiators to do a LUN RESET As I said this atleast works. > 2. have IETD check upon terminating a session, if the value of sid > (volume->reserve_sid) matches the session that is being terminated, if > so, clear it out. > > 3. have the volume reservation be based on something else besides the > sid, like maybe the initiator. > > The SCSI specification states: "The device server shall reject commands > from initiators outside the selected set of initiators by uniquely > identifying initiators using protocol specific mechanisms." > > So, would that mean that choice 3 is the one? I was thinking same thing. Only big problem that I see is that comparing initiator name vs sid takes lot more cycles and this is done with every command. I'm not sure it it really slows things down but potential is there. We might use somekind of hash to get rid of that problem. Although hash collisions should be handled somehow. > Steffen Juhani -- Juhani Rautiainen jr...@ik... |