Message ID | 164400374422.1026143.17746475126462213720.stgit@morisot.1015granger.net (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | Permit COMMIT operations to return NFS4_OK | expand |
> 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? Frank > Signed-off-by: Chuck Lever <chuck.lever@oracle.com> > --- > 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")
> On Feb 4, 2022, at 4:02 PM, Frank Filz <ffilzlnx@mindspring.com> 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@oracle.com> >> --- >> 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
On Fri, Feb 04, 2022 at 02:42:24PM -0500, Chuck Lever 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. Applied, thanks. --b. > > Signed-off-by: Chuck Lever <chuck.lever@oracle.com> > --- > 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") >
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")
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. Signed-off-by: Chuck Lever <chuck.lever@oracle.com> --- nfs4.0/servertests/st_commit.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)