Chris Mason | e089f05 | 2007-03-16 16:20:31 -0400 | [diff] [blame^] | 1 | #ifndef __TRANSACTION__ |
| 2 | #define __TRANSACTION__ |
| 3 | |
| 4 | struct btrfs_trans_handle { |
| 5 | u64 transid; |
| 6 | unsigned long blocks_reserved; |
| 7 | unsigned long blocks_used; |
| 8 | }; |
| 9 | |
| 10 | static inline struct btrfs_trans_handle * |
| 11 | btrfs_start_transaction(struct btrfs_root *root, int num_blocks) |
| 12 | { |
| 13 | struct btrfs_trans_handle *h = malloc(sizeof(*h)); |
| 14 | h->transid = root->root_key.offset; |
| 15 | h->blocks_reserved = num_blocks; |
| 16 | h->blocks_used = 0; |
| 17 | return h; |
| 18 | } |
| 19 | |
| 20 | static inline void btrfs_free_transaction(struct btrfs_root *root, |
| 21 | struct btrfs_trans_handle *handle) |
| 22 | { |
| 23 | memset(handle, 0, sizeof(*handle)); |
| 24 | free(handle); |
| 25 | } |
| 26 | |
| 27 | #endif |