DragonFly bugs List (threaded) for 2007-10
[
Date Prev][
Date Next]
[
Thread Prev][
Thread Next]
[
Date Index][
Thread Index]
Re: umount/ls panic
:What about the following patch?
:
:It fixes the assertion failure for the various cases listed in this
:thread. When running ls from an unmounted /proc, cache_resolve()
:complains but I reckon this is expected:
:
:EXDEV case 1 0xcaba70c8
:EXDEV case 1 0xcaba70c8
:EXDEV case 1 0xcaba70c8
:ls: .: cross-device link
Yes, the patch looks pretty good. I'll test it a bit today and
check out the error case, then commit it.
-Matt
Matthew Dillon
<dillon@backplane.com>
: vp->v_ops = &dead_vnode_vops_p;
: vn_pollgone(vp);
: vp->v_tag = VT_NON;
:+
:+ /*
:+ * If the vnode was force-closed, it is still referenced and may be
:+ * vref()'ed again. vref() calls are allowed for active vnodes only so
:+ * do as if this vnode is active in the "dead vnode" fs. When its last
:+ * reference goes away, it will be inactivated and reclaimed again in
:+ * this dummy fs.
:+ */
:+ if (active && (flags & DOCLOSE)) {
:+ vp->v_flag &= ~(VINACTIVE|VRECLAIMED);
:+ }
: }
[
Date Prev][
Date Next]
[
Thread Prev][
Thread Next]
[
Date Index][
Thread Index]