Re: [PATCH 5/5] blktrace: print human-readable act_mask

Ingo Molnar
2009-03-24T15:56:40Z

* Steven Rostedt <rostedt@goodmis.org> wrote:

>
>
> On Tue, 24 Mar 2009, Li Zefan wrote:
> >
> > +static ssize_t blk_trace_mask2str(char *buf, int mask)
> > +{
> > + int i;
> > + char *p = buf;
> > +
> > + for (i = 0; i < ARRAY_SIZE(mask_maps); i++) {
> > + if (mask & mask_maps[i].mask) {
> > + p += sprintf(p, "%s%s",
> > + (p == buf) ? "" : ",", mask_maps[i].str);
> > + }
> > + }
> > + *p++ = '\n';
> > +
> > + return (p - buf);
> > +}
> > +
> > static struct request_queue *blk_trace_get_queue(struct block_device *bdev)
> > {
> > if (bdev->bd_disk == NULL)
> > @@ -1399,7 +1423,7 @@ static ssize_t sysfs_blk_trace_attr_show(struct device *dev,
> > if (q->blk_trace == NULL)
> > ret = sprintf(buf, "disabled\n");
> > else if (attr == &dev_attr_act_mask)
> > - ret = sprintf(buf, "%#x\n", q->blk_trace->act_mask);
> > + ret = blk_trace_mask2str(buf, q->blk_trace->act_mask);
> > else if (attr == &dev_attr_pid)
> > ret = sprintf(buf, "%u\n", q->blk_trace->pid);
> > else if (attr == &dev_attr_start_lba)
> > @@ -1432,9 +1456,11 @@ static ssize_t sysfs_blk_trace_attr_store(struct device *dev,
> > if (attr == &dev_attr_act_mask) {
> > if (sscanf(buf, "%llx", &value) != 1) {
> > /* Assume it is a list of trace category names */
> > - value = blk_str2act_mask(buf);
> > - if (value < 0)
> > + value = blk_trace_str2mask(buf);
>
> Hmm, does this compile? Doesn't blk_trace_str2mask need two parameters?

No, it needs one parameter.

Ingo