btrfs: make btrfs_dec_test_ordered_pending take btrfs_inode
Reviewed-by: Johannes Thumshirn <johannes.thumshirn@wdc.com> Reviewed-by: Josef Bacik <josef@toxicpanda.com> Signed-off-by: Nikolay Borisov <nborisov@suse.com> Reviewed-by: David Sterba <dsterba@suse.com> Signed-off-by: David Sterba <dsterba@suse.com>
This commit is contained in:
parent
acbf1dd0fc
commit
90c0304c63
@ -2781,8 +2781,8 @@ void btrfs_writepage_endio_finish_ordered(struct page *page, u64 start,
|
||||
trace_btrfs_writepage_end_io_hook(page, start, end, uptodate);
|
||||
|
||||
ClearPagePrivate2(page);
|
||||
if (!btrfs_dec_test_ordered_pending(inode, &ordered_extent, start,
|
||||
end - start + 1, uptodate))
|
||||
if (!btrfs_dec_test_ordered_pending(BTRFS_I(inode), &ordered_extent,
|
||||
start, end - start + 1, uptodate))
|
||||
return;
|
||||
|
||||
if (btrfs_is_free_space_inode(BTRFS_I(inode)))
|
||||
@ -8184,8 +8184,8 @@ again:
|
||||
ordered->truncated_len = new_len;
|
||||
spin_unlock_irq(&tree->lock);
|
||||
|
||||
if (btrfs_dec_test_ordered_pending(inode, &ordered,
|
||||
start,
|
||||
if (btrfs_dec_test_ordered_pending(BTRFS_I(inode),
|
||||
&ordered, start,
|
||||
end - start + 1, 1))
|
||||
btrfs_finish_ordered_io(ordered);
|
||||
}
|
||||
|
@ -378,17 +378,16 @@ out:
|
||||
* test_and_set_bit on a flag in the struct btrfs_ordered_extent is used
|
||||
* to make sure this function only returns 1 once for a given ordered extent.
|
||||
*/
|
||||
int btrfs_dec_test_ordered_pending(struct inode *inode,
|
||||
int btrfs_dec_test_ordered_pending(struct btrfs_inode *inode,
|
||||
struct btrfs_ordered_extent **cached,
|
||||
u64 file_offset, u64 io_size, int uptodate)
|
||||
{
|
||||
struct btrfs_ordered_inode_tree *tree;
|
||||
struct btrfs_ordered_inode_tree *tree = &inode->ordered_tree;
|
||||
struct rb_node *node;
|
||||
struct btrfs_ordered_extent *entry = NULL;
|
||||
unsigned long flags;
|
||||
int ret;
|
||||
|
||||
tree = &BTRFS_I(inode)->ordered_tree;
|
||||
spin_lock_irqsave(&tree->lock, flags);
|
||||
if (cached && *cached) {
|
||||
entry = *cached;
|
||||
@ -409,7 +408,7 @@ have_entry:
|
||||
}
|
||||
|
||||
if (io_size > entry->bytes_left) {
|
||||
btrfs_crit(BTRFS_I(inode)->root->fs_info,
|
||||
btrfs_crit(inode->root->fs_info,
|
||||
"bad ordered accounting left %llu size %llu",
|
||||
entry->bytes_left, io_size);
|
||||
}
|
||||
|
@ -153,7 +153,7 @@ btrfs_ordered_inode_tree_init(struct btrfs_ordered_inode_tree *t)
|
||||
void btrfs_put_ordered_extent(struct btrfs_ordered_extent *entry);
|
||||
void btrfs_remove_ordered_extent(struct inode *inode,
|
||||
struct btrfs_ordered_extent *entry);
|
||||
int btrfs_dec_test_ordered_pending(struct inode *inode,
|
||||
int btrfs_dec_test_ordered_pending(struct btrfs_inode *inode,
|
||||
struct btrfs_ordered_extent **cached,
|
||||
u64 file_offset, u64 io_size, int uptodate);
|
||||
int btrfs_dec_test_first_ordered_pending(struct btrfs_inode *inode,
|
||||
|
Loading…
Reference in New Issue
Block a user