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

apfs-fuse support old mac #14

Closed
kostakoff opened this issue Feb 27, 2018 · 8 comments
Closed

apfs-fuse support old mac #14

kostakoff opened this issue Feb 27, 2018 · 8 comments
Assignees

Comments

@kostakoff
Copy link

Hi, I maked fork of your project https://github.com/eret1k/apfs-fuse and modify code for support old mac systems.
Maybe You will be adding mac support in your project, for crossplatform?

@tempelmann
Copy link

eret1k: Thanks for making the effort and sharing your changes.

However, there are a few things you could improve:

Please first remove all .DS_Store files and also update your user's .gitignore file (in your home folder) so that you never accidentally check them in again? Also, it would be nice if you'd enable Issues tracking on your fork so that others can make you aware of other issues.

And if you change files, you should keep them so that they still also fix for Linux. You cannot expect the person (e.g. sgan81) merging your changes to take care of that. For instance, your readme has erased all the Linux related info. You should instead make several sections so that there's one for Linux and one for macOS, keeping the original infos. And you apparently changed "replace linux to APPLE" in many files - again, you should make the changes so that your version can still be compiled for Linux as well.

Otherwise, it makes it difficult to merge your changes into the sgan81's version. Which would lead to having two separate branches for Mac and Linux. That's not good at all in the long run.

If you make the changes, you could then use github's "Create Pull Request" button to have your changes merged into sgan81's more conveniently.

@RJVB
Copy link

RJVB commented Mar 20, 2018

This does beg the question why the current code is Linux-specific? Seems a bit surprising given the target (an Apple FS) and that FUSE is cross-platform...

@sgan81
Copy link
Owner

sgan81 commented Apr 11, 2018

Well, Mac users can update to High Sierra in order to have APFS support ... ;-)

Actually, today I ported the whole thing to OS X. I was just able to test on 10.13 though. Feel free to test older versions and report if they are working or not.

@sgan81 sgan81 self-assigned this Apr 11, 2018
@RJVB
Copy link

RJVB commented Apr 11, 2018 via email

@sgan81
Copy link
Owner

sgan81 commented Apr 12, 2018

As I said, now the apfs-fuse should compile and run on macOS as well.

And no, APFS is not exclusive to SSDs. Only when a user is updating from 10.12 to 10.13, SSDs get converted to APFS, HDs and Fusion Drives don't. But you can in fact install macOS 10.13 on a HD formatted with APFS. I did it several times for testing purposes. It's just quite a bit slower than HFS+. Probably that's the reason why HDs don't get converted automatically yet. You can also create DMGs formatted with APFS.

@RJVB
Copy link

RJVB commented Apr 12, 2018 via email

@sgan81
Copy link
Owner

sgan81 commented Apr 12, 2018

I never compared APFS and ZFS performance-wise.

The slow performance on HDs when reading (writing is fast) is mainly due to the metadata blocks being spread over the whole device. This causes a lot of head movement on a HD, but isn't a problem on SSDs. Although I never tested APFS on an SSD.

I don't know the minimum version of macOS that supports apfs-fuse. It needs a compiler supporting C++11, that might be the limiting factor.

@kostakoff
Copy link
Author

Thank You very much for the added support of Mac.
I delete my fork.
You can propose add the driver to Homebrew repo.

@sgan81 sgan81 closed this as completed Apr 20, 2018
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

4 participants