[Lustre-devel] client-side reply handling

Robert Read rread at sun.com
Thu Dec 3 14:23:25 PST 2009


On Dec 3, 2009, at 13:17 , Andreas Dilger wrote:

> On 2009-12-03, at 08:00, Eric Barton wrote:
>> Edited from IRC...
>>> 
>>> <Liang> eeb_: do you mean, we can be 100% sure it's safe to unpack
>>>       in-place only when the buffer is unlinked? so it is better
>>>       to unregister reply buffer before calling into
>>>       after_reply()->unpack_reply()?
>> 
>> Yes, I think so.  While the reply buffer remains attached, it's
>> possible to overwrite it at any time.  This could happen if...
>> 
>> a) The server is buggy or malign
> 
> Let's hope we never have to worry about malicious server nodes...
> 
>> b) The request is re-sent and the same reply matchbits are used,
>>  which is what I think happens currently for non-bulk reqs.
> 
> In theory, the reply to the re-sent request should be identical due
> to reply reconstruction, so it shouldn't matter if it happens to
> overwrite the same buffer.

That's fine as long as the buffer is unlinked from the net before it gets swabbed, but hopefully that's the case already. 

robert




More information about the lustre-devel mailing list