Does a filter driver need to fill-in the fastIo structure?

I am writing a filesystem filter driver that does no processing on FastIo
calls, (i.e. the DriverObject->FastIoDispatch in the filter is NULL),. But
the filesystem that I am filtering does respond as ‘not supported’ to FastIo
calls. Do I need to populate the FastIoDispatch data structure and have all
FastIo calls just passthrough? Or can the FastIo calls get to the
filesystem without the filter exposing the FastIo structure?

Currently in tests all FastIo writes are failing with the following assert:

<<>>

Assertion failed: fastIoDispatch && fastIoDispatch->FastIoWrite

Source File: D:\nt\private\ntos\io\write.c, line 460

<<>>

b8d9c980 804b0267 00000000 88498e4c 80f50565 nt!DbgBreakPoint

b8d9cc5c 805302b5 8052fed6 8052feb6 000001cc nt!RtlAssert+0x9a

b8d9cd2c 804bfb1a 000002d8 00000000 00000000 nt!NtWriteFile+0x31f
<<
b8d9cd2c 77f8331e 000002d8 00000000 00000000 nt!KiSystemService+0x10a

0118fc84 7c578703 000002d8 00000000 00000000 NTDLL!ZwWriteFile+0xb

0118fcf0 10002af6 000002d8 0009b7c8 00000028 KERNEL32!WriteFile+0x111

Thanks for your help,

-Steve Cook

The file object indicates fast I/O is supported
(FileObject->PrivateCacheMap != 0) and yet you don’t support the fast
I/O write operation. That’s inconsistent from the I/O Manager
perspective.

That’s why you see the assert.

Regards,

Tony

Tony Mason
Consulting Partner
OSR Open Systems Resources, Inc.
http://www.osr.com

-----Original Message-----
From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com] On Behalf Of AlphaGrey
Sent: Friday, October 22, 2004 1:05 PM
To: ntfsd redirect
Subject: [ntfsd] Does a filter driver need to fill-in the fastIo
structure?

I am writing a filesystem filter driver that does no processing on
FastIo
calls, (i.e. the DriverObject->FastIoDispatch in the filter is NULL),.
But
the filesystem that I am filtering does respond as ‘not supported’ to
FastIo
calls. Do I need to populate the FastIoDispatch data structure and have
all
FastIo calls just passthrough? Or can the FastIo calls get to the
filesystem without the filter exposing the FastIo structure?

Currently in tests all FastIo writes are failing with the following
assert:

<<>>

Assertion failed: fastIoDispatch && fastIoDispatch->FastIoWrite

Source File: D:\nt\private\ntos\io\write.c, line 460

<<>>

b8d9c980 804b0267 00000000 88498e4c 80f50565 nt!DbgBreakPoint

b8d9cc5c 805302b5 8052fed6 8052feb6 000001cc nt!RtlAssert+0x9a

b8d9cd2c 804bfb1a 000002d8 00000000 00000000 nt!NtWriteFile+0x31f
<<
b8d9cd2c 77f8331e 000002d8 00000000 00000000 nt!KiSystemService+0x10a

0118fc84 7c578703 000002d8 00000000 00000000 NTDLL!ZwWriteFile+0xb

0118fcf0 10002af6 000002d8 0009b7c8 00000028 KERNEL32!WriteFile+0x111

Thanks for your help,

-Steve Cook


Questions? First check the IFS FAQ at
https://www.osronline.com/article.cfm?id=17

You are currently subscribed to ntfsd as: xxxxx@osr.com
To unsubscribe send a blank email to xxxxx@lists.osr.com