Lines Matching refs:eb

80 void btrfs_set_buffer_lockdep_class(u64 objectid, struct extent_buffer *eb, int level)  in btrfs_set_buffer_lockdep_class()  argument
91 lockdep_set_class_and_name(&eb->lock, &ks->keys[level], ks->names[level]); in btrfs_set_buffer_lockdep_class()
94 void btrfs_maybe_reset_lockdep_class(struct btrfs_root *root, struct extent_buffer *eb) in btrfs_maybe_reset_lockdep_class() argument
98 eb, btrfs_header_level(eb)); in btrfs_maybe_reset_lockdep_class()
127 void __btrfs_tree_read_lock(struct extent_buffer *eb, enum btrfs_lock_nesting nest) in __btrfs_tree_read_lock() argument
134 down_read_nested(&eb->lock, nest); in __btrfs_tree_read_lock()
135 trace_btrfs_tree_read_lock(eb, start_ns); in __btrfs_tree_read_lock()
138 void btrfs_tree_read_lock(struct extent_buffer *eb) in btrfs_tree_read_lock() argument
140 __btrfs_tree_read_lock(eb, BTRFS_NESTING_NORMAL); in btrfs_tree_read_lock()
148 int btrfs_try_tree_read_lock(struct extent_buffer *eb) in btrfs_try_tree_read_lock() argument
150 if (down_read_trylock(&eb->lock)) { in btrfs_try_tree_read_lock()
151 trace_btrfs_try_tree_read_lock(eb); in btrfs_try_tree_read_lock()
162 int btrfs_try_tree_write_lock(struct extent_buffer *eb) in btrfs_try_tree_write_lock() argument
164 if (down_write_trylock(&eb->lock)) { in btrfs_try_tree_write_lock()
165 eb->lock_owner = current->pid; in btrfs_try_tree_write_lock()
166 trace_btrfs_try_tree_write_lock(eb); in btrfs_try_tree_write_lock()
175 void btrfs_tree_read_unlock(struct extent_buffer *eb) in btrfs_tree_read_unlock() argument
177 trace_btrfs_tree_read_unlock(eb); in btrfs_tree_read_unlock()
178 up_read(&eb->lock); in btrfs_tree_read_unlock()
188 void __btrfs_tree_lock(struct extent_buffer *eb, enum btrfs_lock_nesting nest) in __btrfs_tree_lock() argument
189 __acquires(&eb->lock) in __btrfs_tree_lock()
196 down_write_nested(&eb->lock, nest); in __btrfs_tree_lock()
197 eb->lock_owner = current->pid; in __btrfs_tree_lock()
198 trace_btrfs_tree_lock(eb, start_ns); in __btrfs_tree_lock()
201 void btrfs_tree_lock(struct extent_buffer *eb) in btrfs_tree_lock() argument
203 __btrfs_tree_lock(eb, BTRFS_NESTING_NORMAL); in btrfs_tree_lock()
209 void btrfs_tree_unlock(struct extent_buffer *eb) in btrfs_tree_unlock() argument
211 trace_btrfs_tree_unlock(eb); in btrfs_tree_unlock()
212 eb->lock_owner = 0; in btrfs_tree_unlock()
213 up_write(&eb->lock); in btrfs_tree_unlock()
250 struct extent_buffer *eb; in btrfs_lock_root_node() local
253 eb = btrfs_root_node(root); in btrfs_lock_root_node()
255 btrfs_maybe_reset_lockdep_class(root, eb); in btrfs_lock_root_node()
256 btrfs_tree_lock(eb); in btrfs_lock_root_node()
257 if (eb == root->node) in btrfs_lock_root_node()
259 btrfs_tree_unlock(eb); in btrfs_lock_root_node()
260 free_extent_buffer(eb); in btrfs_lock_root_node()
262 return eb; in btrfs_lock_root_node()
273 struct extent_buffer *eb; in btrfs_read_lock_root_node() local
276 eb = btrfs_root_node(root); in btrfs_read_lock_root_node()
278 btrfs_maybe_reset_lockdep_class(root, eb); in btrfs_read_lock_root_node()
279 btrfs_tree_read_lock(eb); in btrfs_read_lock_root_node()
280 if (eb == root->node) in btrfs_read_lock_root_node()
282 btrfs_tree_read_unlock(eb); in btrfs_read_lock_root_node()
283 free_extent_buffer(eb); in btrfs_read_lock_root_node()
285 return eb; in btrfs_read_lock_root_node()
297 struct extent_buffer *eb; in btrfs_try_read_lock_root_node() local
300 eb = btrfs_root_node(root); in btrfs_try_read_lock_root_node()
301 if (!btrfs_try_tree_read_lock(eb)) { in btrfs_try_read_lock_root_node()
302 free_extent_buffer(eb); in btrfs_try_read_lock_root_node()
305 if (eb == root->node) in btrfs_try_read_lock_root_node()
307 btrfs_tree_read_unlock(eb); in btrfs_try_read_lock_root_node()
308 free_extent_buffer(eb); in btrfs_try_read_lock_root_node()
310 return eb; in btrfs_try_read_lock_root_node()