Re: [RFC PATCH V3 1/1] block: reject I/O for same fd if block size changed

From: Christoph Hellwig
Date: Mon Jan 04 2021 - 12:12:25 EST


On Mon, Jan 04, 2021 at 06:11:08PM +0100, Christoph Hellwig wrote:
> On Mon, Jan 04, 2021 at 10:06:59PM +0900, Minwoo Im wrote:
> > + if (q->backing_dev_info && q->backing_dev_info->owner &&
> > + limits->logical_block_size != size) {
> > + bdev = blkdev_get_no_open(q->backing_dev_info->owner->devt);
> > + bdev->bd_disk->flags |= GENHD_FL_BLOCK_SIZE_CHANGED;
> > + blkdev_put_no_open(bdev);
> > + }
>
> We really need the backpointer from the queue to the gendisk I've wanted
> to add for a while. Can we at least restrict this to a live gendisk?

Alternatively we could make this request_queue QUEUE* flag for now.