Revert "Evict meta data from ghost lists + l2arc headers"
This reverts commit fadd0c4da1
which
introduced a regression in honoring the meta limit.
Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov>
Close #1660
This commit is contained in:
parent
bff32e0972
commit
c273d60d80
|
@ -2104,9 +2104,8 @@ arc_do_user_evicts(void)
|
|||
void
|
||||
arc_adjust_meta(int64_t adjustment, boolean_t may_prune)
|
||||
{
|
||||
int64_t delta, tmp = adjustment;
|
||||
int64_t delta;
|
||||
|
||||
/* Evict MRU+MFU meta data to ghost lists */
|
||||
if (adjustment > 0 && arc_mru->arcs_lsize[ARC_BUFC_METADATA] > 0) {
|
||||
delta = MIN(arc_mru->arcs_lsize[ARC_BUFC_METADATA], adjustment);
|
||||
arc_evict(arc_mru, 0, delta, FALSE, ARC_BUFC_METADATA);
|
||||
|
@ -2116,24 +2115,9 @@ arc_adjust_meta(int64_t adjustment, boolean_t may_prune)
|
|||
if (adjustment > 0 && arc_mfu->arcs_lsize[ARC_BUFC_METADATA] > 0) {
|
||||
delta = MIN(arc_mfu->arcs_lsize[ARC_BUFC_METADATA], adjustment);
|
||||
arc_evict(arc_mfu, 0, delta, FALSE, ARC_BUFC_METADATA);
|
||||
}
|
||||
|
||||
/* Evict ghost MRU+MFU meta data */
|
||||
adjustment = tmp;
|
||||
|
||||
if (adjustment > 0 && arc_mru_ghost->arcs_size > 0) {
|
||||
delta = MIN(arc_mru_ghost->arcs_size, adjustment);
|
||||
arc_evict_ghost(arc_mru_ghost, 0, delta, ARC_BUFC_METADATA);
|
||||
adjustment -= delta;
|
||||
}
|
||||
|
||||
if (adjustment > 0 && arc_mfu_ghost->arcs_size > 0) {
|
||||
delta = MIN(arc_mfu_ghost->arcs_size, adjustment);
|
||||
arc_evict_ghost(arc_mfu_ghost, 0, delta, ARC_BUFC_METADATA);
|
||||
adjustment -= delta;
|
||||
}
|
||||
|
||||
/* Request the VFS release some meta data */
|
||||
if (may_prune && (adjustment > 0) && (arc_meta_used > arc_meta_limit))
|
||||
arc_do_user_prune(zfs_arc_meta_prune);
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue