Home
last modified time | relevance | path

Searched full:vnode (Results 1 – 25 of 776) sorted by relevance

12345678910>>...32

/freebsd/sys/kern/
H A Dvnode_if.src41 # -: not applicable. vnode does not yet (or no longer) exists.
55 IN struct vnode *vp;
67 IN struct vnode *dvp;
68 INOUT struct vnode **vpp;
79 IN struct vnode *dvp;
80 INOUT struct vnode **vpp;
91 IN struct vnode *dvp;
92 OUT struct vnode **vpp;
103 IN struct vnode *dvp;
115 IN struct vnode *dvp;
[all …]
H A Dvfs_subr.c85 #include <sys/vnode.h>
104 static void delmntque(struct vnode *vp);
108 static int vtryrecycle(struct vnode *vp, bool isvnlru);
109 static void v_init_counters(struct vnode *);
110 static void vn_seqc_init(struct vnode *);
111 static void vn_seqc_write_end_free(struct vnode *vp);
112 static void vgonel(struct vnode *);
113 static bool vhold_recycle_free(struct vnode *);
114 static void vdropl_recycle(struct vnode *vp);
115 static void vdrop_recycle(struct vnode *vp);
[all …]
/freebsd/sys/sys/
H A Dvnode.h48 * 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,
54 * Vnode types. VNON means no type.
116 * u - Only a reference to the vnode is needed to read.
117 * v - vnode lock
120 * on a vnode that is on a list is:
121 * 1) Lock the list and find the vnode.
122 * 2) Lock interlock so that the vnode does not go away.
125 * 5) Check for DOOMED if the vnode lock is not required.
131 struct vnode { struct
142 v_opvnode global() argument
149 v_mountvnode global() argument
162 __anond51f2bcf010avnode global() argument
172 v_cache_ddvnode global() argument
179 v_vnlockvnode global() argument
192 v_labelvnode global() argument
198 v_iflagvnode global() argument
199 v_vflagvnode global() argument
200 v_mflagvnode global() argument
216 v_seqc_usersvnode global() argument
[all...]
/freebsd/sys/security/mac_bsdextended/
H A Dugidfw_internal.h36 int ugidfw_check(struct ucred *cred, struct vnode *vp, struct vattr *vap,
38 int ugidfw_check_vp(struct ucred *cred, struct vnode *vp, int acc_mode);
43 int ugidfw_system_check_acct(struct ucred *cred, struct vnode *vp,
45 int ugidfw_system_check_auditctl(struct ucred *cred, struct vnode *vp,
47 int ugidfw_system_check_swapon(struct ucred *cred, struct vnode *vp,
51 * Vnode access control checks.
53 int ugidfw_vnode_check_access(struct ucred *cred, struct vnode *vp,
55 int ugidfw_vnode_check_chdir(struct ucred *cred, struct vnode *dvp,
57 int ugidfw_vnode_check_chroot(struct ucred *cred, struct vnode *dvp,
59 int ugidfw_check_create_vnode(struct ucred *cred, struct vnode *dvp,
[all …]
H A Dugidfw_vnode.c52 #include <sys/vnode.h>
62 ugidfw_vnode_check_access(struct ucred *cred, struct vnode *vp, in ugidfw_vnode_check_access()
70 ugidfw_vnode_check_chdir(struct ucred *cred, struct vnode *dvp, in ugidfw_vnode_check_chdir()
78 ugidfw_vnode_check_chroot(struct ucred *cred, struct vnode *dvp, in ugidfw_vnode_check_chroot()
86 ugidfw_check_create_vnode(struct ucred *cred, struct vnode *dvp, in ugidfw_check_create_vnode()
94 ugidfw_vnode_check_deleteacl(struct ucred *cred, struct vnode *vp, in ugidfw_vnode_check_deleteacl()
102 ugidfw_vnode_check_deleteextattr(struct ucred *cred, struct vnode *vp, in ugidfw_vnode_check_deleteextattr()
110 ugidfw_vnode_check_exec(struct ucred *cred, struct vnode *vp, in ugidfw_vnode_check_exec()
119 ugidfw_vnode_check_getacl(struct ucred *cred, struct vnode *vp, in ugidfw_vnode_check_getacl()
127 ugidfw_vnode_check_getextattr(struct ucred *cred, struct vnode *vp, in ugidfw_vnode_check_getextattr()
[all …]
/freebsd/sys/fs/unionfs/
H A Dunion.h56 struct vnode *um_lowervp; /* VREFed once */
57 struct vnode *um_uppervp; /* VREFed once */
58 struct vnode *um_rootvp; /* ROOT vnode */
83 /* A cache of vnode references */
85 struct vnode *un_lowervp; /* lower side vnode */
86 struct vnode *un_uppervp; /* upper side vnode */
87 struct vnode *un_dvp; /* parent unionfs vnode */
88 struct vnode *un_vnode; /* Back pointer */
92 /* dir vnode hash table */
103 * Changing these flags requires the vnode to be locked exclusive.
[all …]
H A Dunion_subr.c48 #include <sys/vnode.h>
69 MALLOC_DEFINE(M_UNIONFSNODE, "UNIONFS node", "UNIONFS vnode private part");
80 &unionfs_ndeferred, 0, "unionfs deferred vnode release");
132 unionfs_get_hashhead(struct vnode *dvp, struct vnode *lookup) in unionfs_get_hashhead()
142 * Attempt to lookup a cached unionfs vnode by upper/lower vp
145 static struct vnode *
146 unionfs_get_cached_vnode_locked(struct vnode *lookup, struct vnode *dvp) in unionfs_get_cached_vnode_locked()
150 struct vnode *vp; in unionfs_get_cached_vnode_locked()
177 * Get the cached vnode.
179 static struct vnode *
[all …]
H A Dunion_vnops.c50 #include <sys/vnode.h>
77 ("%s: non-unionfs vnode", __func__))
80 unionfs_lookup_isroot(struct componentname *cnp, struct vnode *dvp) in unionfs_lookup_isroot()
98 struct vnode *dvp, *udvp, *ldvp, *vp, *uvp, *lvp, *dtmpvp; in unionfs_lookup()
139 * end up dropping dvp's lock to look up a lower vnode or to create in unionfs_lookup()
145 * existing unionfs vnode to be loaded from the VFS cache. in unionfs_lookup()
148 * the vfs_hash_* functions to manage a per-mount vnode cache keyed in unionfs_lookup()
185 * reference for the unionfs parent vnode's lock and in unionfs_lookup()
332 * check vnode type in unionfs_lookup()
346 /* get unionfs vnode in order to create a new shadow dir. */ in unionfs_lookup()
[all …]
/freebsd/sys/security/mac/
H A Dmac_vfs.c59 #include <sys/vnode.h>
84 struct vnode *vp, struct label *intlabel);
137 mac_vnode_init(struct vnode *vp) in mac_vnode_init()
191 mac_vnode_destroy(struct vnode *vp) in mac_vnode_destroy()
213 MAC_POLICY_EXTERNALIZE(vnode, label, elements, outbuf, outbuflen); in mac_vnode_externalize_label()
223 MAC_POLICY_INTERNALIZE(vnode, label, string); in mac_vnode_internalize_label()
229 mac_devfs_update(struct mount *mp, struct devfs_dirent *de, struct vnode *vp) in mac_devfs_update()
238 struct vnode *vp) in mac_devfs_vnode_associate()
246 mac_vnode_associate_extattr(struct mount *mp, struct vnode *vp) in mac_vnode_associate_extattr()
259 mac_vnode_associate_singlelabel(struct mount *mp, struct vnode *vp) in mac_vnode_associate_singlelabel()
[all …]
H A Dmac_framework.h88 struct vnode;
155 struct vnode *vp);
157 struct vnode *vp);
235 int mac_kld_check_load(struct ucred *cred, struct vnode *vp);
391 void mac_execve_interpreter_enter(struct vnode *interpvp,
430 int mac_system_check_acct(struct ucred *cred, struct vnode *vp);
432 int mac_system_check_auditctl(struct ucred *cred, struct vnode *vp);
435 int mac_system_check_swapon(struct ucred *cred, struct vnode *vp);
436 int mac_system_check_swapoff(struct ucred *cred, struct vnode *vp);
492 void mac_vnode_assert_locked(struct vnode *vp, const char *func);
[all …]
/freebsd/sys/ufs/ffs/
H A Dffs_extern.h50 struct vnode;
57 int ffs_balloc_ufs1(struct vnode *a_vp, off_t a_startoffset, int a_size,
59 int ffs_balloc_ufs2(struct vnode *a_vp, off_t a_startoffset, int a_size,
61 void ffs_blkfree(struct ufsmount *, struct fs *, struct vnode *,
67 uint64_t ffs_blkrelease_start(struct ufsmount *, struct vnode *, ino_t);
69 int ffs_checkfreefile(struct fs *, struct vnode *, ino_t);
73 int ffs_copyonwrite(struct vnode *, struct buf *);
76 int ffs_freefile(struct ufsmount *, struct fs *, struct vnode *, ino_t,
79 int ffs_getcg(struct fs *, struct vnode *, uint64_t, int, struct buf **,
81 int ffs_inotovp(struct mount *, ino_t, uint64_t, int, struct vnode **,
[all …]
/freebsd/sys/fs/nullfs/
H A Dnull_vnops.c77 * on the bypass routine, through which nearly all vnode operations
80 * The bypass routine accepts arbitrary vnode operations for
81 * handling by the lower layer. It begins by examining vnode
85 * in the arguments and, if a vnode is return by the operation,
86 * stacks a null-node on top of the returned vnode.
92 * current vnode as well as pass the lock request down.
96 * Also, certain vnode operations change the locking state within
100 * function unlock them. Otherwise all intermediate vnode layers
105 * INSTANTIATING VNODE STACKS
108 * effect stacking two VFSes. Vnode stacks are instead
[all …]
H A Dnull_subr.c44 #include <sys/vnode.h>
54 * Each cache entry holds a reference to the lower vnode
55 * along with a pointer to the alias vnode. When an
56 * entry is added the lower vnode is VREF'd. When the
57 * alias is removed the lower vnode is vrele'd.
99 * Return a VREF'ed alias for lower vnode if already exists, else 0.
100 * Lower vnode should be locked on entry and will be left locked on exit.
102 static struct vnode *
103 null_hashget_locked(struct mount *mp, struct vnode *lowervp) in null_hashget_locked()
107 struct vnode *vp; in null_hashget_locked()
[all …]
/freebsd/share/man/man9/
H A Dvrele.937 .Nd decrement the use count for a vnode
42 .Fn vput "struct vnode *vp"
44 .Fn vrele "struct vnode *vp"
46 .Fn vunref "struct vnode *vp"
50 field of a vnode.
53 the vnode to decrement
58 function takes an unlocked vnode and returns with the vnode unlocked.
62 function should be given a locked vnode as argument, the vnode is unlocked
74 function takes a locked vnode as argument, and returns with the vnode locked.
76 Any code in the system which signified its use of a vnode by usecount
[all …]
H A Dvnode.931 .Nm vnode
37 The vnode is the focus of all file activity in
39 A vnode is described by
40 .Vt "struct vnode" .
42 unique vnode allocated for each active file, each current directory,
45 Each vnode has three reference counts,
51 using this vnode.
58 the recycling of this vnode.
68 of a vnode reaches zero then the vnode will be put on the freelist
80 Any call which returns a vnode (e.g.,\&
[all …]
H A Dinsmntque.933 .Nd "associate a vnode with a mount"
38 .Fn insmntque "struct vnode *vp" "struct mount *mp"
40 .Fn insmntque1 "struct vnode *vp" "struct mount *mp"
44 function associates a vnode with a mount.
47 for the vnode, and inserting the vnode into the mount's vnode list.
50 vnodes owned by it, is incremented for each vnode added to the
54 The mount's interlock is held while the vnode is inserted.
55 The vnode must be exclusively locked.
59 resets vnode's operations vector to the vector of
78 fields of the vnode are kept intact.
[all …]
H A DVOP_INOTIFY.911 .Nd vnode inotify interface
17 .Fa struct vnode *vp
18 .Fa struct vnode *dvp
25 .Fa struct vnode *vp
36 subsystem of a file system event on a vnode.
43 find a name for the vnode, but this is more expensive.
48 vnode.
52 operation does not assume any particular vnode lock state.
55 operation should be called with the vnode locked.
60 .Xr vnode 9
H A Dnamei.968 functions will increment the reference count for the vnode in question.
69 The reference count has to be decremented after use of the vnode, by
172 Lock vnode on return with
189 function return the parent (directory) vnode,
206 function to return the parent (directory) vnode in an unlocked state.
207 The parent vnode must be released separately by using
222 of the path supplied is a symbolic link (i.e., it will return a vnode
235 necessary a directory, and lookup returns the vnode for this file.
237 Lock vnode on return with
239 if permitted by the file system that owns the vnode.
[all …]
H A DVOP_CREATE.943 .Fn VOP_CREATE "struct vnode *dvp" "struct vnode **vpp" "struct componentname *cnp" "struct vattr *…
45 .Fn VOP_MKNOD "struct vnode *dvp" "struct vnode **vpp" "struct componentname *cnp" "struct vattr *v…
47 .Fn VOP_MKDIR "struct vnode *dvp" "struct vnode **vpp" "struct componentname *cnp" "struct vattr *v…
49 .Fn VOP_SYMLINK "struct vnode *dvp" "struct vnode **vpp" "struct componentname *cnp" "struct vattr …
57 The locked vnode of the directory.
59 The address of a variable where the resulting locked vnode should be stored.
77 If successful, the vnode for the new object is placed in
89 .Xr vnode 9 ,
H A Dvhold.932 .Nd "acquire/release a hold on a vnode"
37 .Fn vhold "struct vnode *vp"
39 .Fn vholdl "struct vnode *vp"
41 .Fn vdrop "struct vnode *vp"
43 .Fn vdropl "struct vnode *vp"
51 of the given vnode.
52 If the vnode has already been added to the free list and is still referenced,
61 of the vnode.
67 If the vnode is no longer referenced, it will be freed.
72 lock the vnode interlock while
[all …]
/freebsd/sys/security/mac_veriexec/
H A Dmac_veriexec.c52 #include <sys/vnode.h>
192 * @param fsrootvp vnode of the file system root
197 struct vnode *fsrootvp, struct thread *td) in mac_veriexec_vfs_mounted()
272 * @brief The vnode label is being initialized, set the value in the MAC
288 * @brief The vnode label is being destroyed, reset the value in the MAC
347 * @param vp vnode of the KLD that has been requested
348 * @param vlabel vnode label assigned to the vnode
353 mac_veriexec_kld_check_load(struct ucred *cred, struct vnode *vp, in mac_veriexec_kld_check_load()
367 /* Get vnode attributes */ in mac_veriexec_kld_check_load()
373 * Fetch the fingerprint status for the vnode in mac_veriexec_kld_check_load()
[all …]
/freebsd/sys/fs/fuse/
H A Dfuse_internal.h71 #include <sys/vnode.h>
86 vnode_mount(struct vnode *vp) in vnode_mount()
92 vnode_vtype(struct vnode *vp) in vnode_vtype()
98 vnode_isvroot(struct vnode *vp) in vnode_isvroot()
104 vnode_isreg(struct vnode *vp) in vnode_isreg()
110 vnode_isdir(struct vnode *vp) in vnode_isdir()
116 vnode_islnk(struct vnode *vp) in vnode_islnk()
142 fuse_isdeadfs(struct vnode *vp) in fuse_isdeadfs()
150 fuse_iosize(struct vnode *vp) in fuse_iosize()
202 fuse_internal_get_cached_vnode(struct mount*, ino_t, int, struct vnode**);
[all …]
/freebsd/sys/fs/tmpfs/
H A Dtmpfs.h46 #define OBJ_TMPFS OBJ_PAGERPRIV1 /* has tmpfs vnode allocated */
47 #define OBJ_TMPFS_VREF OBJ_PAGERPRIV2 /* vnode is referenced */
157 * (v) vnode lock in exclusive mode
158 * (vi) vnode lock in exclusive mode, or vnode lock in shared vnode and
180 * 'VLNK', 'VREG' and 'VSOCK' is allowed. The usage of vnode
222 * As there is a single vnode for each active file within the
224 * vnode per file. In order to do this, a bidirectional association
227 * Whenever a vnode is allocated, its v_data field is updated to
229 * tn_vnode field is modified to point to the new vnode representing
230 * it. Further attempts to allocate a vnode for this same node will
[all …]
/freebsd/sys/fs/ext2fs/
H A Dext2_extern.h49 struct vnode;
51 int ext2_add_entry(struct vnode *, struct ext2fs_direct_2 *);
57 int ext2_blkatoff(struct vnode *, off_t, char **, struct buf **);
62 int ext2_bmaparray(struct vnode *, daddr_t, daddr_t *, int *, int *);
63 int ext4_bmapext(struct vnode *, int32_t, int64_t *, int *, int *);
64 int ext2_bmap_seekdata(struct vnode *, off_t *);
68 int ext2_getlbns(struct vnode *, daddr_t, struct indir *, int *);
70 void ext2_itimes(struct vnode *vp);
73 int ext2_truncate(struct vnode *, off_t, int, struct ucred *, struct thread *);
74 int ext2_update(struct vnode *, int);
[all …]
/freebsd/sbin/mount_nullfs/
H A Dmount_nullfs.8166 on the bypass routine, through which nearly all vnode operations
169 The bypass routine accepts arbitrary vnode operations for
171 It begins by examining vnode
177 in the arguments and, if a vnode is returned by the operation,
178 stacks a null-node on top of the returned vnode.
199 .Sh INSTANTIATING VNODE STACKS
202 Vnode stacks are instead
205 The initial mount creates a single vnode stack for the
207 All other vnode stacks
208 are created as a result of vnode operations on
[all …]

12345678910>>...32