summaryrefslogtreecommitdiffstats
path: root/sys/dev
diff options
context:
space:
mode:
authorjimharris <jimharris@FreeBSD.org>2015-10-30 16:35:18 +0000
committerjimharris <jimharris@FreeBSD.org>2015-10-30 16:35:18 +0000
commitb93e62f3e668c9e23c573e2f7a6ad4c6620d9f8d (patch)
tree31ad12295baff2ef1daa883bfdbd8e02ff71350e /sys/dev
parentf472a0a088b63a3b41b843df8d59f2d1394fb6bf (diff)
downloadFreeBSD-src-b93e62f3e668c9e23c573e2f7a6ad4c6620d9f8d.zip
FreeBSD-src-b93e62f3e668c9e23c573e2f7a6ad4c6620d9f8d.tar.gz
nvd, nvme: report stripesize through GEOM disk layer
MFC after: 3 days Sponsored by: Intel
Diffstat (limited to 'sys/dev')
-rw-r--r--sys/dev/nvd/nvd.c1
-rw-r--r--sys/dev/nvme/nvme.h1
-rw-r--r--sys/dev/nvme/nvme_ns.c7
3 files changed, 9 insertions, 0 deletions
diff --git a/sys/dev/nvd/nvd.c b/sys/dev/nvd/nvd.c
index 016d728..5d75876 100644
--- a/sys/dev/nvd/nvd.c
+++ b/sys/dev/nvd/nvd.c
@@ -279,6 +279,7 @@ nvd_new_disk(struct nvme_namespace *ns, void *ctrlr_arg)
disk->d_sectorsize = nvme_ns_get_sector_size(ns);
disk->d_mediasize = (off_t)nvme_ns_get_size(ns);
disk->d_delmaxsize = (off_t)nvme_ns_get_size(ns);
+ disk->d_stripesize = nvme_ns_get_stripesize(ns);
if (TAILQ_EMPTY(&disk_head))
disk->d_unit = 0;
diff --git a/sys/dev/nvme/nvme.h b/sys/dev/nvme/nvme.h
index 111a932..7e41e77 100644
--- a/sys/dev/nvme/nvme.h
+++ b/sys/dev/nvme/nvme.h
@@ -870,6 +870,7 @@ const char * nvme_ns_get_serial_number(struct nvme_namespace *ns);
const char * nvme_ns_get_model_number(struct nvme_namespace *ns);
const struct nvme_namespace_data *
nvme_ns_get_data(struct nvme_namespace *ns);
+uint32_t nvme_ns_get_stripesize(struct nvme_namespace *ns);
int nvme_ns_bio_process(struct nvme_namespace *ns, struct bio *bp,
nvme_cb_fn_t cb_fn);
diff --git a/sys/dev/nvme/nvme_ns.c b/sys/dev/nvme/nvme_ns.c
index c6a00df..754d074 100644
--- a/sys/dev/nvme/nvme_ns.c
+++ b/sys/dev/nvme/nvme_ns.c
@@ -210,6 +210,13 @@ nvme_ns_get_data(struct nvme_namespace *ns)
return (&ns->data);
}
+uint32_t
+nvme_ns_get_stripesize(struct nvme_namespace *ns)
+{
+
+ return (ns->stripesize);
+}
+
static void
nvme_ns_bio_done(void *arg, const struct nvme_completion *status)
{
OpenPOWER on IntegriCloud