Commit graph

21 commits

Author SHA1 Message Date
Trevor Thompson 7a6e9bcdf6 [NTFS]
Simplify GetLastClusterInDataRun() and clean up NtfsAllocateClusters(). No functional changes.

svn path=/branches/GSoC_2016/NTFS/; revision=71857
2017-12-10 11:13:54 +01:00
Trevor Thompson c08d37d182 [NTFS]
Simplify and optimize InternalSetResidentAttributeLength(), as suggested by Pierre.

svn path=/branches/GSoC_2016/NTFS/; revision=71837
2017-12-10 11:13:52 +01:00
Trevor Thompson 7eb1264f5f [NTFS]
Fix copy-paste error in SetAttributeDataLength()

svn path=/branches/GSoC_2016/NTFS/; revision=71832
2017-12-10 11:13:50 +01:00
Trevor Thompson 760cdfb5aa [NTFS]
Add ability to write to resident attributes.
SetAttributeDataLength() - Check if the file is memory mapped before truncating
+InternalSetResidentAttributeLength() - Used by SetAttributeDataLength()

svn path=/branches/GSoC_2016/NTFS/; revision=71820
2017-12-10 11:13:49 +01:00
Trevor Thompson 25fdabd8ca [NTFS]
Fix typo in NtfsAllocateClusters(), spotted by ThFabba.

svn path=/branches/GSoC_2016/NTFS/; revision=71697
2017-12-10 11:13:35 +01:00
Trevor Thompson 77fc65dc0e [NTFS]
Lay some groundwork for extending allocation size.
+AddRun() - Unimplemented
+GetLastClusterInDataRun()
+NtfsAllocateClusters()

svn path=/branches/GSoC_2016/NTFS/; revision=71696
2017-12-10 11:13:33 +01:00
Trevor Thompson 84a1280fd6 [NTFS]
Allow for an existing file to be opened with FILE_OVERWRITE, FILE_OVERWRITE_IF, or FILE_SUPERSEDE dispositions, and truncate that file. This allows for a file to be opened and saved in Notepad.exe [provided that file is non-resident and its allocation size doesn't need to change].

svn path=/branches/GSoC_2016/NTFS/; revision=71680
2017-12-10 11:13:31 +01:00
Trevor Thompson f47efca89f [NTFS]
Remove unused parameter from SetAttributeDataLength.

svn path=/branches/GSoC_2016/NTFS/; revision=71677
2017-12-10 11:13:30 +01:00
Trevor Thompson a7a2c0d734 [NTFS]
Update a file's size in the relevant $FILE_NAME attribute of the index entry in the parent directory.
+UpdateFileNameRecord() - Searches a parent directory for the proper index entry, then updates the file sizes in that entry.
+UpdateIndexEntryFileNameSize() - Recursively searches directory index and applies the size update.

svn path=/branches/GSoC_2016/NTFS/; revision=71664
2017-12-10 11:13:28 +01:00
Trevor Thompson 4f8133f44b [NTFS]
Fix Up AddFixupArray - It needs to accept a PNTFS_RECORD_HEADER for parameter 2, not a PFILE_RECORD_HEADER.

svn path=/branches/GSoC_2016/NTFS/; revision=71662
2017-12-10 11:13:26 +01:00
Trevor Thompson ba33b9faac [NTFS]
When writing to a file, increase the file size if trying to write past the end.
*FindAttribute() has been given an optional pointer to a ULONG that will receive the offset of the found attribute from the beginning of the record. This is to allow for found attributes to be written back into their file records.
+SetAttributeDataLength()
+UpdateFileRecord() - Updates a file record in the master file table at a given index.
+AddFixupArray() - Prepares a file record or directory index for writing to the disk.

svn path=/branches/GSoC_2016/NTFS/; revision=71660
2017-12-10 11:13:25 +01:00
Trevor Thompson ea6b9622c4 [NTFS]
Add fixes to WriteAttribute():
-Remove erroneous check for end of run (before writing to the last run returned)
-Properly dereference RealLengthWritten pointer, as reported in CR-90

svn path=/branches/GSoC_2016/NTFS/; revision=71616
2017-12-10 11:13:23 +01:00
Trevor Thompson 58a13831ef [NTFS]
Added minimal write support from CORE-10998 along with updates as suggested by CR-90.

svn path=/branches/GSoC_2016/NTFS/; revision=71224
2017-12-10 11:13:19 +01:00
Colin Finck 950c86fb4c Fix remaining text file line endings in the tree. (#18)
Based on https://stackoverflow.com/a/1511273

Also enforce CRLF for all *.xml files in our tree, because they are distributed with ReactOS.
2017-10-06 15:00:36 +02:00
Pierre Schweitzer 75f1637f37 [CLASS2]: Fix status code on too small as exposed by kernel32:DeviceIoControl 2017-10-04 21:13:25 +02:00
Hermès Bélusca-Maïto f9b6429468 Delete "ghost" old(*) files that have been mysteriously added back during the SVN-to-Git transition.
To check that these changes are correct, checkout in a directory (let's call it "ros_svn") the /trunk/reactos/ of our read-only SVN repo r76032 and in /trunk/reactos/modules/, the rosapps, rostests and wallpapers.
In a second directory (let's call it "ros_git"), clone the corresponding Git-converted ReactOS directory.
Before applying this patch (and the previous one that added back the empty directories), you should see additional files in ros_git that are not in ros_svn, corresponding to these files I'm deleting here (plus some .gitignore files),
and you should also see additional files in ros_svn that do not appear in ros_git: these are the empty directories I've restored in my previous patch.

Now, after the application of both the previous patch that restores the empty directories (and deletes the .gitignore files), and this patch that removes the ghost files, you should only see that the only differences
between ros_git and ros_svn are the extra .keep files in the empty directories, and that's all!

Command-line for the tests:
diff --strip-trailing-cr -r ros_svn ros_git > diff_svn2git.txt

"-r" means recursive, and "--strip-trailing-cr" ignores the CR-LF vs. LF (or CR) EOLs.

(*): by "ghost" old(*) files I understand files that existed previously in the far past, that then were deleted long ago in SVN, and that popped out back during the Git migration.
2017-10-04 10:28:36 +02:00
Hermès Bélusca-Maïto acdf04bad2 Add .keep guard files in order to restore lost but empty directories we had with SVN.
Note that when you start populating these directories, you can remove the associated .keep guard file(s)!
2017-10-04 10:28:36 +02:00
Hermès Bélusca-Maïto 221ed4cefe Remove unwanted .gitignore files. 2017-10-04 10:28:36 +02:00
Pierre Schweitzer e48d6a658f [CLASS2]: Cosmetic fixes by Thomas 2017-10-03 21:34:00 +02:00
Pierre Schweitzer fdb72d7f85 [CLASS2]: - In ScsiClassCreateDeviceObject() don't drop received object name and store it in the device extension
- Implement support for the IOCTL_MOUNTDEV_QUERY_DEVICE_NAME IOCTL; return the store device name
2017-10-03 21:34:00 +02:00
Colin Finck c2c66aff7d Git conversion: Make reactos the root directory, move rosapps, rostests, wallpapers into modules, and delete rossubsys. 2017-10-03 07:45:34 +00:00