mirror_zfs/module/os/linux/zfs
Rob N b9c3040b10 vdev_disk: clean up spa/bdev mode conversion
43e8f6e37 introduced a subtle API misuse, in that it passed the output
from vdev_bdev_mode() back into itself. Fortunately, the
SPA_MODE_(READ|WRITE) bit values exactly map to the FMODE_(READ|WRITE) &
BLK_OPEN_(READ|WRITE) bit values, so it didn't result in a bug, but it
was hard to read and understand, so I cleaned it up.

In doing so, I noticed that the only call to vdev_bdev_mode() without
the "exclusive" flag set was in that misuse, and actually, we never do a
non-exclusive blkdev_get_by_path(). So I've just made exclusive be
always-on.


Sponsored-by: Klara, Inc.
Sponsored-by: Wasabi Technology, Inc.
Reviewed by: Brian Behlendorf <behlendorf1@llnl.gov>
Reviewed-by: Allan Jude <allan@klarasystems.com>
Signed-off-by: Rob Norris <rob.norris@klarasystems.com>
Closes #15995
2024-04-22 09:23:23 -07:00
..
abd_os.c abd_iter_page: don't use compound heads on Linux <4.5 2024-03-28 13:29:46 -07:00
arc_os.c linux 6.7 compat: rework shrinker setup for heap allocations 2023-12-21 11:03:08 -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_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
qat.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 vdev_disk: clean up spa/bdev mode conversion 2024-04-22 09:23:23 -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.7 compat: use inode atime/mtime accessors 2023-12-21 11:03:08 -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.7 compat: handle superblock shrinker member change 2023-12-21 11:03:08 -08:00
zfs_vnops_os.c Refactor dmu_prefetch(). 2024-04-19 10:13:38 -07:00
zfs_znode.c linux 6.7 compat: use inode atime/mtime accessors 2023-12-21 11:03:08 -08:00
zio_crypt.c ZIL: Assert record sizes in different places 2024-01-08 16:11:39 -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_range.c Linux 6.8 compat: use splice_copy_file_range() for fallback 2024-03-21 09:35:17 -07:00
zpl_file.c Fix corruption caused by mmap flushing problems 2024-03-29 17:10:04 -07:00
zpl_inode.c linux 6.7 compat: use inode atime/mtime accessors 2023-12-21 11:03:08 -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 zvols: prevent overflow of minor device numbers 2024-04-22 09:23:23 -07:00