reactos/drivers/filesystems/fastfat
Pierre Schweitzer 50b00f0fcc
[FASTFAT] Implement delayed close
When we're about to close a file (ie, forget everything about it
and release any associated structure), actually delay it.
This allows keep data fresh in memory for faster reuse in case
it would be required. The effective closing will only happen after some time.

For specific operations, this will produce a real speed up in ReactOS.
For instance, with that patch, Winamp starts within seconds, instead of dozen
of minutes.
In most cases, it will bring ReactOS to performances it had before fixing
the huge leak in FastFAT (commit 94ead99) without leaking the whole FS.

For now, due to regressions, this is only activated for files and not
for directories. Once it gets fixed, it will be enabled for both.

CORE-14826
CORE-14917
2018-08-18 19:03:30 +02:00
..
blockdev.c [FASTFAT] Completely rewrite support for dirty volumes. 2018-05-18 23:05:05 +02:00
cleanup.c [FASTFAT] Implement delayed close 2018-08-18 19:03:30 +02:00
close.c [FASTFAT] Implement delayed close 2018-08-18 19:03:30 +02:00
CMakeLists.txt [FASTFAT] Introduce a KDBG extension. 2018-04-29 12:15:11 +02:00
create.c [FASTFAT] Implement delayed close 2018-08-18 19:03:30 +02:00
dir.c [FASTFAT] Properly check for buffer size on dir enumeration. 2018-06-07 19:34:47 +02:00
direntry.c [FASTFAT] Only initialize directory cache on use. 2018-05-18 14:09:30 +02:00
dirwr.c [FASTFAT] Use the FastFAT mechanism for counting clusters already implemented 2018-06-09 18:23:07 +02:00
ea.c
fastio.c
fat.c [FASTFAT] Use the FastFAT mechanism for counting clusters already implemented 2018-06-09 18:23:07 +02:00
fcb.c [FASTFAT] Only initialize directory cache on use. 2018-05-18 14:09:30 +02:00
finfo.c [FASTFAT] Don't add an extra \, when renaming a file at root. 2018-06-09 22:17:17 +02:00
flush.c [FASTFAT] Lock DirResource on flush in case we're updating entry 2018-05-28 19:37:56 +02:00
fsctl.c [FASTFAT] Use the FastFAT mechanism for counting clusters already implemented 2018-06-09 18:23:07 +02:00
iface.c [FASTFAT] Implement delayed close 2018-08-18 19:03:30 +02:00
kdbg.c [FASTFAT] Implement delayed close 2018-08-18 19:03:30 +02:00
misc.c [FASTFAT] Properly handle IRPs that can wait and these that cannot. 2018-05-22 21:30:08 +02:00
pnp.c
rw.c [FASTFAT] Use the FastFAT mechanism for counting clusters already implemented 2018-06-09 18:23:07 +02:00
shutdown.c [FASTFAT] Completely rewrite support for dirty volumes. 2018-05-18 23:05:05 +02:00
string.c
vfat.h [FASTFAT] Implement delayed close 2018-08-18 19:03:30 +02:00
vfat005.1st
vfat_fr.txt
vfatfs.rc
volume.c [FASTFAT] Initialize cache if neded for changing volume label. 2018-05-26 10:12:55 +02:00