Apple Introduces New File System AFPS With Tons Of 'Solid' Features (apple.com)
On the sidelines of its Worldwide Developer's Conference, Apple also quietly unveiled a new file system dubbed APFS (Apple File System). Here's how the company describes it: HFS+ and its predecessor HFS are more than 30 years old. These file systems were developed in an era of floppy disks and spinning hard drives, where file sizes were calculated in kilobytes or megabytes. Today, solid-state drives store millions of files, accounting for gigabytes or terabytes of data. There is now also a greater importance placed on keeping sensitive information secure and safe from prying eyes. A new file system is needed to meet the current needs of Apple products, and support new technologies for decades to come.Ars Technica dived into the documentation to find that APFS comes with a range of "solid" features including support for 64-bit inode numbering, and improved granularity of object time-stamping. "APFS supports nanosecond time stamp granularity rather than the 1-second time stamp granularity in HFS+." It also supports copy-on-write metadata scheme which aims to ensure that file system commits and writes to the file system journal stay in sync even if "something happens during the write -- like if the system loses power." The new file system offers an improvement over Apple's previous full-disk encryption File Vault application. It also features Snapshots (that lets you throw off a read-only instant of a file system at any given point in time), and Clones. According to the documentation, APFS can create file or directory clones -- and like a proper next-generation file system, it does so instantly, rather than having to wait for data to be copied. From the report: Also interesting is the concept of "space sharing," where multiple volumes can be created out of the same chunk of underlying physical space. This sounds on first glance a lot like enterprise-style thin provisioning, where you can do things like create four 1TB volumes on a single 1TB disk, and each volume grows as space is added to it. You can add physical storage to keep up with the volume's growth without having to resize the logical volume.As the documentation notes, things are in early stage, so it might take a while before AFPS becomes available to general users.
C'mon, it's 2016. Where is compression?
It's a hard job. We're into year fifteen of ZFS and it's just starting to gain some features that make administration of it manageable by non-experts. Give it another five before you want to make it your default on a desktop for grandma. BTRFS will be along five years after that.
If Apple can pull off something similar in a couple years, it will be a major triumph. It's too bad for everybody that Steve got bitchy at Jonathan and the community hasn't had Apple's help as a contributor for the past decade.
My God, it's Full of Source!
OUTSIDE_IP=$(dig +short my.ip @outsideip.net)
Licensing. Apple did flirt with ZFS, but for some reason, and I would guess it was license issues, they decided not to go that route. Using btrfs would bring GPL/BSD licensing issues. So, Apple either had to license something like ReFS from MS, or roll their own.
How about letting users unplug removable media without having to eject it first like every other OS has had for about a decade.
Would you want to be licensing anything from Oracle today?
What a ridiculous argument.
By that logic, backwards compatibility is never an issue. Why even try to offer it? You can just keep using the old version! Compatibility solved!
Gentle wish? Fuck your gentle wish. You're happy using unjustly overpriced SHIT because you're a dumbass. The rest of us who have more knowledge and experience then you'll ever have in your whole life, know better.
Been designing computer hardware and software since 1976.
Fluent in dozens (literally) of Assembly-languages from 6502 to ARM7 TDMI, plus C, PHP, HTML and several BASIC variants. Never did like C++ or Java, though...
Paid Embedded Developer (hardware and software) for nearly 40 years, with a specialty in R&D of industrial Real-Time measurement and control PRODUCTS.
Currently Develop Windows ERP Applications.
Certified MS SQL Server Admin.
The list goes on...
Yeah. I'm a dumbass alright.
STFU.
I like Apple equipment and OSes precisely BECAUSE I got all that "Work ON my computer" shit out of my system 30 frickin' YEARS ago.
Apple stuff isn't overpriced; because my time (and frustration) is actually WORTH something.
When checksums fail ZFS will assume the problem is on disk and attempt to "repair" the data on disk. This automatic repair is a great feature, when your RAM can be trusted.
Repair by attempting to correct the data from a redundant location, if one exists, and if its checksum passes. The bit flips required to make such a process actually damage your data seems quite convoluted - it'd have to be multiple errors in different locations happening at just the right times - one in the read before the checksum is checked, one in the data to repair it after the checksum has been verified but before it's written back.
"By default, access time updates are enabled in ZFS; therefore, a read-only workload will update the access time of any file accessed. Consequently, when the structure containing the access time (znode) goes inactive (or when there is another workload that updates the znode), ZFS writes the block holding the znode to disk and updates and writes all its parental blocks. Therefore, any corruption to these blocks will become permanent after the flush caused by the access time update"
In-memory filesystem metadata can get damaged and end up in on-disk structures regardless of which one you use, and it's far from the only fs with atime updates. Is ZFS really significantly more vulnerable to this by comparison, or is it just that ZFS won't defend you against it?
My quick skim of the paper suggests the latter. They don't seem to condemn ZFS for being worse, rather, they show it suffers the same sort of problems they find ext2 suffers from in face of memory errors, while demonstrating it's great at picking up errors from the disk/IO controller/etc.