[pnfs] October Bakeathon and Vestigial Locking Infrastructure FromV4.0
Spencer Shepler
Spencer.Shepler at sun.com
Fri Sep 14 13:40:21 EDT 2007
On Sep 14, 2007, at 9:34 AM, William A. (Andy) Adamson wrote:
> Hi Mike
>
> This is a bit of a long email where I look at each 4.0 operation
> related to locking to see what draft 13 says about the operations
> seqid and clientid WRT to 4.1, and compare it to what draft 13 says
> at the bottom of section 8.8.
>
> The result: draft 13 is inconsistent to say the least!
>
> At the end of the day, I agree that the draft 13 intent is to
> ignore seqid and clientid for 4.1 for these operations, and to not
> ignore them for 4.0 .
>
> I believe this is what other implementations will bring to the
> bakeathon, and so after checking, I will apply your changes.....
>
> Hopefully, draft 14 will address this confusion.
I will see what I can get cleaned up.
Spencer
> Regards
>
> -->Andy
>
> On 9/13/07, Sager, Mike <Mike.Sager at netapp.com > wrote:
> Hi Andy,
>
> Section 18.10.4 of Draft 13 has this: "The client field of the lock
> owner, and all seqid values in the arguments MAY be any value and
> MUST be ignored by the server" which is different from that of
> Draft 10.
>
>
> Yes, but I believe this is supposed to be for 4.1 only, yet the
> draft does not say so.
> Also, the above section disagrees with 8.8.
>
> For the case described in 8.8 below, the patched code distinguishes
> between 4.0 and 4.1, so I think both cases are covered.
>
> Hmmm. Section 8.8 says that in 4.1, the sequenceid and clientid in
> the "existing operations related to locking (e.g. OPEN,
> OPEN_DOWNGRADE, LOCK, LOCKU, CLOSE) MUST be set to zero else the
> server returns NFS4ERR_INVAL. This directly contradicts section
> 18.10.4.
>
> The draft is very confusing on how 4.1 deals with 4.0 sequence
> numbers and client id's in these operations. Lets look:
>
> The description of OPEN section in 18.16.4 agrees with section 8.8,
> but the client ID description (below) does not mention this is for
> 4.1, not 4.0 while the seqid description does mention 4.1 only.
>
> The client ID associated with the owner is
> not derived from the client field of the owner parameter but is
> instead the client ID associated with the session on which the
> request is issued. If the client ID field of the owner parameter is
> not zero, the server MUST return an NFS4ERR_INVAL error.
>
> The seqid value is not used in NFSv4.1, but it MAY be any value and
> the server MUST ignore it.
>
> The description of OPEN_DOWNGRADE in section 18.18.4 disagrees with
> 8.8
>
> The seqid argument is not used in NFSv4.1, MAY be any value, and MUST
> be ignored by the server. The description of LOCK in section
> 18.10.4 disagrees with 8.8, but the section (below) does not
> stipulate that it is describing what 4.1 does, not 4.0
>
> The client field of the lock owner, and all seqid values in the
> arguments MAY be any value and MUST be ignored by the server. The
> client ID with which all owners and stateids are associated is the
> client ID associated with the session on which the request was
> issued. The client ID appearing in a LOCK4denied structure is the
> actual client associated with the conflicting lock, whether this is
> the client ID associated with the current session, or a different
> one.
> The description of CLOSE in section 18.2.4 disagrees with section
> 8.8, but the section (below) does not stipulate that it is
> describing what 4.1 does, not 4.0
>
> The argument seqid MAY have any value and the server MUST ignore
> seqid.the description of LOCKU in section 18.12.4 disagrees with
> section 8.8, but the section (below) does not stipulate that it is
> describing what 4.1 does, not 4.0
> The seqid parameter MAY be any value and the server MUST ignore it.
>
>
>
> Mike
> -----Original Message-----
> From: William A. (Andy) Adamson [mailto:andros at citi.umich.edu]
> Sent: Thursday, September 13, 2007 1:09 PM
> To: NFSv4
> Cc: pnfs at linux-nfs.org
> Subject: [pnfs] October Bakeathon and Vestigial Locking
> Infrastructure FromV4.0
>
> Just a note that draft-ietf-nfsv4-minorversion1-13.txt has not
> changed the draft-ietf-nfsv4-minorversion10.txt language concerning
> the requriement to zero sequence id's and client id's in existing
> operations related to locking (OPEN, LOCK, LOCKU, etc).
>
> Since the October Bakeathon uses draft-ietf-nfsv4-
> minorversion1-13.txt, we expect this behaviour. Maybe I missed
> something - but I thought that at the Austin bakeathon it was
> decided that the server could ignore vestigial locking sequence id
> and client ids....
>
> -->Andy
>
> >From draft-ietf-nfsv4-minorversion1-13.txt,
> 8.8. Vestigial Locking Infrastructure From V4.0
>
> .......................
>
> Also, there are a number of fields, present in existing operations
>
>
>
> Shepler, et al. Expires January 2, 2008 [Page
> 160]
> ^L
> Internet-Draft NFSv4 Minor Version 1 July
> 2007
>
>
> related to locking that have no use in minor version one. They
> were
> used in minor version zero to perform functions now provided in a
> different fashion.
>
> o Sequence ids used to sequence requests for a given state-
> owner and
> to provide retry protection, now provided via sessions.
>
> o Client IDs used to identify the client associated with a given
> request. Client identification is now available using the
> client
> ID associated with the current session, without needing an
> explicit client ID field.
>
> Such vestigial fields in existing operations should be set by the
> client to zero. When they are not, the server MUST return an
> NFS4ERR_INVAL error.
>
>
>
> _______________________________________________
> pNFS mailing list
> pNFS at linux-nfs.org
> http://linux-nfs.org/cgi-bin/mailman/listinfo/pnfs
More information about the pNFS
mailing list