Commit d248ee56 authored by Kent Overstreet's avatar Kent Overstreet Committed by Kent Overstreet
Browse files

bcachefs: Add iter_flags arg to bch2_btree_delete_range()



Will be used by the new snapshot tests, to pass in
BTREE_ITER_ALL_SNAPSHOTS.

Signed-off-by: default avatarKent Overstreet <kent.overstreet@gmail.com>
parent 200472e9
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -63,7 +63,7 @@ int bch2_btree_insert(struct bch_fs *, enum btree_id, struct bkey_i *,
int bch2_btree_delete_range_trans(struct btree_trans *, enum btree_id,
				  struct bpos, struct bpos, unsigned, u64 *);
int bch2_btree_delete_range(struct bch_fs *, enum btree_id,
			    struct bpos, struct bpos, u64 *);
			    struct bpos, struct bpos, unsigned, u64 *);

int bch2_btree_node_rewrite(struct btree_trans *, struct btree_iter *,
			    struct btree *, unsigned);
+4 −2
Original line number Diff line number Diff line
@@ -1475,7 +1475,7 @@ int bch2_btree_delete_range_trans(struct btree_trans *trans, enum btree_id id,
		 */
		delete.k.p = iter.pos;

		if (btree_node_type_is_extents(id)) {
		if (iter.flags & BTREE_ITER_IS_EXTENTS) {
			unsigned max_sectors =
				KEY_SIZE_MAX & (~0 << trans->c->block_bits);

@@ -1512,8 +1512,10 @@ int bch2_btree_delete_range_trans(struct btree_trans *trans, enum btree_id id,
 */
int bch2_btree_delete_range(struct bch_fs *c, enum btree_id id,
			    struct bpos start, struct bpos end,
			    unsigned iter_flags,
			    u64 *journal_seq)
{
	return bch2_trans_do(c, NULL, journal_seq, 0,
			     bch2_btree_delete_range_trans(&trans, id, start, end, 0, journal_seq));
			     bch2_btree_delete_range_trans(&trans, id, start, end,
							   iter_flags, journal_seq));
}
+1 −1
Original line number Diff line number Diff line
@@ -677,7 +677,7 @@ static int ec_stripe_delete(struct bch_fs *c, size_t idx)
	return bch2_btree_delete_range(c, BTREE_ID_stripes,
				       POS(0, idx),
				       POS(0, idx + 1),
				       NULL);
				       0, NULL);
}

static void ec_stripe_delete_work(struct work_struct *work)
+3 −3
Original line number Diff line number Diff line
@@ -570,7 +570,7 @@ static int bch2_quota_remove(struct super_block *sb, unsigned uflags)
		ret = bch2_btree_delete_range(c, BTREE_ID_quotas,
					      POS(QTYP_USR, 0),
					      POS(QTYP_USR + 1, 0),
					      NULL);
					      0, NULL);
		if (ret)
			return ret;
	}
@@ -582,7 +582,7 @@ static int bch2_quota_remove(struct super_block *sb, unsigned uflags)
		ret = bch2_btree_delete_range(c, BTREE_ID_quotas,
					      POS(QTYP_GRP, 0),
					      POS(QTYP_GRP + 1, 0),
					      NULL);
					      0, NULL);
		if (ret)
			return ret;
	}
@@ -594,7 +594,7 @@ static int bch2_quota_remove(struct super_block *sb, unsigned uflags)
		ret = bch2_btree_delete_range(c, BTREE_ID_quotas,
					      POS(QTYP_PRJ, 0),
					      POS(QTYP_PRJ + 1, 0),
					      NULL);
					      0, NULL);
		if (ret)
			return ret;
	}
+1 −1
Original line number Diff line number Diff line
@@ -1484,7 +1484,7 @@ static int bch2_dev_remove_alloc(struct bch_fs *c, struct bch_dev *ca)
	return bch2_btree_delete_range(c, BTREE_ID_alloc,
				       POS(ca->dev_idx, 0),
				       POS(ca->dev_idx + 1, 0),
				       NULL);
				       0, NULL);
}

int bch2_dev_remove(struct bch_fs *c, struct bch_dev *ca, int flags)
Loading