diff options
author | rmacklem <rmacklem@FreeBSD.org> | 2010-12-25 21:56:25 +0000 |
---|---|---|
committer | rmacklem <rmacklem@FreeBSD.org> | 2010-12-25 21:56:25 +0000 |
commit | 6847bfd5821deedbb259c4e8efe6ae27e39c2659 (patch) | |
tree | 258688215a96daa778719687986303676b1d8f6a /sys/fs/nfs/nfs_var.h | |
parent | 971b02b7bcce9c49f919797dcad7b646c206b7b6 (diff) | |
download | FreeBSD-src-6847bfd5821deedbb259c4e8efe6ae27e39c2659.zip FreeBSD-src-6847bfd5821deedbb259c4e8efe6ae27e39c2659.tar.gz |
Modify the experimental NFS server so that it uses LK_SHARED
for RPC operations when it can. Since VFS_FHTOVP() currently
always gets an exclusively locked vnode and is usually called
at the beginning of each RPC, the RPCs for a given vnode will
still be serialized. As such, passing a lock type argument to
VFS_FHTOVP() would be preferable to doing the vn_lock() with
LK_DOWNGRADE after the VFS_FHTOVP() call.
Reviewed by: kib
MFC after: 2 weeks
Diffstat (limited to 'sys/fs/nfs/nfs_var.h')
-rw-r--r-- | sys/fs/nfs/nfs_var.h | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/sys/fs/nfs/nfs_var.h b/sys/fs/nfs/nfs_var.h index 244daf3..6113fb5 100644 --- a/sys/fs/nfs/nfs_var.h +++ b/sys/fs/nfs/nfs_var.h @@ -279,7 +279,7 @@ int nfscl_request(struct nfsrv_descript *, vnode_t, void nfsm_stateidtom(struct nfsrv_descript *, nfsv4stateid_t *, int); /* nfs_nfsdsubs.c */ -void nfsd_fhtovp(struct nfsrv_descript *, struct nfsrvfh *, +void nfsd_fhtovp(struct nfsrv_descript *, struct nfsrvfh *, int, vnode_t *, struct nfsexstuff *, mount_t *, int, NFSPROC_T *); int nfsd_excred(struct nfsrv_descript *, struct nfsexstuff *, struct ucred *); @@ -564,7 +564,7 @@ int nfsv4_sattr(struct nfsrv_descript *, struct nfsvattr *, nfsattrbit_t *, NFSACL_T *, NFSPROC_T *); int nfsvno_checkexp(mount_t, NFSSOCKADDR_T, struct nfsexstuff *, struct ucred **); -int nfsvno_fhtovp(mount_t, fhandle_t *, NFSSOCKADDR_T, +int nfsvno_fhtovp(mount_t, fhandle_t *, NFSSOCKADDR_T, int, vnode_t *, struct nfsexstuff *, struct ucred **); int nfsvno_pathconf(vnode_t, int, register_t *, struct ucred *, NFSPROC_T *); |