Dear All,
I am running out of ideas now and I hope someone has a clue or can tell me
how I can proceed solving this problem, thanks.
My virtual FSD crashs the system if I do the following:
- read or write a file and init the cache map for this file
- close the file (I receive the cleanup, CC keeps its ref to the FO)
- open the file again
- issue a read and init the cache map for this new FO
- issue a write which appends data
When appending the data I call CcSetFileSizes() to inform CC that the file
has been increased. At this point I get the following:
IRQL_NOT_LESS_OR_EQUAL (a)
Arguments:
Arg1: 00000000, memory referenced
Arg2: 00000002, IRQL
Arg3: 00000001, value 0 = read operation, 1 = write operation
Arg4: 8041598d, address which referenced memory
Details:
Write address 00000000, Nonpaged pool
Current IRQL 2
Faulting IP 8041598d ( ntoskrnl!CcExtendVacbArray+190 )
I call CcSetFileSizes() with the 2nd FO before calling CcCopyWrite(). If I
do not append data and therefore do not call CcSetFileSizes(), the
CcCopyWrite() results in the expected paging io with the 1st FO and nothing
crashs.
Also, if I do the append with the original FO (which initiated the caching
for this FCB) all works fine.
Moreover, If I skip the read and just start appending data it crashs few
writes later (at the same point), if do the read first, it crashs
immediately.
I am talking about W2K SP1. Driver Verifier is not blaming on me.
Well, I hope you can tell me: “Ah, you forgot to…” or at least what I
should look for now.
Thanks,
Detlef
You are currently subscribed to ntfsd as: $subst(‘Recip.EmailAddr’)
To unsubscribe send a blank email to leave-ntfsd-$subst(‘Recip.MemberIDChar’)@lists.osr.com