From: anton_kolomyeytsev@hotmail.com Sent: Saturday, July 14, 2001 9:01 PM To: NT Developers Interest List Subject: [ntdev] Re: Defrag virtual disk on W2K Hi Mike, I think you spent more time writing messages about problems in your software then it could actually take you to write it in the correct way and just forget about troubles for a pretty long time... Maybe even forever -) I can understand you definitely. A lot of people started their NT kernel development making sample RAM disk driver work with files instead of memory. So you are one of them. Just like me -) The only problem you can hardly call yourself a programmer if you only modify the existing DDK source code to fit your needs. One day this will simply stop working for you. Trust me -) About what is possible for SCSI port/miniport drivers... Dowlnoad the source code and prebuilt binaries from the link below ( To Peter Viscarola: I hope you'll not treat this as commerical? I'm just trying to save a couple of development days for this guy and maybe some others...) and make some experiments with the code. For free. Than you can make a choice for yourself: continiue support ugly class-level virtual disks or go further with cool low-level disks (200% IMHO!!!) My personal advice to you... Write SCSI __miniport__ driver. Do not listen to the guys who cannot stop telling there are no other ways of completing requests from SCSIPORT context except initalizing timer callback either directly by HwScsiTimer() or indireclty via ScsiPortNotification( RequestTimerCall...) THIS IS NOT TRUE (I do not want to discuss the reasons making them do this. This is out of my bussiness) So just keep ptr to your DEVICE_OBJECT and call yourself recursively with SRB_IO_CONTROL to complete SRB and the stuff will work just fine (This is not the only solution! You can invent your own one). Total overhead will be so small you can just neglect it... And all prizes and advantages (like Windows 9x/Me/NT/2K/XP guaranteed work) will be yours -) Regards, Anton Kolomyeytsev CoolDev.Com - Toolkits for Network & Storage Kernel Software Developers "KoolSockets" & "KoolStorage" - TDI Client, Kernel Sockets, SCSI port/miniport http://www.CoolDev.Com KoolSocketsInfo@CoolDev.Com KoolStorageInfo@CoolDev.Com On 07/13/01, "Michal Vodicka " wrote: > IMHO implementing these IOCTLs won't help. We have also problem with defrag > which I found two weeks before because nobody complained about it yet :-) It > simply refuses our virtual drives because of "unsupported media type" or so. > If I ever have time to solve this problem, I would check the way how it > makes this decision but at first I would check if defrag API alone does work > at all. There is some utility on System Internals website which allows it. > > As for the "correct" way... We developed our driver starting with RamDisk > sample when NT4 were young. We chosen this way because it was the most > straightforward one and also efficient one. For w2k only few changes were > necessary. The real fun started with XP but currently it seems to work well > and the driver is binary complatible for NT4/w2k/XP. Maybe I'm wrong but > still see some advantages of this driver concept -- we > create/mount/dismount/delete virtual drives on demand and can assign any > free drive letter as for network drive mapping. This way we can support > terminal services (and XP fast user switching) i.e. drive letters are local > to sessions. Is it possible with SCSI port/miniport virtual drives? > > Best regards, > > Michal Vodicka > Veridicom > (RKK - Skytale) > [WWW: http://www.veridicom.com , http://www.skytale.com] > > > > > ---------- > > From: > > anton_kolomyeytsev@hotmail.com[SMTP:anton_kolomyeytsev@hotmail.com] > > Reply To: NT Developers Interest List > > Sent: Thursday, July 05, 2001 3:00 AM > > To: NT Developers Interest List > > Subject: [ntdev] Re: Defrag virtual disk on W2K > > > > Hi, > > > > Try to implement all IOCTLs you fail as unsupported. Maybe you'll be lucky > > > > and your code will work with defrag. But I personally do not belive in > > this. > > > > About "correct" way of implementing of the virtual storage. That theme is > > pretty popular here. Try to search the archive. In a dew words... If you > > do > > not care much about performance write SCSI miniport driver. If you do > > write > > full SCSI port driver. I've wrote them both (SCSI port is nearly complete > > doing testing right now). You can download my company complete "Storage > > over IP solution" from www.cooldev.com. It's free for non-commercial use. > > > > Regards, > > Anton > > > > On 07/05/01, "Michael_Huang@3com.com" wrote: > > > Thanks., Anton. Actually my driver supports the IOCTLs posted by Michael > > > Vodichka and it works fine with format/chkdsk, but not defrag. -:( And I > > also > > > read the article at systeminternal.com about defrag. Here is the URL > > just > > > someone else also intereted: > > > > > > http://www.sysinternals.com/ntw2k/info/defrag.shtml > > > > > > It seems to me that the defrag IOCTLs is implemented by FS driver, and > > the only > > > IOCTL new sent to my driver on W2k is 0x4d0008 and 0x66001B which I just > > return > > > not supported. Could that be the reason? > > > > > > Anyway, what should be the correct way to implement virtual storage? I > > also > > > followed the other discusses about SCSI port/miniport. And it seems that > > SCSI > > > port driver is the best way to do it? If so how could I start it (There > > is > > > nothing in DDK talking about how to develop a SCSI port driver)? Any > > > book/information availble? Thanks again. > > > > > > Michael > > > > > > > > > Search the archive of this mail list. Michael Vodichka posted list of > > > IOCTLs you need to implement to make your (???) driver work on Win2K. > > And > > > prepare for even more fun on Win XP. The way was choosen by you to > > > implement virtual storage devices is not correct. > > > > > > > > > On 07/04/01, "Michael_Huang@3com.com" wrote: > > > > Hi All, > > > > > > > > I have a virtual disk driver on NT/W2k based on Ramdisk. The driver > > works fine > > > > with Diskeeper on NT4 (NT4 does not have a built-in defrag utility), > > but it > > > just > > > > does not show up in W2K built-in defrag utility. Would you please help > > me to > > > get > > > > it work with W2K defrag? > > > > > > > > Appreciate in advance. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > --- > > > You are currently subscribed to ntdev as: MVodicka@rkk.cz > > > To unsubscribe send a blank email to leave-ntdev-247T@lists.osr.com > > > > --- > > You are currently subscribed to ntdev as: MVodicka@rkk.cz > > To unsubscribe send a blank email to leave-ntdev-247T@lists.osr.com > > > > --- > You are currently subscribed to ntdev as: GlennEverhart@FirstUSA.com > To unsubscribe send a blank email to leave-ntdev-247T@lists.osr.com --- You are currently subscribed to ntdev as: GlennEverhart@FirstUSA.com To unsubscribe send a blank email to leave-ntdev-247T@lists.osr.com