bcachefs: Fix nocow write path closure bug
With regular waitlists, we need to ensure we always call finish_wait(). With closures, the equivalent is that we need to call closure_sync() before returning with a stack-allocated closure. Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
This commit is contained in:
parent
ac77810cb4
commit
dc6274bcb8
@ -453,13 +453,13 @@ retry:
|
||||
opts.data_replicas,
|
||||
opts.data_replicas,
|
||||
RESERVE_none, 0, &cl, &wp);
|
||||
if (bch2_err_matches(ret, BCH_ERR_operation_blocked)) {
|
||||
if (ret) {
|
||||
bch2_trans_unlock(trans);
|
||||
closure_sync(&cl);
|
||||
goto retry;
|
||||
}
|
||||
if (ret)
|
||||
if (bch2_err_matches(ret, BCH_ERR_operation_blocked))
|
||||
goto retry;
|
||||
return ret;
|
||||
}
|
||||
|
||||
sectors = min(sectors, wp->sectors_free);
|
||||
sectors_allocated = sectors;
|
||||
|
Loading…
Reference in New Issue
Block a user