On 8/27/19, Mateusz Guzik <[email protected]> wrote:
> Author: mjg
> Date: Tue Aug 27 20:30:56 2019
> New Revision: 351555
> URL: https://svnweb.freebsd.org/changeset/base/351555
>
> Log:
>   vfs: stop passing LK_INTERLOCK to VOP_UNLOCK
>
>   The plan is to drop the flags argument. There is also a temporary bug
>   now that nullfs ignores the flag.
>
>   Reviewed by:        kib
>   Sponsored by:       The FreeBSD Foundation
>   Differential Revision:      https://reviews.freebsd.org/D21252
>

Ops. That's of course https://reviews.freebsd.org/D21426

> Modified:
>   head/sys/kern/vfs_subr.c
>
> Modified: head/sys/kern/vfs_subr.c
> ==============================================================================
> --- head/sys/kern/vfs_subr.c  Tue Aug 27 20:11:45 2019        (r351554)
> +++ head/sys/kern/vfs_subr.c  Tue Aug 27 20:30:56 2019        (r351555)
> @@ -1034,8 +1034,8 @@ vlrureclaim(struct mount *mp, bool reclaim_nc_src,
> int
>                   (vp->v_iflag & VI_FREE) != 0 ||
>                   (vp->v_object != NULL &&
>                   vp->v_object->resident_page_count > trigger)) {
> -                     VOP_UNLOCK(vp, LK_INTERLOCK);
> -                     vdrop(vp);
> +                     VOP_UNLOCK(vp, 0);
> +                     vdropl(vp);
>                       goto next_iter_mntunlocked;
>               }
>               KASSERT((vp->v_iflag & VI_DOOMED) == 0,
> @@ -1398,7 +1398,8 @@ vtryrecycle(struct vnode *vp)
>        */
>       VI_LOCK(vp);
>       if (vp->v_usecount) {
> -             VOP_UNLOCK(vp, LK_INTERLOCK);
> +             VOP_UNLOCK(vp, 0);
> +             VI_UNLOCK(vp);
>               vn_finished_write(vnmp);
>               CTR2(KTR_VFS,
>                   "%s: impossible to recycle, %p is already referenced",
> @@ -1409,7 +1410,8 @@ vtryrecycle(struct vnode *vp)
>               counter_u64_add(recycles_count, 1);
>               vgonel(vp);
>       }
> -     VOP_UNLOCK(vp, LK_INTERLOCK);
> +     VOP_UNLOCK(vp, 0);
> +     VI_UNLOCK(vp);
>       vn_finished_write(vnmp);
>       return (0);
>  }
> _______________________________________________
> [email protected] mailing list
> https://lists.freebsd.org/mailman/listinfo/svn-src-all
> To unsubscribe, send any mail to "[email protected]"
>


-- 
Mateusz Guzik <mjguzik gmail.com>
_______________________________________________
[email protected] mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "[email protected]"

Reply via email to