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 --- |