mirror of
git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2025-08-05 16:54:27 +00:00
bcachefs: snapshots: Use kvfree_rcu_mightsleep()
kvfree_rcu() was renamed - not removed. Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
This commit is contained in:
parent
97ecc23632
commit
d04fdf5c10
1 changed files with 2 additions and 22 deletions
|
@ -143,20 +143,6 @@ bool __bch2_snapshot_is_ancestor(struct bch_fs *c, u32 id, u32 ancestor)
|
|||
return ret;
|
||||
}
|
||||
|
||||
struct snapshot_t_free_rcu {
|
||||
struct rcu_head rcu;
|
||||
struct snapshot_table *t;
|
||||
};
|
||||
|
||||
static void snapshot_t_free_rcu(struct rcu_head *rcu)
|
||||
{
|
||||
struct snapshot_t_free_rcu *free_rcu =
|
||||
container_of(rcu, struct snapshot_t_free_rcu, rcu);
|
||||
|
||||
kvfree(free_rcu->t);
|
||||
kfree(free_rcu);
|
||||
}
|
||||
|
||||
static noinline struct snapshot_t *__snapshot_t_mut(struct bch_fs *c, u32 id)
|
||||
{
|
||||
size_t idx = U32_MAX - id;
|
||||
|
@ -177,13 +163,7 @@ static noinline struct snapshot_t *__snapshot_t_mut(struct bch_fs *c, u32 id)
|
|||
|
||||
rcu_assign_pointer(c->snapshots, new);
|
||||
c->snapshot_table_size = new_size;
|
||||
if (old) {
|
||||
struct snapshot_t_free_rcu *rcu =
|
||||
kmalloc(sizeof(*rcu), GFP_KERNEL|__GFP_NOFAIL);
|
||||
|
||||
rcu->t = old;
|
||||
call_rcu(&rcu->rcu, snapshot_t_free_rcu);
|
||||
}
|
||||
kvfree_rcu_mightsleep(old);
|
||||
|
||||
return &rcu_dereference_protected(c->snapshots, true)->s[idx];
|
||||
}
|
||||
|
@ -1638,7 +1618,7 @@ int bch2_propagate_key_to_snapshot_leaves(struct btree_trans *trans,
|
|||
struct bch_fs *c = trans->c;
|
||||
struct bkey_buf sk;
|
||||
u32 restart_count = trans->restart_count;
|
||||
int ret;
|
||||
int ret = 0;
|
||||
|
||||
bch2_bkey_buf_init(&sk);
|
||||
bch2_bkey_buf_reassemble(&sk, c, k);
|
||||
|
|
Loading…
Add table
Reference in a new issue