[dm-devel] [PATCH] kpartx: Add -P option for partition scanning
Ritika Srivastava
ritika.srivastava at oracle.com
Tue Feb 22 18:59:10 UTC 2022
On 2/22/22, 10:28 AM, "Benjamin Marzinski" wrote:
On Fri, Feb 11, 2022 at 12:41:48PM -0800, Ritika Srivastava wrote:
>> Add -P, partition scanning option to kpartx which would set
>> LO_FLAGS_PARTSCAN flag during loop device creation.
>> This option is same as losetup -P option.
>I'm confused here. What's the benefit of doing this? Doesn't this create
>partition devices, just like kpartx would?
This enables partition scanning for loop devices created via kpartx.
When enabled, LO_FLAGS_PARTSCAN flag will be set during loop creation via kpartx -a.
On detach (kpartx -d), any partitions (/dev/loopXpY) would also be removed.
It has similar use cases as losetup -P option.
Currently, kpartx does not create partition loop devices (/dev/loopXpY) via kpartx -a
Example:
1. Current behavior: kpartx -a does not create /dev/loop0p1
# kpartx -av test.img
add map loop0p1 (252:0): 0 99937 linear /dev/loop0 64
(Notice below: /dev/loop0p1 NOT created)
# ls -l /dev/loop0*
brw-rw----. 1 root disk 7, 0 Jan 14 20:46 /dev/loop0
2. IF -P IS USED to create loop device, /dev/loop0p1 IS created.
# kpartx -av -P test.img
add map loop0p1 (252:0): 0 99937 linear /dev/loop0 64
(Notice below: /dev/loop0p1 IS created)
# ls -l /dev/loop0*
brw-rw----. 1 root disk 7, 0 Jan 14 20:50 /dev/loop0
brw-rw----. 1 root disk 259, 0 Jan 14 20:50 /dev/loop0p1
Similar behavior can also be observed during detach
1. Current Behavior: kpartx -d does NOT delete partitions
# kpartx -a -v test.img
# parted -a none -s /dev/loop0 mkpart primary 64s 100000s
# ls -l /dev/loop0*
brw-rw----. 1 root disk 7, 0 Jan 14 20:54 /dev/loop0
brw-rw----. 1 root disk 259, 0 Jan 14 20:54 /dev/loop0p1
# kpartx -d test.img
loop deleted : /dev/loop0
(Notice: /dev/loop0p1 NOT deleted)
# ls -l /dev/loop0*
brw-rw----. 1 root disk 7, 0 Jan 14 20:54 /dev/loop0
brw-rw----. 1 root disk 259, 0 Jan 14 20:54 /dev/loop0p1
2. IF -P IS added while creating loop, kpartx -d DOES delete loop0p1
# kpartx -a -v -P test.img
# parted -a none -s /dev/loop0 mkpart primary 64s 100000s
# ls -l /dev/loop0*
brw-rw----. 1 root disk 7, 0 Jan 14 20:46 /dev/loop0
brw-rw----. 1 root disk 259, 0 Jan 14 20:46 /dev/loop0p1
# kpartx -d test.img
loop deleted : /dev/loop0
(Notice: /dev/loop0p1 IS deleted)
# ls -l /dev/loop0*
brw-rw----. 1 root disk 7, 0 Jan 14 20:46 /dev/loop0
Thanks,
Ritika
More information about the dm-devel
mailing list