]> www.infradead.org Git - users/sagi/nvme-cli.git/log
users/sagi/nvme-cli.git
16 months agocompletions: Add bash completions for telemetry string log page
Arunpandian J [Tue, 12 Dec 2023 12:07:04 +0000 (17:37 +0530)]
completions: Add bash completions for telemetry string log page

Signed-off-by: Arunpandian J <arun.j@samsung.com>
16 months agoplugins/solidigm: Added OCP 2.0 compatibility version command
leonardo.da.cunha [Mon, 16 Oct 2023 21:49:17 +0000 (14:49 -0700)]
plugins/solidigm: Added OCP 2.0 compatibility version command

Signed-off-by: Leonardo da Cunha <leonardo.da.cunha@solidigm.com>
16 months agobuild: Disable muon bestline for CentOS 7 build error
Tokunori Ikegami [Mon, 11 Dec 2023 17:05:42 +0000 (02:05 +0900)]
build: Disable muon bestline for CentOS 7 build error

Signed-off-by: Tokunori Ikegami <ikegami.t@gmail.com>
16 months agoplugins/solidigm: Added OCP 2.0 vs-drive-info command.
da Cunha, Leonardo [Wed, 29 Nov 2023 13:01:16 +0000 (05:01 -0800)]
plugins/solidigm: Added OCP 2.0 vs-drive-info command.

Signed-off-by: Leonardo da Cunha <leonardo.da.cunha@solidigm.com>
16 months agoplugins/ocp: Fix printing order of various Latency Monitor Log buckets
Arthur Shau [Tue, 5 Dec 2023 03:45:40 +0000 (19:45 -0800)]
plugins/ocp: Fix printing order of various Latency Monitor Log buckets

Several buckets were being printed out in an incorrect order (so bucket
3 was being labelled as bucket 0, bucket 2 was labelled as bucket 1, 1
was labelled as 2, etc.).

The tables with these affected buckets were the : Active Latency
Timestamp table, Active Measured Latency table, Static Latency Timestamp
table, and Static Measure Latency table.

Also changed active latency configuration to just print out the hex
value, rather than creating another table.

16 months agonvme: validate output format split status from flag return value
Daniel Wagner [Fri, 1 Dec 2023 13:22:29 +0000 (14:22 +0100)]
nvme: validate output format split status from flag return value

Just return the status via the return value and return the flag value
via the arguments.

Signed-off-by: Daniel Wagner <dwagner@suse.de>
16 months agonvme: simplify cleanup_nvme_dev()
Caleb Sander [Wed, 29 Nov 2023 03:59:09 +0000 (20:59 -0700)]
nvme: simplify cleanup_nvme_dev()

Use DEFINE_CLEANUP_FUNC() to simplify cleanup_nvme_dev().

Signed-off-by: Caleb Sander <csander@purestorage.com>
16 months agocleanup: remove unused cleanup_charp()
Caleb Sander [Tue, 28 Nov 2023 20:17:45 +0000 (13:17 -0700)]
cleanup: remove unused cleanup_charp()

cleanup_charp() appears to have been copied from libnvme,
but it has no users. _cleanup_free_ is more general, anyways.
So remove cleanup_charp() along with cleanup.c.

Signed-off-by: Caleb Sander <csander@purestorage.com>
16 months agowdc: Add support for SN861 2nd pci device id
jeff-lien-wdc [Thu, 30 Nov 2023 19:12:54 +0000 (13:12 -0600)]
wdc: Add support for SN861 2nd pci device id

Signed-off-by: jeff-lien-wdc <jeff.lien@wdc.com>
16 months agobuild: remove libhugetlbfs references
Daniel Wagner [Fri, 17 Nov 2023 08:06:30 +0000 (09:06 +0100)]
build: remove libhugetlbfs references

nvme-cli doesn't depend on libhugetlbfs anymore. Update the documentation
and the CI build.

Signed-off-by: Daniel Wagner <dwagner@suse.de>
16 months agonvme: replace libhugetlbfs with mmap and madvise
Daniel Wagner [Fri, 17 Nov 2023 08:01:35 +0000 (09:01 +0100)]
nvme: replace libhugetlbfs with mmap and madvise

Instead depending on libhugetlbfs for large memory allocation mapping
just use mmap and madvise for trying to allocate contiguous memory.

While at it also introduce an auto cleanup helper.

Signed-off-by: Daniel Wagner <dwagner@suse.de>
16 months agoutil/mem: move alloc helper to util section
Daniel Wagner [Tue, 28 Nov 2023 10:24:17 +0000 (11:24 +0100)]
util/mem: move alloc helper to util section

Move the alloc helpers to its own header file so that we avoid an
include header recursion when defining auto cleanup helpers.

Signed-off-by: Daniel Wagner <dwagner@suse.de>
16 months agonvme: auto cleanup filedescriptors
Daniel Wagner [Wed, 29 Nov 2023 11:14:17 +0000 (12:14 +0100)]
nvme: auto cleanup filedescriptors

Let's make the cleanup logic simpler by using the cleanup hooks for file
descriptors.

Also to simplify the logic don't close STDIN, STDOUT or STDERR. With
this we don't have to dup these file descriptor when we still want to
write to stdout with printf.

Signed-off-by: Daniel Wagner <dwagner@suse.de>
16 months agonvme: auto cleanup buffers
Daniel Wagner [Wed, 29 Nov 2023 10:57:28 +0000 (11:57 +0100)]
nvme: auto cleanup buffers

Let's make the cleanup logic simpler by using the cleanup hooks for
heap allocated buffers.

Signed-off-by: Daniel Wagner <dwagner@suse.de>
16 months agonvme: return error code in get_persistent_event_log
Daniel Wagner [Wed, 29 Nov 2023 11:22:31 +0000 (12:22 +0100)]
nvme: return error code in get_persistent_event_log

When the generation counter is not matching we report the problem but
don't return an error code.

Signed-off-by: Daniel Wagner <dwagner@suse.de>
16 months agonvme: sanitize nvme-gen-tls-key
Hannes Reinecke [Thu, 16 Nov 2023 08:24:44 +0000 (09:24 +0100)]
nvme: sanitize nvme-gen-tls-key

Simplify the hostnqn / subsysnqn check and do not insert the key
if 'insert' is not specified.

Signed-off-by: Hannes Reinecke <hare@suse.de>
16 months agonvme: print out the resulting TLS identity for 'nvme check-tls-key'
Hannes Reinecke [Thu, 16 Nov 2023 08:14:00 +0000 (09:14 +0100)]
nvme: print out the resulting TLS identity for 'nvme check-tls-key'

Add an option '--version' to specify which key identity version to use,
and add an option '--insert' to clarify whether the retained key should
be inserted in the keyring or not.

Signed-off-by: Hannes Reinecke <hare@suse.de>
16 months agonvme: Add version '1' identifier for nvme-gen-tls-key
Hannes Reinecke [Wed, 15 Nov 2023 15:51:10 +0000 (16:51 +0100)]
nvme: Add version '1' identifier for nvme-gen-tls-key

With NVMe TP8018 the NVMe TLS PSK identity changed, and a PSK
digest got attached to the identity.
Update the 'nvme-gen-tls-key' program to accept an 'identity' option
to allow to switch between the two methods.

Default continues to be '0' for now.

Signed-off-by: Hannes Reinecke <hare@suse.de>
16 months agosubprojects/libnvme: update wrapper for TP8018
Hannes Reinecke [Wed, 15 Nov 2023 15:52:53 +0000 (16:52 +0100)]
subprojects/libnvme: update wrapper for TP8018

Signed-off-by: Hannes Reinecke <hare@suse.de>
16 months agoplugins/solidigm: Added re_sku_count smart atrribute
shankara [Wed, 8 Nov 2023 11:16:21 +0000 (03:16 -0800)]
plugins/solidigm: Added re_sku_count smart atrribute

Signed-off-by: shankaralingegowda <shankaralingegowda.singonahalli@solidigmtechnology.com>
16 months agodoc: Fix nvme-connect manpage --application option string
Tomas Bzatek [Thu, 23 Nov 2023 17:32:52 +0000 (18:32 +0100)]
doc: Fix nvme-connect manpage --application option string

(--application -> --context)

Signed-off-by: Tomas Bzatek <tbzatek@redhat.com>
16 months agoplugins/ocp: changed command clear-pcie-correctable-error-counters to match OCP 2...
leonardo.da.cunha [Thu, 16 Nov 2023 16:45:46 +0000 (08:45 -0800)]
plugins/ocp: changed command clear-pcie-correctable-error-counters to match OCP 2.0 spec.
Fixed some function name typos.

Signed-off-by: leonardo.da.cunha <leonardo.da.cunha@solidigm.com>
16 months agoplugins/solidigm: Added command to clear PCIe Correctable Error Counters according...
leonardo.da.cunha [Mon, 16 Oct 2023 17:00:53 +0000 (10:00 -0700)]
plugins/solidigm: Added command to clear PCIe Correctable Error Counters according to OCP 2.0

Signed-off-by: leonardo.da.cunha <leonardo.da.cunha@solidigm.com>
16 months agoplugins/ocp: Reorganized clear feature code for better reuse
leonardo.da.cunha [Mon, 16 Oct 2023 16:33:09 +0000 (09:33 -0700)]
plugins/ocp: Reorganized clear feature code for better reuse

Signed-off-by: leonardo.da.cunha <leonardo.da.cunha@solidigm.com>
17 months agonvme: fixup length calculation for 'nvme gen-tls-key --secret'
Hannes Reinecke [Fri, 17 Nov 2023 07:11:24 +0000 (08:11 +0100)]
nvme: fixup length calculation for 'nvme gen-tls-key --secret'

The raw secret is passed in hex, so the length of the input is
twice the size of the key.

Signed-off-by: Hannes Reinecke <hare@suse.de>
17 months agodoc: add additional build instructions
Daniel Wagner [Fri, 17 Nov 2023 08:41:08 +0000 (09:41 +0100)]
doc: add additional build instructions

Add more information how to build the project in different
scenarios (older distros, static builds etc.).

Also mention where to download the test AppImage.

Signed-off-by: Daniel Wagner <dwagner@suse.de>
17 months agobuild: remove the wrap feature dependency for muon
Tokunori Ikegami [Thu, 16 Nov 2023 16:42:00 +0000 (17:42 +0100)]
build: remove the wrap feature dependency for muon

The libnvme.wrap is using a git URL for libnvme thus it doesn't depend
on libcurl, libarchive or libpkgconf. The wrap implementation is calling
git directly to download the library. Thus we can drop these dependency
which makes it possible to build it on older distributions such as
CentOS 7 and 8.

Signed-off-by: Tokunori Ikegami <ikegami.t@gmail.com>
[dwagner: updated commit message]
Signed-off-by: Daniel Wagner <dwagner@suse.de>
17 months agobuild: pass the linker argument via muon argument
Daniel Wagner [Thu, 16 Nov 2023 15:19:44 +0000 (16:19 +0100)]
build: pass the linker argument via muon argument

Use the canonical way to set the static build using the command line
argument.

Signed-off-by: Daniel Wagner <dwagner@suse.de>
17 months agobuild: do not rebuild muon/samu every time
Daniel Wagner [Thu, 16 Nov 2023 14:28:25 +0000 (15:28 +0100)]
build: do not rebuild muon/samu every time

There is not need to build the build tools everytime. Thus stage the
samurai and muon build into a new top level directory .build-tools and
only build them on demand.

Signed-off-by: Daniel Wagner <dwagner@suse.de>
17 months agodoc: remove invalid hostkey info for --dhchap-secret
Daniel Wagner [Thu, 16 Nov 2023 10:58:42 +0000 (11:58 +0100)]
doc: remove invalid hostkey info for --dhchap-secret

There is no code which reads in the secret from the mentioned file. This
was done in the early stages of the implementation. But it is not
considered good practice to store secrets as plain text in /etc, thus
this feature was removed later. Instead the connect command is able to
use the kernel keystore for this.

Signed-off-by: Daniel Wagner <dwagner@suse.de>
17 months agonvme-print-json: use human helper everywhere
Daniel Wagner [Thu, 16 Nov 2023 10:29:01 +0000 (11:29 +0100)]
nvme-print-json: use human helper everywhere

If we have this helper let's use it.

Signed-off-by: Daniel Wagner <dwagner@suse.de>
17 months agonvme-print-json: remove obj_print helper
Daniel Wagner [Thu, 16 Nov 2023 10:24:29 +0000 (11:24 +0100)]
nvme-print-json: remove obj_print helper

This tiny helper has no real functionality. The json_object is always
valid. Thus drop it and call the other helper directly.

Signed-off-by: Daniel Wagner <dwagner@suse.de>
17 months agoplugins/ocp: update nvme_show_select_result call
Daniel Wagner [Thu, 16 Nov 2023 10:22:33 +0000 (11:22 +0100)]
plugins/ocp: update nvme_show_select_result call

The recent nvme-print-json refactoring/exstension changed the
nvme_show_select_result function signature but missed to update the ocp
plugin. Pass in the fid to the show function.

Fixes: 28a3a0975a33 ("nvme-print-json: Change to report feature select in array")
Signed-off-by: Daniel Wagner <dwagner@suse.de>
17 months agomailmap: only show contributer's name
Daniel Wagner [Thu, 16 Nov 2023 10:13:42 +0000 (11:13 +0100)]
mailmap: only show contributer's name

When looking at git history don't clutter the overview. Just list the
name.

Signed-off-by: Daniel Wagner <dwagner@suse.de>
17 months agonvme-print-json: Change to report status and message in array
Tokunori Ikegami [Fri, 3 Nov 2023 15:53:22 +0000 (00:53 +0900)]
nvme-print-json: Change to report status and message in array

Signed-off-by: Tokunori Ikegami <ikegami.t@gmail.com>
17 months agonvme-print-json: Change to report feature select in array
Tokunori Ikegami [Fri, 3 Nov 2023 14:33:20 +0000 (23:33 +0900)]
nvme-print-json: Change to report feature select in array

Signed-off-by: Tokunori Ikegami <ikegami.t@gmail.com>
17 months agonvme-print-json: Change to report error and data in array
Tokunori Ikegami [Fri, 3 Nov 2023 13:57:24 +0000 (22:57 +0900)]
nvme-print-json: Change to report error and data in array

Signed-off-by: Tokunori Ikegami <ikegami.t@gmail.com>
17 months agonvme-print-json: Add show_init/finish calls to report features in array
Tokunori Ikegami [Fri, 3 Nov 2023 13:03:46 +0000 (22:03 +0900)]
nvme-print-json: Add show_init/finish calls to report features in array

Note: Still error and data reported separately so will be fixed later.

Signed-off-by: Tokunori Ikegami <ikegami.t@gmail.com>
17 months agonvme-print: Add nvme_show_error_status() to merge error message and status
Tokunori Ikegami [Fri, 3 Nov 2023 05:18:48 +0000 (14:18 +0900)]
nvme-print: Add nvme_show_error_status() to merge error message and status

Signed-off-by: Tokunori Ikegami <ikegami.t@gmail.com>
17 months agonvme-print-json: Use r instead of root and use obj_add_***(r, ..., ...)
Tokunori Ikegami [Thu, 2 Nov 2023 17:50:27 +0000 (02:50 +0900)]
nvme-print-json: Use r instead of root and use obj_add_***(r, ..., ...)

Signed-off-by: Tokunori Ikegami <ikegami.t@gmail.com>
17 months agonvme-print-json: Delete static const char string global variables
Tokunori Ikegami [Thu, 2 Nov 2023 17:19:04 +0000 (02:19 +0900)]
nvme-print-json: Delete static const char string global variables

Signed-off-by: Tokunori Ikegami <ikegami.t@gmail.com>
17 months agonvme-print-json: Add remaining controller registers readable format
Tokunori Ikegami [Sun, 15 Oct 2023 14:27:34 +0000 (23:27 +0900)]
nvme-print-json: Add remaining controller registers readable format

Signed-off-by: Tokunori Ikegami <ikegami.t@gmail.com>
17 months agonvme-print-json: Add readable format cap, vs, cc, csts, nssr and crto registers
Tokunori Ikegami [Thu, 2 Nov 2023 18:28:09 +0000 (03:28 +0900)]
nvme-print-json: Add readable format cap, vs, cc, csts, nssr and crto registers

Signed-off-by: Tokunori Ikegami <ikegami.t@gmail.com>
17 months agonvme-print-json: Combine duplicated json key and val string variables
Tokunori Ikegami [Thu, 2 Nov 2023 18:26:43 +0000 (03:26 +0900)]
nvme-print-json: Combine duplicated json key and val string variables

Signed-off-by: Tokunori Ikegami <ikegami.t@gmail.com>
17 months agonvme-print-json: Replase json_array_add_value_string() to array_add_str()
Tokunori Ikegami [Thu, 2 Nov 2023 18:25:35 +0000 (03:25 +0900)]
nvme-print-json: Replase json_array_add_value_string() to array_add_str()

Signed-off-by: Tokunori Ikegami <ikegami.t@gmail.com>
17 months agonvme-print-json: Replase json_object_add_value_uint128() to obj/root_add_uint128()
Tokunori Ikegami [Sat, 14 Oct 2023 12:02:40 +0000 (21:02 +0900)]
nvme-print-json: Replase json_object_add_value_uint128() to obj/root_add_uint128()

Signed-off-by: Tokunori Ikegami <ikegami.t@gmail.com>
17 months agonvme-print-json: Replase json_object_add_value_object() to obj/root_add_obj()
Tokunori Ikegami [Sat, 14 Oct 2023 11:47:02 +0000 (20:47 +0900)]
nvme-print-json: Replase json_object_add_value_object() to obj/root_add_obj()

Signed-off-by: Tokunori Ikegami <ikegami.t@gmail.com>
17 months agonvme-print-json: Replase json_array_add_value_object() to array_add_obj()
Tokunori Ikegami [Sat, 14 Oct 2023 11:40:05 +0000 (20:40 +0900)]
nvme-print-json: Replase json_array_add_value_object() to array_add_obj()

Signed-off-by: Tokunori Ikegami <ikegami.t@gmail.com>
17 months agonvme-print-json: Replase json_object_add_value_array() to obj/root_add_array()
Tokunori Ikegami [Sat, 14 Oct 2023 11:35:00 +0000 (20:35 +0900)]
nvme-print-json: Replase json_object_add_value_array() to obj/root_add_array()

Signed-off-by: Tokunori Ikegami <ikegami.t@gmail.com>
17 months agonvme-print-json: Replase json_object_add_value_uint() to obj/root_add_uint()
Tokunori Ikegami [Sat, 14 Oct 2023 11:23:28 +0000 (20:23 +0900)]
nvme-print-json: Replase json_object_add_value_uint() to obj/root_add_uint()

Signed-off-by: Tokunori Ikegami <ikegami.t@gmail.com>
17 months agonvme-print-json: Replase json_object_add_value_int() to obj/root_add_int()
Tokunori Ikegami [Sat, 14 Oct 2023 06:56:29 +0000 (15:56 +0900)]
nvme-print-json: Replase json_object_add_value_int() to obj/root_add_int()

Signed-off-by: Tokunori Ikegami <ikegami.t@gmail.com>
17 months agonvme-print-json: Replase json_object_add_value_uint64() to obj/root_add_uint64()
Tokunori Ikegami [Sat, 14 Oct 2023 06:35:47 +0000 (15:35 +0900)]
nvme-print-json: Replase json_object_add_value_uint64() to obj/root_add_uint64()

Signed-off-by: Tokunori Ikegami <ikegami.t@gmail.com>
17 months agonvme-print-json: Replase json_object_add_value_string() to obj/root_add_str()
Tokunori Ikegami [Thu, 2 Nov 2023 18:23:26 +0000 (03:23 +0900)]
nvme-print-json: Replase json_object_add_value_string() to obj/root_add_str()

Signed-off-by: Tokunori Ikegami <ikegami.t@gmail.com>
17 months agonvme-print-json: Update feature_show_fields_*** to use root/obj_add_***()
Tokunori Ikegami [Fri, 13 Oct 2023 19:31:37 +0000 (04:31 +0900)]
nvme-print-json: Update feature_show_fields_*** to use root/obj_add_***()

Signed-off-by: Tokunori Ikegami <ikegami.t@gmail.com>
17 months agonvme-print-json: Update lba_status_log to use root_add_***() and obj_add_***()
Tokunori Ikegami [Fri, 13 Oct 2023 18:48:52 +0000 (03:48 +0900)]
nvme-print-json: Update lba_status_log to use root_add_***() and obj_add_***()

Signed-off-by: Tokunori Ikegami <ikegami.t@gmail.com>
17 months agonvme-print-json: Replace lba_status_log printf() to root_add_result()
Tokunori Ikegami [Fri, 13 Oct 2023 18:36:17 +0000 (03:36 +0900)]
nvme-print-json: Replace lba_status_log printf() to root_add_result()

Signed-off-by: Tokunori Ikegami <ikegami.t@gmail.com>
17 months agonvme-print-json: Add list_item print function
Tokunori Ikegami [Fri, 13 Oct 2023 17:43:56 +0000 (02:43 +0900)]
nvme-print-json: Add list_item print function

Signed-off-by: Tokunori Ikegami <ikegami.t@gmail.com>
17 months agonvme-print-json: Add lba_status_info print function
Tokunori Ikegami [Fri, 13 Oct 2023 17:18:34 +0000 (02:18 +0900)]
nvme-print-json: Add lba_status_info print function

Signed-off-by: Tokunori Ikegami <ikegami.t@gmail.com>
17 months agonvme-print-json: Add lba_range print function
Tokunori Ikegami [Fri, 13 Oct 2023 17:12:09 +0000 (02:12 +0900)]
nvme-print-json: Add lba_range print function

Signed-off-by: Tokunori Ikegami <ikegami.t@gmail.com>
17 months agonvme-print-json: Add id_ctrl_rpmbs print function
Tokunori Ikegami [Fri, 13 Oct 2023 16:46:57 +0000 (01:46 +0900)]
nvme-print-json: Add id_ctrl_rpmbs print function

Signed-off-by: Tokunori Ikegami <ikegami.t@gmail.com>
17 months agonvme-print-json: Unify json_list and jroot object names to root
Tokunori Ikegami [Fri, 13 Oct 2023 12:42:13 +0000 (21:42 +0900)]
nvme-print-json: Unify json_list and jroot object names to root

Signed-off-by: Tokunori Ikegami <ikegami.t@gmail.com>
17 months agonvme-print-json: Add json_zns_changed print function
Tokunori Ikegami [Fri, 13 Oct 2023 12:15:18 +0000 (21:15 +0900)]
nvme-print-json: Add json_zns_changed print function

Signed-off-by: Tokunori Ikegami <ikegami.t@gmail.com>
17 months agonvme-print-json: Add root_add_result() to output result message
Tokunori Ikegami [Fri, 13 Oct 2023 12:13:57 +0000 (21:13 +0900)]
nvme-print-json: Add root_add_result() to output result message

Signed-off-by: Tokunori Ikegami <ikegami.t@gmail.com>
17 months agonvme-print-json: Split persistent_event_log print function
Tokunori Ikegami [Fri, 13 Oct 2023 11:35:10 +0000 (20:35 +0900)]
nvme-print-json: Split persistent_event_log print function

Signed-off-by: Tokunori Ikegami <ikegami.t@gmail.com>
17 months agonvme-print-json: Remove unnecessary string newline code
Tokunori Ikegami [Fri, 13 Oct 2023 09:29:56 +0000 (18:29 +0900)]
nvme-print-json: Remove unnecessary string newline code

Signed-off-by: Tokunori Ikegami <ikegami.t@gmail.com>
17 months agonvme-print-json: Replace effects_log_list print to use json_print()
Tokunori Ikegami [Fri, 13 Oct 2023 09:22:48 +0000 (18:22 +0900)]
nvme-print-json: Replace effects_log_list print to use json_print()

Signed-off-by: Tokunori Ikegami <ikegami.t@gmail.com>
17 months agonvme-print-json: Print persistent_event_log no log data result correctly
Tokunori Ikegami [Fri, 13 Oct 2023 09:17:04 +0000 (18:17 +0900)]
nvme-print-json: Print persistent_event_log no log data result correctly

Signed-off-by: Tokunori Ikegami <ikegami.t@gmail.com>
17 months agonvme-print-json: Add static "result" and "erorr" strings variables
Tokunori Ikegami [Fri, 13 Oct 2023 09:27:20 +0000 (18:27 +0900)]
nvme-print-json: Add static "result" and "erorr" strings variables

Signed-off-by: Tokunori Ikegami <ikegami.t@gmail.com>
17 months agonvme-print-json: Add single_property printf function
Tokunori Ikegami [Fri, 13 Oct 2023 06:58:33 +0000 (15:58 +0900)]
nvme-print-json: Add single_property printf function

Signed-off-by: Tokunori Ikegami <ikegami.t@gmail.com>
17 months agonvme: Replace get feature command stderr output to nvme_show_error()
Tokunori Ikegami [Thu, 12 Oct 2023 15:00:16 +0000 (00:00 +0900)]
nvme: Replace get feature command stderr output to nvme_show_error()

Signed-off-by: Tokunori Ikegami <ikegami.t@gmail.com>
17 months agonvme-print-json: Change d() output to use d_json()
Tokunori Ikegami [Thu, 2 Nov 2023 18:20:26 +0000 (03:20 +0900)]
nvme-print-json: Change d() output to use d_json()

Signed-off-by: Tokunori Ikegami <ikegami.t@gmail.com>
17 months agonvme: Fix get-feature command mixed stdout and json outputs
Tokunori Ikegami [Thu, 12 Oct 2023 13:52:37 +0000 (22:52 +0900)]
nvme: Fix get-feature command mixed stdout and json outputs

Signed-off-by: Tokunori Ikegami <ikegami.t@gmail.com>
17 months agonvme-print-json: Add remaining feature fields print functions
Tokunori Ikegami [Thu, 12 Oct 2023 13:59:11 +0000 (22:59 +0900)]
nvme-print-json: Add remaining feature fields print functions

Signed-off-by: Tokunori Ikegami <ikegami.t@gmail.com>
17 months agonvme-print-json: Update formatting and codying style
Tokunori Ikegami [Thu, 12 Oct 2023 13:58:02 +0000 (22:58 +0900)]
nvme-print-json: Update formatting and codying style

Signed-off-by: Tokunori Ikegami <ikegami.t@gmail.com>
17 months agobuild: Add -std=c99 to CFLAGS for muon on CentOS 7
Tokunori Ikegami [Wed, 8 Nov 2023 16:28:07 +0000 (01:28 +0900)]
build: Add -std=c99 to CFLAGS for muon on CentOS 7

Signed-off-by: Tokunori Ikegami <ikegami.t@gmail.com>
17 months agofabrics: add udev rule to avoid renaming nbft interfaces
Martin Wilck [Tue, 23 May 2023 12:19:14 +0000 (14:19 +0200)]
fabrics: add udev rule to avoid renaming nbft interfaces

In the initramfs, the interface naming is taken care of by dracut.
But there are various network-interface-naming policies in place which
may attempt to rename the interface, causing confusion and possibly
wrong interface parameters.

Add an udev rule that avoids renaming any network interface that
has been assigned a name nbft$N, which is by convention the naming
scheme that is used for NBFT device in the initramfs.

Note: The simpler 'NAME:="%k"' directive doesn't work because udev rejects
it ('Ignoring NAME="%k", as it will take no effect.'). The ":=" syntax makes
sure the interface isn't renamed any more by later rules. "INTERFACE" is set
by the kernel in the "add" uevent for a network interface.

Signed-off-by: Martin Wilck <mwilck@suse.com>
17 months agofabrics: autoconnect: add service unit for connecting NBFT subsystems
Martin Wilck [Tue, 23 May 2023 10:48:55 +0000 (12:48 +0200)]
fabrics: autoconnect: add service unit for connecting NBFT subsystems

Create a separate unit file for connecting to NBFT-defined subsystems.
This unit is intended to be called in "post-up" scripts from network
management software if an interface defined in the HFI section of the
NBFT is brought up (L3-configured).

In simple scenarios with just one HFI, this won't be necessary because the
interface must be brought up in the initramfs already. But in multipath
scenarios, the initramfs may choose not to wait for every HFI to come up, and
thus it may be necessary to bring up the secondary connection(s) later on.

Signed-off-by: Martin Wilck <mwilck@suse.com>
[dwagner: use unit options instead of ExecStartPre
          update nvme command line]
Signed-off-by: Daniel Wagner <dwagner@suse.de>
17 months agofabrics: autoconnect: explicitly express module dependency
Daniel Wagner [Thu, 12 Oct 2023 07:29:30 +0000 (09:29 +0200)]
fabrics: autoconnect: explicitly express module dependency

Use Wants/After to let systemd handle loading the kernel module, which
is the preferred way.

Signed-off-by: Daniel Wagner <dwagner@suse.de>
17 months agoUpdates to codeql config
Andrew Meir [Mon, 6 Nov 2023 09:25:15 +0000 (10:25 +0100)]
Updates to codeql config

* Split c-cpp and python init sections
* Add paths-ignore config for pythin init
* Add json-c wrap during build - increases c codeql coverage

17 months agoREADME: Add make static explanation
Steven Seungcheol Lee [Tue, 7 Nov 2023 11:43:22 +0000 (20:43 +0900)]
README: Add make static explanation

Signed-off-by: Steven Seungcheol Lee <sc108.lee@samsung.com>
17 months agolibnvme-wrap: exit on VOID_FN lookup failure
Caleb Sander [Sun, 5 Nov 2023 16:02:02 +0000 (09:02 -0700)]
libnvme-wrap: exit on VOID_FN lookup failure

libnvme-wrap provides fallbacks for missing libnvme functions.
For functions that return a value, the FN() macro can be used
to define a default return value if the function isn't found.
This isn't possible for functions returning void,
so VOID_FN() currently is a no-op if the function can't be found.
For nvme_init_copy_range_f1(), the only current VOID_FN() user,
this will result in silently sending a Copy command
with a zeroed range, which is not what the user requested.
Instead, exit the process immediately if the function can't be found.

Signed-off-by: Caleb Sander <csander@purestorage.com>
17 months agoplugins/ocp:Added the ocp C6h feature api
Vigneshwaran Saravanan/SSD TS Dev /SSIR/Engineer/Samsung Electronics [Mon, 6 Nov 2023 11:47:48 +0000 (17:17 +0530)]
plugins/ocp:Added the ocp C6h feature api
Reviewed-by: Karthik Balan karthik.b82@samsung.com, Arunpandian J arun.j@samsung.com
Signed-off-by: Vigneshwaran Saravanan/SSD TS Dev /SSIR/Engineer/Samsung Electronics <s.vignesh@samsung.com>
17 months agoplugin/ocp_fid_c6h:Added the ocp C6h feature api
Vigneshwaran Saravanan/SSD TS Dev /SSIR/Engineer/Samsung Electronics [Fri, 20 Oct 2023 07:45:43 +0000 (13:15 +0530)]
plugin/ocp_fid_c6h:Added the ocp C6h feature api
Reviewed-by: Karthik Balan karthik.b82@samsung.com, Arunpandian J arun.j@samsung.com
Signed-off-by: Vigneshwaran Saravanan/SSD TS Dev /SSIR/Engineer/Samsung Electronics <s.vignesh@samsung.com>
17 months agonvme-copy: support cross-namespace copy
Joy Gu [Wed, 25 Oct 2023 20:38:25 +0000 (13:38 -0700)]
nvme-copy: support cross-namespace copy

Add support for NVMe TP4130 ("Cross-Namespace Copy")
- Add Copy Descriptor Formats 2h and 3h
- Add "--snsids" option to specify source namespaces to copy from
- Add "--sopts" option to specify source options (Fast Copy Only)
- Print new Host Behavior Support bits, new ONCS bits, and new Optional
  Copy Formats Supported bits
- Extend unit test case to test cross-namespace copy formats

17 months agobuild(deps): bump actions/checkout from 3 to 4
dependabot[bot] [Mon, 6 Nov 2023 18:53:16 +0000 (18:53 +0000)]
build(deps): bump actions/checkout from 3 to 4

Bumps [actions/checkout](https://github.com/actions/checkout) from 3 to 4.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/v3...v4)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
17 months agonvme/plugins: fix mismatch operator
jinhua.huang [Fri, 3 Nov 2023 09:08:25 +0000 (17:08 +0800)]
nvme/plugins: fix mismatch operator

Signed-off-by: jinhua.huang <jinhua.huang@memblaze.com>
17 months agonvme: fix overflow possiblity
Steven Seungcheol Lee [Fri, 3 Nov 2023 00:53:50 +0000 (09:53 +0900)]
nvme: fix overflow possiblity

The implicit type conversion will expand both operands to the type
int and not unsigned long long as the result expects. Promote
the first operand to the target type. Obviously the multiplication
can still overflow, but this is a different problem.

Signed-off-by: Steven Seungcheol Lee <sc108.lee@samsung.com>
[dwagner: added commit message]
Signed-off-by: Daniel Wagner <dwagner@suse.de>
17 months agonvme: reduce identify cmd issue
Steven Seungcheol Lee [Fri, 3 Nov 2023 00:48:48 +0000 (09:48 +0900)]
nvme: reduce identify cmd issue

Signed-off-by: Steven Seungcheol Lee <sc108.lee@samsung.com>
17 months agonvme: allow set-features to take input from stdin
Joy Gu [Fri, 20 Oct 2023 21:48:08 +0000 (14:48 -0700)]
nvme: allow set-features to take input from stdin

Fixes: fed9e5ee04cd ("nvme: auto free nvme_dev resource")
17 months agoFix common misspellings from codespell project
Yi Zhang [Thu, 2 Nov 2023 07:01:27 +0000 (15:01 +0800)]
Fix common misspellings from codespell project

Signed-off-by: Yi Zhang <yi.zhang@redhat.com>
[dwagner: dropped auto generated documentation
          dropped ccan changed]
Signed-off-by: Daniel Wagner <dwagner@suse.de>
17 months agonvme-print: Correct to print correct ascii character string length
Tokunori Ikegami [Tue, 31 Oct 2023 23:14:35 +0000 (08:14 +0900)]
nvme-print: Correct to print correct ascii character string length

Signed-off-by: Tokunori Ikegami <ikegami.t@gmail.com>
17 months agoprint-stdout: print Host Behavior Support correctly
Caleb Sander [Wed, 25 Oct 2023 20:52:19 +0000 (14:52 -0600)]
print-stdout: print Host Behavior Support correctly

In nvme-cli 1.16, printing the Host Behavior Support feature
logged the values of the 3 fields ACRE, ETDAS, and LBAFEE.
This appears to have regressed in nvme-cli 2.0,
and now only the value of ACRE is printed, without any description.
Log all 3 fields with proper descriptions.
Drop "Host Behavior Support" from their names,
as it's redundant with the feature name.

Signed-off-by: Caleb Sander <csander@purestorage.com>
17 months agobuild: Bump libnvme wrap
Daniel Wagner [Thu, 2 Nov 2023 16:54:49 +0000 (17:54 +0100)]
build: Bump libnvme wrap

Get ETDAS and LBAFEE definitions.

Signed-off-by: Daniel Wagner <dwagner@suse.de>
17 months agoplugins/solidigm: Added support for temperature statistics log page
da Cunha, Leonardo [Fri, 22 Sep 2023 15:27:51 +0000 (08:27 -0700)]
plugins/solidigm: Added support for temperature statistics log page

Signed-off-by: leonardo.da.cunha <leonardo.da.cunha@solidigm.com>
17 months agoAdd support for codeql sweeps
Andrew Meir [Wed, 18 Oct 2023 09:55:31 +0000 (11:55 +0200)]
Add support for codeql sweeps

Update codeql.yml

17 months agodoc: Add virt-mgmt command
Tokunori Ikegami [Sun, 22 Oct 2023 13:30:48 +0000 (22:30 +0900)]
doc: Add virt-mgmt command

Signed-off-by: Tokunori Ikegami <ikegami.t@gmail.com>
17 months agodoc: Add id-uuid command
Tokunori Ikegami [Sun, 22 Oct 2023 07:20:42 +0000 (16:20 +0900)]
doc: Add id-uuid command

Signed-off-by: Tokunori Ikegami <ikegami.t@gmail.com>
17 months agodoc: Add list-secondary command
Tokunori Ikegami [Sat, 21 Oct 2023 01:05:39 +0000 (10:05 +0900)]
doc: Add list-secondary command

Signed-off-by: Tokunori Ikegami <ikegami.t@gmail.com>
17 months agodoc: Add id-ns-granularity command
Tokunori Ikegami [Sat, 21 Oct 2023 00:56:52 +0000 (09:56 +0900)]
doc: Add id-ns-granularity command

Signed-off-by: Tokunori Ikegami <ikegami.t@gmail.com>
17 months agodoc: Add nvme commands --output-format and --verbose options
Tokunori Ikegami [Fri, 20 Oct 2023 19:25:27 +0000 (04:25 +0900)]
doc: Add nvme commands --output-format and --verbose options

Signed-off-by: Tokunori Ikegami <ikegami.t@gmail.com>