nfsnode.h (321029) | nfsnode.h (323142) |
---|---|
1/*- 2 * Copyright (c) 1989, 1993 3 * The Regents of the University of California. All rights reserved. 4 * 5 * This code is derived from software contributed to Berkeley by 6 * Rick Macklem at The University of Guelph. 7 * 8 * Redistribution and use in source and binary forms, with or without --- 15 unchanged lines hidden (view full) --- 24 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 25 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 26 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 27 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 28 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 29 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 30 * SUCH DAMAGE. 31 * | 1/*- 2 * Copyright (c) 1989, 1993 3 * The Regents of the University of California. All rights reserved. 4 * 5 * This code is derived from software contributed to Berkeley by 6 * Rick Macklem at The University of Guelph. 7 * 8 * Redistribution and use in source and binary forms, with or without --- 15 unchanged lines hidden (view full) --- 24 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 25 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 26 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 27 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 28 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 29 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 30 * SUCH DAMAGE. 31 * |
32 * $FreeBSD: stable/11/sys/fs/nfsclient/nfsnode.h 321029 2017-07-15 19:18:37Z rmacklem $ | 32 * $FreeBSD: stable/11/sys/fs/nfsclient/nfsnode.h 323142 2017-09-03 09:12:02Z kib $ |
33 */ 34 35#ifndef _NFSCLIENT_NFSNODE_H_ 36#define _NFSCLIENT_NFSNODE_H_ 37 38#include <sys/_task.h> 39 40/* --- 46 unchanged lines hidden (view full) --- 87 * type definitions), file handles of > 32 bytes should probably be split out 88 * into a separate MALLOC()'d data structure. (Reduce the size of nfsfh_t by 89 * changing the definition in nfsproto.h of NFS_SMALLFH.) 90 * NB: Hopefully the current order of the fields is such that everything will 91 * be well aligned and, therefore, tightly packed. 92 */ 93struct nfsnode { 94 struct mtx n_mtx; /* Protects all of these members */ | 33 */ 34 35#ifndef _NFSCLIENT_NFSNODE_H_ 36#define _NFSCLIENT_NFSNODE_H_ 37 38#include <sys/_task.h> 39 40/* --- 46 unchanged lines hidden (view full) --- 87 * type definitions), file handles of > 32 bytes should probably be split out 88 * into a separate MALLOC()'d data structure. (Reduce the size of nfsfh_t by 89 * changing the definition in nfsproto.h of NFS_SMALLFH.) 90 * NB: Hopefully the current order of the fields is such that everything will 91 * be well aligned and, therefore, tightly packed. 92 */ 93struct nfsnode { 94 struct mtx n_mtx; /* Protects all of these members */ |
95 struct lock n_excl; /* Exclusive helper for shared 96 vnode lock */ |
|
95 u_quad_t n_size; /* Current size of file */ 96 u_quad_t n_brev; /* Modify rev when cached */ 97 u_quad_t n_lrev; /* Modify rev for lease */ 98 struct nfsvattr n_vattr; /* Vnode attribute cache */ 99 time_t n_attrstamp; /* Attr. cache timestamp */ 100 struct nfs_accesscache n_accesscache[NFS_ACCESSCACHESIZE]; 101 struct timespec n_mtime; /* Prev modify time. */ 102 struct nfsfh *n_fhp; /* NFS File Handle */ --- 76 unchanged lines hidden (view full) --- 179int ncl_inactive(struct vop_inactive_args *); 180int ncl_reclaim(struct vop_reclaim_args *); 181 182/* other stuff */ 183int ncl_removeit(struct sillyrename *, struct vnode *); 184int ncl_nget(struct mount *, u_int8_t *, int, struct nfsnode **, int); 185nfsuint64 *ncl_getcookie(struct nfsnode *, off_t, int); 186void ncl_invaldir(struct vnode *); | 97 u_quad_t n_size; /* Current size of file */ 98 u_quad_t n_brev; /* Modify rev when cached */ 99 u_quad_t n_lrev; /* Modify rev for lease */ 100 struct nfsvattr n_vattr; /* Vnode attribute cache */ 101 time_t n_attrstamp; /* Attr. cache timestamp */ 102 struct nfs_accesscache n_accesscache[NFS_ACCESSCACHESIZE]; 103 struct timespec n_mtime; /* Prev modify time. */ 104 struct nfsfh *n_fhp; /* NFS File Handle */ --- 76 unchanged lines hidden (view full) --- 181int ncl_inactive(struct vop_inactive_args *); 182int ncl_reclaim(struct vop_reclaim_args *); 183 184/* other stuff */ 185int ncl_removeit(struct sillyrename *, struct vnode *); 186int ncl_nget(struct mount *, u_int8_t *, int, struct nfsnode **, int); 187nfsuint64 *ncl_getcookie(struct nfsnode *, off_t, int); 188void ncl_invaldir(struct vnode *); |
187int ncl_upgrade_vnlock(struct vnode *); 188void ncl_downgrade_vnlock(struct vnode *, int); | 189bool ncl_excl_start(struct vnode *); 190void ncl_excl_finish(struct vnode *, bool old_lock); |
189void ncl_dircookie_lock(struct nfsnode *); 190void ncl_dircookie_unlock(struct nfsnode *); 191 192#endif /* _KERNEL */ 193 194#endif /* _NFSCLIENT_NFSNODE_H_ */ | 191void ncl_dircookie_lock(struct nfsnode *); 192void ncl_dircookie_unlock(struct nfsnode *); 193 194#endif /* _KERNEL */ 195 196#endif /* _NFSCLIENT_NFSNODE_H_ */ |