diff options
Diffstat (limited to 'fs/btrfs/ordered-data.h')
-rw-r--r-- | fs/btrfs/ordered-data.h | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/fs/btrfs/ordered-data.h b/fs/btrfs/ordered-data.h index d81a274d621e..e96cd4ccd805 100644 --- a/fs/btrfs/ordered-data.h +++ b/fs/btrfs/ordered-data.h | |||
@@ -71,6 +71,8 @@ struct btrfs_ordered_sum { | |||
71 | ordered extent */ | 71 | ordered extent */ |
72 | #define BTRFS_ORDERED_TRUNCATED 9 /* Set when we have to truncate an extent */ | 72 | #define BTRFS_ORDERED_TRUNCATED 9 /* Set when we have to truncate an extent */ |
73 | 73 | ||
74 | #define BTRFS_ORDERED_LOGGED 10 /* Set when we've waited on this ordered extent | ||
75 | * in the logging code. */ | ||
74 | struct btrfs_ordered_extent { | 76 | struct btrfs_ordered_extent { |
75 | /* logical offset in the file */ | 77 | /* logical offset in the file */ |
76 | u64 file_offset; | 78 | u64 file_offset; |
@@ -121,6 +123,9 @@ struct btrfs_ordered_extent { | |||
121 | /* If we need to wait on this to be done */ | 123 | /* If we need to wait on this to be done */ |
122 | struct list_head log_list; | 124 | struct list_head log_list; |
123 | 125 | ||
126 | /* If the transaction needs to wait on this ordered extent */ | ||
127 | struct list_head trans_list; | ||
128 | |||
124 | /* used to wait for the BTRFS_ORDERED_COMPLETE bit */ | 129 | /* used to wait for the BTRFS_ORDERED_COMPLETE bit */ |
125 | wait_queue_head_t wait; | 130 | wait_queue_head_t wait; |
126 | 131 | ||
@@ -193,11 +198,14 @@ int btrfs_find_ordered_sum(struct inode *inode, u64 offset, u64 disk_bytenr, | |||
193 | int btrfs_wait_ordered_extents(struct btrfs_root *root, int nr); | 198 | int btrfs_wait_ordered_extents(struct btrfs_root *root, int nr); |
194 | void btrfs_wait_ordered_roots(struct btrfs_fs_info *fs_info, int nr); | 199 | void btrfs_wait_ordered_roots(struct btrfs_fs_info *fs_info, int nr); |
195 | void btrfs_get_logged_extents(struct inode *inode, | 200 | void btrfs_get_logged_extents(struct inode *inode, |
196 | struct list_head *logged_list); | 201 | struct list_head *logged_list, |
202 | const loff_t start, | ||
203 | const loff_t end); | ||
197 | void btrfs_put_logged_extents(struct list_head *logged_list); | 204 | void btrfs_put_logged_extents(struct list_head *logged_list); |
198 | void btrfs_submit_logged_extents(struct list_head *logged_list, | 205 | void btrfs_submit_logged_extents(struct list_head *logged_list, |
199 | struct btrfs_root *log); | 206 | struct btrfs_root *log); |
200 | void btrfs_wait_logged_extents(struct btrfs_root *log, u64 transid); | 207 | void btrfs_wait_logged_extents(struct btrfs_trans_handle *trans, |
208 | struct btrfs_root *log, u64 transid); | ||
201 | void btrfs_free_logged_extents(struct btrfs_root *log, u64 transid); | 209 | void btrfs_free_logged_extents(struct btrfs_root *log, u64 transid); |
202 | int __init ordered_data_init(void); | 210 | int __init ordered_data_init(void); |
203 | void ordered_data_exit(void); | 211 | void ordered_data_exit(void); |