Do I use APFS?

Yes and no. On my 2016 MacBook Pro with Touch Bar and Touch ID. Yes. Of course, but not on a hack. Absolutely not.

The reason for this is that APFS is developed for Apple hardware, with Apple firmware. Third party solid state media do not come with/support the Apple firmware, which will try to fix errors for you (think strong ECC) but that won’t happen on third party SSD’s. At least not in the same degree.

Many people will be sorry one day soon… and I am not going to be one of them. No thanks.

Let’s take cp as example. Blistering fast, but then again. it won’t actually copy the file. It’s more like a symbolic link (to some degree) and thus if a file is damaged… from a hardware point of view, then you are toast, since there is no way of telling that the content of that file didn’t change. This due to the lack of user data checksums.

Advertisements

29 thoughts on “Do I use APFS?

  1. echo hi > hello && cp hello bye && cat bye
    Still works. In what sense is that a symbolic-link-like operation with APFS?

    • There are many exceptions, and yeah if you modify the content of a file, then you get two different files. Not a symboli-link-like thing. How else should that work?

      • First off this post is inaccurate, `cp -c` is required for blistering fast copies. Secondly, modifying a sym-link-type file does not create two copies of it, but instead stores only the changed bits separately and combines the original and changed bits on the fly when you go to read it. Important difference as significant disk space can be saved with this method.

      • Hi Erik,

        Yes. The -c argument will try to use the APFS API to clone the file. When available. Otherwise you get this error:

        clonefile failed: Operation not supported

        Thank you for mention this. I didn’t even notice that -c was missing.

  2. Can’t be the EFI code ripped off, and then used in an emulation layer? I don’t want to use again crappy Apple hardware, they have nothing to offer for me anymore. Instead they should sell macOS for PC 😛

      • I must admit knowing nearly nothing about APFS. So being completely ignorant of (and thanks for correcting us!), a few avenues spring to mind for exploring here:

        * We know APFS works best (and is designed for SSDs). But doesn’t APFS also have some safetly / fallback mode for working on mechanical HDDs? Could that not be forced instead for 3rd party ssds?

        * Or what if you want to plug in some 3rd party external drive for your mac. Which is an SSD over USB 3.1 or Thunderbolt? You cannot format them to APFS either? …its a similar situation. Devices like the Samsung T3 for example.

        I was also wondering if APFS has an equivalent feature for having dual mirrored disks as boot volumes, like a ZFS rpool mirror. For other protection, against more general boot disk failure / total disk failure.

      • There are checksums only for meta data. Not the user data. Apple relies on ECC for (hardware) error detecting and correcting. Chances are slim that you run into real problems, but data my get lost some time in the future.

        You know what. I have pictures from my grandparents, and their grandparents, but there are too many people that lost so many memories. That is only going to get worse. And nobody really prints their pictures anymore. What a shame.

  3. What are your thoughts in regards to the rumor apple is allowing 3rd party m.2 drives for upcoming 2018 mac pro? IMO one of the main reasons the cheese grater mac pro was and still is such a hit is the fact pros can go in and easily add more storage etc. Perhaps they will allow certain makes and models (say the samsung 960pro m.2 drives) to be compatible with future versions of 10.13? Arnt most internal apple ssds varients of stock oem sandisk and samsung m.2 drives anyway (sm951..etc)? In therory wouldn’t it fairly easy to flash the firmware of said drives to make them as reliable as ‘genuine’ apple hardware?

    • I get it. The IONVMeFamily.kext is made spec compliant in macOS High Sierra, and thus people have high hopes that Apple will support third party flash devices in future Mac Pro models. Well. That is not unlikely.

      Apple flash devices are specifically made for Apple (hardware) and you cannot extract the flash firmware from an Apple device and burn it on, say some Samsung device. That is not going to work.

  4. What if people choose to format their external hard drives/USBs with APFS? Why would Apple allow people to even use the format if it relies so heavily on corresponding Apple-only firmware?

    • Hola. It’s not like you cannot use APFS on thirds party hardware. It’s just that Apple knows what they can rely on. For error detection and correction, since it’s basically their own hardware.

      The lack of third party tools for APFS is something to keep in mind. For HFS there we have some really awesome tools. Maybe we do not need them anymore with APFS, but that is something we will find out in due time.

  5. Hi, Pike. Long time no see. How is everything going?
    Firstly “The reason for this is that APFS is developeR for Apple hardware” should be “The reason for this is that APFS is developeD for Apple hardware” 😜
    Secondly I totally agree with you, I’ve not converted my primary filesystem to APFS yet, well, but IMHO APFS still performs somewhat badly than HFS+ on my real MacBook10,1 which was just bought less than a week. I guess Apple would optimise it further, APFS is still a WIP.

    • Hi Angel,

      Oops. Typo fixed. Thanks.

      Listen. APFS is a great filesystem, but there is still work to be done. The fact that Apple didn’t open it up, so that third party tools could be developed, is one of the reasons that I pass.

      Note that Apple won’t even let you read the S.M.A.R.T data from their flash storage. Why is that? I mean. If you don’t have anything to hide… but wait. The data that I have read out from brand new hardware showed me that Apple hardware is not without failures. And since there’s no checksumming for user data. Just meta data. Another reason for me to pass.

      In the end. If I lose (some of) my data. Like pictures and what not. Then than is my problem. I can’t bring them back. No third party tools can even give it a try to restore my data. What about Apple? Just read the fine print…

      • Yes… Let’s just wait. Apple will add more optimisations in the upcoming beta, just like they’ve mentioned in release notes.
        Well, APFS is currently a fair little bit slower than HFS+ in my case, in any case I still keep using APFS now. I believe that it will be eventually greater than HFS+. Nope. Now it is. 🙂

  6. An offtopic question @pikeralpha:

    Back in April, you wrote “The next Mac mini won’t be so mini anymore. Well. The top model that is.”

    Any news on this topic? Time frame for a release? July? Fall?

  7. I agree with you Pike in currently staying away from APFS – but even for real Apple HW. Reason: there is a good bunch of data recovery tools out there for HFS. For APFS not so many.

    Having once hand-rewritten parts of a broken NTFS HDD in a hex editor to recover data for my brother I am also staying away from disk encryption (except for laptops).

    Possibility to recover data in a bad event situation is the key.

    Once tools for data recovery for APFS become mature I may switch.
    Also I strongly hope that Apple moves there ECC like correction code out from Firmware to (kernel) driver level. Especially with the said-to-be modular MacPro in the pipeline, I expect more non-Apple drives to use APFS. In addition to all those external USB and Thunderbolt drives out there.

    • Your data is not any more secure with HFS+. It’s journaling mechanism is inferior to modern mechanism such as copy-on-write and metadata checksums implemented with APFS . In fact, if you are truly serious about data integrity then forget about Apple products altogether. Basic ingredients for securing your data are: ECC in RAM, ECC in the drive storage, redundancy , a filesystem with data checksums such as ZFS, and backups. Add some fault tolerance with RAID if necessary . Apple will only provide you with ECC in the drive storage, a couple of very basic data integrity features in their new filesystem and limited backup support. There’s no way that you can take seriously some Apple product to secure the integrity of your data, it doesn’t matter how ‘good’ their drive’s ECC is. That only represents a mere link in a chain. In fact, stay away from HFS+, which should have been replaced 10 years ago at least.

      • Of course ECC doesn’t replace backup (which I do – even off-site by the way). Still the current lack of (any) recovery tools lets me stay with current HFS+ in my Macs (and Hacks).

  8. @pikeralpha

    I’m consider APFS for both my hack and 2012 cheese grater…but after I’m read this post I’m hold a while.

    Some question :
    In my case, my 2012 mac pro using SSUBX (Apple Flash SSD) as boot volume, is still qualified to safely taste APFS? Might not cost efficient, but i wonder same scenario tested using SSUBX into my hack.

    • Sure. With macOS High Sierra. But you should be fully aware that there are no tools like those for HFS volumes. That may become a problem. I wonder if anyone at Apple even thought about data recovery. Go ask for a quote and mention APFS. I did and got a: Sorry. No. We cannot help you. So what if a device fails? Who is going to help me to restore my data? Apple? I don’t think so.

    • Hi Gephard,

      Ok. That is one way of looking at it – that I assumed that something isn’t right. I could ask you why you think that I only assumed it, but I won’t. Instead. I want to get to the bottom of it. And that is what I am try to do. First.

      1.) All of my Apple SSD’s have S.M.A.R.T errors.

      2.) Apple has yet to publish any kind of documentation for their (NVMe) S.M.A.R.T API. If they every will.

      3.) There is no (third party) software for macOS that can read the S.M.A.R.T error log(s).

      Let’s assume that the errors that I found on the drives are not hardware related, but were caused by macOS/HFS. You should agree that if this was the case, then the number of errors should stay at whatever level they are, after the conversion of the volumes to APFS.

      The problem is that this was not the case, and thus it cannot be HFS related, and using APFS didn’t make it any better.

      It could be that all my NVMe devices are broken, but that to me is highly unlikely. It could be that Apple’s NVMe driver is still somewhat broken, and Apple keeps pushing out updates, which is great, and thus we can only hope that one day soon they get to the bottom of this, and fix it.

      Fact is. If a file on a device had some sort of problem, whatever the cause might have been, and the devices’ ECC firmware fixed it for you, then you can only hope that what it did was right – by lack of user data checksums, since there are only checksums for meta data. APFS won’t help you here.

      Maybe you are not worried, which is fine by me, but the real question is; why should we trust anything that we cannot check/verify our self? Why would I trust my data to devices, with a format that cannot be recovered by data recovery companies?

  9. hi pike!

    hm… none of the Apple branded SSDs in my possession are reporting S.M.A.R.T erros of any kind.
    or are we talking about NVMe based SSDs exclusively (I don’t own any…). I use DriveDx to check my drives, also the ones from Apple. again, all AHCI based. I don’t know if it also works with the NVMe based ones though.

    • Good for you. Yes. I was indeed talking about Apple hardware with NVMe devices. DriveDx doesn’t seem to support NVMe devices. Unfortunately not. This is mainly Apple’s fault, because they never opened/documented their API for NVMe devices, and developers who did reverse the undocumented API, are breaking their agreement with Apple.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s