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:
Nikolay Borisov 2017-02-20 13:50:57 +02:00 коммит произвёл David Sterba
Родитель b30cb441fc
Коммит 7ab7956ec3
3 изменённых файлов: 9 добавлений и 7 удалений

Просмотреть файл

@ -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,