mirror of
https://github.com/torvalds/linux.git
synced 2026-05-25 15:41:52 +02:00
bcachefs: logged ops only use inum 0 of logged ops btree
we wish to use the logged ops btree for other items that aren't strictly logged ops: cursors for inode allocation There's no reason to create another cached btree for inode allocator cursors - so reserve different parts of the keyspace for different purposes. Older versions will ignore or delete the cursors. Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
This commit is contained in:
parent
ad0b2544ec
commit
f78760dede
|
|
@ -63,8 +63,9 @@ static int resume_logged_op(struct btree_trans *trans, struct btree_iter *iter,
|
|||
int bch2_resume_logged_ops(struct bch_fs *c)
|
||||
{
|
||||
int ret = bch2_trans_run(c,
|
||||
for_each_btree_key(trans, iter,
|
||||
BTREE_ID_logged_ops, POS_MIN,
|
||||
for_each_btree_key_max(trans, iter,
|
||||
BTREE_ID_logged_ops,
|
||||
POS(LOGGED_OPS_INUM, 0), POS(LOGGED_OPS_INUM, U64_MAX),
|
||||
BTREE_ITER_prefetch, k,
|
||||
resume_logged_op(trans, &iter, k)));
|
||||
bch_err_fn(c, ret);
|
||||
|
|
@ -74,9 +75,8 @@ int bch2_resume_logged_ops(struct bch_fs *c)
|
|||
static int __bch2_logged_op_start(struct btree_trans *trans, struct bkey_i *k)
|
||||
{
|
||||
struct btree_iter iter;
|
||||
int ret;
|
||||
|
||||
ret = bch2_bkey_get_empty_slot(trans, &iter, BTREE_ID_logged_ops, POS_MAX);
|
||||
int ret = bch2_bkey_get_empty_slot(trans, &iter,
|
||||
BTREE_ID_logged_ops, POS(LOGGED_OPS_INUM, U64_MAX));
|
||||
if (ret)
|
||||
return ret;
|
||||
|
||||
|
|
|
|||
|
|
@ -2,6 +2,8 @@
|
|||
#ifndef _BCACHEFS_LOGGED_OPS_FORMAT_H
|
||||
#define _BCACHEFS_LOGGED_OPS_FORMAT_H
|
||||
|
||||
#define LOGGED_OPS_INUM 0
|
||||
|
||||
struct bch_logged_op_truncate {
|
||||
struct bch_val v;
|
||||
__le32 subvol;
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user