summaryrefslogtreecommitdiff
path: root/usr
diff options
context:
space:
mode:
authorHans Rosenfeld <hans.rosenfeld@joyent.com>2017-05-31 15:27:48 +0200
committerHans Rosenfeld <hans.rosenfeld@joyent.com>2017-06-27 16:12:51 +0200
commit621738e24ed094c80643e1cd8d545241ae1978b1 (patch)
tree72196735d40d200f67143ddc6ac2769579da4752 /usr
parent0b466603bce1aab6133ee3b3c8fb941d5c83bf16 (diff)
downloadillumos-joyent-621738e24ed094c80643e1cd8d545241ae1978b1.tar.gz
8268 NVMe driver needs to ignore namespaces that specify an unused LBA Format
Reviewed by: Yuri Pankov <yuripv@gmx.com> Reviewed by: Jason King <jason.brian.king@gmail.com> Reviewed by: Toomas Soome <tsoome@me.com> Approved by: Dan McDonald <danmcd@joyent.com>
Diffstat (limited to 'usr')
-rw-r--r--usr/src/uts/common/io/nvme/nvme.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/usr/src/uts/common/io/nvme/nvme.c b/usr/src/uts/common/io/nvme/nvme.c
index aa1264c175..b2a18df50c 100644
--- a/usr/src/uts/common/io/nvme/nvme.c
+++ b/usr/src/uts/common/io/nvme/nvme.c
@@ -13,6 +13,7 @@
* Copyright 2016 Nexenta Systems, Inc. All rights reserved.
* Copyright 2016 Tegile Systems, Inc. All rights reserved.
* Copyright (c) 2016 The MathWorks, Inc. All rights reserved.
+ * Copyright 2017 Joyent, Inc.
*/
/*
@@ -2177,6 +2178,7 @@ nvme_init_ns(nvme_t *nvme, int nsid)
* We currently don't support namespaces that use either:
* - thin provisioning
* - protection information
+ * - illegal block size (< 512)
*/
if (idns->id_nsfeat.f_thin ||
idns->id_dps.dp_pinfo) {
@@ -2185,6 +2187,10 @@ nvme_init_ns(nvme_t *nvme, int nsid)
"thin = %d, pinfo = %d", nsid,
idns->id_nsfeat.f_thin, idns->id_dps.dp_pinfo);
ns->ns_ignore = B_TRUE;
+ } else if (ns->ns_block_size < 512) {
+ dev_err(nvme->n_dip, CE_WARN,
+ "!ignoring namespace %d, unsupported block size %"PRIu64,
+ nsid, (uint64_t)ns->ns_block_size);
} else {
ns->ns_ignore = B_FALSE;
}