Skip to content
Commit 7c82dac0 authored by Christoph Hellwig's avatar Christoph Hellwig Committed by Bruce Ashfield
Browse files

block, loop: support partitions without scanning



Historically we did distinguish between a flag that surpressed partition
scanning, and a combinations of the minors variable and another flag if
any partitions were supported.  This was generally confusing and doesn't
make much sense, but some corner case uses of the loop driver actually
do want to support manually added partitions on a device that does not
actively scan for partitions.  To make things worsee the loop driver
also wants to dynamically toggle the scanning for partitions on a live
gendisk, which makes the disk->flags updates non-atomic.

Introduce a new GD_SUPPRESS_PART_SCAN bit in disk->state that disables
just scanning for partitions, and toggle that instead of GENHD_FL_NO_PART
in the loop driver.

[bva: Notes for this backport:
   - drop return code in disk_scan_partitions for GD_SUPPRESS_PART_SCAN.
     The check doesn't strictly need ot be in this routine in 5.15, but
     this faciliates future changes in this area, since there are
     other checks in the same function.
   - GD_SUPPRESS_PART_SCAN could go to genh.c, but genhd.c includes
     blkdev.h, so we leave the new GD_SUPPRESS_PART_SCAN definition
     in the same places as where it was introduced upstream to keep
     the changes to a minimum
   - upstream commit e16e506c merges blkdev_reread_part into
     disk_scan_partitions. Backporting that change is more churn
     than we need, so we also add the check for GD_SUPPRESS_PART_SCAN
     into that routine to have the check hit in a 5.15 context.
]

Upstream-Status: Backport [commit b9684a71]

Fixes: 1ebe2e5f ("block: remove GENHD_FL_EXT_DEVT")
Reported-by: default avatarMing Lei <ming.lei@redhat.com>
Signed-off-by: default avatarChristoph Hellwig <hch@lst.de>
Reviewed-by: default avatarMing Lei <ming.lei@redhat.com>
Link: https://lore.kernel.org/r/20220527055806.1972352-1-hch@lst.de


Signed-off-by: default avatarJens Axboe <axboe@kernel.dk>
Signed-off-by: default avatarBruce Ashfield <bruce.ashfield@gmail.com>
parent 68dd3d27
Loading
Loading
Loading
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment