[PATCH 13/16] block: switch polling to be bio based
Christoph Hellwig
hch at lst.de
Fri Jun 18 07:01:47 PDT 2021
On Wed, Jun 16, 2021 at 10:30:23AM +0800, Ming Lei wrote:
> Not sure disk is valid, we only hold the disk when opening a bdev, but
> the bdev can be closed during polling.
How? On a block device the caller needs to hold the block device open
to read/write from it. On a file systems the file systems needs to
be mounted, which also holds a bdev reference.
> Also disk always holds one
> reference on request queue, so if disk is valid, no need to grab queue's
> refcnt in bio_poll().
But we need to avoid going into the lowlevel blk-mq polling code to not
reference the potentially freed hctxs or tags as correctly pointed by
yourself on the previous iteration.
More information about the Linux-nvme
mailing list