diff options
author | mav <mav@FreeBSD.org> | 2015-10-03 11:13:01 +0000 |
---|---|---|
committer | mav <mav@FreeBSD.org> | 2015-10-03 11:13:01 +0000 |
commit | 988448ae6b2a27ceac669ea55227e5929cacd075 (patch) | |
tree | 5ccf81ae59ac9b5617ddd31e12febdce3448902a /sys/cddl/contrib/opensolaris/uts/common/fs/zfs/arc.c | |
parent | 0ac55d3fdeb51087e0310d5086c13d0b862a0ccd (diff) | |
download | FreeBSD-src-988448ae6b2a27ceac669ea55227e5929cacd075.zip FreeBSD-src-988448ae6b2a27ceac669ea55227e5929cacd075.tar.gz |
MFC r286764: 6033 arc_adjust() should search MFU lists for oldest buffer
when adjusting MFU size.
illumos/illumos-gate@31c46cf23cd1cf4d66390a983dc5072d7d299ba2
https://www.illumos.org/issues/6033
When we're looking for the list containing oldest buffer we never
actually look at the MFU lists even when we try to evict from MFU.
looks like a copy paste error, the fix is here:
Reviewed by: Saso Kiselkov <saso.kiselkov@nexenta.com>
Reviewed by: Xin Li <delphij@delphij.net>
Reviewed by: Prakash Surya <me@prakashsurya.com>
Approved by: Matthew Ahrens <mahrens@delphix.com>
Author: Alek Pinchuk <alek@nexenta.com>
Obtained from: illumos
Diffstat (limited to 'sys/cddl/contrib/opensolaris/uts/common/fs/zfs/arc.c')
-rw-r--r-- | sys/cddl/contrib/opensolaris/uts/common/fs/zfs/arc.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/arc.c b/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/arc.c index 17d48db..6fcf534 100644 --- a/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/arc.c +++ b/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/arc.c @@ -23,7 +23,7 @@ * Copyright (c) 2012, Joyent, Inc. All rights reserved. * Copyright (c) 2011, 2014 by Delphix. All rights reserved. * Copyright (c) 2014 by Saso Kiselkov. All rights reserved. - * Copyright 2014 Nexenta Systems, Inc. All rights reserved. + * Copyright 2015 Nexenta Systems, Inc. All rights reserved. */ /* @@ -3118,7 +3118,7 @@ arc_adjust(void) */ target = arc_size - arc_c; - if (arc_adjust_type(arc_mru) == ARC_BUFC_METADATA && + if (arc_adjust_type(arc_mfu) == ARC_BUFC_METADATA && arc_meta_used > arc_meta_min) { bytes = arc_adjust_impl(arc_mfu, 0, target, ARC_BUFC_METADATA); total_evicted += bytes; |