Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[filesys/fastfat] FASTFAT Errors on Surprise removal #1106

Open
rodwiddowson opened this issue Feb 12, 2024 · 1 comment
Open

[filesys/fastfat] FASTFAT Errors on Surprise removal #1106

rodwiddowson opened this issue Feb 12, 2024 · 1 comment
Assignees

Comments

@rodwiddowson
Copy link
Contributor

I am debugging and issue with my own file system driver and IRP_MN_SURPRISE_REMOVAL so I built a debug version of FASTFAT and started testing.

In my initial set of tests I got a series of PAGED_CODE asserts in the classpnp completion routine Because my own driver was loaded I didn't take any notes but tried to reproduce without it.

Investigations are ongoing but so far I have seen this (FATDATA.c - 478)

 if (ExceptionCode == STATUS_VERIFY_REQUIRED) {

            PDEVICE_OBJECT Device = NULL;

            DebugTrace(0, Dbg, "Perform Verify Operation\n", 0);

            //
            //  Now we are at the top level file system entry point.
            //
            //  Grab the device to verify from the thread local storage
            //  and stick it in the information field for transportation
            //  to the fsp.  We also clear the field at this time.
            //

            Device = IoGetDeviceToVerify( Irp->Tail.Overlay.Thread );
            IoSetDeviceToVerify( Irp->Tail.Overlay.Thread, NULL );

            if ( Device == NULL ) {

                Device = IoGetDeviceToVerify( PsGetCurrentThread() );
                IoSetDeviceToVerify( PsGetCurrentThread(), NULL );

                NT_ASSERT( Device != NULL );
            }

I'll keep on testing (with and without my drivers) and I'll fill in more details as I find them.

@NeoAdonis NeoAdonis changed the title FASTFAT Errors on Surprise removal [filesys/fastfat] FASTFAT Errors on Surprise removal Apr 24, 2024
@darwin-msft
Copy link
Contributor

STATUS_VERIFY_REQUIRED is expected. It is returned whenever fastfat needs to validate that the underlying storage is as expected. Usually after a media ejection, or power state transition or something like that.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants