Btrfs: Fix the defragmention code and the block relocation code for data=ordered
[linux-2.6-block.git] / fs / btrfs / ordered-data.h
index 199cb0b4f1d9a1d7a0de54fdca8ea0d33f9eefa6..5efe6b63c74c28f6e9e5c43308656144d967adbf 100644 (file)
@@ -80,6 +80,9 @@ struct btrfs_ordered_extent {
        /* reference count */
        atomic_t refs;
 
+       /* the inode we belong to */
+       struct inode *inode;
+
        /* list of checksums for insertion when the extent io is done */
        struct list_head list;
 
@@ -88,6 +91,9 @@ struct btrfs_ordered_extent {
 
        /* our friendly rbtree entry */
        struct rb_node rb_node;
+
+       /* a per root list of all the pending ordered extents */
+       struct list_head root_extent_list;
 };
 
 
@@ -137,4 +143,5 @@ int btrfs_wait_on_page_writeback_range(struct address_space *mapping,
                                       pgoff_t start, pgoff_t end);
 int btrfs_fdatawrite_range(struct address_space *mapping, loff_t start,
                           loff_t end, int sync_mode);
+int btrfs_wait_ordered_extents(struct btrfs_root *root);
 #endif