diskperf behaviour

Hi,

I build the diskperf sample driver for windows 7 x86 checked version using
the latest WDK 7.1.0

I copied the sys file and the inf file to my test box (windows 7 x86) and
installed it by right clicking on the inf file.

The driver installed and asked for a reboot and the host came up. No issues
so far.

I made minor modifications in the ReadWrite dispatch function to dump the
IRP major function from the currentstacklocation and associate ByteOffset.

All I am doing is printing these values.

I then copied the newly built sys file to the test machine and I manually
over wrote it in the system32\drivers folder.

On the next reboot, the machine did not come up and in fact what I see is a
message “Operating System Not found”.

I have seen this issue multiple times.

Is it expected? I am not able to figure out the cause here.

If there is a bug in my driver (let’s say), then I would get a BSOD or
something.

Is it anything to do with driver signatures?

Any thoughts/suggestions/ideas?

Thanks,
A

The error you’re getting is occurring long before the os is up and running,
so the BSOD ‘facilities’ don’t yet exist.

No, it’s not really what one would expect, and it’s got nothing to do with
signatures.

I don’t know what you did, but suffice to say, you most definitely did
something other than just adding some trace statements. Usually this is
caused by a corrupt MBR, BIOS changes, or changes in the disks.

Did you by any chance overwrite the wrong image?

How about you post the code for that function in question.

mm

From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com] On Behalf Of Atul Kabra
Sent: Thursday, February 10, 2011 8:32 AM
To: Windows System Software Devs Interest List
Subject: [ntdev] diskperf behaviour

Hi,

I build the diskperf sample driver for windows 7 x86 checked version using
the latest WDK 7.1.0

I copied the sys file and the inf file to my test box (windows 7 x86) and
installed it by right clicking on the inf file.

The driver installed and asked for a reboot and the host came up. No issues
so far.

I made minor modifications in the ReadWrite dispatch function to dump the
IRP major function from the currentstacklocation and associate ByteOffset.

All I am doing is printing these values.

I then copied the newly built sys file to the test machine and I manually
over wrote it in the system32\drivers folder.

On the next reboot, the machine did not come up and in fact what I see is a
message “Operating System Not found”.

I have seen this issue multiple times.

Is it expected? I am not able to figure out the cause here.

If there is a bug in my driver (let’s say), then I would get a BSOD or
something.

Is it anything to do with driver signatures?

Any thoughts/suggestions/ideas?

Thanks,

A

— NTDEV is sponsored by OSR For our schedule of WDF, WDM, debugging and
other seminars visit: http://www.osr.com/seminars To unsubscribe, visit the
List Server section of OSR Online at
http://www.osronline.com/page.cfm?name=ListServer

what you wrote is what was my understanding as well but I can very
frequently reproduce it. (Rebuilding my test machine and might be able to
reproduce it again) I really added only following couple of lines in the
function

DiskPerfReadWrite()

if (currentIrpStack->MajorFunction == IRP_MJ_READ)

{

if (currentIrpStack->Parameters.Read.ByteOffset.QuadPart == 0)

{

DebugPrint((0, “DiskPerfReadWrite: Offset Zero\n”));

}

}

On Thu, Feb 10, 2011 at 7:26 PM, Martin O’Brien <
xxxxx@gmail.com> wrote:

The error you?re getting is occurring long before the os is up and
running, so the BSOD ?facilities? don?t yet exist.

No, it?s not really what one would expect, and it?s got nothing to do with
signatures.

I don?t know what you did, but suffice to say, you most definitely did
something other than just adding some trace statements. Usually this is
caused by a corrupt MBR, BIOS changes, or changes in the disks.

Did you by any chance overwrite the wrong image?

How about you post the code for that function in question.

mm

*From:* xxxxx@lists.osr.com [mailto:
xxxxx@lists.osr.com] *On Behalf Of *Atul Kabra

*Sent:* Thursday, February 10, 2011 8:32 AM
*To:* Windows System Software Devs Interest List
*Subject:* [ntdev] diskperf behaviour

Hi,

I build the diskperf sample driver for windows 7 x86 checked version using
the latest WDK 7.1.0

I copied the sys file and the inf file to my test box (windows 7 x86) and
installed it by right clicking on the inf file.

The driver installed and asked for a reboot and the host came up. No issues
so far.

I made minor modifications in the ReadWrite dispatch function to dump the
IRP major function from the currentstacklocation and associate ByteOffset.

All I am doing is printing these values.

I then copied the newly built sys file to the test machine and I manually
over wrote it in the system32\drivers folder.

On the next reboot, the machine did not come up and in fact what I see is a
message “Operating System Not found”.

I have seen this issue multiple times.

Is it expected? I am not able to figure out the cause here.

If there is a bug in my driver (let’s say), then I would get a BSOD or
something.

Is it anything to do with driver signatures?

Any thoughts/suggestions/ideas?

Thanks,

A

— NTDEV is sponsored by OSR For our schedule of WDF, WDM, debugging and
other seminars visit: http://www.osr.com/seminars To unsubscribe, visit
the List Server section of OSR Online at
http://www.osronline.com/page.cfm?name=ListServer


NTDEV is sponsored by OSR

For our schedule of WDF, WDM, debugging and other seminars visit:
http://www.osr.com/seminars

To unsubscribe, visit the List Server section of OSR Online at
http://www.osronline.com/page.cfm?name=ListServer

Well going by your evidences.

  1. Put bp on your DriverEntry and see if you are returning success or
    something else.
  2. Put bp on your AddDevice and see if you are returning success or not
    (atleast for disk holding system partition)
  3. See if you are returning any erroneous status under any circumstances
    from read/write dispatch function.

-Deepak

On Thu, Feb 10, 2011 at 8:03 PM, Atul Kabra wrote:

> what you wrote is what was my understanding as well but I can very
> frequently reproduce it. (Rebuilding my test machine and might be able to
> reproduce it again) I really added only following couple of lines in the
> function
>
> DiskPerfReadWrite()
>
> if
> (currentIrpStack->MajorFunction == IRP_MJ_READ)
>
> {
>
> if (currentIrpStack->Parameters.Read.ByteOffset.QuadPart == 0)
>
> {
>
> DebugPrint((0,
> “DiskPerfReadWrite: Offset Zero\n”));
>
> }
>
> }
>
> On Thu, Feb 10, 2011 at 7:26 PM, Martin O’Brien <
> xxxxx@gmail.com> wrote:
>
>> The error you?re getting is occurring long before the os is up and
>> running, so the BSOD ?facilities? don?t yet exist.
>>
>>
>>
>> No, it?s not really what one would expect, and it?s got nothing to do with
>> signatures.
>>
>>
>>
>> I don?t know what you did, but suffice to say, you most definitely did
>> something other than just adding some trace statements. Usually this is
>> caused by a corrupt MBR, BIOS changes, or changes in the disks.
>>
>>
>>
>> Did you by any chance overwrite the wrong image?
>>
>>
>>
>> How about you post the code for that function in question.
>>
>>
>>
>>
>>
>> mm
>>
>>
>>
>>
>>
>> From: xxxxx@lists.osr.com [mailto:
>> xxxxx@lists.osr.com] *On Behalf Of *Atul Kabra
>>
>> Sent: Thursday, February 10, 2011 8:32 AM
>> To: Windows System Software Devs Interest List
>> Subject: [ntdev] diskperf behaviour
>>
>>
>>
>> Hi,
>>
>>
>>
>> I build the diskperf sample driver for windows 7 x86 checked version using
>> the latest WDK 7.1.0
>>
>>
>>
>> I copied the sys file and the inf file to my test box (windows 7 x86) and
>> installed it by right clicking on the inf file.
>>
>>
>>
>> The driver installed and asked for a reboot and the host came up. No
>> issues so far.
>>
>>
>>
>> I made minor modifications in the ReadWrite dispatch function to dump the
>> IRP major function from the currentstacklocation and associate ByteOffset.
>>
>>
>>
>> All I am doing is printing these values.
>>
>>
>>
>> I then copied the newly built sys file to the test machine and I manually
>> over wrote it in the system32\drivers folder.
>>
>>
>>
>> On the next reboot, the machine did not come up and in fact what I see is
>> a message “Operating System Not found”.
>>
>>
>>
>> I have seen this issue multiple times.
>>
>>
>>
>> Is it expected? I am not able to figure out the cause here.
>>
>>
>>
>> If there is a bug in my driver (let’s say), then I would get a BSOD or
>> something.
>>
>>
>>
>> Is it anything to do with driver signatures?
>>
>>
>>
>> Any thoughts/suggestions/ideas?
>>
>>
>>
>> Thanks,
>>
>> A
>>
>>
>>
>> — NTDEV is sponsored by OSR For our schedule of WDF, WDM, debugging and
>> other seminars visit: http://www.osr.com/seminars To unsubscribe, visit
>> the List Server section of OSR Online at
>> http://www.osronline.com/page.cfm?name=ListServer
>>
>> —
>> NTDEV is sponsored by OSR
>>
>> For our schedule of WDF, WDM, debugging and other seminars visit:
>> http://www.osr.com/seminars
>>
>> To unsubscribe, visit the List Server section of OSR Online at
>> http://www.osronline.com/page.cfm?name=ListServer
>>
>
> — NTDEV is sponsored by OSR For our schedule of WDF, WDM, debugging and
> other seminars visit: http://www.osr.com/seminars To unsubscribe, visit
> the List Server section of OSR Online at
> http://www.osronline.com/page.cfm?name=ListServer
>

Based on what the op has reported so far, I would guess if I had to that the
op’s machine is ditching before winload runs.

If that’s the case, then the op’s driver couldn’t be the reason that the
system doesn’t ‘come up.’ It may have caused the problem before rebooting
(I have no idea of how it could do that, based on what he’s reporting).

If that’s not the case, then I have no idea of how the op arrived at this
state; however, the good news would be that in that case, the op could just
attach a debugger to bootmgr & the kernel and see what’s what.

I think that we need some details here, because what’s being reported is
confusing.

On the next reboot, the machine did not come up and in fact what I see is a
message “Operating System Not found”.

  1. Is the exact message ‘operating system not found?’ In particular, it’s
    NOT ‘operating system missing?’

  2. What do you mean exactly by ‘won’t come up?’

a.) do you see the BIOS logo/display?

b.) do you see the bootmgr screen?

c.) do you see the winload screen?

I have seen this issue multiple times.

Does that mean you’ve seen it every time you run your driver on a new
machine? Or does it occur sometimes and no other times?

Have you tried install your MODIFIED driver on a clean machine via the INF
and then rebooting (i. e. - no copying to \windows\system32\drivers)?

I guess that one thing that I would try is running ‘system restore’ from the
Windows DVD and see if (a) that fixes it; and (b) if it does, when you boot,
is your driver still attached.

mm

From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com] On Behalf Of Deepak Gupta
Sent: Thursday, February 10, 2011 1:53 PM
To: Windows System Software Devs Interest List
Subject: Re: [ntdev] diskperf behaviour

Well going by your evidences.

  1. Put bp on your DriverEntry and see if you are returning success or
    something else.
  2. Put bp on your AddDevice and see if you are returning success or not
    (atleast for disk holding system partition)
  3. See if you are returning any erroneous status under any circumstances
    from read/write dispatch function.

-Deepak

On Thu, Feb 10, 2011 at 8:03 PM, Atul Kabra wrote:

what you wrote is what was my understanding as well but I can very
frequently reproduce it. (Rebuilding my test machine and might be able to
reproduce it again) I really added only following couple of lines in the
function

DiskPerfReadWrite()

if

(currentIrpStack->MajorFunction == IRP_MJ_READ)

{

if (currentIrpStack->Parameters.Read.ByteOffset.QuadPart == 0)

{

DebugPrint((0,

“DiskPerfReadWrite: Offset Zero\n”));

}

}

On Thu, Feb 10, 2011 at 7:26 PM, Martin O’Brien
wrote:

The error you’re getting is occurring long before the os is up and running,
so the BSOD ‘facilities’ don’t yet exist.

No, it’s not really what one would expect, and it’s got nothing to do with
signatures.

I don’t know what you did, but suffice to say, you most definitely did
something other than just adding some trace statements. Usually this is
caused by a corrupt MBR, BIOS changes, or changes in the disks.

Did you by any chance overwrite the wrong image?

How about you post the code for that function in question.

mm

From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com] On Behalf Of Atul Kabra

Sent: Thursday, February 10, 2011 8:32 AM
To: Windows System Software Devs Interest List
Subject: [ntdev] diskperf behaviour

Hi,

I build the diskperf sample driver for windows 7 x86 checked version using
the latest WDK 7.1.0

I copied the sys file and the inf file to my test box (windows 7 x86) and
installed it by right clicking on the inf file.

The driver installed and asked for a reboot and the host came up. No issues
so far.

I made minor modifications in the ReadWrite dispatch function to dump the
IRP major function from the currentstacklocation and associate ByteOffset.

All I am doing is printing these values.

I then copied the newly built sys file to the test machine and I manually
over wrote it in the system32\drivers folder.

On the next reboot, the machine did not come up and in fact what I see is a
message “Operating System Not found”.

I have seen this issue multiple times.

Is it expected? I am not able to figure out the cause here.

If there is a bug in my driver (let’s say), then I would get a BSOD or
something.

Is it anything to do with driver signatures?

Any thoughts/suggestions/ideas?

Thanks,

A

— NTDEV is sponsored by OSR For our schedule of WDF, WDM, debugging and
other seminars visit: http://www.osr.com/seminars To unsubscribe, visit the
List Server section of OSR Online at
http://www.osronline.com/page.cfm?name=ListServer


NTDEV is sponsored by OSR

For our schedule of WDF, WDM, debugging and other seminars visit:
http://www.osr.com/seminars

To unsubscribe, visit the List Server section of OSR Online at
http://www.osronline.com/page.cfm?name=ListServer

— NTDEV is sponsored by OSR For our schedule of WDF, WDM, debugging and
other seminars visit: http://www.osr.com/seminars To unsubscribe, visit the
List Server section of OSR Online at
http://www.osronline.com/page.cfm?name=ListServer

— NTDEV is sponsored by OSR For our schedule of WDF, WDM, debugging and
other seminars visit: http://www.osr.com/seminars To unsubscribe, visit the
List Server section of OSR Online at
http://www.osronline.com/page.cfm?name=ListServer

One trick that I always use with Filters is to add a check to see if the machine is running in safemode and if so don’t attach. This allows me to reboot my machine if I screwed up my filter. This has saved my butt a lot of times before we had Virtual Machines…

Maybe this trick will help you in the future…

–Mark Cariddi
OSR, Open Systems Resources, Inc…

From: xxxxx@lists.osr.com [mailto:xxxxx@lists.osr.com] On Behalf Of Deepak Gupta
Sent: Thursday, February 10, 2011 1:53 PM
To: Windows System Software Devs Interest List
Subject: Re: [ntdev] diskperf behaviour

Well going by your evidences.

  1. Put bp on your DriverEntry and see if you are returning success or something else.
  2. Put bp on your AddDevice and see if you are returning success or not (atleast for disk holding system partition)
  3. See if you are returning any erroneous status under any circumstances from read/write dispatch function.

-Deepak
On Thu, Feb 10, 2011 at 8:03 PM, Atul Kabra > wrote:
what you wrote is what was my understanding as well but I can very frequently reproduce it. (Rebuilding my test machine and might be able to reproduce it again) I really added only following couple of lines in the function

DiskPerfReadWrite()

if
(currentIrpStack->MajorFunction == IRP_MJ_READ)

{
if (currentIrpStack->Parameters.Read.ByteOffset.QuadPart == 0)

{

DebugPrint((0,
“DiskPerfReadWrite: Offset Zero\n”));

}

}

On Thu, Feb 10, 2011 at 7:26 PM, Martin O’Brien > wrote:
The error you’re getting is occurring long before the os is up and running, so the BSOD ‘facilities’ don’t yet exist.

No, it’s not really what one would expect, and it’s got nothing to do with signatures.

I don’t know what you did, but suffice to say, you most definitely did something other than just adding some trace statements. Usually this is caused by a corrupt MBR, BIOS changes, or changes in the disks.

Did you by any chance overwrite the wrong image?

How about you post the code for that function in question.

mm

From: xxxxx@lists.osr.commailto:xxxxx [mailto:xxxxx@lists.osr.commailto:xxxxx] On Behalf Of Atul Kabra

Sent: Thursday, February 10, 2011 8:32 AM
To: Windows System Software Devs Interest List
Subject: [ntdev] diskperf behaviour

Hi,

I build the diskperf sample driver for windows 7 x86 checked version using the latest WDK 7.1.0

I copied the sys file and the inf file to my test box (windows 7 x86) and installed it by right clicking on the inf file.

The driver installed and asked for a reboot and the host came up. No issues so far.

I made minor modifications in the ReadWrite dispatch function to dump the IRP major function from the currentstacklocation and associate ByteOffset.

All I am doing is printing these values.

I then copied the newly built sys file to the test machine and I manually over wrote it in the system32\drivers folder.

On the next reboot, the machine did not come up and in fact what I see is a message “Operating System Not found”.

I have seen this issue multiple times.

Is it expected? I am not able to figure out the cause here.

If there is a bug in my driver (let’s say), then I would get a BSOD or something.

Is it anything to do with driver signatures?

Any thoughts/suggestions/ideas?

Thanks,
A

— NTDEV is sponsored by OSR For our schedule of WDF, WDM, debugging and other seminars visit: http://www.osr.com/seminars To unsubscribe, visit the List Server section of OSR Online at http://www.osronline.com/page.cfm?name=ListServer


NTDEV is sponsored by OSR

For our schedule of WDF, WDM, debugging and other seminars visit:
http://www.osr.com/seminars

To unsubscribe, visit the List Server section of OSR Online at http://www.osronline.com/page.cfm?name=ListServer

— NTDEV is sponsored by OSR For our schedule of WDF, WDM, debugging and other seminars visit: http://www.osr.com/seminars To unsubscribe, visit the List Server section of OSR Online at http://www.osronline.com/page.cfm?name=ListServer

— NTDEV is sponsored by OSR For our schedule of WDF, WDM, debugging and other seminars visit: http://www.osr.com/seminars To unsubscribe, visit the List Server section of OSR Online at http://www.osronline.com/page.cfm?name=ListServer</mailto:xxxxx></mailto:xxxxx>