IMO, it would be nice if partition driver was available as ddf driver.
each block device would register raw (external function) and blkdrv
(internal) function. partition driver then recognizes known partition
schemes (registering new block devices) or refuses to control the
function.

I was actually thinking about a generic "block mapper" (something similar to the "device mapper" in Linux, not in HelenOS) that would be able to create new block devices according to any definition of a mapping of blocks of existing block devices. The partition drivers would then just instruct the block mapper to create new block devices based on the partition layout.

And of course, this scheme would potentially allow to define much more interesting things, such as RAID devices, dynamic logical volumes, etc.

It will be also a nice separation of concerns between the partition drivers and the block mapper. The partition drivers will no longer need to do the "dirty work" of actually routing the I/O requests and duplicate the code in each of them.

(Actually this was my original motivation for implementing the ports and interfaces, because they will allow the implementation of the "block mapper" to be much cleaner.)


M.D.

_______________________________________________
HelenOS-devel mailing list
[email protected]
http://lists.modry.cz/listinfo/helenos-devel

Reply via email to