2012-02-01 19:26:39

by Sachin Prabhu

[permalink] [raw]
Subject: stateid sequence numbers

Is there any reason we need to treat the stateid as an opaque object in
NFSv4?

The RFC states the following
--
RFC 3530 - Page 23

stateid4

struct stateid4 {
uint32_t seqid;
opaque other[12];
};

This structure is used for the various state sharing mechanisms
between the client and server. For the client, this data structure
is read-only. The starting value of the seqid field is undefined.
The server is required to increment the seqid field monotonically at
each transition of the stateid. This is important since the client
will inspect the seqid in OPEN stateids to determine the order of
OPEN processing done by the server.
--

We have a user report a problem for which we believe we need to check
the version of the stateid by taking a look at the sequence id reported
for that state. Is there a good reason why this should be opaque?

Sachin Prabhu