I've installed MacFUSE on my macbook pro from http://code.google.com/p/macfuse/

I've got this copy of the "hello world" example filesystem:
http://github.com/isaacs/node-fuse/blob/dev/hello.c

I compile it without any controversy with this command:
http://github.com/isaacs/node-fuse/blob/dev/Makefile#L3

Then I mount a folder and there are no complaints:
mkdir ~/hello-fs
./hello ~/hello-fs/

And when I try to look inside, I get an input/output error:

$ ls ~/hello-fs/
ls: /Users/isaacs/hello-fs/: Input/output error

Other fuse systems seem to work fine (encfs, sshfs).

I ran this with -d to get more debugging output, and here's
what I found:

$ ./hello ~/hello-fs -d
unique: 0, opcode: INIT (26), nodeid: 0, insize: 56
INIT: 7.8
flags=0x00000000
max_readahead=0x00100000
  INIT: 7.8
  flags=0x00000000
  max_readahead=0x00100000
  max_write=0x00400000
  unique: 0, error: 0 (Unknown error: 0), outsize: 40
unique: 0, opcode: STATFS (17), nodeid: 1, insize: 40
  unique: 0, error: 0 (Unknown error: 0), outsize: 96
unique: 0, opcode: STATFS (17), nodeid: 1, insize: 40
  unique: 0, error: 0 (Unknown error: 0), outsize: 96
unique: 0, opcode: ACCESS (34), nodeid: 1, insize: 48
ACCESS / 00
  unique: 0, error: -78 (Function not implemented), outsize: 16
unique: 0, opcode: GETATTR (3), nodeid: 1, insize: 40
  unique: 0, error: 0 (Unknown error: 0), outsize: 128
unique: 1, opcode: STATFS (17), nodeid: 1, insize: 40
  unique: 1, error: 0 (Unknown error: 0), outsize: 96
unique: 2, opcode: GETATTR (3), nodeid: 1, insize: 40
  unique: 2, error: 0 (Unknown error: 0), outsize: 128
unique: 3, opcode: STATFS (17), nodeid: 1, insize: 40
unique: 1, opcode: STATFS (17), nodeid: 1, insize: 40
  unique: 3, error: 0 (Unknown error: 0), outsize: 96
  unique: 1, error: 0 (Unknown error: 0), outsize: 96
unique: 1, opcode: STATFS (17), nodeid: 1, insize: 40
  unique: 1, error: 0 (Unknown error: 0), outsize: 96
unique: 3, opcode: STATFS (17), nodeid: 1, insize: 40
  unique: 3, error: 0 (Unknown error: 0), outsize: 96
unique: 1, opcode: STATFS (17), nodeid: 1, insize: 40
  unique: 1, error: 0 (Unknown error: 0), outsize: 96
unique: 4, opcode: STATFS (17), nodeid: 1, insize: 40
  unique: 4, error: 0 (Unknown error: 0), outsize: 96
unique: 5, opcode: STATFS (17), nodeid: 1, insize: 40
  unique: 5, error: 0 (Unknown error: 0), outsize: 96
unique: 3, opcode: GETATTR (3), nodeid: 1, insize: 40
  unique: 3, error: 0 (Unknown error: 0), outsize: 128
unique: 1, opcode: GETATTR (3), nodeid: 1, insize: 40
  unique: 1, error: 0 (Unknown error: 0), outsize: 128
unique: 4, opcode: GETATTR (3), nodeid: 1, insize: 40
  unique: 4, error: 0 (Unknown error: 0), outsize: 128
unique: 5, opcode: GETATTR (3), nodeid: 1, insize: 40
  unique: 5, error: 0 (Unknown error: 0), outsize: 128
unique: 6, opcode: STATFS (17), nodeid: 1, insize: 40
  unique: 6, error: 0 (Unknown error: 0), outsize: 96
unique: 6, opcode: GETATTR (3), nodeid: 1, insize: 40
  unique: 6, error: 0 (Unknown error: 0), outsize: 128
unique: 7, opcode: GETATTR (3), nodeid: 1, insize: 40
  unique: 7, error: 0 (Unknown error: 0), outsize: 128
unique: 8, opcode: STATFS (17), nodeid: 1, insize: 40
  unique: 8, error: 0 (Unknown error: 0), outsize: 96
unique: 8, opcode: GETATTR (3), nodeid: 1, insize: 40
  unique: 8, error: 0 (Unknown error: 0), outsize: 128
unique: 9, opcode: STATFS (17), nodeid: 1, insize: 40
  unique: 9, error: 0 (Unknown error: 0), outsize: 96
unique: 9, opcode: GETATTR (3), nodeid: 1, insize: 40
  unique: 9, error: 0 (Unknown error: 0), outsize: 128
unique: 10, opcode: GETATTR (3), nodeid: 1, insize: 40
  unique: 10, error: 0 (Unknown error: 0), outsize: 128
unique: 11, opcode: GETATTR (3), nodeid: 1, insize: 40
  unique: 11, error: 0 (Unknown error: 0), outsize: 128
unique: 12, opcode: GETATTR (3), nodeid: 1, insize: 40
  unique: 12, error: 0 (Unknown error: 0), outsize: 128
unique: 13, opcode: STATFS (17), nodeid: 1, insize: 40
  unique: 13, error: 0 (Unknown error: 0), outsize: 96

And then trying to access it:

$ ls ~/hello-fs/
unique: 20, opcode: GETATTR (3), nodeid: 1, insize: 40
  unique: 20, error: 0 (Unknown error: 0), outsize: 128
unique: 21, opcode: GETATTR (3), nodeid: 1, insize: 40
  unique: 21, error: 0 (Unknown error: 0), outsize: 128
ls: /Users/isaacs/hello-fs/: Input/output error

unique: 22, opcode: GETATTR (3), nodeid: 1, insize: 40
  unique: 22, error: 0 (Unknown error: 0), outsize: 128



By contrast, running this same code on a Debian machine with libfuse2
and libfuse-dev installed, I see a flags=0x7b and it works fine.

$ ./hello ~/hello-fs/ -d
unique: 1, opcode: INIT (26), nodeid: 0, insize: 56
INIT: 7.13
flags=0x0000007b
max_readahead=0x00020000
  INIT: 7.8
  flags=0x00000001
  max_readahead=0x00020000
  max_write=0x00020000
  unique: 1, error: 0 (Success), outsize: 40

$ ls hello-fs/hello.txt
unique: 2, opcode: LOOKUP (1), nodeid: 1, insize: 50
LOOKUP /hello.txt
  NODEID: 2
  unique: 2, error: 0 (Success), outsize: 136
hello-fs/hello.txt

So, this seems like it is is clearly a macfuse problem, and not a
libfuse problem.

Any ideas?

--i

-- 
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