Message ID | 1444333491-16265-8-git-send-email-bmarzins@redhat.com (mailing list archive) |
---|---|
State | Not Applicable, archived |
Delegated to: | Benjamin Marzinski |
Headers | show |
On 10/08/2015 09:44 PM, Benjamin Marzinski wrote: > Currently kpartx -d only removes the partitions that have entries in the > partition table. If you remove a partition from the device, and then > run kpartx -d, it will not delete that partition (kpartx -u will). I don't > see any value in leaving partition devices for partitions that don't even > exist anymore, so this patch makes -d delete all partitions. > > Signed-off-by: Benjamin Marzinski <bmarzins@redhat.com> > --- > kpartx/kpartx.c | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/kpartx/kpartx.c b/kpartx/kpartx.c > index d69f9af..a9d4c98 100644 > --- a/kpartx/kpartx.c > +++ b/kpartx/kpartx.c > @@ -426,7 +426,7 @@ main(int argc, char **argv){ > break; > > case DELETE: > - for (j = n-1; j >= 0; j--) { > + for (j = MAXSLICES-1; j >= 0; j--) { > if (safe_sprintf(partname, "%s%s%d", > mapname, delim, j+1)) { > fprintf(stderr, "partname too small\n"); > @@ -434,7 +434,7 @@ main(int argc, char **argv){ > } > strip_slash(partname); > > - if (!slices[j].size || !dm_map_present(partname)) > + if (!dm_map_present(partname)) > continue; > > if (!dm_simplecmd(DM_DEVICE_REMOVE, partname, > Reviewed-by: Hannes Reinecke <hare@suse.de> Cheers, Hannes
diff --git a/kpartx/kpartx.c b/kpartx/kpartx.c index d69f9af..a9d4c98 100644 --- a/kpartx/kpartx.c +++ b/kpartx/kpartx.c @@ -426,7 +426,7 @@ main(int argc, char **argv){ break; case DELETE: - for (j = n-1; j >= 0; j--) { + for (j = MAXSLICES-1; j >= 0; j--) { if (safe_sprintf(partname, "%s%s%d", mapname, delim, j+1)) { fprintf(stderr, "partname too small\n"); @@ -434,7 +434,7 @@ main(int argc, char **argv){ } strip_slash(partname); - if (!slices[j].size || !dm_map_present(partname)) + if (!dm_map_present(partname)) continue; if (!dm_simplecmd(DM_DEVICE_REMOVE, partname,
Currently kpartx -d only removes the partitions that have entries in the partition table. If you remove a partition from the device, and then run kpartx -d, it will not delete that partition (kpartx -u will). I don't see any value in leaving partition devices for partitions that don't even exist anymore, so this patch makes -d delete all partitions. Signed-off-by: Benjamin Marzinski <bmarzins@redhat.com> --- kpartx/kpartx.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)