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
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".
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