Skip to content
New issue

Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? # to your account

Error listing folders on image from mojave 10.14.2 #76

Closed
ydkhatri opened this issue Jan 17, 2019 · 10 comments
Closed

Error listing folders on image from mojave 10.14.2 #76

ydkhatri opened this issue Jan 17, 2019 · 10 comments
Assignees

Comments

@ydkhatri
Copy link
Contributor

When listing folders the following errors are seen and several folders cannot be browsed. This is using latest apfs-fuse on Ubuntu 14.04 32-bit. See below trying to run ls -al on root of mounted disk.

$ ls -al
ls: cannot access usr: Input/output error
ls: cannot access .DS_Store: Input/output error
ls: cannot access bin: Input/output error
ls: cannot access installer.failurerequests: Input/output error
ls: cannot access Network: Input/output error
ls: cannot access sbin: Input/output error
ls: cannot access .file: Input/output error
ls: cannot access etc: Input/output error
ls: cannot access var: Input/output error
ls: cannot access Library: Input/output error
ls: cannot access System: Input/output error
ls: cannot access private: Input/output error
ls: cannot access .vol: Input/output error
ls: cannot access Applications: Input/output error
ls: cannot access dev: Input/output error
ls: cannot access tmp: Input/output error
ls: cannot access cores: Input/output error
total 0
d????????? ? ?    ?     ?            ? Applications
d????????? ? ?    ?     ?            ? bin
d????????? ? ?    ?     ?            ? cores
d????????? ? ?    ?     ?            ? dev
d--x--x--x 1 root root  7 Jan  9 06:57 .DocumentRevisions-V100
-????????? ? ?    ?     ?            ? .DS_Store
l????????? ? ?    ?     ?            ? etc
-????????? ? ?    ?     ?            ? .file
drwx------ 1 root root 71 Jan  9 06:57 .fseventsd
dr-xr-xr-t 1 root root  0 Sep 25  2017 .HFS+ Private Directory Data?
dr-xr-xr-x 1 root root  0 Sep 25  2017 home
-????????? ? ?    ?     ?            ? installer.failurerequests
d????????? ? ?    ?     ?            ? Library
dr-xr-xr-x 1 root root  0 Sep 25  2017 net
d????????? ? ?    ?     ?            ? Network
drwxr-xr-x 1 root root  0 Jan  2 13:34 .PKInstallSandboxManager-SystemSoftware
d????????? ? ?    ?     ?            ? private
d????????? ? ?    ?     ?            ? sbin
drwx------ 1 root root  3 Sep 25  2017 .Spotlight-V100
d????????? ? ?    ?     ?            ? System
l????????? ? ?    ?     ?            ? tmp
d-wx-wx-wt 1 root root  0 Sep 25  2017 .Trashes
drwxr-xr-x 1 root root  5 Dec 28 13:11 Users
d????????? ? ?    ?     ?            ? usr
l????????? ? ?    ?     ?            ? var
d????????? ? ?    ?     ?            ? .vol
drwxr-xr-x 1 root root  1 Jan  9 06:57 Volumes

$ cd Applications
bash: cd: Applications: Input/output error

@sgan81 sgan81 self-assigned this Feb 6, 2019
@chrhartung
Copy link

same problem on raspbian 9
Disk was created on MacOS Mojave 10.14.2 and is fully encrypted

@ydkhatri
Copy link
Contributor Author

Mine was not encrypted.

@sgan81
Copy link
Owner

sgan81 commented Feb 21, 2019

Strange ... never encountered this problem before.
Can you run it with -d 255, execute the ls -al and post the console output?

@ydkhatri
Copy link
Contributor Author

Can you run it with -d 255, execute the ls -al and post the console output?

Output was a little large, so attaching as files here:

debug_on_mount.txt
debug_ls-al_root.txt

@sgan81
Copy link
Owner

sgan81 commented Feb 21, 2019

Thanks, I will look into that.

@sgan81
Copy link
Owner

sgan81 commented Feb 21, 2019

Ok, I see the problem ... all files with inode numbers > 4G fail. Because fuse_ino_t is defined as unsigned long, which is 32 bits on 32-bit platforms, and APFS uses 64-bit object id's. This will be quite hard to get working on 32-bit platforms ...

@ydkhatri
Copy link
Contributor Author

Thanks that makes sense. Perhaps you could also add a note to use only 64bit platform. Maybe even a check in code, so it can't be compiled on 32bit.

@sgan81
Copy link
Owner

sgan81 commented Feb 23, 2019

Actually, the inode size has been defined as 64 bit in upstream since 2013, which would solve the problem ...
With a newer version of fuse than what you and I were using, this should actually be quite simple to fix. But I need to investigate a bit more.

sgan81 added a commit that referenced this issue Apr 12, 2019
Added option to specify the physical block size (issue #74).
Updated to FUSE-3, now apfs-fuse runs properly on 32-bit systems (issue #76).
@sgan81
Copy link
Owner

sgan81 commented Apr 12, 2019

I have now updated apfs-fuse to use FUSE 3.0, it does now run properly on 32-bit systems.

You probably need to manually build and install fuse 3 on Ubuntu 14.04. The latest fuse version not requiring meson to build is fuse 3.1.1, which worked fine in my tests.

@ydkhatri
Copy link
Contributor Author

Thanks, will take a look.

# for free to join this conversation on GitHub. Already have an account? # to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants