Issue123

Title need a discussion of special stateids
Priority required Status editing
Superseder Nosy List dnoveck, mre, spencer.shepler
Assigned To spencer.shepler Topics

Created on 2006-09-16.15:51:10 by mre, last changed 2007-02-01.16:52:38 by dnoveck.

Messages
msg483 (view) Author: dnoveck Date: 2007-02-01.16:52:38
Forgot to reassign this
msg468 (view) Author: dnoveck Date: 2006-12-21.00:45:07
In CVS repository.  Will be in draft-09.
msg368 (view) Author: dnoveck Date: 2006-09-18.16:04:00
I think #1 is the only viable choice.  Something like all zero's in the first
96 bits and a seq field of one.
msg367 (view) Author: mre Date: 2006-09-18.15:52:49
This is what the .txt version of the current i-d in CVS has:

   This next example performs an OPEN with the client provided stateid
   sid1 and as a result generates stateid sid2.  The next operation
   specifies the READ with the special all-zero stateid but the current
   stateid set by the previous operation is actually used when the
   operation is evaluated, allowing correct interaction with any
   existing, potentially conflicting, locks.

       PUTFH fh1                        - -> {fh1, 0}
       OPEN R,sid1,"compA"    {fh1, sid1} -> {fh2, sid2}
       READ 0,0,1024          {fh2, sid2} -> {fh2, sid2}
       CLOSE 0                {fh2, sid2} -> {fh2, sid3}

                                 Figure 73

My inference from the above
was that the special stateid of all zeroes was being used to
convey that that current stateid is being used. 

But I agree that we need more explicit text. (I assigned this
issue to you because you own the locking piece to the special stateids
are your bailiwick.)

There are 3 choices:

1. define a 3rd special stateid 
2. make the current stateid a required aspect of NFSv4.1, and
  make PUTSTATEID a new, but required operation. All operations that
  currently take a stateid as an argument are to ignore the argument and
  instead use the current stateid (which comes from either PUTSTATEID or the
  the stateid generating operation).
3. As #2, but replace all operations that take a stateid as an argument with
   operations that get the stateid from the current stateid.
msg365 (view) Author: dnoveck Date: 2006-09-18.13:43:13
I don't think it says that.  In fact I don't see where it describes what value
you use to indicate the current stateid at all.

Also, I think the all-zero's and all-ones stateids remain in v4.1, just as
they do in v4.0 (although maybe they shouldn't).  Actually an all-zero stateid
is less troublesome in v4.1 since yu know the clientid.
msg364 (view) Author: mre Date: 2006-09-16.15:51:10
The NFSv4.1 COMPOUND procedure mentions that the all-zeroes stateid is the
current stateid. In NFSv4.0 all-zeroes stateids meant something
else. We need to more clearly define all the special stateids in the
locking chapter, and make appropriate internal references.
History
Date User Action Args
2007-02-01 16:52:41dnovecksetassignedto: dnoveck -> spencer.shepler
messages: + msg483
2006-12-21 00:45:10dnovecksetmessages: + msg468
2006-12-14 14:47:25dnovecksetstatus: need-text -> editing
2006-12-12 08:33:22dnovecksetstatus: unread -> need-text
2006-09-18 16:04:04dnovecksetmessages: + msg368
2006-09-18 15:52:51mresetnosy: + spencer.shepler
messages: + msg367
2006-09-18 13:43:24dnovecksetmessages: + msg365
2006-09-16 15:51:12mrecreate