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
nfsmount — not functional on macOS for writing files to OneDrive via Finder #7503
Comments
Including a further --verbose excerpt for context as I believe it is related; it appears that the filter rules are not respected.
|
+1 I have the exact same issue. @scuba-tech did you figure it out? |
Negative. Presently, this command is non-functional for me. There is no solution that I have found. |
Bummer. I guess I will use Mountain Duck now (sadly not Open Source tho) |
I will look at Mountain Duck, thank you for the suggestion. As much as we may love open source and libre software, sometimes one simply needs things to work!! EDIT: Mountain Duck mounting works perfectly. I'll move back to rclone as soon as reasonable, of course. I will also keep an eye on this thread and am happy to help the developers with any further troubleshooting or testing. I would even be happy to send a Mac Mini (or give them 24/7 VNC+Parsec+SSH access with root) to any active |
@ncw - does |
I took a brief look at this. The following changes seem to have fixed this particular issue for me: nielash@0781842 (Sonoma 14.2.1 / Apple M1 Ultra) However I'm not very familiar with this part of the codebase, and it is possible that I'm not fully understanding all the consequences. Also while debugging this I noticed some encoding issues that probably should be fixed (not addressed by these changes). |
Nice that fixing writes is possible. Another old issue is NFC/NFD drama on macOS. I suspect that |
I have tried nielash@0781842 and indeed now I can write files to nfs mount. However NFC/NFD problem is still there: mount was never fully working on macOS. Maybe a lot of people do not even realise because they mostly use nice names without any problematic characters:) But it is massive issue for users in Asia for example. |
Yes, those are the kinds of encoding issues I was noticing. Great writeup on #7072. Is anyone working on that? |
Hi @kapitainsky, continuing our discussion from #7072 about One weird thing about except the sidebar, which still shows "localhost". It seems like that is just a limitation of |
Will test today.
Then it is similar to FUSE-T (which also uses nfs server): I think sidebar shows server name which is different to share name. Maybe there is a way to give it is own name? E.g. |
I have compiled it already and all looks good. |
Under the hood,
|
Agreed. |
fixed |
I have noticed something weird. When used with polling remote like onedrive. When I delete 2 files from the remote directly - only one file is removed from |
That is odd. Was that the case before too? Or did my changes break something? |
For a moment ignore - maybe false alarm... I am trying to reproduce it now with |
Can we pass extra flags to In similar way how fuse-t allows it? e.g.:
This way we could change nfs server features if needed. See this: https://forum.rclone.org/t/macos-rclone-mount-new-fuse-t-released-old-issues-fixed/39502 |
Yes, |
Indeed it works:
|
However I would not worry about it now. The key is that nfs mount options can be passed from rclone level. So whatever is needed can be used. EDIT - I do not see this issue in Sonoma - so maybe Apple fixed it at last in nfs server. Before simple QickView in Finder would modify file modtime. Now it does not. |
The fuse-t installer adds |
Good find. It would be problematic on the fly though as it requires sudo... but we could add this to docs as a hint how to customise all |
@manselmi any chance you can try https://github.com/nielash/rclone/tree/nfsmount-fixes as well? It requires build it from source though. Maybe this time we can avoid releasing crippled feature - which was the case with original |
@kapitainsky I'm not sure what kind of testing you had in mind, so I compiled the branch from source like this: go build -trimpath -ldflags "-s -X github.com/rclone/rclone/fs.Version=v9.9.9-test" I then mounted my OneDrive remote and tried |
Great. And thank you. Simply by trying to use it you have a chance to notice something not working. |
Before this change, writing files to an `nfsmount` via Finder on macOS would cause critical errors, rendering `nfsmount` effectively unusable on macOS. This change fixes the issue so that writes via Finder should be possible. The issue was primarily caused by the handler's HandleLimit being set to -1. -1 is the correct default for a NullAuthHandler, but not for a CachingHandler, which interprets -1 not as "no limit" but as "no cache". This change sets a high default of 1000000 by default, and gives the user control over it by repurposing the existing --vfs-cache-max-size flag. A minimum of 5 is enforced, as any lower than this will be insufficient to support directory listing.
Before this change, if a user unmounted externally (for example, via the Finder UI), rclone would not be aware of this and wait forever to exit -- effectively causing a deadlock that would require Ctrl+C to terminate. After this change, when the handler detects an external unmount, it calls a function which allows rclone to cleanly shutdown the VFS and exit.
Before this change, nfsmount ignored the --volname flag. After this change, the -- volname flag is respected, making it possible to set a custom volume name. macOS users should note that Finder will show the correct volume name in most places, but a notable exception is the sidebar, which will show "localhost". This seems to be a system limitation (at least without `sudo`), but see the discussion at rclone#7503 (comment) for some possible workarounds.
Before this change, writing files to an `nfsmount` via Finder on macOS would cause critical errors, rendering `nfsmount` effectively unusable on macOS. This change fixes the issue so that writes via Finder should be possible. The issue was primarily caused by the handler's HandleLimit being set to -1. -1 is the correct default for a NullAuthHandler, but not for a CachingHandler, which interprets -1 not as "no limit" but as "no cache". This change sets a high default of 1000000, and gives the user control over it with a new --nfs-cache-handle-limit flag (available in both `serve nfs` and `nfsmount`. A minimum of 5 is enforced, as any lower than this will be insufficient to support directory listing.
Before this change, if a user unmounted externally (for example, via the Finder UI), rclone would not be aware of this and wait forever to exit -- effectively causing a deadlock that would require Ctrl+C to terminate. After this change, when the handler detects an external unmount, it calls a function which allows rclone to cleanly shutdown the VFS and exit.
Before this change, nfsmount ignored the --volname flag. After this change, the -- volname flag is respected, making it possible to set a custom volume name. macOS users should note that Finder will show the correct volume name in most places, but a notable exception is the sidebar, which will show "localhost". This seems to be a system limitation (at least without `sudo`), but see the discussion at rclone#7503 (comment) for some possible workarounds.
Before this change, writing files to an `nfsmount` via Finder on macOS would cause critical errors, rendering `nfsmount` effectively unusable on macOS. This change fixes the issue so that writes via Finder should be possible. The issue was primarily caused by the handler's HandleLimit being set to -1. -1 is the correct default for a NullAuthHandler, but not for a CachingHandler, which interprets -1 not as "no limit" but as "no cache". This change sets a high default of 1000000, and gives the user control over it with a new --nfs-cache-handle-limit flag (available in both `serve nfs` and `nfsmount`. A minimum of 5 is enforced, as any lower than this will be insufficient to support directory listing.
Before this change, if a user unmounted externally (for example, via the Finder UI), rclone would not be aware of this and wait forever to exit -- effectively causing a deadlock that would require Ctrl+C to terminate. After this change, when the handler detects an external unmount, it calls a function which allows rclone to cleanly shutdown the VFS and exit.
Before this change, nfsmount ignored the --volname flag. After this change, the -- volname flag is respected, making it possible to set a custom volume name. macOS users should note that Finder will show the correct volume name in most places, but a notable exception is the sidebar, which will show "localhost". This seems to be a system limitation (at least without `sudo`), but see the discussion at #7503 (comment) for some possible workarounds.
Hello! I'm writing with an active issue that seems to affect
rclone nfsmount
on macOS.The associated forum post URL from
https://forum.rclone.org
https://forum.rclone.org/t/rclone-v1-65-0-release/43100/25?u=scuba-tech
What is the problem you are having with rclone?
ALL attempts to copy files of any size or type, from Finder into OneDrive, via
nfsmount
fail.It is not possible to write from Finder or save work. It is possible to read/open files.
Simple writing operations like
touch
andcat > filename
from a shell do write properly into nfsmount.What is your rclone version (output from
rclone version
)1.65.0 via brew
Which OS you are using and how many bits (e.g. Windows 7, 64 bit)
macOS Sonoma (14.1.1) // ARM64
Which cloud storage system are you using? (e.g. Google Drive)
Microsoft OneDrive (personal family // 6TB)
The command you were trying to run (e.g.
rclone copy /tmp remote:tmp
)rclone nfsmount --vfs-cache-mode full --filter-from "/Users/<user>/.config/rclone/rclone-filter-rules.txt" OD: ~/MOUNT-OneDrive --verbose
Notes:
--vfs-cache-mode full
to allow writing with OneDrive. Using none gives an (expected) read-only error message.A log from the command with the
-vv
flag (e.g. output fromrclone -vv copy /tmp remote:tmp
)Confirming that the copy into the mount did fail, checking with Finder,
ls -hAls
, and even OneDrive webUI... all of these confirm that the file does not actually "already exist" as the error message above claims!I hope this report helps with getting
nfsmount
sorted. :)How to use GitHub
The text was updated successfully, but these errors were encountered: