vnode.h (236312) | vnode.h (236317) |
---|---|
1/*- 2 * Copyright (c) 1989, 1993 3 * The Regents of the University of California. All rights reserved. 4 * 5 * Redistribution and use in source and binary forms, with or without 6 * modification, are permitted provided that the following conditions 7 * are met: 8 * 1. Redistributions of source code must retain the above copyright --- 13 unchanged lines hidden (view full) --- 22 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 23 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 24 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 25 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 26 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 27 * SUCH DAMAGE. 28 * 29 * @(#)vnode.h 8.7 (Berkeley) 2/4/94 | 1/*- 2 * Copyright (c) 1989, 1993 3 * The Regents of the University of California. All rights reserved. 4 * 5 * Redistribution and use in source and binary forms, with or without 6 * modification, are permitted provided that the following conditions 7 * are met: 8 * 1. Redistributions of source code must retain the above copyright --- 13 unchanged lines hidden (view full) --- 22 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 23 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 24 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 25 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 26 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 27 * SUCH DAMAGE. 28 * 29 * @(#)vnode.h 8.7 (Berkeley) 2/4/94 |
30 * $FreeBSD: head/sys/sys/vnode.h 236312 2012-05-30 13:58:01Z kib $ | 30 * $FreeBSD: head/sys/sys/vnode.h 236317 2012-05-30 16:06:38Z kib $ |
31 */ 32 33#ifndef _SYS_VNODE_H_ 34#define _SYS_VNODE_H_ 35 36#include <sys/bufobj.h> 37#include <sys/queue.h> 38#include <sys/lock.h> 39#include <sys/lockmgr.h> 40#include <sys/mutex.h> | 31 */ 32 33#ifndef _SYS_VNODE_H_ 34#define _SYS_VNODE_H_ 35 36#include <sys/bufobj.h> 37#include <sys/queue.h> 38#include <sys/lock.h> 39#include <sys/lockmgr.h> 40#include <sys/mutex.h> |
41#include <sys/rangelock.h> |
|
41#include <sys/selinfo.h> 42#include <sys/uio.h> 43#include <sys/acl.h> 44#include <sys/ktr.h> 45 46/* 47 * The vnode is the focus of all file activity in UNIX. There is a 48 * unique vnode allocated for each active file, each current directory, --- 111 unchanged lines hidden (view full) --- 160 struct bufobj v_bufobj; /* * Buffer cache object */ 161 162 /* 163 * Hooks for various subsystems and features. 164 */ 165 struct vpollinfo *v_pollinfo; /* i Poll events, p for *v_pi */ 166 struct label *v_label; /* MAC label for vnode */ 167 struct lockf *v_lockf; /* Byte-level advisory lock list */ | 42#include <sys/selinfo.h> 43#include <sys/uio.h> 44#include <sys/acl.h> 45#include <sys/ktr.h> 46 47/* 48 * The vnode is the focus of all file activity in UNIX. There is a 49 * unique vnode allocated for each active file, each current directory, --- 111 unchanged lines hidden (view full) --- 161 struct bufobj v_bufobj; /* * Buffer cache object */ 162 163 /* 164 * Hooks for various subsystems and features. 165 */ 166 struct vpollinfo *v_pollinfo; /* i Poll events, p for *v_pi */ 167 struct label *v_label; /* MAC label for vnode */ 168 struct lockf *v_lockf; /* Byte-level advisory lock list */ |
169 struct rangelock v_rl; /* Byte-range lock */ |
|
168}; 169 170#endif /* defined(_KERNEL) || defined(_KVM_VNODE) */ 171 172#define v_mountedhere v_un.vu_mount 173#define v_socket v_un.vu_socket 174#define v_rdev v_un.vu_cdev 175#define v_fifoinfo v_un.vu_fifoinfo --- 498 unchanged lines hidden (view full) --- 674 const char *attrname, int *buflen, char *buf, struct thread *td); 675int vn_extattr_set(struct vnode *vp, int ioflg, int attrnamespace, 676 const char *attrname, int buflen, char *buf, struct thread *td); 677int vn_extattr_rm(struct vnode *vp, int ioflg, int attrnamespace, 678 const char *attrname, struct thread *td); 679int vn_vget_ino(struct vnode *vp, ino_t ino, int lkflags, 680 struct vnode **rvp); 681 | 170}; 171 172#endif /* defined(_KERNEL) || defined(_KVM_VNODE) */ 173 174#define v_mountedhere v_un.vu_mount 175#define v_socket v_un.vu_socket 176#define v_rdev v_un.vu_cdev 177#define v_fifoinfo v_un.vu_fifoinfo --- 498 unchanged lines hidden (view full) --- 676 const char *attrname, int *buflen, char *buf, struct thread *td); 677int vn_extattr_set(struct vnode *vp, int ioflg, int attrnamespace, 678 const char *attrname, int buflen, char *buf, struct thread *td); 679int vn_extattr_rm(struct vnode *vp, int ioflg, int attrnamespace, 680 const char *attrname, struct thread *td); 681int vn_vget_ino(struct vnode *vp, ino_t ino, int lkflags, 682 struct vnode **rvp); 683 |
684#define vn_rangelock_unlock(vp, cookie) \ 685 rangelock_unlock(&(vp)->v_rl, (cookie), VI_MTX(vp)) 686#define vn_rangelock_unlock_range(vp, cookie, start, end) \ 687 rangelock_unlock_range(&(vp)->v_rl, (cookie), (start), (end), \ 688 VI_MTX(vp)) 689#define vn_rangelock_rlock(vp, start, end) \ 690 rangelock_rlock(&(vp)->v_rl, (start), (end), VI_MTX(vp)) 691#define vn_rangelock_wlock(vp, start, end) \ 692 rangelock_wlock(&(vp)->v_rl, (start), (end), VI_MTX(vp)) |
|
682 683int vfs_cache_lookup(struct vop_lookup_args *ap); 684void vfs_timestamp(struct timespec *); 685void vfs_write_resume(struct mount *mp); 686int vfs_write_suspend(struct mount *mp); 687int vop_stdbmap(struct vop_bmap_args *); 688int vop_stdfsync(struct vop_fsync_args *); 689int vop_stdgetwritemount(struct vop_getwritemount_args *); --- 128 unchanged lines hidden --- | 693 694int vfs_cache_lookup(struct vop_lookup_args *ap); 695void vfs_timestamp(struct timespec *); 696void vfs_write_resume(struct mount *mp); 697int vfs_write_suspend(struct mount *mp); 698int vop_stdbmap(struct vop_bmap_args *); 699int vop_stdfsync(struct vop_fsync_args *); 700int vop_stdgetwritemount(struct vop_getwritemount_args *); --- 128 unchanged lines hidden --- |