Re: Virtual hard drive
Re: Virtual hard drive
- Subject: Re: Virtual hard drive
- From: Jorgen Lundman <email@hidden>
- Date: Mon, 01 Dec 2014 09:48:43 +0900
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.
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
>
--
Jorgen Lundman | <email@hidden>
Unix Administrator | +81 (0)3 -5456-2687 ext 1017 (work)
Shibuya-ku, Tokyo | +81 (0)90-5578-8500 (cell)
Japan | +81 (0)3 -3375-1767 (home)
_______________________________________________
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