From: Andy Adamson Date: Fri, 9 Sep 2016 13:22:20 +0000 (-0400) Subject: NFS refactor nfs4_check_serverowner_major_id X-Git-Url: http://git.cdn.openwrt.org/?a=commitdiff_plain;h=e7b7cbf662deb857539cd4b594451ea89c4d7ee6;p=openwrt%2Fstaging%2Fblogic.git NFS refactor nfs4_check_serverowner_major_id For session trunking, to compare nfs41_exchange_id_res with existing nfs_client Signed-off-by: Andy Adamson Signed-off-by: Anna Schumaker --- diff --git a/fs/nfs/nfs4client.c b/fs/nfs/nfs4client.c index b3a5d91a1351..0077b2eadfae 100644 --- a/fs/nfs/nfs4client.c +++ b/fs/nfs/nfs4client.c @@ -578,17 +578,15 @@ static bool nfs4_match_clientids(u64 a, u64 b) * Returns true if the server major ids match */ static bool -nfs4_check_clientid_trunking(struct nfs_client *a, struct nfs_client *b) +nfs4_check_serverowner_major_id(struct nfs41_server_owner *o1, + struct nfs41_server_owner *o2) { - struct nfs41_server_owner *o1 = a->cl_serverowner; - struct nfs41_server_owner *o2 = b->cl_serverowner; - if (o1->major_id_sz != o2->major_id_sz) goto out_major_mismatch; if (memcmp(o1->major_id, o2->major_id, o1->major_id_sz) != 0) goto out_major_mismatch; - dprintk("NFS: --> %s server owners match\n", __func__); + dprintk("NFS: --> %s server owner major IDs match\n", __func__); return true; out_major_mismatch: @@ -658,7 +656,8 @@ int nfs41_walk_client_list(struct nfs_client *new, * client id trunking. In either case, we want to fall back * to using the existing nfs_client. */ - if (!nfs4_check_clientid_trunking(pos, new)) + if (!nfs4_check_serverowner_major_id(pos->cl_serverowner, + new->cl_serverowner)) continue; /* Unlike NFSv4.0, we know that NFSv4.1 always uses the