bcachefs: Revert "Ensure journal doesn't get stuck in nochanges mode"

This patch was originally to work around the journal geting stuck in
nochanges mode - but that was just a hack, we needed to fix the actual
bug. It should be fixed now, so revert it.

Signed-off-by: Kent Overstreet <kent.overstreet@gmail.com>
This commit is contained in:
Kent Overstreet 2022-02-23 06:56:35 -05:00 committed by Kent Overstreet
parent e201f70b11
commit b66b2bc0f6
5 changed files with 3 additions and 10 deletions

View file

@ -431,7 +431,6 @@ static inline int bch2_journal_preres_get_fast(struct journal *j,
ret = 0;
if ((flags & JOURNAL_RES_GET_RESERVED) ||
test_bit(JOURNAL_NOCHANGES, &j->flags) ||
new.reserved + d < new.remaining) {
new.reserved += d;
ret = 1;

View file

@ -1616,7 +1616,7 @@ void bch2_journal_write(struct closure *cl)
w->devs_written = bch2_bkey_devs(bkey_i_to_s_c(&w->key));
if (test_bit(JOURNAL_NOCHANGES, &j->flags))
if (c->opts.nochanges)
goto no_io;
for_each_rw_member(ca, c, i)

View file

@ -34,10 +34,8 @@ unsigned bch2_journal_dev_buckets_available(struct journal *j,
struct journal_device *ja,
enum journal_space_from from)
{
unsigned available = !test_bit(JOURNAL_NOCHANGES, &j->flags)
? ((journal_space_from(ja, from) -
ja->cur_idx - 1 + ja->nr) % ja->nr)
: ja->nr;
unsigned available = (journal_space_from(ja, from) -
ja->cur_idx - 1 + ja->nr) % ja->nr;
/*
* Don't use the last bucket unless writing the new last_seq

View file

@ -151,7 +151,6 @@ enum {
JOURNAL_NEED_WRITE,
JOURNAL_MAY_GET_UNRESERVED,
JOURNAL_MAY_SKIP_FLUSH,
JOURNAL_NOCHANGES,
};
/* Embedded in struct bch_fs */

View file

@ -835,9 +835,6 @@ static struct bch_fs *bch2_fs_alloc(struct bch_sb *sb, struct bch_opts opts)
if (ret)
goto err;
if (c->opts.nochanges)
set_bit(JOURNAL_NOCHANGES, &c->journal.flags);
mi = bch2_sb_get_members(c->disk_sb.sb);
for (i = 0; i < c->sb.nr_devices; i++)
if (bch2_dev_exists(c->disk_sb.sb, mi, i) &&