Added functions file_cache_{disable,enable}(). They allow to disable
actual caching in the file cache, i.e. all reads and writes go directly to the underlying device. The implementation is not quite complete, since the VM can still add pages to the cache when the file is mmap()ed, which can lead to inconsistencies. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26779 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
@@ -73,6 +73,8 @@ extern void block_cache_put(void *_cache, off_t blockNumber);
|
||||
/* file cache */
|
||||
extern void *file_cache_create(dev_t mountID, ino_t vnodeID, off_t size);
|
||||
extern void file_cache_delete(void *_cacheRef);
|
||||
extern void file_cache_enable(void *_cacheRef);
|
||||
extern status_t file_cache_disable(void *_cacheRef);
|
||||
extern status_t file_cache_set_size(void *_cacheRef, off_t size);
|
||||
extern status_t file_cache_sync(void *_cache);
|
||||
|
||||
|
||||
@@ -828,6 +828,8 @@
|
||||
/* file cache */
|
||||
#define file_cache_create fssh_file_cache_create
|
||||
#define file_cache_delete fssh_file_cache_delete
|
||||
#define file_cache_enable fssh_file_cache_enable
|
||||
#define file_cache_disable fssh_file_cache_disable
|
||||
#define file_cache_set_size fssh_file_cache_set_size
|
||||
#define file_cache_sync fssh_file_cache_sync
|
||||
|
||||
|
||||
@@ -88,6 +88,8 @@ extern void fssh_block_cache_put(void *_cache,
|
||||
extern void * fssh_file_cache_create(fssh_mount_id mountID,
|
||||
fssh_vnode_id vnodeID, fssh_off_t size);
|
||||
extern void fssh_file_cache_delete(void *_cacheRef);
|
||||
extern void fssh_file_cache_enable(void *_cacheRef);
|
||||
extern fssh_status_t fssh_file_cache_disable(void *_cacheRef);
|
||||
extern fssh_status_t fssh_file_cache_set_size(void *_cacheRef,
|
||||
fssh_off_t size);
|
||||
extern fssh_status_t fssh_file_cache_sync(void *_cache);
|
||||
|
||||
Reference in New Issue
Block a user