/* If bio->bi_dev is a partition, remap the location  */
static void blk_partition_remap(struct bio *bio)
/* If bio->bi_dev is a partition, remap the location  */
static void blk_partition_remap(struct bio *bio)
{
	struct block_device *bdev = bio->bi_bdev;
	if (bio_sectors(bio) && bdev != bdev->bd_contains) {
		struct hd_struct *p = bdev->bd_part;
		bio->bi_sector += p->start_sect;
		bio->bi_bdev = bdev->bd_contains;
		trace_block_remap(bdev_get_queue(bio->bi_bdev), bio,
				    bdev->bd_dev,
				    bio->bi_sector - p->start_sect);
	}
}