X-Git-Url: http://git.ozlabs.org/?p=petitboot;a=blobdiff_plain;f=discover%2Fdevmapper.c;h=f7407b77b3544c94d6fa85d86aac3d0c950ab7b5;hp=c1a5492b98a6550da0de04f30be4c4df952f4c0c;hb=3696c3db457c4f5456fd357700085caa1056a0f0;hpb=0739476294f6925b01ad12b1b198f85b41bc657d diff --git a/discover/devmapper.c b/discover/devmapper.c index c1a5492..f7407b7 100644 --- a/discover/devmapper.c +++ b/discover/devmapper.c @@ -2,6 +2,7 @@ #include #include #include +#include #include #include @@ -137,7 +138,7 @@ static bool snapshot_merge_complete(const char *dm_name) task = dm_task_create(DM_DEVICE_STATUS); if (!task) { - pb_log("%s: Error creating task\n", __func__); + pb_log_fn("Error creating task\n"); return result; } @@ -197,7 +198,7 @@ static int set_device_active(const char *dm_name, bool active) task = dm_task_create(DM_DEVICE_SUSPEND); if (!task) { - pb_log("%s: Could not create dm_task\n", __func__); + pb_log_fn("Could not create dm_task\n"); return rc; } @@ -231,7 +232,7 @@ static int run_create_task(const char *dm_name, const struct target *target) struct dm_task *task; uint32_t cookie; - pb_debug("%s: %lu %lu '%s' '%s'\n", __func__, + pb_debug("%s: %" PRIu64 " %" PRIu64 " '%s' '%s'\n", __func__, target->start_sector, target->end_sector, target->ttype, target->params); @@ -285,11 +286,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 +326,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 +351,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 +369,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 +384,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; @@ -457,7 +461,7 @@ static int destroy_device(const char *dm_name) task = dm_task_create(DM_DEVICE_REMOVE); if (!task) { - pb_log("%s: could not create dm_task\n", __func__); + pb_log_fn("could not create dm_task\n"); return -1; } @@ -539,13 +543,13 @@ static int reload_snapshot(struct discover_device *device, bool merge) device->ramdisk->base); } if (!target.ttype || !target.params) { - pb_log("%s: failed to allocate parameters\n", __func__); + pb_log_fn("failed to allocate parameters\n"); goto err1; } task = dm_task_create(DM_DEVICE_RELOAD); if (!task) { - pb_log("%s: Error creating task\n", __func__); + pb_log_fn("Error creating task\n"); goto err1; } @@ -556,7 +560,7 @@ static int reload_snapshot(struct discover_device *device, bool merge) if (!dm_task_add_target(task, target.start_sector, target.end_sector, target.ttype, target.params)) { - pb_log("%s: Failed to set target\n", __func__); + pb_log_fn("Failed to set target\n"); goto err2; } @@ -577,7 +581,7 @@ err1: int devmapper_merge_snapshot(struct discover_device *device) { if (device->mounted) { - pb_log("%s: %s still mounted\n", __func__, device->device->id); + pb_log_fn("%s still mounted\n", device->device->id); return -1; }