NFSv4.1: fixup use EXCHGID4_FLAG_USE_PNFS_DS for DS server
authorOlga Kornievskaia <kolga@netapp.com>
Mon, 9 Oct 2023 14:59:01 +0000 (10:59 -0400)
committerAnna Schumaker <Anna.Schumaker@Netapp.com>
Wed, 18 Oct 2023 19:16:53 +0000 (15:16 -0400)
This patches fixes commit 51d674a5e488 "NFSv4.1: use
EXCHGID4_FLAG_USE_PNFS_DS for DS server", purpose of that
commit was to mark EXCHANGE_ID to the DS with the appropriate
flag.

However, connection to MDS can return both EXCHGID4_FLAG_USE_PNFS_DS
and EXCHGID4_FLAG_USE_PNFS_MDS set but previous patch would only
remember the USE_PNFS_DS and for the 2nd EXCHANGE_ID send that
to the MDS.

Instead, just mark the pnfs path exclusively.

Fixes: 51d674a5e488 ("NFSv4.1: use EXCHGID4_FLAG_USE_PNFS_DS for DS server")
Signed-off-by: Olga Kornievskaia <kolga@netapp.com>
Signed-off-by: Anna Schumaker <Anna.Schumaker@Netapp.com>
fs/nfs/nfs4proc.c

index 7016eaa..5ee283e 100644 (file)
@@ -8870,8 +8870,6 @@ static int _nfs4_proc_exchange_id(struct nfs_client *clp, const struct cred *cre
        /* Save the EXCHANGE_ID verifier session trunk tests */
        memcpy(clp->cl_confirm.data, argp->verifier.data,
               sizeof(clp->cl_confirm.data));
-       if (resp->flags & EXCHGID4_FLAG_USE_PNFS_DS)
-               set_bit(NFS_CS_DS, &clp->cl_flags);
 out:
        trace_nfs4_exchange_id(clp, status);
        rpc_put_task(task);