Skip to content

Conversation

@MaisenbacherD
Copy link

igaw and others added 30 commits September 15, 2025 11:26
The next change will add a static inline implementation of nvme_get_log
which uses nvme_get_log_page. Thus move the nvme_get_log_page function
up so it can be used directly.

Signed-off-by: Daniel Wagner <[email protected]>
Refactor nvme_get_log and nvme_get_log_page to use use struct
nvme_passthru_cmd directly and drop the struct nvme_get_log_args.

The struct args have are ABI thus it's hard to change it after a
release. The nvme_passthru_cmd buffer is a generic buffer and it's
possible to use the setters directly on the buffer in an inline
function. Besides a reduced API to maintain it also generates better
code and avoids one call less when issue a command.

[ikegami.t: update nvme_uring_cmd_amdin_passthru_async]
Signed-off-by: Tokunori Ikegami <[email protected]>
Signed-off-by: Daniel Wagner <[email protected]>
The compiler warns with

../test/ioctl/logs.c: In function ‘test_get_log_reachability_groups’:
../test/ioctl/logs.c:725:28: warning: enum constant in boolean context [-Wint-in-bool-context]
  725 |                          (!!TEST_LSP << 8) | (!!TEST_RAE << 15) |
      |                            ^
../test/ioctl/logs.c:733:70: warning: enum constant in boolean context [-Wint-in-bool-context]
  733 |         err = nvme_get_log_reachability_groups(test_link, TEST_RAE, !!TEST_LSP,
      |                                                                      ^

Update the tests so the types are correctly handled. It also addresses
the problem with the wrong lsp value testing.

Signed-off-by: Daniel Wagner <[email protected]>
Drop struct nvme_format_nvm_args.

[dennis: merge lbafl and lbafu into one argument]
Signed-off-by: Dennis Maisenbacher <[email protected]>
Signed-off-by: Daniel Wagner <[email protected]>
Drop struct nvme_ns_mgmt_args.

Signed-off-by: Daniel Wagner <[email protected]>
Drop struct nvme_ns_attach_args.

Signed-off-by: Daniel Wagner <[email protected]>
Drop struct nvme_fw_download_args.

Signed-off-by: Daniel Wagner <[email protected]>
Drop struct nvme_fw_commit_args.

Signed-off-by: Daniel Wagner <[email protected]>
Drop struct nvme_security_send_args.

[dennis: merge spsp0 and spsp1 into one argument]
Signed-off-by: Dennis Maisenbacher <[email protected]>
Signed-off-by: Daniel Wagner <[email protected]>
Drop struct nvme_set_features_args.

Signed-off-by: Dennis Maisenbacher <[email protected]>
[wagi: remove libnvme.map entries
       reorder fid and sv argument]
Signed-off-by: Daniel Wagner <[email protected]>

nvme_set_features: fix argument order

Signed-off-by: Daniel Wagner <[email protected]>
Drop struct nvme_dsm_args.

Signed-off-by: Tokunori Ikegami <[email protected]>
[wagi: reorder arguments]
Signed-off-by: Daniel Wagner <[email protected]>
Drop struct nvme_io_args.

Signed-off-by: Tokunori Ikegami <[email protected]>

ioctl: reorder nsid argument

Also order the pointer and its length member go to the end of the list.

Signed-off-by: Tokunori Ikegami <[email protected]>
To use the fields in nvme_io() and nvme_dsm() functions.

Signed-off-by: Tokunori Ikegami <[email protected]>
Drop struct nvme_copy_args.

Signed-off-by: Tokunori Ikegami <[email protected]>
Besides adding missing arguments, follow the nvme_io API for storage and
app tags.

Signed-off-by: Daniel Wagner <[email protected]>
Drop struct nvme_resv_acquire_args.

Signed-off-by: Tokunori Ikegami <[email protected]>
[wagi: reorder and missing arguments]
Signed-off-by: Daniel Wagner <[email protected]>
Drop struct nvme_resv_register_args.

Signed-off-by: Tokunori Ikegami <[email protected]>
[wagi: reorder and added missing arguments]
Signed-off-by: Daniel Wagner <[email protected]>
Drop struct nvme_resv_release_args.

Signed-off-by: Tokunori Ikegami <[email protected]>
Drop struct nvme_resv_report_args.

Signed-off-by: Tokunori Ikegami <[email protected]>
[wagi: reorder and added missing arguments]
Signed-off-by: Daniel Wagner <[email protected]>
Drop struct nvme_io_mgmt_recv_args.

Signed-off-by: Tokunori Ikegami <[email protected]>
[wagi: reorder arguments]
Signed-off-by: Daniel Wagner <[email protected]>
Drop struct nvme_io_mgmt_send_args.

Signed-off-by: Tokunori Ikegami <[email protected]>
[wagi: reorder arguments]
Signed-off-by: Daniel Wagner <[email protected]>
Drop struct nvme_zns_mgmt_send_args.

Signed-off-by: Tokunori Ikegami <[email protected]>
[wagi: reorderd and added missing arguments]
Signed-off-by: Daniel Wagner <[email protected]>
Drop struct nvme_zns_mgmt_recv_args.

Signed-off-by: Tokunori Ikegami <[email protected]>
[wagi: renamed arguments]
Signed-off-by: Daniel Wagner <[email protected]>
Drop struct nvme_zns_append_args.

Signed-off-by: Tokunori Ikegami <[email protected]>
[wagi: reorder and added missing arguments]
Signed-off-by: Daniel Wagner <[email protected]>
Drop struct nvme_dim_args.

Signed-off-by: Tokunori Ikegami <[email protected]>
Drop struct nvme_lm_cdq_args.

Signed-off-by: Tokunori Ikegami <[email protected]>
[wagi: reorder arguments]
Signed-off-by: Daniel Wagner <[email protected]>
Drop struct nvme_lm_track_send_args.

Signed-off-by: Tokunori Ikegami <[email protected]>
[wagi: reordered arguments]
Signed-off-by: Daniel Wagner <[email protected]>
Drop struct nvme_lm_migration_send_args.

Signed-off-by: Tokunori Ikegami <[email protected]>
[wagi: reordered arguments]
Signed-off-by: Daniel Wagner <[email protected]>
Drop struct nvme_lm_migration_recv_args.

Signed-off-by: Tokunori Ikegami <[email protected]>
ikegami-t and others added 19 commits September 15, 2025 17:17
Drop struct nvme_security_receive_args.

Signed-off-by: Tokunori Ikegami <[email protected]>
[wagi: reordered arguments]
Signed-off-by: Daniel Wagner <[email protected]>
Drop struct nvme_get_lba_status_args.

Signed-off-by: Tokunori Ikegami <[email protected]>
[wagi: reordering arguments]
Signed-off-by: Daniel Wagner <[email protected]>
Drop struct nvme_directive_send_args.

Signed-off-by: Tokunori Ikegami <[email protected]>
[wagi: updated nvme_directive_send_id_endir
       reordered arguments]
Signed-off-by: Daniel Wagner <[email protected]>
Drop struct nvme_directive_recv_args.

Signed-off-by: Tokunori Ikegami <[email protected]>
[wagi: removed libnvme.map entry
       reordered arguments]
Signed-off-by: Daniel Wagner <[email protected]>
Drop struct nvme_virtual_mgmt_args.

Signed-off-by: Tokunori Ikegami <[email protected]>
[wagi: remove libnvme.map entry]
Signed-off-by: Daniel Wagner <[email protected]>
Drop struct nvme_dev_self_test_args.

Signed-off-by: Tokunori Ikegami <[email protected]>
[wagi: removed libnvme.map entry]
Signed-off-by: Daniel Wagner <[email protected]>
Drop struct nvme_sanitize_nvm_args.

Signed-off-by: Tokunori Ikegami <[email protected]>
[wagi: remove libnvme.map entry
       reorder and rename arguments]
Signed-off-by: Daniel Wagner <[email protected]>
Drop struct nvme_get_property_args.

Signed-off-by: Tokunori Ikegami <[email protected]>
[wagi: remove libnvme.map entry]
Signed-off-by: Daniel Wagner <[email protected]>
Drop struct nvme_set_property_args.

Signed-off-by: Tokunori Ikegami <[email protected]>
[wagi: remove libnvme.map entry]
Signed-off-by: Daniel Wagner <[email protected]>
Drop struct nvme_lockdown_args.

Signed-off-by: Tokunori Ikegami <[email protected]>
[wagi: remove libnvme.map entry]
Signed-off-by: Daniel Wagner <[email protected]>
Drop struct nvme_capacity_mgmt_args.

Signed-off-by: Tokunori Ikegami <[email protected]>
[wagi: remove libnvme.map entry
       reordered/renamed arguments]
Signed-off-by: Daniel Wagner <[email protected]>
Drop struct nvme_get_features_args.

Signed-off-by: Dennis Maisenbacher <[email protected]>
[wagi: reordered/renamed arguments]
Signed-off-by: Daniel Wagner <[email protected]>
There is no user left of this type in ioctl.c. Remove it.

Signed-off-by: Daniel Wagner <[email protected]>
This is to maintain nvme_get_log_partial easily.

Signed-off-by: Tokunori Ikegami <[email protected]>
Since the following warnings output.

$ ./scripts/kernel-doc-check test/zns.c
test/zns.c:3: warning: This comment starts with '/**', but isn't a kernel-doc comment. Refer Documentation/doc-guide/kernel-doc.rst
test/zns.c:10: warning: This comment starts with '/**', but isn't a kernel-doc comment. Refer Documentation/doc-guide/kernel-doc.rst

Signed-off-by: Tokunori Ikegami <[email protected]>
examples/mi-mctp.c:3: warning: This comment starts with '/**', but isn't a kernel-doc comment. Refer Documentation/doc-guide/kernel-doc.rst

Signed-off-by: Tokunori Ikegami <[email protected]>
Since checked by kernel-doc-check then the warning message output.

Signed-off-by: Tokunori Ikegami <[email protected]>
To fix the warning message below.
  test/mi.c:3: warning: This comment starts with '/**', but isn't a kernel-doc comment. Refer Documentation/doc-guide/kernel-doc.rst

Signed-off-by: Tokunori Ikegami <[email protected]>
This fixes the argument order for nvme_identify that was changed with
9ce13d9 ("ioctl: nvme_identify use nvme_passthru_cmd directly").

Signed-off-by: Dennis Maisenbacher <[email protected]>
@MaisenbacherD MaisenbacherD changed the title Fix clang debug Fix clang debug build Sep 16, 2025
@igaw igaw force-pushed the libnvme2 branch 2 times, most recently from fe8fa36 to 0f04d6a Compare September 16, 2025 15:26
@igaw
Copy link

igaw commented Sep 16, 2025

Directly merged into the libnvme2 branch. Thanks!

@igaw igaw closed this Sep 16, 2025
@MaisenbacherD MaisenbacherD deleted the libnvme2-dennis-fix-clang-debug branch September 23, 2025 12:29
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants