btrfs: drop optimal argument from find_live_mirror()
Drop optimal argument from the function find_live_mirror() as we can deduce it in the function itself. Also rename optimal to preferred_mirror. Signed-off-by: Anand Jain <anand.jain@oracle.com> Reviewed-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
99f92a7c1e
commit
8ba0ae7821
|
@ -5275,10 +5275,11 @@ int btrfs_is_parity_mirror(struct btrfs_fs_info *fs_info, u64 logical, u64 len)
|
||||||
|
|
||||||
static int find_live_mirror(struct btrfs_fs_info *fs_info,
|
static int find_live_mirror(struct btrfs_fs_info *fs_info,
|
||||||
struct map_lookup *map, int first,
|
struct map_lookup *map, int first,
|
||||||
int optimal, int dev_replace_is_ongoing)
|
int dev_replace_is_ongoing)
|
||||||
{
|
{
|
||||||
int i;
|
int i;
|
||||||
int num_stripes;
|
int num_stripes;
|
||||||
|
int preferred_mirror;
|
||||||
int tolerance;
|
int tolerance;
|
||||||
struct btrfs_device *srcdev;
|
struct btrfs_device *srcdev;
|
||||||
|
|
||||||
|
@ -5290,6 +5291,8 @@ static int find_live_mirror(struct btrfs_fs_info *fs_info,
|
||||||
else
|
else
|
||||||
num_stripes = map->num_stripes;
|
num_stripes = map->num_stripes;
|
||||||
|
|
||||||
|
preferred_mirror = first + current->pid % num_stripes;
|
||||||
|
|
||||||
if (dev_replace_is_ongoing &&
|
if (dev_replace_is_ongoing &&
|
||||||
fs_info->dev_replace.cont_reading_from_srcdev_mode ==
|
fs_info->dev_replace.cont_reading_from_srcdev_mode ==
|
||||||
BTRFS_DEV_REPLACE_ITEM_CONT_READING_FROM_SRCDEV_MODE_AVOID)
|
BTRFS_DEV_REPLACE_ITEM_CONT_READING_FROM_SRCDEV_MODE_AVOID)
|
||||||
|
@ -5303,9 +5306,9 @@ static int find_live_mirror(struct btrfs_fs_info *fs_info,
|
||||||
* mirror is available
|
* mirror is available
|
||||||
*/
|
*/
|
||||||
for (tolerance = 0; tolerance < 2; tolerance++) {
|
for (tolerance = 0; tolerance < 2; tolerance++) {
|
||||||
if (map->stripes[optimal].dev->bdev &&
|
if (map->stripes[preferred_mirror].dev->bdev &&
|
||||||
(tolerance || map->stripes[optimal].dev != srcdev))
|
(tolerance || map->stripes[preferred_mirror].dev != srcdev))
|
||||||
return optimal;
|
return preferred_mirror;
|
||||||
for (i = first; i < first + num_stripes; i++) {
|
for (i = first; i < first + num_stripes; i++) {
|
||||||
if (map->stripes[i].dev->bdev &&
|
if (map->stripes[i].dev->bdev &&
|
||||||
(tolerance || map->stripes[i].dev != srcdev))
|
(tolerance || map->stripes[i].dev != srcdev))
|
||||||
|
@ -5316,7 +5319,7 @@ static int find_live_mirror(struct btrfs_fs_info *fs_info,
|
||||||
/* we couldn't find one that doesn't fail. Just return something
|
/* we couldn't find one that doesn't fail. Just return something
|
||||||
* and the io error handling code will clean up eventually
|
* and the io error handling code will clean up eventually
|
||||||
*/
|
*/
|
||||||
return optimal;
|
return preferred_mirror;
|
||||||
}
|
}
|
||||||
|
|
||||||
static inline int parity_smaller(u64 a, u64 b)
|
static inline int parity_smaller(u64 a, u64 b)
|
||||||
|
@ -5843,7 +5846,6 @@ static int __btrfs_map_block(struct btrfs_fs_info *fs_info,
|
||||||
stripe_index = mirror_num - 1;
|
stripe_index = mirror_num - 1;
|
||||||
else {
|
else {
|
||||||
stripe_index = find_live_mirror(fs_info, map, 0,
|
stripe_index = find_live_mirror(fs_info, map, 0,
|
||||||
current->pid % map->num_stripes,
|
|
||||||
dev_replace_is_ongoing);
|
dev_replace_is_ongoing);
|
||||||
mirror_num = stripe_index + 1;
|
mirror_num = stripe_index + 1;
|
||||||
}
|
}
|
||||||
|
@ -5871,8 +5873,6 @@ static int __btrfs_map_block(struct btrfs_fs_info *fs_info,
|
||||||
int old_stripe_index = stripe_index;
|
int old_stripe_index = stripe_index;
|
||||||
stripe_index = find_live_mirror(fs_info, map,
|
stripe_index = find_live_mirror(fs_info, map,
|
||||||
stripe_index,
|
stripe_index,
|
||||||
stripe_index +
|
|
||||||
current->pid % map->sub_stripes,
|
|
||||||
dev_replace_is_ongoing);
|
dev_replace_is_ongoing);
|
||||||
mirror_num = stripe_index - old_stripe_index + 1;
|
mirror_num = stripe_index - old_stripe_index + 1;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue