Commit graph

209 commits

Author SHA1 Message Date
Pierre Schweitzer
28343c6c0c
[FASTFAT] Fix size checking in VfatGetFileNameInformation() 2017-12-09 12:45:16 +01:00
Pierre Schweitzer
9f3c80193e
[FASTFAT] Don't mix FileNameInformation and FileNamesInformation (and support the later).
This commit fixes weird behavior in our FastFAT implementation. It was mixing two classes:
FileNameInformation and FileNamesInformation. It was handling FileNameInformation like
FileNamesInformation and was filling buffer with FILE_NAMES_INFORMATION structure instead
of FILE_NAME_INFORMATION structure (how many things did that break?!).
Also, it wasn't implementing the FileNamesInformation class at all. This is required by
ntdll_winetest:directory which doesn't expect it to fail and thus, attempts to read
never filled in memory.

This commit fixes the winetest crash, and may fix other weird FS behavior.

CORE-13367
2017-12-09 12:37:34 +01:00
Pierre Schweitzer
e95751ab78
[FASTFAT] Calculate more accurately buffer length in VfatGetAllInformation(). 2017-12-09 10:59:37 +01:00
Pierre Schweitzer
52f0726817
[FASTFAT] Allow partial returns on directory info query for first entry.
This mimics what MS FastFAT does and fixes (a bit) ntdll_winetest:directory.
It still crashes, but go farther.

CORE-13367
2017-12-09 10:58:19 +01:00
Amine Khaldi
00124d1b1a [CMAKE/CLANG-CL] Silence some clang-cl warnings in consistency with our gcc build. 2017-12-07 21:53:45 +01:00
Pierre Schweitzer
9d67a24799
[CDFS_NEW] Fix broken cast.
Spotted by Thomas
2017-11-25 20:15:28 +01:00
David Quintana
67a7e45e35 [CDFS_NEW] Address review comments:
- Don't define-out volatile.
- Cleanup the ros-specific hdd-backed device object on shutdown.
- Fix hdd-backed use. Required a rather ugly hack.
- Update README.FSD
2017-11-25 13:36:47 +01:00
David Quintana
6a3bbf24e0 Revert "[CDFS_NEW] Use CdAcquireForCreateSection from the old driver in place of the newer CdFilterCallbackAcquireForCreateSection."
This reverts commit 8410d03275.
2017-11-25 13:36:47 +01:00
David Quintana
ec26cde4a1 [CDFS_NEW] Accept STATUS_NOT_IMPLEMENTED for IOCTL_CDROM_READ_TOC_EX fallback to IOCTL_CDROM_READ_TOC. 2017-11-25 13:36:47 +01:00
David Quintana
bc2378a356 [CDFS_NEW] Use CdAcquireForCreateSection from the old driver in place of the newer CdFilterCallbackAcquireForCreateSection. 2017-11-25 13:36:47 +01:00
David Quintana
5429771b99 [CDFS_NEW] Re-apply many of the reactos-specific changes and fix build.
- Also, get rid of the old diff file.
2017-11-25 13:36:47 +01:00
David Quintana
fd34548263 [CDFS_NEW] Replace old driver with a Ms-PL licensed version straight out of the driver samples github repository. 2017-11-25 13:36:47 +01:00
Pierre Schweitzer
3013e153b0
[FASTFAT_NEW] Fix build with FASTFATDBG set 2017-11-24 12:00:10 +01:00
Pierre Schweitzer
0daa5547d9
[FASTFAT_NEW] Import again FastFAT from MS. This time from GitHub for license reasons.
This implies that a sample for W10.
It has been backported to NT5.2; not sure how it would work on a W2K3 (feel free to test!)
2017-11-23 23:27:51 +01:00
Pierre Schweitzer
a913501626
[FASTFAT_NEW] This is not permitted by WDK license.
We should rather import from MS GitHub and backport to NT5.2.
2017-11-23 15:04:05 +01:00
Pierre Schweitzer
f15769d958
[FASTFAT_NEW] Fix build with FASTFATDBG set 2017-11-23 14:18:50 +01:00
Amine Khaldi
09c06a2f45 [CLANG-CL] Initial commit that allows us to compile ReactOS with clang-cl. 2017-11-23 14:09:57 +01:00
Pierre Schweitzer
aeadcaf515
[FASTFAT] Import the MS FastFAT sample from WXP.
Modified it so that it builds in trunk (with GCC, though).
Not to be switched for now, as it doesn't work in ReactOS (yet?).
2017-11-23 12:35:51 +01:00
Pierre Schweitzer
8503842309
[FASTFAT] More FS statistics 2017-11-21 22:18:11 +01:00
Amine Khaldi
b3172ae098 [EXT2FS] For some reason we get error: conflicting types for 'do_split' when compiling with clang-cl so work around this with FIXMEs. CORE-11799 (#94) 2017-11-19 15:42:03 +01:00
Amine Khaldi
06b0cc74c5 [REISERFS] Do not take this code path when compiling with clang. CORE-11799 (#94) 2017-11-19 15:24:49 +01:00
Pierre Schweitzer
ec6b3ecbe4
[CDFS] Attempt to a switch to the MS CDFS driver.
To be reverted if it brings in too many regressions, even though I tried to do my best to address them.

Leaving the old driver in place, for now; if no regressions are reported regarding CDFS in 0.4.8, then old driver could be dropped for 0.4.9.
2017-11-18 18:32:36 +01:00
Pierre Schweitzer
f723d230a0
[CDFS_NEW] _SEH2_FINALLY implement SEH support for real instead of its current stub.
This notably fixes BSOD on media change
2017-11-17 22:20:13 +01:00
Pierre Schweitzer
faee3753ea
[CDFS_NEW] Now NtWriteFile is fixed, revert 5f25582, ie remove FastIO hack from the driver
CORE-14003
2017-11-12 22:39:40 +01:00
Pierre Schweitzer
5f255827d3
[CDFS_NEW] Following 1bef487, add a hack and stub FastIO write routine to avoid bugchecks on write attempts.
This allows booting the ReactOS LiveCD as HDD image in Qemu without issues :-)
2017-11-12 21:16:31 +01:00
Pierre Schweitzer
cbf0430b56
[CDFS_NEW] Bugfix for f88fe43: don't delete devices twice on shutdown.
With that bugfix, I can install ROS from ISO on HDD without troubles :-)
CORE-13184
2017-11-12 18:58:43 +01:00
Pierre Schweitzer
6c73385625
[CDFS_NEW]
Restore the ability to restore installing from disk image.
CORE-13184
2017-11-12 18:39:40 +01:00
Pierre Schweitzer
a1d7e9936d
[EXT2] Upgrade to 0.69
CORE-13980
2017-11-12 10:48:17 +01:00
Pierre Schweitzer
94298313c0
[CDFS_NEW] Fix diff 2017-11-07 07:54:50 +01:00
Pierre Schweitzer
e88eeb21af
[NTOSKRNL] Make the CcWaitForCurrentLazyWriterActivity() stub return success instead of hacking FSDs.
Suggested by Thomas
2017-11-06 21:45:55 +01:00
Pierre Schweitzer
03d5be6437
[CDFS_NEW] Add a hack that allows locking a volume and thus, unmounting it. All that work, just to be able to do this... 2017-11-06 20:09:23 +01:00
Pierre Schweitzer
fa1c60db50
[CDFS_NEW] You know... RBuild has been gone for ages! 2017-11-06 20:02:16 +01:00
Pierre Schweitzer
8b2fd60829
[CDFS_NEW] Add a CMakeFile and a registry file. When using both, you get a driver that builds and works in ROS. Could install ROS with it! :-) 2017-11-06 20:02:16 +01:00
Pierre Schweitzer
e4da7ecc50
[CDFS_NEW] Remove a broken change (lol?!) that prevented the driver to properly work in ROS... Dropping SEH doesn't mean dropping code! 2017-11-06 20:02:16 +01:00
Pierre Schweitzer
7b19676e2b
[CDFS_NEW] Force calling convention to allow build 2017-11-06 20:02:16 +01:00
Pierre Schweitzer
3d4b8783fd
[CDFS_NEW] Force calling convention to allow build 2017-11-06 20:02:16 +01:00
Pierre Schweitzer
818025ecc8
[CDFS_NEW] Remove a no longer required build hack 2017-11-06 20:02:16 +01:00
Pierre Schweitzer
2639dd6736
[CDFS_NEW] Remove a no longer required build hack 2017-11-06 20:02:16 +01:00
Pierre Schweitzer
755bdb5d0b
[CDFS_NEW] Remove a no longer required build hack 2017-11-06 20:02:16 +01:00
Pierre Schweitzer
3cbcb1bade
[CDFS_NEW] Fix headers inclusion so that it can work on a *nix platform 2017-11-06 20:02:16 +01:00
Pierre Schweitzer
f65b294f21
[CDFS] Set the FO_CLEANUP_COMPLETE on cleanup 2017-11-05 13:57:41 +01:00
Pierre Schweitzer
244b4f99b3
[CDFS] Don't allow FS opening when volume is locked 2017-11-05 13:57:41 +01:00
Pierre Schweitzer
a2ed758a20
[CDFS] Addendum to 03a9d8c: check for volume state (locked?) before opening a file
CORE-13957
2017-11-04 21:31:35 +01:00
Pierre Schweitzer
03a9d8c7ca
[CDFS] Implement volume un/locking.
CORE-13957
2017-11-04 21:29:51 +01:00
Pierre Schweitzer
b30670ba43
[CDFS] Don't use uninit var. Fixes MSVC build (good boy :-)) 2017-11-04 21:23:11 +01:00
Pierre Schweitzer
95447d2fd1
[CDFS] Implement open handle count 2017-11-04 21:14:50 +01:00
Pierre Schweitzer
fa0327d6c5
[CDFS] Remove the VPB field from the VCB. Not only it was never set, but the only times it was used was broken! 2017-11-04 19:46:52 +01:00
Amine Khaldi
5bf1fbec49 [UDFS] Do not take some of the msvc codepaths when compiling with clang-cl due to issues such as inline assembly support. CORE-11799 (#94) 2017-10-28 13:52:44 +01:00
Pierre Schweitzer
361664d57f [FFS] Don't leak on failure
CID 1363596
2017-10-23 10:35:21 +02:00
Pierre Schweitzer
34d74fbd17 [FFS] Don't leak memory on volume mount
CID 1363583
2017-10-23 10:35:21 +02:00
Pierre Schweitzer
19bf484a5b [FFS] Don't allocate (and leak :-)) an unused event
CID 1363607
2017-10-23 10:35:21 +02:00
Pierre Schweitzer
5c5d20e50c [REISERFS] Don't leak on failure
CID 1363597
2017-10-22 22:51:02 +02:00
Pierre Schweitzer
2df125472b [REISERFS] Don't leak on failure
CID 1363593
2017-10-22 22:40:21 +02:00
Pierre Schweitzer
05f00fe63b [REISERFS] Don't allocate (and leak :-)) an unused event
CID 1363603
2017-10-22 22:30:22 +02:00
Timo Kreuzer
6073359086 [REACTOS] Fix x64 build
- SIZE_T -> ULONG in KsecGatherEntropyData
- Add missing ZwQueryInformationProcess() prototype for x64 build of btrfs
- Fix ml.exe path for VS 2017 Community Edition
- Add missing Handle32ToHandle to basetsd.h
2017-10-22 16:49:04 +02:00
Pierre Schweitzer
4672b2ba5e [BTRFS] Upgrade to BtrFS 1.0.1
CID 1419459, 1419378

CORE-13896
2017-10-16 20:29:55 +02: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
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
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