All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] kpartx: Add -N option to allow specifying a devmapping name
@ 2024-04-05  0:23 Glenn Washburn
  2024-04-05 16:52 ` Martin Wilck
  0 siblings, 1 reply; 2+ messages in thread
From: Glenn Washburn @ 2024-04-05  0:23 UTC (permalink / raw)
  To: DM-DEVEL ML
  Cc: Glenn Washburn, Martin Wilck, Benjamin Marzinski,
	Christophe Varoqui

Running `kpartx -a disk.img` will create device names like
`/dev/mapper/loopNpM` where `N` and `M` are positive integers. The issue is
that `loopN` is not known before hand. `losetup -f` can be used to figure
out what the next loop device will be, but the loop device might be taken
by something else between then and when kpartx finds the next loop device.
Add a new option `-N` which takes a string argument that will be used as
the base name of the devmapper device.

Signed-off-by: Glenn Washburn <development@efficientek.com>
---
 kpartx/kpartx.c | 8 ++++++--
 1 file changed, 6 insertions(+), 2 deletions(-)

diff --git a/kpartx/kpartx.c b/kpartx/kpartx.c
index 46cb76bac678..750b889327e9 100644
--- a/kpartx/kpartx.c
+++ b/kpartx/kpartx.c
@@ -88,7 +88,7 @@ initpts(void)
 	addpts("ps3", read_ps3_pt);
 }
 
-static char short_opts[] = "rladfgvp:t:snu";
+static char short_opts[] = "rladfgvp:t:snuN:";
 
 /* Used in gpt.c */
 int force_gpt=0;
@@ -99,7 +99,7 @@ static int
 usage(void) {
 	printf(VERSION_STRING);
 	printf("Usage:\n");
-	printf("  kpartx [-a|-d|-u|-l] [-r] [-p] [-f] [-g] [-s|-n] [-v] wholedisk\n");
+	printf("  kpartx [-a|-d|-u|-l] [-r] [-p] [-f] [-g] [-s|-n] [-v] [-N name] wholedisk\n");
 	printf("\t-a add partition devmappings\n");
 	printf("\t-r devmappings will be readonly\n");
 	printf("\t-d del partition devmappings\n");
@@ -111,6 +111,7 @@ usage(void) {
 	printf("\t-v verbose\n");
 	printf("\t-n nosync mode. Return before the partitions are created\n");
 	printf("\t-s sync mode (Default). Don't return until the partitions are created\n");
+	printf("\t-N use name as base name for device\n");
 	return 1;
 }
 
@@ -312,6 +313,9 @@ main(int argc, char **argv){
 		case 'u':
 			what = UPDATE;
 			break;
+		case 'N':
+			mapname = optarg;
+			break;
 		default:
 			usage();
 			exit(1);
-- 
2.34.1


^ permalink raw reply related	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2024-04-05 16:52 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-04-05  0:23 [PATCH] kpartx: Add -N option to allow specifying a devmapping name Glenn Washburn
2024-04-05 16:52 ` Martin Wilck

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.