mirror of
https://github.com/reactos/reactos.git
synced 2025-08-01 18:43:30 +00:00
[NTFS] - Begin to implement B-Trees. Allow for creating several new files in a directory.
NtfsAddFilenameToDirectory() - Add CaseSensitive parameter. Update to use new B-Tree code: First, the index is read and converted to a B-Tree in memory. Next, a key for the new file is inserted into the tree. Finally, the tree is converted back to an index root attribute which is written to disk. +btree.c - Includes functions related to B-Trees (AKA B*Trees). ntfs.h - Added several structures for representing B-Trees in memory. Known limitations: For simplicity, only trees with a depth of one are currently supported (i.e. an ordered list of filenames). Directories that have or will require an index allocation to store all their filenames are still TODO. As a consequence, the user will only be able to create about 6 files in a directory. svn path=/branches/GSoC_2016/NTFS/; revision=75223
This commit is contained in:
parent
38c947b7ab
commit
54f5c3b6ec
6 changed files with 642 additions and 64 deletions
|
@ -1566,6 +1566,12 @@ GetStandardInformationFromRecord(PDEVICE_EXTENSION Vcb,
|
|||
return NULL;
|
||||
}
|
||||
|
||||
ULONG GetFileNameAttributeLength(PFILENAME_ATTRIBUTE FileNameAttribute)
|
||||
{
|
||||
ULONG Length = FIELD_OFFSET(FILENAME_ATTRIBUTE, Name) + (FileNameAttribute->NameLength * sizeof(WCHAR));
|
||||
return Length;
|
||||
}
|
||||
|
||||
PFILENAME_ATTRIBUTE
|
||||
GetBestFileNameFromRecord(PDEVICE_EXTENSION Vcb,
|
||||
PFILE_RECORD_HEADER FileRecord)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue