Thread (34 messages) 34 messages, 7 authors, 2020-12-08

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

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.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help