mirror_zfs/module/os/linux/zfs
Ryan Moeller 43efd5625b Avoid taking global lock to destroy zfsdev state
We have exclusive access to our zfsdev state object in this section
until it is invalidated by setting zs_minor to -1, so we can destroy
the state without taking a lock if we do the invalidation last, after
a member to ensure correct ordering.

While here, strengthen the assertions that zs_minor is valid when we
enter.

Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
Reviewed-by: Alexander Motin <mav@FreeBSD.org>
Signed-off-by: Ryan Moeller <freqlabs@FreeBSD.org>
Closes #11751
2021-06-23 13:22:14 -07:00
..
abd_os.c Include scatter_chunk_waste in arc_size 2020-08-17 20:04:04 -07:00
arc_os.c Linux 5.9 compat: NR_SLAB_RECLAIMABLE 2020-08-30 14:18:50 -07:00
Makefile.in Restore FreeBSD resource usage accounting 2021-03-05 12:50:32 -08:00
mmp_os.c Add zfs_multihost_interval tunable handler for FreeBSD 2020-06-23 13:32:42 -07:00
policy.c Share zfs_fsync, zfs_read, zfs_write, et al between Linux and FreeBSD 2020-12-23 14:34:59 -08:00
qat_compress.c Fix QAT allocation failure return value 2020-01-06 11:17:53 -08:00
qat_crypt.c QAT related bug fixes 2019-09-12 13:33:44 -07:00
qat.c QAT related bug fixes 2019-09-12 13:33:44 -07:00
spa_misc_os.c Make spa_history_zone platform-dependent in kernel 2020-03-02 09:43:30 -08:00
trace.c Enable use of DTRACE_PROBE* macros in "spl" module 2019-11-01 13:13:43 -07:00
vdev_disk.c Linux 5.12 compat: bio->bi_disk member moved 2021-03-05 12:57:46 -08:00
vdev_file.c vdev_ashift should only be set once 2020-09-18 12:40:20 -07:00
zfs_acl.c Intentionally allow ZFS_READONLY in zfs_write 2021-03-08 09:07:29 -08:00
zfs_ctldir.c G/C struct znode -> z_moved 2020-11-11 11:40:15 -08:00
zfs_debug.c FreeBSD: Add support for procfs_list 2020-10-01 12:18:56 -07:00
zfs_dir.c Throw const on some strings 2020-10-16 12:55:56 -07:00
zfs_file_os.c Re-share zfsdev_getminor and zfs_onexit_fd_hold 2020-02-28 14:50:32 -08:00
zfs_ioctl_os.c Avoid taking global lock to destroy zfsdev state 2021-06-23 13:22:14 -07:00
zfs_racct.c Restore FreeBSD resource usage accounting 2021-03-05 12:50:32 -08:00
zfs_sysfs.c Persistent L2ARC 2020-04-10 10:33:35 -07:00
zfs_uio.c Linux 5.10 compat: restore custom uio_prefaultpages() 2021-01-22 09:58:49 -08:00
zfs_vfsops.c Macroify teardown lock handling 2021-06-23 13:22:14 -07:00
zfs_vnops_os.c Fix zrele race in zrele_async that can cause hang 2021-01-28 11:39:13 -08:00
zfs_znode.c Share zfs_fsync, zfs_read, zfs_write, et al between Linux and FreeBSD 2020-12-23 14:34:59 -08:00
zio_crypt.c Initialize ZIL buffers 2021-03-08 09:07:21 -08:00
zpl_ctldir.c Linux: Fix ZFS_ENTER/ZFS_EXIT/ZFS_VERFY_ZP usage 2020-11-14 10:51:27 -08:00
zpl_export.c Eliminate Linux specific inode usage from common code 2019-12-11 11:53:57 -08:00
zpl_file.c VZ 7 kernel compat: introduce ITER-enabled .direct_IO() via IOVECs 2021-01-05 10:33:41 -08:00
zpl_inode.c Linux 5.10 compat: use iov_iter in uio structure 2020-12-23 14:35:39 -08:00
zpl_super.c Linux: Fix ZFS_ENTER/ZFS_EXIT/ZFS_VERFY_ZP usage 2020-11-14 10:51:27 -08:00
zpl_xattr.c Linux 5.10 compat: use iov_iter in uio structure 2020-12-23 14:35:39 -08:00
zvol_os.c zvol: call zil_replaying() during replay 2021-06-23 13:22:14 -07:00