The Finder has lots of additional layers between the user and the file
system--when you run commands from a shell, you are closer to the file
system. Within these layers, the Finder does various types of
preflight checking, validation, rolling back, and so on. Therefore,
you shouldn't be surprised if the Finder is far more finicky and
unforgiving.

Implement statfs() in your file system and make sure you return
something reasonable.

Implement chown(), chmod(), and utimens(). To begin with, you may get
away by just returning success and not actually doing anything real
within these calls.

Don't return -ENOTSUP from xattr functions unless you want xattrs to
be handled through the fallback path (that is, through "._" files). If
you don't want xattrs at all, consult the man pages for xattr system
calls and return the appropriate error that denies the specific call.
ENOTSUP from these calls have a special meaning on Mac OS X (not just
for MacFUSE, but for any file system in the kernel).

Amit

On Feb 14, 1:29 am, spolu <[EMAIL PROTECTED]> wrote:
> Hi,
>
> I have implemented a Fuse based FS...
>
> When working in a terminal everything seems to work fine. But as soon
> as I try to copy/paste using finder, things go wrong. and Finder
> notify me with the impossibility to copy the file :
>
> "The item "resume.txt" cannot be copied because there is not enough
> free space"
>
> Here is a log of the operations I receive to my fuse interface in the
> following test case :
>
> emacs mountpoint/test.txt
> save the file
> copy paste resume.txt using the finder
>
> [emacs mountpoint/test/txt]
> [save and close]
> FUSE_READDIR /
> FUSE_CREATE /test.txt fd 5
> FUSE_WRITE /test.txt 14 0 fd : 5 RET : 14
> FUSE_RELEASE /me/test.txt fd : 5
> [navigate to mountpoint/ in the finder]
> FUSE_READDIR /
> FUSE_OPEN /me/test.txt fd : 5
> FUSE_RELEASE /test.txt fd : 5
> [paste a file resume.txt]
> FUSE_CREATE /resume.txt fd 5
> FUSE_RELEASE /resume.txt fd : 5
> FUSE_READDIR /
> FUSE_UNLINK /resume.txt
> FUSE_READDIR /
>
> There is no call to GETATTR and I am returning -UNOTSUP to all xattr
> functions except xsetattr where I return 0 to avoid fancy error
> message enven in the terminal. The call to CREATE worked since fd 5
> is
> set in fuse_file_info.
>
> Copying resume.txt using the terminal works perfectly
> I must be missing something here. Any idea ?
>
> Thanks a lot and sorry for the previous messages with a misleading
> subject...
>
> -stan
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"macfuse-devel" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/macfuse-devel?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to