mirror_zfs/include/sys
Alexander Motin 809b553940 Introduce zfs rewrite subcommand (#17246)
This allows to rewrite content of specified file(s) as-is without
modifications, but at a different location, compression, checksum,
dedup, copies and other parameter values.  It is faster than read
plus write, since it does not require data copying to user-space.
It is also faster for sync=always datasets, since without data
modification it does not require ZIL writing.  Also since it is
protected by normal range range locks, it can be done under any
other load.  Also it does not affect file's modification time or
other properties.

Signed-off-by:	Alexander Motin <mav@FreeBSD.org>
Sponsored by:	iXsystems, Inc.
Reviewed-by: Tony Hutter <hutter2@llnl.gov>
Reviewed-by: Rob Norris <robn@despairlabs.com>
2025-08-07 12:34:28 -04:00
..
crypto SPDX: license tags: CDDL-1.0 2025-04-16 09:59:44 -07:00
fm SPDX: license tags: CDDL-1.0 2025-04-16 09:59:44 -07:00
fs Introduce zfs rewrite subcommand (#17246) 2025-08-07 12:34:28 -04:00
lua SPDX: license tags: MIT 2025-04-16 09:59:44 -07:00
sysevent SPDX: license tags: CDDL-1.0 2025-04-16 09:59:44 -07:00
zstd SPDX: license tags: BSD-3-Clause 2025-04-16 09:59:44 -07:00
abd_impl.h SPDX: license tags: CDDL-1.0 2025-04-16 09:59:44 -07:00
abd.h SPDX: license tags: CDDL-1.0 2025-04-16 09:59:44 -07:00
aggsum.h SPDX: license tags: CDDL-1.0 2025-04-16 09:59:44 -07:00
arc_impl.h enforce arc_dnode_limit 2025-08-07 12:11:34 -04:00
arc.h During pool export flush the ARC asynchronously 2025-06-17 10:50:26 -07:00
asm_linkage.h SPDX: license tags: CDDL-1.0 2025-04-16 09:59:44 -07:00
avl_impl.h SPDX: license tags: CDDL-1.0 2025-04-16 09:59:44 -07:00
avl.h SPDX: license tags: CDDL-1.0 2025-04-16 09:59:44 -07:00
bitmap.h SPDX: license tags: CDDL-1.0 2025-04-16 09:59:44 -07:00
bitops.h SPDX: license tags: CDDL-1.0 2025-04-16 09:59:44 -07:00
blake3.h SPDX: license tags: CDDL-1.0 2025-04-16 09:59:44 -07:00
blkptr.h SPDX: license tags: CDDL-1.0 2025-04-16 09:59:44 -07:00
bplist.h SPDX: license tags: CDDL-1.0 2025-04-16 09:59:44 -07:00
bpobj.h SPDX: license tags: CDDL-1.0 2025-04-16 09:59:44 -07:00
bptree.h SPDX: license tags: CDDL-1.0 2025-04-16 09:59:44 -07:00
bqueue.h SPDX: license tags: CDDL-1.0 2025-04-16 09:59:44 -07:00
brt_impl.h SPDX: license tags: CDDL-1.0 2025-04-16 09:59:44 -07:00
brt.h SPDX: license tags: CDDL-1.0 2025-04-16 09:59:44 -07:00
btree.h SPDX: license tags: CDDL-1.0 2025-04-16 09:59:44 -07:00
dataset_kstats.h SPDX: license tags: CDDL-1.0 2025-04-16 09:59:44 -07:00
dbuf.h Make ganging redundancy respect redundant_metadata property (#17073) 2025-08-05 13:10:40 -04:00
ddt_impl.h SPDX: license tags: CDDL-1.0 2025-04-16 09:59:44 -07:00
ddt.h FDT dedup log sync -- remove incremental 2025-08-05 12:15:21 -04:00
dmu_impl.h SPDX: license tags: CDDL-1.0 2025-04-16 09:59:44 -07:00
dmu_objset.h SPDX: license tags: CDDL-1.0 2025-04-16 09:59:44 -07:00
dmu_recv.h cred: properly pass and test creds on other threads (#17273) 2025-05-28 16:00:28 -07:00
dmu_redact.h SPDX: license tags: CDDL-1.0 2025-04-16 09:59:44 -07:00
dmu_send.h SPDX: license tags: CDDL-1.0 2025-04-16 09:59:44 -07:00
dmu_traverse.h SPDX: license tags: CDDL-1.0 2025-04-16 09:59:44 -07:00
dmu_tx.h SPDX: license tags: CDDL-1.0 2025-04-16 09:59:44 -07:00
dmu_zfetch.h SPDX: license tags: CDDL-1.0 2025-04-16 09:59:44 -07:00
dmu.h Increase meta-dnode redundancy in "some" mode 2025-08-05 13:15:44 -04:00
dnode.h SPDX: license tags: CDDL-1.0 2025-04-16 09:59:44 -07:00
dsl_bookmark.h SPDX: license tags: CDDL-1.0 2025-04-16 09:59:44 -07:00
dsl_crypt.h SPDX: license tags: CDDL-1.0 2025-04-16 09:59:44 -07:00
dsl_dataset.h cred: properly pass and test creds on other threads (#17273) 2025-05-28 16:00:28 -07:00
dsl_deadlist.h SPDX: license tags: CDDL-1.0 2025-04-16 09:59:44 -07:00
dsl_deleg.h SPDX: license tags: CDDL-1.0 2025-04-16 09:59:44 -07:00
dsl_destroy.h SPDX: license tags: CDDL-1.0 2025-04-16 09:59:44 -07:00
dsl_dir.h cred: properly pass and test creds on other threads (#17273) 2025-05-28 16:00:28 -07:00
dsl_pool.h SPDX: license tags: CDDL-1.0 2025-04-16 09:59:44 -07:00
dsl_prop.h SPDX: license tags: CDDL-1.0 2025-04-16 09:59:44 -07:00
dsl_scan.h SPDX: license tags: CDDL-1.0 2025-04-16 09:59:44 -07:00
dsl_synctask.h SPDX: license tags: CDDL-1.0 2025-04-16 09:59:44 -07:00
dsl_userhold.h SPDX: license tags: CDDL-1.0 2025-04-16 09:59:44 -07:00
edonr.h SPDX: license tags: CDDL-1.0 2025-04-16 09:59:44 -07:00
efi_partition.h SPDX: license tags: CDDL-1.0 2025-04-16 09:59:44 -07:00
frame.h Linux build: silence objtool warnings 2025-06-17 10:50:26 -07:00
hkdf.h SPDX: license tags: CDDL-1.0 2025-04-16 09:59:44 -07:00
metaslab_impl.h range_tree: Provide more debug details upon unexpected add/remove 2025-08-05 12:34:54 -04:00
metaslab.h SPDX: license tags: CDDL-1.0 2025-04-16 09:59:44 -07:00
mmp.h SPDX: license tags: CDDL-1.0 2025-04-16 09:59:44 -07:00
mntent.h SPDX: license tags: CDDL-1.0 2025-04-16 09:59:44 -07:00
mod.h SPDX: license tags: GPL-2.0-or-later 2025-04-16 09:59:44 -07:00
multilist.h SPDX: license tags: CDDL-1.0 2025-04-16 09:59:44 -07:00
nvpair_impl.h SPDX: license tags: CDDL-1.0 2025-04-16 09:59:44 -07:00
nvpair.h SPDX: license tags: CDDL-1.0 2025-04-16 09:59:44 -07:00
objlist.h SPDX: license tags: CDDL-1.0 2025-04-16 09:59:44 -07:00
pathname.h SPDX: license tags: CDDL-1.0 2025-04-16 09:59:44 -07:00
qat.h SPDX: license tags: CDDL-1.0 2025-04-16 09:59:44 -07:00
range_tree.h range_tree: Provide more debug details upon unexpected add/remove 2025-08-05 12:34:54 -04:00
rrwlock.h SPDX: license tags: CDDL-1.0 2025-04-16 09:59:44 -07:00
sa_impl.h SPDX: license tags: CDDL-1.0 2025-04-16 09:59:44 -07:00
sa.h SPDX: license tags: CDDL-1.0 2025-04-16 09:59:44 -07:00
sha2.h SPDX: license tags: CDDL-1.0 2025-04-16 09:59:44 -07:00
skein.h SPDX: license tags: LicenseRef-OpenZFS-ThirdParty-PublicDomain 2025-04-16 09:59:45 -07:00
spa_checkpoint.h SPDX: license tags: CDDL-1.0 2025-04-16 09:59:44 -07:00
spa_checksum.h SPDX: license tags: CDDL-1.0 2025-04-16 09:59:44 -07:00
spa_impl.h SPDX: license tags: CDDL-1.0 2025-04-16 09:59:44 -07:00
spa_log_spacemap.h SPDX: license tags: CDDL-1.0 2025-04-16 09:59:44 -07:00
spa.h During pool export flush the ARC asynchronously 2025-06-17 10:50:26 -07:00
space_map.h SPDX: license tags: CDDL-1.0 2025-04-16 09:59:44 -07:00
space_reftree.h SPDX: license tags: CDDL-1.0 2025-04-16 09:59:44 -07:00
sysevent.h SPDX: license tags: CDDL-1.0 2025-04-16 09:59:44 -07:00
txg_impl.h SPDX: license tags: CDDL-1.0 2025-04-16 09:59:44 -07:00
txg.h txg: generalise txg_wait_synced_sig() to txg_wait_synced_flags() (#17284) 2025-05-28 16:00:28 -07:00
u8_textprep_data.h SPDX: license tags: CDDL-1.0 2025-04-16 09:59:44 -07:00
u8_textprep.h SPDX: license tags: CDDL-1.0 2025-04-16 09:59:44 -07:00
uberblock_impl.h SPDX: license tags: CDDL-1.0 2025-04-16 09:59:44 -07:00
uberblock.h SPDX: license tags: CDDL-1.0 2025-04-16 09:59:44 -07:00
uio_impl.h SPDX: license tags: CDDL-1.0 2025-04-16 09:59:44 -07:00
unique.h SPDX: license tags: CDDL-1.0 2025-04-16 09:59:44 -07:00
uuid.h SPDX: license tags: CDDL-1.0 2025-04-16 09:59:44 -07:00
vdev_disk.h SPDX: license tags: CDDL-1.0 2025-04-16 09:59:44 -07:00
vdev_draid.h SPDX: license tags: CDDL-1.0 2025-04-16 09:59:44 -07:00
vdev_file.h SPDX: license tags: CDDL-1.0 2025-04-16 09:59:44 -07:00
vdev_impl.h range_tree: Provide more debug details upon unexpected add/remove 2025-08-05 12:34:54 -04:00
vdev_indirect_births.h SPDX: license tags: CDDL-1.0 2025-04-16 09:59:44 -07:00
vdev_indirect_mapping.h SPDX: license tags: CDDL-1.0 2025-04-16 09:59:44 -07:00
vdev_initialize.h SPDX: license tags: CDDL-1.0 2025-04-16 09:59:44 -07:00
vdev_raidz_impl.h SPDX: license tags: CDDL-1.0 2025-04-16 09:59:44 -07:00
vdev_raidz.h SPDX: license tags: CDDL-1.0 2025-04-16 09:59:44 -07:00
vdev_rebuild.h SPDX: license tags: CDDL-1.0 2025-04-16 09:59:44 -07:00
vdev_removal.h SPDX: license tags: CDDL-1.0 2025-04-16 09:59:44 -07:00
vdev_trim.h SPDX: license tags: CDDL-1.0 2025-04-16 09:59:44 -07:00
vdev.h FDT dedup log sync -- remove incremental 2025-08-05 12:15:21 -04:00
xvattr.h SPDX: license tags: CDDL-1.0 2025-04-16 09:59:44 -07:00
zap_impl.h SPDX: license tags: CDDL-1.0 2025-04-16 09:59:44 -07:00
zap_leaf.h SPDX: license tags: CDDL-1.0 2025-04-16 09:59:44 -07:00
zap.h SPDX: license tags: CDDL-1.0 2025-04-16 09:59:44 -07:00
zcp_global.h SPDX: license tags: CDDL-1.0 2025-04-16 09:59:44 -07:00
zcp_iter.h SPDX: license tags: CDDL-1.0 2025-04-16 09:59:44 -07:00
zcp_prop.h SPDX: license tags: CDDL-1.0 2025-04-16 09:59:44 -07:00
zcp_set.h SPDX: license tags: CDDL-1.0 2025-04-16 09:59:44 -07:00
zcp.h cred: properly pass and test creds on other threads (#17273) 2025-05-28 16:00:28 -07:00
zfeature.h SPDX: license tags: CDDL-1.0 2025-04-16 09:59:44 -07:00
zfs_acl.h SPDX: license tags: CDDL-1.0 2025-04-16 09:59:44 -07:00
zfs_bootenv.h SPDX: license tags: CDDL-1.0 2025-04-16 09:59:44 -07:00
zfs_chksum.h SPDX: license tags: CDDL-1.0 2025-04-16 09:59:44 -07:00
zfs_context.h Skip dbuf_evict_one() from dbuf_evict_notify() for reclaim thread 2025-08-07 12:15:14 -04:00
zfs_debug.h FDT dedup log sync -- remove incremental 2025-08-05 12:15:21 -04:00
zfs_delay.h SPDX: license tags: CDDL-1.0 2025-04-16 09:59:44 -07:00
zfs_file.h SPDX: license tags: CDDL-1.0 2025-04-16 09:59:44 -07:00
zfs_fuid.h SPDX: license tags: CDDL-1.0 2025-04-16 09:59:44 -07:00
zfs_impl.h SPDX: license tags: CDDL-1.0 2025-04-16 09:59:44 -07:00
zfs_ioctl_impl.h SPDX: license tags: CDDL-1.0 2025-04-16 09:59:44 -07:00
zfs_ioctl.h SPDX: license tags: CDDL-1.0 2025-04-16 09:59:44 -07:00
zfs_onexit.h SPDX: license tags: CDDL-1.0 2025-04-16 09:59:44 -07:00
zfs_project.h SPDX: license tags: CDDL-1.0 2025-04-16 09:59:44 -07:00
zfs_quota.h SPDX: license tags: CDDL-1.0 2025-04-16 09:59:44 -07:00
zfs_racct.h SPDX: license tags: CDDL-1.0 2025-04-16 09:59:44 -07:00
zfs_ratelimit.h SPDX: license tags: CDDL-1.0 2025-04-16 09:59:44 -07:00
zfs_refcount.h SPDX: license tags: CDDL-1.0 2025-04-16 09:59:44 -07:00
zfs_rlock.h SPDX: license tags: CDDL-1.0 2025-04-16 09:59:44 -07:00
zfs_sa.h SPDX: license tags: CDDL-1.0 2025-04-16 09:59:44 -07:00
zfs_stat.h SPDX: license tags: CDDL-1.0 2025-04-16 09:59:44 -07:00
zfs_sysfs.h SPDX: license tags: CDDL-1.0 2025-04-16 09:59:44 -07:00
zfs_vfsops.h SPDX: license tags: CDDL-1.0 2025-04-16 09:59:44 -07:00
zfs_vnops.h Introduce zfs rewrite subcommand (#17246) 2025-08-07 12:34:28 -04:00
zfs_znode.h SPDX: license tags: CDDL-1.0 2025-04-16 09:59:44 -07:00
zil_impl.h SPDX: license tags: CDDL-1.0 2025-04-16 09:59:44 -07:00
zil.h SPDX: license tags: CDDL-1.0 2025-04-16 09:59:44 -07:00
zio_checksum.h SPDX: license tags: CDDL-1.0 2025-04-16 09:59:44 -07:00
zio_compress.h SPDX: license tags: CDDL-1.0 2025-04-16 09:59:44 -07:00
zio_crypt.h SPDX: license tags: CDDL-1.0 2025-04-16 09:59:44 -07:00
zio_impl.h SPDX: license tags: CDDL-1.0 2025-04-16 09:59:44 -07:00
zio.h Make ganging redundancy respect redundant_metadata property (#17073) 2025-08-05 13:10:40 -04:00
zrlock.h SPDX: license tags: CDDL-1.0 2025-04-16 09:59:44 -07:00
zthr.h SPDX: license tags: CDDL-1.0 2025-04-16 09:59:44 -07:00
zvol_impl.h SPDX: license tags: CDDL-1.0 2025-04-16 09:59:44 -07:00
zvol.h SPDX: license tags: CDDL-1.0 2025-04-16 09:59:44 -07:00