diff options
| author | Rick Macklem <rmacklem@FreeBSD.org> | 2026-02-17 22:57:42 +0000 |
|---|---|---|
| committer | Rick Macklem <rmacklem@FreeBSD.org> | 2026-02-24 22:05:42 +0000 |
| commit | 5153ca331b4448e062cebad987773756c0aff2dc (patch) | |
| tree | 067f8a8c8dc613de4014f56ae23ad64e4976865f /lib/libc | |
| parent | aabd5243fb97979d33a7eece4f7cca18ffd82a95 (diff) | |
vfs_mount.c: Don't call VFS_MOUNT() if only exports are being updatedstable/14
PR#293198 reports a hang within ZFS when exports
are being updated concurrently with a VOP_SETEXTATTR().
The hang appears to be caused by mishandling of the
z_teardown_lock, but fixing handling of this lock appears
to be a major effort. Since the hang occurs when
VFS_MOUNT() acquires a write/exclusive z_teardown_lock,
which rarely occurs, except when exports are being updated,
this patch avoids the VFS_MOUNT() call for this case.
Avoiding a VFS_MOUNT() call fixes the hang for the case
reported by PR#293198 and is also an optimization.
As such, this patch avoids the VFS_MOUNT() call when only exports
are being updated similar to what was already being done
within vnet prisons.
PR: 293198
(cherry picked from commit 935cf3284f520c90a63baaadb762caaa30084f5c)
Diffstat (limited to 'lib/libc')
0 files changed, 0 insertions, 0 deletions
