aboutsummaryrefslogtreecommitdiffstats
path: root/module/zfs/arc.c
diff options
context:
space:
mode:
authorTim Chase <[email protected]>2016-09-19 11:28:35 -0500
committerBrian Behlendorf <[email protected]>2016-09-19 09:28:35 -0700
commit25e2ab16be74cb37934e6736a1dc10fd50a00c56 (patch)
tree7f0b1ae07d7e91bdfafb829a3a6c396a8593b2ba /module/zfs/arc.c
parenta34f7ab332a66c2857b212abb6082fcc0e762519 (diff)
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 <[email protected]> Reviewed-by: Brian Behlendorf <[email protected]> Reviewed by: David Quigley <[email protected]> Signed-off-by: Tim Chase <[email protected]> Closes #5128 Closes #5129
Diffstat (limited to 'module/zfs/arc.c')
-rwxr-xr-xmodule/zfs/arc.c4
1 files changed, 2 insertions, 2 deletions
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);