mirror of
				https://github.com/winfsp/winfsp.git
				synced 2025-10-30 19:48:38 -05:00 
			
		
		
		
	sys: IRP_MJ_QUERY_INFORMATION: correctly retry IRP completion
This commit is contained in:
		| @@ -478,6 +478,7 @@ NTSTATUS FspFsvolQueryInformationComplete( | ||||
|     FSP_FSCTL_TRANSACT_REQ *Request = FspIrpRequest(Irp); | ||||
|     FSP_FSCTL_FILE_INFO FileInfoBuf; | ||||
|     const FSP_FSCTL_FILE_INFO *FileInfo; | ||||
|     BOOLEAN Success; | ||||
|  | ||||
|     if (0 != FspIopRequestContext(Request, RequestFileNode)) | ||||
|     { | ||||
| @@ -487,9 +488,14 @@ NTSTATUS FspFsvolQueryInformationComplete( | ||||
|         FspFileNodeReleaseOwner(FileNode, Full, Request); | ||||
|     } | ||||
|  | ||||
|     if (!FspFileNodeTryAcquireExclusive(FileNode, Main)) | ||||
|     Success = DEBUGRANDTEST(90, TRUE) && FspFileNodeTryAcquireExclusive(FileNode, Main); | ||||
|     if (!Success) | ||||
|     { | ||||
|         FspIopRetryCompleteIrp(Irp, Response, &Result); | ||||
|  | ||||
|         return Result; | ||||
|     } | ||||
|  | ||||
|     if (!FspFileNodeTrySetFileInfo(FileNode, FileObject, &Response->Rsp.QueryInformation.FileInfo, | ||||
|         (ULONG)(UINT_PTR)FspIopRequestContext(Request, RequestInfoChangeNumber))) | ||||
|     { | ||||
|   | ||||
		Reference in New Issue
	
	Block a user