mirror of
				https://github.com/torvalds/linux.git
				synced 2025-11-04 02:30:34 +02:00 
			
		
		
		
	btrfs: remove gfp_t flag from btrfs_tree_mod_log_insert_key()
All callers of btrfs_tree_mod_log_insert_key() are now passing a GFP_NOFS flag to it, so remove the flag from it and from alloc_tree_mod_elem() and use it directly within alloc_tree_mod_elem(). Signed-off-by: Filipe Manana <fdmanana@suse.com> Reviewed-by: David Sterba <dsterba@suse.com> Signed-off-by: David Sterba <dsterba@suse.com>
This commit is contained in:
		
							parent
							
								
									879b222198
								
							
						
					
					
						commit
						33cff222fa
					
				
					 3 changed files with 18 additions and 19 deletions
				
			
		| 
						 | 
					@ -489,7 +489,7 @@ static noinline int __btrfs_cow_block(struct btrfs_trans_handle *trans,
 | 
				
			||||||
	} else {
 | 
						} else {
 | 
				
			||||||
		WARN_ON(trans->transid != btrfs_header_generation(parent));
 | 
							WARN_ON(trans->transid != btrfs_header_generation(parent));
 | 
				
			||||||
		btrfs_tree_mod_log_insert_key(parent, parent_slot,
 | 
							btrfs_tree_mod_log_insert_key(parent, parent_slot,
 | 
				
			||||||
					      BTRFS_MOD_LOG_KEY_REPLACE, GFP_NOFS);
 | 
										      BTRFS_MOD_LOG_KEY_REPLACE);
 | 
				
			||||||
		btrfs_set_node_blockptr(parent, parent_slot,
 | 
							btrfs_set_node_blockptr(parent, parent_slot,
 | 
				
			||||||
					cow->start);
 | 
										cow->start);
 | 
				
			||||||
		btrfs_set_node_ptr_generation(parent, parent_slot,
 | 
							btrfs_set_node_ptr_generation(parent, parent_slot,
 | 
				
			||||||
| 
						 | 
					@ -1018,7 +1018,7 @@ static noinline int balance_level(struct btrfs_trans_handle *trans,
 | 
				
			||||||
			struct btrfs_disk_key right_key;
 | 
								struct btrfs_disk_key right_key;
 | 
				
			||||||
			btrfs_node_key(right, &right_key, 0);
 | 
								btrfs_node_key(right, &right_key, 0);
 | 
				
			||||||
			ret = btrfs_tree_mod_log_insert_key(parent, pslot + 1,
 | 
								ret = btrfs_tree_mod_log_insert_key(parent, pslot + 1,
 | 
				
			||||||
					BTRFS_MOD_LOG_KEY_REPLACE, GFP_NOFS);
 | 
										BTRFS_MOD_LOG_KEY_REPLACE);
 | 
				
			||||||
			BUG_ON(ret < 0);
 | 
								BUG_ON(ret < 0);
 | 
				
			||||||
			btrfs_set_node_key(parent, &right_key, pslot + 1);
 | 
								btrfs_set_node_key(parent, &right_key, pslot + 1);
 | 
				
			||||||
			btrfs_mark_buffer_dirty(parent);
 | 
								btrfs_mark_buffer_dirty(parent);
 | 
				
			||||||
| 
						 | 
					@ -1064,7 +1064,7 @@ static noinline int balance_level(struct btrfs_trans_handle *trans,
 | 
				
			||||||
		struct btrfs_disk_key mid_key;
 | 
							struct btrfs_disk_key mid_key;
 | 
				
			||||||
		btrfs_node_key(mid, &mid_key, 0);
 | 
							btrfs_node_key(mid, &mid_key, 0);
 | 
				
			||||||
		ret = btrfs_tree_mod_log_insert_key(parent, pslot,
 | 
							ret = btrfs_tree_mod_log_insert_key(parent, pslot,
 | 
				
			||||||
				BTRFS_MOD_LOG_KEY_REPLACE, GFP_NOFS);
 | 
											    BTRFS_MOD_LOG_KEY_REPLACE);
 | 
				
			||||||
		BUG_ON(ret < 0);
 | 
							BUG_ON(ret < 0);
 | 
				
			||||||
		btrfs_set_node_key(parent, &mid_key, pslot);
 | 
							btrfs_set_node_key(parent, &mid_key, pslot);
 | 
				
			||||||
		btrfs_mark_buffer_dirty(parent);
 | 
							btrfs_mark_buffer_dirty(parent);
 | 
				
			||||||
| 
						 | 
					@ -1166,7 +1166,7 @@ static noinline int push_nodes_for_insert(struct btrfs_trans_handle *trans,
 | 
				
			||||||
			orig_slot += left_nr;
 | 
								orig_slot += left_nr;
 | 
				
			||||||
			btrfs_node_key(mid, &disk_key, 0);
 | 
								btrfs_node_key(mid, &disk_key, 0);
 | 
				
			||||||
			ret = btrfs_tree_mod_log_insert_key(parent, pslot,
 | 
								ret = btrfs_tree_mod_log_insert_key(parent, pslot,
 | 
				
			||||||
					BTRFS_MOD_LOG_KEY_REPLACE, GFP_NOFS);
 | 
										BTRFS_MOD_LOG_KEY_REPLACE);
 | 
				
			||||||
			BUG_ON(ret < 0);
 | 
								BUG_ON(ret < 0);
 | 
				
			||||||
			btrfs_set_node_key(parent, &disk_key, pslot);
 | 
								btrfs_set_node_key(parent, &disk_key, pslot);
 | 
				
			||||||
			btrfs_mark_buffer_dirty(parent);
 | 
								btrfs_mark_buffer_dirty(parent);
 | 
				
			||||||
| 
						 | 
					@ -1220,7 +1220,7 @@ static noinline int push_nodes_for_insert(struct btrfs_trans_handle *trans,
 | 
				
			||||||
 | 
					
 | 
				
			||||||
			btrfs_node_key(right, &disk_key, 0);
 | 
								btrfs_node_key(right, &disk_key, 0);
 | 
				
			||||||
			ret = btrfs_tree_mod_log_insert_key(parent, pslot + 1,
 | 
								ret = btrfs_tree_mod_log_insert_key(parent, pslot + 1,
 | 
				
			||||||
					BTRFS_MOD_LOG_KEY_REPLACE, GFP_NOFS);
 | 
										BTRFS_MOD_LOG_KEY_REPLACE);
 | 
				
			||||||
			BUG_ON(ret < 0);
 | 
								BUG_ON(ret < 0);
 | 
				
			||||||
			btrfs_set_node_key(parent, &disk_key, pslot + 1);
 | 
								btrfs_set_node_key(parent, &disk_key, pslot + 1);
 | 
				
			||||||
			btrfs_mark_buffer_dirty(parent);
 | 
								btrfs_mark_buffer_dirty(parent);
 | 
				
			||||||
| 
						 | 
					@ -2418,7 +2418,7 @@ static void fixup_low_keys(struct btrfs_path *path,
 | 
				
			||||||
			break;
 | 
								break;
 | 
				
			||||||
		t = path->nodes[i];
 | 
							t = path->nodes[i];
 | 
				
			||||||
		ret = btrfs_tree_mod_log_insert_key(t, tslot,
 | 
							ret = btrfs_tree_mod_log_insert_key(t, tslot,
 | 
				
			||||||
				BTRFS_MOD_LOG_KEY_REPLACE, GFP_NOFS);
 | 
											    BTRFS_MOD_LOG_KEY_REPLACE);
 | 
				
			||||||
		BUG_ON(ret < 0);
 | 
							BUG_ON(ret < 0);
 | 
				
			||||||
		btrfs_set_node_key(t, key, tslot);
 | 
							btrfs_set_node_key(t, key, tslot);
 | 
				
			||||||
		btrfs_mark_buffer_dirty(path->nodes[i]);
 | 
							btrfs_mark_buffer_dirty(path->nodes[i]);
 | 
				
			||||||
| 
						 | 
					@ -2779,7 +2779,7 @@ static void insert_ptr(struct btrfs_trans_handle *trans,
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
	if (level) {
 | 
						if (level) {
 | 
				
			||||||
		ret = btrfs_tree_mod_log_insert_key(lower, slot,
 | 
							ret = btrfs_tree_mod_log_insert_key(lower, slot,
 | 
				
			||||||
					    BTRFS_MOD_LOG_KEY_ADD, GFP_NOFS);
 | 
											    BTRFS_MOD_LOG_KEY_ADD);
 | 
				
			||||||
		BUG_ON(ret < 0);
 | 
							BUG_ON(ret < 0);
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
	btrfs_set_node_key(lower, key, slot);
 | 
						btrfs_set_node_key(lower, key, slot);
 | 
				
			||||||
| 
						 | 
					@ -4219,7 +4219,7 @@ static void del_ptr(struct btrfs_root *root, struct btrfs_path *path,
 | 
				
			||||||
			      (nritems - slot - 1));
 | 
								      (nritems - slot - 1));
 | 
				
			||||||
	} else if (level) {
 | 
						} else if (level) {
 | 
				
			||||||
		ret = btrfs_tree_mod_log_insert_key(parent, slot,
 | 
							ret = btrfs_tree_mod_log_insert_key(parent, slot,
 | 
				
			||||||
				BTRFS_MOD_LOG_KEY_REMOVE, GFP_NOFS);
 | 
											    BTRFS_MOD_LOG_KEY_REMOVE);
 | 
				
			||||||
		BUG_ON(ret < 0);
 | 
							BUG_ON(ret < 0);
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -197,12 +197,11 @@ static inline bool tree_mod_need_log(const struct btrfs_fs_info *fs_info,
 | 
				
			||||||
 | 
					
 | 
				
			||||||
static struct tree_mod_elem *alloc_tree_mod_elem(struct extent_buffer *eb,
 | 
					static struct tree_mod_elem *alloc_tree_mod_elem(struct extent_buffer *eb,
 | 
				
			||||||
						 int slot,
 | 
											 int slot,
 | 
				
			||||||
						 enum btrfs_mod_log_op op,
 | 
											 enum btrfs_mod_log_op op)
 | 
				
			||||||
						 gfp_t flags)
 | 
					 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
	struct tree_mod_elem *tm;
 | 
						struct tree_mod_elem *tm;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	tm = kzalloc(sizeof(*tm), flags);
 | 
						tm = kzalloc(sizeof(*tm), GFP_NOFS);
 | 
				
			||||||
	if (!tm)
 | 
						if (!tm)
 | 
				
			||||||
		return NULL;
 | 
							return NULL;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -220,7 +219,7 @@ static struct tree_mod_elem *alloc_tree_mod_elem(struct extent_buffer *eb,
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
int btrfs_tree_mod_log_insert_key(struct extent_buffer *eb, int slot,
 | 
					int btrfs_tree_mod_log_insert_key(struct extent_buffer *eb, int slot,
 | 
				
			||||||
				  enum btrfs_mod_log_op op, gfp_t flags)
 | 
									  enum btrfs_mod_log_op op)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
	struct tree_mod_elem *tm;
 | 
						struct tree_mod_elem *tm;
 | 
				
			||||||
	int ret;
 | 
						int ret;
 | 
				
			||||||
| 
						 | 
					@ -228,7 +227,7 @@ int btrfs_tree_mod_log_insert_key(struct extent_buffer *eb, int slot,
 | 
				
			||||||
	if (!tree_mod_need_log(eb->fs_info, eb))
 | 
						if (!tree_mod_need_log(eb->fs_info, eb))
 | 
				
			||||||
		return 0;
 | 
							return 0;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	tm = alloc_tree_mod_elem(eb, slot, op, flags);
 | 
						tm = alloc_tree_mod_elem(eb, slot, op);
 | 
				
			||||||
	if (!tm)
 | 
						if (!tm)
 | 
				
			||||||
		return -ENOMEM;
 | 
							return -ENOMEM;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -276,7 +275,7 @@ int btrfs_tree_mod_log_insert_move(struct extent_buffer *eb,
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	for (i = 0; i + dst_slot < src_slot && i < nr_items; i++) {
 | 
						for (i = 0; i + dst_slot < src_slot && i < nr_items; i++) {
 | 
				
			||||||
		tm_list[i] = alloc_tree_mod_elem(eb, i + dst_slot,
 | 
							tm_list[i] = alloc_tree_mod_elem(eb, i + dst_slot,
 | 
				
			||||||
				BTRFS_MOD_LOG_KEY_REMOVE_WHILE_MOVING, GFP_NOFS);
 | 
									BTRFS_MOD_LOG_KEY_REMOVE_WHILE_MOVING);
 | 
				
			||||||
		if (!tm_list[i]) {
 | 
							if (!tm_list[i]) {
 | 
				
			||||||
			ret = -ENOMEM;
 | 
								ret = -ENOMEM;
 | 
				
			||||||
			goto free_tms;
 | 
								goto free_tms;
 | 
				
			||||||
| 
						 | 
					@ -364,7 +363,7 @@ int btrfs_tree_mod_log_insert_root(struct extent_buffer *old_root,
 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
		for (i = 0; i < nritems; i++) {
 | 
							for (i = 0; i < nritems; i++) {
 | 
				
			||||||
			tm_list[i] = alloc_tree_mod_elem(old_root, i,
 | 
								tm_list[i] = alloc_tree_mod_elem(old_root, i,
 | 
				
			||||||
			    BTRFS_MOD_LOG_KEY_REMOVE_WHILE_FREEING, GFP_NOFS);
 | 
								    BTRFS_MOD_LOG_KEY_REMOVE_WHILE_FREEING);
 | 
				
			||||||
			if (!tm_list[i]) {
 | 
								if (!tm_list[i]) {
 | 
				
			||||||
				ret = -ENOMEM;
 | 
									ret = -ENOMEM;
 | 
				
			||||||
				goto free_tms;
 | 
									goto free_tms;
 | 
				
			||||||
| 
						 | 
					@ -502,14 +501,14 @@ int btrfs_tree_mod_log_eb_copy(struct extent_buffer *dst,
 | 
				
			||||||
	tm_list_rem = tm_list + nr_items;
 | 
						tm_list_rem = tm_list + nr_items;
 | 
				
			||||||
	for (i = 0; i < nr_items; i++) {
 | 
						for (i = 0; i < nr_items; i++) {
 | 
				
			||||||
		tm_list_rem[i] = alloc_tree_mod_elem(src, i + src_offset,
 | 
							tm_list_rem[i] = alloc_tree_mod_elem(src, i + src_offset,
 | 
				
			||||||
		    BTRFS_MOD_LOG_KEY_REMOVE, GFP_NOFS);
 | 
											     BTRFS_MOD_LOG_KEY_REMOVE);
 | 
				
			||||||
		if (!tm_list_rem[i]) {
 | 
							if (!tm_list_rem[i]) {
 | 
				
			||||||
			ret = -ENOMEM;
 | 
								ret = -ENOMEM;
 | 
				
			||||||
			goto free_tms;
 | 
								goto free_tms;
 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		tm_list_add[i] = alloc_tree_mod_elem(dst, i + dst_offset,
 | 
							tm_list_add[i] = alloc_tree_mod_elem(dst, i + dst_offset,
 | 
				
			||||||
						BTRFS_MOD_LOG_KEY_ADD, GFP_NOFS);
 | 
											     BTRFS_MOD_LOG_KEY_ADD);
 | 
				
			||||||
		if (!tm_list_add[i]) {
 | 
							if (!tm_list_add[i]) {
 | 
				
			||||||
			ret = -ENOMEM;
 | 
								ret = -ENOMEM;
 | 
				
			||||||
			goto free_tms;
 | 
								goto free_tms;
 | 
				
			||||||
| 
						 | 
					@ -564,7 +563,7 @@ int btrfs_tree_mod_log_free_eb(struct extent_buffer *eb)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	for (i = 0; i < nritems; i++) {
 | 
						for (i = 0; i < nritems; i++) {
 | 
				
			||||||
		tm_list[i] = alloc_tree_mod_elem(eb, i,
 | 
							tm_list[i] = alloc_tree_mod_elem(eb, i,
 | 
				
			||||||
		    BTRFS_MOD_LOG_KEY_REMOVE_WHILE_FREEING, GFP_NOFS);
 | 
									    BTRFS_MOD_LOG_KEY_REMOVE_WHILE_FREEING);
 | 
				
			||||||
		if (!tm_list[i]) {
 | 
							if (!tm_list[i]) {
 | 
				
			||||||
			ret = -ENOMEM;
 | 
								ret = -ENOMEM;
 | 
				
			||||||
			goto free_tms;
 | 
								goto free_tms;
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -32,7 +32,7 @@ int btrfs_tree_mod_log_insert_root(struct extent_buffer *old_root,
 | 
				
			||||||
				   struct extent_buffer *new_root,
 | 
									   struct extent_buffer *new_root,
 | 
				
			||||||
				   bool log_removal);
 | 
									   bool log_removal);
 | 
				
			||||||
int btrfs_tree_mod_log_insert_key(struct extent_buffer *eb, int slot,
 | 
					int btrfs_tree_mod_log_insert_key(struct extent_buffer *eb, int slot,
 | 
				
			||||||
				  enum btrfs_mod_log_op op, gfp_t flags);
 | 
									  enum btrfs_mod_log_op op);
 | 
				
			||||||
int btrfs_tree_mod_log_free_eb(struct extent_buffer *eb);
 | 
					int btrfs_tree_mod_log_free_eb(struct extent_buffer *eb);
 | 
				
			||||||
struct extent_buffer *btrfs_tree_mod_log_rewind(struct btrfs_fs_info *fs_info,
 | 
					struct extent_buffer *btrfs_tree_mod_log_rewind(struct btrfs_fs_info *fs_info,
 | 
				
			||||||
						struct btrfs_path *path,
 | 
											struct btrfs_path *path,
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
		Reference in a new issue