Lines 568-581
static int
Link Here
|
568 |
null_remove(struct vop_remove_args *ap) |
568 |
null_remove(struct vop_remove_args *ap) |
569 |
{ |
569 |
{ |
570 |
int retval, vreleit; |
570 |
int retval, vreleit; |
571 |
struct vnode *lvp; |
571 |
struct vnode *lvp, *vp; |
572 |
|
572 |
|
573 |
if (vrefcnt(ap->a_vp) > 1) { |
573 |
vp = ap->a_vp; |
574 |
lvp = NULLVPTOLOWERVP(ap->a_vp); |
574 |
if (vrefcnt(vp) > 1) { |
|
|
575 |
lvp = NULLVPTOLOWERVP(vp); |
575 |
VREF(lvp); |
576 |
VREF(lvp); |
576 |
vreleit = 1; |
577 |
vreleit = 1; |
577 |
} else |
578 |
} else |
578 |
vreleit = 0; |
579 |
vreleit = 0; |
|
|
580 |
VTONULL(vp)->null_flags |= NULLV_DROP; |
579 |
retval = null_bypass(&ap->a_gen); |
581 |
retval = null_bypass(&ap->a_gen); |
580 |
if (vreleit != 0) |
582 |
if (vreleit != 0) |
581 |
vrele(lvp); |
583 |
vrele(lvp); |