arc_meta_limit should be updated when arc_max is changed.

When arc_max is increased, arc_meta_limit will not be updated to 3/4
of the new arc_c_max value.  This was done originally to preserve any
existing maximum value.  This turned out to be counter intuitive to
users and this fix changes that behavior.  If zfs_arc_meta_limit is
non-default, it will be picked up later in the ARC tuning function.

Signed-off-by: Gaurav Kumar <gaurav.kumar@nutanix.com>
Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov>
Closes #4893
This commit is contained in:
Gaurav Kumar 2016-07-27 14:27:31 -07:00 committed by Brian Behlendorf
parent f3c9cac143
commit cf2731e65b

View File

@ -5364,7 +5364,7 @@ arc_tuning_update(void)
arc_c_max = zfs_arc_max;
arc_c = arc_c_max;
arc_p = (arc_c >> 1);
arc_meta_limit = MIN(arc_meta_limit, (3 * arc_c_max) / 4);
arc_meta_limit = (3 * arc_c_max) / 4;
arc_dnode_limit = arc_meta_limit / 10;
}