Skip to content

Fix macOS channel cleanup during unmount - #2

Draft
quick007 wants to merge 1 commit into
mesa/macfuse-5from
fix/macos-channel-teardown
Draft

quick007 wants to merge 1 commit into
mesa/macfuse-5from
fix/macos-channel-teardown

Conversation

@quick007

@quick007 quick007 commented Oct 8, 2026 •

Copy link
Copy Markdown

macOS session teardown could hang in Disk Arbitration after the volume had already disappeared, leaving the daemon alive. Destroy the libfuse channel directly after fuser's syscall unmount, releasing its descriptor and disk reference without issuing another library unmount.

Adds real macFUSE regressions for normal, external, busy/forced, and direct channel-drop cleanup. They fail on the previous revision and pass with this change. Formatting, Clippy, and 54 library tests pass. Gobi integration: https://github.com/mesa-dot-dev/gobi/pull/201 passed its complete FUSE and unmodified restart suites, plus 40 immediate remount cycles with descriptor and unattended daemon cleanup checks.

Known limitation: the existing remount test intermittently reports EBUSY after forced/direct-drop cases in the same process and recorded one readiness timeout. Its cause remains unresolved; the complete standalone macFUSE suite is not consistently green. Gobi's normal and busy lifecycle checks passed.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant