Commit graph

181 commits

Author SHA1 Message Date
Pierre Schweitzer
8503842309
[FASTFAT] More FS statistics 2017-11-21 22:18:11 +01:00
Ged Murphy
dfb776380d
[FLTMGR] Latest from my branch (#135)
[FLTMGR][KMTEST] 
Squash and push my local branch across to master as the patch is getting a bit large. This is still WIP and none of this code is run in ros yet, so don't fret if you see ugly/unfinished code or int3's dotted around.

[FLTMGR] Improve loading/reg of filters and start to implement client connections
- Implement handling of connections from clients
- Implement closing of client ports
- Add a basic message waiter queue using CSQ's (untested)
- Hand off messages for the comms object to be handled by the comms file
- Initialize the connection list
- Add a registry file which will contain lib functions for accessing filter service entries

- [KMTEST] Initial usermode support for testing FS mini-filters
- Add base routines to wrap the win32 'Filter' APis
- Add support routines to be used when testing FS filter drivers
- Move KmtCreateService to a private routine so it can be shared with KmtFltCreateService
- Completely untested at the mo, so likely contains bugs at this point
- Add support for adding altitude and flags registry entries for minifilters
- Allow minifilters to setup without requiring instance attach/detach callbacks
- Add tests for FltRegisterFilter and FltUnregisterFilter and start to add associated tests
2017-11-21 16:36:29 +00:00
Pierre Schweitzer
4b34e44782
[FLOPPY] Don't wait forever while trying to determine media type.
This should fix some virtual machines and real hardware machine with empty floopy drive
not being able to boot ReactOS (stuck while initializing floppy.sys).
This fixes a regression introduced in r70746.
It could be generalized to other interrupts, floppy controllers not being reliable.

For more information: http://wiki.osdev.org/Floppy_Disk_Controller

CORE-7935
CORE-12908
CORE-13080
2017-11-21 10:22:50 +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
56cc2ca115
[SERIAL] Fix Serial{Get,Clear}PerfStats() to become proper PKSYNCHRONIZE_ROUTINE routines and get rid of the related casts. Brought to you by Thomas Faber. CORE-11799 (#94) 2017-10-31 15:44:39 +01:00
Eric Kohl
58bb4b31bc [STORPORT] Check status code of the call to PortFdoConnectInterrupt().
CORE-13866
2017-10-31 14:11:36 +01:00
Amine Khaldi
433d20f16e [ACPICA] Take the gcc code path for host configuration when compiling with clang. CORE-11799 (#94) 2017-10-30 22:45:42 +01:00
Amine Khaldi
cfe0f7f714 [NMIDEBUG] Do not take the msvc codepath in NmiClearFlag(). CORE-11799 (#94) 2017-10-30 21:54:54 +01:00
Serge Gautherie
abb6ad90f5 [MOUNTMGR][NTOSKRNL] ZwWriteFile() calls: Use explicit NULL instead of ambiguous 0. CORE-13910 2017-10-29 10:04:40 +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
Eric Kohl
5cfc1e3152 [STORPORT] Get the interrupt from the resource list, connect it and call the miniports HwInterrupt routine.
CORE-13866
2017-10-23 23:21:58 +02:00
Serge Gautherie
deb9c5416f CORE-13048. [I8042PRT] keyboard.c: Restore 1 "Irql =" (which was lost in r30000). (#63)
[I8042PRT] Restore 1 "Irql =" (which was lost in r30000). CORE-13048
2017-10-23 21:18:27 +02: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
072d1821e7 [STORPORT] Fix x64 build 2017-10-22 18:31:07 +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
Eric Kohl
9e642ea15b [STORPORT] Add the InitializeDpc code path to StorPortNotification().
CORE-13866
2017-10-22 09:25:36 +02:00
Eric Kohl
cc95d3ece3 [STORPORT] Implement StorPortNotification() / EnablePassiveInitialization and call the passive initialization routine.
CORE-13866
2017-10-21 23:58:42 +02:00
Eric Kohl
f9f21574ba [STORPORT] Implement parts of StorPortGetPhysicalAddress() that handle the uncached extension.
CORE-13866
2017-10-21 21:55:42 +02:00
Eric Kohl
ec4fe62118 [STORPORT] The miniport drivers HwInitialize routine returns a BOOLEAN. Handle this properly.
CORE-13866
2017-10-21 21:51:25 +02:00
Eric Kohl
45cc5c0e37 [STORPORT] Implement StorPortGetUncachedExtension().
CORE-13866
2017-10-21 17:56:06 +02:00
Pierre Schweitzer
7601011f4e [MOUNTMGR] Don't attempt to free random address on failure
CID 515354
2017-10-21 14:15:00 +02:00
Pierre Schweitzer
c274b25c95 [FLOPPY] Fix broken loop
CID 1419440
2017-10-21 10:28:00 +02:00
Eric Kohl
b22c128070 [STORPORT] Implement StorPortGetDeviceBase().
CORE-13866
2017-10-17 00:05:26 +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
Eric Kohl
194df1ba58 [STORPORT] Implement StorPortSetBusDataByOffset.
CORE-13866
2017-10-16 20:06:15 +02:00
Eric Kohl
b21019e3d1 [STORPORT] Query the bus interface of the lower (bus) device and implement StorPortGetBusData().
CORE-13866
2017-10-16 00:13:21 +02:00
Eric Kohl
3f5aeb9363 [STORPORT] Attach copies of the resource lists to the FDO device extension and use them to fill the access ranges in the port configuration.
Storahci does not crash on initialization any more. :-)
CORE-13866
2017-10-15 15:21:56 +02:00
Eric Kohl
dd0027ba19 [STORPORT] Initialize the port configuration and pass it to the HwFindAdapter routine. 2017-10-15 13:10:08 +02:00
Eric Kohl
42cb5353b8 [STORORT] Allocate the miniport device extension and use it the calls to HwFindAdapter and HwInitialize.
CORE-13866
2017-10-15 00:06:22 +02:00
Eric Kohl
8dea67f8ba [STORPORT] Initialize a miniport object and call the miniport HwFindAdapter and HwInitialize routines.
CORE-13866
2017-10-14 19:12:24 +02:00
Thomas Faber
bf74391dcd [USBPORT] Avoid more integer overflows. 2017-10-13 23:36:29 +02:00
Thomas Faber
a45779a12f [USBPORT] Avoid a benign integer overflow in USBHI_QueryDeviceInformation (CID 1419219). 2017-10-13 23:36:29 +02:00
Thomas Faber
45741cdf3a [USBPORT] Remove unnecessary null check in USBPORT_HandleSubmitURB (CID 1419367). 2017-10-13 23:36:29 +02:00
Thomas Faber
a237edf4bb [USBPORT] Fix ControllerName leak in USBPORT_GetUnicodeName (CID 1419258). 2017-10-13 23:36:29 +02:00
Thomas Faber
b5289a2f6e [USBPORT] Fix level check in USBDI_QueryBusInformation (CID 1419403). 2017-10-13 23:36:29 +02:00
Eric Kohl
28f30ba854 [STORAHCI] Make the storahci driver build on gcc and add it to the build. 2017-10-13 21:52:38 +02:00
Hermès Bélusca-Maïto
30bfd8afad [STORPORT]: Fix build: declare STORPORT_API functions as exports. 2017-10-12 23:14:08 +02:00
EricKohl
b2c6c07d0f [STORPORT] Start the implementation of the storport driver and add it to the build.
CORE-13866
2017-10-12 22:41:47 +02:00
Ged Murphy
650cca217a [FLTMGR]
- Implement FltGetVolumeProperties
- Internal structs taken from public pdbs
2017-10-12 21:32:21 +01:00
Ged Murphy
9d15fb9279 Start to implement fltmgr tests [WIP] (#52)
[FLTMGR]
- Partially implement registering contexts
- Add a misc file which contains stubs of the APIs needed in the test suite
- Export some APIs needed by the test suite

[KMTESTS]
- Create a File System Mini-filter wrapper to host drivers for the filter manager tests
- Add a test file which will be used for testing that mini-filters load correctly
- Add a test file which will be used to write tests for IRP_MJ_CREATE requests
2017-10-12 15:32:30 +01:00
Sylvain Deverre
c51df789e8 [WDMAUD] Close mixers on cleanup. Should fix CORE-10735 definitely (#21)
[WDMAUD] Close mixers on cleanup. CORE-10735
2017-10-08 11:29:17 +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
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