From 096f2ec00ed6165894aa3218fa5a7ab7a6c3c9e1 Mon Sep 17 00:00:00 2001 From: Kent Overstreet Date: Wed, 18 Mar 2020 11:49:11 -0400 Subject: [PATCH] Update bcachefs sources to 3592e42edf bcachefs: Shut down quicker --- .bcachefs_revision | 2 +- libbcachefs/io.c | 6 ++++++ libbcachefs/super-io.c | 1 + 3 files changed, 8 insertions(+), 1 deletion(-) diff --git a/.bcachefs_revision b/.bcachefs_revision index 8a9d3c96..e6246606 100644 --- a/.bcachefs_revision +++ b/.bcachefs_revision @@ -1 +1 @@ -b47904df3c6249c30213854bdeab003e64a09877 +3592e42edfaed6a66470fb6a456a5895243ef2f4 diff --git a/libbcachefs/io.c b/libbcachefs/io.c index a8117c96..19059702 100644 --- a/libbcachefs/io.c +++ b/libbcachefs/io.c @@ -1069,6 +1069,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, diff --git a/libbcachefs/super-io.c b/libbcachefs/super-io.c index 56121e30..e3cb08d8 100644 --- a/libbcachefs/super-io.c +++ b/libbcachefs/super-io.c @@ -956,6 +956,7 @@ int bch2_fs_mark_dirty(struct bch_fs *c) mutex_lock(&c->sb_lock); SET_BCH_SB_CLEAN(c->disk_sb.sb, false); c->disk_sb.sb->compat[0] &= ~(1ULL << BCH_COMPAT_FEAT_ALLOC_METADATA); + c->disk_sb.sb->features[0] |= 1ULL << BCH_FEATURE_new_extent_overwrite; c->disk_sb.sb->features[0] |= 1ULL << BCH_FEATURE_extents_above_btree_updates; ret = bch2_write_super(c); mutex_unlock(&c->sb_lock);