Commit 28af7428 authored by Max Gurtovoy's avatar Max Gurtovoy Committed by Jens Axboe

block: add sysfs entry for virt boundary mask

This entry will expose the bio vector alignment mask for a specific
block device.
Signed-off-by: default avatarMax Gurtovoy <mgurtovoy@nvidia.com>
Reviewed-by: default avatarMing Lei <ming.lei@redhat.com>
Reviewed-by: default avatarMartin K. Petersen <martin.petersen@oracle.com>
Link: https://lore.kernel.org/r/20210405132012.12504-1-mgurtovoy@nvidia.comSigned-off-by: default avatarJens Axboe <axboe@kernel.dk>
parent 430a67f9
...@@ -60,7 +60,7 @@ static ssize_t queue_var_store64(s64 *var, const char *page) ...@@ -60,7 +60,7 @@ static ssize_t queue_var_store64(s64 *var, const char *page)
static ssize_t queue_requests_show(struct request_queue *q, char *page) static ssize_t queue_requests_show(struct request_queue *q, char *page)
{ {
return queue_var_show(q->nr_requests, (page)); return queue_var_show(q->nr_requests, page);
} }
static ssize_t static ssize_t
...@@ -264,6 +264,11 @@ static ssize_t queue_max_hw_sectors_show(struct request_queue *q, char *page) ...@@ -264,6 +264,11 @@ static ssize_t queue_max_hw_sectors_show(struct request_queue *q, char *page)
return queue_var_show(max_hw_sectors_kb, (page)); return queue_var_show(max_hw_sectors_kb, (page));
} }
static ssize_t queue_virt_boundary_mask_show(struct request_queue *q, char *page)
{
return queue_var_show(q->limits.virt_boundary_mask, (page));
}
#define QUEUE_SYSFS_BIT_FNS(name, flag, neg) \ #define QUEUE_SYSFS_BIT_FNS(name, flag, neg) \
static ssize_t \ static ssize_t \
queue_##name##_show(struct request_queue *q, char *page) \ queue_##name##_show(struct request_queue *q, char *page) \
...@@ -610,6 +615,7 @@ QUEUE_RO_ENTRY(queue_fua, "fua"); ...@@ -610,6 +615,7 @@ QUEUE_RO_ENTRY(queue_fua, "fua");
QUEUE_RO_ENTRY(queue_dax, "dax"); QUEUE_RO_ENTRY(queue_dax, "dax");
QUEUE_RW_ENTRY(queue_io_timeout, "io_timeout"); QUEUE_RW_ENTRY(queue_io_timeout, "io_timeout");
QUEUE_RW_ENTRY(queue_wb_lat, "wbt_lat_usec"); QUEUE_RW_ENTRY(queue_wb_lat, "wbt_lat_usec");
QUEUE_RO_ENTRY(queue_virt_boundary_mask, "virt_boundary_mask");
#ifdef CONFIG_BLK_DEV_THROTTLING_LOW #ifdef CONFIG_BLK_DEV_THROTTLING_LOW
QUEUE_RW_ENTRY(blk_throtl_sample_time, "throttle_sample_time"); QUEUE_RW_ENTRY(blk_throtl_sample_time, "throttle_sample_time");
...@@ -670,6 +676,7 @@ static struct attribute *queue_attrs[] = { ...@@ -670,6 +676,7 @@ static struct attribute *queue_attrs[] = {
#ifdef CONFIG_BLK_DEV_THROTTLING_LOW #ifdef CONFIG_BLK_DEV_THROTTLING_LOW
&blk_throtl_sample_time_entry.attr, &blk_throtl_sample_time_entry.attr,
#endif #endif
&queue_virt_boundary_mask_entry.attr,
NULL, NULL,
}; };
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment