diff options
author | Andy Adamson <andros@netapp.com> | 2016-09-09 09:22:20 -0400 |
---|---|---|
committer | Anna Schumaker <Anna.Schumaker@Netapp.com> | 2016-09-19 13:08:36 -0400 |
commit | e7b7cbf662deb857539cd4b594451ea89c4d7ee6 (patch) | |
tree | 4a2110e1a1f33b372bb0db749056aafa05baa891 /fs/nfs | |
parent | 8e548edb4006c126e4aafba26a80c924e82fd2b4 (diff) |
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 <andros@netapp.com>
Signed-off-by: Anna Schumaker <Anna.Schumaker@Netapp.com>
Diffstat (limited to 'fs/nfs')
-rw-r--r-- | fs/nfs/nfs4client.c | 11 |
1 files changed, 5 insertions, 6 deletions
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) | |||
578 | * Returns true if the server major ids match | 578 | * Returns true if the server major ids match |
579 | */ | 579 | */ |
580 | static bool | 580 | static bool |
581 | nfs4_check_clientid_trunking(struct nfs_client *a, struct nfs_client *b) | 581 | nfs4_check_serverowner_major_id(struct nfs41_server_owner *o1, |
582 | struct nfs41_server_owner *o2) | ||
582 | { | 583 | { |
583 | struct nfs41_server_owner *o1 = a->cl_serverowner; | ||
584 | struct nfs41_server_owner *o2 = b->cl_serverowner; | ||
585 | |||
586 | if (o1->major_id_sz != o2->major_id_sz) | 584 | if (o1->major_id_sz != o2->major_id_sz) |
587 | goto out_major_mismatch; | 585 | goto out_major_mismatch; |
588 | if (memcmp(o1->major_id, o2->major_id, o1->major_id_sz) != 0) | 586 | if (memcmp(o1->major_id, o2->major_id, o1->major_id_sz) != 0) |
589 | goto out_major_mismatch; | 587 | goto out_major_mismatch; |
590 | 588 | ||
591 | dprintk("NFS: --> %s server owners match\n", __func__); | 589 | dprintk("NFS: --> %s server owner major IDs match\n", __func__); |
592 | return true; | 590 | return true; |
593 | 591 | ||
594 | out_major_mismatch: | 592 | out_major_mismatch: |
@@ -658,7 +656,8 @@ int nfs41_walk_client_list(struct nfs_client *new, | |||
658 | * client id trunking. In either case, we want to fall back | 656 | * client id trunking. In either case, we want to fall back |
659 | * to using the existing nfs_client. | 657 | * to using the existing nfs_client. |
660 | */ | 658 | */ |
661 | if (!nfs4_check_clientid_trunking(pos, new)) | 659 | if (!nfs4_check_serverowner_major_id(pos->cl_serverowner, |
660 | new->cl_serverowner)) | ||
662 | continue; | 661 | continue; |
663 | 662 | ||
664 | /* Unlike NFSv4.0, we know that NFSv4.1 always uses the | 663 | /* Unlike NFSv4.0, we know that NFSv4.1 always uses the |