-
Notifications
You must be signed in to change notification settings - Fork 111
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
destroy() not being called on Linux #153
Comments
A workaround (in mgree/ffs#8): I use |
Thanks for the report. Ya, I can confirm that I don't see |
Awesome---thanks for the super fast turnaround on this! 🎉 Glancing at the change log in #154, am I right to understand that the contract with |
Yes, it should now be called exactly once, and no other methods should be called after |
I'm working on upgrading ffs to fuser 0.9.1 (fuser-0.9.1 branch), but I'm getting some weird behaviors on Linux---notably that You can see an example in my CI logs, where there's no log from destroy and on os error 14 (EFAULT, bad address). Any idea what could be going wrong here? |
Hmm, can you check if this line prints in your log, with logging enabled? https://github.com/cberner/fuser/blob/master/src/session.rs#L180 Also, are you mounting the filesystem with |
I am not getting the unmount print in my logs. I'm using |
I tried a run where I don't do anything in I haven't dug into fuser code yet, but could it be that the reference to my |
Oh, in fact: that Here's the
The new logic in 0009aa1 adds the Would you accept a PR that gave a user-facing warning (at warn level) when |
Yep, happy to a merge to PR to add that warning. Thanks for tracking it down! |
I'm using fuser on macOS and Linux. My filesystem writes data back out when
destroy()
is called, which works fine on macOS. On Linux, it seems likedestroy()
is never getting called.This issue may be old: zargony/fuse-rs#151. Others have had issues with libfuse not properly calling destroy due to signal handlers.
You can see a successful run on macOS; the relevant "calling sync" lines don't appear on Linux.
I had suspected that calling
fusermount -u
instead ofumount
was the key, but it makes no difference. Killing the process doesn't help either.The text was updated successfully, but these errors were encountered: