https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=202607
--- Comment #4 from Justin T. Gibbs <[email protected]> --- (In reply to Xin LI from comment #2) I spent some more time this evening reviewing the code. I believe that removing the assert is safe. However, it would be good to assert that the only dbufs on the dnode are either for the bonus buffer or in the evicting state. This should hold true because the dnode free paths at higher levels (e.g. ZPL and ZVOL) enforce mutual exclusion between reads/writes and frees. Currently, dbuf_rele_and_unlock() doesn't contain any logic to ensure regular (not bonus buffer) dbufs are immediately evicted for free'd dnodes. So if, due to a bug or regression, a dbuf for a dnode being freed is held during the call to dnode_sync_free() , the dbuf and dnode will stick around in memory until memory pressure evicts the dbuf. From the perspective of dnode_sync_free() and even memory usage, this is no big deal, but it probably indicates a bug. -- 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]"
