summaryrefslogtreecommitdiff
path: root/ubi-utils/tests/mkvol_basic.c
diff options
context:
space:
mode:
Diffstat (limited to 'ubi-utils/tests/mkvol_basic.c')
-rw-r--r--ubi-utils/tests/mkvol_basic.c10
1 files changed, 7 insertions, 3 deletions
diff --git a/ubi-utils/tests/mkvol_basic.c b/ubi-utils/tests/mkvol_basic.c
index 2c6a512..e2120e9 100644
--- a/ubi-utils/tests/mkvol_basic.c
+++ b/ubi-utils/tests/mkvol_basic.c
@@ -197,11 +197,11 @@ remove:
static int mkvol_multiple(void)
{
struct ubi_mkvol_request req;
- int i, ret;
+ int i, ret, max = dev_info.max_vol_count;
const char *name = TESTNAME ":mkvol_multiple()";
/* Create maximum number of volumes */
- for (i = 0; i < dev_info.max_vol_count; i++) {
+ for (i = 0; i < max; i++) {
char nm[strlen(name) + 50];
req.vol_id = UBI_VOL_NUM_AUTO;
@@ -213,6 +213,10 @@ static int mkvol_multiple(void)
req.name = &nm[0];
if (ubi_mkvol(libubi, node, &req)) {
+ if (errno == ENFILE) {
+ max = i;
+ break;
+ }
failed("ubi_mkvol");
err_msg("vol_id %d", i);
goto remove;
@@ -224,7 +228,7 @@ static int mkvol_multiple(void)
}
}
- for (i = 0; i < dev_info.max_vol_count; i++) {
+ for (i = 0; i < max; i++) {
struct ubi_vol_info vol_info;
if (ubi_rmvol(libubi, node, i)) {