Message ID | 1475052339-10202-3-git-send-email-damien.lemoal@hgst.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
On Wed, Sep 28, 2016 at 3:45 AM, Damien Le Moal <damien.lemoal@hgst.com> wrote: > 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> > --- > Documentation/ABI/testing/sysfs-block | 13 +++++++++++++ > block/blk-sysfs.c | 11 +++++++++++ > 2 files changed, 24 insertions(+) > > 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, > -- > 2.7.4 Reviewed-by: Shaun Tancheff <shaun.tancheff@seagate.com> Tested-by: Shaun Tancheff <shaun.tancheff@seagate.com> > > -- > 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" == Damien Le Moal <damien.lemoal@hgst.com> writes: Damien> From: Hannes Reinecke <hare@suse.de> The queue limits already Damien> have a 'chunk_sectors' setting, so we should be presenting it Damien> via sysfs. Reviewed-by: Martin K. Petersen <martin.petersen@oracle.com>
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,