Commit | Line | Data |
---|---|---|
e089f05c CM |
1 | #ifndef __TRANSACTION__ |
2 | #define __TRANSACTION__ | |
3 | ||
79154b1b CM |
4 | struct btrfs_transaction { |
5 | u64 transid; | |
6 | unsigned long num_writers; | |
7 | int in_commit; | |
8 | int use_count; | |
9 | int commit_done; | |
2c90e5d6 | 10 | int magic; |
8fd17795 | 11 | struct list_head list; |
79154b1b CM |
12 | wait_queue_head_t writer_wait; |
13 | wait_queue_head_t commit_wait; | |
14 | }; | |
15 | ||
e089f05c | 16 | struct btrfs_trans_handle { |
2c90e5d6 | 17 | int magic; |
e089f05c CM |
18 | u64 transid; |
19 | unsigned long blocks_reserved; | |
20 | unsigned long blocks_used; | |
79154b1b | 21 | struct btrfs_transaction *transaction; |
2c90e5d6 | 22 | int magic2; |
e089f05c CM |
23 | }; |
24 | ||
e089f05c | 25 | |
79154b1b CM |
26 | int btrfs_end_transaction(struct btrfs_trans_handle *trans, |
27 | struct btrfs_root *root); | |
28 | struct btrfs_trans_handle *btrfs_start_transaction(struct btrfs_root *root, | |
29 | int num_blocks); | |
30 | int btrfs_write_and_wait_transaction(struct btrfs_trans_handle *trans, | |
31 | struct btrfs_root *root); | |
32 | int btrfs_commit_tree_roots(struct btrfs_trans_handle *trans, | |
33 | struct btrfs_root *root); | |
e089f05c | 34 | #endif |