From 3d503a76e890d7711d5e906e025e092d0e244211 Mon Sep 17 00:00:00 2001 From: George Wilson Date: Tue, 31 Jul 2018 17:51:15 -0400 Subject: Fix OpenZFS 9337 mismerge This change reintroduces logic required by OpenZFS 9577. When OpenZFS 9337, zfs get all is slow due to uncached metadata, was merged in it ended up removing logic required by OpenZFS 9577, remove zfs_dbuf_evict_key, and inadvertently reintroduced the bug that 9577 was designed to fix. This change re-enables the "evicting" flag to dbuf_rele_and_unlock and dnode_rele_and_unlock and updates all callers to provide the correct parameter. Reviewed-by: Brian Behlendorf Signed-off-by: George Wilson Closes #7758 --- include/sys/dbuf.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'include/sys/dbuf.h') diff --git a/include/sys/dbuf.h b/include/sys/dbuf.h index 557d2af66..ab0950c83 100644 --- a/include/sys/dbuf.h +++ b/include/sys/dbuf.h @@ -313,7 +313,7 @@ boolean_t dbuf_try_add_ref(dmu_buf_t *db, objset_t *os, uint64_t obj, uint64_t dbuf_refcount(dmu_buf_impl_t *db); void dbuf_rele(dmu_buf_impl_t *db, void *tag); -void dbuf_rele_and_unlock(dmu_buf_impl_t *db, void *tag); +void dbuf_rele_and_unlock(dmu_buf_impl_t *db, void *tag, boolean_t evicting); dmu_buf_impl_t *dbuf_find(struct objset *os, uint64_t object, uint8_t level, uint64_t blkid); -- cgit v1.2.3