aboutsummaryrefslogtreecommitdiffstats
path: root/fs/btrfs/transaction.h
diff options
context:
space:
mode:
Diffstat (limited to 'fs/btrfs/transaction.h')
-rw-r--r--fs/btrfs/transaction.h15
1 files changed, 15 insertions, 0 deletions
diff --git a/fs/btrfs/transaction.h b/fs/btrfs/transaction.h
index afe42d167cee..b5378119e76c 100644
--- a/fs/btrfs/transaction.h
+++ b/fs/btrfs/transaction.h
@@ -1,5 +1,6 @@
1#ifndef __TRANSACTION__ 1#ifndef __TRANSACTION__
2#define __TRANSACTION__ 2#define __TRANSACTION__
3#include "btrfs_inode.h"
3 4
4struct btrfs_transaction { 5struct btrfs_transaction {
5 u64 transid; 6 u64 transid;
@@ -20,10 +21,24 @@ struct btrfs_trans_handle {
20 unsigned long blocks_reserved; 21 unsigned long blocks_reserved;
21 unsigned long blocks_used; 22 unsigned long blocks_used;
22 struct btrfs_transaction *transaction; 23 struct btrfs_transaction *transaction;
24 struct btrfs_block_group_cache *block_group;
23 int magic2; 25 int magic2;
24}; 26};
25 27
26 28
29static inline void btrfs_set_trans_block_group(struct btrfs_trans_handle *trans,
30 struct inode *inode)
31{
32 trans->block_group = BTRFS_I(inode)->block_group;
33}
34
35static inline void btrfs_update_inode_block_group(struct
36 btrfs_trans_handle *trans,
37 struct inode *inode)
38{
39 BTRFS_I(inode)->block_group = trans->block_group;
40}
41
27int btrfs_end_transaction(struct btrfs_trans_handle *trans, 42int btrfs_end_transaction(struct btrfs_trans_handle *trans,
28 struct btrfs_root *root); 43 struct btrfs_root *root);
29struct btrfs_trans_handle *btrfs_start_transaction(struct btrfs_root *root, 44struct btrfs_trans_handle *btrfs_start_transaction(struct btrfs_root *root,