diff options
author | Mark Brown <broonie@kernel.org> | 2024-02-19 16:58:41 +0000 |
---|---|---|
committer | Mark Brown <broonie@kernel.org> | 2024-02-19 16:58:41 +0000 |
commit | d68ce3aa8142333a96a071a9a0207f21c04e54cc (patch) | |
tree | 15754707ec571eb08c8d6308fe2459e46b8a5468 /fs/bcachefs/journal_io.c | |
parent | ec29a4d9b7c7329afc61e7932cb91e9b292b2b74 (diff) | |
parent | b401b621758e46812da61fa58a67c3fd8d91de0d (diff) |
regulator: Merge up v6.8-rc5
There are dependencies on the PWM fixes for some new work on the PWM
driver.
Diffstat (limited to 'fs/bcachefs/journal_io.c')
-rw-r--r-- | fs/bcachefs/journal_io.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/fs/bcachefs/journal_io.c b/fs/bcachefs/journal_io.c index 04a1e79a5ed3..47805193f18c 100644 --- a/fs/bcachefs/journal_io.c +++ b/fs/bcachefs/journal_io.c @@ -1478,6 +1478,8 @@ static int journal_write_alloc(struct journal *j, struct journal_buf *w) c->opts.foreground_target; unsigned i, replicas = 0, replicas_want = READ_ONCE(c->opts.metadata_replicas); + unsigned replicas_need = min_t(unsigned, replicas_want, + READ_ONCE(c->opts.metadata_replicas_required)); rcu_read_lock(); retry: @@ -1526,7 +1528,7 @@ done: BUG_ON(bkey_val_u64s(&w->key.k) > BCH_REPLICAS_MAX); - return replicas >= c->opts.metadata_replicas_required ? 0 : -EROFS; + return replicas >= replicas_need ? 0 : -EROFS; } static void journal_buf_realloc(struct journal *j, struct journal_buf *buf) @@ -1988,7 +1990,8 @@ CLOSURE_CALLBACK(bch2_journal_write) percpu_ref_get(&ca->io_ref); bio = ca->journal.bio; - bio_reset(bio, ca->disk_sb.bdev, REQ_OP_FLUSH); + bio_reset(bio, ca->disk_sb.bdev, + REQ_OP_WRITE|REQ_PREFLUSH); bio->bi_end_io = journal_write_endio; bio->bi_private = ca; closure_bio_submit(bio, cl); |