Commit graph

69800 commits

Author SHA1 Message Date
Trevor Thompson 7643831d56 [NTFS]
+NtfsDumpFileRecord() - Provides diagnostic information about a file record.

svn path=/branches/GSoC_2016/NTFS/; revision=72424
2017-12-10 11:14:13 +01:00
Trevor Thompson 6ab3072098 [NTFS]
*UpdateFileRecord() - Fix a DPRINT

svn path=/branches/GSoC_2016/NTFS/; revision=72423
2017-12-10 11:14:11 +01:00
Trevor Thompson 8b893c8e30 [NTFS]
Add some fixes to attrib.c, as suggested by Pierre Schweitzer:
*ConvertLargeMCBToDataRuns() - Use MS portable type, ULONG, for variable i.
*FreeClusters(), AddRun() - Check for invalid parameter before allocating memory, and confirm the memory is allocated.
*ConvertDataRunsToLargeMCB(), AddRun() - Avoid code duplication by using ExRaiseStatus() in try block, and return accurate status via _SEH2_GetExceptionCode().

svn path=/branches/GSoC_2016/NTFS/; revision=72422
2017-12-10 11:14:10 +01:00
Trevor Thompson 920e2f0216 [NTFS]
+FreeClusters(). Fix a DPRINT.

svn path=/branches/GSoC_2016/NTFS/; revision=71968
2017-12-10 11:14:08 +01:00
Trevor Thompson ed1b4bf9bc [NTFS]
Address some minor issues with attrib.c: Fix gcc build. Fix formatting.

svn path=/branches/GSoC_2016/NTFS/; revision=71957
2017-12-10 11:14:07 +01:00
Trevor Thompson d09e1398f8 [NTFS]
*AddRun() - Don't leak RunBuffer when encountering errors.
Handle exception from FsRtlAddLargeMcbEntry().

svn path=/branches/GSoC_2016/NTFS/; revision=71945
2017-12-10 11:14:05 +01:00
Trevor Thompson afe40eb054 [NTFS]
Implement AddRun(). Add support functions and documentation.
+ConvertDataRunsToLargeMCB()
+ConvertLargeMCBToDataRuns()
*SetAttributeDataLength(), *NtfsWriteFile() - Update for AddRun() implementation. Add hack to SetAttributeDataLength() to allow notepad.exe to save files until freeing clusters is implemented.

svn path=/branches/GSoC_2016/NTFS/; revision=71942
2017-12-10 11:14:03 +01:00
Trevor Thompson a135ef5864 [NTFS]
Various minor changes to fix GCC build.

svn path=/branches/GSoC_2016/NTFS/; revision=71922
2017-12-10 11:14:02 +01:00
Trevor Thompson 63e83c7ffc [NTFS]
Add support functions, fix warning from previous commit.
+NtfsDumpDataRuns(), +NtfsDumpDataRunData() - Provide diagnostic output.
+GetPackedByteCount() - Used to encode data runs.

svn path=/branches/GSoC_2016/NTFS/; revision=71921
2017-12-10 11:14:00 +01:00
Trevor Thompson 268a139e63 [NTFS]
UpdateFileRecord() - Remove fixup array before returning.

svn path=/branches/GSoC_2016/NTFS/; revision=71920
2017-12-10 11:13:58 +01:00
Trevor Thompson 7c576a836f [NTFS]
Add error-checking to InternalGetNextAttribute(); don't crash if CurrAttr->Length is invalid.

svn path=/branches/GSoC_2016/NTFS/; revision=71897
2017-12-10 11:13:57 +01:00
Trevor Thompson de5cff4b37 [NTFS]
Fix broken check for free disk space in NtfsAllocateClusters().

svn path=/branches/GSoC_2016/NTFS/; revision=71858
2017-12-10 11:13:55 +01:00
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
Hermès Bélusca-Maïto 3cd76b91b5 [INCLUDE]: ntddrdsk.h: Fix "__cplusplus" and the ramdisk GUID definitions. 2017-10-06 01:08:10 +02:00
Hermès Bélusca-Maïto fce8e1b595 [INCLUDE]: ntddrdsk.h: align defs on multiple of 4-space tab. 2017-10-06 01:08:10 +02:00
gigaherz aff6757284 [NTUSER] Fix rogue CR in a LF-only file. 2017-10-06 00:04:46 +02:00
Pierre Schweitzer d7ee95b28b [KERNEL32]: w2k3ify GetDriveTypeA() 2017-10-05 23:43:10 +02:00
Pierre Schweitzer cb17d5dba4 [KERNEL32]: Reimplement GetDriveTypeW(). This allows providing a quick path for DOS drives and fixes a few detection cases. It allows brings in support for mount points. 2017-10-05 23:41:26 +02:00
Pierre Schweitzer 676bd0cf37 [KERNEL32]: Finally get rid of no longer used function InternalOpenDirW() 2017-10-05 22:14:44 +02:00
Pierre Schweitzer 8b6518139d [KERNEL32]: Reimplement GetDiskFreeSpaceExA() to make it w2k3 compliant 2017-10-05 22:14:44 +02:00
Pierre Schweitzer 1e2424ee98 [KERNEL32]: Refactor a bit GetDiskFreeSpaceExW(), no ground breaking changes 2017-10-05 22:14:44 +02:00
Pierre Schweitzer 87448f3d8b [KERNEL32]: Reimplement GetDiskFreeSpaceA() to make it w2k3 compliant 2017-10-05 22:14:44 +02:00
Pierre Schweitzer 5bee374c82 [KERNEL32]: Reimplement GetDiskFreeSpaceW() to fix various issues in it. It also brings support for appcompat 2017-10-05 22:14:44 +02:00
Serge Gautherie 55ae20931f [FREELDR] Properly check for end-of-memory-map entries when skipping ranges smaller than page size.
CORE-12881

Signed-off-by: Timo Kreuzer <timo.kreuzer@reactos.org>
2017-10-05 19:19:42 +02:00
Serge Gautherie 274ace05b2 [FREELDR] Add 64 bit alignment macros (ULONGLONG_ALIGN_UP/DOWN_BY) for aligning physical addresses that can be larger than 4GB and the default macros truncate to ULONG_PTR.
CORE-12881

Signed-off-by: Timo Kreuzer <timo.kreuzer@reactos.org>
2017-10-05 19:19:42 +02:00
Serge Gautherie f588de2e79 [FREELDR] Improve trace prints in pcmem.c, no logical changes
CORE-12881

Signed-off-by: Timo Kreuzer <timo.kreuzer@reactos.org>
2017-10-05 19:19:42 +02:00
Timo Kreuzer 5c4d857407 [WIN32K] Add a comment regarding UserEnterExclusive() in UserGetDesktopDC()
This is a test-commit using GitHubs SVN interface.
2017-10-05 18:40:33 +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
Alexander Shaposhnikov 9f8693a4e4 Delete README 2017-10-04 22:09:27 +03:00
Colin Finck 71fba9dea1 [VERSION] Use --abbrev=7 for "git describe" to enforce a short hash of 7 characters no matter what the default is for your Git installation. 2017-10-04 20:49:43 +02:00
Colin Finck 9ebf43567d Add .gitattributes and .gitignore files and normalize line endings in the repository (#10) 2017-10-04 20:37:32 +02:00
Goblenus c609406c2f Fix url typo in README (#9) 2017-10-04 11:40:37 +03: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
Sergei Abramov b4f0a71f90 [NTOBJSHEX] Fix typo.
Patch by Sergei Abramov.
CORE-13863
2017-10-04 10:16:12 +03:00
Alexander Shaposhnikov 42051b6055 Readme Markdown Page (#2)
Create README.md
2017-10-04 08:28:08 +03:00