mirror of
https://github.com/ApfelTeeSaft/reactos.git
synced 2026-09-02 19:26:32 +00:00
[NTFS]
- Store the link count in FCB and return it in FileStandardInformation query - Return the MFT index in NtfsGetInternalInformation query svn path=/trunk/; revision=65679
This commit is contained in:
@@ -358,6 +358,7 @@ NtfsMakeRootFCB(PNTFS_VCB Vcb)
|
||||
Fcb->RFCB.ValidDataLength.QuadPart = FileName->DataSize;
|
||||
Fcb->RFCB.AllocationSize.QuadPart = FileName->AllocatedSize;
|
||||
Fcb->MFTIndex = NTFS_FILE_ROOT;
|
||||
Fcb->LinkCount = MftRecord->LinkCount;
|
||||
|
||||
NtfsFCBInitializeCache(Vcb, Fcb);
|
||||
NtfsAddFCBToTable(Vcb, Fcb);
|
||||
@@ -485,6 +486,7 @@ NtfsMakeFCBFromDirEntry(PNTFS_VCB Vcb,
|
||||
NtfsFCBInitializeCache(Vcb, rcFCB);
|
||||
rcFCB->RefCount = 1;
|
||||
rcFCB->MFTIndex = MFTIndex;
|
||||
rcFCB->LinkCount = Record->LinkCount;
|
||||
NtfsAddFCBToTable(Vcb, rcFCB);
|
||||
*fileFCB = rcFCB;
|
||||
|
||||
|
||||
@@ -59,7 +59,7 @@ NtfsGetStandardInformation(PNTFS_FCB Fcb,
|
||||
|
||||
StandardInfo->AllocationSize = Fcb->RFCB.AllocationSize;
|
||||
StandardInfo->EndOfFile = Fcb->RFCB.FileSize;
|
||||
StandardInfo->NumberOfLinks = 0; /* FIXME */
|
||||
StandardInfo->NumberOfLinks = Fcb->LinkCount;
|
||||
StandardInfo->DeletePending = FALSE;
|
||||
StandardInfo->Directory = NtfsFCBIsDirectory(Fcb);
|
||||
|
||||
@@ -183,8 +183,7 @@ NtfsGetInternalInformation(PNTFS_FCB Fcb,
|
||||
if (*BufferLength < sizeof(FILE_INTERNAL_INFORMATION))
|
||||
return STATUS_BUFFER_OVERFLOW;
|
||||
|
||||
/* FIXME: get a real index, that can be used in a create operation */
|
||||
InternalInfo->IndexNumber.QuadPart = 0;
|
||||
InternalInfo->IndexNumber.QuadPart = Fcb->MFTIndex;
|
||||
|
||||
*BufferLength -= sizeof(FILE_INTERNAL_INFORMATION);
|
||||
|
||||
|
||||
@@ -444,6 +444,7 @@ typedef struct _FCB
|
||||
ULONG Flags;
|
||||
|
||||
ULONGLONG MFTIndex;
|
||||
USHORT LinkCount;
|
||||
|
||||
FILENAME_ATTRIBUTE Entry;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user