fix queue freeze and limit locking order v2

Christoph Hellwig
2025-01-08T09:25:28Z

Hi all,

this is my version of Damien's "Fix queue freeze and limit locking order".
A lot looks very similar, but it was done independently based on the
previous discussion.

Changes since v1:
- more comment typo fixing
- fix loop as well
- make the poll sysfs attr show method more accurate

Changes since RFC:
- fix a bizzare virtio_blk bisection snafu
- set BLK_FEAT_POLL a little less eagerly for blk-mq
- drop the loop patch just adding a comment
- improve various commit logs and coments

Diffstat:
block/blk-core.c | 17 ++++-
block/blk-integrity.c | 4 -
block/blk-mq.c | 17 -----
block/blk-settings.c | 27 +++++++-
block/blk-sysfs.c | 134 ++++++++++++++++++++---------------------
block/blk-zoned.c | 7 --
block/blk.h | 1
drivers/block/loop.c | 52 ++++++++++-----
drivers/block/nbd.c | 17 -----
drivers/block/virtio_blk.c | 4 -
drivers/nvme/host/core.c | 9 +-
drivers/scsi/sd.c | 17 +----
drivers/scsi/sr.c | 5 -
drivers/usb/storage/scsiglue.c | 5 -
include/linux/blkdev.h | 5 -
15 files changed, 164 insertions(+), 157 deletions(-)