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

--- Comment #16 from Justin T. Gibbs <[email protected]> ---
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.
_______________________________________________
[email protected] mailing list
https://lists.freebsd.org/mailman/listinfo/freebsd-bugs
To unsubscribe, send any mail to "[email protected]"

Reply via email to