Greetings,

I have so many questions... ;)

But let's start with a few basic ones. I'm upgrading my backup and recovery tools for Catalina and I find myself making assumptions about firm links that I'd like confirm. Here are my burning questions:


(1) Are firm links and their target always the same relative path?

I've written a few "firm link exploration" tools and I find that (thankfully!) the relative path of a firm link and its target are always the same, with respect to their volumes. For example:

/Users -> /System/Volumes/Data/Users
/usr/share/snmp -> /System/Volumes/Data/usr/share/snmp
/System/Library/CoreServices/CoreTypes.bundle/Contents/Library -> /System/Volumes/Data/System/Library/CoreServices/CoreTypes.bundle/Contents/Library

Said another way, is this a requirement of firm links or is this just a Catalina convention? Is Apple reserving the right to create something like this in a future version:

/usr/share/snmp -> /System/Volumes/Data/Library/Application Support/Network/SNMP


(2) Are firm links always on the R/O volume?

In other words, are firm links only created on the R/O system volume and always target something on its data volume? (I wrote some code to scan for firm links and I can only find them on the R/O system volume, but I wanted to ask.)


(3) Are firm links readable?

In the WWDC 2019 video "What's New in the Apple File Systems", firm links are described as "a special kind of sym link". Are these readable? I haven't found a new enum vtype defined (i.e. no new VFRMLNK), nor have I discovered a firm link equivalent for O_NOFOLLOW or O_SYMLINK that would allow one to open the contents of a firm link. Without these, it would appear that firm links are opaque filesystem structures that user-land apps cannot plumb.

This question is just idle curiosity; I don't currently have any real need to read firm links.



Cheers,

James Bucanek
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Filesystem-dev mailing list      (Filesystem-dev@lists.apple.com)
Help/Unsubscribe/Update your Subscription:
https://lists.apple.com/mailman/options/filesystem-dev/archive%40mail-archive.com

This email sent to arch...@mail-archive.com

Reply via email to