mirror of
				git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
				synced 2025-11-01 09:13:37 +00:00 
			
		
		
		
	We have code for data and metadata reservations for delalloc. There's quite a bit of code here, and it's used in a lot of places so I've separated it out to it's own file. inode.c and file.c are already pretty large, and this code is complicated enough to live in its own space. Signed-off-by: Josef Bacik <josef@toxicpanda.com> Signed-off-by: David Sterba <dsterba@suse.com>
		
			
				
	
	
		
			23 lines
		
	
	
	
		
			927 B
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			23 lines
		
	
	
	
		
			927 B
		
	
	
	
		
			C
		
	
	
	
	
	
/* SPDX-License-Identifier: GPL-2.0 */
 | 
						|
 | 
						|
#ifndef BTRFS_DELALLOC_SPACE_H
 | 
						|
#define BTRFS_DELALLOC_SPACE_H
 | 
						|
 | 
						|
struct extent_changeset;
 | 
						|
 | 
						|
int btrfs_alloc_data_chunk_ondemand(struct btrfs_inode *inode, u64 bytes);
 | 
						|
int btrfs_check_data_free_space(struct inode *inode,
 | 
						|
			struct extent_changeset **reserved, u64 start, u64 len);
 | 
						|
void btrfs_free_reserved_data_space(struct inode *inode,
 | 
						|
			struct extent_changeset *reserved, u64 start, u64 len);
 | 
						|
void btrfs_delalloc_release_space(struct inode *inode,
 | 
						|
				  struct extent_changeset *reserved,
 | 
						|
				  u64 start, u64 len, bool qgroup_free);
 | 
						|
void btrfs_free_reserved_data_space_noquota(struct inode *inode, u64 start,
 | 
						|
					    u64 len);
 | 
						|
void btrfs_delalloc_release_metadata(struct btrfs_inode *inode, u64 num_bytes,
 | 
						|
				     bool qgroup_free);
 | 
						|
int btrfs_delalloc_reserve_space(struct inode *inode,
 | 
						|
			struct extent_changeset **reserved, u64 start, u64 len);
 | 
						|
 | 
						|
#endif /* BTRFS_DELALLOC_SPACE_H */
 |