sys: FspFileNodeOpen/FspFileNodeClose: insert FileNode in the ContextByName table

This commit is contained in:
Bill Zissimopoulos 2016-02-07 18:52:11 -08:00
parent 0ec5291c70
commit 38839ddd82

View File

@ -261,6 +261,9 @@ FSP_FILE_NODE *FspFileNodeOpen(FSP_FILE_NODE *FileNode, PFILE_OBJECT FileObject,
*/
ASSERT(OpenedFileNode == FileNode);
FspFsvolDeviceInsertContextByName(FsvolDeviceObject,
&FileNode->FileName, FileNode, &FileNode->ContextByNameElementStorage, 0);
IoSetShareAccess(GrantedAccess, ShareAccess, FileObject,
&OpenedFileNode->ShareAccess);
}
@ -345,7 +348,11 @@ VOID FspFileNodeClose(FSP_FILE_NODE *FileNode, PFILE_OBJECT FileObject,
IoRemoveShareAccess(FileObject, &FileNode->ShareAccess);
if (0 == --FileNode->OpenCount)
{
FspFsvolDeviceDeleteContext(FsvolDeviceObject, FileNode->UserContext, &Deleted);
if (Deleted)
FspFsvolDeviceDeleteContextByName(FsvolDeviceObject, &FileNode->FileName, 0);
}
FspFsvolDeviceUnlockContextTable(FsvolDeviceObject);