diff --git a/fs/bcachefs/io.c b/fs/bcachefs/io.c index 2ec7203e5824..3dcb166afa23 100644 --- a/fs/bcachefs/io.c +++ b/fs/bcachefs/io.c @@ -1070,6 +1070,12 @@ again: BKEY_EXTENT_U64s_MAX)) goto flush_io; + if ((op->flags & BCH_WRITE_FROM_INTERNAL) && + percpu_ref_is_dying(&c->writes)) { + ret = -EROFS; + goto err; + } + wp = bch2_alloc_sectors_start(c, op->target, op->opts.erasure_code,