mirror of
				https://github.com/torvalds/linux.git
				synced 2025-11-04 02:30:34 +02:00 
			
		
		
		
	The last caller that does not have a fixed value of lock is btrfs_set_path_blocking, that actually does the same conditional swtich by the lock type so we can merge the branches together and remove the helper. Reviewed-by: Johannes Thumshirn <jthumshirn@suse.de> Signed-off-by: David Sterba <dsterba@suse.com>
		
			
				
	
	
		
			42 lines
		
	
	
	
		
			1.3 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			42 lines
		
	
	
	
		
			1.3 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
/* SPDX-License-Identifier: GPL-2.0 */
 | 
						|
/*
 | 
						|
 * Copyright (C) 2008 Oracle.  All rights reserved.
 | 
						|
 */
 | 
						|
 | 
						|
#ifndef BTRFS_LOCKING_H
 | 
						|
#define BTRFS_LOCKING_H
 | 
						|
 | 
						|
#define BTRFS_WRITE_LOCK 1
 | 
						|
#define BTRFS_READ_LOCK 2
 | 
						|
#define BTRFS_WRITE_LOCK_BLOCKING 3
 | 
						|
#define BTRFS_READ_LOCK_BLOCKING 4
 | 
						|
 | 
						|
void btrfs_tree_lock(struct extent_buffer *eb);
 | 
						|
void btrfs_tree_unlock(struct extent_buffer *eb);
 | 
						|
 | 
						|
void btrfs_tree_read_lock(struct extent_buffer *eb);
 | 
						|
void btrfs_tree_read_unlock(struct extent_buffer *eb);
 | 
						|
void btrfs_tree_read_unlock_blocking(struct extent_buffer *eb);
 | 
						|
void btrfs_set_lock_blocking_read(struct extent_buffer *eb);
 | 
						|
void btrfs_set_lock_blocking_write(struct extent_buffer *eb);
 | 
						|
void btrfs_clear_lock_blocking_read(struct extent_buffer *eb);
 | 
						|
void btrfs_clear_lock_blocking_write(struct extent_buffer *eb);
 | 
						|
void btrfs_assert_tree_locked(struct extent_buffer *eb);
 | 
						|
int btrfs_try_tree_read_lock(struct extent_buffer *eb);
 | 
						|
int btrfs_try_tree_write_lock(struct extent_buffer *eb);
 | 
						|
int btrfs_tree_read_lock_atomic(struct extent_buffer *eb);
 | 
						|
 | 
						|
 | 
						|
static inline void btrfs_tree_unlock_rw(struct extent_buffer *eb, int rw)
 | 
						|
{
 | 
						|
	if (rw == BTRFS_WRITE_LOCK || rw == BTRFS_WRITE_LOCK_BLOCKING)
 | 
						|
		btrfs_tree_unlock(eb);
 | 
						|
	else if (rw == BTRFS_READ_LOCK_BLOCKING)
 | 
						|
		btrfs_tree_read_unlock_blocking(eb);
 | 
						|
	else if (rw == BTRFS_READ_LOCK)
 | 
						|
		btrfs_tree_read_unlock(eb);
 | 
						|
	else
 | 
						|
		BUG();
 | 
						|
}
 | 
						|
 | 
						|
#endif
 |