members++;
if (!ts->groupid) {
+ /*
+ * These are per-group shared already
+ */
ts->name = td->name;
ts->description = td->description;
- ts->error = td->error;
ts->groupid = td->groupid;
+
+ /*
+ * first pid in group, not very useful...
+ */
ts->pid = td->pid;
+ }
+
+ if (td->error && !ts->error) {
+ ts->error = td->error;
ts->verror = td->verror;
}
static inline void add_stat_sample(struct io_stat *is, unsigned long data)
{
double val = data;
- double delta, n;
+ double delta;
if (data > is->max_val)
is->max_val = data;
is->min_val = data;
delta = val - is->mean;
- n = is->samples + 1.0;
- is->mean += delta / n;
+ is->mean += delta / (is->samples + 1.0);
is->S += delta * (val - is->mean);
is->samples++;