Change btrfs_map_block to return a structure with mappings for all stripes

Signed-off-by: Chris Mason <chris.mason@oracle.com>
This commit is contained in:
Chris Mason
2008-04-09 16:28:12 -04:00
parent d18a2c4475
commit cea9e4452e
4 changed files with 102 additions and 68 deletions

View File

@ -301,12 +301,9 @@ int btrfs_merge_bio_hook(struct page *page, unsigned long offset,
{
struct btrfs_root *root = BTRFS_I(page->mapping->host)->root;
struct btrfs_mapping_tree *map_tree;
struct btrfs_device *dev;
u64 logical = bio->bi_sector << 9;
u64 physical;
u64 length = 0;
u64 map_length;
int total_devs;
struct bio_vec *bvec;
int i;
int ret;
@ -316,8 +313,9 @@ int btrfs_merge_bio_hook(struct page *page, unsigned long offset,
}
map_tree = &root->fs_info->mapping_tree;
map_length = length;
ret = btrfs_map_block(map_tree, READ, 0, logical, &physical,
&map_length, &dev, &total_devs);
ret = btrfs_map_block(map_tree, READ, logical,
&map_length, NULL);
if (map_length < length + size) {
return 1;
}