summaryrefslogtreecommitdiff
path: root/fs/bcachefs
diff options
context:
space:
mode:
Diffstat (limited to 'fs/bcachefs')
-rw-r--r--fs/bcachefs/fs-io-buffered.c1
-rw-r--r--fs/bcachefs/fs.c5
2 files changed, 6 insertions, 0 deletions
diff --git a/fs/bcachefs/fs-io-buffered.c b/fs/bcachefs/fs-io-buffered.c
index e3a75dcca60c..669f84dbe953 100644
--- a/fs/bcachefs/fs-io-buffered.c
+++ b/fs/bcachefs/fs-io-buffered.c
@@ -140,6 +140,7 @@ static int readpage_bio_extend(struct btree_trans *trans,
break;
}
+ folio_set_bcachefs_warn(folio);
folio_put(folio);
}
diff --git a/fs/bcachefs/fs.c b/fs/bcachefs/fs.c
index f1472e9135cc..b6ba6f6c7005 100644
--- a/fs/bcachefs/fs.c
+++ b/fs/bcachefs/fs.c
@@ -45,6 +45,8 @@
#include <linux/string.h>
#include <linux/xattr.h>
+extern int bcachefs_shutdown;
+
static struct kmem_cache *bch2_inode_cache;
static void bch2_vfs_inode_init(struct btree_trans *, subvol_inum,
@@ -2380,6 +2382,7 @@ static void bch2_put_super(struct super_block *sb)
{
struct bch_fs *c = sb->s_fs_info;
+ bcachefs_shutdown = 1;
__bch2_fs_stop(c);
}
@@ -2610,6 +2613,8 @@ err:
* userspace as that causes util-linux to retry the mount RO - which is
* confusing:
*/
+
+ bcachefs_shutdown = 0;
if (bch2_err_matches(ret, EROFS) && ret != -EROFS)
ret = -EIO;
return bch2_err_class(ret);