diff options
author | George Amanakis <[email protected]> | 2020-04-10 13:33:35 -0400 |
---|---|---|
committer | GitHub <[email protected]> | 2020-04-10 10:33:35 -0700 |
commit | 77f6826b83b7e27f0996f6d192202c36f65e41fd (patch) | |
tree | b9946c99348bf6742cc41739aeff1a2b952d9d2f /include/sys/arc.h | |
parent | 36a6e2335c45212f2609269bcee3004908ac6bcb (diff) |
Persistent L2ARC
This commit makes the L2ARC persistent across reboots. We implement
a light-weight persistent L2ARC metadata structure that allows L2ARC
contents to be recovered after a reboot. This significantly eases the
impact a reboot has on read performance on systems with large caches.
Reviewed-by: Matthew Ahrens <[email protected]>
Reviewed-by: George Wilson <[email protected]>
Reviewed-by: Ryan Moeller <[email protected]>
Reviewed-by: Brian Behlendorf <[email protected]>
Co-authored-by: Saso Kiselkov <[email protected]>
Co-authored-by: Jorgen Lundman <[email protected]>
Co-authored-by: George Amanakis <[email protected]>
Ported-by: Yuxuan Shui <[email protected]>
Signed-off-by: George Amanakis <[email protected]>
Closes #925
Closes #1823
Closes #2672
Closes #3744
Closes #9582
Diffstat (limited to 'include/sys/arc.h')
-rw-r--r-- | include/sys/arc.h | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/include/sys/arc.h b/include/sys/arc.h index 75c483918..f500e1d45 100644 --- a/include/sys/arc.h +++ b/include/sys/arc.h @@ -310,10 +310,14 @@ void arc_fini(void); void l2arc_add_vdev(spa_t *spa, vdev_t *vd); void l2arc_remove_vdev(vdev_t *vd); boolean_t l2arc_vdev_present(vdev_t *vd); +void l2arc_rebuild_vdev(vdev_t *vd, boolean_t reopen); +boolean_t l2arc_range_check_overlap(uint64_t bottom, uint64_t top, + uint64_t check); void l2arc_init(void); void l2arc_fini(void); void l2arc_start(void); void l2arc_stop(void); +void l2arc_spa_rebuild_start(spa_t *spa); #ifndef _KERNEL extern boolean_t arc_watch; |