summaryrefslogtreecommitdiff
path: root/fs/xfs/linux-2.6/xfs_buf.h
diff options
context:
space:
mode:
authorDavid Chinner <dgc@sgi.com>2006-01-11 07:37:58 +0300
committerNathan Scott <nathans@sgi.com>2006-01-11 07:37:58 +0300
commita6867a6815fa0241848d4620f2dbd2954f4405d7 (patch)
tree9565d18c86b935c3a099e4a817137372ce81dde1 /fs/xfs/linux-2.6/xfs_buf.h
parent216d3b2acba469a9bee98a09bb957e012ba7bc25 (diff)
downloadlinux-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.h9
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;
/*