mirror of
https://github.com/reactos/reactos.git
synced 2025-08-05 19:12:57 +00:00
[NTFS]
Acquire FCB resource (shared) before trying to attempt its data svn path=/trunk/; revision=67910
This commit is contained in:
parent
c28fc5a816
commit
94d99f3fe3
1 changed files with 8 additions and 0 deletions
|
@ -246,6 +246,12 @@ NtfsQueryInformation(PNTFS_IRP_CONTEXT IrpContext)
|
||||||
SystemBuffer = Irp->AssociatedIrp.SystemBuffer;
|
SystemBuffer = Irp->AssociatedIrp.SystemBuffer;
|
||||||
BufferLength = Stack->Parameters.QueryFile.Length;
|
BufferLength = Stack->Parameters.QueryFile.Length;
|
||||||
|
|
||||||
|
if (!ExAcquireResourceSharedLite(&Fcb->MainResource,
|
||||||
|
(BOOLEAN)(IrpContext->Flags & IRPCONTEXT_CANWAIT)))
|
||||||
|
{
|
||||||
|
return NtfsMarkIrpContextForQueue(IrpContext);
|
||||||
|
}
|
||||||
|
|
||||||
switch (FileInformationClass)
|
switch (FileInformationClass)
|
||||||
{
|
{
|
||||||
case FileStandardInformation:
|
case FileStandardInformation:
|
||||||
|
@ -301,6 +307,8 @@ NtfsQueryInformation(PNTFS_IRP_CONTEXT IrpContext)
|
||||||
Status = STATUS_INVALID_PARAMETER;
|
Status = STATUS_INVALID_PARAMETER;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
ExReleaseResourceLite(&Fcb->MainResource);
|
||||||
|
|
||||||
if (NT_SUCCESS(Status))
|
if (NT_SUCCESS(Status))
|
||||||
Irp->IoStatus.Information =
|
Irp->IoStatus.Information =
|
||||||
Stack->Parameters.QueryFile.Length - BufferLength;
|
Stack->Parameters.QueryFile.Length - BufferLength;
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue