From 1e167260e7cd91e04759854b0ae61b36cd47a218 Mon Sep 17 00:00:00 2001 From: Hans Rosenfeld Date: Thu, 20 Jul 2017 17:19:34 +0200 Subject: [PATCH] 8480 nvmeadm should ignore 0-sized namespaces by default Reviewed by: Patrick Mooney Reviewed by: Jerry Jelinek Reviewed by: Toomas Soome Approved by: Richard Lowe --- usr/src/cmd/nvmeadm/nvmeadm.c | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/usr/src/cmd/nvmeadm/nvmeadm.c b/usr/src/cmd/nvmeadm/nvmeadm.c index d7dffc1d47..de1d3e0171 100644 --- a/usr/src/cmd/nvmeadm/nvmeadm.c +++ b/usr/src/cmd/nvmeadm/nvmeadm.c @@ -528,6 +528,15 @@ static int do_list_nsid(int fd, const nvme_process_arg_t *npa) { _NOTE(ARGUNUSED(fd)); + const uint_t format = npa->npa_idns->id_flbas.lba_format; + const uint_t bshift = npa->npa_idns->id_lbaf[format].lbaf_lbads; + + /* + * Some devices have extra namespaces with illegal block sizes and + * zero blocks. Don't list them when verbose operation isn't requested. + */ + if ((bshift < 9 || npa->npa_idns->id_nsize == 0) && verbose == 0) + return (0); (void) printf(" %s/%s (%s): ", npa->npa_name, di_minor_name(npa->npa_minor), -- 2.11.4.GIT