-
Notifications
You must be signed in to change notification settings - Fork 13
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
Operation not permitted (EPERM) on some files #32
Comments
@sbond75 can you post the output of these: hfsfuse -v
sudo ./hfsdump /dev/sdf2 xattr /Downloads/.DS_Store
sudo ./hfsdump /dev/sdf2 stat /Downloads/.DS_Store I'm mostly looking to see if the second command lists an com.apple.decmpfs attribute and whether zlib or lzfse appear in the first. Files that use HFS+'s compression mechanism have no extents, but if hfsfuse can't decompress those the size ought to be 0 and it looks like from your trace that it's 8196, so I'm wondering if it's a bug with decmpfs handling. |
Here is is:
|
Thanks, that rules out compression. Nothing looks unusual about the record info from hfsdump stat either. If there weren't any messages like "read of x bytes at offset y failed (block size z)" or any other errors when you ran hfsdump read, then I think that narrows it down to a problem locating the extent records themselves in Just to be sure, it might be worth first rebuilding with |
I was able to reproduce this. It's a bug during the extents lookup mentioned above that's causing the search to be cancelled early with no results when it shouldn't be, specifically at this point Lines 653 to 658 in 5a7de8c
The Apple driver also confirms this shouldn't be the case here. I'll need to debug this a bit more but should be able to sort it out now that I have a repro. Edit: found the issue, this ought to fix it cc49395 |
The fix works, thanks! |
For some .DS_Store files and a zip file on an HFS+ drive I've been copying from, the
read
syscall fails with EPERM:This file is readable when using the hfsplus driver on Linux and has some binary content, so it seems to be an hfsfuse issue. Upon checking with hfsdump with
sudo ./hfsdump /dev/sdf2 read /Downloads/.DS_Store
, it returns exit code 255. I used gdb on it and found thathfslib_get_file_extents
was returning 0, meaning there are no extents for the file but there should probably be extents?How can this be debugged further?
The text was updated successfully, but these errors were encountered: