George Amanakis 77f6826b83
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 <mahrens@delphix.com>
Reviewed-by: George Wilson <gwilson@delphix.com>
Reviewed-by: Ryan Moeller <ryan@iXsystems.com>
Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
Co-authored-by: Saso Kiselkov <skiselkov@gmail.com>
Co-authored-by: Jorgen Lundman <lundman@lundman.net>
Co-authored-by: George Amanakis <gamanakis@gmail.com>
Ported-by: Yuxuan Shui <yshuiv7@gmail.com>
Signed-off-by: George Amanakis <gamanakis@gmail.com>
Closes #925 
Closes #1823 
Closes #2672 
Closes #3744 
Closes #9582
2020-04-10 10:33:35 -07:00
..
2020-04-09 09:16:46 -07:00
2020-04-10 10:33:35 -07:00
2020-03-27 09:11:22 -07:00
2017-09-19 12:17:29 -07:00
2020-04-01 10:02:06 -07:00
2020-04-01 10:02:06 -07:00
2019-12-19 16:26:07 -08:00
2020-03-27 09:11:22 -07:00
2017-08-09 15:31:08 -07:00
2019-12-05 13:10:29 -08:00
2019-06-24 16:44:01 -07:00
2020-02-11 13:19:12 -08:00