Make vdropl() public; zfs needs it. There is also plenty of existing

file system code (mostly *_reclaim()) which look like this:

    VOP_LOCK(vp);
    /* examine vp */
    VOP_UNLOCK(vp);
    vdrop(vp);

This can now be rewritten to:

    VOP_LOCK(vp);
    /* examine vp */
    vdropl(vp); /* will unlock vp */

MFC after:	1 week
This commit is contained in:
des 2007-03-31 23:57:17 +00:00
parent b0b93a3c55
commit b0b258dcad
2 changed files with 2 additions and 2 deletions

View File

@ -95,7 +95,6 @@ static int flushbuflist(struct bufv *bufv, int flags, struct bufobj *bo,
static void syncer_shutdown(void *arg, int howto);
static int vtryrecycle(struct vnode *vp);
static void vbusy(struct vnode *vp);
static void vdropl(struct vnode *vp);
static void vinactive(struct vnode *, struct thread *);
static void v_incr_usecount(struct vnode *);
static void v_decr_usecount(struct vnode *);
@ -2214,7 +2213,7 @@ vdrop(struct vnode *vp)
* the vnode we will free it if it has been vgone'd otherwise it is
* placed on the free list.
*/
static void
void
vdropl(struct vnode *vp)
{

View File

@ -591,6 +591,7 @@ int vaccess_acl_posix1e(enum vtype type, uid_t file_uid,
void vattr_null(struct vattr *vap);
int vcount(struct vnode *vp);
void vdrop(struct vnode *);
void vdropl(struct vnode *);
void vfs_add_vnodeops(const void *);
void vfs_rm_vnodeops(const void *);
int vflush(struct mount *mp, int rootrefs, int flags, struct thread *td);