block: cache the partition index in struct block_device

Signed-off-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
This commit is contained in:
Christoph Hellwig 2017-08-23 19:10:31 +02:00 committed by Jens Axboe
parent 807d4af2f6
commit c2ee070fb0
2 changed files with 2 additions and 0 deletions

View File

@ -1451,6 +1451,7 @@ static int __blkdev_get(struct block_device *bdev, fmode_t mode, int for_part)
bdev->bd_disk = disk; bdev->bd_disk = disk;
bdev->bd_queue = disk->queue; bdev->bd_queue = disk->queue;
bdev->bd_contains = bdev; bdev->bd_contains = bdev;
bdev->bd_partno = partno;
if (!partno) { if (!partno) {
ret = -ENXIO; ret = -ENXIO;

View File

@ -427,6 +427,7 @@ struct block_device {
#endif #endif
struct block_device * bd_contains; struct block_device * bd_contains;
unsigned bd_block_size; unsigned bd_block_size;
u8 bd_partno;
struct hd_struct * bd_part; struct hd_struct * bd_part;
/* number of times partitions within this device have been opened. */ /* number of times partitions within this device have been opened. */
unsigned bd_part_count; unsigned bd_part_count;