Commit 103e2127 authored by Kent Overstreet's avatar Kent Overstreet Committed by Kent Overstreet
Browse files

bcachefs: replicas: prep work for stripes

parent 7a920560
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -155,10 +155,10 @@ static int bch2_btree_mark_ptrs_initial(struct bch_fs *c, enum bkey_type type,
	       k.k->version.lo > journal_cur_seq(&c->journal));

	if (test_bit(BCH_FS_REBUILD_REPLICAS, &c->flags) ||
	    fsck_err_on(!bch2_bkey_replicas_marked(c, data_type, k), c,
	    fsck_err_on(!bch2_bkey_replicas_marked(c, type, k), c,
			"superblock not marked as containing replicas (type %u)",
			data_type)) {
		ret = bch2_mark_bkey_replicas(c, data_type, k);
		ret = bch2_mark_bkey_replicas(c, type, k);
		if (ret)
			return ret;
	}
+2 −2
Original line number Diff line number Diff line
@@ -551,7 +551,7 @@ static struct btree_reserve *bch2_btree_reserve_get(struct bch_fs *c,
			goto err_free;
		}

		ret = bch2_mark_bkey_replicas(c, BCH_DATA_BTREE,
		ret = bch2_mark_bkey_replicas(c, BKEY_TYPE_BTREE,
					      bkey_i_to_s_c(&b->key));
		if (ret)
			goto err_free;
@@ -2063,7 +2063,7 @@ int bch2_btree_node_update_key(struct bch_fs *c, struct btree_iter *iter,
			goto err;
	}

	ret = bch2_mark_bkey_replicas(c, BCH_DATA_BTREE,
	ret = bch2_mark_bkey_replicas(c, BKEY_TYPE_BTREE,
				      extent_i_to_s_c(new_key).s_c);
	if (ret)
		goto err_free_update;
+2 −3
Original line number Diff line number Diff line
@@ -648,7 +648,7 @@ void bch2_btree_ptr_debugcheck(struct bch_fs *c, struct btree *b,
			goto err;
	}

	if (!bch2_bkey_replicas_marked(c, BCH_DATA_BTREE, e.s_c)) {
	if (!bch2_bkey_replicas_marked(c, btree_node_type(b), e.s_c)) {
		bch2_bkey_val_to_text(c, btree_node_type(b),
				     buf, sizeof(buf), k);
		bch2_fs_bug(c,
@@ -1681,8 +1681,7 @@ static void bch2_extent_debugcheck_extent(struct bch_fs *c, struct btree *b,
		return;
	}

	if (!bkey_extent_is_cached(e.k) &&
	    !bch2_bkey_replicas_marked(c, BCH_DATA_USER, e.s_c)) {
	if (!bch2_bkey_replicas_marked(c, btree_node_type(b), e.s_c)) {
		bch2_bkey_val_to_text(c, btree_node_type(b),
				     buf, sizeof(buf), e.s_c);
		bch2_fs_bug(c,
+2 −1
Original line number Diff line number Diff line
@@ -337,7 +337,8 @@ static void __bch2_write_index(struct bch_write_op *op)
		}

		if (!(op->flags & BCH_WRITE_NOMARK_REPLICAS)) {
			ret = bch2_mark_bkey_replicas(c, BCH_DATA_USER, e.s_c);
			ret = bch2_mark_bkey_replicas(c, BKEY_TYPE_EXTENTS,
						      e.s_c);
			if (ret)
				goto err;
		}
+3 −3
Original line number Diff line number Diff line
@@ -51,7 +51,7 @@ static int bch2_dev_usrdata_drop(struct bch_fs *c, unsigned dev_idx, int flags)
	       !(ret = btree_iter_err(k))) {
		if (!bkey_extent_is_data(k.k) ||
		    !bch2_extent_has_device(bkey_s_c_to_extent(k), dev_idx)) {
			ret = bch2_mark_bkey_replicas(c, BCH_DATA_USER, k);
			ret = bch2_mark_bkey_replicas(c, BKEY_TYPE_EXTENTS, k);
			if (ret)
				break;
			bch2_btree_iter_next(&iter);
@@ -72,7 +72,7 @@ static int bch2_dev_usrdata_drop(struct bch_fs *c, unsigned dev_idx, int flags)
		 */
		bch2_extent_normalize(c, e.s);

		ret = bch2_mark_bkey_replicas(c, BCH_DATA_USER,
		ret = bch2_mark_bkey_replicas(c, BKEY_TYPE_EXTENTS,
					      bkey_i_to_s_c(&tmp.key));
		if (ret)
			break;
@@ -135,7 +135,7 @@ static int bch2_dev_metadata_drop(struct bch_fs *c, unsigned dev_idx, int flags)
				 */
				bch2_btree_iter_downgrade(&iter);

				ret = bch2_mark_bkey_replicas(c, BCH_DATA_BTREE,
				ret = bch2_mark_bkey_replicas(c, BKEY_TYPE_BTREE,
							      bkey_i_to_s_c(&b->key));
				if (ret)
					goto err;
Loading