Apple’s macOS 10.15.5 either has a trivial filesystem bug or Apple has made a ‘reprehensible’ decision, says Carbon Copy Cloner developer Mike Bombich.
Early last week we discovered an APFS filesystem bug in a beta of macOS 10.15.5. The technical details of the bug are laid out below, but the short version is that we’re no longer able to use our own file copier to establish an initial bootable backup of a macOS Catalina System volume. To be very clear – existing backups are unaffected, and this has no effect on CCC’s ability to preserve your data, nor any effect on the integrity of the filesystems on your startup disk or your backup disk. The impact of this bug is limited to the initial creation of a bootable backup.
Could this simply be a security fix – maybe Apple doesn’t want third-parties to create firmlinks?
If that’s the case – if this is not actually a bug and is actually an intentional change by Apple, then I would argue that this is far worse than a bug. First, if third-parties should not set or remove the SF_FIRMLINK flag, then that should be documented alongside the flag’s definition (i.e. in /usr/include/sys/stat.h). Second, if you’re not going to allow the setting of the SF_FIRMLINK flag, then the system call should return -1 and set errno to EPERM – reporting success and failing is reprehensible. Last, and most important – making such a change in a production OS release with no warning is openly hostile to third-party developers who were relying on the documented functionality.
I suppose we’ll find out in future OS releases whether this was a simple filesystem bug that slipped into a production OS release, or if Apple finds it to be an acceptable practice to blindside developers by silently removing documented functionality in the middle of a production OS release cycle.
MacDailyNews Take: This sounds like a bug – the alternative doesn’t sound right – so we’re going to assume a bug fix is coming until we hear otherwise from Apple themselves.
[Attribution: 9to5Mac. Thanks to MacDailyNews Reader “Fred Mertz” for the heads up.]