summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLeif Middelschulte <leif.middelschulte@gmail.com>2018-11-23 14:46:58 +0100
committerLeif Middelschulte <leif.middelschulte@gmail.com>2018-11-26 13:17:29 +0100
commit34d598023e22aacdbec4fbff9a7f0bf4759fce9d (patch)
treed40d140434728acc4f8f4a9dc3312c7df00f2a78
parent6bacf7bd8df889268b9641e27791399831f947d3 (diff)
downloadbarebox-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.c10
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