2022-02-07 16:17:56

by Chuck Lever

[permalink] [raw]
Subject: [PATCH] Permit COMMIT operations to return NFS4_OK

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 <[email protected]>
---
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")




2022-02-09 07:08:40

by J. Bruce Fields

[permalink] [raw]
Subject: Re: [PATCH] Permit COMMIT operations to return NFS4_OK

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 <[email protected]>
> ---
> 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")
>