]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/commit
Fix the pNFS client when mirrors aren't on the same machine.
authorRick Macklem <rmacklem@FreeBSD.org>
Sat, 14 Jul 2018 19:51:44 +0000 (19:51 +0000)
committerRick Macklem <rmacklem@FreeBSD.org>
Sat, 14 Jul 2018 19:51:44 +0000 (19:51 +0000)
commit89c64a3a4f18e74d9d23d2daba948f2f87f32ee8
tree56af36342fa33ed24a599388dca0e01c11903481
parent49d7124b18fdc8aec8063287e993b4bc4f350313
Fix the pNFS client when mirrors aren't on the same machine.

Without this patch, the client side NFSv4.1 pNFS code erroneously did writes
and commits to both DS mirrors using the TCP connection of the first one.
For my test setup this worked, since I have both DSs running on the same
machine, but it would have failed when the DSs are on separate machines.
This patch fixes the code to use the correct TCP connection for each DS.
This patch should only affect the NFSv4.1 client when using "pnfs" mounts
to mirrored DSs.

MFC after: 2 weeks
sys/fs/nfs/nfs_var.h
sys/fs/nfs/nfsclstate.h
sys/fs/nfsclient/nfs_clrpcops.c
sys/fs/nfsclient/nfs_clstate.c