diff options
Diffstat (limited to 'fs/btrfs/transaction.h')
| -rw-r--r-- | fs/btrfs/transaction.h | 11 | 
1 files changed, 11 insertions, 0 deletions
diff --git a/fs/btrfs/transaction.h b/fs/btrfs/transaction.h index d314a74b496..e8b8416c688 100644 --- a/fs/btrfs/transaction.h +++ b/fs/btrfs/transaction.h @@ -20,6 +20,7 @@  #define __BTRFS_TRANSACTION__  #include "btrfs_inode.h"  #include "delayed-ref.h" +#include "ctree.h"  struct btrfs_transaction {  	u64 transid; @@ -49,6 +50,7 @@ struct btrfs_transaction {  struct btrfs_trans_handle {  	u64 transid;  	u64 bytes_reserved; +	u64 qgroup_reserved;  	unsigned long use_count;  	unsigned long blocks_reserved;  	unsigned long blocks_used; @@ -58,12 +60,21 @@ struct btrfs_trans_handle {  	struct btrfs_block_rsv *orig_rsv;  	int aborted;  	int adding_csums; +	/* +	 * this root is only needed to validate that the root passed to +	 * start_transaction is the same as the one passed to end_transaction. +	 * Subvolume quota depends on this +	 */ +	struct btrfs_root *root; +	struct seq_list delayed_ref_elem; +	struct list_head qgroup_ref_list;  };  struct btrfs_pending_snapshot {  	struct dentry *dentry;  	struct btrfs_root *root;  	struct btrfs_root *snap; +	struct btrfs_qgroup_inherit *inherit;  	/* block reservation for the operation */  	struct btrfs_block_rsv block_rsv;  	/* extra metadata reseration for relocation */  |