diff --git a/module/zfs/arc.c b/module/zfs/arc.c index 28a6c93c5..bd2aafc2c 100644 --- a/module/zfs/arc.c +++ b/module/zfs/arc.c @@ -5613,7 +5613,7 @@ arc_get_data_impl(arc_buf_hdr_t *hdr, uint64_t size, void *tag) * If we are growing the cache, and we are adding anonymous * data, and we have outgrown arc_p, update arc_p */ - if (aggsum_compare(&arc_size, arc_c) < 0 && + if (aggsum_upper_bound(&arc_size) < arc_c && hdr->b_l1hdr.b_state == arc_anon && (zfs_refcount_count(&arc_anon->arcs_size) + zfs_refcount_count(&arc_mru->arcs_size) > arc_p))