Subject: Re: Upcoming draft-07 for NFSv4

From: David Robinson <[email-masked]>
Date: Mon, 10 Apr 2000 12:01:28 -0700 (PDT)

> BTW, Vern's comments on why GETFH was needed or not, reminds me that
> it is an absolute disaster if the client fails include an GETFH after
> an OPEN. The reason is that even without the GETFH, the state established by
> OPEN remains established each time the client does an operation causes
> all leases to be renewed, including the one for the file it has to no
> file handle for. At minimum, section 14.2.15.  "Operation 18: OPEN - Open a 
Regular File" should discuss this, but I'm wondering if a COMPOUND that
> has an OPEN without an corresponding GETFH should cause an implicit CLOSE
> to be done. This could actually be useful for COMPOUNDs like:
> 
> 	putrootfh, open "a" "b" "c" ; read 0 512 ;
> 

If we start imposing rules on what is and what is not a valid
COMPOUND op, we may be forcing the server to fully parse the
request before evaluating any of it, which might be a burden on
implementors.

Instead of requiring a GETFH, why not simply add a file handle
to the result of the OPEN?  This will add a very minimal overhead
to the server implementation as it already sets CFH and would
just need to encode it in the result. The only argument I see against
this approach is that it is redundant with an existing op, but
OPEN already combines LOOKUP, CREATE and ACCESS for other valid
reasons so I will assert that adding an implicit GETFH is desireable
for correctness.

	-David

---

From: Mike Eisler <[email-masked]>
Date: Mon, 10 Apr 2000 14:34:11 -0700 (PDT)

> to the result of the OPEN?  This will add a very minimal overhead

Having an op other than GETFH that returns an fh makes the server's COMPOUND
processing less streamlined. In any case,  at this juncture (last iesg call),
I think changing the wire formats is too much change for a spec that is in
last call.  If changing the semantic to an implicit CLOSE is too high a
burden, then I think adding some warning text to the OPEN Implemention
subsection is the right amount of change.

	-mre