[Bug 293198] zfs deadlock while copying many files, vfs_deleteextattr_dir-related?
| Newsgroups | gmane.os.freebsd.devel.file-systems |
|---|---|
| Message-ID | <[email protected]/bugzilla/> |
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=293198 --- Comment #16 from [email protected] --- A commit in branch main references this bug: URL: https://cgit.FreeBSD.org/src/commit/?id=935cf3284f520c90a63baaadb762caaa30084f5c commit 935cf3284f520c90a63baaadb762caaa30084f5c Author: Rick Macklem <[email protected]> AuthorDate: 2026-02-17 22:57:42 +0000 Commit: Rick Macklem <[email protected]> CommitDate: 2026-02-17 22:59:57 +0000 vfs_mount.c: Don't call VFS_MOUNT() if only exports are being updated 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 Reviewed by: kib, markj MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D55318 sys/kern/vfs_mount.c | 52 +++++++++++++++++++++++++++++++--------------------- 1 file changed, 31 insertions(+), 21 deletions(-) -- You are receiving this mail because: You are the assignee for the bug.