zfs/module/zcommon
Sara Hartse 37f03da8ba Fast Clone Deletion
Deleting a clone requires finding blocks are clone-only, not shared
with the snapshot. This was done by traversing the entire block tree
which results in a large performance penalty for sparsely
written clones.

This is new method keeps track of clone blocks when they are
modified in a "Livelist" so that, when it’s time to delete,
the clone-specific blocks are already at hand.

We see performance improvements because now deletion work is
proportional to the number of clone-modified blocks, not the size
of the original dataset.

Reviewed-by: Sean Eric Fagan <sef@ixsystems.com>
Reviewed-by: Matt Ahrens <matt@delphix.com>
Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
Reviewed-by: Serapheim Dimitropoulos <serapheim@delphix.com>
Signed-off-by: Sara Hartse <sara.hartse@delphix.com>
Closes #8416
2019-07-26 10:54:14 -07:00
..
Makefile.in OpenZFS 7431 - ZFS Channel Programs 2018-02-08 15:28:18 -08:00
zfeature_common.c Fast Clone Deletion 2019-07-26 10:54:14 -07:00
zfs_comutil.c OpenZFS 9337 - zfs get all is slow due to uncached metadata 2018-07-12 10:49:27 -07:00
zfs_deleg.c Remove code for zfs remap 2019-06-24 16:44:01 -07:00
zfs_fletcher.c Minor style cleanup 2019-07-16 17:22:31 -07:00
zfs_fletcher_aarch64_neon.c Linux 5.0 compat: SIMD compatibility 2019-07-12 09:31:20 -07:00
zfs_fletcher_avx512.c Linux 5.0 compat: SIMD compatibility 2019-07-12 09:31:20 -07:00
zfs_fletcher_intel.c Linux 5.0 compat: SIMD compatibility 2019-07-12 09:31:20 -07:00
zfs_fletcher_sse.c Linux 5.0 compat: SIMD compatibility 2019-07-12 09:31:20 -07:00
zfs_fletcher_superscalar.c Update build system and packaging 2018-05-29 16:00:33 -07:00
zfs_fletcher_superscalar4.c Update build system and packaging 2018-05-29 16:00:33 -07:00
zfs_namecheck.c Implement Redacted Send/Receive 2019-06-19 09:48:12 -07:00
zfs_prop.c Remove code for zfs remap 2019-06-24 16:44:01 -07:00
zfs_uio.c Linux 5.0 compat: access_ok() drops 'type' parameter 2019-01-28 10:11:10 -08:00
zpool_prop.c Remove dedupditto functionality 2019-06-19 14:54:02 -07:00
zprop_common.c Fix 'zpool list -v' alignment 2018-12-04 10:17:54 -08:00