[FASTFAT]

- Update FCB hashes after changing the path name
CORE-11377

svn path=/trunk/; revision=72147
This commit is contained in:
Thomas Faber 2016-08-07 14:24:45 +00:00
parent 85915846eb
commit 1d2d985d11

View file

@ -347,6 +347,7 @@ vfatAddFCBToTable(
ULONG Index;
ULONG ShortIndex;
ASSERT(pFCB->Hash.Hash == vfatNameHash(0, &pFCB->PathNameU));
Index = pFCB->Hash.Hash % pVCB->HashTableSize;
ShortIndex = pFCB->ShortHash.Hash % pVCB->HashTableSize;
@ -376,6 +377,7 @@ vfatInitFCBFromDirEntry(
RtlCopyMemory(&Fcb->entry, &DirContext->DirEntry, sizeof (DIR_ENTRY));
RtlCopyUnicodeString(&Fcb->ShortNameU, &DirContext->ShortNameU);
Fcb->Hash.Hash = vfatNameHash(0, &Fcb->PathNameU);
if (Vcb->Flags & VCB_IS_FATX)
{
Fcb->ShortHash.Hash = Fcb->Hash.Hash;
@ -457,7 +459,7 @@ vfatSetFCBNewDirName(
Fcb->PathNameBuffer = Fcb->PathNameU.Buffer;
Fcb->DirNameU.Buffer = Fcb->PathNameU.Buffer;
vfatSplitPathName(&Fcb->PathNameU, &Fcb->DirNameU, &Fcb->LongNameU);
Fcb->Hash.Hash = vfatNameHash(0, &Fcb->PathNameU);
if (pVCB->Flags & VCB_IS_FATX)
{
Fcb->ShortHash.Hash = Fcb->Hash.Hash;