Files
mirror_zfs/include/os/freebsd/spl/sys
Thomas Bertschinger 97a0b5be50 Add mutex_enter_interruptible() for interruptible sleeping IOCTLs
Many long-running ZFS ioctls lock the spa_namespace_lock, forcing
concurrent ioctls to sleep for the mutex. Previously, the only
option is to call mutex_enter() which sleeps uninterruptibly. This
is a usability issue for sysadmins, for example, if the admin runs
`zpool status` while a slow `zpool import` is ongoing, the admin's
shell will be locked in uninterruptible sleep for a long time.

This patch resolves this admin usability issue by introducing
mutex_enter_interruptible() which sleeps interruptibly while waiting
to acquire a lock. It is implemented for both Linux and FreeBSD.

The ZFS_IOC_POOL_CONFIGS ioctl, used by `zpool status`, is changed to
use this new macro so that the command can be interrupted if it is
issued during a concurrent `zpool import` (or other long-running
operation).

Reviewed-by: Tony Hutter <hutter2@llnl.gov>
Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
Signed-off-by: Thomas Bertschinger <bertschinger@lanl.gov>
Closes #15360
2023-10-26 09:17:40 -07:00
..
2023-09-19 17:21:55 -07:00
2020-04-14 11:36:28 -07:00
2022-11-07 15:55:33 -08:00
2020-07-29 16:35:33 -07:00
2020-04-14 11:36:28 -07:00
2022-11-07 15:55:37 -08:00
2020-04-14 11:36:28 -07:00
2022-05-13 10:15:31 -07:00
2023-09-01 18:00:30 -07:00
2020-04-14 11:36:28 -07:00
2022-01-26 11:38:52 -08:00
2022-03-18 06:47:57 -06:00
2023-03-02 13:51:56 -08:00
2020-04-14 11:36:28 -07:00
2022-05-13 10:15:31 -07:00
2022-11-07 15:55:37 -08:00
2020-04-14 11:36:28 -07:00
2023-10-13 10:41:11 -07:00
2020-04-14 11:36:28 -07:00
2020-04-14 11:36:28 -07:00
2020-04-14 11:36:28 -07:00
2020-04-14 11:36:28 -07:00
2020-04-14 11:36:28 -07:00
2021-02-20 20:16:50 -08:00
2022-09-02 13:20:10 -07:00
2020-04-14 11:36:28 -07:00
2022-09-20 14:50:16 -07:00
2021-05-27 14:27:29 -06:00
2020-08-31 19:43:08 -07:00