bcache: bugfix - gc thread now gets woken when cache is full
Signed-off-by: Nicholas Swenson <nks@daterainc.com>
This commit is contained in:
parent
3572324af0
commit
e3b4825b85
@ -354,14 +354,14 @@ static void bch_data_insert_start(struct closure *cl)
|
|||||||
struct data_insert_op *op = container_of(cl, struct data_insert_op, cl);
|
struct data_insert_op *op = container_of(cl, struct data_insert_op, cl);
|
||||||
struct bio *bio = op->bio, *n;
|
struct bio *bio = op->bio, *n;
|
||||||
|
|
||||||
if (op->bypass)
|
|
||||||
return bch_data_invalidate(cl);
|
|
||||||
|
|
||||||
if (atomic_sub_return(bio_sectors(bio), &op->c->sectors_to_gc) < 0) {
|
if (atomic_sub_return(bio_sectors(bio), &op->c->sectors_to_gc) < 0) {
|
||||||
set_gc_sectors(op->c);
|
set_gc_sectors(op->c);
|
||||||
wake_up_gc(op->c);
|
wake_up_gc(op->c);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (op->bypass)
|
||||||
|
return bch_data_invalidate(cl);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Journal writes are marked REQ_FLUSH; if the original write was a
|
* Journal writes are marked REQ_FLUSH; if the original write was a
|
||||||
* flush, it'll wait on the journal write.
|
* flush, it'll wait on the journal write.
|
||||||
|
Loading…
Reference in New Issue
Block a user