| SoLaR wrote:
| > It took me whole day to make virtvol sample format drive to NTFS.
|
| Why would you do that? NTFS is not efficient for small volumes.
I want to be able to format to anything, ie: tommorow if i decide to learn how to write FS driver for example I would like to know how to mount it on disk, storage, … and for example properly support formatting that fs.
| > * “Recycle.bin” is created on drive
| > * but only 1/3 (16MB ram disk) of drive is empty, guessing old CLFS.sys friend made transaction log!?
|
| And the master file table, and the redundant copies, and a number of
| other overhead tables and files.
Thanks for intell on CLFS.sys guess there is much more to read on subject - finding it is different story, guess need to check FS community group.
| > Can this two behaviors of NTFS be suppressed somehow, or we must do it manually?
|
| Well, you can suppress that behavior by using FAT32 instead. It’s a much
| better choice for small volumes.
|
| Seriously, no. All of that overhead supports the features that make
| NTFS what it is. The journaling features of NTFS are totally useless
| on a RAM disk anyway. If there’s an interruption and reboot, the whole
| drive is lost.
Yes I was thinking on it, also agree for RAM disks, but still want to stick for full support to learn, and I am using this only to test functionality, to learn how it all works in general - as it doesn’t require driver application to send IOCTL’s to mount/unmount image file (less hassle while testing).
And realized I have encountered same problem as in WDM version I previously wrote (when disk mounted and formatted to ntfs only way to replace driver was to reboot). In same time trying to learn KMDF along with solving problem with mountvol/mklink in WDM (which is solved as this driver can expose volume UUID which I can mount - figured out what I need to support/call).
While figuring out how to support mountvol/mklink made comparison of functionalities supported by one (WDM) and the other (KMDF) driver. And it seams most IOCTL’s are there for supporting virtual disk, and now I am rewriting KMDF to support file instead of RAM seams maybe better solution (cleaner since it would be my 3rd time writing the same). Added file structures, IOCTL’s and other stuff for file instead of RAM, I guess i could try linking now file instead of ram in adddevice and read/write procs, and see how it goes from there.
But it’s tedious needing to reboot each time…
|> Also now I am experiencing same problem as with WDM version of driver:
|>
|> devcon -remove virtvol.inf virtvol can’t remove virtual drive device that is mapped to (DosDevice) drive letter, requires reboot.
|>
|> The device that has only mount point entry and not volume drive letter was successfully uninitialized and removed from the system.
|
|Right. That’s how it works. You need to eject or “safely remove”
|before you uninstall the driver.
Yes I’ve spent part of day reading on eject, safely remove… and I am nowhere on that subject (have even more questions than answers).
Figured manually removing all mount points didn’t do the job (still requires reboot), so for the time focused energy and time to re-implementing functionalities of WDM before trying to figure this one out. But at least now I can see the light at the end of the tunnel 
anyway thanks again for info 