Lines Matching refs:eb

81 void btrfs_set_buffer_lockdep_class(u64 objectid, struct extent_buffer *eb, int level)  in btrfs_set_buffer_lockdep_class()  argument
92 lockdep_set_class_and_name(&eb->lock, &ks->keys[level], ks->names[level]); in btrfs_set_buffer_lockdep_class()
95 void btrfs_maybe_reset_lockdep_class(struct btrfs_root *root, struct extent_buffer *eb) in btrfs_maybe_reset_lockdep_class() argument
99 eb, btrfs_header_level(eb)); in btrfs_maybe_reset_lockdep_class()
128 void __btrfs_tree_read_lock(struct extent_buffer *eb, enum btrfs_lock_nesting nest) in __btrfs_tree_read_lock() argument
135 down_read_nested(&eb->lock, nest); in __btrfs_tree_read_lock()
136 trace_btrfs_tree_read_lock(eb, start_ns); in __btrfs_tree_read_lock()
139 void btrfs_tree_read_lock(struct extent_buffer *eb) in btrfs_tree_read_lock() argument
141 __btrfs_tree_read_lock(eb, BTRFS_NESTING_NORMAL); in btrfs_tree_read_lock()
149 int btrfs_try_tree_read_lock(struct extent_buffer *eb) in btrfs_try_tree_read_lock() argument
151 if (down_read_trylock(&eb->lock)) { in btrfs_try_tree_read_lock()
152 trace_btrfs_try_tree_read_lock(eb); in btrfs_try_tree_read_lock()
163 int btrfs_try_tree_write_lock(struct extent_buffer *eb) in btrfs_try_tree_write_lock() argument
165 if (down_write_trylock(&eb->lock)) { in btrfs_try_tree_write_lock()
166 eb->lock_owner = current->pid; in btrfs_try_tree_write_lock()
167 trace_btrfs_try_tree_write_lock(eb); in btrfs_try_tree_write_lock()
176 void btrfs_tree_read_unlock(struct extent_buffer *eb) in btrfs_tree_read_unlock() argument
178 trace_btrfs_tree_read_unlock(eb); in btrfs_tree_read_unlock()
179 up_read(&eb->lock); in btrfs_tree_read_unlock()
189 void __btrfs_tree_lock(struct extent_buffer *eb, enum btrfs_lock_nesting nest) in __btrfs_tree_lock() argument
190 __acquires(&eb->lock) in __btrfs_tree_lock()
197 down_write_nested(&eb->lock, nest); in __btrfs_tree_lock()
198 eb->lock_owner = current->pid; in __btrfs_tree_lock()
199 trace_btrfs_tree_lock(eb, start_ns); in __btrfs_tree_lock()
202 void btrfs_tree_lock(struct extent_buffer *eb) in btrfs_tree_lock() argument
204 __btrfs_tree_lock(eb, BTRFS_NESTING_NORMAL); in btrfs_tree_lock()
210 void btrfs_tree_unlock(struct extent_buffer *eb) in btrfs_tree_unlock() argument
212 trace_btrfs_tree_unlock(eb); in btrfs_tree_unlock()
213 eb->lock_owner = 0; in btrfs_tree_unlock()
214 up_write(&eb->lock); in btrfs_tree_unlock()
251 struct extent_buffer *eb; in btrfs_lock_root_node() local
254 eb = btrfs_root_node(root); in btrfs_lock_root_node()
256 btrfs_maybe_reset_lockdep_class(root, eb); in btrfs_lock_root_node()
257 btrfs_tree_lock(eb); in btrfs_lock_root_node()
258 if (eb == root->node) in btrfs_lock_root_node()
260 btrfs_tree_unlock(eb); in btrfs_lock_root_node()
261 free_extent_buffer(eb); in btrfs_lock_root_node()
263 return eb; in btrfs_lock_root_node()
274 struct extent_buffer *eb; in btrfs_read_lock_root_node() local
277 eb = btrfs_root_node(root); in btrfs_read_lock_root_node()
279 btrfs_maybe_reset_lockdep_class(root, eb); in btrfs_read_lock_root_node()
280 btrfs_tree_read_lock(eb); in btrfs_read_lock_root_node()
281 if (eb == root->node) in btrfs_read_lock_root_node()
283 btrfs_tree_read_unlock(eb); in btrfs_read_lock_root_node()
284 free_extent_buffer(eb); in btrfs_read_lock_root_node()
286 return eb; in btrfs_read_lock_root_node()
298 struct extent_buffer *eb; in btrfs_try_read_lock_root_node() local
301 eb = btrfs_root_node(root); in btrfs_try_read_lock_root_node()
302 if (!btrfs_try_tree_read_lock(eb)) { in btrfs_try_read_lock_root_node()
303 free_extent_buffer(eb); in btrfs_try_read_lock_root_node()
306 if (eb == root->node) in btrfs_try_read_lock_root_node()
308 btrfs_tree_read_unlock(eb); in btrfs_try_read_lock_root_node()
309 free_extent_buffer(eb); in btrfs_try_read_lock_root_node()
311 return eb; in btrfs_try_read_lock_root_node()