Re: [PATCH 03/13] blk-cgroup: allow controllers to output their own stats

From: Tejun Heo
Date: Wed May 30 2018 - 11:54:41 EST


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