Я занимаюсь разработкой виртуальной файловой системы и не совсем понимаю, что делает MacOS, когда вы помещаете файл в эту конкретную VFS. Я использую fuse-native для выполнения этой конкретной задачи.
Сейчас я предпочитаю немного объяснить мою реализацию.
Как вы, возможно, знаете, в реализации FUSE вы перезаписываете вызовы sys (open, read, write и др. c). ) и придумайте свою реализацию для них. У меня есть папка с объектами в виде разных файлов, и я создал VFS для сортировки их по типу, по версии и т. Д. c.
Теперь мне нужно иметь это как следующую функцию, чтобы отбросить файл в VFS, и этот файл будет сохранен в папке, о которой я говорил. Это означает, что функция fuseWrite будет записывать в файл tmp в этой папке, а функция fuseRealease должна преобразовывать файл в формат объектного файла.
По некоторым причинам для файлов размером более 8 МБ в MacOS используется другой поток вызовов sys, и я не могу просто иметь разную реализацию для разных потоков, поскольку это приведет к большей несогласованности.
Может кто-нибудь объяснить мне, что на самом деле MacOS ДЕЛАЕТ , когда вы удаляете файл (с расширенными атрибутами, поддерживаемыми в VFS). Как я могу найти трассировку стека всех вызовов sys, связанных с этим конкретным действием? Есть ли какая-либо документация, которой я могу следовать? Я просто устал от проб и ошибок: (.
Спасибо!