]> www.infradead.org Git - users/sagi/nvme-cli.git/log
users/sagi/nvme-cli.git
4 years agoAdd support for Replay Protection Memory Block (RPMB) commands
Hanumanthu H [Tue, 4 Aug 2020 10:30:39 +0000 (16:00 +0530)]
Add support for Replay Protection Memory Block (RPMB) commands

4 years ago[nvme cli] Add WDC plugin command vs-pcie-stats
Jeff Lien [Tue, 10 Nov 2020 15:01:50 +0000 (09:01 -0600)]
[nvme cli] Add WDC plugin command vs-pcie-stats
[nvme cli] Fix vs-smart-add-log min/max user data erase counts

4 years agoAdd missing sub-command links from main man page
Minwoo Im [Tue, 1 Dec 2020 14:36:22 +0000 (23:36 +0900)]
Add missing sub-command links from main man page

This patch adds missing subcommands to the main man page.

Issue: https://github.com/linux-nvme/nvme-cli/issues/793
Signed-off-by: Minwoo Im <minwoo.im.dev@gmail.com>
4 years ago[nvme-cli] WDC plugin add support for cloud-SSD-plugin-version
Jeff Lien [Thu, 12 Nov 2020 16:39:52 +0000 (10:39 -0600)]
[nvme-cli] WDC plugin add support for cloud-SSD-plugin-version

4 years agoMerge branch 'ErwanAliasr1-evelu-feature'
Keith Busch [Tue, 17 Nov 2020 21:45:38 +0000 (13:45 -0800)]
Merge branch 'ErwanAliasr1-evelu-feature'

4 years agonvme-print: Adding enum nvme_feat
Erwan Velu [Thu, 29 Oct 2020 17:59:48 +0000 (18:59 +0100)]
nvme-print: Adding enum nvme_feat

This patch switch the feature_id into an named enum called nvme_feat.

Having named enum ease the implementation as Werror=switch compile flag will detect forgotten case statements.

A build failure looks like :
nvme-print.c:4525:2: error: enumeration value ‘NVME_FEAT_RRL’ not handled in switch [-Werror=switch]

This patch adds the NVME_FEAT_SANITIZE & NVME_FEAT_RRL inside nvme_feature_show_fields().

A NVME_FEAT_NONE=0 value is added to give a neutral/default value when needed.

Signed-off-by: Erwan Velu <e.velu@criteo.com>
4 years agonvme.spec.in: using specific directory for nvme command on %post
Steven Seungcheol Lee [Wed, 28 Oct 2020 08:20:00 +0000 (17:20 +0900)]
nvme.spec.in: using specific directory for nvme command on %post

${_sbindir} could be placed in out of default bin directories
so just 'nvme gen-hostnqn' would not work with 'nvme command not found'

Signed-off-by: Steven Seungcheol Lee <sc108.lee@samsung.com>
4 years agoUpdate nvme.c
duanhaoqiang [Wed, 4 Nov 2020 01:50:52 +0000 (09:50 +0800)]
Update nvme.c

return error when fw-download firmware size is 0

4 years agoprovide value bounds check on numerical lists
Keith Busch [Fri, 30 Oct 2020 21:28:16 +0000 (14:28 -0700)]
provide value bounds check on numerical lists

Check if the user provided a value exceeding the 32 bits they're
going to be used with rather than silently truncate the value.

Link: https://github.com/linux-nvme/nvme-cli/issues/828
Signed-off-by: Keith Busch <kbusch@kernel.org>
4 years agonvme-print: Show more async event config fields
Jonathan Teh [Wed, 28 Oct 2020 13:31:05 +0000 (13:31 +0000)]
nvme-print: Show more async event config fields

Also fix the ANA log name.

4 years ago[nvme-cli] WDC Plugin fix to Fix clear-fw-activate-history command for SN640 Drives
Jeff Lien [Tue, 27 Oct 2020 21:35:30 +0000 (16:35 -0500)]
[nvme-cli] WDC Plugin fix to Fix clear-fw-activate-history command for SN640 Drives

4 years agofix address print format
Keith Busch [Mon, 26 Oct 2020 20:52:30 +0000 (13:52 -0700)]
fix address print format

pointers can use %p

Signed-off-by: Keith Busch <kbusch@kernel.org>
4 years ago[nvme-cli] 2nd change to address review comments
Jeff Lien [Thu, 22 Oct 2020 19:38:01 +0000 (14:38 -0500)]
[nvme-cli] 2nd change to address review comments

4 years ago[NVMe-CLI] Review comment changes to wdc plugin vs-internal-log fix for SN730
Jeff Lien [Mon, 19 Oct 2020 21:10:15 +0000 (16:10 -0500)]
[NVMe-CLI] Review comment changes to wdc plugin vs-internal-log fix for SN730

4 years ago[nvme-cli] Additional fixes to wdc plugin vs-internal-log command for SN730
Jeff Lien [Thu, 15 Oct 2020 15:53:27 +0000 (10:53 -0500)]
[nvme-cli] Additional fixes to wdc plugin vs-internal-log command for SN730

4 years ago[nvme-cli] wdc plugin fix for vs-internal-log command for SN730 drive.
Jeff Lien [Wed, 7 Oct 2020 19:57:01 +0000 (14:57 -0500)]
[nvme-cli] wdc plugin fix for vs-internal-log command for SN730 drive.

4 years agoFix: Seagate Uncorrectable Read Error Count reported twice #686
swamytk [Fri, 23 Oct 2020 15:55:34 +0000 (21:25 +0530)]
Fix: Seagate Uncorrectable Read Error Count reported twice #686

4 years agonvme-print: fix ZNS MAR/MOR print format
Niklas Cassel [Fri, 23 Oct 2020 09:37:30 +0000 (11:37 +0200)]
nvme-print: fix ZNS MAR/MOR print format

MAR is currently printed as unsigned.
MOR is currently printed as signed.
They should use the same print format.

Printing MOR as unsigned on a controller that has no limit,
shows as -1, which doesn't make sense.

Since no limit is represented as 0xffffffff in the ZNS spec,
printing MAR/MOR as hex makes the most sense.

Signed-off-by: Niklas Cassel <niklas.cassel@wdc.com>
4 years agoUpdate 70-nvmf-autoconnect.conf.in
Alexandre Bouvier [Thu, 22 Oct 2020 07:21:04 +0000 (09:21 +0200)]
Update 70-nvmf-autoconnect.conf.in

4 years agotag new release v1.13
Keith Busch [Tue, 20 Oct 2020 23:48:28 +0000 (16:48 -0700)]
tag new release

Tagging new release. The most significant changes are the new Zoned
Namespace support from the recently ratified NVMe TP, but also includes
vendor specific updates, various improvements, and spec feature
enhancements. Thank you to all the contributors for this round. Shortlog
follows:

Adam Judge (1):
      Prevent compiler from optimizing mmio_read64 to single 64b read

Aleksei Marov (1):
      Allow 0 value of ctrl_loss_tmo.

Aravind Ramesh (2):
      nvme zns: segmentation fault in cmd "nvme zns zone-mgmt-send"
      nvme zns: close device fd in id_ctrl() func

Brandon (1):
      Added DITT explanation and cleaned up spacing

Brandon Paupore (17):
      Added temperature information getting and text formatting
      Implemented additional statistics to display
      Corrected the output of TMT1 and 2
      Added device support check for temp stats command
      Added documentation for temperature stats function
      Added missing semicolon
      Added support for device 0x5006 to clear-pcie-correctable-error
      Fixed some spacing
      Reformatted text output to match other plugins
      Added global namespace and device id display
      Initial coding for new command 'capabilities', also create PCIE_CLEAR_MASK
      Spacing fix
      Finished implementing capabilities checks
      Added documentation for capabilities command
      Update capabilities command for some alternate command versions
      Corrected vs-internal-log support status for some devices
      Update supported devices in man page

Casey Tucker (1):
      id-ctrl vs for Amazon Elastic Block Store

Darrin Smart (1):
      Add missing dependencies on systemd & systemd-udev

Enzo Matsumiya (1):
      doc: add 'tcp' as transport type option

Hans Holmberg (1):
      Add warning if not all zone changed list entries are retrieved.

Hanumanthu H (2):
      Micron plugin and documentation updates
      Micron plugin and documentation updates

Jeff Lien (16):
      DRV-1050 Update SN730 to support DUI data header version 4   Added version 4 structs and version checking logic
      [NVME CLI] WDC Plugin Command Updates Add support for using uuid index when retrieving the 0xC2 Log Page Add support for parsing the 0xC0 log page
      [NVMe-CLI] WDC Plugin update documentation for vs-smart-add-log command
      Add support for ZN345 drive.
      Fix spacing issue.
      [NVMe-CLI] Add support for clear-pcie-correctable-error in wdc plugins   for SN345
      [NVMe-CLI] Add support for vs-fw-activate-history and clear-fw-activate-history       in wdc plugins for SN345
      [nvme-cli] Add log page mask parameter to vs-smart-add-log wdc plugin command.
      [nvme-cli] Updated documentation files for vs-smart-add-log wdc plugin command
      [nvme-cli] WDC plugin name change ZN345 to ZN355   Add drive info capability to ZN355
      [nvme-cli] Fix vs-fw-activate-history for 0xC2 log page
      [nvme-cli] fix spacing issues in wdc vs-fw-activate-history
      [nvme-cli] Add support for enclosures to WDC plugin commands
      [nvme-cli] Documentation files for new wdc plugin enclosure command
      [nvme-cli] Fix comments and spacing with enclosure changes
      [nvme-cli] Update enclosure changes based on review comments.

Jian Ding (1):
      Add support for DUI data header version 4.

Keith Busch (19):
      support for zoned command set
      add zns documentation
      fix zns csn identify values
      fix print for zns id ns
      zns id-ns json output
      report all zones if no user override
      add missing manpage to repo
      fix manpage name
      Merge branch 'MatiasBjorling-prettifyzns'
      fix 32-bit build
      fix compile errors from recent pr
      start continuous integration
      iocs fixes
      Merge branch 'master' of https://github.com/linux-nvme/nvme-cli
      use normal alloc for fw download
      fix 64-bit print formats
      fix cross compile print formats
      regen documentation
      tag new release

Klaus Jensen (12):
      ioctl: fix missing addrof
      add fields and types for zoned namespaces
      Add zoned namespaces identify human readable print
      Add exception for zone management send command
      add fields and types for zoned namespaces
      Add zoned namespaces identify human readable print
      Add exception for zone management send command
      nvme-print: streamline show-regs output
      nvme-print: zns mar/mor fields are 32 bits
      add support for issuing simple copy commands
      {get,set}_feature: get nsid from device node
      fix '< 0' comparisons of unsigned expressions

Matias Bjorling (1):
      Improve output readability of the zns id-ns command

Matias Bjørling (8):
      Add really pretty print for ZNS Command Set specific Identify Namespace data structure
      Various cleanups in the ZNS plugin
      Capitalize LBA in descriptions within the ZNS plugin
      Remove lx text from reporting
      Align print of zns id_ns with nvm id_ns
      Add support for printing vs area in zns id ns
      Align print of zns id_ctrl with nvm id_ctrl
      Improve pretty print of the ZNS Command Set Identify Namespace command

Max Gurtovoy (1):
      nvme: add support for non shared namespaces

Narasimhan V (2):
      Getting interrupt list only for current controller
      Print human readable output for get_features test

Niklas Cassel (4):
      nvme-print: ZNS zoc field is 16 bits
      nvme-print: ZNS ozcs field is 16 bits
      nvme-print: fix ZNS Read Across Zone Boundaries print
      nvme-print: fix ZNS MAR/MOR print

Randy Bates (3):
      Update and Parse FB log page
      Updates from pull request review
      Initial coding

Revanth Rajashekar (1):
      nvme-cli: Update Intel VU Smart Log Add

Sagi Grimberg (6):
      nvme: add fabrics discovery controller default port number
      fabrics: move connect_args extraction to a dedicated routine
      fabrics: fix infinite loop is discovery recursion contains a loop
      fabrics: fix segfault when -t <transport> is not passed
      fabrics: fix passing ctrl_loss_tmo=0 by default
      nvme-status: Don't reduce all negative statuses to ECOMM

Stephen Kitt (1):
      Add Debian installation instructions

Steven Seungcheol Lee (16):
      Identify I/O Command Set data structure command added
      Added new namespace list command on list-ns, 4056 modification added
      zone-mgmt-recv report size bug fix
      Modify changed zone list command to issue get-log
      Add latency check for zone-append
      zone-mgmt-recv report size bug fix
      Modify changed zone list command to issue get-log
      Add latency check for zone-append
      zns: nsid is used for zone-mgmt-send exception handling
      zns: getting zdes logic using exist function, data_len should be in bytes
      Add zone-mgmt-recv parameters to issue command
      format: rescan after format for character device linux-nvme #709
      Add rpm build output on gitignore
      Handling system error #768
      nvme.c: read, write data size should be block_count * logical block size
      rpmbuild: install directories using Makefile's variables

Wei Hou (4):
      sfx: add set/get-feature sub cmd
      do capacity change check
      correct some prompt
      correct some prompt

Signed-off-by: Keith Busch <kbusch@kernel.org>
4 years agoregen documentation
Keith Busch [Tue, 20 Oct 2020 23:47:41 +0000 (16:47 -0700)]
regen documentation

Signed-off-by: Keith Busch <kbusch@kernel.org>
4 years agorpmbuild: install directories using Makefile's variables
Steven Seungcheol Lee [Mon, 28 Sep 2020 08:23:22 +0000 (17:23 +0900)]
rpmbuild: install directories using Makefile's variables

rpmbuild cause error on the system which is using difference RPM macros

Signed-off-by: Steven Seungcheol Lee <sc108.lee@samsung.com>
4 years ago[nvme-cli] Update enclosure changes based on review comments.
Jeff Lien [Wed, 7 Oct 2020 20:15:47 +0000 (15:15 -0500)]
[nvme-cli] Update enclosure changes based on review comments.

4 years ago[nvme-cli] Fix comments and spacing with enclosure changes
Jeff Lien [Fri, 2 Oct 2020 16:03:17 +0000 (11:03 -0500)]
[nvme-cli] Fix comments and spacing with enclosure changes

4 years ago[nvme-cli] Documentation files for new wdc plugin enclosure command
Jeff Lien [Thu, 1 Oct 2020 19:17:40 +0000 (14:17 -0500)]
[nvme-cli] Documentation files for new wdc plugin enclosure command

4 years ago[nvme-cli] Add support for enclosures to WDC plugin commands
Jeff Lien [Thu, 1 Oct 2020 19:15:28 +0000 (14:15 -0500)]
[nvme-cli] Add support for enclosures to WDC plugin commands

4 years agodoc: add 'tcp' as transport type option
Enzo Matsumiya [Tue, 14 Jul 2020 20:56:43 +0000 (17:56 -0300)]
doc: add 'tcp' as transport type option

Commit d48164ad3a5 ("nvme: Add TCP transport ") added 'tcp' as a
transport type option, but didn't document it.

Add it for:
nvme-connect-all
nvme-connect
nvme-discover

4 years ago[nvme-cli] fix spacing issues in wdc vs-fw-activate-history
Jeff Lien [Tue, 22 Sep 2020 18:32:54 +0000 (13:32 -0500)]
[nvme-cli] fix spacing issues in wdc vs-fw-activate-history

4 years ago[nvme-cli] Fix vs-fw-activate-history for 0xC2 log page
Jeff Lien [Tue, 22 Sep 2020 18:26:33 +0000 (13:26 -0500)]
[nvme-cli] Fix vs-fw-activate-history for 0xC2 log page

4 years agoImprove output readability of the zns id-ns command
Matias Bjorling [Mon, 28 Sep 2020 19:58:50 +0000 (19:58 +0000)]
Improve output readability of the zns id-ns command

- Expose MAR/MOR in a human readable format.
- Update spaces between values to align appropriately.
- Expose the MAR/MOR/FRL/RRL fields as unsigned decimal instead of hex.

Signed-off-by: Matias Bjørling <matias.bjorling@wdc.com>
4 years agonvme.c: read, write data size should be block_count * logical block size
Steven Seungcheol Lee [Thu, 24 Sep 2020 02:48:43 +0000 (11:48 +0900)]
nvme.c: read, write data size should be block_count * logical block size

Physical block size could be different with logical block size from kernel
because of npwg(Namespace Preferred Write Granularity) & nows(Namespace Optimal Write Size)

physical block size would be multiple of logical block size.

Signed-off-by: Steven Seungcheol Lee <sc108.lee@samsung.com>
Reviewed-by: Beomsoo Kim <beomsooo.kim@samsung.com>
4 years agonvme-print: fix ZNS MAR/MOR print
Niklas Cassel [Fri, 18 Sep 2020 15:40:16 +0000 (15:40 +0000)]
nvme-print: fix ZNS MAR/MOR print

According to the ZNS specification, MAR/MOR is 0's based, and no limit for
these fields are represented as 0xffffffff, not as 0.
Since all ones is the same in little endian and big endian, no need to
do any conversion before doing the comparison.

Signed-off-by: Niklas Cassel <niklas.cassel@wdc.com>
4 years agonvme-print: fix ZNS Read Across Zone Boundaries print
Niklas Cassel [Fri, 18 Sep 2020 15:39:29 +0000 (15:39 +0000)]
nvme-print: fix ZNS Read Across Zone Boundaries print

According to the ZNS specification, Read Across Zone Boundaries in
the ozcs field is at bit 0, not at bit 2.

Signed-off-by: Niklas Cassel <niklas.cassel@wdc.com>
4 years agonvme-print: ZNS ozcs field is 16 bits
Niklas Cassel [Fri, 18 Sep 2020 15:37:12 +0000 (15:37 +0000)]
nvme-print: ZNS ozcs field is 16 bits

According to the ZNS specification, the ZNS ozcs field is 16 bits,
whereof 15 are reserved bits.

Signed-off-by: Niklas Cassel <niklas.cassel@wdc.com>
4 years agonvme-print: ZNS zoc field is 16 bits
Niklas Cassel [Fri, 18 Sep 2020 15:29:38 +0000 (15:29 +0000)]
nvme-print: ZNS zoc field is 16 bits

According to the ZNS specification, the ZNS zoc field is 16 bits,
whereof 14 are reserved bits.

Signed-off-by: Niklas Cassel <niklas.cassel@wdc.com>
4 years agonvme-cli: Update Intel VU Smart Log Add
Revanth Rajashekar [Thu, 10 Sep 2020 19:41:58 +0000 (13:41 -0600)]
nvme-cli: Update Intel VU Smart Log Add

Add new fields to the Intel's VU smart log
and print these new fields in json and human readable formats

Modify the human readable format function

Signed-off-by: Revanth Rajashekar <revanth.rajashekar@intel.com>
4 years agonvme-status: Don't reduce all negative statuses to ECOMM
Sagi Grimberg [Wed, 9 Sep 2020 21:58:33 +0000 (14:58 -0700)]
nvme-status: Don't reduce all negative statuses to ECOMM

There should be no reason why we should reduce all the semantic status
codes we are getting from the device/driver to a single meaningless
status code.

Signed-off-by: Sagi Grimberg <sagi@grimberg.me>
4 years agoUpdate supported devices in man page
Brandon Paupore [Wed, 2 Sep 2020 16:38:28 +0000 (11:38 -0500)]
Update supported devices in man page

4 years agoCorrected vs-internal-log support status for some devices
Brandon Paupore [Wed, 2 Sep 2020 16:28:11 +0000 (11:28 -0500)]
Corrected vs-internal-log support status for some devices

4 years agoid-ctrl vs for Amazon Elastic Block Store
Casey Tucker [Wed, 2 Sep 2020 20:01:10 +0000 (20:01 +0000)]
id-ctrl vs for Amazon Elastic Block Store

This allows the user to extract useful information from the
vendor-specific field when querying Elastic Block Storage
devices attached by Amazon Web Services. In particular, this
field is populated with the block device that was requested
by the user in the API call, which is of the form `/dev/sdc`
or `/dev/xvdc` rather than `/dev/nvme2`. This plugin reduces
the need for operating system maintainers to include vendor-
specific packages in their distribution.

https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/nvme-ebs-volumes.html
https://github.com/aws/amazon-ec2-utils/blob/master/ebsnvme-id

4 years agofix '< 0' comparisons of unsigned expressions
Klaus Jensen [Tue, 1 Sep 2020 11:11:00 +0000 (13:11 +0200)]
fix '< 0' comparisons of unsigned expressions

Fix the error handling of nvme_get_nsid().

Signed-off-by: Klaus Jensen <k.jensen@samsung.com>
4 years ago{get,set}_feature: get nsid from device node
Klaus Jensen [Tue, 1 Sep 2020 08:36:41 +0000 (10:36 +0200)]
{get,set}_feature: get nsid from device node

If the given device is the controller device, set nsid to 0xFFFFFFFF.
This allows something like

  nvme set-feature /dev/nvme0 -f 0x5 -v $((1 << 16))

to work as expected.

Since we cannot use S_ISCHR/S_ISBLK to differentiate between controller
and namespace devices since commit e77046661509 ("remove block device
checking for namespace"), just try the NVME_IOCTL_ID ioctl and if it
fails with ENOTTY, assume that it is the controller device.

Signed-off-by: Klaus Jensen <k.jensen@samsung.com>
4 years agonvme: add support for non shared namespaces
Max Gurtovoy [Wed, 26 Aug 2020 10:49:03 +0000 (13:49 +0300)]
nvme: add support for non shared namespaces

Currently, nvme-cli assume that all the namespaces in an NVM subsystem
are shared between all the controllers. There is an option to create
both shared and non-shared namespaces among the controllers in the same
NVM subsystem. For example, in SR-IOV environment, one can attach 1
namespace to each controller that will be private and also 1 namespace
that will be shared among the secondary controllers only. In this case,
the output of "nvme list -v" will be wrong:

NVM Express Subsystems

Subsystem        Subsystem-NQN                                                                                    Controllers
---------------- ------------------------------------------------------------------------------------------------ ----------------
nvme-subsys5     nqn.1994-11.com.samsung:nvme:PM1733:2.5-inch:S4YNNE0N700448                                      nvme18, nvme19, nvme20, nvme21, nvme5

NVM Express Controllers

Device   SN                   MN                                       FR       TxPort Address        Subsystem    Namespaces
-------- -------------------- ---------------------------------------- -------- ------ -------------- ------------ ----------------
nvme18   S4YNNE0N700448       SAMSUNG MZWLJ1T9HBJR-00007               EPK98B5Q pcie   0000:0a:00.1   nvme-subsys5 nvme5n1, nvme5n2, nvme5n3, nvme5n4, nvme5n5, nvme5n6
nvme19   S4YNNE0N700448       SAMSUNG MZWLJ1T9HBJR-00007               EPK98B5Q pcie   0000:0a:00.2   nvme-subsys5 nvme5n1, nvme5n2, nvme5n3, nvme5n4, nvme5n5, nvme5n6
nvme20   S4YNNE0N700448       SAMSUNG MZWLJ1T9HBJR-00007               EPK98B5Q pcie   0000:0a:00.3   nvme-subsys5 nvme5n1, nvme5n2, nvme5n3, nvme5n4, nvme5n5, nvme5n6
nvme21   S4YNNE0N700448       SAMSUNG MZWLJ1T9HBJR-00007               EPK98B5Q pcie   0000:0a:00.4   nvme-subsys5 nvme5n1, nvme5n2, nvme5n3, nvme5n4, nvme5n5, nvme5n6
nvme5    S4YNNE0N700448       SAMSUNG MZWLJ1T9HBJR-00007               EPK98B5Q pcie   0000:0a:00.0   nvme-subsys5 nvme5n1, nvme5n2, nvme5n3, nvme5n4, nvme5n5, nvme5n6

NVM Express Namespaces

Device       NSID     Usage                      Format           Controllers
------------ -------- -------------------------- ---------------- ----------------
nvme5n1      1        343.60  GB / 343.60  GB    512   B +  0 B   nvme18, nvme19, nvme20, nvme21, nvme5
nvme5n2      2        274.88  GB / 274.88  GB    512   B +  0 B   nvme18, nvme19, nvme20, nvme21, nvme5
nvme5n3      3        283.47  GB / 283.47  GB    512   B +  0 B   nvme18, nvme19, nvme20, nvme21, nvme5
nvme5n4      4        292.06  GB / 292.06  GB    512   B +  0 B   nvme18, nvme19, nvme20, nvme21, nvme5
nvme5n5      5        317.83  GB / 317.83  GB    512   B +  0 B   nvme18, nvme19, nvme20, nvme21, nvme5
nvme5n6      6        137.44  GB / 137.44  GB    512   B +  0 B   nvme18, nvme19, nvme20, nvme21, nvme5

After the fix we'll get the following right topology:

NVM Express Subsystems

Subsystem        Subsystem-NQN                                                                                    Controllers
---------------- ------------------------------------------------------------------------------------------------ ----------------
nvme-subsys5     nqn.1994-11.com.samsung:nvme:PM1733:2.5-inch:S4YNNE0N700448                                      nvme18, nvme19, nvme20, nvme21, nvme5

NVM Express Controllers

Device   SN                   MN                                       FR       TxPort Address        Subsystem    Namespaces
-------- -------------------- ---------------------------------------- -------- ------ -------------- ------------ ----------------
nvme18   S4YNNE0N700448       SAMSUNG MZWLJ1T9HBJR-00007               EPK98B5Q pcie   0000:0a:00.1   nvme-subsys5 nvme5n2, nvme5n6
nvme19   S4YNNE0N700448       SAMSUNG MZWLJ1T9HBJR-00007               EPK98B5Q pcie   0000:0a:00.2   nvme-subsys5 nvme5n3, nvme5n6
nvme20   S4YNNE0N700448       SAMSUNG MZWLJ1T9HBJR-00007               EPK98B5Q pcie   0000:0a:00.3   nvme-subsys5 nvme5n4, nvme5n6
nvme21   S4YNNE0N700448       SAMSUNG MZWLJ1T9HBJR-00007               EPK98B5Q pcie   0000:0a:00.4   nvme-subsys5 nvme5n5, nvme5n6
nvme5    S4YNNE0N700448       SAMSUNG MZWLJ1T9HBJR-00007               EPK98B5Q pcie   0000:0a:00.0   nvme-subsys5 nvme5n1

NVM Express Namespaces

Device       NSID     Usage                      Format           Controllers
------------ -------- -------------------------- ---------------- ----------------
nvme5n1      1        343.60  GB / 343.60  GB    512   B +  0 B   nvme5
nvme5n2      2        274.88  GB / 274.88  GB    512   B +  0 B   nvme18
nvme5n3      3        283.47  GB / 283.47  GB    512   B +  0 B   nvme19
nvme5n4      4        292.06  GB / 292.06  GB    512   B +  0 B   nvme20
nvme5n5      5        317.83  GB / 317.83  GB    512   B +  0 B   nvme21
nvme5n6      6        137.44  GB / 137.44  GB    512   B +  0 B   nvme18, nvme19, nvme20, nvme21

Cc: Max Gurtovoy <maxg@mellanox.com>
Signed-off-by: Max Gurtovoy <mgurtovoy@nvidia.com>
Signed-off-by: Keith Busch <kbusch@kernel.org>
4 years agoUpdate capabilities command for some alternate command versions
Brandon Paupore [Wed, 19 Aug 2020 20:16:42 +0000 (15:16 -0500)]
Update capabilities command for some alternate command versions

4 years ago[nvme-cli] WDC plugin name change ZN345 to ZN355
Jeff Lien [Tue, 25 Aug 2020 17:25:44 +0000 (12:25 -0500)]
[nvme-cli] WDC plugin name change ZN345 to ZN355
  Add drive info capability to ZN355

4 years agofix cross compile print formats
Keith Busch [Tue, 25 Aug 2020 15:13:38 +0000 (08:13 -0700)]
fix cross compile print formats

use print compiler specific print formats

Link: https://github.com/linux-nvme/nvme-cli/issues/784
Signed-off-by: Keith Busch <kbusch@kernel.org>
4 years agofix 64-bit print formats
Keith Busch [Tue, 25 Aug 2020 15:07:05 +0000 (08:07 -0700)]
fix 64-bit print formats

Signed-off-by: Keith Busch <kbusch@kernel.org>
4 years agofabrics: fix passing ctrl_loss_tmo=0 by default
Sagi Grimberg [Thu, 20 Aug 2020 03:13:20 +0000 (20:13 -0700)]
fabrics: fix passing ctrl_loss_tmo=0 by default

cfg.ctrl_loss_tmo will be cleared to zero even if it wasn't set
at all, we must not pass ctrl_loss_tmo in the connection string.

This fixes a regression caused by allowing ctrl_loss_tmo to be
zero at all, by setting it to be a sane default (which currently
matches the kernel default).

Fixes: a6105a30a39a ("nvme-cli/fabrics: Add tos param to connect cmd")
Fixes: 4b607779af71 ("Allow 0 value of ctrl_loss_tmo.")
Signed-off-by: Sagi Grimberg <sagi@grimberg.me>
4 years agofabrics: fix segfault when -t <transport> is not passed
Sagi Grimberg [Wed, 19 Aug 2020 10:31:57 +0000 (03:31 -0700)]
fabrics: fix segfault when -t <transport> is not passed

Need to check if transport was provided before we derefernce
it.

Fixes: 9da606b4afcc ("fabrics: allow traddr to be host name for ip based transports")
Signed-off-by: Sagi Grimberg <sagi@grimberg.me>
Reviewed-by: Chaitanya Kulkarni <chaitanya.kulkarni@wdc.com>
4 years agofabrics: fix infinite loop is discovery recursion contains a loop
Sagi Grimberg [Fri, 14 Aug 2020 20:42:39 +0000 (13:42 -0700)]
fabrics: fix infinite loop is discovery recursion contains a loop

It's possible that different discovery controllers may refer to
each other. In this case, we will get into an infinite loop as
we don't track that we have already connected and seen this.

The kernel doesn't protect us from this for discovery controllers
because it always allows duplicate discovery controllers.

Signed-off-by: Sagi Grimberg <sagi@grimberg.me>
Signed-off-by: Keith Busch <kbusch@kernel.org>
4 years agofabrics: move connect_args extraction to a dedicated routine
Sagi Grimberg [Fri, 14 Aug 2020 20:42:38 +0000 (13:42 -0700)]
fabrics: move connect_args extraction to a dedicated routine

We will need it to track controllers as we are iterating over
nested discovery log pages recursion.

Signed-off-by: Sagi Grimberg <sagi@grimberg.me>
Signed-off-by: Keith Busch <kbusch@kernel.org>
4 years agonvme: add fabrics discovery controller default port number
Sagi Grimberg [Fri, 14 Aug 2020 20:42:37 +0000 (13:42 -0700)]
nvme: add fabrics discovery controller default port number

The IANA port number for a discovery controller is 8009
for NVMe/TCP and 4420 for any NVMe/RDMA port number. So make
sure to fill it and pass it down, it will help us as we
track and match connection arguments for filtering purposes.

Signed-off-by: Sagi Grimberg <sagi@grimberg.me>
Signed-off-by: Keith Busch <kbusch@kernel.org>
4 years agoPrint human readable output for get_features test
Narasimhan V [Thu, 6 Aug 2020 14:13:09 +0000 (19:43 +0530)]
Print human readable output for get_features test

Printing human readable output for get_features selftest.

Signed-off-by: Narasimhan V <sim@linux.vnet.ibm.com>
4 years agoGetting interrupt list only for current controller
Narasimhan V [Thu, 6 Aug 2020 14:09:58 +0000 (19:39 +0530)]
Getting interrupt list only for current controller

Recently there was a fix for getting the interrupt vector list in
get_features selftest. That gets the list for all nvme controllers
in the system. Fixing it by getting the list for only current
controller.

Signed-off-by: Narasimhan V <sim@linux.vnet.ibm.com>
4 years ago[nvme-cli] Updated documentation files for vs-smart-add-log wdc plugin command
Jeff Lien [Wed, 5 Aug 2020 20:35:42 +0000 (15:35 -0500)]
[nvme-cli] Updated documentation files for vs-smart-add-log wdc plugin command

4 years ago[nvme-cli] Add log page mask parameter to vs-smart-add-log wdc plugin command.
Jeff Lien [Wed, 5 Aug 2020 19:52:59 +0000 (14:52 -0500)]
[nvme-cli] Add log page mask parameter to vs-smart-add-log wdc plugin command.

4 years agoadd support for issuing simple copy commands
Klaus Jensen [Thu, 2 Apr 2020 07:46:12 +0000 (09:46 +0200)]
add support for issuing simple copy commands

Add support for NVMe TP 4065a ("Simple Copy Command"), v2020.05.04
("Ratified").

Signed-off-by: Klaus Jensen <k.jensen@samsung.com>
Co-authored-by: Steven Seungcheol Lee <sc108.lee@samsung.com>
4 years ago[NVMe-CLI] Add support for vs-fw-activate-history and clear-fw-activate-history
Jeff Lien [Mon, 20 Jul 2020 15:45:58 +0000 (10:45 -0500)]
[NVMe-CLI] Add support for vs-fw-activate-history and clear-fw-activate-history
      in wdc plugins for SN345

4 years ago[NVMe-CLI] Add support for clear-pcie-correctable-error in wdc plugins
Jeff Lien [Mon, 20 Jul 2020 14:42:46 +0000 (09:42 -0500)]
[NVMe-CLI] Add support for clear-pcie-correctable-error in wdc plugins
  for SN345

4 years agoMicron plugin and documentation updates
Hanumanthu H [Thu, 30 Jul 2020 17:00:03 +0000 (22:30 +0530)]
Micron plugin and documentation updates

4 years agoMicron plugin and documentation updates
Hanumanthu H [Thu, 30 Jul 2020 16:58:26 +0000 (22:28 +0530)]
Micron plugin and documentation updates

4 years agoImprove pretty print of the ZNS Command Set Identify Namespace command
Matias Bjørling [Wed, 29 Jul 2020 20:37:56 +0000 (20:37 +0000)]
Improve pretty print of the ZNS Command Set Identify Namespace command

- Add pretty print for mar, mor, rrl, and frl fields.
- Clarity Zone Size that value is reported in hex.
- Add header text for the zoc and ozcs fields.

Signed-off-by: Matias Bjørling <matias.bjorling@wdc.com>
4 years agoHandling system error #768
Steven Seungcheol Lee [Fri, 3 Jul 2020 02:33:15 +0000 (11:33 +0900)]
Handling system error #768

Signed-off-by: Steven Seungcheol Lee <sc108.lee@samsung.com>
4 years agoAdd missing dependencies on systemd & systemd-udev
Darrin Smart [Fri, 24 Jul 2020 03:46:19 +0000 (20:46 -0700)]
Add missing dependencies on systemd & systemd-udev

For /usr/bin/udevadm and /usr/bin/systemctl

4 years agoAdd rpm build output on gitignore
Steven Seungcheol Lee [Fri, 17 Jul 2020 06:14:33 +0000 (15:14 +0900)]
Add rpm build output on gitignore

Signed-off-by: Steven Seungcheol Lee <sc108.lee@samsung.com>
4 years agoAdded documentation for capabilities command
Brandon Paupore [Mon, 13 Jul 2020 15:12:07 +0000 (10:12 -0500)]
Added documentation for capabilities command

4 years agoFinished implementing capabilities checks
Brandon Paupore [Mon, 13 Jul 2020 14:33:16 +0000 (09:33 -0500)]
Finished implementing capabilities checks

4 years agoSpacing fix
Brandon Paupore [Mon, 13 Jul 2020 13:37:10 +0000 (08:37 -0500)]
Spacing fix

4 years agoInitial coding for new command 'capabilities', also create PCIE_CLEAR_MASK
Brandon Paupore [Fri, 10 Jul 2020 22:58:12 +0000 (17:58 -0500)]
Initial coding for new command 'capabilities', also create PCIE_CLEAR_MASK

4 years agouse normal alloc for fw download
Keith Busch [Thu, 16 Jul 2020 13:33:28 +0000 (06:33 -0700)]
use normal alloc for fw download

Huge pages are only helpful for large transfers that may exceed the
driver's max segment limit. Unless a fw download wants to exceed that
transfer length, use normal allocation.

Link: https://github.com/linux-nvme/nvme-cli/issues/775
Signed-off-by: Keith Busch <kbusch@kernel.org>
4 years agoformat: rescan after format for character device linux-nvme #709
Steven Seungcheol Lee [Mon, 13 Jul 2020 10:33:33 +0000 (19:33 +0900)]
format: rescan after format for character device linux-nvme #709

re-read partition table is only vaild for block device
so do namespaces rescan for character device

Signed-off-by: Steven Seungcheol Lee <sc108.lee@samsung.com>
4 years agoAdded global namespace and device id display
Brandon Paupore [Tue, 23 Jun 2020 17:10:18 +0000 (12:10 -0500)]
Added global namespace and device id display

4 years agoReformatted text output to match other plugins
Brandon Paupore [Tue, 16 Jun 2020 17:37:07 +0000 (12:37 -0500)]
Reformatted text output to match other plugins

4 years agonvme-print: zns mar/mor fields are 32 bits
Klaus Jensen [Wed, 1 Jul 2020 06:29:42 +0000 (08:29 +0200)]
nvme-print: zns mar/mor fields are 32 bits

Fix the conversion from 16 to 32 bits.

Signed-off-by: Klaus Jensen <k.jensen@samsung.com>
4 years agoFixed some spacing
Brandon Paupore [Tue, 30 Jun 2020 19:00:08 +0000 (14:00 -0500)]
Fixed some spacing

4 years agoAdded support for device 0x5006 to clear-pcie-correctable-error
Brandon Paupore [Fri, 19 Jun 2020 18:38:00 +0000 (13:38 -0500)]
Added support for device 0x5006 to clear-pcie-correctable-error

4 years agoAdded missing semicolon
Brandon Paupore [Thu, 25 Jun 2020 18:38:08 +0000 (13:38 -0500)]
Added missing semicolon

4 years agoAdded DITT explanation and cleaned up spacing
Brandon [Wed, 24 Jun 2020 15:28:50 +0000 (08:28 -0700)]
Added DITT explanation and cleaned up spacing

4 years agoAdded documentation for temperature stats function
Brandon Paupore [Tue, 23 Jun 2020 19:51:33 +0000 (14:51 -0500)]
Added documentation for temperature stats function

4 years agoAdded device support check for temp stats command
Brandon Paupore [Tue, 23 Jun 2020 18:36:28 +0000 (13:36 -0500)]
Added device support check for temp stats command

4 years agoCorrected the output of TMT1 and 2
Brandon Paupore [Tue, 23 Jun 2020 14:23:14 +0000 (07:23 -0700)]
Corrected the output of TMT1 and 2

4 years agoImplemented additional statistics to display
Brandon Paupore [Mon, 22 Jun 2020 17:38:17 +0000 (12:38 -0500)]
Implemented additional statistics to display

4 years agoAdded temperature information getting and text formatting
Brandon Paupore [Fri, 19 Jun 2020 21:45:08 +0000 (16:45 -0500)]
Added temperature information getting and text formatting

4 years agoInitial coding
Randy Bates [Thu, 30 Apr 2020 21:20:34 +0000 (16:20 -0500)]
Initial coding

4 years agocorrect some prompt
Wei Hou [Mon, 29 Jun 2020 04:58:52 +0000 (12:58 +0800)]
correct some prompt

Signed-off-by: Wei Hou <wei.hou@scaleflux.com>
4 years agocorrect some prompt
Wei Hou [Mon, 29 Jun 2020 04:53:59 +0000 (12:53 +0800)]
correct some prompt

Signed-off-by: Wei Hou <wei.hou@scaleflux.com>
4 years agodo capacity change check
Wei Hou [Wed, 17 Jun 2020 03:28:12 +0000 (11:28 +0800)]
do capacity change check

Signed-off-by: Wei Hou <wei.hou@scaleflux.com>
4 years agosfx: add set/get-feature sub cmd
Wei Hou [Thu, 11 Jun 2020 05:46:29 +0000 (13:46 +0800)]
sfx: add set/get-feature sub cmd

Signed-off-by: Wei Hou <wei.hou@scaleflux.com>
4 years agoAdd zone-mgmt-recv parameters to issue command
Steven Seungcheol Lee [Tue, 30 Jun 2020 06:09:13 +0000 (15:09 +0900)]
Add zone-mgmt-recv parameters to issue command

Signed-off-by: Steven Seungcheol Lee <sc108.lee@samsung.com>
4 years agonvme zns: close device fd in id_ctrl() func
Aravind Ramesh [Mon, 29 Jun 2020 04:52:07 +0000 (10:22 +0530)]
nvme zns: close device fd in id_ctrl() func

closed fd in id_ctrl() function.
added le32_to_cpu conversion to frl and rrl fields in print functions.

Signed-off-by: Aravind Ramesh <Aravind.Ramesh@wdc.com>
4 years agonvme zns: segmentation fault in cmd "nvme zns zone-mgmt-send"
Aravind Ramesh [Mon, 29 Jun 2020 04:49:29 +0000 (10:19 +0530)]
nvme zns: segmentation fault in cmd "nvme zns zone-mgmt-send"

zone_mgmt_send function calls strlen() on a null ptr causing the
segmentation fault. Check the pointer instead of len.

Signed-off-by: Aravind Ramesh <Aravind.Ramesh@wdc.com>
4 years agoMerge branch 'master' of https://github.com/linux-nvme/nvme-cli
Keith Busch [Fri, 26 Jun 2020 22:17:35 +0000 (15:17 -0700)]
Merge branch 'master' of https://github.com/linux-nvme/nvme-cli

4 years agoiocs fixes
Keith Busch [Fri, 26 Jun 2020 22:16:03 +0000 (15:16 -0700)]
iocs fixes

Remove bit fields. We can't rely on their byte order.

Remove iocs feature payload, since there isn't one with this feature.
The iocs profile points to an entry in the identify iocs array.

Signed-off-by: Keith Busch <kbusch@kernel.org>
4 years agostart continuous integration
Keith Busch [Fri, 26 Jun 2020 20:46:44 +0000 (14:46 -0600)]
start continuous integration

Help reduce compile breakage

4 years agofix compile errors from recent pr
Keith Busch [Fri, 26 Jun 2020 20:43:26 +0000 (13:43 -0700)]
fix compile errors from recent pr

Signed-off-by: Keith Busch <kbusch@kernel.org>
4 years agoFix spacing issue.
Jeff Lien [Fri, 26 Jun 2020 13:45:29 +0000 (08:45 -0500)]
Fix spacing issue.

4 years agoAdd support for ZN345 drive.
Jeff Lien [Fri, 26 Jun 2020 13:37:38 +0000 (08:37 -0500)]
Add support for ZN345 drive.

4 years agozns: getting zdes logic using exist function, data_len should be in bytes
Steven Seungcheol Lee [Fri, 26 Jun 2020 10:11:37 +0000 (19:11 +0900)]
zns: getting zdes logic using exist function, data_len should be in bytes

Signed-off-by: Steven Seungcheol Lee <sc108.lee@samsung.com>
4 years agozns: nsid is used for zone-mgmt-send exception handling
Steven Seungcheol Lee [Fri, 26 Jun 2020 10:09:51 +0000 (19:09 +0900)]
zns: nsid is used for zone-mgmt-send exception handling

Signed-off-by: Steven Seungcheol Lee <sc108.lee@samsung.com>
4 years agonvme-print: streamline show-regs output
Klaus Jensen [Thu, 25 Jun 2020 13:41:43 +0000 (15:41 +0200)]
nvme-print: streamline show-regs output

Fix mixed tabs/spaces use in show-regs pretty print and align tabulated
output.

Signed-off-by: Klaus Jensen <k.jensen@samsung.com>