Date: Tue, 22 Sep 2015 22:57:37 +0000 From: bugzilla-noreply@freebsd.org To: freebsd-bugs@FreeBSD.org Subject: [Bug 202607] [panic] Poudriere umounting file systems causes 'solaris assert: avl_is_empty(&dn->dn_dbufs)' panic Message-ID: <bug-202607-8-QtgNRXWU57@https.bugs.freebsd.org/bugzilla/> In-Reply-To: <bug-202607-8@https.bugs.freebsd.org/bugzilla/> References: <bug-202607-8@https.bugs.freebsd.org/bugzilla/>
next in thread | previous in thread | raw e-mail | index | archive | help
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=202607 --- Comment #16 from Justin T. Gibbs <gibbs@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.
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?bug-202607-8-QtgNRXWU57>