> I actually thought about doing that a bit, but wasn't sure it > was safe for B to be doing a PUT involving the lnet_hdr_t on > which A was already doing a GET.
> If the answer is that that is safe, I think my problem's solved. Yes it's safe. All the LNET headers that the LND is asked to end/receive will always be in separate buffers, so there is no risk of them getting trampled on - e.g. The REPLY header created in response to a GET isn't the just-received GET header - it's a brand new one in its own buffer. And all the lnet_parse() does (apart from check header format) is find matching buffers from incoming headers. GET and PUT headers contain matchbits and a portal number for this. And REPLY and ACK messages contain an abstract handle (lnet_handle_wire_t). This handle is included in the outgoing GET or PUT and copied into the REPLY or optional ACK that is sent in response, so that when they arrive, LNET can find the MD associated with the original LNetGet() or LNetPut(). Cheers, Eric --------------------------------------------------- |Eric Barton Barton Software | |9 York Gardens Tel: +44 (117) 330 1575 | |Clifton Mobile: +44 (7909) 680 356 | |Bristol BS8 4LL Fax: call first | |United Kingdom E-Mail: [EMAIL PROTECTED]| --------------------------------------------------- _______________________________________________ Lustre-devel mailing list Lustre-devel@clusterfs.com https://mail.clusterfs.com/mailman/listinfo/lustre-devel