On Tue, May 29, 2018 at 05:17:14PM -0400, Josef Bacik wrote: ... > + mutex_lock(&blkcg_pol_mutex); > + for (i = 0; i < BLKCG_MAX_POLS; i++) { > + struct blkcg_policy *pol = blkcg_policy[i]; > + > + if (!blkg->pd[i] || !pol->pd_stat_fn) > + continue; > + > + count = pol->pd_stat_fn(blkg->pd[i], buf, size); Wouldn't it be easier to simply pass in the seq_file? > + if (count >= size) > + continue; > + buf += count; > + total += count; > + size -= count + 1; > + } > + mutex_unlock(&blkcg_pol_mutex); > + if (total) { > + count = snprintf(buf, size, "\n"); > + if (count >= size) > + continue; scnprintf() might make this less painful. > + total += count; > + seq_commit(sf, total); > + } Thanks. -- tejun