mirror of
				https://github.com/torvalds/linux.git
				synced 2025-11-04 10:40:15 +02:00 
			
		
		
		
	btrfs: extend btrfs_set_extent_delalloc and its friends to support in-band dedupe and subpage size patchset
Extend btrfs_set_extent_delalloc() and extent_clear_unlock_delalloc() parameters for both in-band dedupe and subpage sector size patchset. This should reduce conflict of both patchset and the effort to rebase them. Cc: Chandan Rajendra <chandan@linux.vnet.ibm.com> Cc: David Sterba <dsterba@suse.cz> Signed-off-by: Qu Wenruo <quwenruo@cn.fujitsu.com> Signed-off-by: David Sterba <dsterba@suse.com>
This commit is contained in:
		
							parent
							
								
									897a41b116
								
							
						
					
					
						commit
						ba8b04c1d4
					
				
					 7 changed files with 37 additions and 25 deletions
				
			
		| 
						 | 
					@ -3119,7 +3119,7 @@ int btrfs_start_delalloc_inodes(struct btrfs_root *root, int delay_iput);
 | 
				
			||||||
int btrfs_start_delalloc_roots(struct btrfs_fs_info *fs_info, int delay_iput,
 | 
					int btrfs_start_delalloc_roots(struct btrfs_fs_info *fs_info, int delay_iput,
 | 
				
			||||||
			       int nr);
 | 
								       int nr);
 | 
				
			||||||
int btrfs_set_extent_delalloc(struct inode *inode, u64 start, u64 end,
 | 
					int btrfs_set_extent_delalloc(struct inode *inode, u64 start, u64 end,
 | 
				
			||||||
			      struct extent_state **cached_state);
 | 
								      struct extent_state **cached_state, int dedupe);
 | 
				
			||||||
int btrfs_create_subvol_root(struct btrfs_trans_handle *trans,
 | 
					int btrfs_create_subvol_root(struct btrfs_trans_handle *trans,
 | 
				
			||||||
			     struct btrfs_root *new_root,
 | 
								     struct btrfs_root *new_root,
 | 
				
			||||||
			     struct btrfs_root *parent_root,
 | 
								     struct btrfs_root *parent_root,
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1730,7 +1730,7 @@ STATIC u64 find_lock_delalloc_range(struct inode *inode,
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
void extent_clear_unlock_delalloc(struct inode *inode, u64 start, u64 end,
 | 
					void extent_clear_unlock_delalloc(struct inode *inode, u64 start, u64 end,
 | 
				
			||||||
				 struct page *locked_page,
 | 
									 u64 delalloc_end, struct page *locked_page,
 | 
				
			||||||
				 unsigned clear_bits,
 | 
									 unsigned clear_bits,
 | 
				
			||||||
				 unsigned long page_ops)
 | 
									 unsigned long page_ops)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -413,7 +413,7 @@ int map_private_extent_buffer(struct extent_buffer *eb, unsigned long offset,
 | 
				
			||||||
void extent_range_clear_dirty_for_io(struct inode *inode, u64 start, u64 end);
 | 
					void extent_range_clear_dirty_for_io(struct inode *inode, u64 start, u64 end);
 | 
				
			||||||
void extent_range_redirty_for_io(struct inode *inode, u64 start, u64 end);
 | 
					void extent_range_redirty_for_io(struct inode *inode, u64 start, u64 end);
 | 
				
			||||||
void extent_clear_unlock_delalloc(struct inode *inode, u64 start, u64 end,
 | 
					void extent_clear_unlock_delalloc(struct inode *inode, u64 start, u64 end,
 | 
				
			||||||
				 struct page *locked_page,
 | 
									 u64 delalloc_end, struct page *locked_page,
 | 
				
			||||||
				 unsigned bits_to_clear,
 | 
									 unsigned bits_to_clear,
 | 
				
			||||||
				 unsigned long page_ops);
 | 
									 unsigned long page_ops);
 | 
				
			||||||
struct bio *
 | 
					struct bio *
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -503,7 +503,7 @@ int btrfs_dirty_pages(struct btrfs_root *root, struct inode *inode,
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	end_of_last_block = start_pos + num_bytes - 1;
 | 
						end_of_last_block = start_pos + num_bytes - 1;
 | 
				
			||||||
	err = btrfs_set_extent_delalloc(inode, start_pos, end_of_last_block,
 | 
						err = btrfs_set_extent_delalloc(inode, start_pos, end_of_last_block,
 | 
				
			||||||
					cached);
 | 
										cached, 0);
 | 
				
			||||||
	if (err)
 | 
						if (err)
 | 
				
			||||||
		return err;
 | 
							return err;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -560,8 +560,9 @@ static noinline void compress_file_range(struct inode *inode,
 | 
				
			||||||
			 * we don't need to create any more async work items.
 | 
								 * we don't need to create any more async work items.
 | 
				
			||||||
			 * Unlock and free up our temp pages.
 | 
								 * Unlock and free up our temp pages.
 | 
				
			||||||
			 */
 | 
								 */
 | 
				
			||||||
			extent_clear_unlock_delalloc(inode, start, end, NULL,
 | 
								extent_clear_unlock_delalloc(inode, start, end, end,
 | 
				
			||||||
						     clear_flags, PAGE_UNLOCK |
 | 
											     NULL, clear_flags,
 | 
				
			||||||
 | 
											     PAGE_UNLOCK |
 | 
				
			||||||
						     PAGE_CLEAR_DIRTY |
 | 
											     PAGE_CLEAR_DIRTY |
 | 
				
			||||||
						     PAGE_SET_WRITEBACK |
 | 
											     PAGE_SET_WRITEBACK |
 | 
				
			||||||
						     page_error_op |
 | 
											     page_error_op |
 | 
				
			||||||
| 
						 | 
					@ -835,6 +836,8 @@ static noinline void submit_compressed_extents(struct inode *inode,
 | 
				
			||||||
		 * clear dirty, set writeback and unlock the pages.
 | 
							 * clear dirty, set writeback and unlock the pages.
 | 
				
			||||||
		 */
 | 
							 */
 | 
				
			||||||
		extent_clear_unlock_delalloc(inode, async_extent->start,
 | 
							extent_clear_unlock_delalloc(inode, async_extent->start,
 | 
				
			||||||
 | 
									async_extent->start +
 | 
				
			||||||
 | 
									async_extent->ram_size - 1,
 | 
				
			||||||
				async_extent->start +
 | 
									async_extent->start +
 | 
				
			||||||
				async_extent->ram_size - 1,
 | 
									async_extent->ram_size - 1,
 | 
				
			||||||
				NULL, EXTENT_LOCKED | EXTENT_DELALLOC,
 | 
									NULL, EXTENT_LOCKED | EXTENT_DELALLOC,
 | 
				
			||||||
| 
						 | 
					@ -856,7 +859,8 @@ static noinline void submit_compressed_extents(struct inode *inode,
 | 
				
			||||||
			tree->ops->writepage_end_io_hook(p, start, end,
 | 
								tree->ops->writepage_end_io_hook(p, start, end,
 | 
				
			||||||
							 NULL, 0);
 | 
												 NULL, 0);
 | 
				
			||||||
			p->mapping = NULL;
 | 
								p->mapping = NULL;
 | 
				
			||||||
			extent_clear_unlock_delalloc(inode, start, end, NULL, 0,
 | 
								extent_clear_unlock_delalloc(inode, start, end, end,
 | 
				
			||||||
 | 
											     NULL, 0,
 | 
				
			||||||
						     PAGE_END_WRITEBACK |
 | 
											     PAGE_END_WRITEBACK |
 | 
				
			||||||
						     PAGE_SET_ERROR);
 | 
											     PAGE_SET_ERROR);
 | 
				
			||||||
			free_async_extent_pages(async_extent);
 | 
								free_async_extent_pages(async_extent);
 | 
				
			||||||
| 
						 | 
					@ -871,6 +875,8 @@ static noinline void submit_compressed_extents(struct inode *inode,
 | 
				
			||||||
	btrfs_free_reserved_extent(root, ins.objectid, ins.offset, 1);
 | 
						btrfs_free_reserved_extent(root, ins.objectid, ins.offset, 1);
 | 
				
			||||||
out_free:
 | 
					out_free:
 | 
				
			||||||
	extent_clear_unlock_delalloc(inode, async_extent->start,
 | 
						extent_clear_unlock_delalloc(inode, async_extent->start,
 | 
				
			||||||
 | 
									     async_extent->start +
 | 
				
			||||||
 | 
									     async_extent->ram_size - 1,
 | 
				
			||||||
				     async_extent->start +
 | 
									     async_extent->start +
 | 
				
			||||||
				     async_extent->ram_size - 1,
 | 
									     async_extent->ram_size - 1,
 | 
				
			||||||
				     NULL, EXTENT_LOCKED | EXTENT_DELALLOC |
 | 
									     NULL, EXTENT_LOCKED | EXTENT_DELALLOC |
 | 
				
			||||||
| 
						 | 
					@ -966,7 +972,8 @@ static noinline int cow_file_range(struct inode *inode,
 | 
				
			||||||
		ret = cow_file_range_inline(root, inode, start, end, 0, 0,
 | 
							ret = cow_file_range_inline(root, inode, start, end, 0, 0,
 | 
				
			||||||
					    NULL);
 | 
										    NULL);
 | 
				
			||||||
		if (ret == 0) {
 | 
							if (ret == 0) {
 | 
				
			||||||
			extent_clear_unlock_delalloc(inode, start, end, NULL,
 | 
								extent_clear_unlock_delalloc(inode, start, end,
 | 
				
			||||||
 | 
									     delalloc_end, NULL,
 | 
				
			||||||
				     EXTENT_LOCKED | EXTENT_DELALLOC |
 | 
									     EXTENT_LOCKED | EXTENT_DELALLOC |
 | 
				
			||||||
				     EXTENT_DEFRAG, PAGE_UNLOCK |
 | 
									     EXTENT_DEFRAG, PAGE_UNLOCK |
 | 
				
			||||||
				     PAGE_CLEAR_DIRTY | PAGE_SET_WRITEBACK |
 | 
									     PAGE_CLEAR_DIRTY | PAGE_SET_WRITEBACK |
 | 
				
			||||||
| 
						 | 
					@ -1062,7 +1069,8 @@ static noinline int cow_file_range(struct inode *inode,
 | 
				
			||||||
		op |= PAGE_SET_PRIVATE2;
 | 
							op |= PAGE_SET_PRIVATE2;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		extent_clear_unlock_delalloc(inode, start,
 | 
							extent_clear_unlock_delalloc(inode, start,
 | 
				
			||||||
					     start + ram_size - 1, locked_page,
 | 
										     start + ram_size - 1,
 | 
				
			||||||
 | 
										     delalloc_end, locked_page,
 | 
				
			||||||
					     EXTENT_LOCKED | EXTENT_DELALLOC,
 | 
										     EXTENT_LOCKED | EXTENT_DELALLOC,
 | 
				
			||||||
					     op);
 | 
										     op);
 | 
				
			||||||
		disk_num_bytes -= cur_alloc_size;
 | 
							disk_num_bytes -= cur_alloc_size;
 | 
				
			||||||
| 
						 | 
					@ -1079,7 +1087,8 @@ static noinline int cow_file_range(struct inode *inode,
 | 
				
			||||||
	btrfs_dec_block_group_reservations(root->fs_info, ins.objectid);
 | 
						btrfs_dec_block_group_reservations(root->fs_info, ins.objectid);
 | 
				
			||||||
	btrfs_free_reserved_extent(root, ins.objectid, ins.offset, 1);
 | 
						btrfs_free_reserved_extent(root, ins.objectid, ins.offset, 1);
 | 
				
			||||||
out_unlock:
 | 
					out_unlock:
 | 
				
			||||||
	extent_clear_unlock_delalloc(inode, start, end, locked_page,
 | 
						extent_clear_unlock_delalloc(inode, start, end, delalloc_end,
 | 
				
			||||||
 | 
									     locked_page,
 | 
				
			||||||
				     EXTENT_LOCKED | EXTENT_DO_ACCOUNTING |
 | 
									     EXTENT_LOCKED | EXTENT_DO_ACCOUNTING |
 | 
				
			||||||
				     EXTENT_DELALLOC | EXTENT_DEFRAG,
 | 
									     EXTENT_DELALLOC | EXTENT_DEFRAG,
 | 
				
			||||||
				     PAGE_UNLOCK | PAGE_CLEAR_DIRTY |
 | 
									     PAGE_UNLOCK | PAGE_CLEAR_DIRTY |
 | 
				
			||||||
| 
						 | 
					@ -1258,7 +1267,8 @@ static noinline int run_delalloc_nocow(struct inode *inode,
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	path = btrfs_alloc_path();
 | 
						path = btrfs_alloc_path();
 | 
				
			||||||
	if (!path) {
 | 
						if (!path) {
 | 
				
			||||||
		extent_clear_unlock_delalloc(inode, start, end, locked_page,
 | 
							extent_clear_unlock_delalloc(inode, start, end, end,
 | 
				
			||||||
 | 
										     locked_page,
 | 
				
			||||||
					     EXTENT_LOCKED | EXTENT_DELALLOC |
 | 
										     EXTENT_LOCKED | EXTENT_DELALLOC |
 | 
				
			||||||
					     EXTENT_DO_ACCOUNTING |
 | 
										     EXTENT_DO_ACCOUNTING |
 | 
				
			||||||
					     EXTENT_DEFRAG, PAGE_UNLOCK |
 | 
										     EXTENT_DEFRAG, PAGE_UNLOCK |
 | 
				
			||||||
| 
						 | 
					@ -1276,7 +1286,8 @@ static noinline int run_delalloc_nocow(struct inode *inode,
 | 
				
			||||||
		trans = btrfs_join_transaction(root);
 | 
							trans = btrfs_join_transaction(root);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	if (IS_ERR(trans)) {
 | 
						if (IS_ERR(trans)) {
 | 
				
			||||||
		extent_clear_unlock_delalloc(inode, start, end, locked_page,
 | 
							extent_clear_unlock_delalloc(inode, start, end, end,
 | 
				
			||||||
 | 
										     locked_page,
 | 
				
			||||||
					     EXTENT_LOCKED | EXTENT_DELALLOC |
 | 
										     EXTENT_LOCKED | EXTENT_DELALLOC |
 | 
				
			||||||
					     EXTENT_DO_ACCOUNTING |
 | 
										     EXTENT_DO_ACCOUNTING |
 | 
				
			||||||
					     EXTENT_DEFRAG, PAGE_UNLOCK |
 | 
										     EXTENT_DEFRAG, PAGE_UNLOCK |
 | 
				
			||||||
| 
						 | 
					@ -1490,7 +1501,7 @@ static noinline int run_delalloc_nocow(struct inode *inode,
 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		extent_clear_unlock_delalloc(inode, cur_offset,
 | 
							extent_clear_unlock_delalloc(inode, cur_offset,
 | 
				
			||||||
					     cur_offset + num_bytes - 1,
 | 
										     cur_offset + num_bytes - 1, end,
 | 
				
			||||||
					     locked_page, EXTENT_LOCKED |
 | 
										     locked_page, EXTENT_LOCKED |
 | 
				
			||||||
					     EXTENT_DELALLOC |
 | 
										     EXTENT_DELALLOC |
 | 
				
			||||||
					     EXTENT_CLEAR_DATA_RESV,
 | 
										     EXTENT_CLEAR_DATA_RESV,
 | 
				
			||||||
| 
						 | 
					@ -1522,7 +1533,7 @@ static noinline int run_delalloc_nocow(struct inode *inode,
 | 
				
			||||||
		ret = err;
 | 
							ret = err;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	if (ret && cur_offset < end)
 | 
						if (ret && cur_offset < end)
 | 
				
			||||||
		extent_clear_unlock_delalloc(inode, cur_offset, end,
 | 
							extent_clear_unlock_delalloc(inode, cur_offset, end, end,
 | 
				
			||||||
					     locked_page, EXTENT_LOCKED |
 | 
										     locked_page, EXTENT_LOCKED |
 | 
				
			||||||
					     EXTENT_DELALLOC | EXTENT_DEFRAG |
 | 
										     EXTENT_DELALLOC | EXTENT_DEFRAG |
 | 
				
			||||||
					     EXTENT_DO_ACCOUNTING, PAGE_UNLOCK |
 | 
										     EXTENT_DO_ACCOUNTING, PAGE_UNLOCK |
 | 
				
			||||||
| 
						 | 
					@ -1988,7 +1999,7 @@ static noinline int add_pending_csums(struct btrfs_trans_handle *trans,
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
int btrfs_set_extent_delalloc(struct inode *inode, u64 start, u64 end,
 | 
					int btrfs_set_extent_delalloc(struct inode *inode, u64 start, u64 end,
 | 
				
			||||||
			      struct extent_state **cached_state)
 | 
								      struct extent_state **cached_state, int dedupe)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
	WARN_ON((end & (PAGE_SIZE - 1)) == 0);
 | 
						WARN_ON((end & (PAGE_SIZE - 1)) == 0);
 | 
				
			||||||
	return set_extent_delalloc(&BTRFS_I(inode)->io_tree, start, end,
 | 
						return set_extent_delalloc(&BTRFS_I(inode)->io_tree, start, end,
 | 
				
			||||||
| 
						 | 
					@ -2052,7 +2063,8 @@ static void btrfs_writepage_fixup_worker(struct btrfs_work *work)
 | 
				
			||||||
		goto out;
 | 
							goto out;
 | 
				
			||||||
	 }
 | 
						 }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	btrfs_set_extent_delalloc(inode, page_start, page_end, &cached_state);
 | 
						btrfs_set_extent_delalloc(inode, page_start, page_end, &cached_state,
 | 
				
			||||||
 | 
									  0);
 | 
				
			||||||
	ClearPageChecked(page);
 | 
						ClearPageChecked(page);
 | 
				
			||||||
	set_page_dirty(page);
 | 
						set_page_dirty(page);
 | 
				
			||||||
out:
 | 
					out:
 | 
				
			||||||
| 
						 | 
					@ -4757,7 +4769,7 @@ int btrfs_truncate_block(struct inode *inode, loff_t from, loff_t len,
 | 
				
			||||||
			  0, 0, &cached_state, GFP_NOFS);
 | 
								  0, 0, &cached_state, GFP_NOFS);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	ret = btrfs_set_extent_delalloc(inode, block_start, block_end,
 | 
						ret = btrfs_set_extent_delalloc(inode, block_start, block_end,
 | 
				
			||||||
					&cached_state);
 | 
										&cached_state, 0);
 | 
				
			||||||
	if (ret) {
 | 
						if (ret) {
 | 
				
			||||||
		unlock_extent_cached(io_tree, block_start, block_end,
 | 
							unlock_extent_cached(io_tree, block_start, block_end,
 | 
				
			||||||
				     &cached_state, GFP_NOFS);
 | 
									     &cached_state, GFP_NOFS);
 | 
				
			||||||
| 
						 | 
					@ -9054,7 +9066,7 @@ int btrfs_page_mkwrite(struct vm_area_struct *vma, struct vm_fault *vmf)
 | 
				
			||||||
			  0, 0, &cached_state, GFP_NOFS);
 | 
								  0, 0, &cached_state, GFP_NOFS);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	ret = btrfs_set_extent_delalloc(inode, page_start, end,
 | 
						ret = btrfs_set_extent_delalloc(inode, page_start, end,
 | 
				
			||||||
					&cached_state);
 | 
										&cached_state, 0);
 | 
				
			||||||
	if (ret) {
 | 
						if (ret) {
 | 
				
			||||||
		unlock_extent_cached(io_tree, page_start, page_end,
 | 
							unlock_extent_cached(io_tree, page_start, page_end,
 | 
				
			||||||
				     &cached_state, GFP_NOFS);
 | 
									     &cached_state, GFP_NOFS);
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -3203,7 +3203,7 @@ static int relocate_file_extent_cluster(struct inode *inode,
 | 
				
			||||||
			nr++;
 | 
								nr++;
 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		btrfs_set_extent_delalloc(inode, page_start, page_end, NULL);
 | 
							btrfs_set_extent_delalloc(inode, page_start, page_end, NULL, 0);
 | 
				
			||||||
		set_page_dirty(page);
 | 
							set_page_dirty(page);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		unlock_extent(&BTRFS_I(inode)->io_tree,
 | 
							unlock_extent(&BTRFS_I(inode)->io_tree,
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -968,7 +968,7 @@ static int test_extent_accounting(u32 sectorsize, u32 nodesize)
 | 
				
			||||||
	/* [BTRFS_MAX_EXTENT_SIZE] */
 | 
						/* [BTRFS_MAX_EXTENT_SIZE] */
 | 
				
			||||||
	BTRFS_I(inode)->outstanding_extents++;
 | 
						BTRFS_I(inode)->outstanding_extents++;
 | 
				
			||||||
	ret = btrfs_set_extent_delalloc(inode, 0, BTRFS_MAX_EXTENT_SIZE - 1,
 | 
						ret = btrfs_set_extent_delalloc(inode, 0, BTRFS_MAX_EXTENT_SIZE - 1,
 | 
				
			||||||
					NULL);
 | 
										NULL, 0);
 | 
				
			||||||
	if (ret) {
 | 
						if (ret) {
 | 
				
			||||||
		test_msg("btrfs_set_extent_delalloc returned %d\n", ret);
 | 
							test_msg("btrfs_set_extent_delalloc returned %d\n", ret);
 | 
				
			||||||
		goto out;
 | 
							goto out;
 | 
				
			||||||
| 
						 | 
					@ -984,7 +984,7 @@ static int test_extent_accounting(u32 sectorsize, u32 nodesize)
 | 
				
			||||||
	BTRFS_I(inode)->outstanding_extents++;
 | 
						BTRFS_I(inode)->outstanding_extents++;
 | 
				
			||||||
	ret = btrfs_set_extent_delalloc(inode, BTRFS_MAX_EXTENT_SIZE,
 | 
						ret = btrfs_set_extent_delalloc(inode, BTRFS_MAX_EXTENT_SIZE,
 | 
				
			||||||
					BTRFS_MAX_EXTENT_SIZE + sectorsize - 1,
 | 
										BTRFS_MAX_EXTENT_SIZE + sectorsize - 1,
 | 
				
			||||||
					NULL);
 | 
										NULL, 0);
 | 
				
			||||||
	if (ret) {
 | 
						if (ret) {
 | 
				
			||||||
		test_msg("btrfs_set_extent_delalloc returned %d\n", ret);
 | 
							test_msg("btrfs_set_extent_delalloc returned %d\n", ret);
 | 
				
			||||||
		goto out;
 | 
							goto out;
 | 
				
			||||||
| 
						 | 
					@ -1019,7 +1019,7 @@ static int test_extent_accounting(u32 sectorsize, u32 nodesize)
 | 
				
			||||||
	ret = btrfs_set_extent_delalloc(inode, BTRFS_MAX_EXTENT_SIZE >> 1,
 | 
						ret = btrfs_set_extent_delalloc(inode, BTRFS_MAX_EXTENT_SIZE >> 1,
 | 
				
			||||||
					(BTRFS_MAX_EXTENT_SIZE >> 1)
 | 
										(BTRFS_MAX_EXTENT_SIZE >> 1)
 | 
				
			||||||
					+ sectorsize - 1,
 | 
										+ sectorsize - 1,
 | 
				
			||||||
					NULL);
 | 
										NULL, 0);
 | 
				
			||||||
	if (ret) {
 | 
						if (ret) {
 | 
				
			||||||
		test_msg("btrfs_set_extent_delalloc returned %d\n", ret);
 | 
							test_msg("btrfs_set_extent_delalloc returned %d\n", ret);
 | 
				
			||||||
		goto out;
 | 
							goto out;
 | 
				
			||||||
| 
						 | 
					@ -1042,7 +1042,7 @@ static int test_extent_accounting(u32 sectorsize, u32 nodesize)
 | 
				
			||||||
	ret = btrfs_set_extent_delalloc(inode,
 | 
						ret = btrfs_set_extent_delalloc(inode,
 | 
				
			||||||
			BTRFS_MAX_EXTENT_SIZE + 2 * sectorsize,
 | 
								BTRFS_MAX_EXTENT_SIZE + 2 * sectorsize,
 | 
				
			||||||
			(BTRFS_MAX_EXTENT_SIZE << 1) + 3 * sectorsize - 1,
 | 
								(BTRFS_MAX_EXTENT_SIZE << 1) + 3 * sectorsize - 1,
 | 
				
			||||||
			NULL);
 | 
								NULL, 0);
 | 
				
			||||||
	if (ret) {
 | 
						if (ret) {
 | 
				
			||||||
		test_msg("btrfs_set_extent_delalloc returned %d\n", ret);
 | 
							test_msg("btrfs_set_extent_delalloc returned %d\n", ret);
 | 
				
			||||||
		goto out;
 | 
							goto out;
 | 
				
			||||||
| 
						 | 
					@ -1060,7 +1060,7 @@ static int test_extent_accounting(u32 sectorsize, u32 nodesize)
 | 
				
			||||||
	BTRFS_I(inode)->outstanding_extents++;
 | 
						BTRFS_I(inode)->outstanding_extents++;
 | 
				
			||||||
	ret = btrfs_set_extent_delalloc(inode,
 | 
						ret = btrfs_set_extent_delalloc(inode,
 | 
				
			||||||
			BTRFS_MAX_EXTENT_SIZE + sectorsize,
 | 
								BTRFS_MAX_EXTENT_SIZE + sectorsize,
 | 
				
			||||||
			BTRFS_MAX_EXTENT_SIZE + 2 * sectorsize - 1, NULL);
 | 
								BTRFS_MAX_EXTENT_SIZE + 2 * sectorsize - 1, NULL, 0);
 | 
				
			||||||
	if (ret) {
 | 
						if (ret) {
 | 
				
			||||||
		test_msg("btrfs_set_extent_delalloc returned %d\n", ret);
 | 
							test_msg("btrfs_set_extent_delalloc returned %d\n", ret);
 | 
				
			||||||
		goto out;
 | 
							goto out;
 | 
				
			||||||
| 
						 | 
					@ -1097,7 +1097,7 @@ static int test_extent_accounting(u32 sectorsize, u32 nodesize)
 | 
				
			||||||
	BTRFS_I(inode)->outstanding_extents++;
 | 
						BTRFS_I(inode)->outstanding_extents++;
 | 
				
			||||||
	ret = btrfs_set_extent_delalloc(inode,
 | 
						ret = btrfs_set_extent_delalloc(inode,
 | 
				
			||||||
			BTRFS_MAX_EXTENT_SIZE + sectorsize,
 | 
								BTRFS_MAX_EXTENT_SIZE + sectorsize,
 | 
				
			||||||
			BTRFS_MAX_EXTENT_SIZE + 2 * sectorsize - 1, NULL);
 | 
								BTRFS_MAX_EXTENT_SIZE + 2 * sectorsize - 1, NULL, 0);
 | 
				
			||||||
	if (ret) {
 | 
						if (ret) {
 | 
				
			||||||
		test_msg("btrfs_set_extent_delalloc returned %d\n", ret);
 | 
							test_msg("btrfs_set_extent_delalloc returned %d\n", ret);
 | 
				
			||||||
		goto out;
 | 
							goto out;
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
		Reference in a new issue