mirror of
https://github.com/opnsense/src.git
synced 2026-02-21 17:00:58 -05:00
forward cases by converting from unconditional acquisition of Giant around vnode operations to conditional acquisition: - Remove nfsrv_access_withgiant(), and cause nfsrv_access() to now assert that Giant will be held if it is required for the vnode. - Add nfsrv_fhtovp_locked(), which will drop the NFS server lock if required, and modify nfsrv_fhtovp() to conditionally acquire Giant if required. - In the VOP's not dealing with more than one vnode at a time (i.e., not involving a lookup), conditionally acquire Giant. This removes Giant use for MPSAFE file systems for a number of quite important RPCs, including getattr, read, write. It leaves unconditional Giant acquisitions in vnode operations that interact with the name space or more than one vnode at a time as these require further work. Tested by: kris Reviewed by: kib |
||
|---|---|---|
| .. | ||
| nfs.h | ||
| nfs_serv.c | ||
| nfs_srvcache.c | ||
| nfs_srvsock.c | ||
| nfs_srvsubs.c | ||
| nfs_syscalls.c | ||
| nfsm_subs.h | ||
| nfsrvcache.h | ||
| nfsrvstats.h | ||