From: Isaac Huang <He.Huang@Sun.COM>
To: lustre-devel@lists.lustre.org
Subject: [Lustre-devel] client-side reply handling
Date: Thu, 03 Dec 2009 22:14:20 -0500 [thread overview]
Message-ID: <20091204031420.GC21620@sun.com> (raw)
In-Reply-To: <4EDD2ECF-5FC1-4410-9F70-09D07EF1C4FF@sun.com>
On Thu, Dec 03, 2009 at 02:23:25PM -0800, Robert Read wrote:
>
> 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.
I think in-place unpack without unlinking the MD is OK if
LNET_MD_MANAGE_REMOTE is not set for the MD - e.g. request buffers -
because MD offset is maintained locally. However, all reply buffers
seem to have LNET_MD_MANAGE_REMOTE enabled.
Isaac
next prev parent reply other threads:[~2009-12-04 3:14 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-12-03 15:00 [Lustre-devel] client-side reply handling Eric Barton
2009-12-03 21:17 ` Andreas Dilger
2009-12-03 22:23 ` Robert Read
2009-12-04 3:14 ` Isaac Huang [this message]
2009-12-04 3:30 ` Liang Zhen
2009-12-04 11:07 ` Eric Barton
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20091204031420.GC21620@sun.com \
--to=he.huang@sun.com \
--cc=lustre-devel@lists.lustre.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.