Subject: [nfsv4] Question about v4 goals text

From: "Noveck, Dave" <[email-masked]>
Date: Tue, 11 Jul 2006 18:55:26 -0400

Section 1.2 of RFC 3530 list the goals of NFS Version 4, one of which
is. 
 
o  Designed for protocol extensions.
 
      The protocol is designed to accept standard extensions that do not
      compromise backward compatibility.
 
What is "backward compatibility" in this context?
 
The normal interpretation would be that v4.n client has to work with a
v4.n+1 server and that isn't the goal.  Typically if you implement a
v4.n+1 server, you will implement a v4.n sever but it isn't a
requirement.  It also isn't the case that a v4.n request is valid as a
v4.n+1 request if you change the minor version, since ops can be made
mandatory-to-not-implement.
 
So is there some valid meaning to this statement?  Or should the
statement be something else?
_______________________________________________
nfsv4 mailing list
[email-masked]
https://www1.ietf.org/mailman/listinfo/nfsv4

---

From: Trond Myklebust <[email-masked]>
Date: Tue, 11 Jul 2006 19:55:16 -0400

> mandatory-to-not-implement.

Oh yes it _is_ a requirement that you must implement a v4.n server: see
section 10.
    11. A client and server that support minor version X must support
        minor versions 0 (zero) through X-1 as well.

I've always interpreted the "backward compatibility" statement to be the
justification for why we don't allow minor versions of NFSv4 to change
existing operations or attributes (i.e. the justification for points 3
to 7 in section 10).

> So is there some valid meaning to this statement?  Or should
> the statement be something else?

Maybe, but AFAICS it is mainly advertising...