scsi: use %*pb[l] to print bitmaps including cpumasks and nodemasks

printk and friends can now format bitmaps using '%*pb[l]'.  cpumask
and nodemask also provide cpumask_pr_args() and nodemask_pr_args()
respectively which can be used to generate the two printf arguments
necessary to format the specified cpu/nodemask.

* map_show()'s return value is too high by one and the function could
  modify beyond the end of the buffer when the formatted text is long
  enough.

Signed-off-by: Tejun Heo <tj@kernel.org>
Cc: "James E.J. Bottomley" <James.Bottomley@HansenPartnership.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
Tejun Heo 2015-02-13 14:37:51 -08:00 committed by Linus Torvalds
parent 0b480037e8
commit c7badc9017

View file

@ -4658,10 +4658,10 @@ static ssize_t map_show(struct device_driver *ddp, char *buf)
return scnprintf(buf, PAGE_SIZE, "0-%u\n",
sdebug_store_sectors);
count = bitmap_scnlistprintf(buf, PAGE_SIZE, map_storep, map_size);
count = scnprintf(buf, PAGE_SIZE - 1, "%*pbl",
(int)map_size, map_storep);
buf[count++] = '\n';
buf[count++] = 0;
buf[count] = '\0';
return count;
}