gerard / ext4fuse

EXT4 implementation for FUSE
GNU General Public License v2.0
913 stars 110 forks source link

Cannot see/list mountpoint after mounting #8

Open tylercollier opened 13 years ago

tylercollier commented 13 years ago

Thanks for writing this, I'm excited to try it!

I'm using ext4fuse with Fuse4X on Mac OS X Lion 10.7 x86_64 (CPU is i7-2600K). I'm able to mount the device, but then can't get to the mountpoint. I suspect it's because I'm mounting it using sudo: "sudo ./ext4fuse /dev/disk0s2 /media/LinuxDisk". This succeeds, but then /media/LinuxDisk is assigned to user and group "1000" (instead of my uesr). At such point, I can't even see the mountpoint unless I use sudo. I.e. "ls -la" doesn't work, only "sudo ls -la" does. I see that Fuse4X has mount-time options of allow_other (http://fuse4x.org/options.html#allow_other), which I suspect might help, but I dont' know where I'd specify such option. I don't know how to run ext4fuse without using sudo, is there a way? Because if so, that'd probably be a simple fix.

Thoughts?

Also, the "empty ext4 filesystem" you've linked from the Wiki Home is dead.

tylercollier commented 13 years ago

Oh, I forgot to attach the log file.

[info] [op_init:20] Using FUSE protocol 7.16 [debug][__disk_read:43] Disk Read: 0x400 +0x400 [super_fill:68] [info] [super_fill:75] BLOCK SIZE: 4096 [info] [super_fill:76] BLOCK GROUP SIZE: 134217728 [info] [super_fill:77] N BLOCK GROUPS: 2235 [info] [super_fill:78] INODE SIZE: 256 [info] [super_fill:79] INODES PER GROUP: 8192 [debug][__disk_read:43] Disk Read: 0x1000 +0x20 [super_group_fill:106] ... This goes on for quite some time at different offsets ... [info] [dcache_init_root:47] Initializing root dcache entry

gerard commented 13 years ago

You should be able to mount the filesystem as any user that can read the filesystem device. In OSX 10.5, you can just add your user to the operator group (IIRC) that has only read permissions, which is a good thing.

About the flags that you need, you might want to try something like this: https://github.com/gerard/ext4fuse/issues/2#issuecomment-662985

Oh, and the empty ext4 filesystem should be up. I changed my home connection and forgot to configure dyndns in the new modem.

tylercollier commented 13 years ago

For anyone else encountering this issue, I was not able to resolve it by putting myself in the operator group (I even tried rebooting the machine). However, I was able to use it just fine if I enabled the root user and mounted and used the drive as the root user.

Unfortunately, I got a lot of corruptions. One time I tried copying a .sqlite3 file from my ext4 disk to my mac. The copy worked with no warnings, but when I tried to use the database, I got complaints of corruption from sqlite. I tried copying the file again, and this time it worked. However, another .sqlite3 database I tried to copy wouldn't work, no matter how many times I tried. Later I tried copying a decent size directory and got corruption errors from ext4fuse. I'd report the errors here except I've already switched back over to Linux and won't bother with Mac for the time being. Thanks Gerard for the work and I wish I could help you test more. If I go back to Mac, I'll be back :-)

gerard commented 13 years ago

I assume you used fuse4x, right? I only tested with macfuse.

tylercollier commented 13 years ago

You're correct, I used Fuse4x. IIRC, Fuse4x exists because the author of it thought that Macfuse had been abandoned, and perhaps it still worked, but I thought it was a better idea to go with something more recent. I actually don't remember though, I think I was so frustrated I tried Macfuse too, but it didn't work, but I don't remember why.

gerard commented 13 years ago

Yep, actually macfuse has problems of its own with the 64 bits build. Unfortunately, I only have a OSX Leopard, and my macbook pro overheats pretty fast so it's barely usable. My primary system now is a linux installation, and ext4fuse works fine there (not that it's that useful, though).

Thanks for trying, if I get my macbook pro fixed, I'll give a shot to fuse4x. I'll leave this issue open meanwhile.

akoscz commented 12 years ago

I tried it with OSXFuse http://osxfuse.github.com/ and I'm experiencing the same problem. Below are some logs.

$uname -a
Darwin Akoss-MacBook-Pro.local 11.2.0 Darwin Kernel Version 11.2.0: Tue Aug  9 20:54:00 PDT 2011; root:xnu-1699.24.8~1/RELEASE_X86_64 x86_64

$sw_vers -productVersion
10.7.2

$ext4fuse /dev/disk1s3 ~/sdcard ext4fuse_log.txt

$mount
...
ext4fuse@osxfuse0 on /Users/AkosCzikmantory/sdcard (osxfusefs, nodev, nosuid, synchronous, mounted by AkosCzikmantory)
$cat ext4fuse_log.txt
[info] [op_init:20] Using FUSE protocol 7.8
[debug][__disk_read:105] Disk Read: 0x400 +0x400 [super_fill:69]
[info] [super_fill:76] BLOCK SIZE: 1024
[info] [super_fill:77] BLOCK GROUP SIZE: 8388608
[info] [super_fill:78] N BLOCK GROUPS: 25
[info] [super_fill:79] INODE SIZE: 128
[info] [super_fill:80] INODES PER GROUP: 2016
[debug][__disk_read:105] Disk Read: 0x800 +0x20 [super_group_fill:107]
[debug][__disk_read:105] Disk Read: 0x820 +0x20 [super_group_fill:107]
[debug][__disk_read:105] Disk Read: 0x840 +0x20 [super_group_fill:107]
[debug][__disk_read:105] Disk Read: 0x860 +0x20 [super_group_fill:107]
[debug][__disk_read:105] Disk Read: 0x880 +0x20 [super_group_fill:107]
[debug][__disk_read:105] Disk Read: 0x8a0 +0x20 [super_group_fill:107]
[debug][__disk_read:105] Disk Read: 0x8c0 +0x20 [super_group_fill:107]
[debug][__disk_read:105] Disk Read: 0x8e0 +0x20 [super_group_fill:107]
[debug][__disk_read:105] Disk Read: 0x900 +0x20 [super_group_fill:107]
[debug][__disk_read:105] Disk Read: 0x920 +0x20 [super_group_fill:107]
[debug][__disk_read:105] Disk Read: 0x940 +0x20 [super_group_fill:107]
[debug][__disk_read:105] Disk Read: 0x960 +0x20 [super_group_fill:107]
[debug][__disk_read:105] Disk Read: 0x980 +0x20 [super_group_fill:107]
[debug][__disk_read:105] Disk Read: 0x9a0 +0x20 [super_group_fill:107]
[debug][__disk_read:105] Disk Read: 0x9c0 +0x20 [super_group_fill:107]
[debug][__disk_read:105] Disk Read: 0x9e0 +0x20 [super_group_fill:107]
[debug][__disk_read:105] Disk Read: 0xa00 +0x20 [super_group_fill:107]
[debug][__disk_read:105] Disk Read: 0xa20 +0x20 [super_group_fill:107]
[debug][__disk_read:105] Disk Read: 0xa40 +0x20 [super_group_fill:107]
[debug][__disk_read:105] Disk Read: 0xa60 +0x20 [super_group_fill:107]
[debug][__disk_read:105] Disk Read: 0xa80 +0x20 [super_group_fill:107]
[debug][__disk_read:105] Disk Read: 0xaa0 +0x20 [super_group_fill:107]
[debug][__disk_read:105] Disk Read: 0xac0 +0x20 [super_group_fill:107]
[debug][__disk_read:105] Disk Read: 0xae0 +0x20 [super_group_fill:107]
[debug][__disk_read:105] Disk Read: 0xb00 +0x20 [super_group_fill:107]
[info] [dcache_init_root:47] Initializing root dcache entry
[debug][op_getattr:23] getattr(/)
[debug][inode_get_idx_by_path:161] Looking up: /
[debug][inode_get_idx_by_path:166] Looking up after dcache: 
[debug][super_group_inode_table_offset:90] Inode table offset: 0x123
[debug][__disk_read:105] Disk Read: 0x48c80 +0x80 [inode_get_by_number:115]
[debug][op_getattr:32] getattr done
[debug][op_getattr:23] getattr(/._.)
[debug][inode_get_idx_by_path:161] Looking up: /._.
[debug][dcache_lookup:104] Looking up ._.,3: Not found (no childs)
[debug][inode_get_idx_by_path:166] Looking up after dcache: ._.
[debug][super_group_inode_table_offset:90] Inode table offset: 0x123
[debug][__disk_read:105] Disk Read: 0x48c80 +0x80 [inode_get_by_number:115]
[debug][__disk_read:105] Disk Read: 0x438c00 +0x400 [dir_ctx_update:68]
[debug][inode_dentry_get:90] 0/1024
[debug][inode_dentry_get:90] 12/1024
[debug][inode_dentry_get:90] 24/1024
[debug][inode_dentry_get:90] 44/1024
[debug][inode_dentry_get:90] 64/1024
[debug][inode_dentry_get:90] 1024/1024
[debug][op_getattr:23] getattr(/._.)
[debug][inode_get_idx_by_path:161] Looking up: /._.
[debug][dcache_lookup:104] Looking up ._.,3: Not found (no childs)
[debug][inode_get_idx_by_path:166] Looking up after dcache: ._.
[debug][super_group_inode_table_offset:90] Inode table offset: 0x123
[debug][__disk_read:105] Disk Read: 0x48c80 +0x80 [inode_get_by_number:115]
[debug][__disk_read:105] Disk Read: 0x438c00 +0x400 [dir_ctx_update:68]
[debug][inode_dentry_get:90] 0/1024
[debug][inode_dentry_get:90] 12/1024
[debug][inode_dentry_get:90] 24/1024
[debug][inode_dentry_get:90] 44/1024
[debug][inode_dentry_get:90] 64/1024
[debug][inode_dentry_get:90] 1024/1024
[debug][op_getattr:23] getattr(/._.)
[debug][inode_get_idx_by_path:161] Looking up: /._.
[debug][dcache_lookup:104] Looking up ._.,3: Not found (no childs)
[debug][inode_get_idx_by_path:166] Looking up after dcache: ._.
[debug][super_group_inode_table_offset:90] Inode table offset: 0x123
[debug][__disk_read:105] Disk Read: 0x48c80 +0x80 [inode_get_by_number:115]
[debug][__disk_read:105] Disk Read: 0x438c00 +0x400 [dir_ctx_update:68]
[debug][inode_dentry_get:90] 0/1024
[debug][inode_dentry_get:90] 12/1024
[debug][inode_dentry_get:90] 24/1024
[debug][inode_dentry_get:90] 44/1024
[debug][inode_dentry_get:90] 64/1024
[debug][inode_dentry_get:90] 1024/1024
[debug][op_getattr:23] getattr(/._.)
[debug][inode_get_idx_by_path:161] Looking up: /._.
[debug][dcache_lookup:104] Looking up ._.,3: Not found (no childs)
[debug][inode_get_idx_by_path:166] Looking up after dcache: ._.
[debug][super_group_inode_table_offset:90] Inode table offset: 0x123
[debug][__disk_read:105] Disk Read: 0x48c80 +0x80 [inode_get_by_number:115]
[debug][__disk_read:105] Disk Read: 0x438c00 +0x400 [dir_ctx_update:68]
[debug][inode_dentry_get:90] 0/1024
[debug][inode_dentry_get:90] 12/1024
[debug][inode_dentry_get:90] 24/1024
[debug][inode_dentry_get:90] 44/1024
[debug][inode_dentry_get:90] 64/1024
[debug][inode_dentry_get:90] 1024/1024
[debug][op_getattr:23] getattr(/._.)
[debug][inode_get_idx_by_path:161] Looking up: /._.
[debug][dcache_lookup:104] Looking up ._.,3: Not found (no childs)
[debug][inode_get_idx_by_path:166] Looking up after dcache: ._.
[debug][super_group_inode_table_offset:90] Inode table offset: 0x123
[debug][__disk_read:105] Disk Read: 0x48c80 +0x80 [inode_get_by_number:115]
[debug][__disk_read:105] Disk Read: 0x438c00 +0x400 [dir_ctx_update:68]
[debug][inode_dentry_get:90] 0/1024
[debug][inode_dentry_get:90] 12/1024
[debug][inode_dentry_get:90] 24/1024
[debug][inode_dentry_get:90] 44/1024
[debug][inode_dentry_get:90] 64/1024
[debug][inode_dentry_get:90] 1024/1024
[debug][op_getattr:23] getattr(/._.)
[debug][inode_get_idx_by_path:161] Looking up: /._.
[debug][dcache_lookup:104] Looking up ._.,3: Not found (no childs)
[debug][inode_get_idx_by_path:166] Looking up after dcache: ._.
[debug][super_group_inode_table_offset:90] Inode table offset: 0x123
[debug][__disk_read:105] Disk Read: 0x48c80 +0x80 [inode_get_by_number:115]
[debug][__disk_read:105] Disk Read: 0x438c00 +0x400 [dir_ctx_update:68]
[debug][inode_dentry_get:90] 0/1024
[debug][inode_dentry_get:90] 12/1024
[debug][inode_dentry_get:90] 24/1024
[debug][inode_dentry_get:90] 44/1024
[debug][inode_dentry_get:90] 64/1024
[debug][inode_dentry_get:90] 1024/1024
[debug][op_getattr:23] getattr(/._.)
[debug][inode_get_idx_by_path:161] Looking up: /._.
[debug][dcache_lookup:104] Looking up ._.,3: Not found (no childs)
[debug][inode_get_idx_by_path:166] Looking up after dcache: ._.
[debug][super_group_inode_table_offset:90] Inode table offset: 0x123
[debug][__disk_read:105] Disk Read: 0x48c80 +0x80 [inode_get_by_number:115]
[debug][__disk_read:105] Disk Read: 0x438c00 +0x400 [dir_ctx_update:68]
[debug][inode_dentry_get:90] 0/1024
[debug][inode_dentry_get:90] 12/1024
[debug][inode_dentry_get:90] 24/1024
[debug][inode_dentry_get:90] 44/1024
[debug][inode_dentry_get:90] 64/1024
[debug][inode_dentry_get:90] 1024/1024
[debug][op_getattr:23] getattr(/._.)
[debug][inode_get_idx_by_path:161] Looking up: /._.
[debug][dcache_lookup:104] Looking up ._.,3: Not found (no childs)
[debug][inode_get_idx_by_path:166] Looking up after dcache: ._.
[debug][super_group_inode_table_offset:90] Inode table offset: 0x123
[debug][__disk_read:105] Disk Read: 0x48c80 +0x80 [inode_get_by_number:115]
[debug][__disk_read:105] Disk Read: 0x438c00 +0x400 [dir_ctx_update:68]
[debug][inode_dentry_get:90] 0/1024
[debug][inode_dentry_get:90] 12/1024
[debug][inode_dentry_get:90] 24/1024
[debug][inode_dentry_get:90] 44/1024
[debug][inode_dentry_get:90] 64/1024
[debug][inode_dentry_get:90] 1024/1024
[debug][op_getattr:23] getattr(/._.)
[debug][inode_get_idx_by_path:161] Looking up: /._.
[debug][dcache_lookup:104] Looking up ._.,3: Not found (no childs)
[debug][inode_get_idx_by_path:166] Looking up after dcache: ._.
[debug][super_group_inode_table_offset:90] Inode table offset: 0x123
[debug][__disk_read:105] Disk Read: 0x48c80 +0x80 [inode_get_by_number:115]
[debug][__disk_read:105] Disk Read: 0x438c00 +0x400 [dir_ctx_update:68]
[debug][inode_dentry_get:90] 0/1024
[debug][inode_dentry_get:90] 12/1024
[debug][inode_dentry_get:90] 24/1024
[debug][inode_dentry_get:90] 44/1024
[debug][inode_dentry_get:90] 64/1024
[debug][inode_dentry_get:90] 1024/1024
$ls ~/sdcard
ls: sdcard: Permission denied
$cat ext4fuse_log.txt
...
[debug][op_getattr:23] getattr(/)
[debug][inode_get_idx_by_path:161] Looking up: /
[debug][inode_get_idx_by_path:166] Looking up after dcache: 
[debug][super_group_inode_table_offset:90] Inode table offset: 0x123
[debug][__disk_read:105] Disk Read: 0x48c80 +0x80 [inode_get_by_number:115]
[debug][op_getattr:32] getattr done
ghost commented 11 years ago

10.9 Mavericks. I'm seeing the same thing here using OSX fuse as well. The partition is a 1TB in size.

[info] [op_init:20] Using FUSE protocol 7.8 [debug][disk_read:105] Disk Read: 0x400 +0x400 [super_fill:57] [info] [super_fill:59] BLOCK SIZE: 4096 [info] [super_fill:60] BLOCK GROUP SIZE: 134217728 [info] [super_fill:61] N BLOCK GROUPS: 8195 [info] [super_fill:62] INODE SIZE: 256 [info] [super_fill:63] INODES PER GROUP: 8192 [debug][__disk_read:105] Disk Read: 0x1000 +0x20 [super_group_fill:90] [debug][disk_read:105] Disk Read: 0x1020 +0x20 [super_group_fill:90] [debug][disk_read:105] Disk Read: 0x1040 +0x20 [super_group_fill:90] [debug][__disk_read:105] Disk Read: 0x1060 +0x20 [super_group_fill:90] [debug][disk_read:105] Disk Read: 0x1080 +0x20 [super_group_fill:90] [debug][disk_read:105] Disk Read: 0x10a0 +0x20 [super_group_fill:90] [debug][__disk_read:105] Disk Read: 0x10c0 +0x20 [super_group_fill:90] [debug][disk_read:105] Disk Read: 0x10e0 +0x20 [super_group_fill:90] [debug][disk_read:105] Disk Read: 0x1100 +0x20 [super_group_fill:90] [debug][__disk_read:105] Disk Read: 0x1120 +0x20 [super_group_fill:90] [debug][disk_read:105] Disk Read: 0x1140 +0x20 [super_group_fill:90] [debug][disk_read:105] Disk Read: 0x1160 +0x20 [super_group_fill:90] [debug][__disk_read:105] Disk Read: 0x1180 +0x20 [super_group_fill:90] ... [debug][disk_read:105] Disk Read: 0x40f20 +0x20 [super_group_fill:90] [debug][disk_read:105] Disk Read: 0x40f40 +0x20 [super_group_fill:90] [debug][__disk_read:105] Disk Read: 0x40f60 +0x20 [super_group_fill:90] [debug][disk_read:105] Disk Read: 0x40f80 +0x20 [super_group_fill:90] [debug][disk_read:105] Disk Read: 0x40fa0 +0x20 [super_group_fill:90] [debug][__disk_read:105] Disk Read: 0x40fc0 +0x20 [super_group_fill:90] [debug][disk_read:105] Disk Read: 0x40fe0 +0x20 [super_group_fill:90] [debug][disk_read:105] Disk Read: 0x41000 +0x20 [super_group_fill:90] [debug][__disk_read:105] Disk Read: 0x41020 +0x20 [super_group_fill:90] [debug][disk_read:105] Disk Read: 0x41040 +0x20 [super_group_fill:90] [info] [dcache_init_root:47] Initializing root dcache entry [debug][op_getattr:23] getattr(/) [debug][inode_get_idx_by_path:202] Looking up: / [debug][inode_get_idx_by_path:207] Looking up after dcache: [debug][super_group_inode_table_offset:73] Inode table offset: 0x421 [debug][disk_read:105] Disk Read: 0x421100 +0x9c [inode_get_by_number:155] [debug][op_getattr:32] getattr done [debug][op_getattr:23] getattr(/) [debug][inode_get_idx_by_path:202] Looking up: / [debug][inode_get_idx_by_path:207] Looking up after dcache: [debug][super_group_inode_table_offset:73] Inode table offset: 0x421 [debug][disk_read:105] Disk Read: 0x421100 +0x9c [inode_get_by_number:155] [debug][op_getattr:32] getattr done