[PATCH 2/4] discover/devmapper: Add prefix to devmapper device names
Samuel Mendoza-Jonas
sam at mendozajonas.com
Thu Jun 15 14:54:29 AEST 2017
Add a 'pb-' prefix to all device mapper devices created by Petitboot.
Beyond helping to identify Petitboot-related devices, this avoids naming
collisions if we create snapshots of LVM logical volumes which also
exist in /dev/mapper.
Signed-off-by: Samuel Mendoza-Jonas <sam at mendozajonas.com>
---
discover/devmapper.c | 15 +++++++++------
1 file changed, 9 insertions(+), 6 deletions(-)
diff --git a/discover/devmapper.c b/discover/devmapper.c
index c1a5492..2b28e0f 100644
--- a/discover/devmapper.c
+++ b/discover/devmapper.c
@@ -285,11 +285,11 @@ static int create_base(struct discover_device *device)
goto out;
}
- name = talloc_asprintf(device, "%s-base", device->device->id);
+ name = talloc_asprintf(device, "pb-%s-base", device->device->id);
if (!name || run_create_task(name, &target))
goto out;
- device->ramdisk->base = talloc_asprintf(device, "/dev/mapper/%s-base",
+ device->ramdisk->base = talloc_asprintf(device, "/dev/mapper/pb-%s-base",
device->device->id);
if (!device->ramdisk->base) {
pb_log("Failed to track new device /dev/mapper/%s-base\n",
@@ -325,12 +325,12 @@ static int create_origin(struct discover_device *device)
goto out;
}
- name = talloc_asprintf(device, "%s-origin", device->device->id);
+ name = talloc_asprintf(device, "pb-%s-origin", device->device->id);
if (!name || run_create_task(name, &target))
goto out;
device->ramdisk->origin = talloc_asprintf(device,
- "/dev/mapper/%s-origin",
+ "/dev/mapper/pb-%s-origin",
device->device->id);
if (!device->ramdisk->origin) {
pb_log("Failed to track new device /dev/mapper/%s-origin\n",
@@ -350,6 +350,7 @@ out:
static int create_snapshot(struct discover_device *device)
{
struct target target;
+ char *name = NULL;
int rc = -1;
if (!device->ramdisk || !device->ramdisk->base ||
@@ -367,10 +368,11 @@ static int create_snapshot(struct discover_device *device)
goto out;
}
- if (run_create_task(device->device->id, &target))
+ name = talloc_asprintf(device, "pb-%s", device->device->id);
+ if (!name || run_create_task(name, &target))
goto out;
- device->ramdisk->snapshot = talloc_asprintf(device, "/dev/mapper/%s",
+ device->ramdisk->snapshot = talloc_asprintf(device, "/dev/mapper/pb-%s",
device->device->id);
if (!device->ramdisk->snapshot) {
pb_log("Failed to track new device /dev/mapper/%s\n",
@@ -381,6 +383,7 @@ static int create_snapshot(struct discover_device *device)
rc = 0;
out:
+ talloc_free(name);
talloc_free(target.params);
talloc_free(target.ttype);
return rc;
--
2.13.1
More information about the Petitboot
mailing list