Post

Replies

Boosts

Views

Activity

Reply to FSKit passthrough sample fails to mount
I can actually reproduce that quite easily. But my biggest concern so far are other issues which makes me wondering if fskit is of production quality and should I continue making a fuse bridge with it. I got a couple of kernel panics while developing a new plugin. Can send logs if needed. With the passthrough fs: git clone which I usually use for filesystem validation and testing doesn't work: git clone https://github.com/arthenica/ffmpeg-kit.git Cloning into 'ffmpeg-kit'... remote: Enumerating objects: 11760, done. fatal: Unable to create temporary file '/Users/alexf/333/ffmpeg-kit/.git/objects/pack/tmp_pack_XXXXXX': Permission denied fatal: fetch-pack: invalid index-pack output With the passthrough fs: Recursive rm doesn't work either rm -rf ffmpeg-kit rm: ffmpeg-kit/docs/apple/html: Directory not empty rm: ffmpeg-kit/docs/apple: Directory not empty rm: ffmpeg-kit/docs/linux/html: Directory not empty rm: ffmpeg-kit/docs/linux: Directory not empty rm: ffmpeg-kit/docs/android/doc/html: Directory not empty rm: ffmpeg-kit/docs/android/doc: Directory not empty rm: ffmpeg-kit/docs/android: Directory not empty rm: ffmpeg-kit/docs: Directory not empty rm: ffmpeg-kit: Directory not empty
Topic: App & System Services SubTopic: Core OS Tags:
17h
Reply to FSKit passthrough sample fails to mount
I can confirm reboot fixed it. However I immediately hit another problem: after doing a Preview on a mounted drive a few times I'm not able to unmount it cleanly: "The disk xxx couldn't be ejected because the Finder is using it". I closed and re-open the Finder but still see this. I guess forced unmount should work but I'm a bit worried it can lead to other issues.
Topic: App & System Services SubTopic: Core OS Tags:
5d
Reply to FSKit passthrough sample fails to mount
Attaching the logs again: Filtering the log data using "subsystem == "com.apple.FSKit" OR process CONTAINS[c] "samplecode"" Timestamp Ty Process[PID:TID] 2026-03-17 15:15:51.832 I mount[16111:d88caa] [com.apple.FSKit:default] FSClient setting up connection to fskitd 2026-03-17 15:15:51.833 Db fskitd[589:d88a5f] [com.apple.FSKit:default] -[liveFilesMountServiceDelegate listener:shouldAcceptNewConnection:]: start 2026-03-17 15:15:51.833 Df fskitd[589:d88a5f] [com.apple.FSKit:default] Incomming connection, entitled 0 2026-03-17 15:15:51.833 Db fskitd[589:d88a5f] [com.apple.FSKit:default] -[liveFilesMountServiceDelegate listener:shouldAcceptNewConnection:]: accepting connection 2026-03-17 15:15:51.833 Df fskitd[589:d88a5f] [com.apple.FSKit:default] Hello FSClient! entitlement no 2026-03-17 15:15:51.834 Df mount[16111:d88caa] [com.apple.FSKit:default] Setting remote protocol to all XPC 2026-03-17 15:15:51.834 Df fskitd[589:d88a5f] [com.apple.FSKit:default] About to get current agent for 501 2026-03-17 15:15:51.834 I fskitd[589:d88a5f] [com.apple.FSKit:default] About to call to fskit_agent 2026-03-17 15:15:51.835 I fskit_agent[10123:d877d9] [com.apple.FSKit:default] Getting extensions 2026-03-17 15:15:51.836 Db fskitd[589:d88a5f] [com.apple.FSKit:default] -[fskitdAgentManager currentExtensionForShortName:auditToken:replyHandler:]_block_invoke: Found extension for fsShortName (<private>) 2026-03-17 15:15:51.837 I fskitd[589:d88a5f] [com.apple.FSKit:default] Probe starting on <private> 2026-03-17 15:15:51.837 Db fskitd[589:d87c31] [com.apple.FSKit:default] -[FSResourceManager getResourceState:]:found:<private> 2026-03-17 15:15:51.837 Db fskitd[589:d87c31] [com.apple.FSKit:default] -[FSResourceManager addTaskUUID:resource:]:<private>: Adding task (<private>) 2026-03-17 15:15:51.837 Df fskitd[589:d87c31] [com.apple.FSKit:default] About to get current agent for 501 2026-03-17 15:15:51.837 I fskitd[589:d87c31] [com.apple.FSKit:default] About to call to fskit_agent 2026-03-17 15:15:51.837 I fskit_agent[10123:d877d9] [com.apple.FSKit:default] Getting extensions 2026-03-17 15:15:51.838 Db fskitd[589:d87c31] [com.apple.FSKit:default] -[fskitdXPCServer getExtensionModuleFromID:forToken:]_block_invoke: Found extension <private>, attrs <private> 2026-03-17 15:15:51.838 Db fskitd[589:d87c31] [com.apple.FSKit:default] applyResource starting with resource <private> kind 4```
Topic: App & System Services SubTopic: Core OS Tags:
6d
Reply to FSKit passthrough sample fails to mount
Yes, both are signed Executable=/Users/alexf/Library/Developer/Xcode/DerivedData/Passthrough-fmtxodvbsknmqegwvscnzsczlopk/Build/Products/Debug/PassthroughAppEx.appex/Contents/MacOS/PassthroughAppEx Identifier=com.example.apple-samplecode.PassthroughXXXXXXXX.AppEx Format=bundle with Mach-O thin (arm64) CodeDirectory v=20400 size=476 flags=0x0(none) hashes=3+7 location=embedded Hash type=sha256 size=32 CandidateCDHash sha256=9abcde7d8b79d23164600c46c55cdace7136690a CandidateCDHashFull sha256=9abcde7d8b79d23164600c46c55cdace7136690aecb06f89082b53853a045b76 Hash choices=sha256 CMSDigest=9abcde7d8b79d23164600c46c55cdace7136690aecb06f89082b53853a045b76 CMSDigestType=2 CDHash=9abcde7d8b79d23164600c46c55cdace7136690a Signature size=4781 Authority=XXXXXXXXXXXXX Authority=Apple Worldwide Developer Relations Certification Authority Authority=Apple Root CA Signed Time=17 Mar 2026 at 15:00:17 Info.plist entries=21 TeamIdentifier=XXXXXXXX Sealed Resources version=2 rules=13 files=3 Internal requirements count=1 size=216```
Topic: App & System Services SubTopic: Core OS Tags:
6d
Reply to FSKit
Suppose I'm interested in implementing a network file system. How's that mapped to /dev? At this stage I'm unable to hit the probe() callback no matter what I try.
Topic: App & System Services SubTopic: Core OS Tags:
Mar ’25
Reply to FSKit
Thanks for directing me to the correct template. I've added a new target as instructed. In the "log stream," I can see activity related to a mount command. I'm trying to execute mount -F -t MyFS [special] [mount point]. I can see it's always getting rejected by fskitd. Could you clarify what [special] should be in my case?
Topic: App & System Services SubTopic: Core OS Tags:
Mar ’25
Reply to FSKit
There's no macOS > File System Extension template in the Xcode 16.3 beta 2, am I missing something? Also would you please clarify about mode entry point, is it UnaryFilesystemExtension implementation class or the one that registers the extension and calls to FSModuleIdentity? Lastly, after managing to put together some code I can see the extension in the Settings/General/ Extensions list but I don't know how to mount the filesystem. Is the extension supposed to create a fake mountable device under /dev/disk or something similar? Any hints would be appreciated.
Topic: App & System Services SubTopic: Core OS Tags:
Mar ’25
Reply to FSKit passthrough sample fails to mount
I can actually reproduce that quite easily. But my biggest concern so far are other issues which makes me wondering if fskit is of production quality and should I continue making a fuse bridge with it. I got a couple of kernel panics while developing a new plugin. Can send logs if needed. With the passthrough fs: git clone which I usually use for filesystem validation and testing doesn't work: git clone https://github.com/arthenica/ffmpeg-kit.git Cloning into 'ffmpeg-kit'... remote: Enumerating objects: 11760, done. fatal: Unable to create temporary file '/Users/alexf/333/ffmpeg-kit/.git/objects/pack/tmp_pack_XXXXXX': Permission denied fatal: fetch-pack: invalid index-pack output With the passthrough fs: Recursive rm doesn't work either rm -rf ffmpeg-kit rm: ffmpeg-kit/docs/apple/html: Directory not empty rm: ffmpeg-kit/docs/apple: Directory not empty rm: ffmpeg-kit/docs/linux/html: Directory not empty rm: ffmpeg-kit/docs/linux: Directory not empty rm: ffmpeg-kit/docs/android/doc/html: Directory not empty rm: ffmpeg-kit/docs/android/doc: Directory not empty rm: ffmpeg-kit/docs/android: Directory not empty rm: ffmpeg-kit/docs: Directory not empty rm: ffmpeg-kit: Directory not empty
Topic: App & System Services SubTopic: Core OS Tags:
Replies
Boosts
Views
Activity
17h
Reply to FSKit passthrough sample fails to mount
I already unmounted it, but lsof would surely report unclosed file descriptors. Shouldn't unmount attempt to close it automatically, especially if it was created by the Finder/Preview and cached somewhere ?
Topic: App & System Services SubTopic: Core OS Tags:
Replies
Boosts
Views
Activity
4d
Reply to FSKit passthrough sample fails to mount
I can confirm reboot fixed it. However I immediately hit another problem: after doing a Preview on a mounted drive a few times I'm not able to unmount it cleanly: "The disk xxx couldn't be ejected because the Finder is using it". I closed and re-open the Finder but still see this. I guess forced unmount should work but I'm a bit worried it can lead to other issues.
Topic: App & System Services SubTopic: Core OS Tags:
Replies
Boosts
Views
Activity
5d
Reply to FSKit passthrough sample fails to mount
Attaching the logs again: Filtering the log data using "subsystem == "com.apple.FSKit" OR process CONTAINS[c] "samplecode"" Timestamp Ty Process[PID:TID] 2026-03-17 15:15:51.832 I mount[16111:d88caa] [com.apple.FSKit:default] FSClient setting up connection to fskitd 2026-03-17 15:15:51.833 Db fskitd[589:d88a5f] [com.apple.FSKit:default] -[liveFilesMountServiceDelegate listener:shouldAcceptNewConnection:]: start 2026-03-17 15:15:51.833 Df fskitd[589:d88a5f] [com.apple.FSKit:default] Incomming connection, entitled 0 2026-03-17 15:15:51.833 Db fskitd[589:d88a5f] [com.apple.FSKit:default] -[liveFilesMountServiceDelegate listener:shouldAcceptNewConnection:]: accepting connection 2026-03-17 15:15:51.833 Df fskitd[589:d88a5f] [com.apple.FSKit:default] Hello FSClient! entitlement no 2026-03-17 15:15:51.834 Df mount[16111:d88caa] [com.apple.FSKit:default] Setting remote protocol to all XPC 2026-03-17 15:15:51.834 Df fskitd[589:d88a5f] [com.apple.FSKit:default] About to get current agent for 501 2026-03-17 15:15:51.834 I fskitd[589:d88a5f] [com.apple.FSKit:default] About to call to fskit_agent 2026-03-17 15:15:51.835 I fskit_agent[10123:d877d9] [com.apple.FSKit:default] Getting extensions 2026-03-17 15:15:51.836 Db fskitd[589:d88a5f] [com.apple.FSKit:default] -[fskitdAgentManager currentExtensionForShortName:auditToken:replyHandler:]_block_invoke: Found extension for fsShortName (<private>) 2026-03-17 15:15:51.837 I fskitd[589:d88a5f] [com.apple.FSKit:default] Probe starting on <private> 2026-03-17 15:15:51.837 Db fskitd[589:d87c31] [com.apple.FSKit:default] -[FSResourceManager getResourceState:]:found:<private> 2026-03-17 15:15:51.837 Db fskitd[589:d87c31] [com.apple.FSKit:default] -[FSResourceManager addTaskUUID:resource:]:<private>: Adding task (<private>) 2026-03-17 15:15:51.837 Df fskitd[589:d87c31] [com.apple.FSKit:default] About to get current agent for 501 2026-03-17 15:15:51.837 I fskitd[589:d87c31] [com.apple.FSKit:default] About to call to fskit_agent 2026-03-17 15:15:51.837 I fskit_agent[10123:d877d9] [com.apple.FSKit:default] Getting extensions 2026-03-17 15:15:51.838 Db fskitd[589:d87c31] [com.apple.FSKit:default] -[fskitdXPCServer getExtensionModuleFromID:forToken:]_block_invoke: Found extension <private>, attrs <private> 2026-03-17 15:15:51.838 Db fskitd[589:d87c31] [com.apple.FSKit:default] applyResource starting with resource <private> kind 4```
Topic: App & System Services SubTopic: Core OS Tags:
Replies
Boosts
Views
Activity
6d
Reply to FSKit passthrough sample fails to mount
Yes, both are signed Executable=/Users/alexf/Library/Developer/Xcode/DerivedData/Passthrough-fmtxodvbsknmqegwvscnzsczlopk/Build/Products/Debug/PassthroughAppEx.appex/Contents/MacOS/PassthroughAppEx Identifier=com.example.apple-samplecode.PassthroughXXXXXXXX.AppEx Format=bundle with Mach-O thin (arm64) CodeDirectory v=20400 size=476 flags=0x0(none) hashes=3+7 location=embedded Hash type=sha256 size=32 CandidateCDHash sha256=9abcde7d8b79d23164600c46c55cdace7136690a CandidateCDHashFull sha256=9abcde7d8b79d23164600c46c55cdace7136690aecb06f89082b53853a045b76 Hash choices=sha256 CMSDigest=9abcde7d8b79d23164600c46c55cdace7136690aecb06f89082b53853a045b76 CMSDigestType=2 CDHash=9abcde7d8b79d23164600c46c55cdace7136690a Signature size=4781 Authority=XXXXXXXXXXXXX Authority=Apple Worldwide Developer Relations Certification Authority Authority=Apple Root CA Signed Time=17 Mar 2026 at 15:00:17 Info.plist entries=21 TeamIdentifier=XXXXXXXX Sealed Resources version=2 rules=13 files=3 Internal requirements count=1 size=216```
Topic: App & System Services SubTopic: Core OS Tags:
Replies
Boosts
Views
Activity
6d
Reply to FSKit
Suppose I'm interested in implementing a network file system. How's that mapped to /dev? At this stage I'm unable to hit the probe() callback no matter what I try.
Topic: App & System Services SubTopic: Core OS Tags:
Replies
Boosts
Views
Activity
Mar ’25
Reply to FSKit
Thanks for directing me to the correct template. I've added a new target as instructed. In the "log stream," I can see activity related to a mount command. I'm trying to execute mount -F -t MyFS [special] [mount point]. I can see it's always getting rejected by fskitd. Could you clarify what [special] should be in my case?
Topic: App & System Services SubTopic: Core OS Tags:
Replies
Boosts
Views
Activity
Mar ’25
Reply to FSKit
There's no macOS > File System Extension template in the Xcode 16.3 beta 2, am I missing something? Also would you please clarify about mode entry point, is it UnaryFilesystemExtension implementation class or the one that registers the extension and calls to FSModuleIdentity? Lastly, after managing to put together some code I can see the extension in the Settings/General/ Extensions list but I don't know how to mount the filesystem. Is the extension supposed to create a fake mountable device under /dev/disk or something similar? Any hints would be appreciated.
Topic: App & System Services SubTopic: Core OS Tags:
Replies
Boosts
Views
Activity
Mar ’25