freebsd-skq/sys/fs
rmacklem 58852bc6ae Fix NFSv4.1 client side handling of "soft,retrans=2" mounts.
Normally "soft,retrans=2" cannot be safely used on NFSv4 mounts, since
the RPC can fail and leave the open/lock state in an undefined state.
Doing I/O on a pNFS DS is an exception to this, since no open/lock state
is maintained on the DS server.
It is useful to do "soft,retrans=2" connections to a DS when it is mirrored,
so that the client can detect failure of the DS. As such, mounts from the MDS
to the DSs should use these mount options when mirroring is enabled.
However, the NFSv4.1 client still leaves the session in an undefined state
when this happens.
This patch fixes the problem by setting the session defunct, so it will
no longer be used.
The patch also sets "retries=2" on the connections done by the client to
a DS, which is the internal equivalent of "soft,retrans=2".
The client does not know if the server implements mirroring at connection
time, but always doing this should be safe, since it will fall back on doing
I/O via the MDS as a proxy when there is a failure doing an I/O RPC to the DS.

This patch should not affect non-pNFS client mounts.

MFC after:	2 weeks
2018-06-16 19:45:06 +00:00
..
autofs Add SPDX tags to autofs(5). 2018-01-24 16:40:26 +00:00
cd9660 Add isoboot(8) for booting BIOS systems from HDDs containing ISO images. 2018-04-05 19:40:46 +00:00
cuse Use NULL for SYSINIT's last arg, which is a pointer type 2018-05-18 17:58:09 +00:00
deadfs sys: further adoption of SPDX licensing ID tags. 2017-11-20 19:43:44 +00:00
devfs Make it easier for filesystems to count themselves as jail-enabled, 2018-05-04 20:54:27 +00:00
ext2fs Fix directory blocks checksumming. 2018-05-13 19:48:30 +00:00
fdescfs Eliminate the overhead of gratuitous repeated reinitialization of cap_rights 2018-05-09 18:47:24 +00:00
fifofs Rework pathconf handling for FIFOs. 2017-12-19 22:39:05 +00:00
fuse Eliminate the overhead of gratuitous repeated reinitialization of cap_rights 2018-05-09 18:47:24 +00:00
msdosfs Revert change made in base r171522 2018-05-16 23:30:03 +00:00
nandfs Revert r313780 (UFS_ prefix) 2018-03-17 12:59:55 +00:00
nfs Fix NFSv4.1 client side handling of "soft,retrans=2" mounts. 2018-06-16 19:45:06 +00:00
nfsclient Move four functions in nfscl.ko to nfscommon.ko. 2018-06-14 10:00:19 +00:00
nfsserver Merge the pNFS server code from projects/pnfs-planb-server into head. 2018-06-12 19:36:32 +00:00
nullfs Make it easier for filesystems to count themselves as jail-enabled, 2018-05-04 20:54:27 +00:00
procfs Make it easier for filesystems to count themselves as jail-enabled, 2018-05-04 20:54:27 +00:00
pseudofs Make it easier for filesystems to count themselves as jail-enabled, 2018-05-04 20:54:27 +00:00
smbfs Use long for the last argument to VOP_PATHCONF rather than a register_t. 2018-01-17 22:36:58 +00:00
tmpfs Make it easier for filesystems to count themselves as jail-enabled, 2018-05-04 20:54:27 +00:00
udf Rework pathconf handling for FIFOs. 2017-12-19 22:39:05 +00:00
unionfs sys: further adoption of SPDX licensing ID tags. 2017-11-20 19:43:44 +00:00