v2.10
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 command output missed
ccan: Add freed pointer checking to delete strset member
ocp: add set-error-injection command
doc: add ocp set-error-injection command
completions: add ocp set-error-injection command
nvme: return -ENXIO value to open device if errno not set
Tomas Bzatek (6):
plugins/nbft: Use default library logging
fabrics: Make some symbols public
util/cleanup: Add cleanup for struct nvme_fabrics_uri
nbft: Perform actual discovery
nbft: Skip SSNS records pointing to well-known discovery NQN
nbft: Reuse existing discovery controller
Vigneshwaran Saravanan (3):
plugins/ocp: Add ocp TCG Configuration Log Page
plugins/ocp: Update telemetry string log page (C9h)
plugins/ocp: fix UAF when printing telemetry log
Warner Losh (1):
solidigm: Eliminate <linux/limits.h>
Xiaoyuan Zhang (1):
nvme-print-stdout: fix persistent-event-log set feature event output
dependabot[bot] (3):
build(deps): bump dawidd6/action-download-artifact from 3 to 5
build(deps): bump dawidd6/action-download-artifact from 5 to 6
build(deps): bump mosteo-actions/docker-run from 1 to 2
jeff-lien-wdc (5):
wdc: Fix compiler warning.
ocp: OCP 2.5 Telemetry DA 1 and 2 Parsing Updates
ocp: Update Plugin Version
wdc: Update and refactor the C0h log page parsing
wdc: OCP 2.5 Log Page Updates
lebao (1):
nvme-print-stdout: print frl1/2/3 values for zns id-ns
zhangxiaoyuan (1):
nvme: use argconfig_parse_seen to check conditions