* fs_{write|read}_pages() now has an additional argument "mayBlock".

* the page writer don't allow to block, while all other writers do. This fixes
  bug #1509. The reason the page writer needs this is because it marks several
  pages from different caches as busy.
* Fixed a warning about ASSERT being defined already in BFS, since
  util/DoublyLinkedList.h now includes debug.h.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22434 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
Axel Dörfler
2007-10-04 12:45:15 +00:00
parent 94b9294f48
commit 3e9513aa4a
18 changed files with 97 additions and 69 deletions
+8 -5
View File
@@ -1,11 +1,12 @@
/* File System Interface Layer Definition
*
* Copyright 2004-2006, Haiku Inc. All Rights Reserved.
/*
* Copyright 2004-2007, Haiku Inc. All Rights Reserved.
* Distributed under the terms of the MIT License.
*/
#ifndef _FSSH_FS_INTERFACE_H
#define _FSSH_FS_INTERFACE_H
/*! File System Interface Layer Definition */
#include "fssh_disk_device_defs.h"
#include "fssh_module.h"
@@ -95,10 +96,12 @@ typedef struct fssh_file_system_module_info {
fssh_fs_cookie cookie);
fssh_status_t (*read_pages)(fssh_fs_volume fs, fssh_fs_vnode vnode,
fssh_fs_cookie cookie, fssh_off_t pos, const fssh_iovec *vecs,
fssh_size_t count, fssh_size_t *_numBytes, bool reenter);
fssh_size_t count, fssh_size_t *_numBytes, bool mayBlock,
bool reenter);
fssh_status_t (*write_pages)(fssh_fs_volume fs, fssh_fs_vnode vnode,
fssh_fs_cookie cookie, fssh_off_t pos, const fssh_iovec *vecs,
fssh_size_t count, fssh_size_t *_numBytes, bool reenter);
fssh_size_t count, fssh_size_t *_numBytes, bool mayBlock,
bool reenter);
/* cache file access */
fssh_status_t (*get_file_map)(fssh_fs_volume fs, fssh_fs_vnode vnode,