hpoussin@svn.reactos.org wrote:
Author: hpoussin Date: Thu Sep 28 20:33:12 2006 New Revision: 24286
URL: http://svn.reactos.org/svn/reactos?rev=24286&view=rev Log: Support mount manager in disk.sys
Modified:
If you're going to add this kind of support, I'd appreciate it if you took a look at TinyKRNL/WDK to see how this should be done. FTDISK is responsible for all the code you've added, not disk.sys, and if we're going to implement NT5+ Storage stack features on top of an NT4 driver, this will mean either one of these two things:
1) A crappy "ROS" stack that's incompatible with anything NT offers (and the storage stack is heavily documented in NT, so we're at a big loss if we do this). 2) Someone will have to eventually re-write even more code to make it compatible.
I suggest you work on implementing an XP/2K3 style classpnp driver first. The WDK and TinyKRNL have sample source code (non-reversed), and there's 50 pages of documentation on it.
Once that works, a new disk.sys can be written (same information as above is available).
Then ftdisk should follow. It handles all Fault-Tolerance stuff, but about 6000 lines of it are responsible for the glue layer between the storage stack. TinyKRNL has just finished implementing it, so the information and documentation located there should be helpful (using TinyKRNL documentation and code for learning purposes is fully in-line with our IP policy and the whole point of the project).
Then partmgr, mountmgr can be written. These are also implemented in TinyKRNL completely. (Except GPT support).
Finally, some parts of the kernel's IoMgr needs to be changed in the method in which it sets up disk letters, and kernel32 needs some new code (which Filip has on his disk).