transaction.h (7174109c6548c4db85a383b8ae9d01469cddd110) transaction.h (161c3549b45aeef05451b6822d8aaaf39c7bedce)
1/*
2 * Copyright (C) 2007 Oracle. All rights reserved.
3 *
4 * This program is free software; you can redistribute it and/or
5 * modify it under the terms of the GNU General Public
6 * License v2 as published by the Free Software Foundation.
7 *
8 * This program is distributed in the hope that it will be useful,

--- 32 unchanged lines hidden (view full) ---

41 */
42 atomic_t num_extwriters;
43 /*
44 * total writers in this transaction, it must be zero before the
45 * transaction can end
46 */
47 atomic_t num_writers;
48 atomic_t use_count;
1/*
2 * Copyright (C) 2007 Oracle. All rights reserved.
3 *
4 * This program is free software; you can redistribute it and/or
5 * modify it under the terms of the GNU General Public
6 * License v2 as published by the Free Software Foundation.
7 *
8 * This program is distributed in the hope that it will be useful,

--- 32 unchanged lines hidden (view full) ---

41 */
42 atomic_t num_extwriters;
43 /*
44 * total writers in this transaction, it must be zero before the
45 * transaction can end
46 */
47 atomic_t num_writers;
48 atomic_t use_count;
49 atomic_t pending_ordered;
49
50 /*
51 * true if there is free bgs operations in this transaction
52 */
53 int have_free_bgs;
54
55 /* Be protected by fs_info->trans_lock when we want to change it. */
56 enum btrfs_trans_state state;
57 struct list_head list;
58 struct extent_io_tree dirty_pages;
59 unsigned long start_time;
60 wait_queue_head_t writer_wait;
61 wait_queue_head_t commit_wait;
50
51 /*
52 * true if there is free bgs operations in this transaction
53 */
54 int have_free_bgs;
55
56 /* Be protected by fs_info->trans_lock when we want to change it. */
57 enum btrfs_trans_state state;
58 struct list_head list;
59 struct extent_io_tree dirty_pages;
60 unsigned long start_time;
61 wait_queue_head_t writer_wait;
62 wait_queue_head_t commit_wait;
63 wait_queue_head_t pending_wait;
62 struct list_head pending_snapshots;
63 struct list_head pending_chunks;
64 struct list_head pending_snapshots;
65 struct list_head pending_chunks;
64 struct list_head pending_ordered;
65 struct list_head switch_commits;
66 struct list_head dirty_bgs;
67 struct list_head io_bgs;
68 struct list_head dropped_roots;
69 u64 num_dirty_bgs;
70
71 /*
72 * we need to make sure block group deletion doesn't race with

--- 29 unchanged lines hidden (view full) ---

102 __TRANS_ATTACH)
103
104#define BTRFS_SEND_TRANS_STUB ((void *)1)
105
106struct btrfs_trans_handle {
107 u64 transid;
108 u64 bytes_reserved;
109 u64 chunk_bytes_reserved;
66 struct list_head switch_commits;
67 struct list_head dirty_bgs;
68 struct list_head io_bgs;
69 struct list_head dropped_roots;
70 u64 num_dirty_bgs;
71
72 /*
73 * we need to make sure block group deletion doesn't race with

--- 29 unchanged lines hidden (view full) ---

103 __TRANS_ATTACH)
104
105#define BTRFS_SEND_TRANS_STUB ((void *)1)
106
107struct btrfs_trans_handle {
108 u64 transid;
109 u64 bytes_reserved;
110 u64 chunk_bytes_reserved;
111 u64 qgroup_reserved;
110 unsigned long use_count;
111 unsigned long blocks_reserved;
112 unsigned long blocks_used;
113 unsigned long delayed_ref_updates;
114 struct btrfs_transaction *transaction;
115 struct btrfs_block_rsv *block_rsv;
116 struct btrfs_block_rsv *orig_rsv;
117 short aborted;

--- 5 unchanged lines hidden (view full) ---

123 unsigned int type;
124 /*
125 * this root is only needed to validate that the root passed to
126 * start_transaction is the same as the one passed to end_transaction.
127 * Subvolume quota depends on this
128 */
129 struct btrfs_root *root;
130 struct seq_list delayed_ref_elem;
112 unsigned long use_count;
113 unsigned long blocks_reserved;
114 unsigned long blocks_used;
115 unsigned long delayed_ref_updates;
116 struct btrfs_transaction *transaction;
117 struct btrfs_block_rsv *block_rsv;
118 struct btrfs_block_rsv *orig_rsv;
119 short aborted;

--- 5 unchanged lines hidden (view full) ---

125 unsigned int type;
126 /*
127 * this root is only needed to validate that the root passed to
128 * start_transaction is the same as the one passed to end_transaction.
129 * Subvolume quota depends on this
130 */
131 struct btrfs_root *root;
132 struct seq_list delayed_ref_elem;
131 struct list_head ordered;
132 struct list_head qgroup_ref_list;
133 struct list_head new_bgs;
134};
135
136struct btrfs_pending_snapshot {
137 struct dentry *dentry;
138 struct inode *dir;
139 struct btrfs_root *root;

--- 85 unchanged lines hidden ---
133 struct list_head qgroup_ref_list;
134 struct list_head new_bgs;
135};
136
137struct btrfs_pending_snapshot {
138 struct dentry *dentry;
139 struct inode *dir;
140 struct btrfs_root *root;

--- 85 unchanged lines hidden ---