dm zoned: avoid unnecessary device recalulation for secondary superblock
The secondary superblock must reside on the same device as the primary superblock, so there is no need to re-calculate the device. Signed-off-by: Hannes Reinecke <hare@suse.de> Reviewed-by: Damien Le Moal <damien.lemoal@wdc.com> Signed-off-by: Mike Snitzer <snitzer@redhat.com>
This commit is contained in:
parent
35d0c96e42
commit
1565929b87
@ -1135,7 +1135,7 @@ static int dmz_lookup_secondary_sb(struct dmz_metadata *zmd)
|
||||
/* Bad first super block: search for the second one */
|
||||
zmd->sb[1].block = zmd->sb[0].block + zone_nr_blocks;
|
||||
zmd->sb[1].zone = zmd->sb[0].zone + 1;
|
||||
zmd->sb[1].dev = dmz_zone_to_dev(zmd, zmd->sb[1].zone);
|
||||
zmd->sb[1].dev = zmd->sb[0].dev;
|
||||
for (i = 0; i < zmd->nr_rnd_zones - 1; i++) {
|
||||
if (dmz_read_sb(zmd, 1) != 0)
|
||||
break;
|
||||
@ -1144,7 +1144,6 @@ static int dmz_lookup_secondary_sb(struct dmz_metadata *zmd)
|
||||
return 0;
|
||||
}
|
||||
zmd->sb[1].block += zone_nr_blocks;
|
||||
zmd->sb[1].dev = dmz_zone_to_dev(zmd, zmd->sb[1].zone + i);
|
||||
}
|
||||
|
||||
dmz_free_mblock(zmd, mblk);
|
||||
@ -1263,7 +1262,7 @@ static int dmz_load_sb(struct dmz_metadata *zmd)
|
||||
if (!zmd->sb[1].zone)
|
||||
zmd->sb[1].zone = zmd->sb[0].zone + zmd->nr_meta_zones;
|
||||
zmd->sb[1].block = dmz_start_block(zmd, zmd->sb[1].zone);
|
||||
zmd->sb[1].dev = dmz_zone_to_dev(zmd, zmd->sb[1].zone);
|
||||
zmd->sb[1].dev = zmd->sb[0].dev;
|
||||
ret = dmz_get_sb(zmd, 1);
|
||||
} else
|
||||
ret = dmz_lookup_secondary_sb(zmd);
|
||||
|
Loading…
Reference in New Issue
Block a user