back to article Apple quietly launches next-gen encrypted file system

It didn't get any airtime at the big opening day of the annual Apple Worldwide Developers Conference (WWDC), but excitement is building around Apple's next-generation file system. Early specs show the system will bring your hard drive into the modern era, most notably by supporting native encryption. It will also time-stamp …

  1. clocKwize

    I tried using a case sensitive file system on osx once already. never again. Lots of software just doesn't work, because it expects osx to be case insensitive.

    Most importantly, Photoshop won't install (almost as important Hearthstone won't install).

    I found some old thread about photoshop issue, boils down to the application linking to apple frameworks and xcode not being able to handle it, which left adobe basically saying, we can't fix it. It could be them passing the buck but either way, its something that'll need to be addressed by lots of application developers and apple themselves.

    But good job on apple for bringing file systems in to the 21st century.

    1. Anonymous Coward
      Anonymous Coward

      Adobe

      Adobe products are the only ones that I had fail with case sensitive. So I call BS on it being an XCode issue.

      1. MD Rackham
        Coat

        Re: Adobe

        Since we talking about case sensitivity, it's "Xcode", not "XCode".

        1. Deltics

          Re: Adobe

          But you will find I think that everyone knew that what was meant was the Apple software development IDE. Nobody saw "Xcode" and thought to themselves: "I have no idea what that is. It cannot possible be the Apple IDE because that is called something else entirely different". They just noticed that the capitalisation was wrong.

          Which is why case sensitive identifiers in file systems (or programming languages) are idiotic.

          If we thought the same way as case sensitive systems we would have made no sense of "Xcode" at all.

          Computers work best when they work like their users, not when they force users to work like them.

      2. TonyJ

        Re: Adobe

        "..Adobe products are the only ones that I had fail with case sensitive. .."

        I had Steam games fail too - specifically, Left 4 Dead 2.

    2. Anonymous Coward
      Anonymous Coward

      I tried using a case sensitive file system on osx once already. never again. Lots of software just doesn't work, because it expects osx to be case insensitive.

      Well yes, that's what upgrades are for. I just hope search will have an option to ignore case sensitivity (and while they're at it, could we *finally* have an option to put folders first in finder - I know that's so last century but it happens to be bloody useful).

      I'm surprised case sensitivity is coming so late, given that the engine underneath is some form of Unix.

      1. Kristian Walsh Silver badge

        Case..

        HFS+ is case-preserving, but case-insensitive.

        $ touch Moo

        $ echo "said the cow" >moo

        $ cat MOO

        said the cow

        $ ls

        Moo

        Case sensitivity is a user-hostile feature, but of course there's one very large software project, in the form of the Linux kernel, that actually requires case-sensitivity in order to compile properly.

        One other very useful feature in HFS+, that I hope Apple will preserve, was its use of the Unicode Canonical Decomposition for accented characters. There's more than one way to represent a character like "é", so the filesystem APIs made sure that all such combinations are stored in a standardised, unambiguous form.

        By contrast, Ext4 (Linux) just stores names as a variable-length sequence of bytes which by convention (and only by convention) are interpreted as being UTF-8 by the shell. If you think case-sensitivity is hard to explain to a user over the phone, just wait until you try to tell them why they've got a file named "amadán" and another named "amadán" and these really are two separate, distinct, files...

        1. AndyS

          Re: Case..

          "Case sensitivity is a user-hostile feature"

          Not sure I follow, care to expand? Since I'm more used to Linux than other OSs, I find case-insensitivity to be unintuitive and confusing.

          Isn't it just a case of what you're used to? For example, driving on the wrong side of the road, as most foreigners seem to, is clearly user-hostile, since everyone in their right mind knows you have to drive on the left. Right?

          1. Whitter

            Re: Case..

            Case is a right bother for text entry on a phone/tablet is one instance.

          2. Deltics

            Re: Case..

            Nope. It's far more than just a case of what you're used to.

            The computer insisting that when I refer to "readme.txt" I say exactly that, and not "README.TXT" or "ReadMe.txt" etc is just pedantry of the highest order. There is no sensible use case for allowing two different files of the same name to exist solely due to typographical differences. Far from it. it is a recipe for confusion. A simple typo can result in a file being duplicated when saved, followed by trying to figure out which one is the one you want to keep.

            I would be genuinely interested to know of any real-world use case where case sensitivity actually serves a purpose or provides some benefit. Genuine benefit or purpose that is.

            It can be no coincidence that every time I have ever found myself on a machine with a case sensitive file system I find that the user(s) concerned habitually and religiously use entirely lowercase names for their files. ;)

            1. Zolko Silver badge

              Re: Case..

              I would be genuinely interested to know of any real-world use case where case sensitivity actually serves a purpose or provides some benefit.

              "A.xpm" and "a.xpm", the first file referring to a pixmap representing the letter "A" and the second the letter "a". Real-world project. How would you have called these 2 files ?

              1. anthonyhegedus Silver badge

                Re: Case..

                yep, that's a real-world use-case everyone will understand

              2. cambsukguy

                Re: Case..

                upper, lowera, biga, smalla, capital, 41, 61. A long list of possibilities comes to mind.

                Poor names: a, A, very short, no savings to be made, just confusing, hard to search for.

                But they list alphabetically OK (or ok or Ok or even oK) I suppose.

              3. notowenwilson

                Re: Case..

                a^.xpm and a.xpm

                It's not exactly hard to parse that, now is it.

            2. Anonymous Coward
              Anonymous Coward

              Re: Case..

              Hhhmmm... file.c versus file.C?

              Programming aside, I have been using case-sensitive FS on Mac for over 15y and only had one application fail. (Mind -- I eschew Adobe stuff.)

          3. cambsukguy

            Re: Case..

            I wonder how you, and others, would feel if http://www.bbc.co.uk was a different website than http://www.BBC.co.uk and www.bBc.co.uk and so on?

            Not to mention email addresses, the possibilities are insane.

            The scammers would absolutely love it.

            Common sense has spoken. I hate case sensitivity with a vengeance.

          4. Ilsa Loving

            Re: Case..

            It is. The problem is that for the last several decades, Mac has allowed case insensitive file management. If they arbitrarily change that stance now, it's gonna cause a MASSIVE mess.

            When Apple switched from PowerPC to Intel, they included the Rosetta emulator to give users leeway during the migration. I'm going to assume that Apple will provide a similar transition period with this new file system.

            1. JLV

              Re: Case..

              True, but still less of a mess than going from case-sensitive to insensitive, I would guess ;-)

              Slightly offtopic, but anyone have a clue what the upcoming more anal Gatekeeper settings mean in terms of Homebrew/Macport? We can still get our lovely OSS goodies, right?

            2. Stuart Castle Silver badge

              Re: Case..

              "It is. The problem is that for the last several decades, Mac has allowed case insensitive file management. If they arbitrarily change that stance now, it's gonna cause a MASSIVE mess."

              I doubt they will, as it would cause too much confusion for their users. I suspect they'll stick with the current case sensitive if it needs to be arrangement OS X uses, but this being an early beta, haven't got around to implementing it yet.

        2. Zolko Silver badge

          Re: Case..

          "try to tell them why they've got a file named "amadán" and another named "amadán" and these really are two separate, distinct, files"

          Are you kidding ? Do you also have the problem to explain them that IO.txt and l0.txt are distinct files ? Why do you think was the 0 (zero) written as Ø on matrix printers 20 years ago ? When I see activation codes like 3KOA I always wonder whether that's an O or an 0.

          So it's trivial to explain that just because 2 letters look the same they might be different. I have much more trouble explaining why Moo.txt MOO.txt and moo.txt should be the same file: their names are composed of obviously different characters.

          1. Kristian Walsh Silver badge

            Re: Case..

            I'm not kidding, and you miss the point. The two characters I showed ARE the same, but coded differently. The lexical meaning of both codepoint sequences is identical: "a Latin-alphabet lowercase a with acute accent above". That the underlying codepoints are different is only visible when you hexdump the encoded stream. One version is "lowercase a-acute" (a standalone codepoint inherited from ISO-8859-1), the other is "a" then "combining acute accent" (the general case of applying an acute accent to a base letter). The result, however, is the same displayed glyph: "á".

            Glyphs are what you see, characters the concept that a glyph represents; codepoints are how you specify the characters in a text stream; bytes are how you represent codepoint. C and its standard library has probably misled you, so a read of this will give a more accurate explanation of how text is actually handled in computer systems: http://www.unicode.org/reports/tr17/ (Unicode TR17: Character Encoding Model).

            Case insensitivity is the dumbest, least-effort way to handle text. In effect, you're not interpreting it at all - it's just a bunch of bytes, with no meaning. Some bytes aren't allowed because you use them to delimit your directory paths, but after that, it's all up to you. The idea of byte=character is a fallout from the first commercialised computing systems being developed in the USA, that most monolingual of nations - hence a standardised alphabetic code that couldn't accommodate any other language except English). Linux takes this approach, and it's often a difficult conversation to convince someone that Ext4 filenames are just a bunch of bytes and don't have any encoding - it's only libraries like glib that assumes filenames are UTF-8.

            But that's the machine's view of the world, not the user's: if it's so natural that case should matter, tell me how you would pronounce "INSTALL" differently to "Install" ?

            Regarding the "A.xpm" and "a.xpm"; I'd have called them "0041.xpm" and "0061.xpm", because if you ever needed an image for "☞", it's a lot easier to map it to "261E.xpm" than any other alternative. This convention would also allow you to create a forward-slash glyph without the special-case in your code.

            1. Doctor Syntax Silver badge

              Re: Case..

              'Regarding the "A.xpm" and "a.xpm"; I'd have called them "0041.xpm" and "0061.xpm"'

              Right. 0041==0061. Got it.

              1. Kristian Walsh Silver badge

                Re: Case..

                Er... no. The point was that the poster cited this as an example where they NEEDED both the uppercase and the lowercase image to be present in the same directory. On a case-insensitive filesystem, his (I assume "his") example cannot be implemented. My alternative doesn't require case sensitivity.

                I assumed, in the absence of any given context, that this was an application that rendered text on screen and needed two "glyph" images: one for 'a' and another for "A" (ignoring the details of why doing something like this is such a bad, bad idea). If this was the intended application, then using the Unicode codepoint of the character, rather than the character itself, is far safer, more portable, and more flexible for future needs.

              2. Eddy Ito

                Re: Case..

                Why leave out other similar glyphs like Greek and Cyrillic? "0391.xpm" and "0410.xpm".

                1. Kristian Walsh Silver badge

                  Re: Case..

                  Why leave out other similar glyphs like Greek and Cyrillic? "0391.xpm" and "0410.xpm".

                  And THAT'S why this kind of idea is such a bad one... :) Not just lookalikes, but have a look at how scripts like Thai are laid out for an "oh shit" moment. The files in this example are glyphs, not characters, not codepoints. The relationship between the displayed glyph and the codepoints that caused it to be displayed is not 1:1 - it's n:m.

                  Fonts contain a set of glyphs, and character mapping tables that the operating system uses to choose an appropriate glyph for a sequence of codepoints that represent the text. "Table" is an over simplification.. some of these fonts define finite state automata that are necessary to correctly combine and rearrange the input codes into a sequence of glyphs.

                  tl;dr? Don't try to write your own text shaping engine.. your OS (be it Windows, Linux or Mac) already has a very good one, and the information you need can be extracted from it.

            2. Zolko Silver badge

              Re: Case..

              tell me how you would pronounce "INSTALL" differently to "Install" ?

              I never did such a thing. Did you actually ever pronounce "install" ? I only have typed it.

              1. Kristian Walsh Silver badge

                Re: Case..

                "I never did such a thing. Did you actually ever pronounce "install" ? I only have typed it."

                Really? Never? I regularly communicate with other humans through the medium of speech. Sometimes such conversations include the description of processes that involve manipulating objects stored in filesystems.

              2. notowenwilson

                Re: Case..

                Sure, but sometimes people in the real world like to talk to other people using their voice, for silly things like telling them which file to look in.

          2. Doctor Syntax Silver badge

            Re: Case..

            "Why do you think was the 0 (zero) written as Ø on matrix printers 20 years ago ?"

            Where I first learned programming the convention for the card punch operators was that letter O was crossed, not zero. But it was in Ireland...

      2. EndianX
        Thumb Up

        "(and while they're at it, could we *finally* have an option to put folders first in finder - I know that's so last century but it happens to be bloody useful)."

        It's clearly your lucky day then.

    3. Anonymous Coward
      Anonymous Coward

      Don't care much about Adobe anymore - if it wasn't for BBC iPlayer (which uses *&%$ Adobe Air) my machine would now be Adobe free. I hope they update that soon so I can rip that last abomination from my machine.

      Now if the Affinity products would not work I'd be pissed off, but I suspect by that time they'll have brought out a new version (although, they currently appear to have an issue with getting an update distributed in to app stores).

      1. Don Dumb

        @AC - "if it wasn't for BBC iPlayer (which uses *&%$ Adobe Air) my machine would now be Adobe free."

        If you're willing to watch through streaming rather than downloads, you don't need the iPlayer application and can just use the iPlayer website which is using HTML5 (if you disable or remove Flash).

        Alternatively, there is getiplayer which worked the last time I used it.

        Now if only they extend HTML5 to the rest of the BBC (particularly the news section).

        1. Doctor Syntax Silver badge

          "Alternatively, there is getiplayer which worked the last time I used it."

          And last time I used it on Linux - yesterday.

    4. phuzz Silver badge
      Thumb Up

      And this is why the Amiga was best, reason number 423.

      The file system was case sensitive, so if you were insane, or a font designer* you could create files called 'a' and 'A' in the same folder and the OS would know they were separate files. However, if you had a folder with a file called 'cAse' you could refer to it as "case", "CASE", "CaSE" and so on and it would just work.

      * font designer or insanity are the only two use cases for case sensitivity I can think of.

  2. TVU Silver badge

    Although iMac and Macbook owners won't necessarily notice any change, what Apple seems to be implementing is their own version of the OpenZFS file system. Now how long have the BSDs had that?

    1. Anonymous Coward
      Anonymous Coward

      That's the model. Wait for the technology to become proven/stable, then Apple will "innovate" and evangelize it as their own.

    2. Anonymous Coward
      Anonymous Coward

      ZFS

      They had started working on ZFS for OS X a long time ago. It got removed, however. The rumor was that Oracle wouldn't grant patent indemnification.

      1. Wensleydale Cheese

        Re: ZFS

        While I'm sure Oracle's purchase of Sun was part of Apple's decision to drop ZFS, they withdrew from the server market at the same time.

        OS X 10.7 (Lion Server), the first one to be bundled as a (significantly cheaper) add-on to the base OS was released in February 2011 without ZFS).

        Many are happily using ZFS now, but letting it loose on consumer kit 5 years ago was going to be one hell of a risk.

    3. Daniel B.

      ZFS

      They did eye ZFS as an HFS+ replacement. Oracle gobbling Sun put an end to that jump. MacZFS and O3X actually derived their code from the original 10.6 beta port by Apple.

  3. Anonymous Coward
    Anonymous Coward

    POSIX requires filesystems to be case sensitive

    Thus all Unixes as well as NTFS are case sensitive. However, due to the DOS legacy, the Win32 API is not case sensitive, so while you can create a file "test.txt and "TEST.TXT" in the same directory on an NTFS filesystem, a Win32 app can only open one of them (I have no idea how it decides)

    Apple had its own problems when they designed HFS+, since they wanted it to be compatible with HFS which was not case sensitive. It was introduced before Apple went with OS X's Unix core and cared about POSIX, so I guess they didn't think case sensitivity mattered. It preserves case but doesn't allow creation of two files that differ only in case. You can enable full case sensitivity, but since it isn't the default some apps can't handle it.

    I guess the one nice thing about doing this with a brand new filesystem is that if you have older apps that can't handle case sensitivity (or other reasons it doesn't like the new filesystem) you can keep an old HFS+ volume around for them to run from.

    1. Anonymous Coward
      Anonymous Coward

      Re: POSIX requires filesystems to be case sensitive

      Ah, no wonder designers are always sending me files with inconsistent casing. Drives me crazy.

    2. Paul Crawford Silver badge

      Re: POSIX requires filesystems to be case sensitive

      While some folk might think case-insensitive is good as humans don't care, as you and other point out it is a right pain to make it sane and consistent with multiple character sets.

      Its a computer, it should be case-sensitive and the muppets writing Adobe software who are not using consistent case in thier stuff just shows how dumb they are. Not that Flash's endless stream of exploitable bugs would suggest otherwise.

      But the real elephant in the room is the incredibly dumb "feature" of data fork (Alternate Data Streams) that results in some Apple software being unusable on any file system that lacks this. So you can't put your photos on a NAS, etc. as it breaks the thumbnails, etc, which are stored in a 2nd or other stream of data behind the same filename.

      1. Kristian Walsh Silver badge

        Re: POSIX requires filesystems to be case sensitive

        HFS+ Alternate Data Streams are just the same thing as Ext4 metadata. Different name, same function. They are, by definition, not the file contents, and thus should be stripped if a foreign system cannot understand them.

        The HFS Resource-fork, which is what you're referring to as the "second stream", has been deprecated since 2001... Since then, OSX image thumbnails aren't stored with the file, but rather in the ".DS_Store" file in the same directory. Think of it like the Windows "thumbs.db" file with extra info (view settings, icon positions).

        (The creation of empty ".DS_Store" files when none are required is a bug that's only been in MacOS since 2001, but who knows, maybe one day Apple will start addressing functional correctness again...)

        1. Paul Crawford Silver badge

          Re: @Kristian Walsh

          Thanks for the detailed info.

          "The HFS Resource-fork ... deprecated since 2001"

          Maybe, but as far as I know it was still used just a couple of years ago for Apple's own photo management program, and was such a pain that a friend's only solution to allow NAS/RAID for his parents Mac's collection of images was to use iSCSI export from the NAS and format it in HFS. Of course, that sort of approach also makes sharing the NAS' contents impossible as you really don't want two machines able to write the file system tables, etc.

  4. Dan 55 Silver badge

    Not that HFS+ is known for stability, but I'll just let other people beta test this brand new filesystem. For about 5 years.

  5. monty75

    Case sensitive for now

    Apple's documentation says "Filenames are currently case-sensitive only" which would suggest that that won't always be the case.

    1. Dave 126 Silver badge

      Re: Case sensitive for now

      Thank you Monty75, that was my reading of it too. Everything online says "This is a developer preview, and as such is currently case-sensitive only". Compare and contrast with the Reg article:

      "The file system is also case-sensitive and that apparently cannot be disabled, which will lead to all sorts of knock-on compatibility issues. Yep, you will have to buy more Apple gear: a new watch to go with your new phone to sync with your new laptop. Apple is always looking after that bottom line."

      Talk about adding 2 to 2 and getting 5. The lack of [fact checking] around here is getting beyond a bit daft.

      1. Mark 65

        Re: Case sensitive for now

        Talk about adding 2 to 2 and getting 5. The lack of [fact checking] around here is getting beyond a bit daft.

        Yeah, but look at how many comments it garnered.

  6. Harry the Bastard

    checklist

    21st century - yep

    case sensitive file system - nope

    os x - wtf?

    when i installed the very first version of os x on my tibook, it baffled me how apple could do something so stupid

    they perpetuated the stupid for over a decade

    that's either commit-mnt, or stupid

    1. Deltics

      Re: checklist

      Could someone please explain to me whey being case insensitive is stupid ?

      It seems to me that "stupid" is allowing there to be two files with names that are identical in all but the capitalisation and that these be considered different files by virtue of nothing more than typographical differences in the name.

      Imagine you are *speaking* to someone who asks where you saved some file - whatever filename you tell them you cannot assume that the name alone identifies the file. You must also specify the precise capitalisation you used (assuming you remember and don't confuse your capitalisation for the capitalisation of some other file with otherwise the same name).

      Case preservation ? Absolutely.

      Case sensitivity in identifiers ? Absolute idiocy

      (and that goes for programming languages as well as file systems).

      1. Androgynous Cupboard Silver badge

        Re: checklist

        I broadly get your point but it's not as simple. Turkish, for instance, has the upper case version of "i" as "İ" - that's "Upper case dotted i", or U+0130.

        To be fair this is the only example I can think of off the top of my head, but there might be others. You might roll your eyes at this (thank you, I'm here all week) but if you want case insensitivity in filenames, you have to specify the locale too.

        1. david 12 Silver badge

          Re: checklist

          >but if you want case insensitivity in filenames, you have to specify the locale too.

          Yes, if you want locale-sensitive font-sensitivity or locale-sensitive character-sensitivity, you have to specify the locale. True of both file systems and database systems.

          Fortunately for people who want locale-sensitivity, such file systems and database systems are in common use.

          I'm not entirely sure that locale-sensitivity is a good thing for all file systems (or for all programming languages), but equally I don't think those problems are solved by making the file system or programming language font-sensitive.

        2. Anonymous Coward
          Anonymous Coward

          Re: checklist

          but if you want case insensitivity in filenames, you have to specify the locale too.

          en-gb

          Thanks for coming.

      2. find users who cut cat tail

        Re: checklist

        > Could someone please explain to me whey being case insensitive is stupid ?

        Because I do not want some crazy complex locale-dependent character case handling code in my filesystems.

        What? You meant case insensitivity just for your puny 26 characters? Well, that is obviously stupid.

        > Imagine you are *speaking* to someone who asks where you saved some file - whatever filename you tell them you cannot assume that the name alone identifies the file. You must also specify the precise capitalisation you used...

        No you don't. I might because I have files called like glyph-A.png and glyph-a.png (*) and would happily do so. You will not create any such files because you are so afraid of them so the situation cannot arise.

        (*) Actual names a bit more complicated than that.

      3. find users who cut cat tail

        Re: checklist

        > Imagine you are *speaking* to someone who asks where you saved some file

        Currently filesystems do not prevent the creation of file called PHO when a file called ΡН0 (note the Greek and Cyrillic letters) already exist. Do you propose that to be also forbidden or what? These two names are certainly even more difficult to distinguish over phone. The entire ‘speaking’ argument is just nonsense.

        1. Deltics

          Re: checklist

          You mean "Rho Eta Omicron" vs "Pee Aitch Oh" vs "Er En O"

          The similarity between Latin and Cyrillic "O" is a wrinkle, but I'm sure that if you were spelling out a name that relied on a particular character set you would make it clear that you were referring to (e.g.) Cyrillic, not Latin.

          Such filenames could continue to co-exist even in a case insensitive file system since - as you point out - they are composed of entirely different letters, not just letters of different cases.

          It could be tricky if you didn't know what character set had been used when naming the file, but a quick check of your current location, or the provenance of the file involved, should help you out there. I do wonder, is this a real problem or an entirely hypothetical one ?

          :)

      4. tapanit

        Re: checklist

        Case insensitivity is a major pain if you have to deal with several languages. The lower-upper -conversion is language-dependent - e.g., in several languages accents disappear in capitalization, in Turkish upper case 'i' isn't 'I' but 'İ', in German ß becomes 'SS' (or 'SZ' in some cases) in upper case...

      5. Doctor Syntax Silver badge

        Re: checklist

        'It seems to me that "stupid" is allowing there to be two files with names that are identical in all but the capitalisation and that these be considered different files by virtue of nothing more than typographical differences in the name.'

        "all but"? "differences"? So they're not the same but you think they should be. Once we start ignoring differences where do we stop? Do we start treating punctuation marks as the same?

    2. James O'Shea

      Re: checklist

      Harry, m'man, you _do_ know that HFS+ can be set up as:

      journaled

      not journaled

      case sensitive

      not case sensitive

      And, yes, that means that if you really want not journaled case sensitive you can have it. You are not forced to have it one way. You have (shock, horror) a choice.

      Now, if you want to run certain software, such as Adobe products in general and Photoshop in particular, you'd better choose to set it up journaled not case sensitive unless you like to create problems for yourself. Out of the box the internal hard drives are journaled not case sensitive.

      One of my systems is an Adobe-free zone. I am currently experimenting with HFS+ set journaled case sensitive. When the new file system can be placed on boot volumes (currently that's not on) I'll try it out and see what's what. I suspect that APFS won't be ready for prime time for at least 2-3 years. Possibly as many as four. I also suspect that unlike Microsoft and WinFS, Apple will actually get APFS out the door.

  7. chris 17 Silver badge
    Stop

    Click bait

    I already looked up hfs+ so here you go

    https://en.m.wikipedia.org/wiki/HFS_Plus

  8. wolfetone Silver badge
    Big Brother

    It's funny how all of these companies that were involved with the NSA and GCHQ are releasing encrypted messaging or file systems isn't it?

    1. AlexS

      Looks like NSA/GCHQ downvoted you.

      1. wolfetone Silver badge
        Black Helicopters

        Well one of them did. The other one is working out where I live to "send the boys round"...

  9. bolac

    Next-gen?

    APFS is not really next-gen, it just appears new compared to HFS+, which is stuck in the early 90's.

    HFS+ has the following “features”:

    - Case insensitive mode does not work (properly).

    - Case sensitive mode is a total failure because we don't live in times of ASCII. Defining what equality of two Unicode strings actually means is hard enough anyway, and not getting any easier by mixing up cases.

    - HFS+ stores all the metadata in the first blocks, which makes it perform very poorly. In times of SSD it seems less relevant, but it isn't. It totally cripples backup speed on USB 3.0 HDDs.

    Also: The fact that the port of ZFS to OSX was cancelled gives me a very bad feeling about OSX's state in the layers above.

    1. MD Rackham

      Re: Next-gen?

      Since case-insensitive is the default setting for HFS+, what is it that you think makes it "not work (properly)"? Locale handling? Honest question.

      Yes, there are issues with HFS+, mostly just showing its age. Not sure anyone is going to argue with you there. But whatever follows it is sort of by definition the "next-gen," at least for Apple.

      ZFS appeared to get canceled by Apple's legal department, not because of technical issues.

      1. Anonymous Coward
        Anonymous Coward

        Re: Next-gen?

        Again, POSIX requires case sensitivity. Whatever problems that causes with Unicode, well, that's something you should take up with POSIX, not Apple.

        1. david 12 Silver badge

          Re: Next-gen?

          >Again, POSIX requires case sensitivity.

          I don't require that aspect of POSIX from Apple. I don't buy computer systems from POSIX, we don't demand POSIX certification from any of our suppliers, and, in particular, my Apple users couldn't give a flying f- about POSIX compliance.

          1. Dan 55 Silver badge

            Re: Next-gen?

            Well, some people do, and for those people there is case sensitive HFS+.

      2. bolac

        Re: Next-gen?

        Sorry, I confused the two cases. I meant to say that case sensitivity does not work properly, and that case insensitivity is a huge mess with Unicode.

        It boils down to the fact that it is very complex to properly define equivalence of two Unicode filenames. By the way, OSX is in fact the only OS doing this. Windows (NT) does not do this (the case insensitivity is emulated by the Win32 subsystem), and even iOS is case sensitive all along.

        And HFS+ is not just old. That's not the issue at all. Being old would not be a huge issue if it just worked. But it doesn't. HFS+ is known to be very unreliable and for having very poor performance. This is not a case of “we still use the old system because it runs”.

        Last but not least: There were already security issues with git arising from HFS+'s case insensitivity.

  10. sitta_europea Silver badge

    Did somebody confuse snapshots with backups again?

    1. Anonymous Coward
      Anonymous Coward

      Snapshots

      I'm hoping they meant that the snapshots will be used to make the backups. I HOPE!

      1. Ian Michael Gumby

        Re: Snapshots

        Snapshots can be used for backups as well as for replication.

  11. Christian Berger

    I'm skeptical

    File system code requires a certain kind of programmer which is determined to write error free code, and also has the ability to write near error free code. File systems are rather delicate parts of the kernel, after all if you mess up your scheduler or memory management, your system likely will just crash. If you mess up your file system, it's likely you end up with corrupt data on your disks without noticing.

    I don't know if Apple still has the right people. After all in recent years it focused much on bad UI design (relying on the transparency of fingers) and turning their products into lifestyle products. Actual engineering didn't play a big role. I wouldn't be surprised if the engineers suitable of doing this have since then moved on to different companies or retirement.

    1. Dan 55 Silver badge

      Re: I'm skeptical

      Since Bertrand Serlet left after Snow Leopard they've been focusing more on the pretty and less on the tech. The new head is head of both iOS and OS X and it shows.

      The fact that OS X is still usable is testament to how good Snow Leopard was more than anything else. Just look at El Capitan's Disk Utility to see how they can ruin something when they put their mind to it. And now the same people who can't do a disk maintenance program are putting out a File System?!

    2. Anonymous Coward
      Anonymous Coward

      Re: I'm skeptical

      Apple has people writing all sorts of kernel code, drivers, encryption software, etc. which also require correctness and have consequences for poorly written code. File systems are not a special snowflake that takes a breed apart from every other kind of programming.

      Given that beating HFS+ performance is a pretty low bar, they have the luxury of targeting correctness first and not worrying too much about performance, and tweaking performance down the road.

  12. Daniel B.
    Boffin

    Oh well, at least they're doing it

    One of our major complaints w.r.t. OSX (I refuse to use the awful name they cooked up) has been HFS+ being stuck in the mid-90s. Sure, it supports a lot of UNIX-style stuff, but it still suffers from issues I hadn't seen in other OSes since the FAT32 days.

    It was sad that Apple didn't go for ZFS; it could've been a good replacement for HFS+. But now that they're rolling out their own next-gen filesystem, things may finally move into the 21st Century.

  13. John Smith 19 Gold badge
    Unhappy

    I did not know case sensitivity was a POSIX compatability requirement.

    Very annoying.

    But at least you've got a vendor neutral standard for a solid OS you can check features off against.

    1. Dave559 Silver badge

      Platform-neutral filesystem?

      Apparently Apple plan to make APFS open source. This could perhaps be just what we all need to replace the extremely ancient FAT as the common interchange filesystem for transferring files from one type of computer to another. NTFS isn't free (one of the many despicable things that Microsoft have done) and so support by third-parties is somewhat variable and potentially flakey, and sadly neither Apple nor Microsoft have much interest in supporting the Linux ext* filesystems out of the box. But with all of us now starting to deal with volumes of data too big for FAT to handle, there really does need to be a friendly filesystem that we can all use, without encumbrance.

  14. bolac

    NTFS

    It might be important to note that NTFS is always case sensitive. The case insensitivity in Windows is emulated by the Win32 API.

    Even Microsoft figured in 1993 already that case insensitivity is a huge mess that has to be avoided in the FS layer.

  15. Anonymous Coward
    Anonymous Coward

    hmmm?

    Although a wise investment idea for Apple to research a new filesystem for its product lines, I'm not sure I follow why the large debate on this. Other than in the iOS, the majority of us will never see this filesystem. Unless Apple has plans to release another server OS.

    1. Daniel B.

      Re: hmmm?

      Apple already needs a decent replacement for HFS+, so it'll definitely make its way to OS X.

  16. PaulR79

    "The file system is also case-sensitive and that apparently cannot be disabled"

    I know next to nothing about coding and even less about making file systems but if this is something new they are designing surely they can turn it off or alter the code to avoid the numerous issues I'm seeing people mention. I'm assuming that by "cannot be disabled" they really mean "this is our way of forcing you to buy new stuff".

  17. W. Anderson

    perpetual catch for Apple

    It is a matter of record that Apple attempted to 'license' the ZFS File System from Oracle Corp., but could not legally meet the Free/Open Source Software (FOSS) licensing terms and conditions.

    Any bets that the new APFS File System will (try) cloning many of the features and functionality of ZFS, btrfs and maybe venerable XFS File Systems that are compulsory for supporting fast Internet traffic, security checking, advanced encryption, live snapshots, etc., but without functionality for massive data centre support, Cloud Computing, Docker and Jails type Containerization/virtualization and other traits of enterprise and high end scientifc computing for which Apple has absolutely no interest or competence.

    Maybe Apple should license their new File System to Microsoft which cannot seem to create a viable File system to save it's life. They too, are attempting, with very limited good results to emulate advanced File System noted above, which is possibly reason Microsoft integrated Linux and FreeBSS into their Cloud Computing and other technologies, maybe for access to the superior File Systems.

  18. Ian Michael Gumby
    Boffin

    Meh.

    Take a look at MapRFS.

    Essentially its making the drive a blob space and then put any interface over it to access the data underneath. You could support POSIX, Hadoop, etc ... all over the same blob space. This allows for some interesting options.

    Its nothing really new. Informix had a patent on this where you created a file system within the database. (I think its expired or is expiring soon)

    I don't mean to trivialize this, but just that its not that difficult.

POST COMMENT House rules

Not a member of The Register? Create a new account here.

  • Enter your comment

  • Add an icon

Anonymous cowards cannot choose their icon

Other stories you might like