Hi all, I'm new to this list, and new to working on STGT. I'm attempting to make a kernel module that hooks libfc into STGT so that libfc target hooks can be used to present I/O requests to STGT. I'm aware of the entirely user-level fcoe target, but want to use the in-kernel one in order to get support from HBA-like LLDs like fnic, and to get FIP support, etc. I'm struggling to understand a few things. Is there an architecture manual I can look at or a good e-mail thread that's discussed the overall design? My specific question at this point deals with how the kernel knows the status of a WRITE command. My guess is that for WRITEs, the user-kernel interactions are: 1. TGT_KEVENT_CMD_REQ - kernel presents command to tgtd. 2. TGT_UEVENT_CMD_RSP - tgtd gives buffer address to kernel - send XFER_RDY - kernel fills in buffer 3. TGT_KEVENT_CMD_DONE - kernel indicates write data in buffer .... then, what tells the kernel it's safe to send the response? If we do it between 2 and 3, then the data isn't really safe yet. Is there another TGT_UEVENT_CMD_RSP? Thanks in advance for any help. Please excuse the basic questions I'll be asking. Joe Eykholt -- To unsubscribe from this list: send the line "unsubscribe stgt" in the body of a message to majordomo at vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html |