Changeset View
Changeset View
Standalone View
Standalone View
sys/kern/vfs_default.c
Show First 20 Lines • Show All 506 Lines • ▼ Show 20 Lines | struct vop_lock1_args /* { | ||||
int a_flags; | int a_flags; | ||||
char *file; | char *file; | ||||
int line; | int line; | ||||
} */ *ap; | } */ *ap; | ||||
{ | { | ||||
struct vnode *vp = ap->a_vp; | struct vnode *vp = ap->a_vp; | ||||
struct mtx *ilk; | struct mtx *ilk; | ||||
MPASS(vp->v_vnlock == &vp->v_lock); | |||||
ilk = VI_MTX(vp); | ilk = VI_MTX(vp); | ||||
return (lockmgr_lock_fast_path(vp->v_vnlock, ap->a_flags, | return (lockmgr_lock_fast_path(&vp->v_lock, ap->a_flags, | ||||
&ilk->lock_object, ap->a_file, ap->a_line)); | &ilk->lock_object, ap->a_file, ap->a_line)); | ||||
} | } | ||||
/* See above. */ | /* See above. */ | ||||
int | int | ||||
vop_stdunlock(ap) | vop_stdunlock(ap) | ||||
struct vop_unlock_args /* { | struct vop_unlock_args /* { | ||||
struct vnode *a_vp; | struct vnode *a_vp; | ||||
int a_flags; | int a_flags; | ||||
} */ *ap; | } */ *ap; | ||||
{ | { | ||||
struct vnode *vp = ap->a_vp; | struct vnode *vp = ap->a_vp; | ||||
struct mtx *ilk; | struct mtx *ilk; | ||||
MPASS(vp->v_vnlock == &vp->v_lock); | |||||
ilk = VI_MTX(vp); | ilk = VI_MTX(vp); | ||||
return (lockmgr_unlock_fast_path(vp->v_vnlock, ap->a_flags, | return (lockmgr_unlock_fast_path(&vp->v_lock, ap->a_flags, | ||||
&ilk->lock_object)); | &ilk->lock_object)); | ||||
} | } | ||||
/* See above. */ | /* See above. */ | ||||
int | int | ||||
vop_stdislocked(ap) | vop_stdislocked(ap) | ||||
struct vop_islocked_args /* { | |||||
struct vnode *a_vp; | |||||
} */ *ap; | |||||
{ | |||||
MPASS(ap->a_vp->v_vnlock == &ap->a_vp->v_lock); | |||||
return (lockstatus(&ap->a_vp->v_lock)); | |||||
} | |||||
/* | |||||
* Variants of the aboe which read the v_vnlock pointer. | |||||
kib: above | |||||
*/ | |||||
int | |||||
vop_stdlock_vnlock(ap) | |||||
struct vop_lock1_args /* { | |||||
struct vnode *a_vp; | |||||
int a_flags; | |||||
char *file; | |||||
int line; | |||||
} */ *ap; | |||||
{ | |||||
struct vnode *vp = ap->a_vp; | |||||
struct mtx *ilk; | |||||
ilk = VI_MTX(vp); | |||||
return (lockmgr_lock_fast_path(vp->v_vnlock, ap->a_flags, | |||||
&ilk->lock_object, ap->a_file, ap->a_line)); | |||||
} | |||||
/* See above. */ | |||||
int | |||||
vop_stdunlock_vnlock(ap) | |||||
struct vop_unlock_args /* { | |||||
struct vnode *a_vp; | |||||
int a_flags; | |||||
} */ *ap; | |||||
{ | |||||
struct vnode *vp = ap->a_vp; | |||||
struct mtx *ilk; | |||||
ilk = VI_MTX(vp); | |||||
return (lockmgr_unlock_fast_path(vp->v_vnlock, ap->a_flags, | |||||
&ilk->lock_object)); | |||||
} | |||||
/* See above. */ | |||||
int | |||||
vop_stdislocked_vnlock(ap) | |||||
struct vop_islocked_args /* { | struct vop_islocked_args /* { | ||||
struct vnode *a_vp; | struct vnode *a_vp; | ||||
} */ *ap; | } */ *ap; | ||||
{ | { | ||||
return (lockstatus(ap->a_vp->v_vnlock)); | return (lockstatus(ap->a_vp->v_vnlock)); | ||||
} | } | ||||
▲ Show 20 Lines • Show All 862 Lines • Show Last 20 Lines |
above