opnsense-src/sys
Rick Macklem a7e014eee5 nfsd: Fix the NFSv4 pNFS MDS server for DS NFSERR_NOSPC
If a pNFS server's DS runs out of disk space, it replies
NFSERR_NOSPC to the client doing writing.  For the Linux
client, it then sends a LayoutError RPC to the server to
tell it about the error and keeps retrying, doing repeated
LayoutGet and Write RPCs to the DS.  The Linux client is
"stuck" until disk space on the DS is free'd up.
For a mirrored server configuration, the first mirror that
ran out of space was taken offline.  This does not make
much sense, since the other mirror(s) will run out of space
soon and the fix is a manual cleanup up disk space.

This patch changes the pNFS server to not disable a mirror
for the mirrored case when this occurs.

Further work is needed, since the Linux client expects the
MDS to reply NFSERR_NOSPC to LayoutGets once the DS is out
of space.  Without this further change, the above mentioned
looping occurs.

Found during a recent IEFT NFSv4 working group testing event.

MFC after:	2 weeks
2021-11-07 11:43:03 -08:00
..
amd64 linux: Add ptrace(2) support on arm64 2021-11-07 08:39:24 +00:00
arm sched: split sched_ap_entry() out of sched_throw() 2021-11-05 15:45:51 -05:00
arm64 linux: Add ptrace(2) support on arm64 2021-11-07 08:39:24 +00:00
bsm Add fspacectl(2), vn_deallocate(9) and VOP_DEALLOCATE(9). 2021-08-05 23:20:42 +08:00
cam cam_periph: wired is really a bool, update it to a bool. 2021-11-05 08:56:48 -06:00
cddl Allow ddb and dtrace use the DMAP region on arm64 2021-10-01 11:27:33 +01:00
compat linux: Add ptrace(2) support on arm64 2021-11-07 08:39:24 +00:00
conf add rk3328_codec and rk_i2s from gonzoua/socaudio 2021-11-06 19:47:10 +02:00
contrib Merge commit 'ce929fe84f9c453263af379f3b255ff8eca01d48' 2021-10-29 19:18:03 +02:00
crypto Revert "ossl: Add support for AES-CBC cipher" 2021-11-06 17:46:01 +01:00
ddb Create sys/reg.h for the common code previously in machine/reg.h 2021-08-30 12:50:53 +01:00
dev e1000: Fix a typo in a source code comment 2021-11-07 14:12:23 +01:00
dts ipq4018: add a device tree file for the ASUS rt-ac58u router 2021-10-18 19:18:46 +00:00
fs nfsd: Fix the NFSv4 pNFS MDS server for DS NFSERR_NOSPC 2021-11-07 11:43:03 -08:00
gdb
geom gjournal(8): Fix a typo in a source code comment 2021-11-03 17:14:00 +01:00
gnu
i386 sysbeep: Adjust interface to take a duration as a sbt 2021-11-03 16:03:51 -06:00
isa newbus: Move from bus_child_{pnpinfo,location}_src to bus_child_{pnpinfo,location} with sbuf 2021-06-22 20:52:06 -06:00
kern vfs: Add "ioflag" and "cred" arguments to VOP_ALLOCATE 2021-11-06 13:26:43 -07:00
kgssapi
libkern libkern: remove bcopy 2021-08-24 11:24:07 +00:00
mips sched: split sched_ap_entry() out of sched_throw() 2021-11-05 15:45:51 -05:00
modules pcf8574: driver for 8-pin quasi-bidirectional GPIO over I2C 2021-11-06 19:23:27 +02:00
net lagg: update capabilites on SIOCSIFMTU 2021-11-06 10:43:08 +01:00
net80211 net80211: add a driver-private pointer to struct ieee80211_node 2021-10-31 19:08:28 +00:00
netgraph ng_pptpgre(4): Fix a typo in a source code comment 2021-11-03 17:15:59 +01:00
netinet Use layer five checksum flags in the mbuf packet header to pass on crypto state. 2021-11-04 18:52:06 +01:00
netinet6 blackhole(4): disable for locally originated TCP/UDP packets 2021-11-03 13:02:44 -07:00
netipsec ipsec: add a lock encompassing SPI allocation 2021-11-03 19:51:40 +00:00
netpfil pf: Introduce ridentifier 2021-11-05 09:39:56 +01:00
netsmb
nfs
nfsclient
nfsserver
nlm
ofed socket: De-duplicate SBLOCKWAIT() definitions 2021-09-14 09:01:32 -04:00
opencrypto Remove unused ocf_operation structure from stack. 2021-11-04 18:52:06 +01:00
powerpc sched: split sched_ap_entry() out of sched_throw() 2021-11-05 15:45:51 -05:00
riscv sched: split sched_ap_entry() out of sched_throw() 2021-11-05 15:45:51 -05:00
rpc rpc: Convert an SOLISTENING check to an assertion 2021-09-17 14:19:05 -04:00
security Add fspacectl(2), vn_deallocate(9) and VOP_DEALLOCATE(9). 2021-08-05 23:20:42 +08:00
sys param.h: Bump __FreeBSD_version for commit f0c9847a6c 2021-11-06 13:34:56 -07:00
teken
tests routing: add IPv6 fib validation procedure. 2021-08-16 23:04:01 +00:00
tools ipq4018: add TCSR definitions from Linux. 2021-10-18 19:18:01 +00:00
ufs ufs: remove write-only variables 2021-10-21 21:40:46 +03:00
vm Fix a common typo in syctl descriptions 2021-11-03 20:49:24 +01:00
x86 Prefer CPUID leaf 1Fh for Intel CPU topology detection. 2021-11-06 00:53:52 -04:00
xdr
xen xen: introduce xen_pv_disks_disabled() 2021-07-28 17:27:04 +02:00
Makefile