From 34d598023e22aacdbec4fbff9a7f0bf4759fce9d Mon Sep 17 00:00:00 2001 From: Leif Middelschulte Date: Fri, 23 Nov 2018 14:46:58 +0100 Subject: ubimkvol: add support for `volume_id` parameter The volume id can be used to refer to a specific volume. This adds support to choose a corresponding argument when creating a UBI volume. Signed-off-by: Leif Middelschulte --- commands/ubi.c | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/commands/ubi.c b/commands/ubi.c index de5633c458..f37684102d 100644 --- a/commands/ubi.c +++ b/commands/ubi.c @@ -108,8 +108,9 @@ static int do_ubimkvol(int argc, char *argv[]) uint32_t ubinum; req.vol_type = UBI_DYNAMIC_VOLUME; + req.vol_id = UBI_VOL_NUM_AUTO; - while ((opt = getopt(argc, argv, "t:")) > 0) { + while ((opt = getopt(argc, argv, "t:n:")) > 0) { switch (opt) { case 't': if (!strcmp(optarg, "dynamic")) @@ -119,6 +120,9 @@ static int do_ubimkvol(int argc, char *argv[]) else return COMMAND_ERROR_USAGE; break; + case 'n': + req.vol_id = simple_strtoul(optarg, NULL, 0); + break; default: return COMMAND_ERROR_USAGE; } @@ -133,7 +137,6 @@ static int do_ubimkvol(int argc, char *argv[]) req.name[req.name_len] = 0; req.bytes = size; - req.vol_id = UBI_VOL_NUM_AUTO; req.alignment = 1; fd = open(argv[optind], O_WRONLY); @@ -160,12 +163,13 @@ BAREBOX_CMD_HELP_START(ubimkvol) BAREBOX_CMD_HELP_TEXT("Create an UBI volume on UBIDEV with NAME and SIZE.") BAREBOX_CMD_HELP_TEXT("If SIZE is 0 all available space is used for the volume.") BAREBOX_CMD_HELP_OPT("-t ", "volume type, default is dynamic") +BAREBOX_CMD_HELP_OPT("-n ", "volume ID, default is dynamically assigned") BAREBOX_CMD_HELP_END BAREBOX_CMD_START(ubimkvol) .cmd = do_ubimkvol, BAREBOX_CMD_DESC("create an UBI volume") - BAREBOX_CMD_OPTS("[-t] UBIDEV NAME SIZE") + BAREBOX_CMD_OPTS("[-tn] UBIDEV NAME SIZE") BAREBOX_CMD_GROUP(CMD_GRP_PART) BAREBOX_CMD_HELP(cmd_ubimkvol_help) BAREBOX_CMD_END -- cgit v1.2.3