block: enable zeroing of io_poll statistics
authorStephen Bates <sbates@raithlin.com>
Tue, 13 Sep 2016 18:23:16 +0000 (12:23 -0600)
committerJens Axboe <axboe@fb.com>
Wed, 14 Sep 2016 14:41:23 +0000 (08:41 -0600)
Allow the io_poll statistics to be zeroed to make for easier logging
of polling event.

Signed-off-by: Stephen Bates <sbates@raithlin.com>
Acked-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Jens Axboe <axboe@fb.com>
block/blk-mq-sysfs.c

index ea8c3f58afbdc69fb65430a27bdbd340f1902383..ac5160eb6862533eb6d6b8a4277bc256cec45222 100644 (file)
@@ -181,6 +181,14 @@ static ssize_t blk_mq_hw_sysfs_poll_show(struct blk_mq_hw_ctx *hctx, char *page)
                       hctx->poll_success);
 }
 
+static ssize_t blk_mq_hw_sysfs_poll_store(struct blk_mq_hw_ctx *hctx,
+                                         const char *page, size_t size)
+{
+       hctx->poll_considered = hctx->poll_invoked = hctx->poll_success = 0;
+
+       return size;
+}
+
 static ssize_t blk_mq_hw_sysfs_queued_show(struct blk_mq_hw_ctx *hctx,
                                           char *page)
 {
@@ -303,8 +311,9 @@ static struct blk_mq_hw_ctx_sysfs_entry blk_mq_hw_sysfs_cpus = {
        .show = blk_mq_hw_sysfs_cpus_show,
 };
 static struct blk_mq_hw_ctx_sysfs_entry blk_mq_hw_sysfs_poll = {
-       .attr = {.name = "io_poll", .mode = S_IRUGO },
+       .attr = {.name = "io_poll", .mode = S_IWUSR | S_IRUGO },
        .show = blk_mq_hw_sysfs_poll_show,
+       .store = blk_mq_hw_sysfs_poll_store,
 };
 
 static struct attribute *default_hw_ctx_attrs[] = {