fuser icon indicating copy to clipboard operation
fuser copied to clipboard

[BUG] Rename operation API bringing wrong source name in Mac OS

Open nicolaspapp opened this issue 6 months ago • 5 comments

I am using the fuser library to interact with Mac FUSE and I noticed that when I do a simple move operation inside my mounted folder the name for the origin file does not match the one I am sending.

I also tried doing the same thing from one of the Mac FUSE C library examples and I do not see any issues.

nicolaspapp avatar May 21 '25 19:05 nicolaspapp

This seems to be caused by #307, I am also experiencing the same issue.

For me, the struct simply does not contain the flags and padding. It is merely 8 bytes (newdir), the old name and the new name.

@FirelightFlagboy Is this something that changed in a recent macFUSE version? I really can't seem to track down when or where or how.

macOS Sequoia 15.4.1

macFUSE 4.10.2

pkg-config --modversion fuse 2.9.9

WilliamVenner avatar May 25 '25 21:05 WilliamVenner

Something has changed for sure, but I don't know what right now.

Note that I'm investigating (paused for the moment) an issue when copy/importing a file in the mountpoint using finder.app, it result in an error during the copy with an useless error code.

But I'll also add a note about a potential rename issue


Concerning the rename issue, it's not indicated in your issue but are you using the latest version of fuser (0.15.1)? does pkg-config is able to detect your macfuse installation at the correct version?

FirelightFlagboy avatar May 26 '25 06:05 FirelightFlagboy

Yes, I'm using 0.15.1 for the bindings. My pkg-config version is the same as @WilliamVenner and I have tried both in macFUSE 5.0.0 and 4.10.2 versions. OS is macOS Sequoia 15.5

nicolaspapp avatar May 26 '25 13:05 nicolaspapp

@FirelightFlagboy Can confirm I’m using fuser 0.15.1 too. I also gave the master branch a try.

WilliamVenner avatar May 26 '25 13:05 WilliamVenner

I believe the issue is that even though the fields have been added into macfuse, they have not been added into libfuse. Check here

For what I see when using Mac we need to enable libfuse feature. If my understanding is correct we need something like the following:

https://github.com/cberner/fuser/pull/342/files

This seems to be working on my case, and I believe it should not break to the pure-rust implementation used on linux

nicolaspapp avatar May 29 '25 17:05 nicolaspapp