After more testing and communications with Apple engineers and other devs relying on this function I like to post a summary, in case anyone else is interested in using the CatSearch operation with APFS:
1. searchfs() is implemented for APFS on 10.12.6 and 10.13b3 (and earlier versions probably, too). 2. searchfs() has one major issue that makes it quite useless when searching for file names: It currently *compares case-sensitively*, but should be comparing case-insensitively. Whether this will get fixed before the 10.13 release is not clear. I've filed a bug report: https://openradar.appspot.com/33455597 - *if you care for searchfs support, please file one as well, adding your vote to have this fixed.* 3. *FSCatalogSearch cannot be used on APFS* as it cannot handle the 64 bit node IDs APFS uses. Currently, the volparms claim CatalogSearch support, and calling FSCatalogSearch does not return an error either, but there's an open bug to fix that (https://openradar.appspot.com/33428180). Unfortunately, some non-beta versions of macOS, e.g. 10.12.6, have this bug incorrectly claiming CatSearch support, meaning we'll have to special-handle this case. 4. searchfs() does not return paths but only names and node IDs (which are 64 bit), e.g. through ATTR_CMN_FILEID. However, *there is currently no documented way to resolve node IDs to actual file paths or URLs*. ( https://openradar.appspot.com/33507188) 5. searchfs() does not handle the ATTR_CMNEXT_LINKID attribute, meaning *one cannot learn about the separate dir entries of multiple hard links* to the same file. (https://openradar.appspot.com/33473247) I've also got a blog post about this here: http://blog.tempel.org/2017/07/apfs-and-fast-catalog-search.html -- Thomas Tempelmann, http://www.tempel.org/ Follow me on Twitter: https://twitter.com/tempelorg Read my blog: http://blog.tempel.org/
_______________________________________________ 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