Is there a reason to prefer HFS+ over APFS for disk images in High Sierra and/or Mojave?
I'm creating small encrypted disk images (under 10 GB) to be used to secure and transfer data between systems running High Sierra (for now) and Mojave. Are there any technical reasons to prefer HFS+ (Mac OS Extended, Journaled) over APFS for these images. The images will be created as .sparsebundle files if it matters.
Edited to add: .sparsebundle files will be stored on an APFS file system in all cases.
Solution 1:
Whether you choose APFS or HFS+ for the sparse disk image will matter very little. They are synthetic filesystems and pass through iOPS and data to the underlying filesystem. That will have some technical details to consider and illuminate the differences how each relies on the storage to store filesystem data and work with or against the hardware that records the bits physically.
HFS+ has more third party data recovery options and is further backward compatible so those are two main technical reasons to potentially prefer HFS+ over APFS. If you’re storing the data on a spinning disk, that might be a technical advantage or might not. You’ll have to test that on your kit as benchmarks vary widely there.
- https://en.wikipedia.org/wiki/Apple_File_System
You give up the metadata protection checksums, crash protection of copy on write and encryption advances of APFS as well as the redesign of the filesystem to take advantage of flash/ssd. You also lose snapshots, clone copy and don’t receive the more flexible space allocation features of APFS.
Speed chould be a wash on flash / ssd for your use case, but I would still benchmark your sparse images on both file systems. HFS+ might be far better tuned for a HDD still ( or possible for evermore) as APFS sacrifices HDD performance for flash and ssd performance today as implemented.
Solution 2:
In addition to @bmike's very good answer, some legacy programs expect the directory listing to be pre-sorted as it is in HFS+; this is an uncommon issue but some things (especially ones which implement their own custom file selector for whatever reason) run into it all the same.