STATUS_WORKING_SET_QUOTA

I get this error, STATUS_WORKING_SET_QUOTA (0xC00000A1) when calling the
lower driver with an Irp build with IoBuildAsynchronousFsdRequest for
MJ_READ. This error appears not the first time, but after more than
2000 requests. I have made a test to build and send 20 000 asynchronous
Irps for MJ_READ and I always get this error somewhere between loop 2000
and 2500. I haven’t found any documentation on this error, only some
comment in ntstatus.h file. It seems that the system enters in a low
resource state, but I don’t know why because I don’t have memory leaks.
I searched over the ntfsd list, but the search engine is pretty stupid
and it didn’t give me the right pages.
As a mention, maybe it matters, the Irp for MJ_READ has the IRP_NOCACHE
flag set and it tries to read one page. The Irp is freed in the
completion routine.
Does anyone have some hint ?

Daniel

Does Driver Verifier tell you anything? If the working set is growing
intensively after your driver starts it’s certainly at fault.
Is the queue synchronous, i.e. do you wait for each IRP to complete
before sending the next one? If not, that can be one reason.
Are you freeing the allocated buffers?:slight_smile: Unlocking and freeing MDLs, if
any, that you allocated?

Daniel Turcanu wrote:

I get this error, STATUS_WORKING_SET_QUOTA (0xC00000A1) when calling the
lower driver with an Irp build with IoBuildAsynchronousFsdRequest for
MJ_READ. This error appears not the first time, but after more than
2000 requests. I have made a test to build and send 20 000 asynchronous
Irps for MJ_READ and I always get this error somewhere between loop 2000
and 2500. I haven’t found any documentation on this error, only some
comment in ntstatus.h file. It seems that the system enters in a low
resource state, but I don’t know why because I don’t have memory leaks.
I searched over the ntfsd list, but the search engine is pretty stupid
and it didn’t give me the right pages.
As a mention, maybe it matters, the Irp for MJ_READ has the IRP_NOCACHE
flag set and it tries to read one page. The Irp is freed in the
completion routine.
Does anyone have some hint ?

Daniel


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


Kind regards, Dejan M. MVP for DDK
http://www.alfasp.com E-mail: xxxxx@alfasp.com
Alfa Transparent File Encryptor - Transparent file encryption services.
Alfa File Protector - File protection and hiding library for Win32
developers.
Alfa File Monitor - File monitoring library for Win32 developers.