kernel_samsung_a53x/fs/nfsd
J. Bruce Fields 3067c512b5 nfs: don't atempt blocking locks on nfs reexports
[ Upstream commit f657f8eef3ff870552c9fd2839e0061046f44618 ]

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>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2024-11-19 12:27:44 +01:00
..
acl.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
auth.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
auth.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
blocklayout.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
blocklayoutxdr.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
blocklayoutxdr.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
cache.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
current_stateid.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
export.c nfsd: report per-export stats 2024-11-19 12:27:31 +01:00
export.h nfsd: report per-export stats 2024-11-19 12:27:31 +01:00
fault_inject.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
filecache.c nfsd: Fix error return code in nfsd_file_cache_init() 2024-11-19 12:27:20 +01:00
filecache.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
flexfilelayout.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
flexfilelayoutxdr.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
flexfilelayoutxdr.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
idmap.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
Kconfig NFSv4.2: Remove ifdef CONFIG_NFSD from NFSv4.2 client SSC code. 2024-11-19 12:27:37 +01:00
lockd.c Keep read and write fds with each nlm_file 2024-11-19 12:27:44 +01:00
Makefile Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
netns.h NFSD: delay unmount source's export after inter-server copy completed. 2024-11-19 12:27:39 +01:00
nfs2acl.c NFSD: Update the NFSv2 ACL ACCESS result encoder to use struct xdr_stream 2024-11-19 12:27:35 +01:00
nfs3acl.c nfsd: fix NULL dereference in nfs3svc_encode_getaclres 2024-11-19 12:27:42 +01:00
nfs3proc.c NFSD: Reduce svc_rqst::rq_pages churn during READDIR operations 2024-11-19 12:27:34 +01:00
nfs3xdr.c NFSD: Clean up NFSDDBG_FACILITY macro 2024-11-19 12:27:36 +01:00
nfs4acl.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
nfs4callback.c nfsd: rpc_peeraddr2str needs rcu lock 2024-11-19 12:27:39 +01:00
nfs4idmap.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
nfs4layouts.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
nfs4proc.c nfsd: remove redundant assignment to pointer 'this' 2024-11-19 12:27:41 +01:00
nfs4recover.c nfsd: Log client tracking type log message as info instead of warning 2024-11-19 12:27:36 +01:00
nfs4state.c nfs: don't atempt blocking locks on nfs reexports 2024-11-19 12:27:44 +01:00
nfs4xdr.c NFSD: Extract the svcxdr_init_encode() helper 2024-11-19 12:27:33 +01:00
nfscache.c nfsd: protect concurrent access to nfsd stats counters 2024-11-19 12:27:31 +01:00
nfsctl.c nfsd: Fix fall-through warnings for Clang 2024-11-19 12:27:37 +01:00
nfsd.h NFSD: delay unmount source's export after inter-server copy completed. 2024-11-19 12:27:39 +01:00
nfsfh.c NFSD: Update the GETATTR3res encoder to use struct xdr_stream 2024-11-19 12:27:33 +01:00
nfsfh.h NFSD: Constify @fh argument of knfsd_fh_hash() 2024-11-19 12:27:38 +01:00
nfsproc.c NFSD: Remove unused NFSv2 directory entry encoders 2024-11-19 12:27:35 +01:00
nfssvc.c NFSD: delay unmount source's export after inter-server copy completed. 2024-11-19 12:27:39 +01:00
nfsxdr.c NFSD: Clean up NFSDDBG_FACILITY macro 2024-11-19 12:27:36 +01:00
pnfs.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
state.h nfsd: track filehandle aliasing in nfs4_files 2024-11-19 12:27:37 +01:00
stats.c nfsd: protect concurrent access to nfsd stats counters 2024-11-19 12:27:31 +01:00
stats.h nfsd: report per-export stats 2024-11-19 12:27:31 +01:00
trace.c NFSD: Add SPDX header for fs/nfsd/trace.c 2024-11-19 12:27:20 +01:00
trace.h NFSD: Prevent a possible oops in the nfs_dirent() tracepoint 2024-11-19 12:27:41 +01:00
vfs.c NFSD: remove vanity comments 2024-11-19 12:27:44 +01:00
vfs.h NFSD: Update the NFSv3 ACCESS3res encoder to use struct xdr_stream 2024-11-19 12:27:33 +01:00
xdr.h NFSD: Clean up after updating NFSv2 ACL encoders 2024-11-19 12:27:35 +01:00
xdr3.h NFSD: Clean up after updating NFSv3 ACL encoders 2024-11-19 12:27:35 +01:00
xdr4.h NFSD add vfs_fsync after async copy is done 2024-11-19 12:27:39 +01:00
xdr4cb.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00