mirror_zfs/module/os/linux/zfs
Ameer Hamza bdf4d6be1d
linux/zvol_os: fix zvol queue limits initialization
zvol queue limits initialization depends on `zv_volblocksize`, but it is
initialized later, leading to several limits being initialized with
incorrect values, including `max_discard_*` limits. This also causes
`blkdiscard` command to consistently fail, as `blk_ioctl_discard` reads
`bdev_max_discard_sectors()` limits as 0, leading to failure. The fix is
straightforward: initialize `zv->zv_volblocksize` early, before setting
the queue limits. This PR should fix `zvol/zvol_misc/zvol_misc_trim`
failure on recent PRs, as the test case issues `blkdiscard` for a zvol.
Additionally, `zvol_misc_trim` was recently enabled in `6c7d41a`,
which is why the issue wasn't identified earlier.

Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
Reviewed-by: Tony Hutter <hutter2@llnl.gov>
Signed-off-by: Ameer Hamza <ahamza@ixsystems.com>
Closes #16454
2024-08-15 14:29:50 -07:00
..
abd_os.c Linux: Report reclaimable memory to kernel as such (#16385) 2024-07-30 11:40:47 -07:00
arc_os.c Several improvements to ARC shrinking (#16197) 2024-07-25 10:31:14 -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 5.16: use bdev_nr_bytes() to get device capacity 2024-07-15 17:10:06 -07:00
vdev_file.c zio: rename ZIO_TYPE_IOCTL to ZIO_TYPE_FLUSH 2024-04-11 17:17:23 -07:00
vdev_label_os.c RAID-Z expansion feature 2023-11-08 10:19:41 -08:00
zfs_acl.c Fixed parameter passing error when calling zfs_acl_chmod 2024-02-26 11:41:44 -08:00
zfs_ctldir.c Linux 6.7 compat: use inode atime/mtime accessors 2023-12-20 11:47:40 -08:00
zfs_debug.c zdb/ztest: send dbgmsg output to stderr 2024-05-14 09:49:00 -07: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 Use kmap_local_page instead of kmap_atomic (#16329) 2024-07-16 17:27:29 -07:00
zfs_vfsops.c Linux: Make zfs_prune() fair on NUMA systems 2024-08-08 15:33:36 -07:00
zfs_vnops_os.c Fix projid accounting for xattr objects 2024-08-14 17:59:19 -07:00
zfs_znode.c Linux: Report reclaimable memory to kernel as such (#16385) 2024-07-30 11:40:47 -07:00
zio_crypt.c ZIL: Assert record sizes in different places 2023-11-28 13:35:14 -08:00
zpl_ctldir.c Linux 6.6 compat: generic_fillattr has a new u32 request_mask added at arg2 2023-09-21 18:38:40 -07:00
zpl_export.c Replace dead opensolaris.org license link 2022-07-11 14:16:13 -07:00
zpl_file_range.c Linux 6.8 compat: use splice_copy_file_range() for fallback 2024-03-20 16:46:15 -07:00
zpl_file.c Fix corruption caused by mmap flushing problems 2024-03-25 14:56:49 -07:00
zpl_inode.c Linux 6.7 compat: use inode atime/mtime accessors 2023-12-20 11:47:40 -08:00
zpl_super.c Unify arc_prune_async() code 2023-10-30 16:56:04 -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/zvol_os: fix zvol queue limits initialization 2024-08-15 14:29:50 -07:00