common, ubi: add ubi check volumename command
check with this ubi command, if a UBI volume with "volumename" exists in current ubi device. Signed-off-by: Heiko Schocher <hs@denx.de>
This commit is contained in:
parent
2dd285f571
commit
f9f4d809a0
@ -123,6 +123,27 @@ static int ubi_info(int layout)
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static int ubi_check_volumename(const struct ubi_volume *vol, char *name)
|
||||||
|
{
|
||||||
|
return strcmp(vol->name, name);
|
||||||
|
}
|
||||||
|
|
||||||
|
static int ubi_check(char *name)
|
||||||
|
{
|
||||||
|
int i;
|
||||||
|
|
||||||
|
for (i = 0; i < (ubi->vtbl_slots + 1); i++) {
|
||||||
|
if (!ubi->volumes[i])
|
||||||
|
continue; /* Empty record */
|
||||||
|
|
||||||
|
if (!ubi_check_volumename(ubi->volumes[i], name))
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
return -EEXIST;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
static int verify_mkvol_req(const struct ubi_device *ubi,
|
static int verify_mkvol_req(const struct ubi_device *ubi,
|
||||||
const struct ubi_mkvol_req *req)
|
const struct ubi_mkvol_req *req)
|
||||||
{
|
{
|
||||||
@ -558,6 +579,14 @@ static int do_ubi(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
|
|||||||
return ubi_info(layout);
|
return ubi_info(layout);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (strcmp(argv[1], "check") == 0) {
|
||||||
|
if (argc > 2)
|
||||||
|
return ubi_check(argv[2]);
|
||||||
|
|
||||||
|
printf("Error, no volume name passed\n");
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
|
||||||
if (strncmp(argv[1], "create", 6) == 0) {
|
if (strncmp(argv[1], "create", 6) == 0) {
|
||||||
int dynamic = 1; /* default: dynamic volume */
|
int dynamic = 1; /* default: dynamic volume */
|
||||||
|
|
||||||
@ -663,6 +692,8 @@ U_BOOT_CMD(
|
|||||||
" header offset)\n"
|
" header offset)\n"
|
||||||
"ubi info [l[ayout]]"
|
"ubi info [l[ayout]]"
|
||||||
" - Display volume and ubi layout information\n"
|
" - Display volume and ubi layout information\n"
|
||||||
|
"ubi check volumename"
|
||||||
|
" - check if volumename exists\n"
|
||||||
"ubi create[vol] volume [size] [type]"
|
"ubi create[vol] volume [size] [type]"
|
||||||
" - create volume name with size\n"
|
" - create volume name with size\n"
|
||||||
"ubi write[vol] address volume size"
|
"ubi write[vol] address volume size"
|
||||||
|
Loading…
Reference in New Issue
Block a user