Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Resolve deadlock with namei and cache_purge
Which the stack like: frame #2: 0xffffff800292e4a5 kernel`cache_purge frame #3: 0xffffff7f83281ee8 zfs`zfs_vnop_reclaim + 152 frame #4: 0xffffff80029468f0 kernel`vclean frame #6: 0xffffff80029463cb kernel`vnode_reclaim_internal frame #9: 0xffffff800293f4b6 kernel`vnode_create frame #10: 0xffffff7f83283c41 zfs`zfs_znode_getvnode + 513 frame #11: 0xffffff7f83288d78 zfs`zfs_zget_internal + 984 frame #12: 0xffffff7f832764c9 zfs`zfs_vfs_vget + 329 frame #13: 0xffffff800293979d kernel`namei It would seem vnop_reclaim can not call into VFS again as it already holds locks, and verifying with hfs_vnop_reclaim, they do not call cache_purge().
- Loading branch information