On Sun, 22 May 2011 12:27:57 +0800 Kiefer Chang <zapchang@xxxxxxxxx> wrote: > I'll try to test the patch when I back to work. Thanks! > Right now we suspect the issue is caused by a unfinished command > interfering a new logged in connection. > Suppose a command is during KERNEL state, so tgtd won't abort the > command immediately. Yeah, we can't abort I/O commands in progress. > And the initiator try to logout and re-login the target. The accept > function call returns the same fd as previous connection. > After the commands in previous connection return from KERNEL state it > will use the fd do something (which just the same as the new > connection). The kernel might reuse the same fd but tgtd allocates a new iscsi_connection strcuture. The fd is binded to the new structure. So commands belonging to the previous connection don't affect the new conneciton. Do I miss something? > And it may cause the new connection go into the TX state. We test an > approach to close the fd in ep_release() rather then ep_close(). So a new > connection won't share the same fd with a connection that has unfinished > commands. Right now it looks good, more tests need to be done though. -- Closing a fd in ep_release() is fine by me but I'm not sure that it fixes problems. -- To unsubscribe from this list: send the line "unsubscribe stgt" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html