From a7b46a3db0931e88f837ae741afe9770c6fede49 Mon Sep 17 00:00:00 2001 From: Kent Overstreet Date: Mon, 9 Mar 2020 14:19:58 -0400 Subject: [PATCH] bcachefs: Don't log errors that are expected during shutdown Signed-off-by: Kent Overstreet Signed-off-by: Kent Overstreet --- fs/bcachefs/io.c | 3 ++- fs/bcachefs/io.h | 5 +++-- fs/bcachefs/move.c | 3 ++- 3 files changed, 7 insertions(+), 4 deletions(-) diff --git a/fs/bcachefs/io.c b/fs/bcachefs/io.c index 5f296de282b6a..717332072d875 100644 --- a/fs/bcachefs/io.c +++ b/fs/bcachefs/io.c @@ -1222,7 +1222,8 @@ void bch2_write(struct closure *cl) if (c->opts.nochanges || !percpu_ref_tryget(&c->writes)) { - __bcache_io_error(c, "read only"); + if (!(op->flags & BCH_WRITE_FROM_INTERNAL)) + __bcache_io_error(c, "read only"); op->error = -EROFS; goto err; } diff --git a/fs/bcachefs/io.h b/fs/bcachefs/io.h index bc9f9fec2fd7d..c250bceb77ea3 100644 --- a/fs/bcachefs/io.h +++ b/fs/bcachefs/io.h @@ -35,10 +35,11 @@ enum bch_write_flags { BCH_WRITE_ONLY_SPECIFIED_DEVS = (1 << 6), BCH_WRITE_NOPUT_RESERVATION = (1 << 7), BCH_WRITE_WROTE_DATA_INLINE = (1 << 8), + BCH_WRITE_FROM_INTERNAL = (1 << 9), /* Internal: */ - BCH_WRITE_JOURNAL_SEQ_PTR = (1 << 9), - BCH_WRITE_SKIP_CLOSURE_PUT = (1 << 10), + BCH_WRITE_JOURNAL_SEQ_PTR = (1 << 10), + BCH_WRITE_SKIP_CLOSURE_PUT = (1 << 11), }; static inline u64 *op_journal_seq(struct bch_write_op *op) diff --git a/fs/bcachefs/move.c b/fs/bcachefs/move.c index dbcda83746924..a9a72963e1b71 100644 --- a/fs/bcachefs/move.c +++ b/fs/bcachefs/move.c @@ -242,7 +242,8 @@ int bch2_migrate_write_init(struct bch_fs *c, struct migrate_write *m, m->op.flags |= BCH_WRITE_ONLY_SPECIFIED_DEVS| BCH_WRITE_PAGES_STABLE| BCH_WRITE_PAGES_OWNED| - BCH_WRITE_DATA_ENCODED; + BCH_WRITE_DATA_ENCODED| + BCH_WRITE_FROM_INTERNAL; m->op.nr_replicas = 1; m->op.nr_replicas_required = 1; -- 2.30.2