mirror_zfs/include/sys
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
..
crypto
fm
fs Persistent L2ARC 2020-04-10 10:33:35 -07:00
lua Fix typos in include/ 2019-08-30 09:53:15 -07:00
sysevent Add TRIM support 2019-03-29 09:13:20 -07:00
abd.h Minor diff reduction with ZoF in include/sys 2019-11-27 11:11:03 -08:00
aggsum.h Reduce number of atomic_add() calls in aggsum 2020-02-06 13:21:06 -08:00
arc_impl.h Persistent L2ARC 2020-04-10 10:33:35 -07:00
arc.h Persistent L2ARC 2020-04-10 10:33:35 -07:00
avl_impl.h
avl.h Reduce loaded range tree memory usage 2019-10-09 10:36:03 -07:00
bitops.h Reduce loaded range tree memory usage 2019-10-09 10:36:03 -07:00
blkptr.h
bplist.h Fast Clone Deletion 2019-07-26 10:54:14 -07:00
bpobj.h Fast Clone Deletion 2019-07-26 10:54:14 -07:00
bptree.h
bqueue.h Implement Redacted Send/Receive 2019-06-19 09:48:12 -07:00
btree.h Function name and comment updates 2019-10-11 10:13:21 -07:00
dataset_kstats.h
dbuf.h Few microoptimizations to dbuf layer 2020-02-05 11:08:44 -08:00
ddt.h Remove dedupditto functionality 2019-06-19 14:54:02 -07:00
dmu_impl.h Prevent race condition in dnode_dest (#10101) 2020-03-12 10:25:56 -07:00
dmu_objset.h Fast Clone Deletion 2019-07-26 10:54:14 -07:00
dmu_recv.h Fix errata #4 handling for resuming streams 2020-01-14 12:25:20 -08:00
dmu_redact.h Implement Redacted Send/Receive 2019-06-19 09:48:12 -07:00
dmu_send.h Add 'zfs send --saved' flag 2020-01-10 10:16:58 -08:00
dmu_traverse.h Implement Redacted Send/Receive 2019-06-19 09:48:12 -07:00
dmu_tx.h
dmu_zfetch.h Replace zf_rwlock with a mutex 2019-07-25 11:57:58 -07:00
dmu.h Remove zfs_getattr and convoff dead code 2020-02-24 15:38:22 -08:00
dnode.h Prevent race condition in dnode_dest (#10101) 2020-03-12 10:25:56 -07:00
dsl_bookmark.h zcp: add zfs.sync.bookmark 2020-02-11 13:19:17 -08:00
dsl_crypt.h dmu_objset_from_ds must be called with dp_config_rwlock held 2020-03-12 10:55:02 -07:00
dsl_dataset.h Implement Redacted Send/Receive 2019-06-19 09:48:12 -07:00
dsl_deadlist.h Add fast path for zfs_ioc_space_snaps() handling of empty_bpobj 2019-08-20 11:34:52 -07:00
dsl_deleg.h Remove code for zfs remap 2019-06-24 16:44:01 -07:00
dsl_destroy.h Fast Clone Deletion 2019-07-26 10:54:14 -07:00
dsl_dir.h Add 'zfs wait' command 2020-04-01 10:02:06 -07:00
dsl_pool.h Eliminate Linux specific inode usage from common code 2019-12-11 11:53:57 -08:00
dsl_prop.h Support inheriting properties in channel programs 2020-01-22 17:03:17 -08:00
dsl_scan.h Remove limit on number of async zio_frees of non-dedup blocks 2020-02-14 08:39:46 -08:00
dsl_synctask.h OpenZFS 9425 - channel programs can be interrupted 2019-06-22 16:51:46 -07:00
dsl_userhold.h
edonr.h
efi_partition.h Fix typos in include/ 2019-08-30 09:53:15 -07:00
frame.h
hkdf.h
Makefile.am Compile cityhash code into libzfs 2020-03-27 09:11:22 -07:00
metaslab_impl.h Reduce loaded range tree memory usage 2019-10-09 10:36:03 -07:00
metaslab.h Reduce loaded range tree memory usage 2019-10-09 10:36:03 -07:00
mmp.h MMP interval and fail_intervals in uberblock 2019-03-21 12:47:57 -07:00
mntent.h Add FreeBSD required defines to mntent.h 2019-11-30 15:49:09 -08:00
mod.h Wrap Linux module macros 2019-11-01 10:41:03 -07:00
multilist.h Avoid extra taskq_dispatch() calls by DMU 2019-06-25 12:03:38 -07:00
note.h
nvpair_impl.h
nvpair.h
objlist.h Implement Redacted Send/Receive 2019-06-19 09:48:12 -07:00
pathname.h Disable unused pathname::pn_path* (unneeded in Linux) 2019-07-15 13:57:56 -07:00
qat.h QAT related bug fixes 2019-09-12 13:33:44 -07:00
range_tree.h Don't cast away const 2019-10-31 10:38:03 -07:00
refcount.h Prevent race in blkptr_verify against device removal 2019-08-13 21:24:43 -06:00
rrwlock.h OpenZFS restructuring - zfs_ioctl 2019-09-27 10:46:28 -07:00
sa_impl.h
sa.h Fix typos in include/ 2019-08-30 09:53:15 -07:00
skein.h
spa_boot.h
spa_checkpoint.h
spa_checksum.h
spa_impl.h Add separate field for indicating that spa is in middle of split 2020-04-09 09:59:31 -07:00
spa_log_spacemap.h Log Spacemap Project 2019-07-16 10:11:49 -07:00
spa.h Persistent L2ARC 2020-04-10 10:33:35 -07:00
space_map.h Log Spacemap Project 2019-07-16 10:11:49 -07:00
space_reftree.h Reduce loaded range tree memory usage 2019-10-09 10:36:03 -07:00
sysevent.h
txg_impl.h Fix typos in include/ 2019-08-30 09:53:15 -07:00
txg.h OpenZFS 9425 - channel programs can be interrupted 2019-06-22 16:51:46 -07:00
u8_textprep_data.h
u8_textprep.h
uberblock_impl.h MMP interval and fail_intervals in uberblock 2019-03-21 12:47:57 -07:00
uberblock.h
uio_impl.h
unique.h
uuid.h
vdev_disk.h
vdev_file.h Add zfs_file_* interface, remove vnodes 2019-11-21 09:32:57 -08:00
vdev_impl.h Linux 5.6 compat: time_t 2020-02-27 09:31:02 -08:00
vdev_indirect_births.h
vdev_indirect_mapping.h
vdev_initialize.h Add TRIM support 2019-03-29 09:13:20 -07:00
vdev_raidz_impl.h Add AltiVec RAID-Z 2020-01-23 11:01:24 -08:00
vdev_raidz.h Linux 5.0 compat: SIMD compatibility 2019-07-12 09:31:20 -07:00
vdev_removal.h panic in removal_remap test on 4K devices 2019-06-13 13:12:39 -07:00
vdev_trim.h Add TRIM support 2019-03-29 09:13:20 -07:00
vdev.h Prevent unnecessary resilver restarts 2019-11-27 10:15:01 -08:00
xvattr.h
zap_impl.h
zap_leaf.h
zap.h fat zap should prefetch when iterating 2019-06-12 13:13:09 -07:00
zcp_global.h
zcp_iter.h
zcp_prop.h
zcp_set.h Support setting user properties in a channel program 2020-02-14 13:41:42 -08:00
zcp.h async zvol minor node creation interferes with receive 2020-02-03 09:33:14 -08:00
zfeature.h
zfs_acl.h Return an error code from zfs_acl_chmod_setattr 2019-11-01 10:19:11 -07:00
zfs_context.h Finish refactoring for ZFS_MODULE_PARAM_CALL 2020-04-07 10:06:22 -07:00
zfs_debug.h Remove sdt.h 2019-10-25 13:38:37 -07:00
zfs_delay.h
zfs_file.h Re-share zfsdev_getminor and zfs_onexit_fd_hold 2020-02-28 14:50:32 -08:00
zfs_fuid.h Relocate common quota functions to shared code 2019-12-11 12:12:08 -08:00
zfs_ioctl_impl.h Abstract away platform specific superblock references 2019-12-10 09:21:07 -08:00
zfs_ioctl.h Resolve ZoF differences in zfs_ioctl.h 2019-11-30 15:35:54 -08:00
zfs_onexit.h
zfs_project.h Minor diff reduction with ZoF in include/sys 2019-11-27 11:11:03 -08:00
zfs_quota.h Relocate common quota functions to shared code 2019-12-11 12:12:08 -08:00
zfs_ratelimit.h
zfs_rlock.h Prefix struct rangelock 2019-11-01 10:37:33 -07:00
zfs_sa.h
zfs_stat.h
zfs_sysfs.h
zfs_znode.h Move platform specific parts of zfs_znode.h to platform code 2019-11-06 10:54:25 -08:00
zil_impl.h make zil max block size tunable 2019-06-10 11:48:42 -07:00
zil.h Add zfs_file_* interface, remove vnodes 2019-11-21 09:32:57 -08:00
zio_checksum.h
zio_compress.h lz4_decompress_abd declared but not defined 2019-06-13 13:14:34 -07:00
zio_crypt.h Add FreeBSD support to zio_crypto.h 2019-11-30 15:38:16 -08:00
zio_impl.h Fix typos in include/ 2019-08-30 09:53:15 -07:00
zio_priority.h Add TRIM support 2019-03-29 09:13:20 -07:00
zio.h Fix zdb -R with 'b' flag 2020-02-10 14:00:05 -08:00
zrlock.h
zthr.h Fast Clone Deletion 2019-07-26 10:54:14 -07:00
zvol_impl.h Prefix struct rangelock 2019-11-01 10:37:33 -07:00
zvol.h async zvol minor node creation interferes with receive 2020-02-03 09:33:14 -08:00