Pierre Schweitzer [Sun, 20 May 2018 11:53:11 +0000 (13:53 +0200)]
[FASTFAT] Fail if allocating the stream FO fails.
Eric Kohl [Sun, 20 May 2018 09:53:01 +0000 (11:53 +0200)]
[SAMSRV] SamrChangePasswordUser: Check StoredLmEmpty and StoredNtEmpty instead of checking StoredNtEmpty twice
Eric Kohl [Sun, 20 May 2018 09:35:43 +0000 (11:35 +0200)]
[SETUPAPI] Implement CM_Get_Resource_Conflict_Count and add stubs for CM_Get_Resource_Conflict_DetailsA/W
Pierre Schweitzer [Sun, 20 May 2018 09:35:21 +0000 (11:35 +0200)]
[EVENTMSG] Add French translation.
Joachim Henze [Sat, 19 May 2018 23:41:34 +0000 (01:41 +0200)]
[OLE32] Restore 4 cur files (+ note diff) to fix CORE-14608
Hermès Bélusca-Maïto [Sat, 19 May 2018 20:04:20 +0000 (22:04 +0200)]
[NTOS] Demote an ASSERT to a mere DPRINT since we only support registry hives with cluster size == 1 in any case so far (other sizes are UNIMPLEMENTED!)
Eric Kohl [Sat, 19 May 2018 16:11:48 +0000 (18:11 +0200)]
[SETUPAPI] Implement CM_Free_Resource_Conflict_Handle() and CM_Query_Resource_Conflict_List()
Katayama Hirofumi MZ [Sat, 19 May 2018 14:12:11 +0000 (23:12 +0900)]
[SHELL32] Allow deleting a file type/extension (#553)
CORE-12906
Eric Kohl [Sat, 19 May 2018 13:11:17 +0000 (15:11 +0200)]
[SETUPAPI] Add CM_Free_Resource_Conflict_Handle and CM_Query_Resource_Conflict_List stubs
Pierre Schweitzer [Sat, 19 May 2018 11:45:56 +0000 (13:45 +0200)]
[FASTFAT] Addendum to
d69f318
Eric Kohl [Sat, 19 May 2018 11:30:20 +0000 (13:30 +0200)]
[USETUP] Use _wcstoui64() instead of atoi() to convert the partition size in order to prevent unexpected misinterpretation of leading zeroes.
Adam Słaboń [Sat, 19 May 2018 11:17:49 +0000 (13:17 +0200)]
[TRANSLATION] Polish translation update (#554)
- Added translations for cmdutils (at, clip, comp, eventcreate, mode, taskkill, wmic) and zipfldr.
- Updated translations for cmdutils (reg), drwtsn32, mmc, eventvwr, shell32 and cpl applets (console, input).
Eric Kohl [Sat, 19 May 2018 10:41:37 +0000 (12:41 +0200)]
[BOOTDATA] Add the (still disabled) faeroese keyboard layout
CORE-13127
Eric Kohl [Sat, 19 May 2018 10:09:12 +0000 (12:09 +0200)]
[USETUP] Improved entering of partition size
Patch by Эдуард.
CORE-13249
Pierre Schweitzer [Sat, 19 May 2018 08:07:14 +0000 (10:07 +0200)]
[FASTFAT] Misc. fixes spotted by Thomas.
Pierre Schweitzer [Fri, 18 May 2018 21:00:13 +0000 (23:00 +0200)]
[FASTFAT] Completely rewrite support for dirty volumes.
Until now, our support for dirty volumes was totally broken
to a point where, on FAT32 volume, the dirty couldn't even
be written nor read from the disk.
This commit totally rewrites its handling, for both FAT16 and FAT32
so that it's now fully functionnal. Furthermore, it also gets
totally compatible with our vfatlib, and thus, autochk.
Now, on mount, FastFAT will check if the volume is dirty or not, and
autochk will be able to ask for a repair if dirty. vfatlib will
repair the volume and remove the dirty bit. So that, on next
reboot, the volume will be mounted clean.
As a reminder, the dirty bit is set immediately after mounting
the volume, so that, if you crash or have a powercut, autochk
will always attempt to repair your volume (with more or less,
that's FAT!).
If you want to experience without breaking your FAT volume,
just boot, open a cmd prompt and type: fsutil dirty set c:
and reboot!
CORE-13758
CORE-13760
CORE-13759
Pierre Schweitzer [Fri, 18 May 2018 20:35:03 +0000 (22:35 +0200)]
[FASTFAT] Allow locking system volume on boot.
This is a hack, and totally not the default behavior.
But it will allow autochk locking the boot volume in
order to verify it on boot, in case it would have
been improperly dismounted.
CORE-13759
Katayama Hirofumi MZ [Fri, 18 May 2018 20:27:22 +0000 (05:27 +0900)]
[SHELL32] Fix usage of DeferWindowPos (fix of #544) (#552)
Mark Jansen [Sun, 13 May 2018 21:22:56 +0000 (23:22 +0200)]
[DRWTSN32] Use GetCommandLineW for CommandLineToArgvW.
Spotted by Hermès
Pierre Schweitzer [Fri, 18 May 2018 12:51:24 +0000 (14:51 +0200)]
[FASTFAT] Uninit directory cache on last handle close.
CORE-14629
CORE-14557
Pierre Schweitzer [Fri, 18 May 2018 12:03:20 +0000 (14:03 +0200)]
[FASTFAT] Only initialize directory cache on use.
This avoids initializing cache directly on directory
open/create.
The advantage is we reduce the load on cache manager
and on memory manager by avoiding creating everytime
a stream file object, and initializing cache for it.
This will avoid initializing cache for started
applications 'current directory' which is just opened
for having a valid handle but no read/write is performed
in it, by default.
This is a step forward for autochk.
CORE-14629
Katayama Hirofumi MZ [Fri, 18 May 2018 10:47:52 +0000 (19:47 +0900)]
[SHELL32] Add 'Create New Extension' IDD_NEWEXTENSION dialog (#544)
A 'Create New Extension' dialog is implemented, which enables the user to add a new file extension.
CORE-12906
Pierre Schweitzer [Fri, 18 May 2018 08:29:45 +0000 (10:29 +0200)]
[FASTFAT] When attaching our FCB to a FO, also set the VPB.
Spotted by Alex.
Wexpo Lyu [Thu, 17 May 2018 17:57:57 +0000 (01:57 +0800)]
[TRANSLATION][DRWTSN32] Add zh-CN translation. (#549)
Wexpo Lyu [Wed, 16 May 2018 13:28:58 +0000 (21:28 +0800)]
[TRANSLATION][TASKMGR] Update Chinese Translation.
Serge Gautherie [Sat, 24 Feb 2018 15:16:26 +0000 (16:16 +0100)]
[IPHLPAPI] ipstats_reactos: Review all TRACE/WARN calls
- Improve/Promote failures to ERR.
- Improve other TRACE calls.
Baruch Rutman [Thu, 17 May 2018 15:18:57 +0000 (18:18 +0300)]
[CHARMAP]Code improvements (#436)
* [CHARMAP][GETUNAME] Code improvements
Based on the code from nls2txt,
switches the linking from dynamic to static, also simplifies the code.
Serge Gautherie [Tue, 16 Jan 2018 04:47:34 +0000 (05:47 +0100)]
[KMTEST] Check/Wait for start/stop of services to complete
This is cleaner behavior and lets report failures.
- Create KmtEnsureServiceState(),
called at end of KmtStartService() and KmtStopService().
- Create KmtGetServiceStateAsString(),
called from KmtEnsureServiceState().
ROSTESTS-263
Peter Wathall [Mon, 30 Apr 2018 00:17:19 +0000 (00:17 +0000)]
Fixed typo
Peter Wathall [Mon, 30 Apr 2018 00:17:01 +0000 (00:17 +0000)]
Fixed typo
Peter Wathall [Mon, 30 Apr 2018 00:16:45 +0000 (00:16 +0000)]
Fixed typo
Pierre Schweitzer [Wed, 16 May 2018 19:44:47 +0000 (21:44 +0200)]
[FASTFAT] Deny dismounting system volume or a volume with a pagefile
Eric Kohl [Tue, 15 May 2018 21:35:17 +0000 (23:35 +0200)]
[USETUP] Remove the WIN32 support because usetup is a native-only application
Eric Kohl [Tue, 15 May 2018 20:58:34 +0000 (22:58 +0200)]
[USETUP] Disable install path test that may tests
Eric Kohl [Tue, 15 May 2018 18:02:04 +0000 (20:02 +0200)]
[USETUP] Remove unused VolumeLabel and FileSystemName from the PARTENTRY type
Eric Kohl [Tue, 15 May 2018 17:47:52 +0000 (19:47 +0200)]
[USETUP] Get rid of the interface directory because we support text-mode only
Eric Kohl [Tue, 15 May 2018 16:11:12 +0000 (18:11 +0200)]
[USETUP] Simplify the unattended code path in the install directory page and verify the unattended install path.
Eric Kohl [Tue, 15 May 2018 13:45:31 +0000 (15:45 +0200)]
[USETUP] Improve the install path checks
- Path must not contain whitespace characters.
- Path must be at least 2 characters long.
- Path must start with a backslash.
- Path must not end with a backslash.
- Path components must not end with a dot.
CORE-9529
Eric Kohl [Tue, 15 May 2018 09:28:33 +0000 (11:28 +0200)]
[USETUP] Add support for HOME, END, DEL, LEFT and RIGHT keys to partition size and install path edit fields.
CORE-13975
Eric Kohl [Mon, 14 May 2018 21:35:48 +0000 (23:35 +0200)]
[USETUP] Fix the name of the backspace key in the german translation
CORE-14006
Thomas Faber [Mon, 14 May 2018 16:16:02 +0000 (18:16 +0200)]
[NDIS] Fix parameter order when calling ResetHandler. CORE-14624
Hermès Bélusca-Maïto [Sun, 13 May 2018 20:15:41 +0000 (22:15 +0200)]
[CLIPBRD] Improvements for the Clipboard Viewer.
- Improve the scrolling support for bitmaps, DIBs and text formats.
This completes the work started in CORE-10679 by Ricardo Hanke.
Includes scrolling with the keyboard and the mouse wheel.
- Add support for the CF_DSP* clipboard formats, as well as CF_TEXT
and CF_OEMTEXT.
- Add support for owner-display clipboard format CF_OWNERDISPLAY.
- Realize any palette found in the clipboard (CF_PALETTE) before
displaying the clipboard data format we want.
- Remove dead code.
- Update the file headers.
Andrew Cook [Sun, 13 May 2018 04:56:44 +0000 (14:56 +1000)]
Add virtio drivers to reactos.dff.in
qxl has some visual glitches, viostor loads but it seems reactos
doesn't support scsi disks yet
Katayama Hirofumi MZ [Sat, 12 May 2018 14:33:01 +0000 (23:33 +0900)]
[SHELL32] In #543, I forgot sq-AL.rc and sv-SE.rc
Katayama Hirofumi MZ [Sat, 12 May 2018 12:06:13 +0000 (21:06 +0900)]
[shell32] add some control IDs for IDD_FOLDER_OPTIONS_FILETYPES
Mark Jansen [Fri, 27 Apr 2018 20:43:45 +0000 (22:43 +0200)]
[LDR] Initial verifier implementation
Mark Jansen [Thu, 26 Apr 2018 22:05:21 +0000 (00:05 +0200)]
[VERIFIER] Add skeleton provider.
Mark Jansen [Thu, 26 Apr 2018 22:05:06 +0000 (00:05 +0200)]
[SDK] Add initial verifier header.
Mark Jansen [Thu, 26 Apr 2018 20:54:23 +0000 (22:54 +0200)]
[SDK] Correct NtGlobalFlag names.
Eric Kohl [Sat, 12 May 2018 10:42:56 +0000 (12:42 +0200)]
[SETUPAPI] SetupDiCallClassInstaller: Use the class GUID enclosed in curly brackets as a sub key name to retrieve the class co-installer.
Eric Kohl [Sat, 12 May 2018 10:38:27 +0000 (12:38 +0200)]
[BOOTDATA] Register the CriticalDeviceCoInstaller for the keyboard device class
Pierre Schweitzer [Sat, 12 May 2018 10:00:09 +0000 (12:00 +0200)]
[FASTFAT] Implement support for stack overflow in read operations.
Before performing a read operation, FastFAT driver will
attempt to compute whether it would run out of stack
during the operation. If so, instead of attempting the
operation in the current thread, it will post the read
request to the overflow thread.
This should help with the regressions brought in by
94ead99e0c503faa40b33b813cce296ea5c0bc0c.
CORE-14601
Thomas Faber [Sat, 12 May 2018 07:42:52 +0000 (09:42 +0200)]
[USBPORT] Fix x64 build.
Bișoc George [Fri, 11 May 2018 18:28:44 +0000 (20:28 +0200)]
[INETCPL] Fix a typo in Romanian resource file
Vadim Galyant [Fri, 11 May 2018 13:34:49 +0000 (15:34 +0200)]
[USBPORT][USBOHCI_NEW] Avoid using pointers for physical addresses.
Thomas Faber [Fri, 11 May 2018 13:42:19 +0000 (15:42 +0200)]
[USBOHCI_NEW] Fix build.
Eric Kohl [Thu, 10 May 2018 15:13:04 +0000 (17:13 +0200)]
[BOOTDATA] Add settings for the Latvian (QUERTY) keyboard layout (disabled)
Eric Kohl [Thu, 10 May 2018 14:18:04 +0000 (16:18 +0200)]
[USETUP] Use an existing latvian keyboard layout
Use the existing Latvian keyboard layout instead of the Latvian (QUERTY) keyboard layout, which it not implemented yet.
CORE-14561
Eric Kohl [Thu, 10 May 2018 14:03:59 +0000 (16:03 +0200)]
[BOOTDATA] Remove superfluous quotation marks
Pierre Schweitzer [Thu, 10 May 2018 08:33:05 +0000 (10:33 +0200)]
[NTOSKRNL] Fix FsRtlStackOverflow work item free.
Oneliner of the day... This typo just prevented the
whole feature to work properly. Because any allocated
work item would miserably fail to be freed.
This will obviously help real world FSD relying on
StackOverflow worker from FsRtl to work better!
CORE-14611
Pierre Schweitzer [Fri, 4 May 2018 19:35:25 +0000 (21:35 +0200)]
[AUTOCHK] Statically link to FS libs.
This will help reducing the number of handles open.
CORE-13759
Pierre Schweitzer [Fri, 4 May 2018 19:34:27 +0000 (21:34 +0200)]
[FSLIB] Add headers for our FS libs.
CORE-13759
Bișoc George [Tue, 8 May 2018 21:06:33 +0000 (23:06 +0200)]
[COMCTL32] Update Romanian translation (#538)
Serge Gautherie [Tue, 17 Apr 2018 11:26:33 +0000 (13:26 +0200)]
[APPSHIM_APITEST] Fix a Clang-Cl warning about n
- "warning: comparison of unsigned expression >= 0 is always true [-Wtautological-unsigned-zero-compare]"
CORE-14306
Alexander Shaposhnikov [Tue, 8 May 2018 07:24:26 +0000 (10:24 +0300)]
Reflect latest release versions in README.md
Should have updated this a month ago, oops!
Serge Gautherie [Fri, 4 May 2018 21:04:14 +0000 (23:04 +0200)]
[DEVMGR] Fix a Clang-Cl warning about DriverInfoDetailData.SectionName
"warning: logical not is only applied to the left hand side of this comparison [-Wlogical-not-parentheses]"
CORE-14306
Eric Kohl [Sun, 6 May 2018 14:49:24 +0000 (16:49 +0200)]
[IDL][NETAPI32][SRVSVC] Hack around another midl/rpcrt4 bug
NETAPI32: Get rid of the old WINE NetServerGetInfo and replace it by a proper call to NetrServerGetInfo.
SRVSVC: Implement parts of NetrServerGetInfo.
srvsvc.idl: Hack around a bug in midl or rpcrt4. They are not able to handle a pointer to a union of pointers to structs. A pointer to a union of structs works a advertised.
Thomas Faber [Sun, 6 May 2018 06:24:26 +0000 (08:24 +0200)]
[IPHLPAPI_APITEST] Avoid crash on ROS and failure on Windows. CORE-14411
- Make the reply buffer for IcmpSendEcho large enough to hold the reply,
even when testing a smaller size. This avoids a buffer overflow with ROS's
broken implementation.
- Avoid unnecessary initialization.
- Fix IcmpSendEcho return value check to succeed on Win2003.
- Don't free a string literal in the GetInterfaceName test.
Hermès Bélusca-Maïto [Sat, 5 May 2018 20:20:21 +0000 (22:20 +0200)]
[BOOTDATA][SHELL32] Add some recognized file extensions (.db, .efi, .nls, .ocx, .tlb, .nt), and update some reported MIME types.
CORE-11308
Eric Kohl [Sat, 5 May 2018 13:32:05 +0000 (15:32 +0200)]
[IDL] srvsvc.idl: Fix the definition of Opnum29NotUsedOnWire
Opnum29NotUsedOnWire is actually called NetrServerSetServiceBits.
See:
http://l.wzm.me/_security/internet/_internet/WinServices/ch04s07s08.html
and https://git.samba.org/?p=samba.git;a=blob;f=librpc/idl/srvsvc.idl;h=
db804e58c01f3392c4ec6eb30643c36bcb8be683;hb=HEAD
Hermès Bélusca-Maïto [Fri, 4 May 2018 23:36:19 +0000 (01:36 +0200)]
[CONUTILS] Use the currently active console codepage to output text to files. If you want to output UTF-8 run "chcp 65001" before.
CORE-12122
Serge Gautherie [Fri, 4 May 2018 17:10:57 +0000 (19:10 +0200)]
[DESK.CPL] Fix a Clang-Cl warning about "LogPixels"
"warning: logical not is only applied to the left hand side of this comparison [-Wlogical-not-parentheses]"
CORE-14306
Serge Gautherie [Fri, 4 May 2018 04:15:37 +0000 (06:15 +0200)]
[UMPNPMGR] Fix a Clang-Cl warning about "CSConfigFlags"
"warning: logical not is only applied to the left hand side of this comparison [-Wlogical-not-parentheses]"
CORE-14306
Robert Naumann [Fri, 4 May 2018 19:32:12 +0000 (21:32 +0200)]
[ZIPFLDR] Add German translation
Robert Naumann [Fri, 4 May 2018 19:31:48 +0000 (21:31 +0200)]
[DRWTSN32] Add German translation
Serge Gautherie [Fri, 4 May 2018 04:03:41 +0000 (06:03 +0200)]
[NTFS] Fix 2 Clang-Cl warnings about CurrentKey->IndexEntry->Flags
"warning: logical not is only applied to the left hand side of this bitwise operator [-Wlogical-not-parentheses]"
CORE-14306
Wexpo Lyu [Thu, 3 May 2018 09:53:19 +0000 (17:53 +0800)]
[REACTOS] Update simplified chinese translation (#529)
Minor updates fixing grammar, spacing and typos.
Serge Gautherie [Fri, 20 Apr 2018 21:26:39 +0000 (23:26 +0200)]
[CMAKE] USE_CLANG_CL: Add "-Wno-parentheses-equality"
Silence some "code style" warnings.
CORE-14306
Serge Gautherie [Mon, 23 Apr 2018 12:33:29 +0000 (14:33 +0200)]
[ADVAPI32] Fix 2 TRACE() format copypastas.
Pierre Schweitzer [Wed, 2 May 2018 21:30:10 +0000 (23:30 +0200)]
[NTOSKRNL] Optimize a bit deferred writes.
In the lazy writer run, first post items that are queued for this.
Only then, start executing deferred writes if any.
If there were any, reschedule immediately a lazy writer run, to keep
Cc warm and to make it unqueue write faster in case of high IOs situation.
To make second lazy writer run happen faster, we keep our state active to
use short delay (1s) instead of standard idle (3s).
Eric Kohl [Wed, 2 May 2018 21:24:26 +0000 (23:24 +0200)]
[ADVAPI32] SEH-protext the calls to service control handlers
ScControlService:
- SEH-protext the calls to service control handlers.
- Return ERROR_EXCEPTION_IN_SERVICE if a service control handler throws an exception.
- Return ERROR_SERVICE_CANNOT_ACCEPT_CTRL if no service control handler has been registered for the service.
Wexpo Lyu [Wed, 2 May 2018 12:12:59 +0000 (20:12 +0800)]
[WINLOGON] Update simplified chinese translation (#528)
Hermès Bélusca-Maïto [Tue, 1 May 2018 22:21:28 +0000 (00:21 +0200)]
[WINLOGON] Delimit the custom system shutdown message within a read-only edit control.
Hermès Bélusca-Maïto [Tue, 1 May 2018 21:41:41 +0000 (23:41 +0200)]
[SHUTDOWN] Actually all shutdown.exe utilities from all Windows (>= XP) versions (and not just Vista+) support a comment string of up to 512, *EVEN IF* they mention in their help message that the comment can only be up to 127 characters long. I have really tested that ;-) (And what is more, shutdown's utility from Whistler support an arbitrary comment length!) So here I remove the code that imposes this limit and I just check for no more than 512 characters. I also fix an out-of-bounds check for argv.
Hermès Bélusca-Maïto [Tue, 1 May 2018 20:42:14 +0000 (22:42 +0200)]
[MSGINA] Fix layout of the security dialog box; add some french translation.
Eric Kohl [Tue, 1 May 2018 19:33:37 +0000 (21:33 +0200)]
[SERVICES] Implement RI_ScSetServiceBitsA/W
- RI_ScSetServiceBitsA: Just call RI_ScSetServiceBitsW.
- RI_ScSetServiceBitsW: Store the service bits in the service list entry.
TODO: Merge all service bits in a global variable and pass it to the server service. Maybe use netapi.I_NetServerSetServiceBits(Ex)?
Hermès Bélusca-Maïto [Tue, 1 May 2018 14:56:08 +0000 (16:56 +0200)]
[TRANSLATION] Minor translation update.
Hermès Bélusca-Maïto [Tue, 1 May 2018 14:21:42 +0000 (16:21 +0200)]
[SHELL32] Fix the layout of the Run/Execute dialog for many languages.
French fix covers CORE-12548.
Hermès Bélusca-Maïto [Sun, 29 Apr 2018 21:17:57 +0000 (23:17 +0200)]
[README] Restore the UTF-8 BOM as it otherwise does not behave well with
ReactOS' Notepad.
This reverts commit
3d012a44059ddc6ea0f18fc4e958244db6246706.
Eric Kohl [Tue, 1 May 2018 14:37:48 +0000 (16:37 +0200)]
[SRVSVC][WKSSVC] Server and workstation service set their service bit when they are running
Eric Kohl [Tue, 1 May 2018 13:41:13 +0000 (15:41 +0200)]
[IDL] Fix redefinition of server types when lmserver.h is included too
Eric Kohl [Tue, 1 May 2018 13:39:29 +0000 (15:39 +0200)]
[SDK] Improve lmserver.h
- Add _SERVER_TRANSPORT_INFO_1, _SERVER_TRANSPORT_INFO_2, and _SERVER_TRANSPORT_INFO_3 structs.
- Fix the calling convention of SetServiceBits().
Pierre Schweitzer [Tue, 1 May 2018 10:19:17 +0000 (12:19 +0200)]
[DRWTSN32] Add French translation.
Pierre Schweitzer [Mon, 30 Apr 2018 20:19:17 +0000 (22:19 +0200)]
[NTOKSNRL] Always flush dirty VACB.
Recent changes seem to show that it's not
required to be exclusive on VACB to be able
to flush it.
This commit goes with
f2c44aa and fixes the
last issues going with copying huge files.
There are no longer BSODs (be it in Mm or Cc).
I could, with 750MB RAM extract a 2GB file from
a 53MB archive and copy a 2,5GB file from a VBox
share to the disk. Note that writes are often
deferred, so if copy works, it's not that fast for now.
Note that it also brings some beloved behavior from
Windows: copy times are totally unreliable now when
writes are deferred. Little remaining times when
actively copying, high remaining times when deferred
writes in action. And goes between both... Sorry! ;-)
https://xkcd.com/612/
CORE-9696
CORE-11175
David Knapp [Mon, 30 Apr 2018 10:55:34 +0000 (06:55 -0400)]
[SDK] Add description to MANUALLY_INITIATED_CRASH (#509)
Pierre Schweitzer [Mon, 30 Apr 2018 10:10:24 +0000 (12:10 +0200)]
[NTOSKRNL] Free unused VACB when required.
Same mechanism exists in Windows (even their Cc
is way different from ours...) where when Cc is
out of memory (in their case, out of VACB), we
will start scavenge old & unused VACB to free
some of the memory.
It's useful in case we're operating we big files
operations, we may run out of memory where to map
VACB for them, so start to scavenge VACB to free
some of that memory.
With this, I am able to install Qt 4.8.6 with 2,5GB of RAM,
scavenging acting when needed!
CORE-12081
CORE-14582
Pierre Schweitzer [Mon, 30 Apr 2018 08:36:19 +0000 (10:36 +0200)]
[NTOSKRNL] Unmark dirty first, and then write.
This will avoid trying to flush twice a dirty VACB under
high IOs pressure.
CORE-14584
Pierre Schweitzer [Sun, 29 Apr 2018 18:42:24 +0000 (20:42 +0200)]
[FASTFAT] Implement write IOs defering.
Before any write operation that would involve caching, ask
the cache controler whether writing would make it exceed its memory
consumption. If so, queue the write operation for later execution.
In case the write operation can wait, then, the FSD operation will be
halted until the write is allowed.
I could test it successfully by copying huge files from a FAT volume to
another. The write is halted until some portions of the file is written
to the disk.
I could also properly install Qt (SDK) on ReactOS with this and less than 1GB RAM:
- https://www.heisspiter.net/~Pierre/rostests/Qt_OS.png
- https://www.heisspiter.net/~Pierre/rostests/Qt_OS2.png
CORE-12081
CORE-14582
CORE-14313
Pierre Schweitzer [Sun, 29 Apr 2018 18:34:28 +0000 (20:34 +0200)]
[NTOSKRNL] Fix lazy writer for in-use VACB.
Adjusting refcount and enabling lazy-write for pinned
VACB makes it actually more efficient, often purging
data to disk, reducing memory stress for the system.
This is required for defering writes.
This commit unfortunately (?) reverts a previous revert.
CORE-12081
CORE-14582
CORE-14313
Hermès Bélusca-Maïto [Sun, 29 Apr 2018 17:33:49 +0000 (19:33 +0200)]
[MODE] Improve the way the DOS device statuses are enumerated via the "mode" command (without parameters).