transaction.h 821 字节
Newer Older
1 2 3
#ifndef __TRANSACTION__
#define __TRANSACTION__

C
Chris Mason 已提交
4 5 6 7 8 9
struct btrfs_transaction {
	u64 transid;
	unsigned long num_writers;
	int in_commit;
	int use_count;
	int commit_done;
C
Chris Mason 已提交
10
	int magic;
C
Chris Mason 已提交
11 12 13 14
	wait_queue_head_t writer_wait;
	wait_queue_head_t commit_wait;
};

15
struct btrfs_trans_handle {
C
Chris Mason 已提交
16
	int magic;
17 18 19
	u64 transid;
	unsigned long blocks_reserved;
	unsigned long blocks_used;
C
Chris Mason 已提交
20
	struct btrfs_transaction *transaction;
C
Chris Mason 已提交
21
	int magic2;
22 23 24
};


C
Chris Mason 已提交
25 26 27 28 29 30 31 32
int btrfs_end_transaction(struct btrfs_trans_handle *trans,
			  struct btrfs_root *root);
struct btrfs_trans_handle *btrfs_start_transaction(struct btrfs_root *root,
						   int num_blocks);
int btrfs_write_and_wait_transaction(struct btrfs_trans_handle *trans,
				     struct btrfs_root *root);
int btrfs_commit_tree_roots(struct btrfs_trans_handle *trans,
			    struct btrfs_root *root);
33
#endif