[dm-devel] [PATCH] kpartx: Add -P option for partition scanning
Benjamin Marzinski
bmarzins at redhat.com
Tue Feb 22 19:31:43 UTC 2022
On Tue, Feb 22, 2022 at 06:59:10PM +0000, Ritika Srivastava wrote:
> 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
And I'm trying to figure out why you want to create /dev/loop0p1 if you
already have /dev/mapper/loop0p1? The ability of kpartx to create
partitioned loop devices predates the existance "kpartx -P". So perhaps
the better question is, why do you want to run
# kpartx -av test.img
instead of just running
# loasetup -fP test.img
They both get you partition devices, and you don't need both of them.
Or do you, for some reason I don't understand?
-Ben
> 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