On 5/7/25 11:34 AM, Jeff Layton wrote: > On Wed, 2025-05-07 at 10:45 -0400, cel@xxxxxxxxxx wrote: >> From: Chuck Lever <chuck.lever@xxxxxxxxxx> >> >> RFC 7862 states that if an NFS server implements a CLONE operation, >> it MUST also implement FATTR4_CLONE_BLKSIZE. NFSD implements CLONE, >> but does not implement FATTR4_CLONE_BLKSIZE. >> >> Note that in Section 12.2, RFC 7862 claims that >> FATTR4_CLONE_BLKSIZE is RECOMMENDED, not REQUIRED. Likely this is >> because a minor version is not permitted to add a REQUIRED >> attribute. Confusing. > > Isn't CLONE itself an optional operation? It wouldn't make sense to > REQUIRE this attribute on servers that don't support CLONE, so I think > it makes sense that it should be optional. Anyway, I'm just being > pedantic. My take: It's problematic that one part of the specification states that FATTR4_CLONE_BLKSIZE is mandatory-to-implement (with a MUST), and another categorizes the attribute as RECOMMENDED. I understand the reasons why this might be necessary, but IMO implementers who do not read the whole document might see one or the other of these (because they are in widely separated sections) and then do the wrong thing. Section 12.2 needs to provide an explicit explanation to make it clear. -- Chuck Lever