Commit f548db4d authored by Kent Overstreet's avatar Kent Overstreet
Browse files

bcachefs: Silence errors after emergency shutdown



We don't care about errors from asynchronous ops that were because we
did an emergency shutdown; silence them.

Signed-off-by: default avatarKent Overstreet <kent.overstreet@linux.dev>
parent 458e2ef8
Loading
Loading
Loading
Loading
+5 −2
Original line number Diff line number Diff line
@@ -1268,7 +1268,8 @@ bch2_btree_update_start(struct btree_trans *trans, struct btree_path *path,
	bch2_btree_update_free(as, trans);
	if (!bch2_err_matches(ret, ENOSPC) &&
	    !bch2_err_matches(ret, EROFS) &&
	    ret != -BCH_ERR_journal_reclaim_would_deadlock)
	    ret != -BCH_ERR_journal_reclaim_would_deadlock &&
	    ret != -BCH_ERR_journal_shutdown)
		bch_err_fn_ratelimited(c, ret);
	return ERR_PTR(ret);
}
@@ -2302,7 +2303,9 @@ static void async_btree_node_rewrite_work(struct work_struct *work)

	int ret = bch2_trans_do(c, bch2_btree_node_rewrite_key(trans,
						a->btree_id, a->level, a->key.k, 0));
	if (ret != -ENOENT)
	if (ret != -ENOENT &&
	    !bch2_err_matches(ret, EROFS) &&
	    ret != -BCH_ERR_journal_shutdown)
		bch_err_fn_ratelimited(c, ret);

	spin_lock(&c->btree_node_rewrites_lock);
+2 −1
Original line number Diff line number Diff line
@@ -1623,6 +1623,7 @@ static CLOSURE_CALLBACK(journal_write_done)
			       : j->noflush_write_time, j->write_start_time);

	if (!w->devs_written.nr) {
		if (!bch2_journal_error(j))
			bch_err(c, "unable to write journal to sufficient devices");
		err = -BCH_ERR_journal_write_err;
	} else {