diff options
author | Thomas Bertschinger <[email protected]> | 2023-10-26 10:17:40 -0600 |
---|---|---|
committer | Tony Hutter <[email protected]> | 2023-11-06 16:47:41 -0800 |
commit | f9a9aea126f9a35555144e1ff141bd7ae6bb3d61 (patch) | |
tree | 8d9283d64e8aeede5c35978f57f385dfb32d6797 /config/kernel-idmap_mnt_api.m4 | |
parent | 8ba748d41411002f629ff4a36219b0c77a3534c0 (diff) |
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 <[email protected]>
Reviewed-by: Brian Behlendorf <[email protected]>
Signed-off-by: Thomas Bertschinger <[email protected]>
Closes #15360
Diffstat (limited to 'config/kernel-idmap_mnt_api.m4')
0 files changed, 0 insertions, 0 deletions