]> www.infradead.org Git - users/hch/nvme-cli.git/log
users/hch/nvme-cli.git
4 years agonvme-cli: Add huawei vendor id as filter in command "nvme huawei list"
Zhouhua Liu [Fri, 22 May 2020 03:40:40 +0000 (11:40 +0800)]
nvme-cli: Add huawei vendor id as filter in command "nvme huawei list"

Add huawei vendor id as filter in command "nvme huawei list".

Signed-off-by: Zhouhua Liu <liuzhouhua@huawei.com>
4 years agoUpdate systemd required version.
Randy Bates [Tue, 26 May 2020 18:14:02 +0000 (13:14 -0500)]
Update systemd required version.

A change to fabrics.c - commit 48c10dbf requires systemd version 242 or later.

Signed-off-by: Randy Bates <randall.bates@wdc.com>
4 years agoFix segmentation if invalid customer id
Randy Bates [Fri, 22 May 2020 18:21:53 +0000 (13:21 -0500)]
Fix segmentation if invalid customer id

Attempting to free  unallocated memory

4 years agoBug fixes
Randy Bates [Thu, 21 May 2020 17:24:24 +0000 (12:24 -0500)]
Bug fixes

Signed-off-by: Randy Bates <rbates@web-site.com>
4 years agofixes for 32-bits
Keith Busch [Thu, 21 May 2020 15:18:36 +0000 (08:18 -0700)]
fixes for 32-bits

Signed-off-by: Keith Busch <kbusch@kernel.org>
4 years ago[SMART] add more smart info
丁剑 [Tue, 10 Mar 2020 07:16:32 +0000 (15:16 +0800)]
[SMART] add more smart info

1. memblaze vu command, smart-log-add;
2. add five SMART logs:
    program_fail_count
    erase_fail_count
    wear_leveling
    nand_bytes_written
    host_bytes_written
3. only add for special device, checked the firmware version "2.13";

Signed-off-by: 丁剑 <jian.ding@memblaze.com>
4 years agofix apsrintf return check
Jian Ding [Wed, 20 May 2020 14:14:23 +0000 (07:14 -0700)]
fix apsrintf return check

Signed-off-by: 丁剑 <jian.ding@memblaze.com>
Signed-off-by: Keith Busch <kbusch@kernel.org>
4 years agoAdd log page CA parsing
Randy [Mon, 18 May 2020 15:31:57 +0000 (10:31 -0500)]
Add log page CA parsing

Add parsing version for 0xCA

Changes from review.

Change customer ids

4 years agoMAINT: nvme-cli: Add LF code into error messages
Tokunori Ikegami [Tue, 19 May 2020 15:01:05 +0000 (00:01 +0900)]
MAINT: nvme-cli: Add LF code into error messages

Some error mesages are output without LF code so add it.

Signed-off-by: Tokunori Ikegami <ikegami.t@gmail.com>
4 years agoformat: skipping re-read partition for same lbaf or All NS
Steven Seungcheol Lee [Fri, 15 May 2020 09:54:53 +0000 (18:54 +0900)]
format: skipping re-read partition for same lbaf or All NS

Signed-off-by: Steven Seungcheol Lee <sc108.lee@samsung.com>
4 years agonvme.c: remove side effects from older commit
Steven Seungcheol Lee [Fri, 15 May 2020 07:13:02 +0000 (16:13 +0900)]
nvme.c: remove side effects from older commit

If there is given nsid by user, no need to set using nvme_get_nsid.
(e770466615096a6d41f038a28819b00bc3078e1d)

Format for All namespace not using prev_lbaf.
(62ae3bea42cb3a81cc77492568747a330f783100)

Signed-off-by: Steven Seungcheol Lee <sc108.lee@samsung.com>
4 years agofabrics: write reconnect_delay to fabrics device on connect
Martin George [Mon, 11 May 2020 14:37:15 +0000 (20:07 +0530)]
fabrics: write reconnect_delay to fabrics device on connect

Though '--reconnect-delay' option is defined for connect, it
wasn't passed down to the kernel in connect_ctrl().

Signed-off-by: Martin George <marting@netapp.com>
Signed-off-by: Keith Busch <keith.busch@wdc.com>
4 years ago[memblaze] add select-download command
丁剑 [Tue, 12 May 2020 03:49:09 +0000 (11:49 +0800)]
[memblaze] add select-download command

1. This performs a selective firmware download;
2. Please power cycle for changes to take effect, after the update successful.

Signed-off-by: 丁剑 <jian.ding@memblaze.com>
4 years ago Improve error message
KLZ-0 [Fri, 1 May 2020 22:09:23 +0000 (00:09 +0200)]
 Improve error message

4 years agoEmit a warning message when no controller-id is specified
KLZ-0 [Fri, 1 May 2020 21:49:33 +0000 (23:49 +0200)]
Emit a warning message when no controller-id is specified

4 years agocontroller list argument is required in attach-ns/detach-ns commands
KLZ-0 [Fri, 1 May 2020 19:22:40 +0000 (21:22 +0200)]
controller list argument is required in attach-ns/detach-ns commands
Empty controller-id list in the ioctl call for attach/detach of namespace results effectively in no operation, yet the nvme cli reports falsely success. The controller id list must be specified with at least 1 controller in the list.

4 years agonvme-cli:nvme:fix fd leak when an error occurs
Wu Bo [Wed, 6 May 2020 03:26:54 +0000 (11:26 +0800)]
nvme-cli:nvme:fix fd leak when an error occurs

4 years agoremove block device checking for namespace
Tomasz Kulasek [Fri, 20 Sep 2019 08:29:03 +0000 (10:29 +0200)]
remove block device checking for namespace

In SPDK project (see spdk.io) we have implemented the ability
to set up devices via CUSE device exposing controller and
namespaces as character devices.

Namespace devices are also exposed as character devices, so
nvme-cli tools will not recognize them as valid devices.

To allow to use nvme-cli tool with SPDK NVMe CUSE devices
we can't assume that namespaces are block devices.

Change-Id: I52aa79d24002b8dec10e6fdd0cb9a71bb6750358
Signed-off-by: Tomasz Kulasek <tomaszx.kulasek@intel.com>
4 years agonvme-print: nvme list -o json fix
Yi Zhang [Fri, 1 May 2020 07:42:10 +0000 (15:42 +0800)]
nvme-print: nvme list -o json fix

Bellow error log will be triggered on non pcie transport, so only print the
ProductName for pcie transport, also add print "\n" and json_free_object fix

Failed to open /sys/class/nvme/nvme1/device/subsystem_vendor with errno No such file or directory
Failed to open /sys/class/nvme/nvme1/device/subsystem_device with errno No such file or directory
Failed to open /sys/class/nvme/nvme1/device/vendor with errno No such file or directory
Failed to open /sys/class/nvme/nvme1/device/device with errno No such file or directory
Failed to open /sys/class/nvme/nvme1/device/class with errno No such file or directory
{
  "Devices" : [
    {
      "NameSpace" : 1,
      "DevicePath" : "/dev/nvme1n1",
      "Firmware" : "4.18.0-1",
      "Index" : 1,
      "ModelNumber" : "Linux",
      "ProductName" : "NULL",
      "SerialNumber" : "eb4695bf0da275a3",
      "UsedBytes" : 268435456000,
      "MaximumLBA" : 524288000,
      "PhysicalSize" : 268435456000,
      "SectorSize" : 512
    }
  ]
}

Reported-by: Justin Tee <justin.tee@broadcom.com>
Signed-off-by: Yi Zhang <yi.zhang@redhat.com>
Signed-off-by: Keith Busch <kbusch@kernel.org>
4 years agodoc: nvme-connect-all: regenerate HTML and man pages
Martin Wilck [Wed, 29 Apr 2020 20:33:14 +0000 (22:33 +0200)]
doc: nvme-connect-all: regenerate HTML and man pages

4 years agodoc: nvme-connect-all: document -q / --quiet
Martin Wilck [Wed, 29 Apr 2020 20:30:14 +0000 (22:30 +0200)]
doc: nvme-connect-all: document -q / --quiet

4 years agodoc: nvme-connect-all: document -p / --persistent
Martin Wilck [Wed, 29 Apr 2020 20:26:39 +0000 (22:26 +0200)]
doc: nvme-connect-all: document -p / --persistent

4 years agodoc: nvme-connect-all: document -m / --matching
Martin Wilck [Wed, 29 Apr 2020 20:21:11 +0000 (22:21 +0200)]
doc: nvme-connect-all: document -m / --matching

4 years agonvmf-connect@.service: use nvme connect-all --matching
Martin Wilck [Wed, 29 Apr 2020 17:09:58 +0000 (19:09 +0200)]
nvmf-connect@.service: use nvme connect-all --matching

Use the --matching option from the autoconnect service to avoid
attempting connections multiple times.

4 years agoconnect-all: add -m/--matching option
Martin Wilck [Wed, 29 Apr 2020 17:03:57 +0000 (19:03 +0200)]
connect-all: add -m/--matching option

Discovery controllers often return discovery records that belong
to a different traddr than the discovery controller itself, like here:

nvme discover -t fc \
   --host-traddr=nn-0x20000090fae06325:pn-0x10000090fae06325 \
   --traddr=nn-0x200900a09890f5bf:pn-0x200a00a09890f5bf

Discovery Log Number of Records 2, Generation counter 25
=====Discovery Log Entry 0======
trtype:  fc
adrfam:  fibre-channel
subtype: nvme subsystem
treq:    not specified
portid:  0
trsvcid: none
subnqn:  nqn...
traddr:  nn-0x200900a09890f5bf:pn-0x200b00a09890f5bf
=====Discovery Log Entry 1======
trtype:  fc
adrfam:  fibre-channel
subtype: nvme subsystem
treq:    not specified
portid:  1
trsvcid: none
subnqn:  nqn...
traddr:  nn-0x200900a09890f5bf:pn-0x200a00a09890f5bf

Note that the traddr of record 0 matches the traddr used for the
discovery, while that of record 1 does not.

For NVMeoF-autoconnect, this means that connection attempts will
be made multiple times (the two records above will also be returned
for a discovery on nn-0x200900a09890f5bf:pn-0x200b00a09890f5bf),
which is unnecessary and leads to lots of confusing error messages
in the system log.

Add an option "-m / --matching" to the "nvme connect-all" command
that causes nvme to connect only those discovery entries that match
the traddr given on the command line.

4 years agonvme-cli:lightnvm:fix fd leak when do ioctl failed
Wu Bo [Mon, 27 Apr 2020 13:12:25 +0000 (21:12 +0800)]
nvme-cli:lightnvm:fix fd leak when do ioctl failed

5 years agoTag release with broken build fixes v1.11.1
Keith Busch [Fri, 24 Apr 2020 14:43:14 +0000 (23:43 +0900)]
Tag release with broken build fixes

Signed-off-by: Keith Busch <kbusch@kernel.org>
5 years agonvme: fix compiler warnings
Chaitanya Kulkarni [Fri, 24 Apr 2020 01:14:53 +0000 (18:14 -0700)]
nvme: fix compiler warnings

This patch fixes the following errors :-

nvme-topology.c: In function ‘verify_legacy_ns’:
nvme-topology.c:361:32: error: format not a string literal and no format arguments [-Werror=format-security]
  361 |    asprintf(&n->ctrl->address, tmp_address);
      |                                ^~~~~~~~~~~
nvme-topology.c:360:4: error: ignoring return value of ‘asprintf’, declared with attribute warn_unused_result [-Werror=unused-result]
  360 |    asprintf(&n->ctrl->transport, "pcie");
      |    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
nvme-topology.c:361:4: error: ignoring return value of ‘asprintf’, declared with attribute warn_unused_result [-Werror=unused-result]
  361 |    asprintf(&n->ctrl->address, tmp_address);
      |    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
cc1: all warnings being treated as errors
make: *** [Makefile:96: nvme-topology.o] Error 1

This can be easily re produced on the gcc version :-
(Ubuntu 9.2.1-9ubuntu2) 9.2.1 20191008

Signed-off-by: Chaitanya Kulkarni <chaitanya.kulkarni@wdc.com>
5 years agonvme-cli: Release version 1.11 v1.11
Keith Busch [Thu, 23 Apr 2020 20:19:06 +0000 (05:19 +0900)]
nvme-cli: Release version 1.11

Signed-off-by: Keith Busch <kbusch@kernel.org>
5 years agofabrics: allow traddr to be host name for ip based transports
Sagi Grimberg [Wed, 1 Apr 2020 21:53:44 +0000 (14:53 -0700)]
fabrics: allow traddr to be host name for ip based transports

Some users would like to use well known hostnames instead of remembering
ip addresses. So, allow users to set traddr to be a host name and we will
attempt to resolve against a DNS.

This applies for IP based transports only (e.g. tcp, rdma) while fc and
loop will ignore this distinction.

Signed-off-by: Sagi Grimberg <sagi@grimberg.me>
5 years agofabrics: add fabrics_ prefix to fabrics operations
Sagi Grimberg [Wed, 1 Apr 2020 21:53:43 +0000 (14:53 -0700)]
fabrics: add fabrics_ prefix to fabrics operations

discover/connect/disconnect are generic names which might
clash with other external included libraries.

Signed-off-by: Sagi Grimberg <sagi@grimberg.me>
5 years agoregen documentation
Keith Busch [Thu, 23 Apr 2020 20:25:24 +0000 (05:25 +0900)]
regen documentation

Signed-off-by: Keith Busch <kbusch@kernel.org>
5 years agolist-subsys: when running on old kernels, get PCIe B:D.f address from sysfs
Yair Elharrar [Thu, 23 Jan 2020 12:16:39 +0000 (14:16 +0200)]
list-subsys: when running on old kernels, get PCIe B:D.f address from sysfs

Signed-off-by: Yair Elharrar <yair@excelero.com>
5 years agolist-subsys: fix NULL dereference when trying to use -o json on older kernels
Yair Elharrar [Thu, 23 Jan 2020 11:33:46 +0000 (13:33 +0200)]
list-subsys: fix NULL dereference when trying to use -o json on older kernels

Signed-off-by: Yair Elharrar <yair@excelero.com>
5 years agofabrics: fix potential memory leaks
Yair Elharrar [Mon, 29 Jul 2019 18:47:17 +0000 (21:47 +0300)]
fabrics: fix potential memory leaks
See issue #505

Signed-off-by: Yair Elharrar <yair@excelero.com>
5 years agoUpdate Makefile to remove old destination folder
Randy [Mon, 9 Mar 2020 16:13:03 +0000 (11:13 -0500)]
Update Makefile to remove old destination folder

5 years agoMerge branch 'master' of https://github.com/linux-nvme/nvme-cli
Keith Busch [Thu, 23 Apr 2020 20:15:17 +0000 (05:15 +0900)]
Merge branch 'master' of https://github.com/linux-nvme/nvme-cli

5 years agoCommiting for dera plugin
Keith Busch [Thu, 23 Apr 2020 20:14:51 +0000 (05:14 +0900)]
Commiting for dera plugin

Squashed for https://github.com/linux-nvme/nvme-cli/pull/695

Signed-off-by: Keith Busch <kbusch@kernel.org>
5 years ago[Memblaze] modify SMART info
丁剑 [Tue, 10 Mar 2020 07:16:32 +0000 (15:16 +0800)]
[Memblaze] modify SMART info

1. Modify SMART info fellow Intel format;
2. Add Memblaze private SMART info;
3. Compatible with both new and old formats;

Signed-off-by: 丁剑 <jian.ding@memblaze.com>
5 years ago[Add] Transcend plugin command
victor_chen [Thu, 19 Mar 2020 07:48:51 +0000 (15:48 +0800)]
[Add] Transcend plugin command

5 years agoPT-4572 - fix incorrect logic
Randy [Fri, 20 Mar 2020 15:58:50 +0000 (10:58 -0500)]
PT-4572 - fix incorrect logic

test for enabled was incorrect in wdc_do_cap_telemetry_log

5 years agoTP-4574 - fix invalid type option
Randy [Fri, 20 Mar 2020 13:50:09 +0000 (08:50 -0500)]
TP-4574 - fix invalid type option

5 years agovs-telemetry-controller-option - fix invalid options reporting
Randy [Thu, 19 Mar 2020 14:42:44 +0000 (09:42 -0500)]
vs-telemetry-controller-option - fix invalid options reporting

5 years agoAllow only one option value at a time
Randy [Wed, 18 Mar 2020 18:44:59 +0000 (13:44 -0500)]
Allow only one option value at a time

5 years agonvme: refactoring unnecessary functions
Steven Seungcheol Lee [Fri, 17 Apr 2020 11:34:21 +0000 (20:34 +0900)]
nvme: refactoring unnecessary functions

Signed-off-by: Steven Seungcheol Lee <sc108.lee@samsung.com>
5 years agoUpdate shannon plugin(add SRAM Error Cnt).
Tonyongxing [Thu, 16 Apr 2020 07:30:55 +0000 (15:30 +0800)]
Update shannon plugin(add SRAM Error Cnt).

5 years agonvme-print: fix namespace descriptor human printing
Klaus Jensen [Mon, 6 Apr 2020 07:06:36 +0000 (09:06 +0200)]
nvme-print: fix namespace descriptor human printing

9b2ce6ca3ba7 fixed the len accumulation, but only for the JSON printing.
Fix it for human output as well.

Reported-by: Narae Park <narae7.park@samsung.com>
Signed-off-by: Klaus Jensen <k.jensen@samsung.com>
5 years agonvme-print: fix offset calculation in NS ID Descriptor list
Saar Gross [Wed, 8 Apr 2020 00:24:47 +0000 (17:24 -0700)]
nvme-print: fix offset calculation in NS ID Descriptor list

The offset for the next entry in the list is based on the length (len)
of the previous entry, but len is erroneously accumulated instead of
being set. This works fine for the first and second entry in the list
but will fail to reach the correct offset for the 3rd entry and beyond.

Signed-off-by: Saar Gross <saarg@amazon.com>
5 years agonvme.spec: rpmbuild error fix (missing file)
Steven Seungcheol Lee [Fri, 3 Apr 2020 10:39:12 +0000 (19:39 +0900)]
nvme.spec: rpmbuild error fix (missing file)

Signed-off-by: Steven Seungcheol Lee <sc108.lee@samsung.com>
5 years agonvmf: use discovery controller host identifiers for persistent controllers
Sagi Grimberg [Tue, 24 Mar 2020 08:53:28 +0000 (01:53 -0700)]
nvmf: use discovery controller host identifiers for persistent controllers

It is possible that the user will create a persistent discovery controller
with a specific host identifiers (hostnqn and/or hostid). If we get a discovery
change log event on this discovery controller we need to use the same host
identifiers that otherwise we will may not see what the discovery change log
event intended us to see (as we connect with a different hostnqn for example).

Note that we take these identifiers only if they exist in sysfs which gives us
backward compatibility (as hostnqn and hostid are still new).

Reported-by: Yogev Cohen <yogev@lightbitslabs.com>
Signed-off-by: Sagi Grimberg <sagi@grimberg.me>
Signed-off-by: Keith Busch <kbusch@kernel.org>
5 years agonvme-print: list also hostnqn and hostid for verbose
Sagi Grimberg [Tue, 24 Mar 2020 08:53:27 +0000 (01:53 -0700)]
nvme-print: list also hostnqn and hostid for verbose

Add it to the json output as the normal display is crowded enough as it is.
Note that we print them only if they exist in sysfs which gives us backward
compatibility (as hostnqn and hostid are still new).

Signed-off-by: Sagi Grimberg <sagi@grimberg.me>
Signed-off-by: Keith Busch <kbusch@kernel.org>
5 years agosuppress missing attribute warnings
Keith Busch [Tue, 31 Mar 2020 18:11:17 +0000 (03:11 +0900)]
suppress missing attribute warnings

Attribute existence is dependent on kernel versions. Don't automatically
warn if we fail to find the attribute, let the caller decide how to deal
with it.

Reported-by: Jeffrey Lien <Jeff.Lien@wdc.com>
Signed-off-by: Keith Busch <kbusch@kernel.org>
5 years agonvme-status: update return val for new status code
Steven Seungcheol Lee [Fri, 27 Mar 2020 10:28:07 +0000 (19:28 +0900)]
nvme-status: update return val for new status code

5 years agonvme status code updates based nvme spec v1.4
Steven Seungcheol Lee [Fri, 27 Mar 2020 10:27:18 +0000 (19:27 +0900)]
nvme status code updates based nvme spec v1.4

5 years agoFixing Empty Fields of Intel VU id-ctrl
Ben Reese [Fri, 20 Mar 2020 21:41:59 +0000 (14:41 -0700)]
Fixing Empty Fields of Intel VU id-ctrl

Fixing empty fields in Intel VU id-ctrl introduced in
44755ae6869ab2a9dc6ac976fb43f4f2d746336c.

Signed-off-by: Ben Reese <5884008+benreese0@users.noreply.github.com>
5 years agoFixed malformed json output from sanitize-log.
Gregory C. Oakes [Thu, 12 Mar 2020 17:36:56 +0000 (12:36 -0500)]
Fixed malformed json output from sanitize-log.

5 years agoAdd function to list power descriptor, and show vendor specific log
Quyen Truong [Tue, 17 Mar 2020 04:43:59 +0000 (11:43 +0700)]
Add function to list power descriptor, and show vendor specific log
Fix spelling mistake

5 years agoFixing compile error introduced by #580
Ben Reese [Tue, 10 Mar 2020 23:53:17 +0000 (16:53 -0700)]
Fixing compile error introduced by #580

Fixing incompatibility between #580 and
e5786ad7ffa4734249c99bede2323a4d4cbb51ab.

Signed-off-by: Ben Reese <5884008+benreese0@users.noreply.github.com>
5 years agointel: Add enable-lat-stats function.
Kevin Chau [Thu, 19 Sep 2019 01:22:35 +0000 (18:22 -0700)]
intel: Add enable-lat-stats function.
This adds the cli function for lat-stats-tracking. Enabling it allows
the drive to start tracking latency statistics during i/o.

5 years agoFixing Alignment Error In intel smart-log-add
Ben Reese [Tue, 3 Mar 2020 21:41:41 +0000 (13:41 -0800)]
Fixing Alignment Error In intel smart-log-add

Fixing alignment in nvme_additional_smart_log_item introduced by switch
from '#pragma pack' semantics to '__attribute__((pack))'.

Per https://gcc.gnu.org/onlinedocs/gcc/Common-Type-Attributes.html each
union or struct requires it's own '__attribute__((pack))'.

Signed-off-by: Ben Reese <5884008+benreese0@users.noreply.github.com>
5 years agoFixed where libsystem is needed, not just systemd
Muhammad Ahmad [Sat, 29 Feb 2020 15:16:44 +0000 (09:16 -0600)]
Fixed where libsystem is needed, not just systemd

5 years agoAdd documentation files for new wdc plugin command - vs-drive-info
Jeff Lien [Fri, 21 Feb 2020 16:48:19 +0000 (10:48 -0600)]
Add documentation files for new wdc plugin command - vs-drive-info

5 years agoAdd new wdc plugin command - vs-drive-info
Jeff Lien [Fri, 21 Feb 2020 16:19:16 +0000 (10:19 -0600)]
Add new wdc plugin command - vs-drive-info

5 years agoNVMe get features test fix
Narasimhan V [Thu, 27 Feb 2020 10:31:37 +0000 (16:01 +0530)]
NVMe get features test fix

For One of the mandatory feature "Interrupt Vector Configuration",
the parameter cdw11 value should be equal to or less than the
number of interrupt vectors. Current implementaion uses the
IRQ number instead. This commit fixes it.

Signed-off-by: Narasimhan V <sim@linux.vnet.ibm.com>
5 years agoEncoding for subprocess and typecast fixes
Narasimhan V [Tue, 25 Feb 2020 18:35:58 +0000 (00:05 +0530)]
Encoding for subprocess and typecast fixes

Encoding, string handling fixes for subprocess.
Also some related typecast fixes.

Signed-off-by: Narasimhan V <sim@linux.vnet.ibm.com>
5 years agonvme-cli fix nvme_show_id_ctrl 'anacn' field
Engel [Tue, 25 Feb 2020 13:14:49 +0000 (15:14 +0200)]
nvme-cli fix nvme_show_id_ctrl 'anacn' field

5 years agoioctl: Remove duplicated header files
Minwoo Im [Tue, 18 Feb 2020 09:14:59 +0000 (18:14 +0900)]
ioctl: Remove duplicated header files

Remove duplicated included header files in a file (nvme-ioctl.c)

Signed-off-by: Minwoo Im <minwoo.im@samsung.com>
5 years agouapi: Sync up nvme_ioctl.h with kernel
Minwoo Im [Tue, 18 Feb 2020 07:35:53 +0000 (16:35 +0900)]
uapi: Sync up nvme_ioctl.h with kernel

Kernel has already updated 0x47 and 0x48 ioctl commands for 64bits
support.  This patch synced up the header file between kernel and
nvme-cli.

Signed-off-by: Minwoo Im <minwoo.im@samsung.com>
5 years agoREADME: Fix include file location for plugin
Minwoo Im [Tue, 18 Feb 2020 06:55:00 +0000 (15:55 +0900)]
README: Fix include file location for plugin

If the CMD_INC_FILE is defined with file name without location, the
following error will happen.

In file included from plugins/foo/foo-nvme.h:17:0,
                 from plugins/foo/foo-nvme.c:4:
./define_cmd.h:12:34: fatal error: foo-nvme.h: No such file or directory
 #include CMD_INCLUDE(CMD_INC_FILE)
                                  ^

Signed-off-by: Minwoo Im <minwoo.im@samsung.com>
5 years agoREADME: Include nvme.h in plugin template
Minwoo Im [Tue, 18 Feb 2020 06:52:08 +0000 (15:52 +0900)]
README: Include nvme.h in plugin template

The newly made plugin must have nvme.h file include, otherwise the
following errors will happen.

    CC plugins/samsung/samsung-nvme.o
make: *** No rule to make target 'NVME-VERSION-FILE', needed by 'nvme'.  Stop.
make: *** Waiting for unfinished jobs....
In file included from ./define_cmd.h:14:0,
                 from plugins/samsung/samsung-nvme.h:17,
                 from plugins/samsung/samsung-nvme.c:3:
./cmd_handler.h:75:2: error: ‘NULL’ undeclared here (not in a function)
  NULL,    \
  ^
./cmd_handler.h:79:28: note: in definition of macro ‘PLUGIN’
 #define PLUGIN(name, cmds) cmds
                            ^~~~
./plugins/samsung/samsung-nvme.h:11:5: note: in expansion of macro ‘COMMAND_LIST’
     COMMAND_LIST(
     ^~~~~~~~~~~~
In file included from ./define_cmd.h:14:0,
                 from plugins/samsung/samsung-nvme.h:17,
                 from plugins/samsung/samsung-nvme.c:3:
./plugins/samsung/samsung-nvme.h: In function ‘init’:
./cmd_handler.h:105:2: error: implicit declaration of function ‘register_extension’ [-Werror=implicit-function-declaration]
  register_extension(&plugin);   \
  ^
./plugins/samsung/samsung-nvme.h:10:1: note: in expansion of macro ‘PLUGIN’
 PLUGIN(NAME("samsung", "samsung"),
 ^~~~~~
cc1: all warnings being treated as errors
Makefile:92: recipe for target 'plugins/samsung/samsung-nvme.o' failed
make: *** [plugins/samsung/samsung-nvme.o] Error 1

Signed-off-by: Minwoo Im <minwoo.im@samsung.com>
5 years agofix musl compilation
Neel Chotai [Fri, 14 Feb 2020 17:56:23 +0000 (17:56 +0000)]
fix musl compilation

5 years agofabrics: set keep_alive_tmo also for discovery controllers
Sagi Grimberg [Wed, 12 Feb 2020 20:01:58 +0000 (12:01 -0800)]
fabrics: set keep_alive_tmo also for discovery controllers

We may use persistent discovery connections on referrals
so don't restrict it for discovery controllers.

Signed-off-by: Sagi Grimberg <sagi@grimberg.me>
Signed-off-by: Keith Busch <kbusch@kernel.org>
5 years agofabrics: ignore hostnqn file if its empty
Sagi Grimberg [Wed, 12 Feb 2020 20:01:57 +0000 (12:01 -0800)]
fabrics: ignore hostnqn file if its empty

If we read an empty string from /etc/nvme/hostnqn we should
ignore it instead of passing an empty string to the
driver resulting in the error:

nvme_fabrics: unknown parameter or missing value 'hostnqn=' in ctrl creation request

Signed-off-by: Sagi Grimberg <sagi@grimberg.me>
Signed-off-by: Keith Busch <kbusch@kernel.org>
5 years agonvme-cli: memblaze: change to 100644 mode for memblaze-nvme.c
Yi Zhang [Thu, 16 Jan 2020 07:56:58 +0000 (15:56 +0800)]
nvme-cli: memblaze: change to 100644 mode for memblaze-nvme.c

Bellow WARNING observed with rpmbuild -bb rpmbuild/SPECS/nvme-cli.spec
*** WARNING: plugins/memblaze/memblaze-nvme.c is executable but has
empty or no shebang, removing executable bit

Signed-off-by: Yi Zhang <yi.zhang@redhat.com>
Signed-off-by: Keith Busch <kbusch@kernel.org>
5 years agoAdd support for SN7GC devices
Jeff Lien [Wed, 12 Feb 2020 22:19:38 +0000 (16:19 -0600)]
Add support for SN7GC devices

5 years agoAdd help text files for wdc log-page-directory and namespace-resize
Jeff Lien [Wed, 5 Feb 2020 20:40:25 +0000 (14:40 -0600)]
Add help text files for wdc log-page-directory and namespace-resize
commands.

5 years agoAdd namespace-resize wdc plugin command for SN720 drives.
Jeff Lien [Wed, 5 Feb 2020 20:36:26 +0000 (14:36 -0600)]
Add namespace-resize wdc plugin command for SN720 drives.

5 years agoUpdate vs-internal-log wdc plugin command for SN340 to support new
Jeff Lien [Wed, 5 Feb 2020 20:19:41 +0000 (14:19 -0600)]
Update vs-internal-log wdc plugin command for SN340 to support new
DUI data header version.

5 years agoAdd new fields to wdc plugin vs-nand-stats command
Jeff Lien [Mon, 27 Jan 2020 18:18:22 +0000 (12:18 -0600)]
Add new fields to wdc plugin vs-nand-stats command

5 years agonvme-cli: Add script to determine host NQN
Simon Schricker [Fri, 17 May 2019 13:36:37 +0000 (15:36 +0200)]
nvme-cli: Add script to determine host NQN

* Based on the system-UUID, via dmidecode
* verifies UUID format
* tries to catch fake/lazy UUIDs

5 years agofabrics: fix connection args parsing
Keith Busch [Fri, 24 Jan 2020 20:44:27 +0000 (12:44 -0800)]
fabrics: fix connection args parsing

Use comma as the deliminiter.

Fixes: e5723678
Signed-off-by: Keith Busch <kbusch@kernel.org>
5 years agonvmf-autoconnect.service
Hannes Reinecke [Wed, 22 Jan 2020 07:45:18 +0000 (08:45 +0100)]
nvmf-autoconnect.service

Add a systemd service to automatically start 'nvme connect-all'
upon booting if an /etc/nvme/discovery.conf file exists.
The 'nvme-tcp' or 'nvme-rdma' modules need to be loaded earlier
by eg the modules-load service.

Signed-off-by: Hannes Reinecke <hare@suse.com>
5 years agoFix status displayed by vs-telemetry-controller-option wdc plugin
Jeff Lien [Thu, 23 Jan 2020 19:09:46 +0000 (13:09 -0600)]
Fix status displayed by vs-telemetry-controller-option wdc plugin
command.

5 years agoProvide documentation for log page directory WDC plugin command
Jeff Lien [Wed, 15 Jan 2020 15:28:09 +0000 (09:28 -0600)]
Provide documentation for log page directory WDC plugin command

5 years agoProvide WDC plugin command to dump log page directory
Jeff Lien [Wed, 15 Jan 2020 15:26:44 +0000 (09:26 -0600)]
Provide WDC plugin command to dump log page directory

5 years agoTests: Hande string encoding and handling failures
Narasimhan V [Mon, 20 Jan 2020 10:34:37 +0000 (16:04 +0530)]
Tests: Hande string encoding and handling failures

Handling string encoding to utf-8 and also string handling in
tests.

Signed-off-by: Narasimhan V <sim@linux.vnet.ibm.com>
5 years agoMakefile: use UDEVRULESDIR instead of UDEVDIR
Hannes Reinecke [Thu, 16 Jan 2020 12:57:46 +0000 (13:57 +0100)]
Makefile: use UDEVRULESDIR instead of UDEVDIR

The SUSE rpm macros only have UDEVRULESDIR, not UDEVDIR.
So introduce a UDEVRULESDIR variable which is preset to
UDEVDIR/rules.d

Signed-off-by: Hannes Reinecke <hare@suse.de>
5 years agoMakefile: generate Dracut config according to UDEVDIR
Haochen Tong [Thu, 9 Jan 2020 19:16:23 +0000 (20:16 +0100)]
Makefile: generate Dracut config according to UDEVDIR

Signed-off-by: Haochen Tong <i@hexchain.org>
5 years agoAdd additional smart log critical warn decoding
Wen Xiong [Wed, 8 Jan 2020 20:24:41 +0000 (12:24 -0800)]
Add additional smart log critical warn decoding

Provide a user option to request additional smart log page decoding,
and print out detailed critical warning when requested.

Signed-off-by: Wendy Xiong<wenxiong@linux.vnet.ibm.com>
[merge up, rename json keys]
Signed-off-by: Keith Busch <kbusch@kernel.org>
5 years agoNew tag for missing docs v1.10.1
Keith Busch [Tue, 7 Jan 2020 20:55:21 +0000 (13:55 -0700)]
New tag for missing docs

The previous release tag missed adding documentation required for a
successful install.

Signed-off-by: Keith Busch <kbusch@kernel.org>
5 years agoAdd new wdc documentation
Keith Busch [Tue, 7 Jan 2020 19:33:10 +0000 (12:33 -0700)]
Add new wdc documentation

Signed-off-by: Keith Busch <kbusch@kernel.org>
5 years agoRelease v1.10 v1.10
Keith Busch [Tue, 7 Jan 2020 18:25:29 +0000 (11:25 -0700)]
Release v1.10

Signed-off-by: Keith Busch <kbusch@kernel.org>
5 years agoRegen documentation
Keith Busch [Tue, 7 Jan 2020 18:48:44 +0000 (11:48 -0700)]
Regen documentation

Signed-off-by: Keith Busch <kbusch@kernel.org>
5 years agoUse asprintf for long names
Keith Busch [Tue, 7 Jan 2020 18:46:41 +0000 (11:46 -0700)]
Use asprintf for long names

It's too easy to observe snprintf truncation warnings when using long
strings.

Signed-off-by: Keith Busch <kbusch@kernel.org>
5 years ago[NVME-CLI] Add documentation file for vs-error-reason-identifier WDC
Jeff Lien [Tue, 7 Jan 2020 15:20:23 +0000 (09:20 -0600)]
[NVME-CLI] Add documentation file for vs-error-reason-identifier WDC
           plugin command.
[NVME-CLI] Minor updates/corrections to the clear-fw-activate-history
           and vs-fw-activate-history command help text.

5 years ago[NVME-CLI] Add support for WDC plugin command - vs-error-reason-identifier
Jeff Lien [Tue, 7 Jan 2020 15:16:09 +0000 (09:16 -0600)]
[NVME-CLI] Add support for WDC plugin command - vs-error-reason-identifier
[NVME-CLI] Reverse enable/disable bit on the vs-telemetry-controller-option
           WDC plugin command

5 years agoFix systemd service script use of CONNECT_ARGS env var
James Smart [Tue, 7 Jan 2020 17:02:57 +0000 (10:02 -0700)]
Fix systemd service script use of CONNECT_ARGS env var

In testing, some environments are not properly expanding CONNECT_ARGS.

Change systemd service file use of CONNECT_ARGS to be encapsulated by
apostrophes and parens.

Signed-off-by: James Smart <jsmart2021@gmail.com>
Signed-off-by: Keith Busch <kbusch@kernel.org>
5 years agoShannon Plugin update.
root [Tue, 24 Dec 2019 09:42:56 +0000 (17:42 +0800)]
Shannon Plugin update.

5 years agoDoc/Makefile: Introduce 'quiet' build option
Keith Busch [Fri, 20 Dec 2019 22:12:43 +0000 (07:12 +0900)]
Doc/Makefile: Introduce 'quiet' build option

Signed-off-by: Keith Busch <kbusch@kernel.org>
5 years agoMakefile: use 'quiet' compile
Keith Busch [Fri, 20 Dec 2019 22:02:41 +0000 (07:02 +0900)]
Makefile: use 'quiet' compile

Just using a simpler compile output.

Signed-off-by: Keith Busch <kbusch@kernel.org>