mirror of
https://git.proxmox.com/git/mirror_zfs.git
synced 2024-12-25 18:59:33 +03:00
Evicting too many bytes from MFU metadata
Without updating 'm' we evict from MFU metadata all that we wanted to evict from all metadata, including already evicted MRU metadata ('m' is the total amount of metadata we had at the beginning, and 'w' is the total amount of metadata we want to have). Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov> Reviewed-by: Alexander Motin <mav@FreeBSD.org> Signed-off-by: Theera K. <tkittich@hotmail.com> Closes #16521 Closes #16546
This commit is contained in:
parent
9c03b22f8f
commit
d40d40913d
@ -4325,7 +4325,7 @@ arc_evict(void)
|
||||
|
||||
/* Evict MFU metadata. */
|
||||
w = wt * (int64_t)(arc_meta >> 16) >> 16;
|
||||
e = MIN((int64_t)(asize - arc_c), (int64_t)(m - w));
|
||||
e = MIN((int64_t)(asize - arc_c), (int64_t)(m - bytes - w));
|
||||
bytes = arc_evict_impl(arc_mfu, ARC_BUFC_METADATA, e);
|
||||
total_evicted += bytes;
|
||||
mfum -= bytes;
|
||||
|
Loading…
Reference in New Issue
Block a user