Add two new compound RPCs to the NFSv4.1/pNFS client.
authorrmacklem <rmacklem@FreeBSD.org>
Sat, 24 Jun 2017 20:01:21 +0000 (20:01 +0000)
committerrmacklem <rmacklem@FreeBSD.org>
Sat, 24 Jun 2017 20:01:21 +0000 (20:01 +0000)
commitb1edbb17d1ea9bade6a9721ecdac1dd46cffd2ba
treeb1e63c987179c9f12ad32163ca71fe3d0bae0bff
parent9827e9aae9d476b52d05692fdad5ee47c1677806
Add two new compound RPCs to the NFSv4.1/pNFS client.

When the NFSv4.1 client is doing pNFS, it needs to get an Open and
a Layout for every file it will be doing I/O on. The current code
does two separate RPCs to get these. This patch adds two new compounds
that do the both the Open and LayoutGet in the same RPC, reducing the
RPC count.
It also factors out the code that sets up and parses the LayoutGet operation
into separate functions, so that the code doesn't get duplicated for
these new RPCs.
This patch is fairly large, but should only affect the NFSv4.1 client
when the "pnfs" option is specified.

PR: 219550
MFC after: 2 weeks
sys/fs/nfs/nfs_commonsubs.c
sys/fs/nfs/nfsport.h
sys/fs/nfs/nfsproto.h
sys/fs/nfsclient/nfs_clcomsubs.c
sys/fs/nfsclient/nfs_clrpcops.c