summaryrefslogtreecommitdiff
path: root/libbcachefs/super-io.c
diff options
context:
space:
mode:
authorKent Overstreet <kent.overstreet@gmail.com>2021-04-24 16:33:06 -0400
committerKent Overstreet <kent.overstreet@gmail.com>2021-04-26 20:18:47 -0400
commitedc3ffe8f25506e60218aa6eb5cbcd3a019f6210 (patch)
tree78d57e95d6ea8c51cf0c04f3ffdc4d2f39650600 /libbcachefs/super-io.c
parent78905d7540c6689d4c780900f957318452aa316e (diff)
Update bcachefs sources to 8d3093bd9b bcachefs: Evict btree nodes we're deleting
Diffstat (limited to 'libbcachefs/super-io.c')
-rw-r--r--libbcachefs/super-io.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/libbcachefs/super-io.c b/libbcachefs/super-io.c
index de8d49e3..11d7167b 100644
--- a/libbcachefs/super-io.c
+++ b/libbcachefs/super-io.c
@@ -433,6 +433,11 @@ int bch2_sb_to_fs(struct bch_fs *c, struct bch_sb *src)
__copy_super(&c->disk_sb, src);
+ if (BCH_SB_HAS_ERRORS(c->disk_sb.sb))
+ set_bit(BCH_FS_ERROR, &c->flags);
+ if (BCH_SB_HAS_TOPOLOGY_ERRORS(c->disk_sb.sb))
+ set_bit(BCH_FS_TOPOLOGY_ERROR, &c->flags);
+
ret = bch2_sb_replicas_to_cpu_replicas(c);
if (ret)
return ret;
@@ -713,6 +718,8 @@ int bch2_write_super(struct bch_fs *c)
if (test_bit(BCH_FS_ERROR, &c->flags))
SET_BCH_SB_HAS_ERRORS(c->disk_sb.sb, 1);
+ if (test_bit(BCH_FS_TOPOLOGY_ERROR, &c->flags))
+ SET_BCH_SB_HAS_TOPOLOGY_ERRORS(c->disk_sb.sb, 1);
SET_BCH_SB_BIG_ENDIAN(c->disk_sb.sb, CPU_BIG_ENDIAN);