[Bug 202607] [panic] Poudriere umounting file systems causes 'solaris assert: avl_is_empty(&dn->dn_dbufs)' panic

bugzilla-noreply at freebsd.org bugzilla-noreply at freebsd.org
Tue Sep 22 22:57:38 UTC 2015


https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=202607

--- Comment #16 from Justin T. Gibbs <gibbs at FreeBSD.org> ---
The stack traces indicate that the dataset being destroyed was referenced
earlier, creating a separate copy of its in-core state (dsl_dataset_t). This
other copy is still being evicted at the time that the dataset is being
destroyed on disk, which is why there is still a reference on the dbuf for the
deadlist for the dataset. This harmless except that this dbuf will hang around
longer than necessary.

Immediate eviction in the same way as for bonus buffers could be added to
dbuf_rele_and_unlock(), but it cannot be exact without acquiring locks. Dnodes
cannot transition from free to allocated until after their last hold is
released, so it should be safe to perform a "best effort" check that the dnode
is still allocated without locks held, but I'm not sure it is worth it.

-- 
You are receiving this mail because:
You are the assignee for the bug.


More information about the freebsd-bugs mailing list