diff options
Diffstat (limited to 'ubi-utils/tests/mkvol_basic.c')
| -rw-r--r-- | ubi-utils/tests/mkvol_basic.c | 10 | 
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)) {  | 
