diff mbox

[v8,2/7] blk-sysfs: Add 'chunk_sectors' to sysfs attributes

Message ID 1476772835-18541-3-git-send-email-damien.lemoal@wdc.com (mailing list archive)
State New, archived
Headers show

Commit Message

Damien Le Moal Oct. 18, 2016, 6:40 a.m. UTC
From: Hannes Reinecke <hare@suse.de>

The queue limits already have a 'chunk_sectors' setting, so
we should be presenting it via sysfs.

Signed-off-by: Hannes Reinecke <hare@suse.de>

[Damien: Updated Documentation/ABI/testing/sysfs-block]

Signed-off-by: Damien Le Moal <damien.lemoal@hgst.com>
Reviewed-by: Christoph Hellwig <hch@lst.de>
Reviewed-by: Martin K. Petersen <martin.petersen@oracle.com>
Reviewed-by: Shaun Tancheff <shaun.tancheff@seagate.com>
Tested-by: Shaun Tancheff <shaun.tancheff@seagate.com>
---
 Documentation/ABI/testing/sysfs-block | 13 +++++++++++++
 block/blk-sysfs.c                     | 11 +++++++++++
 2 files changed, 24 insertions(+)

Comments

Jeff Moyer Oct. 18, 2016, 4:43 p.m. UTC | #1
Damien Le Moal <damien.lemoal@wdc.com> writes:

> diff --git a/Documentation/ABI/testing/sysfs-block b/Documentation/ABI/testing/sysfs-block
> index 75a5055..ee2d5cd 100644
> --- a/Documentation/ABI/testing/sysfs-block
> +++ b/Documentation/ABI/testing/sysfs-block
> @@ -251,3 +251,16 @@ Description:
>  		since drive-managed zoned block devices do not support
>  		zone commands, they will be treated as regular block
>  		devices and zoned will report "none".
> +
> +What:		/sys/block/<disk>/queue/chunk_sectors
> +Date:		September 2016
> +Contact:	Hannes Reinecke <hare@suse.com>
> +Description:
> +		chunk_sectors has different meaning depending on the type
> +		of the disk. For a RAID device (dm-raid), chunk_sectors
> +		indicates the size in 512B sectors of the RAID volume
> +		stripe segment. For a zoned block device, either
> +		host-aware or host-managed, chunk_sectors indicates the
> +		size of 512B sectors of the zones of the device, with
                     ^^
                     in
--
To unsubscribe from this list: send the line "unsubscribe linux-block" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Damien Le Moal Oct. 18, 2016, 11:17 p.m. UTC | #2
Jeff,

On 10/19/16 01:43, Jeff Moyer wrote:
> Damien Le Moal <damien.lemoal@wdc.com> writes:
> 
>> diff --git a/Documentation/ABI/testing/sysfs-block b/Documentation/ABI/testing/sysfs-block
>> index 75a5055..ee2d5cd 100644
>> --- a/Documentation/ABI/testing/sysfs-block
>> +++ b/Documentation/ABI/testing/sysfs-block
>> @@ -251,3 +251,16 @@ Description:
>>  		since drive-managed zoned block devices do not support
>>  		zone commands, they will be treated as regular block
>>  		devices and zoned will report "none".
>> +
>> +What:		/sys/block/<disk>/queue/chunk_sectors
>> +Date:		September 2016
>> +Contact:	Hannes Reinecke <hare@suse.com>
>> +Description:
>> +		chunk_sectors has different meaning depending on the type
>> +		of the disk. For a RAID device (dm-raid), chunk_sectors
>> +		indicates the size in 512B sectors of the RAID volume
>> +		stripe segment. For a zoned block device, either
>> +		host-aware or host-managed, chunk_sectors indicates the
>> +		size of 512B sectors of the zones of the device, with
>                      ^^
>                      in

Good catch. Thank you. Will fix this.
diff mbox

Patch

diff --git a/Documentation/ABI/testing/sysfs-block b/Documentation/ABI/testing/sysfs-block
index 75a5055..ee2d5cd 100644
--- a/Documentation/ABI/testing/sysfs-block
+++ b/Documentation/ABI/testing/sysfs-block
@@ -251,3 +251,16 @@  Description:
 		since drive-managed zoned block devices do not support
 		zone commands, they will be treated as regular block
 		devices and zoned will report "none".
+
+What:		/sys/block/<disk>/queue/chunk_sectors
+Date:		September 2016
+Contact:	Hannes Reinecke <hare@suse.com>
+Description:
+		chunk_sectors has different meaning depending on the type
+		of the disk. For a RAID device (dm-raid), chunk_sectors
+		indicates the size in 512B sectors of the RAID volume
+		stripe segment. For a zoned block device, either
+		host-aware or host-managed, chunk_sectors indicates the
+		size of 512B sectors of the zones of the device, with
+		the eventual exception of the last zone of the device
+		which may be smaller.
diff --git a/block/blk-sysfs.c b/block/blk-sysfs.c
index ff9cd9c..488c2e2 100644
--- a/block/blk-sysfs.c
+++ b/block/blk-sysfs.c
@@ -130,6 +130,11 @@  static ssize_t queue_physical_block_size_show(struct request_queue *q, char *pag
 	return queue_var_show(queue_physical_block_size(q), page);
 }
 
+static ssize_t queue_chunk_sectors_show(struct request_queue *q, char *page)
+{
+	return queue_var_show(q->limits.chunk_sectors, page);
+}
+
 static ssize_t queue_io_min_show(struct request_queue *q, char *page)
 {
 	return queue_var_show(queue_io_min(q), page);
@@ -455,6 +460,11 @@  static struct queue_sysfs_entry queue_physical_block_size_entry = {
 	.show = queue_physical_block_size_show,
 };
 
+static struct queue_sysfs_entry queue_chunk_sectors_entry = {
+	.attr = {.name = "chunk_sectors", .mode = S_IRUGO },
+	.show = queue_chunk_sectors_show,
+};
+
 static struct queue_sysfs_entry queue_io_min_entry = {
 	.attr = {.name = "minimum_io_size", .mode = S_IRUGO },
 	.show = queue_io_min_show,
@@ -555,6 +565,7 @@  static struct attribute *default_attrs[] = {
 	&queue_hw_sector_size_entry.attr,
 	&queue_logical_block_size_entry.attr,
 	&queue_physical_block_size_entry.attr,
+	&queue_chunk_sectors_entry.attr,
 	&queue_io_min_entry.attr,
 	&queue_io_opt_entry.attr,
 	&queue_discard_granularity_entry.attr,