je->nr_running = le32_to_cpu(je->nr_running);
je->nr_ramp = le32_to_cpu(je->nr_ramp);
je->nr_pending = le32_to_cpu(je->nr_pending);
+ je->nr_setting_up = le32_to_cpu(je->nr_setting_up);
je->files_open = le32_to_cpu(je->files_open);
for (i = 0; i < DDIR_RWDIR_CNT; i++) {
dst->nr_running += je->nr_running;
dst->nr_ramp += je->nr_ramp;
dst->nr_pending += je->nr_pending;
+ dst->nr_setting_up += je->nr_setting_up;
dst->files_open += je->files_open;
for (i = 0; i < DDIR_RWDIR_CNT; i++) {
eta_sec = td->o.timeout + done_secs - elapsed;
} else if (td->runstate == TD_NOT_CREATED || td->runstate == TD_CREATED
|| td->runstate == TD_INITIALIZED
+ || td->runstate == TD_SETTING_UP
|| td->runstate == TD_RAMP
|| td->runstate == TD_PRE_READING) {
int t_eta = 0, r_eta = 0;
} else if (td->runstate == TD_RAMP) {
je->nr_running++;
je->nr_ramp++;
- } else if (td->runstate == TD_SETTING_UP)
+ } else if (td->runstate == TD_SETTING_UP) {
je->nr_running++;
- else if (td->runstate < TD_RUNNING)
+ je->nr_setting_up++;
+ } else if (td->runstate < TD_RUNNING)
je->nr_pending++;
if (je->elapsed_sec >= 3)
check_str_update(td);
- if (td->runstate > TD_RAMP) {
+ if (td->runstate > TD_SETTING_UP) {
int ddir;
for (ddir = DDIR_READ; ddir < DDIR_RWDIR_CNT; ddir++) {
if ((!je->eta_sec && !eta_good) || je->nr_ramp == je->nr_running)
strcpy(perc_str, "-.-% done");
else {
+ double mult = 100.0;
+
+ if (je->nr_setting_up && je->nr_running)
+ mult *= (1.0 - (double) je->nr_setting_up / (double) je->nr_running);
+
eta_good = 1;
- perc *= 100.0;
+ perc *= mult;
sprintf(perc_str, "%3.1f%% done", perc);
}
je->nr_running = cpu_to_le32(je->nr_running);
je->nr_ramp = cpu_to_le32(je->nr_ramp);
je->nr_pending = cpu_to_le32(je->nr_pending);
+ je->nr_setting_up = cpu_to_le32(je->nr_setting_up);
je->files_open = cpu_to_le32(je->files_open);
for (i = 0; i < DDIR_RWDIR_CNT; i++) {
uint32_t nr_running;
uint32_t nr_ramp;
uint32_t nr_pending;
+ uint32_t nr_setting_up;
uint32_t files_open;
uint32_t m_rate[DDIR_RWDIR_CNT], t_rate[DDIR_RWDIR_CNT];
uint32_t m_iops[DDIR_RWDIR_CNT], t_iops[DDIR_RWDIR_CNT];