[Bug 282169] zfs rename deadlock with mountd, df & fstat (and possibly others)
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Sun, 20 Oct 2024 15:12:43 UTC
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=282169 Mark Johnston <markj@FreeBSD.org> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |markj@FreeBSD.org Status|New |Open --- Comment #1 from Mark Johnston <markj@FreeBSD.org> --- Many threads are blocked on the ZFS "teardown" lock. I guess a writer holds the lock, or a reader leaked one. I looked through uses of ZFS_ENTER and couldn't find any leaks. I'm confused by the locking in zfsvfs_teardown(). That function unconditionally acquires the teardown write lock, but there exist cases later in the function where it won't be released. Specifically, if `!unmounting && !zfsvfs->z_unmounted && zfsvfs->z_ops != NULL` is true, the write lock seems to be leaked. I'm not sure if that condition is possible in practice, but it looks rather odd. That code path could potentially be triggered by zfs_suspend_fs(), which is invoked by a couple of dataset operations, rollback and recv specifically, but as far as I can see renaming a dataset won't trigger suspension. -- You are receiving this mail because: You are the assignee for the bug.