linux/fs/nfsd
J. Bruce Fields f657f8eef3 nfs: don't atempt blocking locks on nfs reexports
NFS implements blocking locks by blocking inside its lock method.  In
the reexport case, this blocks the nfs server thread, which could lead
to deadlocks since an nfs server thread might be required to unlock the
conflicting lock.  It also causes a crash, since the nfs server thread
assumes it can free the lock when its lm_notify lock callback is called.

Ideal would be to make the nfs lock method return without blocking in
this case, but for now it works just not to attempt blocking locks.  The
difference is just that the original client will have to poll (as it
does in the v4.0 case) instead of getting a callback when the lock's
available.

Signed-off-by: J. Bruce Fields <bfields@redhat.com>
Acked-by: Anna Schumaker <Anna.Schumaker@Netapp.com>
Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
2021-08-26 15:32:10 -04:00
..
acl.h nfsd: eliminate an unnecessary acl size limit 2019-08-28 21:13:45 -04:00
auth.c
auth.h
blocklayout.c block: remove REQ_OP_SCSI_{IN,OUT} 2021-06-30 15:34:19 -06:00
blocklayoutxdr.c
blocklayoutxdr.h
cache.h nfsd4: make drc_slab global, not per-net 2020-06-01 17:44:45 -04:00
current_stateid.h
export.c idmapped-mounts-v5.12 2021-02-23 13:39:45 -08:00
export.h nfsd: report per-export stats 2021-01-25 09:36:28 -05:00
fault_inject.c nfsd: no need to check return value of debugfs_create functions 2019-07-03 16:57:17 +02:00
filecache.c nfsd: Don't keep looking up unhashed files in the nfsd file cache 2021-03-06 16:41:47 -05:00
filecache.h nfsd: convert file cache to use over/underflow safe refcount 2020-02-06 11:22:55 -05:00
flexfilelayout.c
flexfilelayoutxdr.c
flexfilelayoutxdr.h
idmap.h
Kconfig NFS client updates for Linux 5.13 2021-05-07 11:23:41 -07:00
lockd.c Keep read and write fds with each nlm_file 2021-08-23 18:05:31 -04:00
Makefile nfsd: remove fault injection code 2020-09-25 18:01:26 -04:00
netns.h NFSD: delay unmount source's export after inter-server copy completed. 2021-05-25 17:06:51 -04:00
nfs2acl.c NFSD: Update the NFSv2 ACL ACCESS result encoder to use struct xdr_stream 2021-03-22 10:19:01 -04:00
nfs3acl.c nfsd: fix NULL dereference in nfs3svc_encode_getaclres 2021-07-06 20:14:44 -04:00
nfs3proc.c NFSD: Reduce svc_rqst::rq_pages churn during READDIR operations 2021-03-22 10:18:56 -04:00
nfs3xdr.c NFSD: Clean up NFSDDBG_FACILITY macro 2021-03-22 10:19:02 -04:00
nfs4acl.c acl: handle idmapped mounts 2021-01-24 14:27:17 +01:00
nfs4callback.c nfsd: rpc_peeraddr2str needs rcu lock 2021-07-06 20:14:42 -04:00
nfs4idmap.c nfsd: Use seq_putc() in two functions 2020-07-13 17:28:46 -04:00
nfs4layouts.c treewide: Use fallthrough pseudo-keyword 2020-08-23 17:36:59 -05:00
nfs4proc.c nfsd: remove redundant assignment to pointer 'this' 2021-07-06 20:14:44 -04:00
nfs4recover.c nfsd: Log client tracking type log message as info instead of warning 2021-03-22 10:19:03 -04:00
nfs4state.c nfs: don't atempt blocking locks on nfs reexports 2021-08-26 15:32:10 -04:00
nfs4xdr.c treewide: remove editor modelines and cruft 2021-05-07 00:26:34 -07:00
nfscache.c nfsd: protect concurrent access to nfsd stats counters 2021-01-25 09:36:27 -05:00
nfsctl.c nfsd: Fix fall-through warnings for Clang 2021-04-20 16:55:07 -04:00
nfsd.h NFSD: delay unmount source's export after inter-server copy completed. 2021-05-25 17:06:51 -04:00
nfsfh.c NFSD: Update the GETATTR3res encoder to use struct xdr_stream 2021-03-22 10:18:51 -04:00
nfsfh.h NFSD: Constify @fh argument of knfsd_fh_hash() 2021-05-18 13:44:03 -04:00
nfsproc.c Merge branch 'work.inode-type-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs 2021-04-27 10:57:42 -07:00
nfssvc.c NFSD: delay unmount source's export after inter-server copy completed. 2021-05-25 17:06:51 -04:00
nfsxdr.c NFSD: Clean up NFSDDBG_FACILITY macro 2021-03-22 10:19:02 -04:00
pnfs.h
state.h nfsd: track filehandle aliasing in nfs4_files 2021-04-19 16:41:36 -04:00
stats.c nfsd: protect concurrent access to nfsd stats counters 2021-01-25 09:36:27 -05:00
stats.h nfsd: report per-export stats 2021-01-25 09:36:28 -05:00
trace.c NFSD: Add SPDX header for fs/nfsd/trace.c 2020-11-30 13:00:24 -05:00
trace.h NFSD: Use new __string_len C macros for nfsd_clid_class 2021-08-17 11:47:52 -04:00
vfs.c NFSD: remove vanity comments 2021-08-17 11:47:53 -04:00
vfs.h NFSD: Update the NFSv3 ACCESS3res encoder to use struct xdr_stream 2021-03-22 10:18:52 -04:00
xdr3.h NFSD: Clean up after updating NFSv3 ACL encoders 2021-03-22 10:19:02 -04:00
xdr4.h NFSD add vfs_fsync after async copy is done 2021-05-25 17:06:51 -04:00
xdr4cb.h NFSD CB_OFFLOAD xdr 2018-09-25 20:34:54 -04:00
xdr.h NFSD: Clean up after updating NFSv2 ACL encoders 2021-03-22 10:19:01 -04:00