diff options
Diffstat (limited to 'fs/btrfs/volumes.h')
-rw-r--r-- | fs/btrfs/volumes.h | 14 |
1 files changed, 11 insertions, 3 deletions
diff --git a/fs/btrfs/volumes.h b/fs/btrfs/volumes.h index 637bcfadadb2..d6fe73c0f4a2 100644 --- a/fs/btrfs/volumes.h +++ b/fs/btrfs/volumes.h | |||
@@ -292,7 +292,7 @@ struct btrfs_bio_stripe { | |||
292 | struct btrfs_bio; | 292 | struct btrfs_bio; |
293 | typedef void (btrfs_bio_end_io_t) (struct btrfs_bio *bio, int err); | 293 | typedef void (btrfs_bio_end_io_t) (struct btrfs_bio *bio, int err); |
294 | 294 | ||
295 | #define BTRFS_BIO_ORIG_BIO_SUBMITTED 0x1 | 295 | #define BTRFS_BIO_ORIG_BIO_SUBMITTED (1 << 0) |
296 | 296 | ||
297 | struct btrfs_bio { | 297 | struct btrfs_bio { |
298 | atomic_t stripes_pending; | 298 | atomic_t stripes_pending; |
@@ -305,6 +305,8 @@ struct btrfs_bio { | |||
305 | int max_errors; | 305 | int max_errors; |
306 | int num_stripes; | 306 | int num_stripes; |
307 | int mirror_num; | 307 | int mirror_num; |
308 | int num_tgtdevs; | ||
309 | int *tgtdev_map; | ||
308 | struct btrfs_bio_stripe stripes[]; | 310 | struct btrfs_bio_stripe stripes[]; |
309 | }; | 311 | }; |
310 | 312 | ||
@@ -387,12 +389,18 @@ struct btrfs_balance_control { | |||
387 | int btrfs_account_dev_extents_size(struct btrfs_device *device, u64 start, | 389 | int btrfs_account_dev_extents_size(struct btrfs_device *device, u64 start, |
388 | u64 end, u64 *length); | 390 | u64 end, u64 *length); |
389 | 391 | ||
390 | #define btrfs_bio_size(n) (sizeof(struct btrfs_bio) + \ | 392 | #define btrfs_bio_size(total_stripes, real_stripes) \ |
391 | (sizeof(struct btrfs_bio_stripe) * (n))) | 393 | (sizeof(struct btrfs_bio) + \ |
394 | (sizeof(struct btrfs_bio_stripe) * (total_stripes)) + \ | ||
395 | (sizeof(int) * (real_stripes))) | ||
392 | 396 | ||
393 | int btrfs_map_block(struct btrfs_fs_info *fs_info, int rw, | 397 | int btrfs_map_block(struct btrfs_fs_info *fs_info, int rw, |
394 | u64 logical, u64 *length, | 398 | u64 logical, u64 *length, |
395 | struct btrfs_bio **bbio_ret, int mirror_num); | 399 | struct btrfs_bio **bbio_ret, int mirror_num); |
400 | int btrfs_map_sblock(struct btrfs_fs_info *fs_info, int rw, | ||
401 | u64 logical, u64 *length, | ||
402 | struct btrfs_bio **bbio_ret, int mirror_num, | ||
403 | u64 **raid_map_ret); | ||
396 | int btrfs_rmap_block(struct btrfs_mapping_tree *map_tree, | 404 | int btrfs_rmap_block(struct btrfs_mapping_tree *map_tree, |
397 | u64 chunk_start, u64 physical, u64 devid, | 405 | u64 chunk_start, u64 physical, u64 devid, |
398 | u64 **logical, int *naddrs, int *stripe_len); | 406 | u64 **logical, int *naddrs, int *stripe_len); |