Re: Virtual hard drive
Re: Virtual hard drive
- Subject: Re: Virtual hard drive
- From: Toby Thain <email@hidden>
- Date: Sun, 30 Nov 2014 20:29:14 -0500
On 30/11/14 7:48 PM, Jorgen Lundman wrote:
Yep, VFS it is. You might want to consider looking at FUSE for Mac. They
will do the kext and kernel parts, you just fill in the blanks in userland.
Upshot of that is it will work on other fuse platforms as well (with
minimal work).
If you go down the route of VFS, I spent a fair bit of time looking at
Apple's MSDOS opensource, maczfs and the source for hfs, to do the OpenZFS
work. It quite straight forward to get the ground work running, but it does
have some finer points that are unexpected and took longer to figure out.
There is no real documentation that I have found. The 2-3 kernel books for
OSX barely skim over it.
Sounds like an opportunity for a book! "OS X VFS In Action"!
--Toby
Lund
Jim Luther wrote:
It might take you less time to add server support for an existing protocol
than it will to write and test a VFS file system plugin. Another plus is
that if you pick a protocol supported by multiple operating systems (like
SMB), you widen your market.
- Jim
On Nov 29, 2014, at 8:56 AM, George K Colley <email@hidden
<mailto:email@hidden>> wrote:
On Nov 29, 2014, at 8:08 AM, Thomas Tempelmann <email@hidden
<mailto:email@hidden>> wrote:
If it's individual files you're handling on the server side, then a
IOKit driver is the wrong way, as that's only good to handle block level
drives, I believe. Instead, you'll have to implement a VFS (Virtual File
System). Sadly, there is little documentation on that. And it's a lot of
work, many weeks.
A few pointers from someone who hasn't even accomplished that yet:
- Read about VFS in old BSD documentations. You may even have to
purchase a book on paper for that.
- Read the code, i.e. get the Darwin source and look for any functions
starting with "vfs_".
- Look for open source VFS OSX implementations and study them.
And be aware that since OSX 10.10 (Yosemite) you will need to have a
special signing "KEXT" certificate from Apple, for which in turn you
will need to buy the yearly membership. And if you have that, you may as
well send a tech support request to Apple asking for pointers on this topic.
Good luck!
Thomas
Thomas is correct you need to write a VFS kext and will need to work with
Developer Relation to get your kext signed. You may want to check out the
source at "http://www.opensource.apple.com/release/mac-os-x-108/“
<http://www.opensource.apple.com/release/mac-os-x-108/“> There
are several file system kext list in that code. Just note this is not a
simple task and will require a lot of time and work.
George
On Sat, Nov 29, 2014 at 2:42 AM, Nick <email@hidden
<mailto:email@hidden>> wrote:
Hello list,
I have to create a kind of a virtual storage, and I need it to
appear as a virtual disk drive in the system (a Volume). When the
files are copied on such a "drive", they actually get sent to a
server. The drive displays files, and this list of files is
downloaded from a server.
Could you please point me in the right direction, where to start?
Some keywords would be helpful.
What is the right way to do this?
I believe this would require implementing an IOKit kext driver?
Thank you
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Filesystem-dev mailing list (email@hidden
<mailto:email@hidden>)
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden <mailto:email@hidden>
--
Thomas Tempelmann, http://www.tempel.org/
Follow me on Twitter: https://twitter.com/tempelorg
Read my programming blog: http://blog.tempel.org/
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Filesystem-dev mailing list (email@hidden
<mailto:email@hidden>)
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden <mailto:email@hidden>
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Filesystem-dev mailing list (email@hidden
<mailto:email@hidden>)
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Filesystem-dev mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Filesystem-dev mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden