Skip to content
New issue

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

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

Already on GitHub? Sign in 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.

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

No branches or pull requests

3 participants