mirror_zfs/module/os/linux/zfs
Coleman Kane b37f29341b Linux 6.6 compat: use inode_get/set_ctime*(...)
In Linux commit 13bc24457850583a2e7203ded05b7209ab4bc5ef, direct access
to the i_ctime member of struct inode was removed. The new approach is
to use accessor methods that exclusively handle passing the timestamp
around by value. This change adds new tests for each of these functions
and introduces zpl_* equivalents in include/os/linux/zfs/sys/zpl.h. In
where the inode_get/set_ctime*() functions exist, these zpl_* calls will
be mapped to the new functions. On older kernels, these macros just wrap
direct-access calls. The code that operated on an address of ip->i_ctime
to call ZFS_TIME_DECODE() now will take a local copy using
zpl_inode_get_ctime(), and then pass the address of the local copy when
performing the ZFS_TIME_DECODE() call, in all cases, rather than
directly accessing the member.

Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
Signed-off-by: Coleman Kane <ckane@colemankane.org>
Closes #15263
Closes #15257
2023-09-21 18:38:31 -07: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 Linux 6.4 compat: reclaimed_slab renamed to reclaimed 2023-05-24 12:23:42 -07: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_compress.c Intel QAT 1.7 compatibility 2023-09-07 14:38:17 -07:00
qat_crypt.c Replace dead opensolaris.org license link 2022-07-11 14:16:13 -07:00
qat.c Replace dead opensolaris.org license link 2022-07-11 14:16:13 -07:00
spa_misc_os.c Selectable block allocators 2023-09-01 18:00:30 -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-08-01 08:37:20 -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-09-21 18:38:31 -07: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 Replace dead opensolaris.org license link 2022-07-11 14:16:13 -07:00
zfs_vfsops.c Retire z_nr_znodes 2023-09-18 16:53:33 -07:00
zfs_vnops_os.c Linux 6.6 compat: use inode_get/set_ctime*(...) 2023-09-21 18:38:31 -07:00
zfs_znode.c Linux 6.6 compat: use inode_get/set_ctime*(...) 2023-09-21 18:38:31 -07:00
zio_crypt.c Linux: Silence static analyzer warning in crypto_create_ctx_template() 2023-03-08 13:51:59 -08:00
zpl_ctldir.c Linux 6.5 compat: blkdev changes 2023-08-01 08:37:20 -07:00
zpl_export.c Replace dead opensolaris.org license link 2022-07-11 14:16:13 -07:00
zpl_file_range.c copy_file_range: fix fallback when source create on same txg 2023-08-14 17:34:14 -07:00
zpl_file.c Linux 6.5 compat: Use copy_splice_read instead of filemap_splice_read 2023-08-08 15:42:32 -07:00
zpl_inode.c Linux 6.6 compat: use inode_get/set_ctime*(...) 2023-09-21 18:38:31 -07:00
zpl_super.c Fix zpl_test_super race with zfs_umount 2023-07-20 10:30:21 -07:00
zpl_xattr.c Linux 6.6 compat: use inode_get/set_ctime*(...) 2023-09-21 18:38:31 -07:00
zvol_os.c Linux 6.5 compat: blkdev changes 2023-08-01 08:37:20 -07:00