Skip to content

Releases: linux-nvme/nvme-cli

v2.11

31 Oct 09:40
Compare
Choose a tag to compare

Boooh Hallowien release!

ChatGPT says:

The nvme-cli v2.11 release introduces several updates, including added support for the latest NVMe specifications, enhancements to command options, and improvements for more efficient error handling and output formatting. These updates streamline device management and improve the user experience with NVMe devices.

and this is rather disappointing summary. There are really cool highlights in this release.

First, Dennis spend a lot (and I mean a lot) of time getting a CI setup running for nvme-cli. The new nightly build jobs run the in Python written tests living in tests directory. These tests were dormant for a while because these tests really interact with hardware and blindly write on the disc. You don't want to run these on your desktop, do you?

Anyway these new nightly CI runs update the kernel to the latest Linus' upstream master branch and then run following tests:

        nvme_attach_detach_ns_test
        nvme_compare_test
        nvme_copy_test
        nvme_create_max_ns_test 
        nvme_ctrl_reset_test
        nvme_dsm_test
        nvme_error_log_test
        nvme_flush_test
        nvme_format_test
        nvme_fw_log_test
        nvme_get_features_test
        nvme_get_lba_status_test
        nvme_id_ctrl_test
        nvme_id_ns_test
        nvme_lba_status_log_test
        nvme_read_write_test
        nvme_smart_log_test
        nvme_verify_test  
        nvme_writeuncor_test
        nvme_writezeros_test

against Western Digital Ultrastar® SN640 and Western Digital Ultrastar® ZN540 disks.

In short we finally have fully end-to-end tests in place. Obviously, it will take a bit of time
to get all very stable and reliable but the first few days. The reason why these tests are currently
just running during nightly builds is that the whole set takes roughly 1h. But this is just
the starting point. I think we should be able to have a quick run set in future.

Anyway, I really want to thank for Dennis to get this stuff working!

Once again Tokunori Ikegami was busy working on many things. One highlight is that ocp plugin is now buildable when json-c is missing. Thanks!

There were a lot of contributions getting various print commands outputting newly added types/fields. And also improving the various plugins here and there. Also big thanks for these contributions.

I was busy getting the various TLS key use cases working more nicely. I really hope I got this sorted out now. Famous last words.

Ankit Soni (2):
      build: update libnvme wrap
      nvme-print: added new fields for nvm_id_ns

Brandon Paupore (1):
      wdc: add support for SNTMP drive

Carl Moran (1):
      plugins/wdc: fix json output for vs-nand-stats

Daniel Wagner (19):
      build: use linux-nvme/ci-containers
      build: bump libnvme wrap
      nvme: use unsigned char for hmac and identity
      fabrics: add support to connect to accept a configuration
      fabrics: add support to connect to accept a PSK command line
      docs: update TLS options
      nvmf-keys: add udev rule to import tls keys
      nvme: export tls keys honoring version and hmac
      nvme: set file permission for keyfile to owner only
      nvme: rename identity to version
      nvme: add support to add derive TLS PSK to keyfile
      docs: update gen-tls-key arguments
      nvme: return correct error code in append_keyfile
      nvme: add support to append TLS PSK to keyfile for check-tls-key
      docs: update check-tls-key arguments
      build: bump libnvme wrap
      scripts: handle libnvme version update correctly
      doc: Regenerate all docs for v2.11
      Release v2.11

Dennis Maisenbacher (13):
      tests: Use raw string for compiling regex
      tests: fix nvme_attach_detach_ns_test
      tests: Fix nvme_copy_test python traceback fails
      tests: Fixup nvme_create_max_ns_test
      tests: Improve nvme_ctrl_reset_test
      tests: Adjust ncap and nsze for nvme_format_test
      tests: Fix nvme_get_features_test
      tests: Use correct flag in vendor specific id-ctrl
      tests: Fix nvme_smart_log_test
      tests: Add feature check to nvme_compare_test
      tests: Fix nvme_get_lba_status_test and nvme_lba_status_log_test
      tests: Create default ns on tearDown
      CI: Add workflow for running tests on real nvme device

Francis Pravin (12):
      nvme-print: print the new fields added in TP4165
      build: update libnvme wrap
      nvme-print: use Completion Condition enum
      nvme-print: print the new fields added in TP4142
      nvme-print-json: print CMBEBS and CMBSWTP in json format
      nvme-print-json: print controller register values in offset order
      nvme-print: print NSSES field of CAP register
      build: update libnvme wrap
      nvme: add EMVS support to sanitize command
      nvme-print-stdout: print VERS bit of SANICAP field
      doc: Add sanitize command emvs option
      nvme-print: Add Sanitize Media Verification Event in PEL log

Greg Joyce (1):
      plugins/sed: add sid password change

Haro Panosyan (1):
      plugins/solidigm : Fixing vs-internal-log to generate identify per allocated namespace.

Leonardo da Cunha (5):
      plugins/solidigm: Added Workload Tracker Triggers and Wall Time
      completion: add solidgm work-tracker binding
      completion: add ocp set-telemetry-profile to zsh
      Documentation: Added solidigm plugin commands
      plugins/solidigm: Automatic retry smaller log chunk size.

Martin George (17):
      netapp: fix uninitialized value from heap error
      netapp: segregate the print routines
      netapp: print output for single device too
      nvme-print: add subsystype to the list-subsys output
      nvme-print: update subsys verbose outputs
      nvme-print: sanitize error-log output
      nvme: update nvme_insert_tls_key_versioned() return handling
      fabrics: fix incorrect access filename check
      netapp-smdevices: segregate print routines
      netapp-smdevices: print single device output too
      nvme: fix uninitialized value in error-log
      nvme-print-stdout: update changed-ns-list-log output
      nvme-print-json: update JSON verbose output for nvm-id-ctrl
      nvme-print-json: display only verbose output
      nvme: update tls_key() handling
      netapp-smdev: add err msg for no smdevices
      netapp-ontapdev: add err msg for no ontapdevices

Maurizio Lombardi (1):
      plugins/solidigm: fix use after free.

Minsik Jeon (2):
      plugins/fdp: bugfix error check to validate output format
      nvme: Support show-regs for nvmeof

Nitin Sao (2):
      build: bump libnvme wrap
      nvme-print-stdout: Added print for new field CSER (TP4167)

Steven Seungcheol Lee (3):
      ocp-nvme: remove ocp log page version checking
      ocp-nvme: Add LMDATA-37 for Latency Monitor Log
      ocp-nvme: ocp plugin version update

Tetsuya TAKAHASHI (2):
      ocp: fix GUID output
      ocp: fix option handling in internal-log

Tokunori Ikegami (54):
      nvme-print: use LC_MEASUREMENT to check fahrenheit temperature
      nvme-print-stdout: use NVME_FEAT util definitions
      util: extern uint128_t_to_double() function
      logging: add print_info function
      nvme-print-stdout: add print_array function
      ocp: fix to set return value to get c9 log page data
      ocp: fix to return c9 log page data error to open file
      ocp: Change C9 function names to use c9 instead
      ocp: fix ocp-nvme.c coding style errors
      nvme-print-json: use _cleanup_free_
      nvme: use NVME_GET_FEATURES_SEL_SUPPORTED definition
      ocp: add get-enable-ieee1667-silo command
      ocp: add error recovery log page version 3
      ocp: add SMART / health information extended log page version 4
      nvme-print-json: extern json object add functions
      nvme: use NVME_CTRL_FNA definitions
      ocp: add support for hwcomp log page
      ocp: add hwcomp dummy definition
      ocp: add hwcomp log command comp-id option
      ocp: add hwcomp log command list option
      ocp: add hwcomp log json output
      doc: add ocp hardware-component-log command
      completions: add ocp hardware-component-log command
      ocp: split ocp-hwcomp log
      build: bump libnvme wrap
      nvme: use NVME_CHECK() to check get features select field value
      ocp: fix to set log data pointer allocated
      ocp: include util/types.h to use nvme_uint128_t
      nvme-print-stdout: use NVME_CTRL_OAES definitions
      nvme: use NVME_GET_FEATURES_SEL definitions
      nvme: separate get NVME_GET_FEATURES_SEL_CHANGED definition
      doc: add get-feature command changed option
      completions: add get-feature command changed option
      nvme-print: fix error information log page endianness error
      nvme: fix to convert metadata size to native byte order
      ocp-print: move json code into separate files
      plugins: update meson.build file to always build ocp plugin
      ocp: split ocp-fw-activation-history print codes
      ocp: split smart extended log print codes
      ocp: move ocp telemetry log print function into ocp-print
      ocp: split latency monitor log print codes
      ocp: split unsupported requirement log print codes
      ocp: split error recovery log print codes
      ocp: split device capabilities log print codes
      ocp: split telemetry string log print codes
      ocp: split TCG configuration log print codes
      ocp: build ocp-nvme.c and ocp-telemetry-decode.c without json
      ocp: fix ocp-nvme.c indentation errors
      ocp: fix ocp-print-stdout.c indentation error
      ocp: remove callback function cast
      ocp: combine to use GUID length definitions
      ocp: fix firmware activation history entry endian
   ...
Read more

v2.10.2

05 Aug 13:43
Compare
Choose a tag to compare

The v2.10.1 was clearly a brown bag release. Undone the libnvme dependency update.

v2.10.1

05 Aug 13:34
Compare
Choose a tag to compare

There was a small hickup when installing the documentation. Fixed with 4c1e89f ("docs: rename ocp-unsupported-req-log file")

v2.10

02 Aug 07:58
Compare
Choose a tag to compare

Thanks everyone contributing to this release. There are many small and bigger fixes in this release. Too many to name all of them. So The highlights are Caleb's improvement on the ANA parsing code. Tokunori's constant effort to improve the code quality, this time the tab completions got a major update. And I was looking into getting the nvme connect-all case working with a config.json if there are more than one resource defined.

Anant Mashiana (1):
      plugins/solidigm: Added extra VU fields to id-ctrl

Arthur Shau (3):
      ocp: Add Get DSSD Power State Feature (FID: C7h)
      ocp: Switch OCP plugin to use semantic versioning
      docs: Add missing OCP plugin docs to meson

Brandon Paupore (1):
      plugins/ocp: underflow   index fixes for telemetry

Caleb Sander Mateos (25):
      build: update libnvme wrap
      nvme: fix maximum ANA log page length calculation
      nvme: use libnvme's atomic ANA log page fetch
      test: add test cases for argconfig option values
      test: add test cases for argconfig comma-separated array parsing
      util: remove argconfig CFG_SIZE type
      util: remove argconfig_parse_val() declaration
      util: make argconfig_set_opt_val() a void function
      util: use cleanup to avoid goto in argconfig_parse()
      util: remove redundant NULL check in argconfig_print_help()
      util: inline argconfig_parse_byte()
      util: remove redundant cast in argconfig_parse_type()
      util: remove unnecessary parentheses in argconfig_parse_type()
      util: remove empty default case in argconfig functions
      util: reduce arguments passed to argconfig_parse_type()
      util: reduce complexity of argconfig_parse_val()
      util: consolidate call paths to argconfig_parse_type()
      util: reduce allocation sizes in argconfig_parse()
      util: introduce is_null_or_empty() to avoid strlen()
      util: remove redundant loop condition in argconfig_parse()
      util: avoid duplication in argconfig_parse_comma_sep_array*()
      nvme: use argconfig_parse_comma_sep_array_u16() in attach-ns
      util: remove unnecessary NULL check in cleanup_nvme_root()
      nvme: avoid unnecessary dup()   close() in io_mgmt_send()
      fabrics: remove unused _discover_from_json_config_file() argument

Chaithanya shoba (2):
      plugins/micron: Add support for OCP telemetry log parsing
      plugins/micron: Move OCP internal log parsing from Micron to OCP Plugin.

Daniel Wagner (49):
      build: bump libnvme wrap
      nvme: use cleanup helper for nvme_root_t objects
      nvme: initialize default library logging
      build: bump libnvme wrap
      build: separate builds of libnvme and nvme-cli
      doc: fix ocp format issues
      build: reorder release commits
      fabrics: skip namespace scan for fabric commands
      nvme-print-stdout: refactor subsys config
      build: bump libnvme wrap
      nvme: use stdout for exporting TLS keys
      nvme: strip newline when parsing TLS key files
      nvme: use cleanup helper for STREAM objects
      fabrics: use cleanup helper for STREAM objects
      nvme-rpmb: use cleanup helper for STREAM objects
      nvme: use cleanup helper to close file descriptor
      nvme: factor out import key function
      nvme: return error code/message for TLS commands
      nvme: add support to revoke TLS key
      build: sort documentation files entries
      doc: fix tls-key --keyfile shorthand
      doc: add tls-key --revoke documentation
      completion: add support for tls-key
      doc: fix micron ocp telemetry log parse title
      build: add documentation CI build
      build: bump libnvme wrap
      fabrics: use cleanup helper to free nvme root object
      fabrics: extend already connected message
      fabrics: use helper to lookup default hostnqn/hostid
      fabrics: first read config before topology scanning
      fabrics: refactore discover from json config
      fabrics: connect all hosts in config.json
      build: add static build target
      build: show git version used during configuration
      build: fetch complete git history
      build: use official download action
      utils: add missing header
      utils: cleanup includes in utils.h
      utils: fix print formatting option
      fabrics: use cleanup helper where possible
      fabrics: do not report error when no modules are loaded when disconnecting
      fabrics: check if json config is existing
      fabrics: drop --disable-sqflow alias -d
      fabrics: drop --quiet alias -S
      nvme: extend help message when mmap regs fails
      fabrics: do not leak nvme_ctrl_t object on connect
      build: bump libnvme wrap
      doc: Regenerate all docs for v2.10
      Release v2.10

Francis Pravin (12):
      nvme: remove double free in persistent-event-log
      nvme: fix fw-commit MUD result message
      nvme-print-stdout: fix to print the log line by line
      nvme-print-stdout: print MEM bit of CTRATT field
      nvme-print-stdout: fix format index in stdout_nvm_id_ns
      build: update libnvme wrap
      nvme-print-stdout: Add helper function to print PIF in string form
      nvme-print: print the new fields added in TP4141a
      nvme: choose PIF from QPIF if QPIFS supports and PIF is QTYPE
      nvme: add helper function to get pif and sts value
      nvme: check MD size with PI size when PRACT set to 1
      nvme: use proper mask to get correct lbafu value

Greg Joyce (2):
      sed: only re-read partition table after unlock.
      sed: perform a tper revert after lsp revert

Hasan Polat (1):
      doc: fix format command info

Heitor Alves de Siqueira (1):
      plugins/virtium: use time_t for time_stamp values

Israel Rukshin (1):
      fabrics: Always pass hostid and hostnqn

Khem Raj (1):
      plugins/ssstc: Replace __uint16_t with uint16_t

Leonardo da Cunha (4):
      plugins/solidigm: Automatic enabling Data Area 4 when retrieving Telemetry.
      nvme-print: Added "Command and Feature Lockdown" string to LID 0x14
      plugins/solidigm: Added log pages to vs-internal-logs
      plugins/solidigm: Added workload-tracker command

Martin Belanger (1):
      build: Update meson commands in Makefile

Martin George (5):
      nvme: update parse_args() return value handling
      nvme: fix verbose logging
      fabrics: print an error for ENOENT too
      nvme: avoid segfault in show-topology
      fabrics: avoid potential segfault in nvmf_dim()

Maurizio Lombardi (3):
      nvme-print: add the cancel opcode to the nvme_cmd_to_string() list
      nvme: telemetry: report the correct error if the ioctl() fails.
      nvme-print-json: add missing va_end()

Milan Broz (1):
      sed: Fix parsing of Discovery0 features

Nitin Sao (3):
      build: bump libnvme wrap
      nvme-print: add new field added in TP4090
      nvme-print: Added print for two new fields for HMB feature

Oliver Upton (1):
      common.h: Avoid using unsupported load/store instructions in arm64 VMs

Sam James (2):
      nvme: Use C99 types for uint32_t
      plugins/innogrit: `u_char` -> `unsigned char`

Steven Seungcheol Lee (1):
      nvme: fix lbaf inuse to use 6:5 bits

Tokunori Ikegami (50):
      doc: add nvme connet ctrl-loss-tmo description
      nvme-print-json: Fix linux kernel check patch errors
      nvme-print-json: Fix channel configuration descriptors pointer
      nvme-print-stdout: Fix PMRWBM register name
      nvme-print-json: Use NVME_PMRxxx register definitions to print
      nvme-print-json: Fix LBA status DSLBA output as hexadecimal
      nvme: Add nvme_cfg global variable for NVME_ARGS default options
      nvme: Add nvme_cfg timeout default option
      nvme: Change NVME_DEFAULT_IOCTL_TIMEOUT to use nvme_cfg timeout
      nvme: Add support for delete-ns command timeout option
      doc: Add nvme commands timeout option
      completions: Fix bash-nvme-completion.sh indentation errors
      completions: Fix _nvme indentation errors
      completions: Change fw-activate command name to fw-commit
      completions: Add /dev/nvme argument missed
      completions: Add io-mgmt-recv/send commands zsh completions
      completions: Add timeout option zsh completions
      completions: Add timeout option bash completions
      nvme-print: Print PEL reserved event string
      build: bump libnvme wrap
      nvme-print: add PEL vendor specific and TCG defined events strings
      nvme: Add smart-log command fahrenheit option
      doc: Add smart-log command fahrenheit option
      completions: add smart-log command fahrenheit option
      nvme-print-binary: Fix binary_smart_log indentation error
      nvme-print-stdout: Fix stdout_smart_log indentation error
      nvme-print: Fix nvme_show_smart_log indentation error
      nvme-print: Use 'unsigned int' instead of 'unsigned'
      nvme: add flags type nvme_print_flags_t
      nvme: change _cleanup_file_ to _cleanup_fd_
      nvme-print: check locale to use temperatures in degrees fahrenheit
      nvme: delete smart-log command fahrenheit option
      nvme: add get-feature and id-ctrl commands fahrenheit outputs
      nvme-print-json: add get-feature command fahrenheit temperature output
      nvme: use _cleanup_free_ type buffer for get-feature command
      nvme: extern NVME_ARGS macro definition
      ocp: use NVME_ARGS macro definition by eol-plp-failure-mode command
      nvme-rpmb: send RPMB_REQ_READ_RESULT for authentication key programming
      ocp: set UUID index for eol-plp-failure-mode command to get
      doc: fix ocp eol-plp-failure-mode select short option
      ocp: fix eol-plp-failure-mode command sel option value
      ocp: add get-error-injection command
      doc: add ocp get-error-injection command
      completions: add ocp get-error-injection command
      nvme-print-binary: add effects-log co...
Read more

v2.9.1

03 May 14:04
Compare
Choose a tag to compare

And the spdk plugin is gone again, because it has a dependency on the private libnvme header.

v2.9

03 May 12:49
Compare
Choose a tag to compare

There are two plugins ssstc and spdk in this release. Tokunori was again very busy to update the print code to use the libnvme definitions while Tomas is improving the NBFT code.

There a lot of small fixes and improvements all over the place. Thanks to everyone who contributed to this release in code or bug reports.

Brandon Paupore (4):
      ocp: fix for power-state argument checking
      ocp: support OCP 2.5 Set Telemetry Profile feature
      ocp: support OCP DSSD Async Event Config feature
      ocp: Unify line start spacing as tabs

Caleb Sander Mateos (1):
      nvme-wrap: remove unused nvme_cli_get_log_ana_groups()

Daniel Wagner (24):
      build: bump libnvme wrap
      build: bump libnvme wrap
      nvme: remove unused declaration
      nvme: update include for libnvme
      logging: move logging code to a new file
      logging: track log level globally
      nvme: track verbose level
      logging: output ioctl debugging info
      nvme: do not issue warning when nvme_core module is not loaded
      build: bump libnvme wrap
      nvme: do not scan topology when mmaping registers
      nvme: extend error message for ns scan failures
      build: bump libnvme wrap
      build: bump libnvme wrap
      logging: fix error handling for ioctl passthru wrappers
      fabrics: align identify command payload
      Revert "logging: fix error handling for ioctl passthru wrappers"
      Revert "build(deps): bump AppImageCrafters/build-appimage from 1.3 to 2"
      nvmf-connect: systemd hardening effort
      nvme: identify primary ctrl do not accept nsid
      nvmf-autoconnect: fix string encoding
      build: bump libnvme wrap
      build: Update version to v2.9
      doc: Regenerate all docs for v2.9

Greg Joyce (2):
      sed: Confirm entered password before initialization.
      sed: update SED password when initalizing

Hannes Reinecke (3):
      nvme: use library functions for importing and exporting TLS keys
      build: bump libnvme wrap
      nvme: add new function 'tls_key'

Israel Rukshin (1):
      fabrics: Fix fast_io_fail_tmo option

Leonardo da Cunha (4):
      plugins/ocp: Split ocp_get_uuid_index() into find and get functions.
      plugins/ocp: Adjusted variable type size carrying UUID index to 8 bit.
      plugins/solidigm: Improved Solidigm UUID index detection.
      plugins/solidigm: Additional LID for temperature statistics.

Martin George (6):
      nvme-print: print more details in ns-descs verbose output
      nvme-netapp: add nspath tlv handling
      nvme: print retained key for gen-tls-key's -i option too
      nvme: check-tls-key fails despite having hostnqn file
      fabrics: fix mem leak in nvmf_check_hostid_and_hostnqn()
      nvme: fix mem leak in multiple key related functions

Maurizio Lombardi (1):
      nvme: fix error path if write() fails in get_telemetry_log()

Minsik Jeon (2):
      rpm: Add missing rule and service files
      nvme-print-json: Bugfix status json key of sanitize-log

Nilay Shroff (3):
      nvme: Don't seg fault if given device is not char/block device
      fabrics : allow host to create duplicate connections to target
      nvme-print: Print cntlid number for controller

Sebastian Brzezinka (3):
      nvme-print: check if controller belong to SPDK
      plugins/spdk: plugin to list SPDK subsystems
      nvme-print: expand the maximum field length to prevent misalignment

Tokunori Ikegami (73):
      Revert "nvme-print-json: remove obj_print helper"
      nvme: Add show-regs and get-property commands NSSD print outputs
      nvme-print-stdout: Use persistent event log RCI definitions
      nvme-print: Add PEL RCI port identifier type printf function
      nvme-print: Fix nvme_host_metadata_type_to_string() indentation errors
      nvme-print-stdout: Delete duplicated if condition checking line
      nvme-print-json, nvme-print-stdout: Use CHAR_BIT definition
      nvme-print, common: Fix for whitespace change
      nvme: Delete duplicated semicolon
      nvme: Delete unusual fallthrough for cases have no body
      nvme-print-stdout: Fix linux kernel check patch errors
      nvme-print-stdout: Check sscanf return value
      nvme-print-stdout: Fix channel configuration descriptors pointer
      doc: Fix documentation file mode 100755 to 100644
      doc: Fix get-property and set-property offset and value descriptions
      micron-nvme: Unuse stat() to check if strMainDirName exists
      doc: Add get-feature cdw11 and set-feature cdw12 parameters
      doc: Fix admin and io passthru cdw parameters description
      nvme-print-stdout: Use NVME_PMRCAP register definition to print
      nvme-print-stdout: Use NVME_PMRCTL_EN register definition to print
      nvme-print-stdout: Use NVME_PMRSTS register definitions to print
      nvme-print-stdout: Use NVME_PMREBS register definitions to print
      nvme-print-stdout: Use NVME_PMRSWTP register definitions to print
      nvme-print-stdout: Use NVME_PMRMSC register definitions to print
      nvme-print-stdout: Split line length exceeded 100 columns
      nvme-print-stdout: Fix LBA status DSLBA output as hexadecimal
      nvme-print-stdout: Change hexadecimal value 0x prefix to use %#x
      logging: Split to output ioctl latency by log info level
      nvme-print: Add PEL EHAI port identifier type printf function
      nvme-print-stdout: Use NVME_SET_FEAT_EVENT register definitions
      nvme-print-stdout: Use NVME_GET for FID supported and effects FSP
      nvme-print-stdout: Use NVME_GET for MI commands supported and effects CSP
      nvme-print-stdout: Use NVME_BOOT_PARTITION_INFO field definitions
      nvme: Delete unused nvme root scanned
      plugins/wdc: Whitespace changes
      plugins/wdc: Fix narrow index variable type in for loop to __u32
      nvme: Fix to cleanup free raw_secret memory allocated
      nvme-print-stdout: use FDP configuration attributes definitions
      nvme-print-stdout: use NVME_MAJOR and NVME_MINOR definitions
      nvme-print-stdout: use controller configuration definitions
      nvme-print-stdout: use CSTS definitions
      nvme-print-stdout: use admin queue attributes definitions
      nvme-print: Use EOM optional data present macros changed
      nvme-print: Refactor CMBLOC and PMRSTS registers function
      nvme-print: Change PMRSZU string function as unit string
      nvme: Refactor mmap_registers to add writable parameter
      nvme-print: Add register print functions
      nvme-print-stdout: Add register print functions
      nvme-print-json: Add register print functions
      nvme: Add support for get-reg and set-reg commands
      nvme-print-stdout: Use NVME_CMBLOC definitions
      nvme-print-stdout: Use NVME_CMBSZ definitions
      nvme-print-stdout: Use NVME_BPINFO definitions
      nvme-print-stdout: Use NVME_BPRSEL definitions
      nvme: Add fw-download warning message for FWUG alignment error
      nvme: Change fw-download xfer initialization to set 0
      build: bump libnvme wrap
      nvme-print-stdout: Use NVME_CMBMSC/STS/EBS/SWTP definitions
      nvme-print: Use NVME_UNIT definitions
      nvme-print-stdout: Use NVME_CMIC definitions
      nvme-print-stdout: Add CSTS.ST register stdout print
      nvme-print-json: add obj_add_uint_0nx() function
      nvme-print-json: add obj_d() function
      nvme-print-json: add support set feature event in PEL
      nvme-print-json: add support telemetry log create event in PEL
      nvme-print-json: use NVME_BOOT_PARTITION_INFO field definitions
      nvme-print-json: use NVME_MAJOR and NVME_MINOR definitions
      nvme-print-json, nvme-print-stdout: add tertiary version number
      nvme-print-json: use controller configuration definitions
      nvme-print-stdout: use POWER_OF_TWO macro
      nvme-print-json: use CSTS definitions
      nvme-print-json: use admin queue attributes definitions
      nvme-print-stdout: fix ASQB, ACQB and BMBBA prints

Tomas Bzatek (14):
      build: Switch default meson buildtype to 'debugoptimized'
      nvme-print-json: Fix uninitialized variable
      nvme-print-stdout: Fix uninitialized variable
      plugins/sed: Fix uninitialized variable
      plugins/nbft: Fix uninitialized variables
      nbft: Fix uninitialized variable
      plugins/nbft: Print the new SSNS flags
      plugins/nbft: Implement verbose logging
      nbft: Fix 'verbose' argument type
      nbft: Silence connection failures for unavailable SSNS
      nbft: Pause logging for expected connection failures
      nbft: Include SSNS index in error messages
      nbft: Refactor connection attempt out
      nbft: Fix scandir() error check

Tomasz Zawadzki (1):
      plugins/spdk: plugin to list SPDK controllers

Warner Losh (2):
      sed_opal: Only build when we really have sed_opal headers
      meson.build: Fix spelling of sed-opal.h filename

Wilfred Mallawa (1):
      nvme: fix security buffer allocation size

dependabot[bot] (2):
      build(deps): bump sand4rt/ftp-deployer from 1.7 to 1.8
      build(deps): bump AppImageCrafters/build-appimage from 1.3 to 2

jeff-lien-wdc (4):
      wdc: Add support for the get-drive-status command to SN861
      ocp: Fix timestamp displayed by fw-activate-history command
      wdc:  Fix timestamp displayed by vs-firmware-activate-history command
      wdc: Review changes and build fixes

jinhua.huang (5):
      plugins/memblaze: code-format on leading indent and align
      plugins/memblaze: code refactor on using cleanup_nvme_dev
      plugins/memblaze: code refactor on applying __packed on more structs
      plugins/memblaze: fix code mis-type error
      plugins/memblaze: add performance stats

kobyou (1):
      plugins/ssstc: add a new plugin for SSSTC driver

v2.8

14 Feb 09:44
Compare
Choose a tag to compare

The sedcli project for doing SED Opal operation has been archived and the only maintained fork is a private project. Thus Greg has implemented some basic commands as a new plugin.

The rest is mostly bug fixes. So nothing to exciting but still worth to get released.

Thanks to all: Anant Mashiana, Bean Li, Caleb Sander, Felix Yan, Greg Joyce, Hannes Reinecke, Keith Busch, Leonardo da Cunha, Martin George, Maurizio Lombardi, Minsik Jeon, Stuart Hayes, jeff-lien-wdc

Anant Mashiana (1):
      completions: added Solidigm plugin to autocomplete scripts

Bean Li (1):
      nvme: do not include meta data for PRACT=1 and MD=8 (version 2)

Caleb Sander (1):
      nvme: Remove unused cfg argument from NVME_ARGS() macro

Daniel Wagner (6):
      nbft: fixup include for libnvme
      nbft: do not issue an error if ACPI tables are missing
      nvme-print-json: append array object in json_support_log
      build: bump libnvme version
      build: Update version to v2.8
      doc: Regenerate all docs for v2.8

Felix Yan (2):
      doc: Fix short option name for cfg-file
      doc: Fix config-schema.json's URL

Greg Joyce (1):
      sed: Add plugin for basic SED Opal operations

Hannes Reinecke (3):
      Merge pull request #2165 from martin-gpy/warnings_verbose_level
      build: Update libnvme wrap
      nvme-fabrics: enable option 'concat'

Keith Busch (2):
      nvme: fix directive receive identify offsets
      don't include newlines in already wrapped text

Leonardo da Cunha (1):
      plugins/solidigm: Compressing vs-internal-log log files into zip file.

Martin George (3):
      fabrics: move hostid/hostnqn warnings to verbose level
      nvme: print inserted tls key for check-tls-key
      nvme-print: fix typo in list verbose output

Maurizio Lombardi (1):
      create-ns: align the namespaces to 1Mib boundaries when using SI suffixes

Minsik Jeon (1):
      nvme: use correct telemetry log size

Stuart Hayes (1):
      nbft: fix tcp/dhcp address fallback retry

dependabot[bot] (1):
      build(deps): bump codecov/codecov-action from 3 to 4

jeff-lien-wdc (2):
      plugins/wdc: Plugin fixes and updates
      plugins/wdc: Add Debug Log Collection Support

v2.7.1

21 Dec 14:50
Compare
Choose a tag to compare

The v2.7 release changed some of the field names in the JSON output. This breaks existing integrations. Thus release reverts these changes.

For more details see #2166

v2.7

19 Dec 11:49
Compare
Choose a tag to compare

The highlights of this release are

  • stdout and json output refactoring, cleanups and improvements (Tokunori Ikegami)
  • all commands teached to understand --verbose and --output (Tokunori Ikegami)
  • dropped dependency on libhugetblfs (Daniel Wagner)
  • build instruction and fixes for embedded systems (Tokunori Ikegami, Daniel Wagner)
  • TP8018 support added (Hannes Reinecke)

Tokunori Ikegami was very busy extending the json output format for various commands. The aim is to support the different output formats by all commands. Thus there are small non backward compatible changes for a hand full commands which used either -o or -v for something different. Hopefully this doesn't break too many setups.

The were many bug fixes and small improvements all over the place. Again a big thanks to anyone contributing to this project with code, bug reports etc: Andrew Meir, Arthur Shau, Arunpandian J, Brandon Paupore, Caleb Sander, Daniel Wagner, Hannes Reinecke, Joy Gu, Martin George, Martin Wilck, Steven Seungcheol Lee, Tokunori Ikegami, Tomas Bzatek, Vigneshwaran Saravanan, Yi Zhang, da Cunha, Leonardo, Chris Patterson, jeff-lien-wdc, jinhua.huang, leonardo.da.cunha and shankara

v2.6

29 Sep 06:32
Compare
Choose a tag to compare

ALPSS 2023 Release