From: Eric Barton <eeb@sun.com>
To: lustre-devel@lists.lustre.org
Subject: [Lustre-devel] client-side reply handling
Date: Thu, 03 Dec 2009 15:00:39 +0000 [thread overview]
Message-ID: <027901ca7429$60703d10$2150b730$@com> (raw)
Edited from IRC...
> <maxim> eeb_: Liang: btw, shadow complained recently that it's not
> great that both 'real' and early replies are being stored in
> the same place. having in mind possible reordering of packets
> -just a side note - not sure if it's applicable to your
> discussion
>
> <eeb_> the idea was to minimize the # of attach operations since
> that was considered expensive
>
> <eeb_> also, we'd need another portal or additional matchbits for
> early replies if we register them separately
>
> <eeb_> also, the current way of doing it allows the server to send
> multiple early replies if it wants to
>
> <eeb_> I'm not so worried about early replies sharing the same ME/MD
> with the real reply provided....
>
> <eeb_> 1. The client detects a protocol error if the "early" reply
> overlaps the "real" reply part of the reply buffer or if
> the "real" reply overlaps the "early" part of the reply
> buffer
>
> <eeb_> 2. Interpretation of replies (both early and real) is safe
> against the network overwriting them - e.g. early replies
> are copied out of the buffer before being interpreted and
> the whole reply buffer is unlinked before the real reply
> is interpreted in-place
>
> <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
b) The request is re-sent and the same reply matchbits are used,
which is what I think happens currently for non-bulk reqs.
...so unlikely, but possible.
Cheers,
Eric
next reply other threads:[~2009-12-03 15:00 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-12-03 15:00 Eric Barton [this message]
2009-12-03 21:17 ` [Lustre-devel] client-side reply handling Andreas Dilger
2009-12-03 22:23 ` Robert Read
2009-12-04 3:14 ` Isaac Huang
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='027901ca7429$60703d10$2150b730$@com' \
--to=eeb@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.