> On Feb 4, 2022, at 4:02 PM, Frank Filz <ffilzlnx@xxxxxxxxxxxxxx> wrote: > >> RFC 7530 permits COMMIT to return NFS4ERR_INVAL, but RFC 5661 and later do >> not. Allow INVAL as a legacy behavior, but test for OK also. > > Do we have a 4.1 test to verify 4.1 and later doesn't return INVAL? No v4.1-related test that I'm aware of. Note that RFC 1813 also restricts the use of NFS3ERR_INVAL with COMMIT. We therefore believe that RFC 7530 mistakenly permits the use of NFS4ERR_INVAL with COMMIT. Because the specs are not consistent in this area, we chose to allow either result in CMT4. > Frank > >> Signed-off-by: Chuck Lever <chuck.lever@xxxxxxxxxx> >> --- >> nfs4.0/servertests/st_commit.py | 2 +- >> 1 file changed, 1 insertion(+), 1 deletion(-) >> >> diff --git a/nfs4.0/servertests/st_commit.py b/nfs4.0/servertests/st_commit.py >> index 12a0dffa061f..4ef87e69c5d7 100644 >> --- a/nfs4.0/servertests/st_commit.py >> +++ b/nfs4.0/servertests/st_commit.py >> @@ -160,4 +160,4 @@ def testCommitOverflow(t, env): >> res = c.write_file(fh, _text, 0, stateid, how=UNSTABLE4) >> check(res, msg="WRITE with how=UNSTABLE4") >> res = c.commit_file(fh, 0xfffffffffffffff0, 64) >> - check(res, NFS4ERR_INVAL, "COMMIT with offset + count overflow") >> + check(res, [NFS4_OK, NFS4ERR_INVAL], "COMMIT with offset + count >> + overflow") > > -- Chuck Lever