New -check_media option async_chunks=
This commit is contained in:
@ -571,6 +571,7 @@ int Checkmediajob_new(struct CheckmediajoB **o, int flag)
|
||||
m->min_lba= -1;
|
||||
m->max_lba= -1;
|
||||
m->min_block_size= 0;
|
||||
m->async_chunks= 0;
|
||||
m->mode= 0;
|
||||
m->start_time= time(NULL);
|
||||
m->time_limit= 28800;
|
||||
@ -655,6 +656,12 @@ int Xorriso_check_media_setup_job(struct XorrisO *xorriso,
|
||||
ret= Sfile_str(job->abort_file_path, argv[i] + 11, 0);
|
||||
if(ret <= 0)
|
||||
goto ex;
|
||||
} else if(strncmp(argv[i], "async_chunks=", 13) == 0) {
|
||||
num= Scanf_io_size(argv[i] + 13, 1);
|
||||
if(num >= 0 && num <= 1024)
|
||||
job->async_chunks= num;
|
||||
else
|
||||
goto bad_value;
|
||||
} else if(strncmp(argv[i], "bad_limit=", 10) == 0) {
|
||||
if(strcmp(argv[i] + 10, "good") == 0)
|
||||
xorriso->check_media_bad_limit= Xorriso_read_quality_gooD;
|
||||
@ -689,7 +696,7 @@ int Xorriso_check_media_setup_job(struct XorrisO *xorriso,
|
||||
if(num >= 2048 || num == 0)
|
||||
job->min_block_size= num / 2048;
|
||||
else
|
||||
goto unknown_value;
|
||||
goto bad_value;
|
||||
} else if(strncmp(argv[i], "event=", 6) == 0) {
|
||||
strncpy(sev_text, argv[i] + 6, 19);
|
||||
sev_text[19]= 0;
|
||||
@ -731,7 +738,7 @@ int Xorriso_check_media_setup_job(struct XorrisO *xorriso,
|
||||
num= -1;
|
||||
sscanf(argv[i] + 11, "%lf", &num);
|
||||
if(num > 0x7fffffff || num < 0)
|
||||
goto unknown_value;
|
||||
goto bad_value;
|
||||
job->patch_lba0_msc1= num;
|
||||
job->patch_lba0= (num >= 32) + (strstr(argv[i] + 11, ":force") != NULL);
|
||||
} else
|
||||
@ -815,6 +822,11 @@ unknown_value:;
|
||||
"-check_media: Unknown value with option %s", argv[i]);
|
||||
Xorriso_msgs_submit(xorriso, 0, xorriso->info_text, 0, "FAILURE", 0);
|
||||
ret= 0; goto ex;
|
||||
bad_value:;
|
||||
sprintf(xorriso->info_text,
|
||||
"-check_media: Unsuitable value with option %s", argv[i]);
|
||||
Xorriso_msgs_submit(xorriso, 0, xorriso->info_text, 0, "FAILURE", 0);
|
||||
ret= 0; goto ex;
|
||||
}
|
||||
} else {
|
||||
sprintf(xorriso->info_text, "-check_media: Unknown option '%s'", argv[i]);
|
||||
|
Reference in New Issue
Block a user