summaryrefslogtreecommitdiffstats
path: root/fs/bcachefs/fs.h
diff options
context:
space:
mode:
authorKent Overstreet <kent.overstreet@gmail.com>2020-12-03 14:27:20 -0500
committerKent Overstreet <kent.overstreet@linux.dev>2023-10-22 17:08:49 -0400
commit33c74e4119a91c3ae87fc207777e34fdbb613c66 (patch)
tree7ec7f2834dee851fc4795cffb1f0d3b122f86cd2 /fs/bcachefs/fs.h
parent0fefe8d8ef74029e9f3676ef9613ef022ae6dbd6 (diff)
downloadlinux-33c74e4119a91c3ae87fc207777e34fdbb613c66.tar.gz
linux-33c74e4119a91c3ae87fc207777e34fdbb613c66.tar.bz2
linux-33c74e4119a91c3ae87fc207777e34fdbb613c66.zip
bcachefs: Flag inodes that had btree update errors
On write error, the vfs inode's i_size may be inconsistent with the btree inode's i_size - flag this so we don't have spurious assertions. Signed-off-by: Kent Overstreet <kent.overstreet@gmail.com> Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
Diffstat (limited to 'fs/bcachefs/fs.h')
-rw-r--r--fs/bcachefs/fs.h7
1 files changed, 7 insertions, 0 deletions
diff --git a/fs/bcachefs/fs.h b/fs/bcachefs/fs.h
index 7c095b856b05..8c2796aa7abf 100644
--- a/fs/bcachefs/fs.h
+++ b/fs/bcachefs/fs.h
@@ -33,6 +33,7 @@ void bch2_pagecache_block_get(struct pagecache_lock *);
struct bch_inode_info {
struct inode v;
+ unsigned long ei_flags;
struct mutex ei_update_lock;
u64 ei_journal_seq;
@@ -49,6 +50,12 @@ struct bch_inode_info {
struct bch_inode_unpacked ei_inode;
};
+/*
+ * Set if we've gotten a btree error for this inode, and thus the vfs inode and
+ * btree inode may be inconsistent:
+ */
+#define EI_INODE_ERROR 0
+
#define to_bch_ei(_inode) \
container_of_or_null(_inode, struct bch_inode_info, v)