From: martin.petersen@oracle.com (Martin K. Petersen)
Subject: [PATCH 4/5] block: Export integrity data interval size in sysfs
Date: Thu, 20 Aug 2015 16:41:53 -0400 [thread overview]
Message-ID: <1440103314-31610-5-git-send-email-martin.petersen@oracle.com> (raw)
In-Reply-To: <1440103314-31610-1-git-send-email-martin.petersen@oracle.com>
The size of the data interval was not exported in the sysfs integrity
directory. Export it so that userland apps can tell whether the interval
is different from the device's logical block size.
Signed-off-by: Martin K. Petersen <martin.petersen at oracle.com>
Reviewed-by: Sagi Grimberg <sagig at mellanox.com>
---
Documentation/ABI/testing/sysfs-block | 7 +++++++
block/blk-integrity.c | 14 ++++++++++++++
2 files changed, 21 insertions(+)
diff --git a/Documentation/ABI/testing/sysfs-block b/Documentation/ABI/testing/sysfs-block
index 8df003963d99..71d184dbb70d 100644
--- a/Documentation/ABI/testing/sysfs-block
+++ b/Documentation/ABI/testing/sysfs-block
@@ -60,6 +60,13 @@ Description:
Indicates whether a storage device is capable of storing
integrity metadata. Set if the device is T10 PI-capable.
+What: /sys/block/<disk>/integrity/protection_interval_bytes
+Date: July 2015
+Contact: Martin K. Petersen <martin.petersen at oracle.com>
+Description:
+ Describes the number of data bytes which are protected
+ by one integrity tuple. Typically the device's logical
+ block size.
What: /sys/block/<disk>/integrity/write_generate
Date: June 2008
diff --git a/block/blk-integrity.c b/block/blk-integrity.c
index 70ba9389d0dd..72b427c3ed1e 100644
--- a/block/blk-integrity.c
+++ b/block/blk-integrity.c
@@ -286,6 +286,14 @@ static ssize_t integrity_tag_size_show(struct blk_integrity *bi, char *page)
return sprintf(page, "0\n");
}
+static ssize_t integrity_interval_show(struct blk_integrity *bi, char *page)
+{
+ if (bi != NULL)
+ return sprintf(page, "%u\n", 1 << bi->interval_exp);
+ else
+ return sprintf(page, "0\n");
+}
+
static ssize_t integrity_verify_store(struct blk_integrity *bi,
const char *page, size_t count)
{
@@ -340,6 +348,11 @@ static struct integrity_sysfs_entry integrity_tag_size_entry = {
.show = integrity_tag_size_show,
};
+static struct integrity_sysfs_entry integrity_interval_entry = {
+ .attr = { .name = "protection_interval_bytes", .mode = S_IRUGO },
+ .show = integrity_interval_show,
+};
+
static struct integrity_sysfs_entry integrity_verify_entry = {
.attr = { .name = "read_verify", .mode = S_IRUGO | S_IWUSR },
.show = integrity_verify_show,
@@ -360,6 +373,7 @@ static struct integrity_sysfs_entry integrity_device_entry = {
static struct attribute *integrity_attrs[] = {
&integrity_format_entry.attr,
&integrity_tag_size_entry.attr,
+ &integrity_interval_entry.attr,
&integrity_verify_entry.attr,
&integrity_generate_entry.attr,
&integrity_device_entry.attr,
--
2.4.3
next prev parent reply other threads:[~2015-08-20 20:41 UTC|newest]
Thread overview: 61+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-07-14 17:57 [PATCH] NVMe: Reread partitions on metadata formats Keith Busch
2015-07-14 18:49 ` Jens Axboe
2015-07-14 19:01 ` Paul Grabinar
2015-07-15 3:48 ` Dan Williams
2015-07-15 21:36 ` Jens Axboe
2015-07-15 22:28 ` Keith Busch
2015-07-16 9:19 ` Christoph Hellwig
2015-07-17 1:47 ` Martin K. Petersen
2015-07-17 9:30 ` Christoph Hellwig
2015-07-21 6:02 ` Data integrity tweaks Martin K. Petersen
2015-07-21 6:02 ` [PATCH 1/5] block: Move integrity kobject to struct gendisk Martin K. Petersen
2015-07-22 11:32 ` Sagi Grimberg
2015-07-21 6:02 ` [PATCH 2/5] block: Consolidate static integrity profile properties Martin K. Petersen
2015-07-22 11:33 ` Sagi Grimberg
2015-07-21 6:02 ` [PATCH 3/5] block: Reduce the size of struct blk_integrity Martin K. Petersen
2015-07-21 11:53 ` Christoph Hellwig
2015-07-24 15:14 ` Martin K. Petersen
2015-07-22 11:35 ` Sagi Grimberg
2015-07-21 6:02 ` [PATCH 4/5] block: Export integrity data interval size in sysfs Martin K. Petersen
2015-07-22 11:37 ` Sagi Grimberg
2015-07-24 15:26 ` Martin K. Petersen
2015-07-21 6:02 ` [PATCH 5/5] block: Inline blk_integrity in struct gendisk Martin K. Petersen
2015-07-21 12:01 ` Christoph Hellwig
2015-08-20 20:41 ` Simplify block integrity registration Martin K. Petersen
2015-08-20 20:41 ` [PATCH 1/5] block: Move integrity kobject to struct gendisk Martin K. Petersen
2015-09-16 17:26 ` Mike Snitzer
2015-08-20 20:41 ` [PATCH 2/5] block: Consolidate static integrity profile properties Martin K. Petersen
2015-08-20 20:41 ` [PATCH 3/5] block: Reduce the size of struct blk_integrity Martin K. Petersen
2015-08-20 20:41 ` Martin K. Petersen [this message]
2015-08-20 20:41 ` [PATCH 5/5] block: Inline blk_integrity in struct gendisk Martin K. Petersen
2015-08-21 23:47 ` Busch, Keith
2015-08-27 0:25 ` Martin K. Petersen
2015-08-27 0:25 ` [PATCH] " Martin K. Petersen
2015-08-27 8:28 ` Christoph Hellwig
2015-09-03 20:38 ` Keith Busch
2015-09-04 3:25 ` Martin K. Petersen
2015-10-12 21:05 ` Block integrity registration update Martin K. Petersen
2015-10-12 21:05 ` [PATCH 1/5] block: Move integrity kobject to struct gendisk Martin K. Petersen
2015-10-12 21:05 ` [PATCH 2/5] block: Consolidate static integrity profile properties Martin K. Petersen
2015-10-14 1:11 ` Dan Williams
2015-10-14 7:23 ` Christoph Hellwig
2015-10-14 19:42 ` Williams, Dan J
2015-10-14 19:47 ` hch
2015-10-14 20:00 ` Williams, Dan J
2015-10-14 22:42 ` Martin K. Petersen
2015-10-12 21:05 ` [PATCH 3/5] block: Reduce the size of struct blk_integrity Martin K. Petersen
2015-10-12 21:05 ` [PATCH 4/5] block: Export integrity data interval size in sysfs Martin K. Petersen
2015-10-12 21:05 ` [PATCH 5/5] block: Inline blk_integrity in struct gendisk Martin K. Petersen
2015-10-12 23:06 ` Mike Snitzer
2015-10-13 0:31 ` Block integrity registration update Williams, Dan J
2015-10-13 1:53 ` Williams, Dan J
2015-10-13 12:26 ` hch
2015-10-13 17:38 ` Dan Williams
2015-09-16 1:07 ` [PATCH 5/5] block: Inline blk_integrity in struct gendisk Mike Snitzer
2015-09-21 20:45 ` Mike Snitzer
2015-10-09 7:36 ` Christoph Hellwig
2015-10-12 1:17 ` Martin K. Petersen
2015-08-20 20:45 ` Simplify block integrity registration Mike Snitzer
2015-07-17 1:44 ` [PATCH] NVMe: Reread partitions on metadata formats Martin K. Petersen
2015-07-15 17:37 ` Paul Grabinar
-- strict thread matches above, loose matches on Subject: below --
2015-10-20 2:24 [PATCH v2 10/12] block: move blk_integrity to request_queue Martin K. Petersen
2015-10-20 2:45 ` Simplify block integrity registration v2 Martin K. Petersen
2015-10-20 2:45 ` [PATCH 4/5] block: Export integrity data interval size in sysfs Martin K. Petersen
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1440103314-31610-5-git-send-email-martin.petersen@oracle.com \
--to=martin.petersen@oracle.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).