mirror of
https://github.com/winfsp/winfsp.git
synced 2025-06-08 21:12:15 -05:00
sys: FSP_META_CACHE: initial implementation
This commit is contained in:
parent
0abd173898
commit
990955ff61
@ -400,8 +400,7 @@ NTSTATUS MetaCacheCreate(
|
|||||||
ULONG MetaCapacity, ULONG ItemSizeMax, PLARGE_INTEGER MetaTimeout,
|
ULONG MetaCapacity, ULONG ItemSizeMax, PLARGE_INTEGER MetaTimeout,
|
||||||
FSP_META_CACHE **PMetaCache);
|
FSP_META_CACHE **PMetaCache);
|
||||||
VOID MetaCacheDelete(FSP_META_CACHE *MetaCache);
|
VOID MetaCacheDelete(FSP_META_CACHE *MetaCache);
|
||||||
VOID MetaCacheInvalidateAll(FSP_META_CACHE *MetaCache);
|
VOID MetaCacheInvalidateExpired(FSP_META_CACHE *MetaCache, UINT64 ExpirationTime);
|
||||||
VOID MetaCacheInvalidateExpired(FSP_META_CACHE *MetaCache);
|
|
||||||
PVOID MetaCacheReferenceItemBuffer(FSP_META_CACHE *MetaCache, UINT64 ItemIndex, PULONG PSize);
|
PVOID MetaCacheReferenceItemBuffer(FSP_META_CACHE *MetaCache, UINT64 ItemIndex, PULONG PSize);
|
||||||
VOID MetaCacheDereferenceItemBuffer(PVOID Buffer);
|
VOID MetaCacheDereferenceItemBuffer(PVOID Buffer);
|
||||||
UINT64 MetaCacheAddItem(FSP_META_CACHE *MetaCache, PVOID Buffer, ULONG Size);
|
UINT64 MetaCacheAddItem(FSP_META_CACHE *MetaCache, PVOID Buffer, ULONG Size);
|
||||||
|
@ -62,11 +62,11 @@ NTSTATUS MetaCacheCreate(
|
|||||||
|
|
||||||
VOID MetaCacheDelete(FSP_META_CACHE *MetaCache)
|
VOID MetaCacheDelete(FSP_META_CACHE *MetaCache)
|
||||||
{
|
{
|
||||||
MetaCacheInvalidateAll(MetaCache);
|
MetaCacheInvalidateExpired(MetaCache, (UINT64)-1LL);
|
||||||
FspFree(MetaCache);
|
FspFree(MetaCache);
|
||||||
}
|
}
|
||||||
|
|
||||||
static VOID MetaCacheInvalidateItems(FSP_META_CACHE *MetaCache, UINT64 ExpirationTime)
|
VOID MetaCacheInvalidateExpired(FSP_META_CACHE *MetaCache, UINT64 ExpirationTime)
|
||||||
{
|
{
|
||||||
FSP_META_CACHE_ITEM *Item;
|
FSP_META_CACHE_ITEM *Item;
|
||||||
PLIST_ENTRY Head, Entry;
|
PLIST_ENTRY Head, Entry;
|
||||||
@ -107,16 +107,6 @@ static VOID MetaCacheInvalidateItems(FSP_META_CACHE *MetaCache, UINT64 Expiratio
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
VOID MetaCacheInvalidateAll(FSP_META_CACHE *MetaCache)
|
|
||||||
{
|
|
||||||
MetaCacheInvalidateItems(MetaCache, (UINT64)-1LL);
|
|
||||||
}
|
|
||||||
|
|
||||||
VOID MetaCacheInvalidateExpired(FSP_META_CACHE *MetaCache)
|
|
||||||
{
|
|
||||||
MetaCacheInvalidateItems(MetaCache, KeQueryInterruptTime());
|
|
||||||
}
|
|
||||||
|
|
||||||
PVOID MetaCacheReferenceItemBuffer(FSP_META_CACHE *MetaCache, UINT64 ItemIndex, PULONG PSize)
|
PVOID MetaCacheReferenceItemBuffer(FSP_META_CACHE *MetaCache, UINT64 ItemIndex, PULONG PSize)
|
||||||
{
|
{
|
||||||
FSP_META_CACHE_ITEM *Item = 0;
|
FSP_META_CACHE_ITEM *Item = 0;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user