transaction.h 845 字节
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
	struct list_head list;
C
Chris Mason 已提交
12 13 14 15
	wait_queue_head_t writer_wait;
	wait_queue_head_t commit_wait;
};

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


C
Chris Mason 已提交
26 27 28 29 30 31 32 33
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);
34
#endif