Thanks for the update.
Your description is aligned with what I see. But as I said, the
"double" file does
not exists and this is also what my application returns, fine, but
then I would expect
a readdir() call being made for "/". But it is not which mean the
folder contents is
never checked. This is the error. All the logic for parsing contents
of the source folder
and presenting it in the target folder (mount point) is done in my
readdir() callback.
I understand that Linux and Darwin are very different but this does
not seem
correct no matter what.
I have not tested yet but I saw that I missed out compiling using the
-D__DARWIN_64_BIT_INO_T=1 flag. Maybe that is causing issues?
I do not know in what way the use of 64-bit inodes might affect my
application.
Also, should I try the other MacFUSE distribution as discussed below?
[http://code.google.com/p/macfuse/issues/detail?id=406]

On Apr 29, 4:13 am, Sam Moffatt <[email protected]> wrote:
> Mac OS X does not behave the same way as Linux being a completely
> different kernel (Mach vs Linux). In this particular case it is
> looking for an Apple double file which is normal. Your file system is
> not HFS or HFS+ and it is looking for extra metadata that might exist
> in the resource fork. Finder also looks for special files directly
> without bothering with other operations first as well. Just return
> that the file does not exist and it should handle it fine.
>
> Please see this article on Apple Double 
> files:http://support.apple.com/kb/TA20578
>
> What is your actual error?
>
> Sam Moffatthttp://pasamio.id.au
>
> On Thu, Apr 28, 2011 at 7:43 PM, hasse69 <[email protected]> wrote:
> > Hi. I recently ported a Linux FUSE (2.7.4) fs to also support MacFUSE.
> > The fs works in such a way that a source folder is mounted on a target
> > folder.
> > They should be a reflection of each other, meaning any files in source
> > should also be found in target. Then there is more to it but it is not
> > relevant in this error scenario.
>
> > After mounting the empty target folder and doing cd into the mount
> > point there is a correct
> > getattr() call made for "/".
> > But then when trying to do a 'ls' there is no getattr() call for "/",
> > instead there is a getattr() call for "/._." ?? This file does *not*
> > exist. That would be ok if there also was a readdir() call being made
> > for "/" but it is not :( Using Linux FUSE a 'ls' command always
> > results in a getattr() call  for "/" followed by a readdir() call for
> > "/".
>
> > The MacFUSE package used is MacFUSE-2.0.3.2.dmg.
> > It is running on Snow Leopard and is linking with fuse_ino64.so.
>
> > The FUSE fs was orignally written for 32-bit Linux. Does the 64-bit
> > version of FUSE put new demands on the implementation ?
> > Let me know what further information you would require to answer this.
>
> > --
> > You received this message because you are subscribed to the Google Groups 
> > "MacFUSE" 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 
> > athttp://groups.google.com/group/macfuse?hl=en.

-- 
You received this message because you are subscribed to the Google Groups 
"MacFUSE" 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?hl=en.

Reply via email to