diff options
author | Hans Rosenfeld <hans.rosenfeld@joyent.com> | 2017-05-31 15:27:48 +0200 |
---|---|---|
committer | Hans Rosenfeld <hans.rosenfeld@joyent.com> | 2017-06-27 16:12:51 +0200 |
commit | 621738e24ed094c80643e1cd8d545241ae1978b1 (patch) | |
tree | 72196735d40d200f67143ddc6ac2769579da4752 /usr | |
parent | 0b466603bce1aab6133ee3b3c8fb941d5c83bf16 (diff) | |
download | illumos-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.c | 6 |
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; } |