fixed #9908 - fix noapplexattr to work with FSKit backend - #9909
Conversation
ncw
left a comment
There was a problem hiding this comment.
I'm not sure about the backwards compatibly of this change, but we can make it macOS only easily enough. Maybe this should be fskit only with a new flag or opt I'm not sure. What do you think?
| func (fsys *FS) Setxattr(path string, name string, value []byte, flags int) (errc int) { | ||
| defer log.Trace(path, "name=%q, value=%q, flags=%d", name, value, flags)("errc=%d", &errc) | ||
| // #9908: simulate macFUSE behaviour (discard setxattr calls) - otherwise Finder cannot copy files onto the mount | ||
| if fsys.opt.NoAppleXattr && strings.HasPrefix(name, "com.apple.") { |
There was a problem hiding this comment.
I think these should have if runtime.GOOS == "Darwin" && at the start otherwise we'll change the behaviour for Windows and Linux.
There was a problem hiding this comment.
Updated so that the behaviour only changes on darwin + --noapplexattr + backend=fskit - this should a safe change given how it was basically not working at all with backend=fskit previously
9ed3a26 to
3d5ba7f
Compare
|
(sorry, I do not know if you get PR thread notifications without a re-review request) |
What does this change do?
See #9908 - this PR makes rclone match the old macFUSE behaviour where xattr syscalls were silently swallowed instead of returning ENOSYS. This fixes Finder being unable to copy anything onto the mount
I've tried returning ENOTSUP but that still causes FInder to fail
Linked issue
Fixes #9908
For new or changed backends
Checklist
test_allpasses for this backend and if submitting a new backend can provide a test account for the integration tester - see CONTRIBUTING.md.