btrfs: make btrfs_free_io_failure_record take btrfs_inode
Signed-off-by: Nikolay Borisov <nborisov@suse.com> Signed-off-by: David Sterba <dsterba@suse.com>
This commit is contained in:
Родитель
b30cb441fc
Коммит
7ab7956ec3
|
@ -2152,9 +2152,9 @@ out:
|
||||||
* - under ordered extent
|
* - under ordered extent
|
||||||
* - the inode is freeing
|
* - the inode is freeing
|
||||||
*/
|
*/
|
||||||
void btrfs_free_io_failure_record(struct inode *inode, u64 start, u64 end)
|
void btrfs_free_io_failure_record(struct btrfs_inode *inode, u64 start, u64 end)
|
||||||
{
|
{
|
||||||
struct extent_io_tree *failure_tree = &BTRFS_I(inode)->io_failure_tree;
|
struct extent_io_tree *failure_tree = &inode->io_failure_tree;
|
||||||
struct io_failure_record *failrec;
|
struct io_failure_record *failrec;
|
||||||
struct extent_state *state, *next;
|
struct extent_state *state, *next;
|
||||||
|
|
||||||
|
|
|
@ -482,7 +482,8 @@ struct io_failure_record {
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
void btrfs_free_io_failure_record(struct inode *inode, u64 start, u64 end);
|
void btrfs_free_io_failure_record(struct btrfs_inode *inode, u64 start,
|
||||||
|
u64 end);
|
||||||
int btrfs_get_io_failure_record(struct inode *inode, u64 start, u64 end,
|
int btrfs_get_io_failure_record(struct inode *inode, u64 start, u64 end,
|
||||||
struct io_failure_record **failrec_ret);
|
struct io_failure_record **failrec_ret);
|
||||||
int btrfs_check_repairable(struct inode *inode, struct bio *failed_bio,
|
int btrfs_check_repairable(struct inode *inode, struct bio *failed_bio,
|
||||||
|
|
|
@ -2803,9 +2803,10 @@ static int btrfs_finish_ordered_io(struct btrfs_ordered_extent *ordered_extent)
|
||||||
goto out;
|
goto out;
|
||||||
}
|
}
|
||||||
|
|
||||||
btrfs_free_io_failure_record(inode, ordered_extent->file_offset,
|
btrfs_free_io_failure_record(BTRFS_I(inode),
|
||||||
ordered_extent->file_offset +
|
ordered_extent->file_offset,
|
||||||
ordered_extent->len - 1);
|
ordered_extent->file_offset +
|
||||||
|
ordered_extent->len - 1);
|
||||||
|
|
||||||
if (test_bit(BTRFS_ORDERED_TRUNCATED, &ordered_extent->flags)) {
|
if (test_bit(BTRFS_ORDERED_TRUNCATED, &ordered_extent->flags)) {
|
||||||
truncated = true;
|
truncated = true;
|
||||||
|
@ -5196,7 +5197,7 @@ void btrfs_evict_inode(struct inode *inode)
|
||||||
if (!special_file(inode->i_mode))
|
if (!special_file(inode->i_mode))
|
||||||
btrfs_wait_ordered_range(inode, 0, (u64)-1);
|
btrfs_wait_ordered_range(inode, 0, (u64)-1);
|
||||||
|
|
||||||
btrfs_free_io_failure_record(inode, 0, (u64)-1);
|
btrfs_free_io_failure_record(BTRFS_I(inode), 0, (u64)-1);
|
||||||
|
|
||||||
if (test_bit(BTRFS_FS_LOG_RECOVERING, &fs_info->flags)) {
|
if (test_bit(BTRFS_FS_LOG_RECOVERING, &fs_info->flags)) {
|
||||||
BUG_ON(test_bit(BTRFS_INODE_HAS_ORPHAN_ITEM,
|
BUG_ON(test_bit(BTRFS_INODE_HAS_ORPHAN_ITEM,
|
||||||
|
|
Загрузка…
Ссылка в новой задаче