[linux-next:master 1215/1493] fs/bcachefs/data_update.c:321:1: warning: the frame size of 1072 bytes is larger than 1024 bytes

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



tree:   https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git master
head:   bc962b35b139dd52319e6fc0f4bab00593bf38c9
commit: 701ff57eb3d7c86c9a53de959e0c48fa8ca446d4 [1215/1493] bcachefs: Check for nonce offset inconsistency in data_update path
config: i386-buildonly-randconfig-004-20231115 (https://download.01.org/0day-ci/archive/20231115/202311152125.a3QaKtRw-lkp@xxxxxxxxx/config)
compiler: gcc-9 (Debian 9.3.0-22) 9.3.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20231115/202311152125.a3QaKtRw-lkp@xxxxxxxxx/reproduce)

If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@xxxxxxxxx>
| Closes: https://lore.kernel.org/oe-kbuild-all/202311152125.a3QaKtRw-lkp@xxxxxxxxx/

All warnings (new ones prefixed by >>):

   In file included from fs/bcachefs/data_update.c:10:
   fs/bcachefs/error.h: In function 'bch2_bkey_fsck_err':
   fs/bcachefs/error.h:168:2: warning: function 'bch2_bkey_fsck_err' might be a candidate for 'gnu_printf' format attribute [-Wsuggest-attribute=format]
     168 |  prt_vprintf(err_msg, fmt, args);
         |  ^~~~~~~~~~~
   fs/bcachefs/data_update.c: In function '__bch2_data_update_index_update':
>> fs/bcachefs/data_update.c:321:1: warning: the frame size of 1072 bytes is larger than 1024 bytes [-Wframe-larger-than=]
     321 | }
         | ^


vim +321 fs/bcachefs/data_update.c

bb6c4b92fd8566 Kent Overstreet 2023-03-10   90  
4dcd1cae72912a Kent Overstreet 2022-11-14   91  static int __bch2_data_update_index_update(struct btree_trans *trans,
4dcd1cae72912a Kent Overstreet 2022-11-14   92  					   struct bch_write_op *op)
c501fef6deb1de Kent Overstreet 2022-06-13   93  {
c501fef6deb1de Kent Overstreet 2022-06-13   94  	struct bch_fs *c = op->c;
c501fef6deb1de Kent Overstreet 2022-06-13   95  	struct btree_iter iter;
c501fef6deb1de Kent Overstreet 2022-06-13   96  	struct data_update *m =
c501fef6deb1de Kent Overstreet 2022-06-13   97  		container_of(op, struct data_update, op);
c501fef6deb1de Kent Overstreet 2022-06-13   98  	struct keylist *keys = &op->insert_keys;
c501fef6deb1de Kent Overstreet 2022-06-13   99  	struct bkey_buf _new, _insert;
c501fef6deb1de Kent Overstreet 2022-06-13  100  	int ret = 0;
c501fef6deb1de Kent Overstreet 2022-06-13  101  
c501fef6deb1de Kent Overstreet 2022-06-13  102  	bch2_bkey_buf_init(&_new);
c501fef6deb1de Kent Overstreet 2022-06-13  103  	bch2_bkey_buf_init(&_insert);
c501fef6deb1de Kent Overstreet 2022-06-13  104  	bch2_bkey_buf_realloc(&_insert, c, U8_MAX);
c501fef6deb1de Kent Overstreet 2022-06-13  105  
4dcd1cae72912a Kent Overstreet 2022-11-14  106  	bch2_trans_iter_init(trans, &iter, m->btree_id,
c501fef6deb1de Kent Overstreet 2022-06-13  107  			     bkey_start_pos(&bch2_keylist_front(keys)->k),
c501fef6deb1de Kent Overstreet 2022-06-13  108  			     BTREE_ITER_SLOTS|BTREE_ITER_INTENT);
c501fef6deb1de Kent Overstreet 2022-06-13  109  
c501fef6deb1de Kent Overstreet 2022-06-13  110  	while (1) {
c501fef6deb1de Kent Overstreet 2022-06-13  111  		struct bkey_s_c k;
7f5c5d20f01483 Kent Overstreet 2022-06-13  112  		struct bkey_s_c old = bkey_i_to_s_c(m->k.k);
57c723de7d4c59 Kent Overstreet 2023-03-04  113  		struct bkey_i *insert = NULL;
c501fef6deb1de Kent Overstreet 2022-06-13  114  		struct bkey_i_extent *new;
57c723de7d4c59 Kent Overstreet 2023-03-04  115  		const union bch_extent_entry *entry_c;
57c723de7d4c59 Kent Overstreet 2023-03-04  116  		union bch_extent_entry *entry;
c501fef6deb1de Kent Overstreet 2022-06-13  117  		struct extent_ptr_decoded p;
57c723de7d4c59 Kent Overstreet 2023-03-04  118  		struct bch_extent_ptr *ptr;
57c723de7d4c59 Kent Overstreet 2023-03-04  119  		const struct bch_extent_ptr *ptr_c;
c501fef6deb1de Kent Overstreet 2022-06-13  120  		struct bpos next_pos;
b08b492ed3068b Kent Overstreet 2021-11-08  121  		bool should_check_enospc;
c501fef6deb1de Kent Overstreet 2022-06-13  122  		s64 i_sectors_delta = 0, disk_sectors_delta = 0;
57c723de7d4c59 Kent Overstreet 2023-03-04  123  		unsigned rewrites_found = 0, durability, i;
c501fef6deb1de Kent Overstreet 2022-06-13  124  
4dcd1cae72912a Kent Overstreet 2022-11-14  125  		bch2_trans_begin(trans);
c501fef6deb1de Kent Overstreet 2022-06-13  126  
c501fef6deb1de Kent Overstreet 2022-06-13  127  		k = bch2_btree_iter_peek_slot(&iter);
c501fef6deb1de Kent Overstreet 2022-06-13  128  		ret = bkey_err(k);
c501fef6deb1de Kent Overstreet 2022-06-13  129  		if (ret)
c501fef6deb1de Kent Overstreet 2022-06-13  130  			goto err;
c501fef6deb1de Kent Overstreet 2022-06-13  131  
c501fef6deb1de Kent Overstreet 2022-06-13  132  		new = bkey_i_to_extent(bch2_keylist_front(keys));
c501fef6deb1de Kent Overstreet 2022-06-13  133  
bb6c4b92fd8566 Kent Overstreet 2023-03-10  134  		if (!bch2_extents_match(k, old)) {
bb6c4b92fd8566 Kent Overstreet 2023-03-10  135  			trace_move_extent_fail2(m, k, bkey_i_to_s_c(&new->k_i),
bb6c4b92fd8566 Kent Overstreet 2023-03-10  136  						NULL, "no match:");
57c723de7d4c59 Kent Overstreet 2023-03-04  137  			goto nowork;
bb6c4b92fd8566 Kent Overstreet 2023-03-10  138  		}
c501fef6deb1de Kent Overstreet 2022-06-13  139  
c501fef6deb1de Kent Overstreet 2022-06-13  140  		bkey_reassemble(_insert.k, k);
c501fef6deb1de Kent Overstreet 2022-06-13  141  		insert = _insert.k;
c501fef6deb1de Kent Overstreet 2022-06-13  142  
c501fef6deb1de Kent Overstreet 2022-06-13  143  		bch2_bkey_buf_copy(&_new, c, bch2_keylist_front(keys));
c501fef6deb1de Kent Overstreet 2022-06-13  144  		new = bkey_i_to_extent(_new.k);
c501fef6deb1de Kent Overstreet 2022-06-13  145  		bch2_cut_front(iter.pos, &new->k_i);
c501fef6deb1de Kent Overstreet 2022-06-13  146  
c501fef6deb1de Kent Overstreet 2022-06-13  147  		bch2_cut_front(iter.pos,	insert);
c501fef6deb1de Kent Overstreet 2022-06-13  148  		bch2_cut_back(new->k.p,		insert);
c501fef6deb1de Kent Overstreet 2022-06-13  149  		bch2_cut_back(insert->k.p,	&new->k_i);
c501fef6deb1de Kent Overstreet 2022-06-13  150  
7f5c5d20f01483 Kent Overstreet 2022-06-13  151  		/*
7f5c5d20f01483 Kent Overstreet 2022-06-13  152  		 * @old: extent that we read from
7f5c5d20f01483 Kent Overstreet 2022-06-13  153  		 * @insert: key that we're going to update, initialized from
7f5c5d20f01483 Kent Overstreet 2022-06-13  154  		 * extent currently in btree - same as @old unless we raced with
7f5c5d20f01483 Kent Overstreet 2022-06-13  155  		 * other updates
7f5c5d20f01483 Kent Overstreet 2022-06-13  156  		 * @new: extent with new pointers that we'll be adding to @insert
7f5c5d20f01483 Kent Overstreet 2022-06-13  157  		 *
7f5c5d20f01483 Kent Overstreet 2022-06-13  158  		 * Fist, drop rewrite_ptrs from @new:
7f5c5d20f01483 Kent Overstreet 2022-06-13  159  		 */
7f5c5d20f01483 Kent Overstreet 2022-06-13  160  		i = 0;
57c723de7d4c59 Kent Overstreet 2023-03-04  161  		bkey_for_each_ptr_decode(old.k, bch2_bkey_ptrs_c(old), p, entry_c) {
7f5c5d20f01483 Kent Overstreet 2022-06-13  162  			if (((1U << i) & m->data_opts.rewrite_ptrs) &&
57c723de7d4c59 Kent Overstreet 2023-03-04  163  			    (ptr = bch2_extent_has_ptr(old, p, bkey_i_to_s(insert))) &&
57c723de7d4c59 Kent Overstreet 2023-03-04  164  			    !ptr->cached) {
57c723de7d4c59 Kent Overstreet 2023-03-04  165  				bch2_extent_ptr_set_cached(bkey_i_to_s(insert), ptr);
57c723de7d4c59 Kent Overstreet 2023-03-04  166  				rewrites_found |= 1U << i;
7f5c5d20f01483 Kent Overstreet 2022-06-13  167  			}
7f5c5d20f01483 Kent Overstreet 2022-06-13  168  			i++;
c501fef6deb1de Kent Overstreet 2022-06-13  169  		}
c501fef6deb1de Kent Overstreet 2022-06-13  170  
57c723de7d4c59 Kent Overstreet 2023-03-04  171  		if (m->data_opts.rewrite_ptrs &&
57c723de7d4c59 Kent Overstreet 2023-03-04  172  		    !rewrites_found &&
bb6c4b92fd8566 Kent Overstreet 2023-03-10  173  		    bch2_bkey_durability(c, k) >= m->op.opts.data_replicas) {
bb6c4b92fd8566 Kent Overstreet 2023-03-10  174  			trace_move_extent_fail2(m, k, bkey_i_to_s_c(&new->k_i), insert, "no rewrites found:");
57c723de7d4c59 Kent Overstreet 2023-03-04  175  			goto nowork;
bb6c4b92fd8566 Kent Overstreet 2023-03-10  176  		}
7f5c5d20f01483 Kent Overstreet 2022-06-13  177  
d7dd3fb84f05a0 Kent Overstreet 2023-01-07  178  		/*
57c723de7d4c59 Kent Overstreet 2023-03-04  179  		 * A replica that we just wrote might conflict with a replica
57c723de7d4c59 Kent Overstreet 2023-03-04  180  		 * that we want to keep, due to racing with another move:
d7dd3fb84f05a0 Kent Overstreet 2023-01-07  181  		 */
57c723de7d4c59 Kent Overstreet 2023-03-04  182  restart_drop_conflicting_replicas:
57c723de7d4c59 Kent Overstreet 2023-03-04  183  		extent_for_each_ptr(extent_i_to_s(new), ptr)
57c723de7d4c59 Kent Overstreet 2023-03-04  184  			if ((ptr_c = bch2_bkey_has_device_c(bkey_i_to_s_c(insert), ptr->dev)) &&
57c723de7d4c59 Kent Overstreet 2023-03-04  185  			    !ptr_c->cached) {
57c723de7d4c59 Kent Overstreet 2023-03-04  186  				bch2_bkey_drop_ptr_noerror(bkey_i_to_s(&new->k_i), ptr);
57c723de7d4c59 Kent Overstreet 2023-03-04  187  				goto restart_drop_conflicting_replicas;
c501fef6deb1de Kent Overstreet 2022-06-13  188  			}
c501fef6deb1de Kent Overstreet 2022-06-13  189  
bb6c4b92fd8566 Kent Overstreet 2023-03-10  190  		if (!bkey_val_u64s(&new->k)) {
bb6c4b92fd8566 Kent Overstreet 2023-03-10  191  			trace_move_extent_fail2(m, k, bkey_i_to_s_c(&new->k_i), insert, "new replicas conflicted:");
57c723de7d4c59 Kent Overstreet 2023-03-04  192  			goto nowork;
bb6c4b92fd8566 Kent Overstreet 2023-03-10  193  		}
57c723de7d4c59 Kent Overstreet 2023-03-04  194  
57c723de7d4c59 Kent Overstreet 2023-03-04  195  		/* Now, drop pointers that conflict with what we just wrote: */
57c723de7d4c59 Kent Overstreet 2023-03-04  196  		extent_for_each_ptr_decode(extent_i_to_s(new), p, entry)
57c723de7d4c59 Kent Overstreet 2023-03-04  197  			if ((ptr = bch2_bkey_has_device(bkey_i_to_s(insert), p.ptr.dev)))
57c723de7d4c59 Kent Overstreet 2023-03-04  198  				bch2_bkey_drop_ptr_noerror(bkey_i_to_s(insert), ptr);
57c723de7d4c59 Kent Overstreet 2023-03-04  199  
57c723de7d4c59 Kent Overstreet 2023-03-04  200  		durability = bch2_bkey_durability(c, bkey_i_to_s_c(insert)) +
57c723de7d4c59 Kent Overstreet 2023-03-04  201  			bch2_bkey_durability(c, bkey_i_to_s_c(&new->k_i));
57c723de7d4c59 Kent Overstreet 2023-03-04  202  
57c723de7d4c59 Kent Overstreet 2023-03-04  203  		/* Now, drop excess replicas: */
57c723de7d4c59 Kent Overstreet 2023-03-04  204  restart_drop_extra_replicas:
57c723de7d4c59 Kent Overstreet 2023-03-04  205  		bkey_for_each_ptr_decode(old.k, bch2_bkey_ptrs(bkey_i_to_s(insert)), p, entry) {
57c723de7d4c59 Kent Overstreet 2023-03-04  206  			unsigned ptr_durability = bch2_extent_ptr_durability(c, &p);
57c723de7d4c59 Kent Overstreet 2023-03-04  207  
57c723de7d4c59 Kent Overstreet 2023-03-04  208  			if (!p.ptr.cached &&
57c723de7d4c59 Kent Overstreet 2023-03-04  209  			    durability - ptr_durability >= m->op.opts.data_replicas) {
57c723de7d4c59 Kent Overstreet 2023-03-04  210  				durability -= ptr_durability;
be9e782df3cb55 Kent Overstreet 2023-10-27  211  
57c723de7d4c59 Kent Overstreet 2023-03-04  212  				bch2_extent_ptr_set_cached(bkey_i_to_s(insert), &entry->ptr);
57c723de7d4c59 Kent Overstreet 2023-03-04  213  				goto restart_drop_extra_replicas;
57c723de7d4c59 Kent Overstreet 2023-03-04  214  			}
c501fef6deb1de Kent Overstreet 2022-06-13  215  		}
c501fef6deb1de Kent Overstreet 2022-06-13  216  
57c723de7d4c59 Kent Overstreet 2023-03-04  217  		/* Finally, add the pointers we just wrote: */
57c723de7d4c59 Kent Overstreet 2023-03-04  218  		extent_for_each_ptr_decode(extent_i_to_s(new), p, entry)
57c723de7d4c59 Kent Overstreet 2023-03-04  219  			bch2_extent_ptr_decoded_append(insert, &p);
c501fef6deb1de Kent Overstreet 2022-06-13  220  
7f5c5d20f01483 Kent Overstreet 2022-06-13  221  		bch2_bkey_narrow_crcs(insert, (struct bch_extent_crc_unpacked) { 0 });
c501fef6deb1de Kent Overstreet 2022-06-13  222  		bch2_extent_normalize(c, bkey_i_to_s(insert));
c501fef6deb1de Kent Overstreet 2022-06-13  223  
4dcd1cae72912a Kent Overstreet 2022-11-14  224  		ret = bch2_sum_sector_overwrites(trans, &iter, insert,
c501fef6deb1de Kent Overstreet 2022-06-13  225  						 &should_check_enospc,
c501fef6deb1de Kent Overstreet 2022-06-13  226  						 &i_sectors_delta,
c501fef6deb1de Kent Overstreet 2022-06-13  227  						 &disk_sectors_delta);
c501fef6deb1de Kent Overstreet 2022-06-13  228  		if (ret)
c501fef6deb1de Kent Overstreet 2022-06-13  229  			goto err;
c501fef6deb1de Kent Overstreet 2022-06-13  230  
c501fef6deb1de Kent Overstreet 2022-06-13  231  		if (disk_sectors_delta > (s64) op->res.sectors) {
c501fef6deb1de Kent Overstreet 2022-06-13  232  			ret = bch2_disk_reservation_add(c, &op->res,
c501fef6deb1de Kent Overstreet 2022-06-13  233  						disk_sectors_delta - op->res.sectors,
c501fef6deb1de Kent Overstreet 2022-06-13  234  						!should_check_enospc
c501fef6deb1de Kent Overstreet 2022-06-13  235  						? BCH_DISK_RESERVATION_NOFAIL : 0);
c501fef6deb1de Kent Overstreet 2022-06-13  236  			if (ret)
c501fef6deb1de Kent Overstreet 2022-06-13  237  				goto out;
c501fef6deb1de Kent Overstreet 2022-06-13  238  		}
c501fef6deb1de Kent Overstreet 2022-06-13  239  
c501fef6deb1de Kent Overstreet 2022-06-13  240  		next_pos = insert->k.p;
c501fef6deb1de Kent Overstreet 2022-06-13  241  
701ff57eb3d7c8 Kent Overstreet 2023-11-03  242  		/*
701ff57eb3d7c8 Kent Overstreet 2023-11-03  243  		 * Check for nonce offset inconsistency:
701ff57eb3d7c8 Kent Overstreet 2023-11-03  244  		 * This is debug code - we've been seeing this bug rarely, and
701ff57eb3d7c8 Kent Overstreet 2023-11-03  245  		 * it's been hard to reproduce, so this should give us some more
701ff57eb3d7c8 Kent Overstreet 2023-11-03  246  		 * information when it does occur:
701ff57eb3d7c8 Kent Overstreet 2023-11-03  247  		 */
701ff57eb3d7c8 Kent Overstreet 2023-11-03  248  		struct printbuf err = PRINTBUF;
701ff57eb3d7c8 Kent Overstreet 2023-11-03  249  		int invalid = bch2_bkey_invalid(c, bkey_i_to_s_c(insert), __btree_node_type(0, m->btree_id), 0, &err);
701ff57eb3d7c8 Kent Overstreet 2023-11-03  250  		printbuf_exit(&err);
701ff57eb3d7c8 Kent Overstreet 2023-11-03  251  
701ff57eb3d7c8 Kent Overstreet 2023-11-03  252  		if (invalid) {
701ff57eb3d7c8 Kent Overstreet 2023-11-03  253  			struct printbuf buf = PRINTBUF;
701ff57eb3d7c8 Kent Overstreet 2023-11-03  254  
701ff57eb3d7c8 Kent Overstreet 2023-11-03  255  			prt_str(&buf, "about to insert invalid key in data update path");
701ff57eb3d7c8 Kent Overstreet 2023-11-03  256  			prt_str(&buf, "\nold: ");
701ff57eb3d7c8 Kent Overstreet 2023-11-03  257  			bch2_bkey_val_to_text(&buf, c, old);
701ff57eb3d7c8 Kent Overstreet 2023-11-03  258  			prt_str(&buf, "\nk:   ");
701ff57eb3d7c8 Kent Overstreet 2023-11-03  259  			bch2_bkey_val_to_text(&buf, c, k);
701ff57eb3d7c8 Kent Overstreet 2023-11-03  260  			prt_str(&buf, "\nnew: ");
701ff57eb3d7c8 Kent Overstreet 2023-11-03  261  			bch2_bkey_val_to_text(&buf, c, bkey_i_to_s_c(insert));
701ff57eb3d7c8 Kent Overstreet 2023-11-03  262  
701ff57eb3d7c8 Kent Overstreet 2023-11-03  263  			bch2_print_string_as_lines(KERN_ERR, buf.buf);
701ff57eb3d7c8 Kent Overstreet 2023-11-03  264  			printbuf_exit(&buf);
701ff57eb3d7c8 Kent Overstreet 2023-11-03  265  
701ff57eb3d7c8 Kent Overstreet 2023-11-03  266  			bch2_fatal_error(c);
701ff57eb3d7c8 Kent Overstreet 2023-11-03  267  			goto out;
701ff57eb3d7c8 Kent Overstreet 2023-11-03  268  		}
701ff57eb3d7c8 Kent Overstreet 2023-11-03  269  
ad520141b15578 Kent Overstreet 2023-05-27  270  		ret =   bch2_insert_snapshot_whiteouts(trans, m->btree_id,
ad520141b15578 Kent Overstreet 2023-05-27  271  						k.k->p, bkey_start_pos(&insert->k)) ?:
ad520141b15578 Kent Overstreet 2023-05-27  272  			bch2_insert_snapshot_whiteouts(trans, m->btree_id,
fb3f57bb1177ae Kent Overstreet 2023-10-20  273  						k.k->p, insert->k.p) ?:
fb3f57bb1177ae Kent Overstreet 2023-10-20  274  			bch2_bkey_set_needs_rebalance(c, insert,
fb3f57bb1177ae Kent Overstreet 2023-10-20  275  						      op->opts.background_target,
fb3f57bb1177ae Kent Overstreet 2023-10-20  276  						      op->opts.background_compression) ?:
fb3f57bb1177ae Kent Overstreet 2023-10-20  277  			bch2_trans_update(trans, &iter, insert,
c501fef6deb1de Kent Overstreet 2022-06-13  278  				BTREE_UPDATE_INTERNAL_SNAPSHOT_NODE) ?:
4dcd1cae72912a Kent Overstreet 2022-11-14  279  			bch2_trans_commit(trans, &op->res,
a1ee777bfcceeb Kent Overstreet 2022-11-03  280  				NULL,
b40901b0f71825 Kent Overstreet 2023-03-13  281  				BTREE_INSERT_NOCHECK_RW|
c501fef6deb1de Kent Overstreet 2022-06-13  282  				BTREE_INSERT_NOFAIL|
c501fef6deb1de Kent Overstreet 2022-06-13  283  				m->data_opts.btree_insert_flags);
c501fef6deb1de Kent Overstreet 2022-06-13  284  		if (!ret) {
c501fef6deb1de Kent Overstreet 2022-06-13  285  			bch2_btree_iter_set_pos(&iter, next_pos);
674cfc26240b78 Kent Overstreet 2022-08-27  286  
674cfc26240b78 Kent Overstreet 2022-08-27  287  			this_cpu_add(c->counters[BCH_COUNTER_move_extent_finish], new->k.size);
5a21764db13877 Kent Overstreet 2023-04-20  288  			trace_move_extent_finish2(c, bkey_i_to_s_c(&new->k_i));
c501fef6deb1de Kent Overstreet 2022-06-13  289  		}
c501fef6deb1de Kent Overstreet 2022-06-13  290  err:
549d173c1bd9b5 Kent Overstreet 2022-07-17  291  		if (bch2_err_matches(ret, BCH_ERR_transaction_restart))
c501fef6deb1de Kent Overstreet 2022-06-13  292  			ret = 0;
c501fef6deb1de Kent Overstreet 2022-06-13  293  		if (ret)
c501fef6deb1de Kent Overstreet 2022-06-13  294  			break;
c501fef6deb1de Kent Overstreet 2022-06-13  295  next:
e88a75ebe86c1d Kent Overstreet 2022-11-24  296  		while (bkey_ge(iter.pos, bch2_keylist_front(keys)->k.p)) {
c501fef6deb1de Kent Overstreet 2022-06-13  297  			bch2_keylist_pop_front(keys);
c501fef6deb1de Kent Overstreet 2022-06-13  298  			if (bch2_keylist_empty(keys))
c501fef6deb1de Kent Overstreet 2022-06-13  299  				goto out;
c501fef6deb1de Kent Overstreet 2022-06-13  300  		}
c501fef6deb1de Kent Overstreet 2022-06-13  301  		continue;
57c723de7d4c59 Kent Overstreet 2023-03-04  302  nowork:
d5eade93452bd1 Kent Overstreet 2023-10-23  303  		if (m->stats && m->stats) {
c501fef6deb1de Kent Overstreet 2022-06-13  304  			BUG_ON(k.k->p.offset <= iter.pos.offset);
d5eade93452bd1 Kent Overstreet 2023-10-23  305  			atomic64_inc(&m->stats->keys_raced);
c501fef6deb1de Kent Overstreet 2022-06-13  306  			atomic64_add(k.k->p.offset - iter.pos.offset,
d5eade93452bd1 Kent Overstreet 2023-10-23  307  				     &m->stats->sectors_raced);
c501fef6deb1de Kent Overstreet 2022-06-13  308  		}
674cfc26240b78 Kent Overstreet 2022-08-27  309  
c26463ce9940d1 Kent Overstreet 2023-05-26  310  		this_cpu_inc(c->counters[BCH_COUNTER_move_extent_fail]);
674cfc26240b78 Kent Overstreet 2022-08-27  311  
c501fef6deb1de Kent Overstreet 2022-06-13  312  		bch2_btree_iter_advance(&iter);
c501fef6deb1de Kent Overstreet 2022-06-13  313  		goto next;
c501fef6deb1de Kent Overstreet 2022-06-13  314  	}
c501fef6deb1de Kent Overstreet 2022-06-13  315  out:
4dcd1cae72912a Kent Overstreet 2022-11-14  316  	bch2_trans_iter_exit(trans, &iter);
c501fef6deb1de Kent Overstreet 2022-06-13  317  	bch2_bkey_buf_exit(&_insert, c);
c501fef6deb1de Kent Overstreet 2022-06-13  318  	bch2_bkey_buf_exit(&_new, c);
549d173c1bd9b5 Kent Overstreet 2022-07-17  319  	BUG_ON(bch2_err_matches(ret, BCH_ERR_transaction_restart));
c501fef6deb1de Kent Overstreet 2022-06-13  320  	return ret;
c501fef6deb1de Kent Overstreet 2022-06-13 @321  }
c501fef6deb1de Kent Overstreet 2022-06-13  322  

:::::: The code at line 321 was first introduced by commit
:::::: c501fef6deb1de13d45d22a3df32906adf17275b bcachefs: Pull out data_update.c

:::::: TO: Kent Overstreet <kent.overstreet@xxxxxxxxx>
:::::: CC: Kent Overstreet <kent.overstreet@xxxxxxxxx>

-- 
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki




[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Bugtraq]     [Linux OMAP]     [Linux MIPS]     [eCos]     [Asterisk Internet PBX]     [Linux API]

  Powered by Linux