Open gpz500 opened 8 years ago
For anyone with the same problem, my fork gpz500/fuse-ext2 (specifically since commit 21c9a2e4f12c41fae15a6caa7bd855c5d73ba029) solves this issue. It includes also solutions, picked up from discussions on respective issues, to issues #32 and #33. And, finally, it installs whitout having to disable SIP.
I think I am having the same issue but even with gpz500's fork, I am getting the same error. I'm trying to mount a portable HDD, not a memory stick, although I can't imagine why that would make a difference.
The error I am getting is the same as noted previously:
2016-06-27 22:12:23: fuse-ext2 script invoked with command line "/System/Library/Filesystems/fuse-ext2.fs/Contents/Resources/../../fuse-ext2.util" "-p" "disk5s1" "removable" "readonly" "" "" "" "" ""
2016-06-27 22:12:23: Invoking user: root
2016-06-27 22:12:24: [Probe] Entering function Probe...
2016-06-27 22:12:24: [Probe] Executing "/usr/local/bin/fuse-ext2.probe" "/dev/disk5s1" 2>&1
2016-06-27 22:12:24: [Probe] Return value: 0
2016-06-27 22:12:24: [Probe] Volname :
2016-06-27 22:12:24: [Probe] Output (PROBE_OUTPUT): ""
2016-06-27 22:12:24: fuse-ext2 script invoked with command line "/System/Library/Filesystems/fuse-ext2.fs/Contents/Resources/../../fuse-ext2.util" "-k" "disk5s1" "" "" "" "" "" "" ""
2016-06-27 22:12:24: Invoking user: root
2016-06-27 22:12:24: [PrintUUID] Entering function PrintUUID...
2016-06-27 22:12:24: [PrintUUID] PrintUUID not implemented, returning FSUR_INVAL.
2016-06-27 22:12:24: [PrintUUID] Returning from function PrintUUID...
2016-06-27 22:12:24: fuse-ext2 script invoked with command line "/System/Library/Filesystems/fuse-ext2.fs/Contents/Resources/../../fuse-ext2.util" "-q" "/dev/rdisk5s1" "" "" "" "" "" "" ""
2016-06-27 22:12:24: Invoking user: root
2016-06-27 22:12:24: [QuickVerify] Entering function QuickVerify.
2016-06-27 22:12:24: [QuickVerify] Reporting that the volume is fine, even though that may not be the case (no fs checks performed).
2016-06-27 22:12:24: [QuickVerify] Returning from function QuickVerify.
2016-06-27 22:12:24: fuse-ext2 script invoked with command line "/System/Library/Filesystems/fuse-ext2.fs/fuse-ext2.util" "-m" "-o" "nodev" "-o" "noowners" "-o" "nosuid" "/dev/disk5s1" "/Volumes/Untitled 1"
2016-06-27 22:12:24: Invoking user: root
2016-06-27 22:12:24: [Mount] Entering function Mount...
2016-06-27 22:12:24: [Mount] Processing argument "/dev/disk5s1"
2016-06-27 22:12:24: [Mount] Processing argument "/Volumes/Untitled 1"
2016-06-27 22:12:24: [Mount] Got plain device "/dev/disk5s1"
2016-06-27 22:12:24: [Mount] Got raw device "/dev/rdisk5s1"
2016-06-27 22:12:24: [Mount] Invoking:
2016-06-27 22:12:24: [Mount] "/usr/local/bin/fuse-ext2.wait" "/Volumes/Untitled 1" "5" "/usr/local/bin/fuse-ext2" "/dev/disk5s1" "/Volumes/Untitled 1" "-oauto_xattr,defer_permissions,local"
2016-06-27 22:12:29: [Mount] /usr/local/bin/fuse-ext2.wait returned with retval: 0
2016-06-27 22:12:29: [Mount] Output from mount operation: Mounting /dev/disk5s1 Read-Only.
Use 'force' or 'rw+' options to enable Read-Write mode
mount_osxfusefs: 'default_permissions' can't be used with 'defer_permissions'
Did not receive a signal within 5.000000 seconds. Exiting...
2016-06-27 22:12:29: [Mount] Executing "/usr/local/bin/fuse-ext2.daemon"
2016-06-27 22:12:29: [Mount] Exiting function mount...
I've tested using gpz500's fork (commit 45bcd02e, latest; fuse-ext2 --version
reports itself as fuse-ext2 0.0.9-gpz501 27
) and also the main alperakcan version (commit 71393044) and I seem to get an identical error in both cases.
Mounting manually seems to work OK, but sure is inconvenient.
This is on OS 10.10.5 with latest dependencies from Brew. OSXFUSE is version 2.8.3.
Hi @kadin2048, I tested my fork only on OS X 10.11.x (El Capitan) so I can't say if it is working on previous versions of OS X.
In any case, it seems that the failed mount cause is the option defer_permissions
which, with recent versions of FUSE for OS X, is no more compatible with the option default_permissions
(which, in turn, is forced by the command fuse-ext2: https://github.com/alperakcan/fuse-ext2/blob/master/fuse-ext2/fuse-ext2.c#L29). So, please, try to edit /System/Library/Filesystems/fuse-ext2.fs/fuse-ext2.util in this way: change the line
OPTIONS="auto_xattr,defer_permissions"
to
OPTIONS="auto_xattr"
, and check if the log changes.
Just a question: the log you have reported is not from my fork, right? In the log it results that the fuse-ext2.fs
package is in /System/Library/Filesystems
, while with my fork it should be in /Library/Filesystems
; and in my fuse-ext2.util
file there is no longer any option defer_permissions
.
@gpz500: Thanks for your response. The log above was supposed to be from your fork (45bcd02, specifically), but I did not notice that any of the install paths had changed, and I didn't explicitly remove any of the previously-installed products (built from 7139304); I just sudo make install
-ed thinking that they would be the same and get clobbered. (Although fuse-ext2 --version
did report the correct version string as though it had been changed, so that threw me off. But maybe not everything was the updated version.)
I will try to blow everything away and try a clean reinstallation of 45bcd02 to see if that fixes the issue.
Is there a recommended method of uninstalling alperakcan's version completely, or list of files that need to be deleted to ensure it's completely gone? I am still not able to get it working and I can't tell if it's a problem related to 10.10.5 or if it's stemming from having the remains of alperakcan's branch installed with gpz500's on top of it.
I deleted /System/Library/Filesystems/fuse-ext2.fs
but now I'm getting an error mount: exec /System/Library/Filesystems/fuse-ext2.fs/Contents/Resources/mount_fuse-ext2 for /private/tmp/disk3s1: No such file or directory
so clearly somebody is still looking for it and I haven't uninstalled the old version completely.
(For the record, I have tried running sudo make uninstall
from commit 7139304 but I'm getting no logfile and the error noted above after I try to install gpz500's latest after that.)
Hello @kadin2048,
is there a symbolic link /sbin/mount_fuse-ext2
insisting to point to /System/Library/Filesystems/fuse-ext2.fs/...
? This one, unfortunately, is not removed by sudo make uninstall
...
Please verify with the command:
$ ls -l /sbin
and, in such a case, delete it.
In any case, deleting all the following objects from alperkcan installation, should be sufficient to get a clean start:
/usr/local/bin/fuse-ext2
/usr/local/bin/fuse-ext2.install
/usr/local/bin/fuse-ext2.probe
/usr/local/bin/fuse-ext2.uninstall
/usr/local/bin/fuse-ext2.wait
/sbin/mount_fuse-ext2
/System/Library/Filesystems/fuse-ext2.fs
/Library/PreferencePanes/fuse-ext2.prefPane
/usr/local/lib/pkgconfig/fuse-ext2.pc
/usr/local/share/man/man1/fuse-ext2.1
The same objects are installed in slight different locations by my (gpz500) fork:
/usr/local/bin/fuse-ext2
/usr/local/bin/fuse-ext2.install
/usr/local/bin/fuse-ext2.probe
/usr/local/bin/fuse-ext2.uninstall
/usr/local/bin/fuse-ext2.wait
/usr/local/sbin/mount_fuse-ext2
/Library/Filesystems/fuse-ext2.fs
/Library/PreferencePanes/fuse-ext2.prefPane
/usr/local/lib/pkgconfig/fuse-ext2.pc
/usr/local/share/man/man1/fuse-ext2.1
At the insertion of an USB memory stick with a single ext4 partition, the partition is not mounted and these lines compare in /var/log/fuse-ext2_util.log:
After having removed
defer_permissions
from mount options (modified /System/Library/Filesystems/fuse-ext2.fs/fuse-ext2.util asOPTIONS="auto_xattr,defer_permissions" --> OPTIONS="auto_xattr"
) it works as expected.