diff options
author | Kent Overstreet <kent.overstreet@gmail.com> | 2020-12-03 14:27:20 -0500 |
---|---|---|
committer | Kent Overstreet <kent.overstreet@linux.dev> | 2023-10-22 17:08:49 -0400 |
commit | 33c74e4119a91c3ae87fc207777e34fdbb613c66 (patch) | |
tree | 7ec7f2834dee851fc4795cffb1f0d3b122f86cd2 /fs/bcachefs/fs.h | |
parent | 0fefe8d8ef74029e9f3676ef9613ef022ae6dbd6 (diff) | |
download | lwn-33c74e4119a91c3ae87fc207777e34fdbb613c66.tar.gz lwn-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.h | 7 |
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) |