At 10:16 -0800 30/1/03, john spurling wrote: i'm planning on porting a filesystem to darwin, and i have a few questions. i've read though the kernel programming guide, and making it a kext and coding against vfs seem like the right things to do. Yes. however, i can't find anything in the way of documentation for vfs; There is very little Mac-specific documentation for VFS. There is some generic kernel programming documentation on the Apple developer web site. <http://developer.apple.com/techpubs/macosx/Darwin/index.html> There are also some very specific Q&As. <http://developer.apple.com/qa/qa2001/qa1173.html> <http://developer.apple.com/qa/qa2001/qa1113.html> The source code to a variety of Apple file systems is part of Darwin. <http://www.apple.com/darwin/> That's about it as far as Apple resources are concerned. There are some generic (and helpful) non-Apple VFS documents (the most relevant being "The Design and Implementation of the 4.4BSD Operation System" book), but these are not Mac OS X specific and don't cover Apple additions (most notably, UBC). As with all development in the BSD portions of the Mac OS X kernel, binary compatibility is not guaranteed for VFS plug-ins. We probably won't document the VFS layer properly until we have the binary compatibility story sorted out. another piece of the puzzle is /System/Library/Filesystems. are these just kexts for the various filesystems? if so, why are they separate from the other kexts (in /System/Library/Extensions)? These items are used by autodiskmount to: 1. probe a disk to see whether it contains a specific file system, 2. mount the file system, and 3. fsck the file system. They are also used by Disk Utility to format new file systems. They are only relevant for local disk-based file systems. If you write a local disk-based file system, you will have to add an item. Network file systems work in a very different way. If you do a network file system, you will probably want to plug-in to the URLMount framework. I can help you with that offline. Unfortunately, all of this is undocumented )-: If you're doing a commercial product, you might consider investing in some DTS tech support incidents. <http://developer.apple.com/programs/techsupport.html> S+E -- Quinn "The Eskimo!" <http://www.apple.com/developer/> Apple Developer Technical Support * Networking, Communications, Hardware _______________________________________________ darwin-kernel mailing list | darwin-kernel@lists.apple.com Help/Unsubscribe/Archives: http://www.lists.apple.com/mailman/listinfo/darwin-kernel Do not post admin requests to the list. They will be ignored.
participants (1)
-
Quinn