summaryrefslogtreecommitdiffstats
path: root/block/blk-mq-debugfs-zoned.c
diff options
context:
space:
mode:
authorBart Van Assche <bart.vanassche@wdc.com>2018-06-15 23:55:21 +0200
committerJens Axboe <axboe@kernel.dk>2018-07-09 17:07:52 +0200
commit6a5ac9846508ad7d1d23881d9d5add35f2e6ae71 (patch)
treec0386ecdda510c941829913bba55aa68085a92b3 /block/blk-mq-debugfs-zoned.c
parentblock: Inline blk_queue_nr_zones() (diff)
downloadlinux-6a5ac9846508ad7d1d23881d9d5add35f2e6ae71.tar.xz
linux-6a5ac9846508ad7d1d23881d9d5add35f2e6ae71.zip
block: Make struct request_queue smaller for CONFIG_BLK_DEV_ZONED=n
Exclude zoned block device members from struct request_queue for CONFIG_BLK_DEV_ZONED == n. Avoid breaking the build by only building the code that uses these struct request_queue members if CONFIG_BLK_DEV_ZONED != n. Signed-off-by: Bart Van Assche <bart.vanassche@wdc.com> Reviewed-by: Damien Le Moal <damien.lemoal@wdc.com> Cc: Matias Bjorling <mb@lightnvm.io> Cc: Christoph Hellwig <hch@lst.de> Signed-off-by: Jens Axboe <axboe@kernel.dk>
Diffstat (limited to 'block/blk-mq-debugfs-zoned.c')
-rw-r--r--block/blk-mq-debugfs-zoned.c24
1 files changed, 24 insertions, 0 deletions
diff --git a/block/blk-mq-debugfs-zoned.c b/block/blk-mq-debugfs-zoned.c
new file mode 100644
index 000000000000..fb2c82c351e4
--- /dev/null
+++ b/block/blk-mq-debugfs-zoned.c
@@ -0,0 +1,24 @@
+// SPDX-License-Identifier: GPL-2.0
+/*
+ * Copyright (C) 2017 Western Digital Corporation or its affiliates.
+ *
+ * This file is released under the GPL.
+ */
+
+#include <linux/blkdev.h>
+#include "blk-mq-debugfs.h"
+
+int queue_zone_wlock_show(void *data, struct seq_file *m)
+{
+ struct request_queue *q = data;
+ unsigned int i;
+
+ if (!q->seq_zones_wlock)
+ return 0;
+
+ for (i = 0; i < q->nr_zones; i++)
+ if (test_bit(i, q->seq_zones_wlock))
+ seq_printf(m, "%u\n", i);
+
+ return 0;
+}