]> git.proxmox.com Git - mirror_ubuntu-bionic-kernel.git/blob - fs/btrfs/transaction.h
Btrfs: early fsync support
[mirror_ubuntu-bionic-kernel.git] / fs / btrfs / transaction.h
1 #ifndef __TRANSACTION__
2 #define __TRANSACTION__
3
4 struct btrfs_transaction {
5 u64 transid;
6 unsigned long num_writers;
7 int in_commit;
8 int use_count;
9 int commit_done;
10 int magic;
11 struct list_head list;
12 wait_queue_head_t writer_wait;
13 wait_queue_head_t commit_wait;
14 };
15
16 struct btrfs_trans_handle {
17 int magic;
18 u64 transid;
19 unsigned long blocks_reserved;
20 unsigned long blocks_used;
21 struct btrfs_transaction *transaction;
22 int magic2;
23 };
24
25
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);
34 #endif