Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
35 changes: 29 additions & 6 deletions nvme-print-stdout.c
Original file line number Diff line number Diff line change
Expand Up @@ -2545,6 +2545,16 @@ static void stdout_id_ctrl_ofcs(__le16 ofcs)

}

static void stdout_id_ns_size(uint64_t nsze, uint64_t ncap, uint64_t nuse)
{
printf("nsze : %#"PRIx64"\tTotal size in logical blocks\n",
le64_to_cpu(nsze));
printf("ncap : %#"PRIx64"\tMaximum size in logical blocks\n",
le64_to_cpu(ncap));
printf("nuse : %#"PRIx64"\tCurrent size in logical blocks\n",
le64_to_cpu(nuse));
}

static void stdout_id_ns_nsfeat(__u8 nsfeat)
{
__u8 optrperf = (nsfeat & 0x80) >> 7;
Expand Down Expand Up @@ -2764,9 +2774,15 @@ static void stdout_id_ns(struct nvme_id_ns *ns, unsigned int nsid,

if (!cap_only) {
printf("NVME Identify Namespace %d:\n", nsid);
printf("nsze : %#"PRIx64"\n", le64_to_cpu(ns->nsze));
printf("ncap : %#"PRIx64"\n", le64_to_cpu(ns->ncap));
printf("nuse : %#"PRIx64"\n", le64_to_cpu(ns->nuse));

if (human)
stdout_id_ns_size(ns->nsze, ns->ncap, ns->nuse);
else {
printf("nsze : %#"PRIx64"\n", le64_to_cpu(ns->nsze));
printf("ncap : %#"PRIx64"\n", le64_to_cpu(ns->ncap));
printf("nuse : %#"PRIx64"\n", le64_to_cpu(ns->nuse));
}

printf("nsfeat : %#x\n", ns->nsfeat);
if (human)
stdout_id_ns_nsfeat(ns->nsfeat);
Expand Down Expand Up @@ -3624,11 +3640,18 @@ static void stdout_zns_id_ns(struct nvme_zns_id_ns *ns,

static void stdout_list_ns(struct nvme_ns_list *ns_list)
{
int i;
int i, verbose = stdout_print_ops.flags & VERBOSE;

printf("NVME Namespace List:\n");
for (i = 0; i < 1024; i++) {
if (ns_list->ns[i])
printf("[%4u]:%#x\n", i, le32_to_cpu(ns_list->ns[i]));
if (ns_list->ns[i]) {
if (verbose)
printf("Identifier %4u: NSID %#x\n",
i, le32_to_cpu(ns_list->ns[i]));
else
printf("[%4u]:%#x\n",
i, le32_to_cpu(ns_list->ns[i]));
}
}
}

Expand Down
3 changes: 3 additions & 0 deletions nvme.c
Original file line number Diff line number Diff line change
Expand Up @@ -2695,6 +2695,9 @@ static int list_ns(int argc, char **argv, struct command *cmd, struct plugin *pl
return -EINVAL;
}

if (argconfig_parse_seen(opts, "verbose"))
flags |= VERBOSE;

ns_list = nvme_alloc(sizeof(*ns_list));
if (!ns_list)
return -ENOMEM;
Expand Down