diff options
author | David Chinner <dgc@sgi.com> | 2006-01-11 07:37:58 +0300 |
---|---|---|
committer | Nathan Scott <nathans@sgi.com> | 2006-01-11 07:37:58 +0300 |
commit | a6867a6815fa0241848d4620f2dbd2954f4405d7 (patch) | |
tree | 9565d18c86b935c3a099e4a817137372ce81dde1 /fs/xfs/linux-2.6/xfs_buf.h | |
parent | 216d3b2acba469a9bee98a09bb957e012ba7bc25 (diff) | |
download | linux-a6867a6815fa0241848d4620f2dbd2954f4405d7.tar.xz |
[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 { uint bt_hashmask; uint bt_hashshift; xfs_bufhash_t *bt_hash; + + /* per device delwri queue */ + struct task_struct *bt_task; + struct list_head bt_list; + struct list_head bt_delwrite_queue; + spinlock_t bt_delwrite_lock; + uint bt_flags; +#define BT_FORCE_SLEEP 1 +#define BT_FORCE_FLUSH 2 } xfs_buftarg_t; /* |