zfs/module/os/linux/zfs
Alexander Motin 56a2a0981e ZIL: Do not encrypt block pointers in lr_clone_range_t
In case of crash cloned blocks need to be claimed on pool import.
It is only possible if they (lr_bps) and their count (lr_nbps) are
not encrypted but only authenticated, similar to block pointer in
lr_write_t.  Few other fields can be and are still encrypted.

This should fix panic on ZIL claim after crash when block cloning
is actively used.

Reviewed-by: Richard Yao <richard.yao@alumni.stonybrook.edu>
Reviewed-by: Tom Caputi <caputit1@tcnj.edu>
Reviewed-by: Sean Eric Fagan <sef@FreeBSD.org>
Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
Reviewed-by: Edmund Nadolski <edmund.nadolski@ixsystems.com>
Signed-off-by: Alexander Motin <mav@FreeBSD.org>
Sponsored by: iXsystems, Inc.
Closes #15543
Closes #15513
2023-11-28 11:17:52 -08:00
..
abd_os.c Add assertion and make variables unsigned in abd_alloc_chunks() 2023-02-06 11:10:50 -08:00
arc_os.c Unify arc_prune_async() code 2023-11-08 12:15:41 -08:00
mmp_os.c Cleanup: 64-bit kernel module parameters should use fixed width types 2022-10-13 10:03:29 -07:00
policy.c Linux 6.3 compat: idmapped mount API changes 2023-04-10 14:15:36 -07:00
qat.c Replace dead opensolaris.org license link 2022-07-11 14:16:13 -07:00
qat_compress.c Intel QAT 1.7 compatibility 2023-09-07 16:10:52 -07:00
qat_crypt.c Replace dead opensolaris.org license link 2022-07-11 14:16:13 -07:00
spa_misc_os.c Cleanup: 64-bit kernel module parameters should use fixed width types 2022-10-13 10:03:29 -07:00
trace.c Replace dead opensolaris.org license link 2022-07-11 14:16:13 -07:00
vdev_disk.c Linux 6.5 compat: blkdev changes 2023-09-19 08:50:01 -07:00
vdev_file.c Cleanup: 64-bit kernel module parameters should use fixed width types 2022-10-13 10:03:29 -07:00
zfs_acl.c Use list_remove_head() where possible. 2023-06-09 10:12:52 -07:00
zfs_ctldir.c Linux 6.6 compat: use inode_get/set_ctime*(...) 2023-11-08 12:15:41 -08:00
zfs_debug.c Cleanup: Replace oldstyle struct hack with C99 flexible array members 2023-01-12 16:00:03 -08:00
zfs_dir.c Linux 6.3 compat: idmapped mount API changes 2023-04-10 14:15:36 -07:00
zfs_file_os.c Cleanup: Remove branches that always evaluate the same way 2022-11-03 10:47:48 -07:00
zfs_ioctl_os.c Linux 6.3 compat: idmapped mount API changes 2023-04-10 14:15:36 -07:00
zfs_racct.c module: zfs: fix unused, remove argsused 2021-12-23 09:42:47 -08:00
zfs_sysfs.c Introduce kmem_scnprintf() 2022-10-29 13:05:11 -07:00
zfs_uio.c zvol: Remove broken blk-mq optimization 2023-11-06 16:47:24 -08:00
zfs_vfsops.c Linux 6.6 compat: fix implicit conversion error with debug build 2023-11-16 14:23:03 -08:00
zfs_vnops_os.c Add a tunable to disable BRT support. 2023-11-16 14:23:03 -08:00
zfs_znode.c Linux 6.6 compat: use inode_get/set_ctime*(...) 2023-11-08 12:15:41 -08:00
zio_crypt.c ZIL: Do not encrypt block pointers in lr_clone_range_t 2023-11-28 11:17:52 -08:00
zpl_ctldir.c Linux 6.6 compat: generic_fillattr has a new u32 request_mask added at arg2 2023-11-08 12:15:41 -08:00
zpl_export.c Replace dead opensolaris.org license link 2022-07-11 14:16:13 -07:00
zpl_file.c Linux 6.5 compat: Use copy_splice_read instead of filemap_splice_read 2023-09-19 08:50:01 -07:00
zpl_file_range.c zfs-2.2.1: Disable block cloning by default 2023-11-16 14:23:03 -08:00
zpl_inode.c Linux 6.6 compat: generic_fillattr has a new u32 request_mask added at arg2 2023-11-08 12:15:41 -08:00
zpl_super.c Unify arc_prune_async() code 2023-11-08 12:15:41 -08:00
zpl_xattr.c Linux 6.6 compat: use inode_get/set_ctime*(...) 2023-11-08 12:15:41 -08:00
zvol_os.c Linux 6.6 compat: fsync_bdev() has been removed in favor of sync_blockdev() 2023-11-08 12:15:41 -08:00