Understanding the Evolution of Apple's File Systems

MDOYVR17 - Rich Trouton - Storing Our Digital Lives: From MFS to APFS

Estimated read time: 1:20

    Summary

    In this engaging talk, Rich Trouton delves into the evolution of Apple's file systems from the Macintosh File System (MFS) in 1984 to the Apple File System (APFS) introduced in 2017. Trouton covers the features, limitations, and developments of each file system, explaining how changing hardware needs drove software design changes. Highlighting key innovations and emerging issues, he provides insights into why the APFS was implemented, detailing its advanced features, such as support for sparse files, snapshots, and improved timestamp granularity. The talk captures a blend of technical insights with practical examples, offering valuable information for tech enthusiasts and Apple software users alike.

      Highlights

      • MFS was the original file system introduced with the Macintosh in 1984, designed for floppy disks. 📀
      • HFS replaced MFS in 1985 to accommodate Apple's first hard drive, but had its own set of limitations. 💾
      • HFS+ came in 1998, addressing many HFS limitations with improved block allocations and Unicode support. 🌐
      • APFS, introduced in 2017, supports modern computing needs with enhanced storage capabilities. 💡
      • APFS features such as atomic save, snapshots, and sparse files optimize data management. 📊

      Key Takeaways

      • Understanding the evolution from MFS to APFS is crucial for grasping Apple's software advancements. 🚀
      • APFS supports over 9 quintillion files per volume, a massive leap from earlier systems. 📈
      • Innovations like sparse file support and snapshots are game-changers for file management. 🗂️
      • APFS's nanosecond timestamp granularity significantly enhances data integrity. ⌛
      • Despite advancements, APFS currently faces limitations with certain Apple technologies. ⚠️

      Overview

      In 1984, Apple introduced the Macintosh File System (MFS) alongside its Macintosh computer, tailored for 400KB floppy disks. MFS had a flat file structure, lacking directories, and supported resource forks. Despite its innovative approach, MFS was limited by its maximum file size and volume limitations, leading to its replacement by the Hierarchical File System (HFS) in 1985.

        HFS addressed the need for a more robust file system, supporting Apple's new hard drives and larger storage capacities. However, it still had restrictions, including a maximum of 65,535 files. HFS+ came along in 1998, providing solutions by introducing features like 32-bit block allocation and Unicode support, making it a more viable option for expanding storage and application needs.

          Apple File System (APFS), rolled out in 2017, introduces groundbreaking features to meet current tech demands. With over 9 quintillion files supported per volume and features like snapshots and sparse files, APFS embodies the future of data management. Though still developing, APFS marks a significant shift in Apple’s approach to file system architecture, ensuring better efficiency and reliability for users.

            Chapters

            • 00:00 - 00:30: Introduction and Overview The chapter introduces the format and logistics of the talk. It begins by informing the audience that all materials such as slides, speaker notes, and demos will be available for download, providing a link at the end of the talk. The speaker assures attendees who find it difficult to simultaneously listen and take notes that comprehensive notes are available for download, alleviating the need for note-taking during the presentation. Lastly, the speaker requests that all questions be held until the end of the session, noting that many queries will likely be addressed during the talk.
            • 00:30 - 05:00: Macintosh File System (MFS) The chapter titled 'Macintosh File System (MFS)' discusses the introduction of the Macintosh file system, known as MFS, in January 1984 alongside the original Macintosh computer. MFS was designed for storing files on 400 kilobyte floppy disks and included features such as resource forks, which later became familiar to Macintosh users. Resource forks were particularly important for simplifying application delivery.
            • 05:00 - 10:00: Hierarchical File System (HFS) The Hierarchical File System (HFS) chapter discusses how earlier file systems, such as the one used by Macintosh, differed from modern systems. Initially, the flat file system was employed, which did not organize files in a hierarchy of directories. While folders were present, they operated differently compared to contemporary systems. These early systems aimed to support graphical user interfaces, distinguishing themselves from the command-line interfaces commonly used in other operating systems.
            • 10:00 - 16:00: HFS+ Improvements and Limitations The chapter discusses the HFS+ file system's user interface where the Finder creates an illusion of folders that are sometimes not visible in application open/save dialog boxes. There is an 'empty folder' always present, used for creating new folders by altering its properties. As folders are changed by adding files or renaming, a new 'empty folder' appears, indicating that the system manages files using a directory and file handle pairing.
            • 16:00 - 32:00: Introduction of APFS The chapter titled 'Introduction of APFS' discusses the technical limitations of the NFS (Network File System) that APFS (Apple File System) aims to address or has improved upon. It explains how NFS operates when displaying folder contents, specifically scanning the directory for file matches. The limitations of NFS are highlighted: maximum volume size of 20 mebibytes (MiB - slightly different from megabytes), maximum file size also of 20 mebibytes, a cap of 4,094 files per directory, and a maximum file name length of 255 characters, with an additional restriction by Finder at 63 characters.
            • 32:00 - 35:00: APFS Features and Tools The chapter titled 'APFS Features and Tools' discusses the evolution and limitations of filesystem capabilities related to file names, with a specific focus on EMFs (Extended Master File System). It highlights that although 255 characters were supported, only 63 were effectively usable. Additionally, it documents the timeline for Apple's support and discontinuation of EMFs, which was formally dropped as the primary format in September 1985. Read and write support persisted until System 7.6.1. Subsequently, full support was terminated with the release of Mac OS 8.0, and native EMFs support was never extended to OS 10 or later. The section concludes with a mention of Apple's example file system plug-ins for OS 10 as related content.
            • 35:00 - 51:00: APFS Management and Operations The chapter titled 'APFS Management and Operations' discusses the evolution of Apple's file systems. Initially, the EM FS provided read-only support for EM FS volumes, accommodating outdated storage mediums like floppy disks. However, the need for improved technology led to EM FS being replaced by the Hierarchical File System (HFS) introduced by Apple in September 1985. This change was primarily to support Apple's first hard disk drive, highlighting how hardware needs often influence software design.
            • 51:00 - 59:00: Conversion and Compatibility Issues The chapter discusses the challenges faced with Macintosh's transition from floppy disks to the harder large-capacity media, notably hard drives. It highlights how the File System (MFS) was primarily optimized for the slower and smaller storage mediums like floppy disks, which initially only held 400 kilobytes of data. The introduction of a 20 megabyte hard drive—significantly larger at the time—revealed scalability issues within the existing file system that Apple needed to address to accommodate the drastic increase in data storage capacity.
            • 59:00 - 63:00: Current Limitations and Future Possibilities The chapter discusses the limitations of the initial EMFS (Early Macintosh File System) which displayed files by searching for directory and file handle pairings. Initially, this method was efficient for small-scale storage with hundreds of files and kilobytes, but it became inefficient with the advent of larger storage solutions involving megabytes and thousands of files. Apple's solution was to replace EMFS's flat file structure with a directory-based system utilizing a new file called the catalog file. The catalog file uses a binary search tree structure, also known as the B-tree, allowing for fast searching regardless of the size of the storage.
            • 63:00 - 64:30: Additional Resources and Closing This chapter discusses how Apple manages MSS and the influence of HDFS, which incorporated features from NFS. It mentions limitations such as filename length, where HDFS supports a maximum of 255 characters, but Apple's Finder imposes a restriction of 31 characters per filename, which is less than MSS's limit of 63 characters. These restrictions are design choices of the Finder, not limitations of the HDFS file system itself.

            MDOYVR17 - Rich Trouton - Storing Our Digital Lives: From MFS to APFS Transcription

            • 00:00 - 00:30 before we get started there's two things I'd like to mention the first is that all the slides speakers note some demos are available for download and I'm going to be providing a link at the end of the talk I tend to be one of those folks who can't keep up with the speaker and take notes at the same time so for those folks who are in the same situation there's no need to take notes everything I'm covering is going to be available for download second is to please hold all questions until the end got questions make a note of them and then ask me after the talk and the buck will be able to answer most your questions during the talk itself so in the
            • 00:30 - 01:00 beginning which for this discussion is 1984 there was the Macintosh file system otherwise known as em FS so this file system was introduced with the original Macintosh computer in January 1984 and it was designed to store files on 400 kilobytes floppy disks so em FS had a number of features that would be familiar to later Macintosh users used resource Forks also had a lot of things soared in the resource fork to simplify application delivery especially if you
            • 01:00 - 01:30 wanted to ship your application of more than one nation and it also supported the graphical user interface at the Mac was using in place of you know other operating systems command-line interface so one feature that was different from how Mac file systems work today is that NFS did not support the concept of a hierarchy of directories instead NFS was a flat file system where all the files were actually stored at the same level so folders existed as a concept in ffs but they worked completely differently from the way that they do on modern file
            • 01:30 - 02:00 systems the finder created the illusion of folders that were visible in the finder but then when you went into your application open the you know open and save dialog boxes you didn't see the folders there was always a folder named empty folder that can be used to create new folders in the finder by altering the existing empty folder and as folders were altered by adding files to them or by renaming the directory a new empty folder would then appear so in reality what the file system was doing was it was storing all files using a directory and file handle pairing and when you
            • 02:00 - 02:30 went to display the contents of the particular folder what was happening in background was that NFS would scan the directory for all files that match that handle and then it would display the contents of that search so MF s had some limitations max volume sizes 20 megabytes meba bytes are close to but not exactly megabytes maximum file size was also 20 megabytes maximum number of files was an enormous four thousand ninety-four and maximum file name length was 255 although the finder imposed a limitation of 63
            • 02:30 - 03:00 characters for a file name so you supported 255 you really only got 63 EMFs was discontinued as the max primary file system by Apple in September 1985 reading and writing team FS volumes continued to be supported up until system 761 when Apple dropped support for writing to em FS volumes and all support for em FS was dropped in Mac OS 8.0 and later and there was never native support for it on OS 10 or later now that's dead one of Apple's provided example file system plug-ins for OS 10
            • 03:00 - 03:30 is named em FS lives and it provides read-only support for em FS volumes so for those of you in the audience with that one really old floppy there's hope so why was em FS replaced well this was in the case of hardware needs driving software design and to replace em FS Apple introduced hierarchical file system otherwise known as HFS in September 1985 and the reason why it was introduced was just to support Apple's very first hard disk drive for the
            • 03:30 - 04:00 Macintosh the hardest xx so the reason for the change is that em FS had been optimized to be used on very small and slow media namely floppy disks so in contrast the hardest xx contained a 20 megabyte hard drive this enormous amount of storage for the time and that provided over 50 times the data storage to the stock 400 kilobytes of you have disk drive so the introduction of larger media like the hardness 20 exposed a scaling issue in MSS that Apple needed
            • 04:00 - 04:30 to address em FS is method of displaying files in a folder by searching for directory and file handle pairing you know worked well when you're working in a very small scale of hundreds of files and kilobytes the storage but it had a noticeable performance impact when you're now dealing with megabytes of storage in thousands of files so Apple solution to this problem was to replace em FS is flat file structure with the directory base file system that leveraged a new file known as the catalog file so the catalog file incorporated a binary search tree structure also know the bee tree that can be searched quickly regardless of the size of the
            • 04:30 - 05:00 storage volume so this is how apples handling MSS is a you know search impact so HDFS incorporated a number of features first introduced in NFS including the use of resource Forks and also having a maximum filename length of 255 characters although now the finder is imposing a further limitation saying you can't use more than 31 characters in any particular filename so this is shorter than MSS is 63 characters but this is still a finder of limitation it's not from the file system and H of s
            • 05:00 - 05:30 also introduced new features including actual directories during a hierarchy files were also now referenced by the file system with unique file identifier rather than by the file names and this allows files to be named almost anything without losing track of which application was going to be able to open them and the designers of HDFS also redeveloped various file system structures in order to be able to handle these larger numbers as greater storage so most were upgraded from NFS is 16-bit integer to now being 32-bit however there was one place where upsizing did not take place and that was in the
            • 05:30 - 06:00 number of files supported this remained a 16-bit integer with HFS being able to support up to 65535 files this becomes important later so is mentioned HFS had some limitations maximum volume size of 2 terabytes though to be honest back in HFF days i couldn't imagine having a 2 terabyte size drive maximum file size there's 2 gigabytes I did run into that one maximum number of files as I mentioned is 65535 maximum file name length
            • 06:00 - 06:30 remains 255 so the finder is still saying no more than 31 characters so long with solving MSS issues HFS had a few of its own though the catalog issue file which was the replacement for MSS directory file handle pairing stores all the files and directories into a single data structure so this can result in performance problems when you're multitasking because now only one program at a time can write to this structure so if an application is hogging the system that means now other applications are queuing
            • 06:30 - 07:00 up and waiting for their turn to write to the catalog file and that's certainly when you would see the stopwatch pop up and you just go man that's taken forever also damage to the catalog file could result in cat traffic file system damage because this was the only place where all your files directory records are stored so if this got hosed now you had a big problem and another issue with HFS had to do with block allocation so a storage volume is inherently divided into logical blocks of 512 bytes HDFS groups these logical blocks into allocation blocks which can
            • 07:00 - 07:30 contain one or more logical blocks depending on the size of the total size of volume HFS uses a 16-bit value to address these allocation blocks and that limits the number of allocation blocks to 65535 so because HDFS could support a maximum number of 65535 files with each file being assigned at least one allocation block regardless of the size of the storage volume this introduced as a logical consequence you have a minimum file size limit so that any file could
            • 07:30 - 08:00 not be smaller than 1 allocation block or 1 65535 of the size of the drive so when available drives are well under one gigabyte in size this wasn't really a big issue but his drive got larger the smallest amount of space that any file could occupy became excessively large so to illustrate the issue let's take a look at how HFS operates on a one gigabyte Drive which seems laughably small today so one gigabyte divided by 65,000 it's up to around 16 kilobytes
            • 08:00 - 08:30 and in fact to find around it up to make it 17 so that meant that the minimum file size of any file on a one gigabyte drive was effectively 16 kilobytes regardless of the files actual size so that meant even a one byte file would take up a minimum of 16 kilobytes of disk space so for users with a lot of small files this meant that a lot of disk space could just be lost to this minimum file size limitation so to fix the storage allocation and to add other improvements Apple introduced yet another file system in 1998 so apple
            • 08:30 - 09:00 introduces the HFS+ file system in 1998 which is the one that we use today and it was designed to fix the block allocation issue in HFS so this was accomplished by using by upgrading block allocation to now use 32-bit integers in place of HFS is 16-bit and that allowed for a much lower minimum file size we still have it around that it's much more manageable today so along with the block allocation issue a number of other issues were addressed as part of creating HFS+ and this
            • 09:00 - 09:30 included implementing Unicode support and also addressing the issue of long filenames so you can now actually use 255 characters in a file name and over the years Apple has added some new features to HFS+ and HFS+ is not only used on Macs up until very recently this year iOS TV OS and watch OS we're also using it with H of s plus being extended on those platforms to add support for profile encryption we're using file vel 2 on iOS TV OS and watch a less they
            • 09:30 - 10:00 went another direction so HFS+ first shipped in 1998 that's 19 years ago since then file systems and other platforms have shipped that include features that are not present in HFS+ among the issues are when it comes to dated checksumming hfs+ does not include the ability to check some metadata this helps to detect file corruption so it's a nice feature to have when it comes to tracking reads
            • 10:00 - 10:30 and writes to the filesystem HFS+ has one second granularity and that means that reads and writes to the file system can only be tracked down to the second other file systems were able to track down to the nanosecond which means they're much more able to catch partial reads and writes and deal with them before they can cause problems for the user also concurrent access to the file system this is an issue that carries over from HFS hfs+ is a single threaded filesystem and that means that only one process can be updating the file system at any one time
            • 10:30 - 11:00 so again if an application is hogging the system that means that other applications are now waiting their turn to you know write to the file system and frankly this particular issue may be most visible during Time Machine backups and this is actually one place where SSDs really helped out a lot because even though it's a single threaded filesystem SSDs have so much better performance that the reads and writes can simply just be processed that much faster so other limitations include date limitations HFS+ store statements in
            • 11:00 - 11:30 32-bit integers containing the number of seconds to midnight January 1st 1904 Greenwich Mean Time and that consequences that HSS pluses maximum representable date is February 6 2014 6 28 and 15 seconds Greenwich Mean Time now back in 1998 they probably didn't think this was going to be too big of a problem its 2017 now we should probably address this sparse file support HFS+ does not support sparse files which are a type of computer files that attempt to use filesystem space
            • 11:30 - 12:00 more efficiently by writing reference metadata for the empty space and file so file systems that support sparse files can simply say ok basically from this sector to this sector it's all empty space we're not going to write just euros to everything we're just going to say basically from here to here it's empty makes for a much smaller file what HFS+ does it goes ok so it's empty from here to here let's just write a bunch of zeros not as efficient HFS+ also does not support capturing filesystem
            • 12:00 - 12:30 snapshots which means creating a read-only copy of the states the filesystem is in at a specified point in time and another legacy issues frankly that HFS+ was not designed for use with intel processors in 1998 we had motorola processors we had PowerPC processors these were big endian processors and the reason why this matters is that Intel processors are little-endian processors big endian and little-endian expect to have data fed into them in a particular way and they happen to be completely
            • 12:30 - 13:00 opposite from each other so when you're reading metadata from an HFS+ drive in order for an Intel processor to understand it it has to be byte swapped before the processor can understand it now there is a negligible performance impact for it but this is something that has to be accommodated for with hfs+ so other file systems simply don't have this issue so with HFS+ showing its age and its legacy routes Apple has made the judgment by continuing to maintain it involved this 19 year old file system is no longer tenable Apple needs a new file
            • 13:00 - 13:30 system and Apple file system is being born from that need so ap FS includes a number of features that are not currently available in HFS plus one is they've upgraded block allocation and now use 64-bit integers and that means that ap FS can support over 9 quintillion files on a single a PFS volume and this is in place if hfs+ is four billion and change on a single volume also a PFF does support nanosecond timestamp granularity this improves on hfs+ is one second time strength
            • 13:30 - 14:00 granularity a PFS does support the use of sparse cells that allows a PFF to handle empty space much more efficiently snapshot support a PFS does include support for capturing those filesystem snapshots and those snapshots are also able to be mounted as read-only volumes using the mount AP at that's command and I'll be going into that a little bit also working with the timestamp granularity Apple offers a new capability with a PFS called atomic save save and this capability performs saves in a single transaction that from the
            • 14:00 - 14:30 users perspective they had to succeed or it didn't happen at all and this means that partial rights to the filesystem don't occur and the reason why this is important is that a partial write to the file system may cause more trouble than that right not happening at all so this is definitely an improvement for us also extended attribute support vote AP FS and hfs+ do include extended attribute support but ap FS is having this support built-in natively where HFS+ had to have it retrofitted in so ap FS the
            • 14:30 - 15:00 structured is shown with containers being the base storage unit of ApS s containers are pools of storage which are conceptually similar to course towards as logical volume groups and in turn the containers host a p FS volumes which are your actual mountable file systems each volume then generally maps to a matching namespace which Apple is defining in this cases meaning sets of files of directories so this is the stuff you're actually storing on the AP ssy so while full support for managing a p FS is not available at this time in ceará it is possible to create
            • 15:00 - 15:30 containers volumes and namespaces using Disk Utility so let's take a look at how this works beginning with formatting and just use a p FF and set up one container so first thing we're going to do let's go ahead and run a disk detail list and I've got an unformatted drive available so let me just grab that identifier disk as arrow and what I'm going to do is run Disk Utility disk plug in the disk identifier which is devdas 0
            • 15:30 - 16:00 I'm going to say that I just want one partition on it I want GPT for the partition table I'm going to format it as a PFF so I'm going to name the drive a PF s and that I want to use 100% of the drive for that alright let's go ahead go through set it up and now I have my new AP FS formatted drive sitting out of my desktop now to do further work with a p FS volumes you'll need to use disk retails new AP FS functions in CRM later so two lists
            • 16:00 - 16:30 available a p FS objects including containers and volumes you would use Disk Utility FS list so Apple never wants you to forget in ceará that ap FS is still a work in progress so any time you run Disk Utility p FF commands you will see this warning and Apple recognize that folks would likely want to skip this message if possible so they included a command line option for bypassing it however this bypass option also makes perfectly clear Apple guidance with regards to storing your data on a p FS volumes at this time
            • 16:30 - 17:00 it's here so once you're past the AP FS warning the output of Disk Utility a p FS list should look similar to this so in this case there's one a p FS container and one AP of best volume present on this Mac so if you have an existing a p FS formatted Drive and you want to add additional containers to it you can use the create container command and this command will also convert an hfs+ drives to a P of s and set up an empty container so let's take a look at how that works so first thing let's run
            • 17:00 - 17:30 Disk Utility because you want to grab the N another fire of our HFS+ volume over there which is this your s2 and we're going to go ahead and run Disk e till a PS s create container and we're going to specify that we want to run this on give this 0s to all right everything looks good go ahead hit return get our lovely warning we're
            • 17:30 - 18:00 going to see us go through create our container and next thing we're going to do is run Disk Utility FS list to make sure it works get our warning say yes and yes our HFS+ drive-ins disappear and it's now been converted to an AP FS formatted Drive with our container however if you notice nothing is comparing on the desktop and that is because our container is not our filesystem ApS has volumes or our file system so right now we have an empty pool of storage but nothing's going to
            • 18:00 - 18:30 mount in it until we actually add a volume to it so to destroy an existing a PFS container and all the volumes and namespaces on it you can use the delete container command so the API FS volumes are unmounted and all ap FS volumes are deleted along with their parent container so in ceará the API FS containers for more physical disks will be reformatted HFS+ as part of the process and you can optionally specify a name for the hfs+ volume so if no name
            • 18:30 - 19:00 is chosen it'll just default to naming it untitled so let's take a look at how this works the first thing let's go ahead and run disk until a p FS list get our warning and let me grab the identifier for my disk which is disk one as two and I'm going to run Disk Utility FS the lead container specifies that I want to use disc 1 s 2 you can also use dev disk 102 I'd just put in the address
            • 19:00 - 19:30 bar by itself and I'm going to specify that the new drive is just going to be named new HFS+ when it gets reformatted go ahead hit return get our warning Kosar destroys everything on that a PFS container destroys everything reformatted as hfs+ and now we're back to it being an hfs+ drive so to grow a container you would use the resize
            • 19:30 - 20:00 container command and this allows the option of growing your containers available allocated space when more physical drive space is available like say you have a raid or you're using this in a VM or something else so if you want to have your container resize to fill all available space you would use the number zero for the size the first things first go ahead and run this key to list and I have a drive that has 64 gigs of space available on it and I have another dot I have my AP FS container
            • 20:00 - 20:30 that using 42.7 gigs of space on it so go ahead and run Disk Utility p FS live because I want to grab the identifier for that container okay so that's disc 1 f2 so let's go ahead and yeah let's go ahead and get that for copying next I'm going to run this key tool a PSS resize container popping that identifier dev's disc 1 s2 and I'm going to say 0 because
            • 20:30 - 21:00 I want to use all the available space get our lovely morning again say yes now goes through resizes and now my AP FS container that has docks access to all the available space on the drive which is about 64 gigs now if you have an existing container and you want to add volumes to it you can use the add volume command so for here go ahead and run this key till a PFS list get that's the
            • 21:00 - 21:30 morning I'll be so glad when this warning goes away so I have my container that's just cool enough to I just want to add a volume to it so I'm going to go ahead and run Disk atill if it says add volume and I already have a volume in there called a PFF so I just want to add a new one just call it new AP FS and I'm also specifying that it has to be formatted as a p FS yes you could put in HFS+ bond in there
            • 21:30 - 22:00 I'm not sure how that would work say yes and now out of my desktop I have a new file system popping up that's new eh PFF now the create verb is a convenient command that combines the functions of the create container and add volume verbs so this will convert an existing hfs+ Drive to an empty a PFS a PFS drive with an empty container and then I'll set up one day PFS volume in the container so this is conceptually similar to the partition disk command I
            • 22:00 - 22:30 ran a little a little bit ago yeah I'm going to go ahead and run Disk e till list get the identifier for our HFS+ drive which is this 0s 2 in this case and then I'm going to go ahead and run this key till a PSS create and specified that I want to do it to dev 2 zeroes - and then I want to name the drive API FS so say yes of the warning goes through h
            • 22:30 - 23:00 hf s plus goes away now been replaced by a PFF and let's just double check to make sure that everything worked right so we're going to run this key till a PS s list in our warning again and sure enough there we are we've got our container and we've got our one volume showing up so something to be aware of is that volumes hosted in the same container will all display the same size and available free space of their parent
            • 23:00 - 23:30 a PFS container so this behavior is referenced when you list the available APF s of all you look for the drives that are listed as space sharing so let's take a look at how this works in practice so I've got 2 AP FS volumes mounted my desktop and I'm going to put a 10 gigabyte file on one of them I'll just name it 10 gig file I put in my password for studio and we've got 10 gig
            • 23:30 - 24:00 file appearing over here nothing over here but if we run a disk space check both are going to show up is having 10 gigs used and the reason is is that they're both coming from the same container that container knows I have 10 gigs used on one of my volumes so I'm going to take it away from not only the volume it's used on I'm also going to make the other one show that it's got 10 gigs used even though there's nothing
            • 24:00 - 24:30 appearing on the other volume the container is managing all of this and it is able to do it intelligently for you in the background so because the free space is being managed at the container level you shouldn't run into an issue where someone tries to save too much space to an a PFS volume but this behavior is something to be aware of when you get asked why someone's two drives apparently have X gigabytes of free space each but they can only save a total of ten of X gigabytes onto both
            • 24:30 - 25:00 drives so to help with this issue and to save on space overall Apple is also introducing a new way to handle duplicate files as part of a BFS so this is kind of cool so I've got a a PFS formatted Drive here and I've got an hfs+ drive formatted here and they both have 10 gig file on them and I'm just going to duplicate it so first of all go over to the it's best plus Drive get that copy going alright that's going on good good clip you know that's that's
            • 25:00 - 25:30 pretty speedy and I'm going to come over here to AP FS and um yes done do do you know maybe we should you know take this time to go to the bathroom get some coffee you know this is it's going to take a while you know just copy John and just finish alright oh thank good it's all done alright but if we go and take a
            • 25:30 - 26:00 look at this copy on our a PFF drive it's also showing up at a 10 gig file how is this possible how does this work it copied so fast well Apple calls this new copy behavior cloning and it's defining a clone in the AP FS context as being a copy of a file directory that occupies no additional space for file data and can be created almost instantaneously so when a cloned file is modified only those modified blocks are being written to disk and this allows the file system
            • 26:00 - 26:30 to do a couple things one store multiple revisions of the same document by tracking which blocks for youth and also just use less file space overall by only tracking those changes to the disk and using the original file as a reference for the modifications now the question that I'm sure just occurred to a bunch of people is what happens if you toss that original file the answer is nothing the file system is like okay I'll just keep I'll just keep track of these blocks even though that original file is gone I'll just keep reassigning it as needed until all copies of that file are
            • 26:30 - 27:00 gone and at that point it can say ok those blocks are free I can now allocate them to be used by something else but until that time it just handles it for you silently in the background automatically just does it for you you don't have to worry about this so as mentioned previously a PFS includes the ability to create snapshots of the AP FS file system and for those not familiar with this a snapshot is a read-only
            • 27:00 - 27:30 instance of a file system on a volume so snapshots can be used to make backups work more efficiently and also offer a way to revert changes to a given point in time so in the AP FS Developer Preview included with current releases of ceará and that's all I'm covering today I'm not going to speculate about the future which is coming in like half an hour the AP FS snapshot utility can be used to create delete and list snapshots and Apple also noted in its ApS s documentation before this particular second one away that the AP
            • 27:30 - 28:00 FF snapshot utility will be disabled in a future release of Mac OS so this tool is going to be replaced by another snapshot tool at some point so to create a new snapshot on an AP FS volume on tiara you would run the command shown on the screen with root privileges now let's take a look at how this works so we're going to go ahead and run to do ap it's a snapshot I'm going to use audacity flag to say that we want to create one I'm going to name the the snapshot is just new snap snap sighs
            • 28:00 - 28:30 excuse me and we're going to store it on volumes a p FS that's the drive is going to be a with all right put our password here we get a completely different warning that also says basically don't trust this this is pretty release software I just thought it was interesting Apple decided to put in a completely separate and different warning for this particular tool to list the available snapshots in an AP FS volume on Sierra you would run the command shown on the screen which route privileges so in this case you've already created a
            • 28:30 - 29:00 snapshot we want to take a look at where it is so we're going to run to do a PFF snapshots we're going to say - shell and we're going to ask it to list the snapshots associated with volumes a PFS put our password for sudu and we get our warning again but underneath that we get this listing for new snapshots to show that we do have a snapshot associated on this drive and to delete a snapshot on an AP FS volume on Sierra you would run the command shown on the screen with root privileges so we're going to go
            • 29:00 - 29:30 ahead and run sudo a pH at - D and we're going to specify that we want to delete new snapshot from volumes AP FS alright put in our password for studio and just to make sure that it is gone we're going to go ahead and run to a PFF snapshot -
            • 29:30 - 30:00 l4 volumes a PFF and sure enough here we get our warning but now there's no listing underneath the warning now so mounts an existing snapshot as a read-only volume you'll need to use to mount a PFS command and using its - s option so as part of using the command in Sierre you'll also need to specify a directory for the snapshot to mount to hopefully this is not something we'll have to do in Mac OS next whatever it is but you do have to do it with the
            • 30:00 - 30:30 developer pre-rinse here so you can also see more information about it once the drive is mounted you can see it as a read-only Drive in the finder and you can also find out information about how the snapshot is mounted by using the mount command so let's take a look at how this works so first thing I'm going to set up a 10 gigabyte file just call it 10 gig file and store it on volumes ad FS alright
            • 30:30 - 31:00 there's my file now because I'm a cautious sort I'm going to go ahead and create a snapshot of this drive so I'm going to run to do a PFS snapshot - see I'm going to just call it 10 gig snap and associate that with volumes EPSS alright life is good oh and here I make the mistake the terrible error no don't do it again not again not the nightmares no oh I'm
            • 31:00 - 31:30 such a fool I have a snapshot so what's the first thing I need to do I need to put up a melt point so I'm going to create a desktop folder called recovery you could name it anything and put it anywhere I'm just happening to put it on the desktop okay so there's my directory called recovery and next thing I want to do is I want to mount that snapshot so I'm going to run out a PSS I'm going to
            • 31:30 - 32:00 use the - this option to indicate that I'm using a snapshot I'm going to say that I want to use 10 gig snap from volumes a PFS and then I'm going to be using desktop recovery as my mount point all right all right so I've got my snapshot mounting as a read-only volume and let's go take a look at it please please please please please oh thank goodness 10 gig file is there
            • 32:00 - 32:30 I'm saved also because bad things can happen a good drives if you want to fix them malfunctioning a PSS drive you can run the epic a PFS command with root privileges so let's just take a quick look and how that works so we'll run Disk e till list to grab our identifiers which in this case was disc 1 s 2 and now I'm just going to run to do at 6a PFF plug in our identifier this is dev
            • 32:30 - 33:00 this one us to put our password for studio sure enough everything looks fine now one area that was affected by this is that here is OS installer failed right away when you try to install it onto an ApS s formatted Drive and the reason for this failure is that it's running a disk check and it feels pretty hard when you try to run it against an
            • 33:00 - 33:30 ApS s formatted Drive and when the disk check fails the installation process hard fails so can you install 10125 on the two and AP FS formatted drive not right now so as Michael mentioned one of the things that Apple has been promising as part of the move from HFS+ to a PSS is a smooth conversion process the tool that Apple will be using for the conversion is called ap FS h FS convert it is available in Sierra I've tested the
            • 33:30 - 34:00 conversion process ends here and it works as long as the conditions shown on the screen apply so these rules may not apply to the conversion process in future os's this is just for Sierra that's all I'm going to be talking about no speculation about the future here and to run the conversion process you first have to make sure that all the conversion conditions that I mentioned on the slide before have been met once they have been you would run the command shown on the screen with root privileges so let's take a look at how this works
            • 34:00 - 34:30 so this key to lift and grab a my disc identify er there and next thing I want to do is run Disk Utility I mounted and I'm going to say volumes HFS to AP FS so that's now in mounted and next thing I want to do is
            • 34:30 - 35:00 just run to do a PF s HS s converts and plug in the identifier up sorry also plug in - B just to make sure it's verbose and then plug in my disk identifier and this drive is empty so this conversion is actually going to take not too long to complete so put in my password I get my warning say yes and
            • 35:00 - 35:30 that's done like I said this is an empty Drive it converted really fast and now I'm going to go ahead and run a disk e till a PFS disk detail list and sure enough my drive is now showing up as a PFF with my disk identifiers shown there if I run disk detail mount mount the drive
            • 35:30 - 36:00 if I run Biscay tilde PFS list it shows that everything is normal so at this point the drives been converted life is good so when I've tested converting encrypted drives in ceará I frankly get results that look like this the conversion process fails with an error the drive lines up in a state the Disk Utility labels as uninitialized and it's not possible to mount the drive it's a total loss when I've tested converting fusion
            • 36:00 - 36:30 drives in ceará I get results that look like this ap FS h FS convert gives me a message that had targeted course towards logical volume and the process halts at that point and no conversion takes place and I think that's largely because I can't fully unmount the drive it's always going to show up as being a core storage line so there are currently several limitations of a p FS to be aware of that may only apply to the next maybe 20 minutes or so startup disk is
            • 36:30 - 37:00 that an AP FS volume cannot currently be used as a startup disk in ceará I know some folks have managed to get it to work it takes some jiggery-pokery but by and large I'm going to stick with my roll of it can't be used as a sort of disk case sensitivity volumes can only currently be case sensitive this is the reverse of how it is on HFS+ where the default is a case insensitive volume Time Machine Time Machine backups are not currently supported with AP FS I suspect that Apple is going to be doing
            • 37:00 - 37:30 some substantial reworking of time machine to incorporate snapshots also for the left to core storage is staying behind on HFS+ it is not moving over to AP FS so FileVault - that relies on core storage that is going to be replaced by AP FS is native encryption scheme which we will hopefully learn a lot more about over the course of this week also fusion drives C's and drives also rely on core storage so they currently just don't work on a p FS at all and because you
            • 37:30 - 38:00 can never have too much information about something that is new i've got some useful links more useful links and potentially the most useful link you see in this entire presentation this is how you get it all these top link gives you a PDF of all the slides and speakers notes keynote slides are available from the link below and that gives you everything that everything I've been talking about all my speakers notes all the demos everything everything so I'll leave that up on the screen how about posted in the slack I'll also
            • 38:00 - 38:30 post it in the slack it also be a blog post on it everybody round of applause for rich truck [Applause]