sys: FSP_FILE_NODE: add HandleCount field and refactor cleanup/close/rename

This commit is contained in:
Bill Zissimopoulos
2016-03-15 15:09:47 -07:00
parent 66d20d3d35
commit bd413b9c9b
7 changed files with 151 additions and 148 deletions

View File

@ -879,10 +879,10 @@ static NTSTATUS FspFsvolSetRenameInformation(
Result = STATUS_SUCCESS;
FspFsvolDeviceLockContextTable(FsvolDeviceObject);
if (1 < FileNode->OpenCount ||
if (1 < FileNode->HandleCount ||
(FileNode->IsDirectory &&
0 != FspFsvolDeviceLookupDescendantContextByName(FsvolDeviceObject, &FileNode->FileName, TRUE)) ||
0 != FspFsvolDeviceLookupDescendantContextByName(FsvolDeviceObject, &NewFileName, FALSE))
FspFileNodeHasOpenHandles(FsvolDeviceObject, &FileNode->FileName, TRUE)) ||
FspFileNodeHasOpenHandles(FsvolDeviceObject, &NewFileName, FALSE))
Result = STATUS_ACCESS_DENIED;
FspFsvolDeviceUnlockContextTable(FsvolDeviceObject);
if (!NT_SUCCESS(Result))