The spec says.
``After the layout stateid is established, the "seqid" is incremented by the
server in each subsequent LAYOUTGET and LAYOUTRETURN response, and in each
CB_LAYOUTRECALL request. When the client fully processes the response to a
LAYOUTGET or LAYOUTRETURN, or fully processes the arguments of a
CB_LAYOUTRECALL, it MUST use the seqid of the stateid of the reply from
LAYOUTGET and LAYOUTRETURN, or the stateid in the arguments of CB_LAYOUTRECALL,
the client MUST use the seqid on subsequent calls to LAYOUTGET or LAYOUTRETURN. ''
However, in reading this, I see that
> > Note
> > that in the first case, the "seqid" in the layout stateid of the
> > recall is one greater than what the client has recorded and in
> the
> > second case, the "seqid" is equal to what the client has
> recorded.
is wrong, because CB_LAYOUTRECALL increments the seqid.
Instead, it should be:
Note that in the first case, the "seqid" in the layout stateid of the
recall is *two* greater than what the client has recorded and in the
second case, the "seqid" is *one* greater than what the client has recorded.
|