From 858d05ce9387a9001958a0c3d96ab24c6bd42454 Mon Sep 17 00:00:00 2001 From: jimharris Date: Mon, 23 Nov 2015 17:27:29 +0000 Subject: [PATCH] MFC r290199: nvd, nvme: report stripesize through GEOM disk layer Sponsored by: Intel git-svn-id: svn://svn.freebsd.org/base/stable/10@291214 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f --- sys/dev/nvd/nvd.c | 1 + sys/dev/nvme/nvme.h | 1 + sys/dev/nvme/nvme_ns.c | 7 +++++++ 3 files changed, 9 insertions(+) diff --git a/sys/dev/nvd/nvd.c b/sys/dev/nvd/nvd.c index 016d72854..5d75876bf 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 111a9320c..7e41e770c 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 c6a00df6b..754d074c4 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) { -- 2.45.0