block_cache: enable prefetching

* Allocate blocks and add them to the hash table so they are
  available for a future block_cache_get call.
* Make use of prefetching in FAT driver.
* A client filesystem may request to prefetch a block run that
  contains some blocks that are already cached.  The request will
  be truncated at the first such block in the run.
* Fixes #19186.

Change-Id: I8d2e3cff15e5b46569438e0dc085e2b391aa57a5
Reviewed-on: https://review.haiku-os.org/c/haiku/+/8525
Reviewed-by: waddlesplash <[email protected]>
This commit is contained in:
Jim906
2024-11-16 18:26:21 +00:00
committed by waddlesplash
parent e6bf67457c
commit 9bb1816c14
7 changed files with 314 additions and 0 deletions
@@ -854,6 +854,7 @@
#define block_cache_get fssh_block_cache_get
#define block_cache_set_dirty fssh_block_cache_set_dirty
#define block_cache_put fssh_block_cache_put
#define block_cache_prefetch fssh_block_cache_prefetch
/* file cache */
#define file_cache_create fssh_file_cache_create