summaryrefslogtreecommitdiffstats
path: root/drivers/md/dm-sysfs.c
diff options
context:
space:
mode:
authorMike Snitzer <snitzer@redhat.com>2015-03-11 20:01:09 +0100
committerMike Snitzer <snitzer@redhat.com>2015-04-15 18:10:17 +0200
commit17e149b8f73ba116e71e25930dd6f2eb3828792d (patch)
tree6407112dbb113ffeebfd0620df27d4f67cd27ed1 /drivers/md/dm-sysfs.c
parentdm: optimize dm_mq_queue_rq to _not_ use kthread if using pure blk-mq (diff)
downloadlinux-17e149b8f73ba116e71e25930dd6f2eb3828792d.tar.xz
linux-17e149b8f73ba116e71e25930dd6f2eb3828792d.zip
dm: add 'use_blk_mq' module param and expose in per-device ro sysfs attr
Request-based DM's blk-mq support defaults to off; but a user can easily change the default using the dm_mod.use_blk_mq module/boot option. Also, you can check what mode a given request-based DM device is using with: cat /sys/block/dm-X/dm/use_blk_mq This change enabled further cleanup and reduced work (e.g. the md->io_pool and md->rq_pool isn't created if using blk-mq). Signed-off-by: Mike Snitzer <snitzer@redhat.com>
Diffstat (limited to 'drivers/md/dm-sysfs.c')
-rw-r--r--drivers/md/dm-sysfs.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/drivers/md/dm-sysfs.c b/drivers/md/dm-sysfs.c
index f5bb3944f75e..7e818f5f1dc4 100644
--- a/drivers/md/dm-sysfs.c
+++ b/drivers/md/dm-sysfs.c
@@ -89,15 +89,24 @@ static ssize_t dm_attr_suspended_show(struct mapped_device *md, char *buf)
return strlen(buf);
}
+static ssize_t dm_attr_use_blk_mq_show(struct mapped_device *md, char *buf)
+{
+ sprintf(buf, "%d\n", dm_use_blk_mq(md));
+
+ return strlen(buf);
+}
+
static DM_ATTR_RO(name);
static DM_ATTR_RO(uuid);
static DM_ATTR_RO(suspended);
+static DM_ATTR_RO(use_blk_mq);
static DM_ATTR_RW(rq_based_seq_io_merge_deadline);
static struct attribute *dm_attrs[] = {
&dm_attr_name.attr,
&dm_attr_uuid.attr,
&dm_attr_suspended.attr,
+ &dm_attr_use_blk_mq.attr,
&dm_attr_rq_based_seq_io_merge_deadline.attr,
NULL,
};