reactos/ntoskrnl/cc
Pierre Schweitzer 8b6696fcdb
[NTOSKRNL] Don't mark VACB dirty on unpin
This could happen if BCB was marked dirty previously.
Marking VACB dirty on unpin could lead to a double write of
the VACB, even if clean.
Indeed, now that setting BCB dirty leads to marking VACB
dirty, the VACB can be flushed in between by the lazy-writer.
The BCB state is not reset on VACB flush, contrary to the VACB state.
Thus, on unpin even if the VACB was already flushed, we were
setting back the dirty state, leading the VACB to be flushed again.

This could bring a small performance downgrade. Though it remains
limited since this is mostly used for FS metadata.
Possibly it could lead to metadata corruption, but this is likely
less possible.

CORE-15954
2019-04-17 22:35:19 +02:00
..
cacheman.c [NDK][NTOS] Add global definition of INIT_FUNCTION/INIT_SECTION (#779) 2018-12-30 12:19:11 +01:00
copy.c [NTOS:CC] CcCanIWrite(): Use BYTES_TO_PAGES(Length) 2018-12-21 19:20:59 +01:00
fs.c [NTOSKRNL] When growing a file, invalid the last VACB so that it can be refreshed 2018-12-23 11:19:14 +01:00
lazywrite.c [NTOSKRNL] Set the MemoryMaker flag when executing write behind 2018-12-23 14:59:42 +01:00
mdl.c Git conversion: Make reactos the root directory, move rosapps, rostests, wallpapers into modules, and delete rossubsys. 2017-10-03 07:45:34 +00:00
pin.c [NTOSKRNL] Don't mark VACB dirty on unpin 2019-04-17 22:35:19 +02:00
view.c [NTOSKRNL] Honor files that shouldn't be lazy written 2018-12-23 12:10:58 +01:00