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 {  				       ordered extent */  #define BTRFS_ORDERED_TRUNCATED 9 /* Set when we have to truncate an extent */ +#define BTRFS_ORDERED_LOGGED 10 /* Set when we've waited on this ordered extent +				 * in the logging code. */  struct btrfs_ordered_extent {  	/* logical offset in the file */  	u64 file_offset; @@ -121,6 +123,9 @@ struct btrfs_ordered_extent {  	/* If we need to wait on this to be done */  	struct list_head log_list; +	/* If the transaction needs to wait on this ordered extent */ +	struct list_head trans_list; +  	/* used to wait for the BTRFS_ORDERED_COMPLETE bit */  	wait_queue_head_t wait; @@ -193,11 +198,14 @@ int btrfs_find_ordered_sum(struct inode *inode, u64 offset, u64 disk_bytenr,  int btrfs_wait_ordered_extents(struct btrfs_root *root, int nr);  void btrfs_wait_ordered_roots(struct btrfs_fs_info *fs_info, int nr);  void btrfs_get_logged_extents(struct inode *inode, -			      struct list_head *logged_list); +			      struct list_head *logged_list, +			      const loff_t start, +			      const loff_t end);  void btrfs_put_logged_extents(struct list_head *logged_list);  void btrfs_submit_logged_extents(struct list_head *logged_list,  				 struct btrfs_root *log); -void btrfs_wait_logged_extents(struct btrfs_root *log, u64 transid); +void btrfs_wait_logged_extents(struct btrfs_trans_handle *trans, +			       struct btrfs_root *log, u64 transid);  void btrfs_free_logged_extents(struct btrfs_root *log, u64 transid);  int __init ordered_data_init(void);  void ordered_data_exit(void);  |