In fact it does work -- I was using a /dev/diskx so needed sudo. I managed to create a filesystem, add files on another machine and read them from my Catalina box.
Still, creating the filesystem on another, more recent, linux box does not work because fuse-xfs does not support V5 -- so an XFS filesystem created on a modern machine will not be recognized.
I figured out you use xfsprogs, which I'm willing to upgrate to a more recent version, so I pulled 3.1.4 (based on xfsprogs/VERSION) from kernel.org, but there are differences in the tree... Did you make alterations?
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
I'm afraid I have not had time to work on fuse-xfs to keep it up to date. I generally use /usr/local/bin/xfs-cli which is installed with the package to access my disk drives when I lose access with macFUSE / osxFUSE.
You can execute that in a terminal like this /usr/local/bin/xfs-cli /dev/rdisk1
(depending on which disk you want to access). You probably still need sudo
The commands are fairly straight forward, if you are familiar with the terminal interface, and you can use that to browse files on the disk, and copy files off the disk. Supported commands include: ls : list the contents of the directory cd $DIRECORY: change into a directory cat $FILE: write the contents of a file to the screen. get $FILE: copy the file to the current directory (where xfs-cli was run from)
It is not well documented, since it is a last resort for when the osx fuse fails for some reason.
As for whether the xfsprogs code was modified: Yes it was, to make it compile correctly on Mac OS X. I thought I had separate commits for my fixes. Ah, here it is. The original source was added at commit b9f8e4. I managed to lose that history (or direct access to that history) when I rearranged the file structure in commit ef8446.
Please feel free to try to get it to work, and submit a patch if you get anything right. To be honest, I don't think I will be getting round to fixing this for modern versions of OSX or XFS during this year.
Hope that helps!
Kind regards
Alexandre
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Hello,
Do think it would be possible to compile it for Apple M1 and M2 chips?
Do you please have a dmg available? My OpenSuSE laptop died on me and need to get data out of there.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
I think it should be possible to compile for M1 and M2 chips, if I recall correctly the types are well specified in the xfsprogs code, so it should work fine.
However, I tried to access an XFS volume on a more recent XFS based linux install, and found that the xfsprogs currently in use is not compatible with recent XFS filesystems. As noted above, it will take quite some work to get that working.
I am no longer on a Mac OS X system, so I will not be attempting to support the newer XFS filesystems in the near future.
Kind regards
Alexandre
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Hi,
Thank you for the quick reply. I did not have a luck even with the commercial product. My disk is using snapshots and I did not see all folders etc. To get the XFS working again would most likely require remerge the latest XFS codebase. That is well beyound my knowledge.
After all I was able to get my data out using Ubuntu USB stick fairly easily.
Best,
Radovan
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
I have been able to build and use osxFuse with macFUSE 4.0.5 on Catalina and the following patch.
This one removes a deprecation warning (since 10.12). I wonder if there was a (performance?) reason for using
syscall(FSCTL, ...
instead of this.Having said that, it's still not working, giving
If there's something I can help with...
Last edit: Christophe Migliorini 2021-02-11
In fact it does work -- I was using a
/dev/diskx
so neededsudo
. I managed to create a filesystem, add files on another machine and read them from my Catalina box.Still, creating the filesystem on another, more recent, linux box does not work because fuse-xfs does not support V5 -- so an XFS filesystem created on a modern machine will not be recognized.
I figured out you use xfsprogs, which I'm willing to upgrate to a more recent version, so I pulled 3.1.4 (based on
xfsprogs/VERSION
) from kernel.org, but there are differences in the tree... Did you make alterations?Hi!
Thanks for the feedback!
I'm afraid I have not had time to work on fuse-xfs to keep it up to date. I generally use
/usr/local/bin/xfs-cli
which is installed with the package to access my disk drives when I lose access with macFUSE / osxFUSE.You can execute that in a terminal like this
/usr/local/bin/xfs-cli /dev/rdisk1
(depending on which disk you want to access). You probably still need
sudo
The commands are fairly straight forward, if you are familiar with the terminal interface, and you can use that to browse files on the disk, and copy files off the disk. Supported commands include:
ls
: list the contents of the directorycd $DIRECORY
: change into a directorycat $FILE
: write the contents of a file to the screen.get $FILE
: copy the file to the current directory (wherexfs-cli
was run from)It is not well documented, since it is a last resort for when the osx fuse fails for some reason.
As for whether the xfsprogs code was modified: Yes it was, to make it compile correctly on Mac OS X. I thought I had separate commits for my fixes. Ah, here it is. The original source was added at commit
b9f8e4
. I managed to lose that history (or direct access to that history) when I rearranged the file structure in commitef8446
.Please feel free to try to get it to work, and submit a patch if you get anything right. To be honest, I don't think I will be getting round to fixing this for modern versions of OSX or XFS during this year.
Hope that helps!
Kind regards
Alexandre
Hi, Thanks much for replying! In fact my main issue is support for XFS v5.
But then yes, it's going to be a decent amount of work to get a more recent xfsprogs 5+ to compile. I'll give it a shot anyway.
Hi, I thought I would give you an update.
xfsprogs
v4.18.0
is the last version that offers support for darwin (and it was not compiling that much...). I sort of fixed it here.https://github.com/cmigliorini/xfsprogs-dev/pull/1/files
Was able to use
mkfs-xfs
andxfs_repair
on a file. Then Idd-
-ed the file to a diskand was able to mount it from a Linux box.Last edit: Christophe Migliorini 2021-03-12
Hello,
Do think it would be possible to compile it for Apple M1 and M2 chips?
Do you please have a dmg available? My OpenSuSE laptop died on me and need to get data out of there.
Hi!
I think it should be possible to compile for M1 and M2 chips, if I recall correctly the types are well specified in the xfsprogs code, so it should work fine.
However, I tried to access an XFS volume on a more recent XFS based linux install, and found that the xfsprogs currently in use is not compatible with recent XFS filesystems. As noted above, it will take quite some work to get that working.
I am no longer on a Mac OS X system, so I will not be attempting to support the newer XFS filesystems in the near future.
Kind regards
Alexandre
Hi,
Thank you for the quick reply. I did not have a luck even with the commercial product. My disk is using snapshots and I did not see all folders etc. To get the XFS working again would most likely require remerge the latest XFS codebase. That is well beyound my knowledge.
After all I was able to get my data out using Ubuntu USB stick fairly easily.
Best,
Radovan