nfsd: fix change_info in NFSv4 RENAME replies
authorJeff Layton <jlayton@kernel.org>
Sat, 9 Sep 2023 11:12:30 +0000 (07:12 -0400)
committerChuck Lever <chuck.lever@oracle.com>
Sat, 9 Sep 2023 17:24:52 +0000 (13:24 -0400)
nfsd sends the transposed directory change info in the RENAME reply. The
source directory is in save_fh and the target is in current_fh.

Reported-by: Zhi Li <yieli@redhat.com>
Reported-by: Benjamin Coddington <bcodding@redhat.com>
Closes: https://bugzilla.redhat.com/show_bug.cgi?id=2218844
Signed-off-by: Jeff Layton <jlayton@kernel.org>
Cc: <stable@vger.kernel.org>
Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
fs/nfsd/nfs4proc.c

index 5ca748309c262b1a82eb41981d7bc76e2520f65a..4199ede0583c7d903939e60cde9b3365a2e4bef1 100644 (file)
@@ -1058,8 +1058,8 @@ nfsd4_rename(struct svc_rqst *rqstp, struct nfsd4_compound_state *cstate,
                             rename->rn_tname, rename->rn_tnamelen);
        if (status)
                return status;
-       set_change_info(&rename->rn_sinfo, &cstate->current_fh);
-       set_change_info(&rename->rn_tinfo, &cstate->save_fh);
+       set_change_info(&rename->rn_sinfo, &cstate->save_fh);
+       set_change_info(&rename->rn_tinfo, &cstate->current_fh);
        return nfs_ok;
 }