diff options
author | Leif Middelschulte <leif.middelschulte@gmail.com> | 2018-11-23 14:46:58 +0100 |
---|---|---|
committer | Leif Middelschulte <leif.middelschulte@gmail.com> | 2018-11-26 13:17:29 +0100 |
commit | 34d598023e22aacdbec4fbff9a7f0bf4759fce9d (patch) | |
tree | d40d140434728acc4f8f4a9dc3312c7df00f2a78 | |
parent | 6bacf7bd8df889268b9641e27791399831f947d3 (diff) | |
download | barebox-34d598023e22aacdbec4fbff9a7f0bf4759fce9d.tar.gz barebox-34d598023e22aacdbec4fbff9a7f0bf4759fce9d.tar.xz |
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 <leif.middelschulte@gmail.com>
-rw-r--r-- | commands/ubi.c | 10 |
1 files 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 <static|dynamic>", "volume type, default is dynamic") +BAREBOX_CMD_HELP_OPT("-n <vol_id>", "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 |