Btrfs: csum_verify_file_block locking fix
Signed-off-by: Chris Mason <chris.mason@oracle.com>
This commit is contained in:
parent
7cfcc17e7f
commit
2da566edd8
4 changed files with 2 additions and 4 deletions
|
@ -160,7 +160,6 @@ static int csum_tree_block(struct btrfs_root *root, struct buffer_head *bh,
|
||||||
int ret;
|
int ret;
|
||||||
struct btrfs_node *node;
|
struct btrfs_node *node;
|
||||||
|
|
||||||
return 0;
|
|
||||||
ret = btrfs_csum_data(root, bh->b_data + BTRFS_CSUM_SIZE,
|
ret = btrfs_csum_data(root, bh->b_data + BTRFS_CSUM_SIZE,
|
||||||
bh->b_size - BTRFS_CSUM_SIZE, result);
|
bh->b_size - BTRFS_CSUM_SIZE, result);
|
||||||
if (ret)
|
if (ret)
|
||||||
|
|
|
@ -249,8 +249,6 @@ static int __free_extent(struct btrfs_trans_handle *trans, struct btrfs_root
|
||||||
btrfs_set_super_blocks_used(info->disk_super,
|
btrfs_set_super_blocks_used(info->disk_super,
|
||||||
super_blocks_used - num_blocks);
|
super_blocks_used - num_blocks);
|
||||||
ret = btrfs_del_item(trans, extent_root, path);
|
ret = btrfs_del_item(trans, extent_root, path);
|
||||||
if (extent_root->fs_info->last_insert.objectid > blocknr)
|
|
||||||
extent_root->fs_info->last_insert.objectid = blocknr;
|
|
||||||
if (ret)
|
if (ret)
|
||||||
BUG();
|
BUG();
|
||||||
}
|
}
|
||||||
|
|
|
@ -110,6 +110,7 @@ int btrfs_csum_verify_file_block(struct btrfs_root *root,
|
||||||
file_key.offset = offset;
|
file_key.offset = offset;
|
||||||
file_key.flags = 0;
|
file_key.flags = 0;
|
||||||
btrfs_set_key_type(&file_key, BTRFS_CSUM_ITEM_KEY);
|
btrfs_set_key_type(&file_key, BTRFS_CSUM_ITEM_KEY);
|
||||||
|
mutex_lock(&root->fs_info->fs_mutex);
|
||||||
ret = btrfs_search_slot(NULL, root, &file_key, path, 0, 0);
|
ret = btrfs_search_slot(NULL, root, &file_key, path, 0, 0);
|
||||||
if (ret)
|
if (ret)
|
||||||
goto fail;
|
goto fail;
|
||||||
|
@ -123,6 +124,7 @@ int btrfs_csum_verify_file_block(struct btrfs_root *root,
|
||||||
fail:
|
fail:
|
||||||
btrfs_release_path(root, path);
|
btrfs_release_path(root, path);
|
||||||
btrfs_free_path(path);
|
btrfs_free_path(path);
|
||||||
|
mutex_unlock(&root->fs_info->fs_mutex);
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1316,7 +1316,6 @@ static void btrfs_destroy_inode(struct inode *inode)
|
||||||
WARN_ON(ei->magic != 0xDEADBEEF);
|
WARN_ON(ei->magic != 0xDEADBEEF);
|
||||||
WARN_ON(ei->magic2 != 0xDEADBEAF);
|
WARN_ON(ei->magic2 != 0xDEADBEAF);
|
||||||
WARN_ON(!list_empty(&inode->i_dentry));
|
WARN_ON(!list_empty(&inode->i_dentry));
|
||||||
WARN_ON(inode->i_ino == 1);
|
|
||||||
WARN_ON(inode->i_data.nrpages);
|
WARN_ON(inode->i_data.nrpages);
|
||||||
|
|
||||||
ei->magic = 0;
|
ei->magic = 0;
|
||||||
|
|
Loading…
Reference in a new issue