benlemasurier / stormfs

A FUSE abstraction layer for cloud storage (Amazon S3, Google Cloud Storage and more)
GNU General Public License v2.0
91 stars 4 forks source link

Can't get it to work on OS X #11

Open lucaspiller opened 12 years ago

lucaspiller commented 12 years ago

I've tried under two different machines, OS X 10.6.7 and 10.7.2 but get the same issues on each. Both are using the release version in Brew.

~ ‹ruby-1.9.3›  $ stormfs snbackup ~/snbackup
~ ‹ruby-1.9.3›  $ ls -la ~/snbackup 
total 0
drwxr-xr-x   0 root  wheel     0  1 Jan  1970 .
drwxr-xr-x+ 77 luca  staff  2618  2 Feb 10:36 ..
~ ‹ruby-1.9.3›  $ touch ~/snbackup/test
touch: /Users/luca/snbackup/test: Permission denied
~ ‹ruby-1.9.3›  $ sudo touch ~/snbackup/test                                                                                                                                                                                                                                 
touch: /Users/luca/snbackup/test: Operation not permitted

Here is the log from stormfs running in debug mode:

~ ‹ruby-1.9.3›  $ stormfs -d snbackup ~/snbackup
FUSE library version: 2.8.6
nullpath_ok: 0
unique: 0, opcode: INIT (26), nodeid: 0, insize: 56
INIT: 7.16
flags=0x00000000
max_readahead=0x00100000
stormfs: unable to open /etc/mime.types: No such file or directory
   INIT: 7.16
   flags=0x00000010
   max_readahead=0x00100000
   max_write=0x01000000
   unique: 0, success, outsize: 40
unique: 0, opcode: STATFS (17), nodeid: 1, insize: 40
statfs /
   unique: 0, success, outsize: 96
unique: 1, opcode: STATFS (17), nodeid: 1, insize: 40
statfs /
   unique: 1, success, outsize: 96
unique: 0, opcode: ACCESS (34), nodeid: 1, insize: 48
   unique: 0, error: -78 (Function not implemented), outsize: 16
unique: 2, opcode: STATFS (17), nodeid: 1, insize: 40
statfs /
   unique: 2, success, outsize: 96
unique: 1, opcode: STATFS (17), nodeid: 1, insize: 40
statfs /
   unique: 1, success, outsize: 96
unique: 0, opcode: GETATTR (3), nodeid: 1, insize: 56
getattr /
   unique: 0, success, outsize: 136
unique: 2, opcode: STATFS (17), nodeid: 1, insize: 40
statfs /
   unique: 2, success, outsize: 96
unique: 1, opcode: STATFS (17), nodeid: 1, insize: 40
statfs /
   unique: 1, success, outsize: 96
unique: 0, opcode: STATFS (17), nodeid: 1, insize: 40
statfs /
   unique: 0, success, outsize: 96
unique: 2, opcode: GETXATTR (22), nodeid: 1, insize: 77
   unique: 2, error: -78 (Function not implemented), outsize: 16
unique: 1, opcode: LOOKUP (1), nodeid: 1, insize: 44
LOOKUP /._.
getattr /._.
   unique: 1, error: -2 (No such file or directory), outsize: 16
unique: 0, opcode: STATFS (17), nodeid: 1, insize: 40
statfs /
   unique: 0, success, outsize: 96
unique: 2, opcode: LOOKUP (1), nodeid: 1, insize: 44
LOOKUP /._.
getattr /._.
   unique: 2, error: -2 (No such file or directory), outsize: 16
unique: 1, opcode: LOOKUP (1), nodeid: 1, insize: 44
LOOKUP /._.
getattr /._.
unique: 0, opcode: STATFS (17), nodeid: 1, insize: 40
statfs /
   unique: 0, success, outsize: 96
unique: 2, opcode: STATFS (17), nodeid: 1, insize: 40
statfs /
   unique: 2, success, outsize: 96
unique: 0, opcode: STATFS (17), nodeid: 1, insize: 40
statfs /
   unique: 0, success, outsize: 96
   unique: 1, error: -2 (No such file or directory), outsize: 16
unique: 2, opcode: LOOKUP (1), nodeid: 1, insize: 52
LOOKUP /mach_kernel
getattr /mach_kernel
unique: 0, opcode: STATFS (17), nodeid: 1, insize: 40
statfs /
   unique: 0, success, outsize: 96
   unique: 2, error: -2 (No such file or directory), outsize: 16
unique: 1, opcode: STATFS (17), nodeid: 1, insize: 40
statfs /
   unique: 1, success, outsize: 96
unique: 0, opcode: LOOKUP (1), nodeid: 1, insize: 48
LOOKUP /.hidden
getattr /.hidden
   unique: 0, error: -2 (No such file or directory), outsize: 16
unique: 2, opcode: LOOKUP (1), nodeid: 1, insize: 44
LOOKUP /._.
getattr /._.
   unique: 2, error: -2 (No such file or directory), outsize: 16
unique: 1, opcode: LOOKUP (1), nodeid: 1, insize: 44
LOOKUP /._.
getattr /._.
   unique: 1, error: -2 (No such file or directory), outsize: 16
unique: 0, opcode: LOOKUP (1), nodeid: 1, insize: 44
LOOKUP /._.
getattr /._.
   unique: 0, error: -2 (No such file or directory), outsize: 16
unique: 2, opcode: OPENDIR (27), nodeid: 1, insize: 48
   unique: 2, success, outsize: 32
unique: 1, opcode: STATFS (17), nodeid: 1, insize: 40
statfs /
   unique: 1, success, outsize: 96
unique: 0, opcode: READDIR (28), nodeid: 1, insize: 80
readdir[0] from 0
unique: 2, opcode: STATFS (17), nodeid: 1, insize: 40
statfs /
   unique: 2, success, outsize: 96
unique: 1, opcode: STATFS (17), nodeid: 1, insize: 40
statfs /
   unique: 1, success, outsize: 96
unique: 2, opcode: STATFS (17), nodeid: 1, insize: 40
statfs /
   unique: 2, success, outsize: 96
   unique: 0, success, outsize: 80
unique: 1, opcode: READDIR (28), nodeid: 1, insize: 80
   unique: 1, success, outsize: 16
unique: 2, opcode: RELEASEDIR (29), nodeid: 1, insize: 64
   unique: 2, success, outsize: 16
unique: 0, opcode: LOOKUP (1), nodeid: 1, insize: 52
LOOKUP /mach_kernel
getattr /mach_kernel
   unique: 0, error: -2 (No such file or directory), outsize: 16
unique: 1, opcode: LOOKUP (1), nodeid: 1, insize: 57
unique: 2, opcode: STATFS (17), nodeid: 1, insize: 40
LOOKUP /Backups.backupdb
statfs /
getattr /Backups.backupdb
   unique: 2, success, outsize: 96
   unique: 1, error: -2 (No such file or directory), outsize: 16
unique: 0, opcode: LOOKUP (1), nodeid: 1, insize: 48
LOOKUP /.hidden
getattr /.hidden
   unique: 0, error: -2 (No such file or directory), outsize: 16
unique: 2, opcode: LOOKUP (1), nodeid: 1, insize: 57
LOOKUP /Backups.backupdb
getattr /Backups.backupdb
   unique: 2, error: -2 (No such file or directory), outsize: 16
unique: 1, opcode: LOOKUP (1), nodeid: 1, insize: 57
LOOKUP /Backups.backupdb
getattr /Backups.backupdb
   unique: 1, error: -2 (No such file or directory), outsize: 16
unique: 0, opcode: LOOKUP (1), nodeid: 1, insize: 57
LOOKUP /Backups.backupdb
getattr /Backups.backupdb
   unique: 0, error: -2 (No such file or directory), outsize: 16
unique: 2, opcode: GETATTR (3), nodeid: 1, insize: 56
getattr /
   unique: 2, success, outsize: 136
unique: 1, opcode: LOOKUP (1), nodeid: 1, insize: 44
LOOKUP /._.
getattr /._.
   unique: 1, error: -2 (No such file or directory), outsize: 16
unique: 0, opcode: GETATTR (3), nodeid: 1, insize: 56
getattr /
   unique: 0, success, outsize: 136
unique: 2, opcode: OPENDIR (27), nodeid: 1, insize: 48
   unique: 2, success, outsize: 32
unique: 1, opcode: STATFS (17), nodeid: 1, insize: 40
statfs /
   unique: 1, success, outsize: 96
unique: 0, opcode: READDIR (28), nodeid: 1, insize: 80
readdir[0] from 0
   unique: 0, success, outsize: 80
unique: 2, opcode: GETATTR (3), nodeid: 1, insize: 56
getattr /
   unique: 2, success, outsize: 136
unique: 1, opcode: LOOKUP (1), nodeid: 1, insize: 44
LOOKUP /._.
getattr /._.
   unique: 1, error: -2 (No such file or directory), outsize: 16
unique: 0, opcode: READDIR (28), nodeid: 1, insize: 80
   unique: 0, success, outsize: 16
unique: 2, opcode: RELEASEDIR (29), nodeid: 1, insize: 64
   unique: 2, success, outsize: 16
unique: 1, opcode: GETATTR (3), nodeid: 1, insize: 56
getattr /
   unique: 1, success, outsize: 136
unique: 0, opcode: LISTXATTR (23), nodeid: 1, insize: 56
   unique: 0, error: -78 (Function not implemented), outsize: 16
unique: 2, opcode: LOOKUP (1), nodeid: 1, insize: 44
LOOKUP /._.
getattr /._.
   unique: 2, error: -2 (No such file or directory), outsize: 16
unique: 1, opcode: GETATTR (3), nodeid: 1, insize: 56
getattr /
   unique: 1, success, outsize: 136
unique: 0, opcode: LOOKUP (1), nodeid: 1, insize: 45
LOOKUP /test
getattr /test
   unique: 0, error: -2 (No such file or directory), outsize: 16
unique: 2, opcode: LOOKUP (1), nodeid: 1, insize: 45
LOOKUP /test
getattr /test
   unique: 2, error: -2 (No such file or directory), outsize: 16
unique: 1, opcode: OPENDIR (27), nodeid: 1, insize: 48
   unique: 1, success, outsize: 32
unique: 0, opcode: STATFS (17), nodeid: 1, insize: 40
statfs /
   unique: 0, success, outsize: 96
unique: 2, opcode: READDIR (28), nodeid: 1, insize: 80
readdir[0] from 0
   unique: 2, success, outsize: 80
unique: 1, opcode: READDIR (28), nodeid: 1, insize: 80
   unique: 1, success, outsize: 16
unique: 0, opcode: RELEASEDIR (29), nodeid: 1, insize: 64
   unique: 0, success, outsize: 16
unique: 2, opcode: LOOKUP (1), nodeid: 1, insize: 45
LOOKUP /test
getattr /test
   unique: 2, error: -2 (No such file or directory), outsize: 16
unique: 1, opcode: GETATTR (3), nodeid: 1, insize: 56
getattr /
   unique: 1, success, outsize: 136
unique: 0, opcode: LOOKUP (1), nodeid: 1, insize: 45
LOOKUP /test
getattr /test
   unique: 0, error: -2 (No such file or directory), outsize: 16
unique: 2, opcode: LOOKUP (1), nodeid: 1, insize: 44
LOOKUP /._.
getattr /._.
   unique: 2, error: -2 (No such file or directory), outsize: 16
unique: 1, opcode: LOOKUP (1), nodeid: 1, insize: 45
LOOKUP /test
getattr /test
   unique: 1, error: -2 (No such file or directory), outsize: 16
unique: 0, opcode: LOOKUP (1), nodeid: 1, insize: 45
LOOKUP /test
getattr /test
   unique: 0, error: -2 (No such file or directory), outsize: 16
unique: 2, opcode: OPENDIR (27), nodeid: 1, insize: 48
   unique: 2, success, outsize: 32
unique: 1, opcode: STATFS (17), nodeid: 1, insize: 40
statfs /
   unique: 1, success, outsize: 96
unique: 0, opcode: READDIR (28), nodeid: 1, insize: 80
readdir[0] from 0
   unique: 0, success, outsize: 80
unique: 2, opcode: READDIR (28), nodeid: 1, insize: 80
   unique: 2, success, outsize: 16
unique: 1, opcode: RELEASEDIR (29), nodeid: 1, insize: 64
   unique: 1, success, outsize: 16
unique: 0, opcode: GETATTR (3), nodeid: 1, insize: 56
getattr /
   unique: 0, success, outsize: 136
unique: 2, opcode: LOOKUP (1), nodeid: 1, insize: 44
LOOKUP /._.
getattr /._.
   unique: 2, error: -2 (No such file or directory), outsize: 16
unique: 1, opcode: LOOKUP (1), nodeid: 1, insize: 45
LOOKUP /test
getattr /test
   unique: 1, error: -2 (No such file or directory), outsize: 16
unique: 0, opcode: LOOKUP (1), nodeid: 1, insize: 45
LOOKUP /test
getattr /test
   unique: 0, error: -2 (No such file or directory), outsize: 16
unique: 2, opcode: GETATTR (3), nodeid: 1, insize: 56
getattr /
   unique: 2, success, outsize: 136
unique: 1, opcode: STATFS (17), nodeid: 1, insize: 40
statfs /
   unique: 1, success, outsize: 96
unique: 0, opcode: DESTROY (38), nodeid: 1, insize: 40
   unique: 0, success, outsize: 16
benlemasurier commented 12 years ago

Hey Luca, do you happen to have any IAM policies in place on the bucket? ls showed no directories, are there files in the bucket?

robertzx commented 12 years ago

I can't really get it to work either. I am accessing the bucket with an IAM-only user who is granted access to the bucket via a policy on the group to which the user belongs. This seems to work pretty well for ExpanDrive, Transmit, S3Hub, and s3cmd.

Here's a command sequence I tried with 0.02:

% touch /Users/Shared/stormfs/newfile
% cat /Users/Shared/stormfs/newfile
^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@...

(an apparently neverending series of zeros characters were output)

And the resulting storms -d log output -- notice that it just keeps trying to read from impossible offsets in "new file".

https://gist.github.com/1730376

lucaspiller commented 12 years ago

Hi Ben, No it is just an ordinary bucket. There are no files in it, as I had just created it in the S3 management console before mounting :)