From f2e863d92997e2cd9d6af20581e03786b7bd86dc Mon Sep 17 00:00:00 2001 From: Pierre Schweitzer Date: Mon, 24 Nov 2014 20:01:34 +0000 Subject: [PATCH] [NTFS] Warn about unimplemented sub-node browsing while looking into a MFT directory stream. Might likely explain why we cannnot enumerate all the files on a Win7 volume. svn path=/trunk/; revision=65474 --- reactos/drivers/filesystems/ntfs/mft.c | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/reactos/drivers/filesystems/ntfs/mft.c b/reactos/drivers/filesystems/ntfs/mft.c index 32774d2db12..acecf2dd583 100644 --- a/reactos/drivers/filesystems/ntfs/mft.c +++ b/reactos/drivers/filesystems/ntfs/mft.c @@ -566,6 +566,14 @@ NtfsFindMftRecord(PDEVICE_EXTENSION Vcb, while (IndexEntry < IndexEntryEnd && !(IndexEntry->Flags & NTFS_INDEX_ENTRY_END)) { + UNICODE_STRING EntryName; + EntryName.Buffer = IndexEntry->FileName.Name; + EntryName.Length = + EntryName.MaximumLength = IndexEntry->FileName.NameLength * sizeof(WCHAR); + + if (IndexEntry->Flags & NTFS_INDEX_ENTRY_NODE) + DPRINT1("Warning: sub-node browsing unimplemented! (%wZ)\n", &EntryName); + if ((IndexEntry->Data.Directory.IndexedFile & NTFS_MFT_MASK) > 0x10 && CurrentEntry >= *FirstEntry && CompareFileName(FileName, IndexEntry, DirSearch)) @@ -657,6 +665,14 @@ NtfsFindMftRecord(PDEVICE_EXTENSION Vcb, while (IndexEntry < IndexEntryEnd && !(IndexEntry->Flags & NTFS_INDEX_ENTRY_END)) { + UNICODE_STRING EntryName; + EntryName.Buffer = IndexEntry->FileName.Name; + EntryName.Length = + EntryName.MaximumLength = IndexEntry->FileName.NameLength * sizeof(WCHAR); + + if (IndexEntry->Flags & NTFS_INDEX_ENTRY_NODE) + DPRINT1("Warning: sub-node browsing unimplemented! (%wZ)\n", &EntryName); + if ((IndexEntry->Data.Directory.IndexedFile & NTFS_MFT_MASK) > 0x10 && CurrentEntry >= *FirstEntry && CompareFileName(FileName, IndexEntry, DirSearch)) -- 2.17.1