Mailing Lists: Apple Mailing Lists
Image of Mac OS face in stamp
Re: Question on AppleRAID kext layering
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Question on AppleRAID kext layering



On Jan 11, 2005, at 2:11 AM, Yogesh P wrote:
I am working on the AppleRAID kext.I know that the AppleRAID kext is placed at the top layer in the mass storage driver stack means at device service layer.Its layering is above block storage driver and below BSD layer.

Yes, that is exactly correct. It is at the "IOMedia" layer and acts as what we call an IOMedia Filter. In IOKit terms, a Filter driver is one that matches on the same class that it publishes; in the case of AppleRAID, it both matches on, and publishes IOMedia objects.


Suppose, i created the logical partitions or raid partitions using disk-utility which underneath use AppleRAID for the operations.

If i want to perform the read/write operations on these partitions,does i need to write partition scheme driver or filter scheme driver???

As Dan indicated in a separate reply, you can read/write the AppleRAID partitions just like normal disks via /dev nodes. The is the technique used by the filesystem tools for creating and repairing filesystems on RAID volumes (or any volume).


And at what layer my driver will be reside???
Is it reside above the layer of AppleRAID kext or is it placed at the same layer where AppleRAID is????

From your other posts, it sounds like you want to create a driver that intercepts reads/writes going to the AppleRAID volumes.


If so, your driver will still be in the same logical layer as AppleRAID (IOMedia Filter layer of the IOStorageFamily) but within that layer, it will stack on top of AppleRAID. It is easiest to just think of AppleRAID as a fancy partition scheme.

I recommend you set up a system with AppleRAID and run "ioreg -c IOMedia" and you'll see the way the stacking works and exactly what properties are in play. Your driver will need to layer on top of the top-most IOMedia objects and just below the IOMediaBSDClient objects (which represent the BSD layer).

The way the system is structured, this is no different than intercepting I/O to non-RAID volumes. You just need to match on IOMedia objects that have a "Content Hint" property that your driver can filter, such as "Apple_HFS".

Cheers,
 - Dean

_______________________________________________
Do not post admin requests to the list. They will be ignored.
Darwin-drivers mailing list      (email@hidden)
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden


References: 
 >Question on AppleRAID kext layering (From: Yogesh P <email@hidden>)



Visit the Apple Store online or at retail locations.
1-800-MY-APPLE

Contact Apple | Terms of Use | Privacy Policy

Copyright © 2011 Apple Inc. All rights reserved.