bcachefs: bch2_gc() is now private to btree_gc.c
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
This commit is contained in:
parent
665e8b3239
commit
68e142405c
@ -1756,7 +1756,7 @@ static void bch2_gc_stripes_reset(struct bch_fs *c, bool metadata_only)
|
|||||||
* move around - if references move backwards in the ordering GC
|
* move around - if references move backwards in the ordering GC
|
||||||
* uses, GC could skip past them
|
* uses, GC could skip past them
|
||||||
*/
|
*/
|
||||||
int bch2_gc(struct bch_fs *c, bool initial, bool metadata_only)
|
static int bch2_gc(struct bch_fs *c, bool initial, bool metadata_only)
|
||||||
{
|
{
|
||||||
unsigned iter = 0;
|
unsigned iter = 0;
|
||||||
int ret;
|
int ret;
|
||||||
@ -1843,6 +1843,11 @@ out:
|
|||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
int bch2_check_allocations(struct bch_fs *c)
|
||||||
|
{
|
||||||
|
return bch2_gc(c, true, false);
|
||||||
|
}
|
||||||
|
|
||||||
static int gc_btree_gens_key(struct btree_trans *trans,
|
static int gc_btree_gens_key(struct btree_trans *trans,
|
||||||
struct btree_iter *iter,
|
struct btree_iter *iter,
|
||||||
struct bkey_s_c k)
|
struct bkey_s_c k)
|
||||||
@ -2024,14 +2029,7 @@ static int bch2_gc_thread(void *arg)
|
|||||||
last = atomic64_read(&clock->now);
|
last = atomic64_read(&clock->now);
|
||||||
last_kick = atomic_read(&c->kick_gc);
|
last_kick = atomic_read(&c->kick_gc);
|
||||||
|
|
||||||
/*
|
|
||||||
* Full gc is currently incompatible with btree key cache:
|
|
||||||
*/
|
|
||||||
#if 0
|
|
||||||
ret = bch2_gc(c, false, false);
|
|
||||||
#else
|
|
||||||
bch2_gc_gens(c);
|
bch2_gc_gens(c);
|
||||||
#endif
|
|
||||||
debug_check_no_locks_held();
|
debug_check_no_locks_held();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -6,7 +6,7 @@
|
|||||||
#include "btree_types.h"
|
#include "btree_types.h"
|
||||||
|
|
||||||
int bch2_check_topology(struct bch_fs *);
|
int bch2_check_topology(struct bch_fs *);
|
||||||
int bch2_gc(struct bch_fs *, bool, bool);
|
int bch2_check_allocations(struct bch_fs *);
|
||||||
int bch2_gc_gens(struct bch_fs *);
|
int bch2_gc_gens(struct bch_fs *);
|
||||||
void bch2_gc_thread_stop(struct bch_fs *);
|
void bch2_gc_thread_stop(struct bch_fs *);
|
||||||
int bch2_gc_thread_start(struct bch_fs *);
|
int bch2_gc_thread_start(struct bch_fs *);
|
||||||
|
@ -26,11 +26,6 @@ const char * const bch2_recovery_passes[] = {
|
|||||||
NULL
|
NULL
|
||||||
};
|
};
|
||||||
|
|
||||||
static int bch2_check_allocations(struct bch_fs *c)
|
|
||||||
{
|
|
||||||
return bch2_gc(c, true, false);
|
|
||||||
}
|
|
||||||
|
|
||||||
static int bch2_set_may_go_rw(struct bch_fs *c)
|
static int bch2_set_may_go_rw(struct bch_fs *c)
|
||||||
{
|
{
|
||||||
struct journal_keys *keys = &c->journal_keys;
|
struct journal_keys *keys = &c->journal_keys;
|
||||||
|
@ -501,18 +501,8 @@ STORE(bch2_fs)
|
|||||||
if (attr == &sysfs_btree_wakeup)
|
if (attr == &sysfs_btree_wakeup)
|
||||||
bch2_btree_wakeup_all(c);
|
bch2_btree_wakeup_all(c);
|
||||||
|
|
||||||
if (attr == &sysfs_trigger_gc) {
|
if (attr == &sysfs_trigger_gc)
|
||||||
/*
|
|
||||||
* Full gc is currently incompatible with btree key cache:
|
|
||||||
*/
|
|
||||||
#if 0
|
|
||||||
down_read(&c->state_lock);
|
|
||||||
bch2_gc(c, false, false);
|
|
||||||
up_read(&c->state_lock);
|
|
||||||
#else
|
|
||||||
bch2_gc_gens(c);
|
bch2_gc_gens(c);
|
||||||
#endif
|
|
||||||
}
|
|
||||||
|
|
||||||
if (attr == &sysfs_trigger_discards)
|
if (attr == &sysfs_trigger_discards)
|
||||||
bch2_do_discards(c);
|
bch2_do_discards(c);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user