mirror_zfs/module/os/linux/zfs
Mark Maybee 7ff329ac2e
Fix rangelock test for growing block size
If the file already has more than one block, then the current
block size cannot change. But if the file block size is less
than the maximum block size supported by the file system, and
there are multiple blocks in the file, the current code will
almost always extend the rangelock to its maximum size.
This means that all writes become serialized and even reads
are slowed as they will more often contend with writes. This
commit adjusts the test so that we will not lock the entire
range if there is more than one block in the file already.

Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
Reviewed-by: Alexander Motin <alexander.motin@TrueNAS.com>
Signed-off-by: Mark Maybee <mark.maybee@perforce.com>
Closes #18046
Closes #18064
2025-12-18 09:23:38 -08:00
..
abd_os.c Fix a declaration position of the nth_page. 2025-12-09 15:45:51 -08:00
arc_os.c SPDX: license tags: CDDL-1.0 2025-03-13 17:56:27 -07:00
kasan_compat.c Linux: work around use of GPL-only symbol kasan_flag_enabled 2025-12-10 10:04:57 -08:00
mmp_os.c SPDX: license tags: CDDL-1.0 2025-03-13 17:56:27 -07:00
policy.c cred: properly pass and test creds on other threads (#17273) 2025-04-29 16:27:48 -07:00
qat_compress.c SPDX: license tags: CDDL-1.0 2025-03-13 17:56:27 -07:00
qat_crypt.c SPDX: license tags: CDDL-1.0 2025-03-13 17:56:27 -07:00
qat.c SPDX: license tags: CDDL-1.0 2025-03-13 17:56:27 -07:00
spa_misc_os.c SPDX: license tags: CDDL-1.0 2025-03-13 17:56:27 -07:00
trace.c SPDX: license tags: CDDL-1.0 2025-03-13 17:56:27 -07:00
vdev_disk.c vdev_disk_close: take disk write lock before destroying it 2025-09-15 09:12:24 -07:00
vdev_label_os.c SPDX: license tags: CDDL-1.0 2025-03-13 17:56:27 -07:00
vdev_raidz.c SPDX: license tags: CDDL-1.0 2025-03-13 17:56:27 -07:00
zfs_acl.c Pass flags to more DMU write/hold functions 2025-10-29 11:17:51 -07:00
zfs_ctldir.c Fix snapshot automount race causing duplicate mounts and AVL tree panic 2025-12-08 13:49:11 -08:00
zfs_debug.c SPDX: license tags: CDDL-1.0 2025-03-13 17:56:27 -07:00
zfs_dir.c Fix snapshot automount expiry cancellation deadlock 2025-12-01 14:43:42 -08:00
zfs_file_os.c Enable zhack to work properly with 4k sector size disks 2025-09-10 11:13:55 -07:00
zfs_ioctl_os.c SPDX: license tags: CDDL-1.0 2025-03-13 17:56:27 -07:00
zfs_racct.c Wire O_DIRECT also to Uncached I/O (#17218) 2025-05-13 14:26:55 -07:00
zfs_sysfs.c Prefer VERIFY0P(n) over VERIFY(n == NULL) 2025-08-07 11:41:37 -07:00
zfs_uio.c Fix HIGHMEM/kmap API violation in zfs_uiomove_bvec_impl() 2025-12-09 09:12:24 -08:00
zfs_vfsops.c linux/super: add tunable to request immediate reclaim of unused dentries 2025-09-17 08:16:32 -07:00
zfs_vnops_os.c Linux: work around use of GPL-only symbol kasan_flag_enabled 2025-12-10 10:04:57 -08:00
zfs_znode_os.c Fix rangelock test for growing block size 2025-12-18 09:23:38 -08:00
zio_crypt.c SPDX: license tags: CDDL-1.0 2025-03-13 17:56:27 -07:00
zpl_ctldir.c Linux 6.17: d_set_d_op() is no longer available 2025-09-09 13:44:43 -07:00
zpl_export.c SPDX: license tags: CDDL-1.0 2025-03-13 17:56:27 -07:00
zpl_file_range.c ioctl: remove FICLONE/FICLONERANGE/FIDEDUPERANGE compat 2025-05-08 10:32:52 -04:00
zpl_file.c Linux 6.17 compat: Fix broken projectquota on 6.17 2025-11-05 16:22:03 -08:00
zpl_inode.c Prefer VERIFY0(n) over VERIFY(n == 0) 2025-08-07 11:40:59 -07:00
zpl_super.c Linux 6.18: generic_drop_inode() and generic_delete_inode() renamed 2025-10-20 16:01:04 -07:00
zpl_xattr.c Prefer VERIFY0P(n) over VERIFY3P(n, ==, NULL) 2025-08-07 11:41:42 -07:00
zvol_os.c spa_misc: add an API for spa_namespace_lock 2025-11-10 14:23:39 -08:00