freebsd-skq/sys/fs/nfsclient
rmacklem bc671da98b Change the NFSv4.1 pNFS client so that it returns the DS error in layoutreturn.
When the NFSv4.1 pNFS client gets an error for a DS I/O operation using a
Flexible File layout, it returns the layout with an error.
This patch changes the code slightly, so that it returns the layout for all
errors except EACCES and lets the MDS decide what to do based on the error.
It also makes a couple of changes to nfscl_layoutrecall() to ensure that
the first layoutreturn(s) will have the error in the reply.
Plus, the patch adds a wakeup() so that the "nfscl" thread won't wait 1sec
before doing the LayoutReturn.
Tested against the pNFS service.
This patch should not affect non-pNFS use of the client.
The unused "dsp" argument will be used by a future patch that disables the
connection to the DS when possible.

MFC after:	2 weeks
2018-06-22 21:25:27 +00:00
..
nfs_clbio.c sys: further adoption of SPDX licensing ID tags. 2017-11-20 19:43:44 +00:00
nfs_clcomsubs.c Move four functions in nfscl.ko to nfscommon.ko. 2018-06-14 10:00:19 +00:00
nfs_clkdtrace.c sys/fs: further adoption of SPDX licensing ID tags. 2017-11-27 15:15:37 +00:00
nfs_clkrpc.c sys: further adoption of SPDX licensing ID tags. 2017-11-20 19:43:44 +00:00
nfs_clnfsiod.c sys: further adoption of SPDX licensing ID tags. 2017-11-20 19:43:44 +00:00
nfs_clnode.c style: Remove remaining deprecated MALLOC/FREE macros 2018-01-25 22:25:13 +00:00
nfs_clport.c Move four functions in nfscl.ko to nfscommon.ko. 2018-06-14 10:00:19 +00:00
nfs_clrpcops.c Change the NFSv4.1 pNFS client so that it returns the DS error in layoutreturn. 2018-06-22 21:25:27 +00:00
nfs_clstate.c Change the NFSv4.1 pNFS client so that it returns the DS error in layoutreturn. 2018-06-22 21:25:27 +00:00
nfs_clsubs.c style: Remove remaining deprecated MALLOC/FREE macros 2018-01-25 22:25:13 +00:00
nfs_clvfsops.c Merge the pNFS server code from projects/pnfs-planb-server into head. 2018-06-12 19:36:32 +00:00
nfs_clvnops.c style: Remove remaining deprecated MALLOC/FREE macros 2018-01-25 22:25:13 +00:00
nfs_kdtrace.h sys/fs: further adoption of SPDX licensing ID tags. 2017-11-27 15:15:37 +00:00
nfs.h sys: further adoption of SPDX licensing ID tags. 2017-11-20 19:43:44 +00:00
nfsmount.h Move four functions in nfscl.ko to nfscommon.ko. 2018-06-14 10:00:19 +00:00
nfsnode.h style: Remove remaining deprecated MALLOC/FREE macros 2018-01-25 22:25:13 +00:00
nlminfo.h sys/fs: further adoption of SPDX licensing ID tags. 2017-11-27 15:15:37 +00:00