diff options
author | David Chinner <dgc@sgi.com> | 2006-01-10 23:37:58 -0500 |
---|---|---|
committer | Nathan Scott <nathans@sgi.com> | 2006-01-10 23:37:58 -0500 |
commit | a6867a6815fa0241848d4620f2dbd2954f4405d7 (patch) | |
tree | 9565d18c86b935c3a099e4a817137372ce81dde1 /fs/xfs/linux-2.6/xfs_buf.h | |
parent | 216d3b2acba469a9bee98a09bb957e012ba7bc25 (diff) |
[XFS] Introduce per-filesystem delwri pagebuf flushing to reduce
contention between filesystems and prevent deadlocks between filesystems
when a flush dependency exists between them.
SGI-PV: 947098
SGI-Modid: xfs-linux-melb:xfs-kern:24844a
Signed-off-by: David Chinner <dgc@sgi.com>
Signed-off-by: Nathan Scott <nathans@sgi.com>
Diffstat (limited to 'fs/xfs/linux-2.6/xfs_buf.h')
-rw-r--r-- | fs/xfs/linux-2.6/xfs_buf.h | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/fs/xfs/linux-2.6/xfs_buf.h b/fs/xfs/linux-2.6/xfs_buf.h index 237a35b915d1..f721d47ad4cc 100644 --- a/fs/xfs/linux-2.6/xfs_buf.h +++ b/fs/xfs/linux-2.6/xfs_buf.h | |||
@@ -88,6 +88,15 @@ typedef struct xfs_buftarg { | |||
88 | uint bt_hashmask; | 88 | uint bt_hashmask; |
89 | uint bt_hashshift; | 89 | uint bt_hashshift; |
90 | xfs_bufhash_t *bt_hash; | 90 | xfs_bufhash_t *bt_hash; |
91 | |||
92 | /* per device delwri queue */ | ||
93 | struct task_struct *bt_task; | ||
94 | struct list_head bt_list; | ||
95 | struct list_head bt_delwrite_queue; | ||
96 | spinlock_t bt_delwrite_lock; | ||
97 | uint bt_flags; | ||
98 | #define BT_FORCE_SLEEP 1 | ||
99 | #define BT_FORCE_FLUSH 2 | ||
91 | } xfs_buftarg_t; | 100 | } xfs_buftarg_t; |
92 | 101 | ||
93 | /* | 102 | /* |