From 38839ddd82e29bb669e480d724aac57af7bb3a04 Mon Sep 17 00:00:00 2001 From: Bill Zissimopoulos Date: Sun, 7 Feb 2016 18:52:11 -0800 Subject: [PATCH] sys: FspFileNodeOpen/FspFileNodeClose: insert FileNode in the ContextByName table --- src/sys/file.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/sys/file.c b/src/sys/file.c index f7a61a50..cd70c511 100644 --- a/src/sys/file.c +++ b/src/sys/file.c @@ -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);