On 7/15/20 2:36 AM, Ming Lei wrote: > In theory, when GENHD_FL_NO_PART_SCAN is set, no partitions can be created > on one disk. However, ioctl(BLKPG, BLKPG_ADD_PARTITION) doesn't check > GENHD_FL_NO_PART_SCAN, so partitions still can be added even though > GENHD_FL_NO_PART_SCAN is set. > > So far blk_drop_partitions() only removes partitions when disk_part_scan_enabled() > return true. This way can make ghost partition on loop device after changing/clearing > FD in case that PARTSCAN is disabled, such as partitions can be added > via 'parted' on loop disk even though GENHD_FL_NO_PART_SCAN is set. > > Fix this issue by always removing partitions in blk_drop_partitions(), and > this way is correct because the current code supposes that no partitions > can be added in case of GENHD_FL_NO_PART_SCAN. Applied, thanks. -- Jens Axboe