Re: [PATCH 3/9] block: store a block_device pointer in struct bio
From: Christoph Hellwig <hch@lst.de>
Date: 2020-12-03 08:30:37
Also in:
dm-devel, linux-bcache, linux-block, linux-s390
From: Christoph Hellwig <hch@lst.de>
Date: 2020-12-03 08:30:37
Also in:
dm-devel, linux-bcache, linux-block, linux-s390
On Thu, Dec 03, 2020 at 03:10:55PM +0800, Ming Lei wrote:
On Thu, Dec 03, 2020 at 02:40:04PM +0800, Ming Lei wrote:quoted
On Tue, Dec 01, 2020 at 05:54:18PM +0100, Christoph Hellwig wrote:quoted
Replace the gendisk pointer in struct bio with a pointer to the newly improved struct block device. From that the gendisk can be trivially accessed with an extra indirection, but it also allows to directly look up all information related to partition remapping.The extra indirection is often done in fast path, so just wondering why you don't consider to embed gendisk into block_device? Then the extra indirection can be avoided.oops, that is only possible for disk, and indirection is still needed for partitions.
I looked into that, but given that the block device is allocated as part of the inode we'd need to tell ->alloc_inode if we want to allocate the small inode without the gendisk, or the large one with it which doesn't work with the current interface. Beause the hd_struct is gone we're still not using more structures in the I/O path than we did before.