From: Tim Chase Date: Mon, 19 Sep 2016 16:28:35 +0000 (-0500) Subject: Fix arc_adjust_meta_balanced() X-Git-Tag: zfs-0.7.0-rc2~119 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=25e2ab16be74cb37934e6736a1dc10fd50a00c56;p=zfs Fix arc_adjust_meta_balanced() The type of "adjustmnt" was erroneously changed to unsigned when the compressed ARC code was ported in d3c2ae1c0806b183a315e3d43cc8018cfdca79b5. As a result of it being unsigned, the balanced metadata eviction logic would evict all of the non-metadata. Reviewed-by: Chris Severance Reviewed-by: Brian Behlendorf Reviewed by: David Quigley Signed-off-by: Tim Chase Closes #5128 Closes #5129 --- diff --git a/module/zfs/arc.c b/module/zfs/arc.c index 2bf7a9883..f848c4c09 100755 --- a/module/zfs/arc.c +++ b/module/zfs/arc.c @@ -3520,8 +3520,8 @@ arc_adjust_impl(arc_state_t *state, uint64_t spa, int64_t bytes, static uint64_t arc_adjust_meta_balanced(void) { - int64_t delta, prune = 0; - uint64_t adjustmnt, total_evicted = 0; + int64_t delta, prune = 0, adjustmnt; + uint64_t total_evicted = 0; arc_buf_contents_t type = ARC_BUFC_DATA; int restarts = MAX(zfs_arc_meta_adjust_restarts, 0);