Merged
Adapt for spdk 24.01 #11
chenyanpanAdd on Nov 1, 2024
Adapt for spdk 24.01 #11
Merged
Merged fromopenEuler-24.03-LTS-NextintoopenEuler-24.03-LTS-Next
Total: 2 files changed+381-4
| @@ -0,0 +1,372 @@ | |||
| 1 | +From 11d4a14ab42680cf318796752d69a995e192ca2c Mon Sep 17 00:00:00 2001 | ||
| 2 | +From: suweifeng <suweifeng1@huawei.com> | ||
| 3 | +Date: Tue, 20 Aug 2024 07:29:55 +0000 | ||
| 4 | +Subject: [PATCH] Adapt for spdk 24.01 | ||
| 5 | + | ||
| 6 | +The new version of SPDK and DPDK has changes in the underlying PCI | ||
| 7 | +device operation functions, which requires referencing the self-contained | ||
| 8 | +header files of SPDK to adapt to these changes. | ||
| 9 | + | ||
| 10 | +Signed-off-by: suweifeng <suweifeng1@huawei.com> | ||
| 11 | +--- | ||
| 12 | + CMakeLists.txt | 9 +++--- | ||
| 13 | + cli/error_inject/CMakeLists.txt | 2 +- | ||
| 14 | + cli/iostat_enable/CMakeLists.txt | 4 +-- | ||
| 15 | + cli/list/CMakeLists.txt | 4 +-- | ||
| 16 | + cli/rw/CMakeLists.txt | 4 +-- | ||
| 17 | + cli/shut_down/CMakeLists.txt | 2 +- | ||
| 18 | + include/bdev_rw_internal.h | 4 ++- | ||
| 19 | + include/ublock_internal.h | 5 ++- | ||
| 20 | + src/bdev_rw.c | 6 ++-- | ||
| 21 | + src/bdev_rw_poll.c | 6 ++-- | ||
| 22 | + src/ublock_bdev.c | 54 +++++++++++++++++++++++++------- | ||
| 23 | + 11 files changed, 68 insertions(+), 32 deletions(-) | ||
| 24 | + | ||
| 25 | +diff --git a/CMakeLists.txt b/CMakeLists.txt | ||
| 26 | +index 583fec0..08332fd 100755 | ||
| 27 | +--- a/CMakeLists.txt | ||
| 28 | ++++ b/CMakeLists.txt | ||
| 29 | +@@ -51,12 +51,11 @@ if(CONFIG_ERR_INJC STREQUAL "y") | ||
| 30 | + list(APPEND HSAK_MGR_SRC ${SRC_DIR}/ublock_smart_info_err_injc.c) | ||
| 31 | + endif() | ||
| 32 | + | ||
| 33 | +-set(DPDK_DIR "/usr/lib64/dpdk/pmds-22.0") | ||
| 34 | + | ||
| 35 | +-set(DPDK_LIB_DIR "${DPDK_DIR}/lib") | ||
| 36 | ++set(DPDK_LIB_DIR "/usr/lib64") | ||
| 37 | + set(DPDK_STATIC_LIB_DIR "/usr/lib64") | ||
| 38 | + | ||
| 39 | +-set(DPDK_INC_DIR "${PROJECT_SOURCE_DIR}/dpdk_include") | ||
| 40 | ++set(DPDK_INC_DIR "/usr/include/dpdk") | ||
| 41 | + | ||
| 42 | + add_library( | ||
| 43 | + storage_bdev_rw | ||
| 44 | +@@ -127,12 +126,12 @@ if(NOT DEFINED CONFIG_DEBUG) | ||
| 45 | + set(CMAKE_SHARED_LINKER_FLAGS "-s") | ||
| 46 | + endif() | ||
| 47 | + | ||
| 48 | +-set_target_properties(storage_bdev_rw PROPERTIES LINK_FLAGS "-fPIE -pie -fPIC -Wl,-z,relro,-z,now,-z,noexecstack -Wtrampolines -Wl,--whole-archive -Wl,-Bstatic -lspdk_vmd -lspdk_rdma -lspdk_event_vmd -lspdk_notify -lspdk_sock -lspdk_sock_posix -lspdk_event_sock -lspdk_bdev_nvme -lspdk_nvme -lspdk_event_bdev -lspdk_event_accel -lspdk_net -lspdk_bdev -lspdk_accel -lspdk_trace -lspdk_conf -lspdk_event -lspdk_util -lspdk_thread -lspdk_log -lspdk_jsonrpc -lspdk_json -lspdk_rpc -lspdk_env_dpdk -Wl,--no-whole-archive -Wl,--start-group -Wl,--whole-archive -Wl,-Bdynamic ${DPDK_LIB_DIR}/librte_eal.so ${DPDK_LIB_DIR}/librte_mempool.so ${DPDK_LIB_DIR}/librte_ring.so ${DPDK_LIB_DIR}/librte_mempool_ring.so ${DPDK_LIB_DIR}/librte_bus_pci.so ${DPDK_LIB_DIR}/librte_power.so ${DPDK_LIB_DIR}/librte_mbuf.so ${DPDK_LIB_DIR}/librte_net.so ${DPDK_LIB_DIR}/librte_ethdev.so ${DPDK_LIB_DIR}/librte_telemetry.so -Wl,--end-group -Wl,--no-whole-archive") | ||
| 49 | ++set_target_properties(storage_bdev_rw PROPERTIES LINK_FLAGS "-fPIE -pie -fPIC -Wl,-z,relro,-z,now,-z,noexecstack -Wtrampolines -Wl,--whole-archive -Wl,-Bstatic -lspdk_vmd -lspdk_rdma -lspdk_event_vmd -lspdk_notify -lspdk_sock -lspdk_sock_posix -lspdk_event_sock -lspdk_bdev_nvme -lspdk_nvme -lspdk_event_bdev -lspdk_event_accel -lspdk_bdev -lspdk_accel -lspdk_trace -lspdk_conf -lspdk_event -lspdk_util -lspdk_thread -lspdk_log -lspdk_jsonrpc -lspdk_json -lspdk_rpc -lspdk_env_dpdk -Wl,--no-whole-archive -Wl,--start-group -Wl,--whole-archive -Wl,-Bdynamic ${DPDK_LIB_DIR}/librte_eal.so ${DPDK_LIB_DIR}/librte_mempool.so ${DPDK_LIB_DIR}/librte_ring.so ${DPDK_LIB_DIR}/librte_mempool_ring.so ${DPDK_LIB_DIR}/librte_bus_pci.so ${DPDK_LIB_DIR}/librte_power.so ${DPDK_LIB_DIR}/librte_mbuf.so ${DPDK_LIB_DIR}/librte_net.so ${DPDK_LIB_DIR}/librte_ethdev.so ${DPDK_LIB_DIR}/librte_telemetry.so -Wl,--end-group -Wl,--no-whole-archive") | ||
| 50 | + target_link_libraries(storage_bdev_rw PRIVATE aio pthread dl rt boundscheck uuid fuse3 rdmacm ibverbs) | ||
| 51 | + | ||
| 52 | + set_target_properties(storage_bdev_rw PROPERTIES NO_SONAME 1) | ||
| 53 | + | ||
| 54 | +-set_target_properties(storage_ublock PROPERTIES LINK_FLAGS "-fPIE -pie -fPIC -Wl,-z,relro,-z,now,-z,noexecstack -Wtrampolines -Wl,--whole-archive -Wl,-Bstatic -lspdk_vmd -lspdk_rdma -lspdk_event_vmd -lspdk_notify -lspdk_sock -lspdk_sock_posix -lspdk_event_sock -lspdk_bdev_nvme -lspdk_nvme -lspdk_event_bdev -lspdk_event_accel -lspdk_net -lspdk_bdev -lspdk_accel -lspdk_trace -lspdk_conf -lspdk_util -lspdk_log -lspdk_event -lspdk_jsonrpc -lspdk_json -lspdk_rpc -lspdk_env_dpdk -lspdk_thread -Wl,--no-whole-archive -Wl,--start-group -Wl,--whole-archive ${DPDK_STATIC_LIB_DIR}/librte_eal.a ${DPDK_STATIC_LIB_DIR}/librte_mempool.a ${DPDK_STATIC_LIB_DIR}/librte_ring.a ${DPDK_STATIC_LIB_DIR}/librte_bus_pci.a ${DPDK_STATIC_LIB_DIR}/librte_pci.a ${DPDK_STATIC_LIB_DIR}/librte_acl.a ${DPDK_STATIC_LIB_DIR}/librte_kvargs.a ${DPDK_STATIC_LIB_DIR}/librte_mbuf.a ${DPDK_STATIC_LIB_DIR}/librte_power.a ${DPDK_STATIC_LIB_DIR}/librte_net.a ${DPDK_STATIC_LIB_DIR}/librte_ethdev.a ${DPDK_STATIC_LIB_DIR}/librte_telemetry.a -Wl,--end-group -Wl,--no-whole-archive -Wl,-Bdynamic") | ||
| 55 | ++set_target_properties(storage_ublock PROPERTIES LINK_FLAGS "-fPIE -pie -fPIC -Wl,-z,relro,-z,now,-z,noexecstack -Wtrampolines -Wl,--whole-archive -Wl,-Bstatic -lspdk_vmd -lspdk_rdma -lspdk_event_vmd -lspdk_notify -lspdk_sock -lspdk_sock_posix -lspdk_event_sock -lspdk_bdev_nvme -lspdk_nvme -lspdk_event_bdev -lspdk_event_accel -lspdk_bdev -lspdk_accel -lspdk_trace -lspdk_conf -lspdk_util -lspdk_log -lspdk_event -lspdk_jsonrpc -lspdk_json -lspdk_rpc -lspdk_env_dpdk -lspdk_thread -lspdk_vfio_user -lspdk_dma -lcrypto -Wl,--no-whole-archive -Wl,--start-group -Wl,--whole-archive ${DPDK_STATIC_LIB_DIR}/librte_eal.a ${DPDK_STATIC_LIB_DIR}/librte_mempool.a ${DPDK_STATIC_LIB_DIR}/librte_ring.a ${DPDK_STATIC_LIB_DIR}/librte_bus_pci.a ${DPDK_STATIC_LIB_DIR}/librte_pci.a ${DPDK_STATIC_LIB_DIR}/librte_acl.a ${DPDK_STATIC_LIB_DIR}/librte_kvargs.a ${DPDK_STATIC_LIB_DIR}/librte_mbuf.a ${DPDK_STATIC_LIB_DIR}/librte_power.a ${DPDK_STATIC_LIB_DIR}/librte_net.a ${DPDK_STATIC_LIB_DIR}/librte_ethdev.a ${DPDK_STATIC_LIB_DIR}/librte_telemetry.a ${DPDK_STATIC_LIB_DIR}/librte_log.a -Wl,--end-group -Wl,--no-whole-archive -Wl,-Bdynamic") | ||
| 56 | + | ||
| 57 | + target_link_libraries(storage_ublock PRIVATE aio pthread dl rt boundscheck uuid numa fuse3 rdmacm ibverbs) | ||
| 58 | + | ||
| 59 | +diff --git a/cli/error_inject/CMakeLists.txt b/cli/error_inject/CMakeLists.txt | ||
| 60 | +index f1c26c6..7de45fb 100755 | ||
| 61 | +--- a/cli/error_inject/CMakeLists.txt | ||
| 62 | ++++ b/cli/error_inject/CMakeLists.txt | ||
| 63 | +@@ -34,5 +34,5 @@ else() | ||
| 64 | + endif() | ||
| 65 | + | ||
| 66 | + set_target_properties(libstorage-error-inject PROPERTIES LINK_FLAGS | ||
| 67 | +- "-fPIE -pie -fPIC -Wl,-z,relro,-z,now,-z,noexecstack -Wtrampolines -Wl,--whole-archive -lspdk_vmd -lspdk_event_vmd -lspdk_notify -lspdk_sock -lspdk_sock_posix -lspdk_event_sock -lspdk_bdev_nvme -lspdk_nvme -lspdk_event_bdev -lspdk_event_accel -lspdk_net -lspdk_bdev -lspdk_accel -lspdk_trace -lspdk_conf -lspdk_util -lspdk_log -lspdk_event -lspdk_jsonrpc -lspdk_json -lspdk_rpc -lspdk_env_dpdk -lspdk_thread -Wl,--no-whole-archive -Wl,--start-group -Wl,--whole-archive ${DPDK_LIB_DIR}/librte_eal.a ${DPDK_LIB_DIR}/librte_mempool.a ${DPDK_LIB_DIR}/librte_ring.a ${DPDK_LIB_DIR}/librte_bus_pci.a ${DPDK_LIB_DIR}/librte_pci.a ${DPDK_LIB_DIR}/librte_acl.a ${DPDK_LIB_DIR}/librte_kvargs.a ${DPDK_LIB_DIR}/librte_power.a -Wl,--end-group -Wl,--no-whole-archive -lfuse3") | ||
| 68 | ++ "-fPIE -pie -fPIC -Wl,-z,relro,-z,now,-z,noexecstack -Wtrampolines -Wl,--whole-archive -lspdk_vmd -lspdk_event_vmd -lspdk_notify -lspdk_sock -lspdk_sock_posix -lspdk_event_sock -lspdk_bdev_nvme -lspdk_nvme -lspdk_event_bdev -lspdk_event_accel -lspdk_bdev -lspdk_accel -lspdk_trace -lspdk_conf -lspdk_util -lspdk_log -lspdk_event -lspdk_jsonrpc -lspdk_json -lspdk_rpc -lspdk_env_dpdk -lspdk_thread -Wl,--no-whole-archive -Wl,--start-group -Wl,--whole-archive ${DPDK_LIB_DIR}/librte_eal.a ${DPDK_LIB_DIR}/librte_mempool.a ${DPDK_LIB_DIR}/librte_ring.a ${DPDK_LIB_DIR}/librte_bus_pci.a ${DPDK_LIB_DIR}/librte_pci.a ${DPDK_LIB_DIR}/librte_acl.a ${DPDK_LIB_DIR}/librte_kvargs.a ${DPDK_LIB_DIR}/librte_power.a -Wl,--end-group -Wl,--no-whole-archive -lfuse3") | ||
| 69 | + target_link_libraries(libstorage-error-inject PRIVATE aio pthread dl rt boundscheck numa uuid) | ||
| 70 | +diff --git a/cli/iostat_enable/CMakeLists.txt b/cli/iostat_enable/CMakeLists.txt | ||
| 71 | +index 77d8511..fffc1e2 100755 | ||
| 72 | +--- a/cli/iostat_enable/CMakeLists.txt | ||
| 73 | ++++ b/cli/iostat_enable/CMakeLists.txt | ||
| 74 | +@@ -36,5 +36,5 @@ else() | ||
| 75 | + target_compile_options(libstorage-iostat-enable PRIVATE -march=core-avx-i -m64) | ||
| 76 | + endif() | ||
| 77 | + | ||
| 78 | +-set_target_properties(libstorage-iostat-enable PROPERTIES LINK_FLAGS "-fPIE -pie -fPIC -Wl,-z,relro,-z,now,-z,noexecstack -Wtrampolines -Wl,--whole-archive -Wl,-Bstatic -lspdk_vmd -lspdk_rdma -lspdk_event_vmd -lspdk_notify -lspdk_sock -lspdk_sock_posix -lspdk_event_sock -lspdk_bdev_nvme -lspdk_nvme -lspdk_event_bdev -lspdk_event_accel -lspdk_net -lspdk_bdev -lspdk_accel -lspdk_trace -lspdk_conf -lspdk_util -lspdk_log -lspdk_event -lspdk_jsonrpc -lspdk_json -lspdk_rpc -lspdk_env_dpdk -lspdk_thread -Wl,--no-whole-archive -Wl,--start-group -Wl,--whole-archive ${DPDK_STATIC_LIB_DIR}/librte_eal.a ${DPDK_STATIC_LIB_DIR}/librte_mempool.a ${DPDK_STATIC_LIB_DIR}/librte_ring.a ${DPDK_STATIC_LIB_DIR}/librte_bus_pci.a ${DPDK_STATIC_LIB_DIR}/librte_pci.a ${DPDK_STATIC_LIB_DIR}/librte_acl.a ${DPDK_STATIC_LIB_DIR}/librte_kvargs.a ${DPDK_STATIC_LIB_DIR}/librte_power.a ${DPDK_STATIC_LIB_DIR}/librte_mbuf.a ${DPDK_STATIC_LIB_DIR}/librte_net.a ${DPDK_STATIC_LIB_DIR}/librte_ethdev.a ${DPDK_STATIC_LIB_DIR}/librte_telemetry.a -Wl,--end-group -Wl,--no-whole-archive -Wl,-Bdynamic -lfuse3") | ||
| 79 | +-target_link_libraries(libstorage-iostat-enable PRIVATE aio pthread dl rt boundscheck numa uuid rdmacm ibverbs) | ||
| 80 | ++set_target_properties(libstorage-iostat-enable PROPERTIES LINK_FLAGS "-fPIE -pie -fPIC -Wl,-z,relro,-z,now,-z,noexecstack -Wtrampolines -Wl,--whole-archive -Wl,-Bstatic -lspdk_vmd -lspdk_rdma -lspdk_event_vmd -lspdk_notify -lspdk_sock -lspdk_sock_posix -lspdk_event_sock -lspdk_bdev_nvme -lspdk_nvme -lspdk_event_bdev -lspdk_event_accel -lspdk_bdev -lspdk_accel -lspdk_trace -lspdk_conf -lspdk_util -lspdk_log -lspdk_event -lspdk_jsonrpc -lspdk_json -lspdk_rpc -lspdk_env_dpdk -lspdk_thread -lspdk_dma -lspdk_vfio_user -lspdk_init -lcrypto -lssl -Wl,--no-whole-archive -Wl,--start-group -Wl,--whole-archive ${DPDK_STATIC_LIB_DIR}/librte_eal.a ${DPDK_STATIC_LIB_DIR}/librte_mempool.a ${DPDK_STATIC_LIB_DIR}/librte_ring.a ${DPDK_STATIC_LIB_DIR}/librte_bus_pci.a ${DPDK_STATIC_LIB_DIR}/librte_pci.a ${DPDK_STATIC_LIB_DIR}/librte_acl.a ${DPDK_STATIC_LIB_DIR}/librte_kvargs.a ${DPDK_STATIC_LIB_DIR}/librte_power.a ${DPDK_STATIC_LIB_DIR}/librte_mbuf.a ${DPDK_STATIC_LIB_DIR}/librte_net.a ${DPDK_STATIC_LIB_DIR}/librte_ethdev.a ${DPDK_STATIC_LIB_DIR}/librte_telemetry.a ${DPDK_STATIC_LIB_DIR}/librte_log.a -Wl,--end-group -Wl,--no-whole-archive -Wl,-Bdynamic -lfuse3") | ||
| 81 | ++target_link_libraries(libstorage-iostat-enable PRIVATE aio pthread dl rt boundscheck numa uuid rdmacm ibverbs m z) | ||
| 82 | +diff --git a/cli/list/CMakeLists.txt b/cli/list/CMakeLists.txt | ||
| 83 | +index 9a9bfcd..7cf4d97 100755 | ||
| 84 | +--- a/cli/list/CMakeLists.txt | ||
| 85 | ++++ b/cli/list/CMakeLists.txt | ||
| 86 | +@@ -36,5 +36,5 @@ else() | ||
| 87 | + target_compile_options(libstorage-list PRIVATE -march=core-avx-i -m64) | ||
| 88 | + endif() | ||
| 89 | + | ||
| 90 | +-set_target_properties(libstorage-list PROPERTIES LINK_FLAGS " -fPIE -pie -fPIC -Wl,-z,relro,-z,now,-z,noexecstack -Wtrampolines -Wl,--whole-archive -Wl,-Bstatic -lspdk_vmd -lspdk_rdma -lspdk_event_vmd -lspdk_notify -lspdk_sock -lspdk_sock_posix -lspdk_event_sock -lspdk_bdev_nvme -lspdk_nvme -lspdk_event_bdev -lspdk_event_accel -lspdk_net -lspdk_bdev -lspdk_accel -lspdk_trace -lspdk_conf -lspdk_util -lspdk_log -lspdk_event -lspdk_jsonrpc -lspdk_json -lspdk_rpc -lspdk_env_dpdk -lspdk_thread -Wl,--no-whole-archive -Wl,--start-group -Wl,--whole-archive ${DPDK_STATIC_LIB_DIR}/librte_eal.a ${DPDK_STATIC_LIB_DIR}/librte_mempool.a ${DPDK_STATIC_LIB_DIR}/librte_ring.a ${DPDK_STATIC_LIB_DIR}/librte_bus_pci.a ${DPDK_STATIC_LIB_DIR}/librte_pci.a ${DPDK_STATIC_LIB_DIR}/librte_acl.a ${DPDK_STATIC_LIB_DIR}/librte_kvargs.a ${DPDK_STATIC_LIB_DIR}/librte_power.a ${DPDK_STATIC_LIB_DIR}/librte_mbuf.a ${DPDK_STATIC_LIB_DIR}/librte_net.a ${DPDK_STATIC_LIB_DIR}/librte_ethdev.a ${DPDK_STATIC_LIB_DIR}/librte_telemetry.a -Wl,--end-group -Wl,--no-whole-archive -Wl,-Bdynamic -lfuse3") | ||
| 91 | +-target_link_libraries(libstorage-list PRIVATE aio pthread dl rt boundscheck numa uuid rdmacm ibverbs) | ||
| 92 | ++set_target_properties(libstorage-list PROPERTIES LINK_FLAGS " -fPIE -pie -fPIC -Wl,-z,relro,-z,now,-z,noexecstack -Wtrampolines -Wl,--whole-archive -Wl,-Bstatic -lspdk_vmd -lspdk_rdma -lspdk_event_vmd -lspdk_notify -lspdk_sock -lspdk_sock_posix -lspdk_event_sock -lspdk_bdev_nvme -lspdk_nvme -lspdk_event_bdev -lspdk_event_accel -lspdk_bdev -lspdk_accel -lspdk_trace -lspdk_conf -lspdk_util -lspdk_log -lspdk_event -lspdk_jsonrpc -lspdk_json -lspdk_rpc -lspdk_env_dpdk -lspdk_thread -lspdk_dma -lspdk_vfio_user -lspdk_init -Wl,--no-whole-archive -Wl,--start-group -Wl,--whole-archive ${DPDK_STATIC_LIB_DIR}/librte_eal.a ${DPDK_STATIC_LIB_DIR}/librte_mempool.a ${DPDK_STATIC_LIB_DIR}/librte_ring.a ${DPDK_STATIC_LIB_DIR}/librte_bus_pci.a ${DPDK_STATIC_LIB_DIR}/librte_pci.a ${DPDK_STATIC_LIB_DIR}/librte_acl.a ${DPDK_STATIC_LIB_DIR}/librte_kvargs.a ${DPDK_STATIC_LIB_DIR}/librte_power.a ${DPDK_STATIC_LIB_DIR}/librte_mbuf.a ${DPDK_STATIC_LIB_DIR}/librte_net.a ${DPDK_STATIC_LIB_DIR}/librte_ethdev.a ${DPDK_STATIC_LIB_DIR}/librte_telemetry.a ${DPDK_STATIC_LIB_DIR}/librte_log.a -Wl,--end-group -Wl,--no-whole-archive -Wl,-Bdynamic -lfuse3") | ||
| 93 | ++target_link_libraries(libstorage-list PRIVATE aio pthread dl rt boundscheck numa uuid rdmacm ibverbs ssl crypto m z) | ||
| 94 | +diff --git a/cli/rw/CMakeLists.txt b/cli/rw/CMakeLists.txt | ||
| 95 | +index 31098da..17d69d2 100755 | ||
| 96 | +--- a/cli/rw/CMakeLists.txt | ||
| 97 | ++++ b/cli/rw/CMakeLists.txt | ||
| 98 | +@@ -41,5 +41,5 @@ else() | ||
| 99 | + endif() | ||
| 100 | + | ||
| 101 | + set_target_properties(libstorage-rw PROPERTIES LINK_FLAGS | ||
| 102 | +- "-fPIE -pie -fPIC -Wl,-z,relro,-z,now,-z,noexecstack -Wtrampolines -Wl,--whole-archive -Wl,-Bstatic -lspdk_vmd -lspdk_event_vmd -lspdk_notify -lspdk_sock -lspdk_sock_posix -lspdk_event_sock -lspdk_bdev_nvme -lspdk_nvme -lspdk_event_bdev -lspdk_event_accel -lspdk_rdma -lspdk_net -lspdk_bdev -lspdk_accel -lspdk_trace -lspdk_conf -lspdk_util -lspdk_log -lspdk_event -lspdk_jsonrpc -lspdk_json -lspdk_rpc -lspdk_env_dpdk -lspdk_thread -Wl,--no-whole-archive -Wl,--start-group -Wl,--whole-archive ${DPDK_STATIC_LIB_DIR}/librte_eal.a ${DPDK_STATIC_LIB_DIR}/librte_mempool.a ${DPDK_STATIC_LIB_DIR}/librte_ring.a ${DPDK_STATIC_LIB_DIR}/librte_bus_pci.a ${DPDK_STATIC_LIB_DIR}/librte_pci.a ${DPDK_STATIC_LIB_DIR}/librte_acl.a ${DPDK_STATIC_LIB_DIR}/librte_kvargs.a ${DPDK_STATIC_LIB_DIR}/librte_power.a ${DPDK_STATIC_LIB_DIR}/librte_mbuf.a ${DPDK_STATIC_LIB_DIR}/librte_net.a ${DPDK_STATIC_LIB_DIR}/librte_ethdev.a ${DPDK_STATIC_LIB_DIR}/librte_telemetry.a -Wl,--end-group -Wl,--no-whole-archive -Wl,-Bdynamic -lfuse3") | ||
| 103 | +-target_link_libraries(libstorage-rw PRIVATE rdmacm ibverbs aio pthread dl rt boundscheck numa uuid) | ||
| 104 | ++ "-fPIE -pie -fPIC -Wl,-z,relro,-z,now,-z,noexecstack -Wtrampolines -Wl,--whole-archive -Wl,-Bstatic -lspdk_vmd -lspdk_event_vmd -lspdk_notify -lspdk_sock -lspdk_sock_posix -lspdk_event_sock -lspdk_bdev_nvme -lspdk_nvme -lspdk_event_bdev -lspdk_event_accel -lspdk_rdma -lspdk_bdev -lspdk_accel -lspdk_trace -lspdk_conf -lspdk_util -lspdk_log -lspdk_event -lspdk_jsonrpc -lspdk_json -lspdk_rpc -lspdk_env_dpdk -lspdk_thread -lspdk_dma -lspdk_vfio_user -lspdk_init -Wl,--no-whole-archive -Wl,--start-group -Wl,--whole-archive ${DPDK_STATIC_LIB_DIR}/librte_eal.a ${DPDK_STATIC_LIB_DIR}/librte_mempool.a ${DPDK_STATIC_LIB_DIR}/librte_ring.a ${DPDK_STATIC_LIB_DIR}/librte_bus_pci.a ${DPDK_STATIC_LIB_DIR}/librte_pci.a ${DPDK_STATIC_LIB_DIR}/librte_acl.a ${DPDK_STATIC_LIB_DIR}/librte_kvargs.a ${DPDK_STATIC_LIB_DIR}/librte_power.a ${DPDK_STATIC_LIB_DIR}/librte_mbuf.a ${DPDK_STATIC_LIB_DIR}/librte_net.a ${DPDK_STATIC_LIB_DIR}/librte_ethdev.a ${DPDK_STATIC_LIB_DIR}/librte_telemetry.a ${DPDK_STATIC_LIB_DIR}/librte_log.a -Wl,--end-group -Wl,--no-whole-archive -Wl,-Bdynamic -lfuse3") | ||
| 105 | ++target_link_libraries(libstorage-rw PRIVATE rdmacm ibverbs aio pthread dl rt boundscheck numa uuid ssl crypto m z) | ||
| 106 | +diff --git a/cli/shut_down/CMakeLists.txt b/cli/shut_down/CMakeLists.txt | ||
| 107 | +index 4dc7e00..fc9923d 100755 | ||
| 108 | +--- a/cli/shut_down/CMakeLists.txt | ||
| 109 | ++++ b/cli/shut_down/CMakeLists.txt | ||
| 110 | +@@ -37,5 +37,5 @@ else() | ||
| 111 | + endif() | ||
| 112 | + | ||
| 113 | + set_target_properties(libstorage-shutdown PROPERTIES LINK_FLAGS | ||
| 114 | +- "-fPIE -pie -fPIC -Wl,-z,relro,-z,now,-z,noexecstack -Wtrampolines -Wl,--whole-archive -lspdk_vmd -lspdk_event_vmd -lspdk_notify -lspdk_sock -lspdk_sock_posix -lspdk_event_sock -lspdk_bdev_nvme -lspdk_nvme -lspdk_event_bdev -lspdk_event_accel -lspdk_net -lspdk_bdev -lspdk_accel -lspdk_trace -lspdk_conf -lspdk_util -lspdk_log -lspdk_event -lspdk_jsonrpc -lspdk_json -lspdk_rpc -lspdk_env_dpdk -lspdk_thread -Wl,--no-whole-archive -Wl,--start-group -Wl,--whole-archive ${DPDK_STATIC_LIB_DIR}/librte_eal.a ${DPDK_STATIC_LIB_DIR}/librte_mempool.a ${DPDK_STATIC_LIB_DIR}/librte_ring.a ${DPDK_STATIC_LIB_DIR}/librte_bus_pci.a ${DPDK_STATIC_LIB_DIR}/librte_pci.a ${DPDK_STATIC_LIB_DIR}/librte_acl.a ${DPDK_STATIC_LIB_DIR}/librte_kvargs.a ${DPDK_STATIC_LIB_DIR}/librte_power.a ${DPDK_STATIC_LIB_DIR}/librte_mbuf.a ${DPDK_STATIC_LIB_DIR}/librte_net.a ${DPDK_STATIC_LIB_DIR}/librte_ethdev.a ${DPDK_STATIC_LIB_DIR}/librte_telemetry.a -Wl,--end-group -Wl,--no-whole-archive -lfuse3") | ||
| 115 | ++ "-fPIE -pie -fPIC -Wl,-z,relro,-z,now,-z,noexecstack -Wtrampolines -Wl,--whole-archive -lspdk_vmd -lspdk_event_vmd -lspdk_notify -lspdk_sock -lspdk_sock_posix -lspdk_event_sock -lspdk_bdev_nvme -lspdk_nvme -lspdk_event_bdev -lspdk_event_accel -lspdk_bdev -lspdk_accel -lspdk_trace -lspdk_conf -lspdk_util -lspdk_log -lspdk_event -lspdk_jsonrpc -lspdk_json -lspdk_rpc -lspdk_env_dpdk -lspdk_thread -Wl,--no-whole-archive -Wl,--start-group -Wl,--whole-archive ${DPDK_STATIC_LIB_DIR}/librte_eal.a ${DPDK_STATIC_LIB_DIR}/librte_mempool.a ${DPDK_STATIC_LIB_DIR}/librte_ring.a ${DPDK_STATIC_LIB_DIR}/librte_bus_pci.a ${DPDK_STATIC_LIB_DIR}/librte_pci.a ${DPDK_STATIC_LIB_DIR}/librte_acl.a ${DPDK_STATIC_LIB_DIR}/librte_kvargs.a ${DPDK_STATIC_LIB_DIR}/librte_power.a ${DPDK_STATIC_LIB_DIR}/librte_mbuf.a ${DPDK_STATIC_LIB_DIR}/librte_net.a ${DPDK_STATIC_LIB_DIR}/librte_ethdev.a ${DPDK_STATIC_LIB_DIR}/librte_telemetry.a -Wl,--end-group -Wl,--no-whole-archive -lfuse3") | ||
| 116 | + target_link_libraries(libstorage-shutdown PRIVATE aio pthread dl rt boundscheck numa uuid) | ||
| 117 | +diff --git a/include/bdev_rw_internal.h b/include/bdev_rw_internal.h | ||
| 118 | +index a737c30..9b04da8 100755 | ||
| 119 | +--- a/include/bdev_rw_internal.h | ||
| 120 | ++++ b/include/bdev_rw_internal.h | ||
| 121 | +@@ -8,6 +8,9 @@ | ||
| 122 | + #ifndef BDEV_RW_INTERNAL_H | ||
| 123 | + #define BDEV_RW_INTERNAL_H | ||
| 124 | + | ||
| 125 | ++#define SECUREC_NEED_ERRNO_TYPE | ||
| 126 | ++#include <securec.h> | ||
| 127 | ++ | ||
| 128 | + #include <dirent.h> | ||
| 129 | + #include <dlfcn.h> | ||
| 130 | + #include <fcntl.h> | ||
| 131 | +@@ -16,7 +19,6 @@ | ||
| 132 | + #include <rte_lcore.h> | ||
| 133 | + #include <rte_malloc.h> | ||
| 134 | + #include <rte_eal_memconfig.h> | ||
| 135 | +-#include <securec.h> | ||
| 136 | + #include <string.h> | ||
| 137 | + | ||
| 138 | + #include <sys/queue.h> | ||
| 139 | +diff --git a/include/ublock_internal.h b/include/ublock_internal.h | ||
| 140 | +index 6e188f4..0d856e7 100755 | ||
| 141 | +--- a/include/ublock_internal.h | ||
| 142 | ++++ b/include/ublock_internal.h | ||
| 143 | +@@ -16,11 +16,13 @@ | ||
| 144 | + #ifndef __UBLOCK_INTERNAL_H__ | ||
| 145 | + #define __UBLOCK_INTERNAL_H__ | ||
| 146 | + | ||
| 147 | ++#define SECUREC_NEED_ERRNO_TYPE | ||
| 148 | ++#include <securec.h> | ||
| 149 | ++ | ||
| 150 | + #include <spdk/jsonrpc.h> | ||
| 151 | + #include <spdk/nvme.h> | ||
| 152 | + | ||
| 153 | + #include <sys/queue.h> | ||
| 154 | +-#include <securec.h> | ||
| 155 | + | ||
| 156 | + /* ublock RPC server */ | ||
| 157 | + typedef void (*ublock_rpc_method_handler)(struct spdk_jsonrpc_request *request, | ||
| 158 | +@@ -64,6 +66,7 @@ void ublock_rpc_close(void); | ||
| 159 | + char *ublock_get_sockaddr_shm(const char *pci, char *ctrl_name, size_t ctrl_name_size); | ||
| 160 | + char *ublock_get_sockaddr(const char *pci); | ||
| 161 | + void ublock_rpc_register_method(const char *method, ublock_rpc_method_handler func); | ||
| 162 | ++const char *pci_get_sysfs_path(void); | ||
| 163 | + | ||
| 164 | + #define UBLOCK_RPC_REGISTER(method, func) \ | ||
| 165 | + static void __attribute__((constructor)) rpc_register_##func(void) \ | ||
| 166 | +diff --git a/src/bdev_rw.c b/src/bdev_rw.c | ||
| 167 | +index f27722a..fbeb0af 100755 | ||
| 168 | +--- a/src/bdev_rw.c | ||
| 169 | ++++ b/src/bdev_rw.c | ||
| 170 | +@@ -46,6 +46,8 @@ pthread_mutex_t *g_libstorage_admin_op_mutex = NULL; | ||
| 171 | + /* atomic lock for uio and ublock */ | ||
| 172 | + uint32_t *g_uio_ublock_lock = NULL; | ||
| 173 | + | ||
| 174 | ++extern struct nvme_bdev_ctrlr * nvme_bdev_ctrlr_get_by_name(const char *name); | ||
| 175 | ++ | ||
| 176 | + static int uio_ublock_lock_init(void) | ||
| 177 | + { | ||
| 178 | + int shm_fd = shm_open(UIO_UBLOCK_SHARE_LOCK, O_CREAT | O_RDWR | O_EXCL, S_IRUSR | S_IWUSR); | ||
| 179 | +@@ -1049,7 +1051,7 @@ static int32_t libstorage_attach_ns_to_ctrlr(const char *ctrlName, uint32_t nsid | ||
| 180 | + return -EINVAL; | ||
| 181 | + } | ||
| 182 | + | ||
| 183 | +- nvme = nvme_ctrlr_get_by_name(ctrlName); | ||
| 184 | ++ nvme = nvme_bdev_ctrlr_get_by_name(ctrlName); | ||
| 185 | + if (nvme != NULL) { | ||
| 186 | + ctrlr = spdk_nvme_ctrlr_get_by_ctrlr(nvme); | ||
| 187 | + } | ||
| 188 | +@@ -1259,7 +1261,7 @@ int32_t libstorage_delete_namespace(const char *pctrlName, uint32_t nsid) | ||
| 189 | + spdk_set_thread(g_masterThread); | ||
| 190 | + libstorage_process_mutex_lock(g_libstorage_admin_op_mutex); | ||
| 191 | + | ||
| 192 | +- nvme = nvme_ctrlr_get_by_name(pctrlName); | ||
| 193 | ++ nvme = nvme_bdev_ctrlr_get_by_name(pctrlName); | ||
| 194 | + if (nvme != NULL) { | ||
| 195 | + ctrlr = spdk_nvme_ctrlr_get_by_ctrlr(nvme); | ||
| 196 | + } | ||
| 197 | +diff --git a/src/bdev_rw_poll.c b/src/bdev_rw_poll.c | ||
| 198 | +index accbdc1..52074a8 100755 | ||
| 199 | +--- a/src/bdev_rw_poll.c | ||
| 200 | ++++ b/src/bdev_rw_poll.c | ||
| 201 | +@@ -323,9 +323,9 @@ void LibstoragePollExitCheckResource(void) | ||
| 202 | + if (bdev_desc != NULL) { | ||
| 203 | + bdev = spdk_bdev_desc_get_bdev(bdev_desc); | ||
| 204 | + | ||
| 205 | +- (void)pthread_mutex_lock(&bdev->internal.mutex); | ||
| 206 | ++ (void)spdk_spin_lock(&bdev->internal.spinlock); | ||
| 207 | + bdev->internal.status = SPDK_BDEV_STATUS_REMOVING; | ||
| 208 | +- (void)pthread_mutex_unlock(&bdev->internal.mutex); | ||
| 209 | ++ (void)spdk_spin_unlock(&bdev->internal.spinlock); | ||
| 210 | + | ||
| 211 | + /* NVMe resources are released when the module exits */ | ||
| 212 | + spdk_bdev_close(bdev_desc); | ||
| 213 | +@@ -770,7 +770,7 @@ int32_t libstorage_init_with_reactor(void) | ||
| 214 | + } | ||
| 215 | + | ||
| 216 | + libstorage_notify_dpdk_init(); | ||
| 217 | +- ret = spdk_reactors_init(); | ||
| 218 | ++ ret = spdk_reactors_init(SPDK_DEFAULT_MSG_MEMPOOL_SIZE); | ||
| 219 | + if (ret != 0) { | ||
| 220 | + SPDK_ERRLOG("Invalid reactor mask.\n"); | ||
| 221 | + return ret; | ||
| 222 | +diff --git a/src/ublock_bdev.c b/src/ublock_bdev.c | ||
| 223 | +index 8ab3ef6..fc610d9 100755 | ||
| 224 | +--- a/src/ublock_bdev.c | ||
| 225 | ++++ b/src/ublock_bdev.c | ||
| 226 | +@@ -18,8 +18,10 @@ | ||
| 227 | + #include <errno.h> | ||
| 228 | + #include <pthread.h> | ||
| 229 | + #include <regex.h> | ||
| 230 | +-#include <rte_eal.h> | ||
| 231 | +-#include <rte_bus_pci.h> | ||
| 232 | ++#include <spdk/rte_bus_pci.h> | ||
| 233 | ++#include <spdk/bus_pci_driver.h> | ||
| 234 | ++#include <spdk/rte_bus.h> | ||
| 235 | ++#include <spdk/bus_driver.h> | ||
| 236 | + #include <spdk/env.h> | ||
| 237 | + #include <spdk/event.h> | ||
| 238 | + #include <spdk/nvme.h> | ||
| 239 | +@@ -83,6 +85,30 @@ static void completion_poll_status_set_done(void *cb_arg, const struct spdk_nvme | ||
| 240 | + status->done = true; | ||
| 241 | + } | ||
| 242 | + | ||
| 243 | ++/** List of PCI devices */ | ||
| 244 | ++RTE_TAILQ_HEAD(rte_pci_device_list, rte_pci_device); | ||
| 245 | ++/** List of PCI drivers */ | ||
| 246 | ++RTE_TAILQ_HEAD(rte_pci_driver_list, rte_pci_driver); | ||
| 247 | ++ | ||
| 248 | ++struct rte_pci_bus { | ||
| 249 | ++ struct rte_bus bus; /**< Inherit the generic class */ | ||
| 250 | ++ struct rte_pci_device_list device_list; /**< List of PCI devices */ | ||
| 251 | ++ struct rte_pci_driver_list driver_list; /**< List of PCI drivers */ | ||
| 252 | ++}; | ||
| 253 | ++ | ||
| 254 | ++const char *pci_get_sysfs_path(void) | ||
| 255 | ++{ | ||
| 256 | ++ const char *path = NULL; | ||
| 257 | ++ | ||
| 258 | ++ path = getenv("SYSFS_PCI_DEVICES"); | ||
| 259 | ++ if (path == NULL) { | ||
| 260 | ++ return "/sys/bus/pci/devices"; | ||
| 261 | ++ } | ||
| 262 | ++ | ||
| 263 | ++ return path; | ||
| 264 | ++} | ||
| 265 | ++ | ||
| 266 | ++ | ||
| 267 | + static int ublock_uio_lock_init(void) | ||
| 268 | + { | ||
| 269 | + int shm_fd = shm_open(UBLOCK_UIO_SHARE_LOCK, O_CREAT | O_RDWR | O_EXCL, S_IRUSR | S_IWUSR); | ||
| 270 | +@@ -739,7 +765,7 @@ static bool ublock_is_device_path(const struct rte_pci_device *dev) | ||
| 271 | + return false; | ||
| 272 | + } | ||
| 273 | + | ||
| 274 | +- sys_path = rte_pci_get_sysfs_path(); | ||
| 275 | ++ sys_path = pci_get_sysfs_path(); | ||
| 276 | + rc = snprintf_s(dirname, PATH_MAX, | ||
| 277 | + strlen(sys_path) + strlen(pci) + 1, | ||
| 278 | + "%s/%s", sys_path, pci); | ||
| 279 | +@@ -872,6 +898,7 @@ static void attach_cb(void *cb_ctx, | ||
| 280 | + struct spdk_nvme_ctrlr *ctrlr, | ||
| 281 | + const struct spdk_nvme_ctrlr_opts *opts) | ||
| 282 | + { | ||
| 283 | ++#define IO_TIMEOUT_US 30000000 | ||
| 284 | + if (cb_ctx == NULL) { | ||
| 285 | + SPDK_WARNLOG("[ublock] wrong input when spdk_nvme_probe attach\n"); | ||
| 286 | + return; | ||
| 287 | +@@ -880,7 +907,8 @@ static void attach_cb(void *cb_ctx, | ||
| 288 | + #ifdef DEBUG | ||
| 289 | + SPDK_NOTICELOG("[ublock] Attached to %s\n", trid->traddr); | ||
| 290 | + #endif | ||
| 291 | +- spdk_nvme_ctrlr_register_timeout_callback(ctrlr, 150000000, timeout_cb, NULL); /* 150000000 is 150s timeout */ | ||
| 292 | ++ spdk_nvme_ctrlr_register_timeout_callback(ctrlr, IO_TIMEOUT_US, | ||
| 293 | ++ 150000000, timeout_cb, NULL); /* 150000000 is 150s timeout */ | ||
| 294 | + bdev->ctrlr = ctrlr; | ||
| 295 | + } | ||
| 296 | + | ||
| 297 | +@@ -989,6 +1017,7 @@ static int ublock_parse_bdev_ctrlr_info(struct ublock_bdev *bdev) | ||
| 298 | + int ret; | ||
| 299 | + uint32_t nsid; | ||
| 300 | + struct spdk_pci_device *pci_dev = NULL; | ||
| 301 | ++ struct spdk_nvme_ns *ns; | ||
| 302 | + | ||
| 303 | + pci_dev = spdk_nvme_ctrlr_get_pci_device(bdev->ctrlr); | ||
| 304 | + if (pci_dev == NULL) { | ||
| 305 | +@@ -1000,15 +1029,16 @@ static int ublock_parse_bdev_ctrlr_info(struct ublock_bdev *bdev) | ||
| 306 | + SPDK_ERRLOG("[ublock] failed to get active nsid\n"); | ||
| 307 | + return -1; | ||
| 308 | + } | ||
| 309 | +- bdev->info.sector_size = spdk_nvme_ns_get_sector_size(&bdev->ctrlr->ns[nsid - 1]); | ||
| 310 | ++ ns = spdk_nvme_ctrlr_get_ns(bdev->ctrlr, nsid); | ||
| 311 | ++ bdev->info.sector_size = spdk_nvme_ns_get_sector_size(ns); | ||
| 312 | + if (bdev->ctrlr->cdata.oacs.ns_manage == 0) { | ||
| 313 | + /* nvme not support ns management */ | ||
| 314 | +- bdev->info.cap_size = spdk_nvme_ns_get_size(&bdev->ctrlr->ns[nsid - 1]); | ||
| 315 | ++ bdev->info.cap_size = spdk_nvme_ns_get_size(ns); | ||
| 316 | + } else { | ||
| 317 | + /* nvme support ns management */ | ||
| 318 | + bdev->info.cap_size = bdev->ctrlr->cdata.tnvmcap[0]; | ||
| 319 | + } | ||
| 320 | +- bdev->info.md_size = spdk_nvme_ns_get_md_size(&bdev->ctrlr->ns[nsid - 1]); | ||
| 321 | ++ bdev->info.md_size = spdk_nvme_ns_get_md_size(ns); | ||
| 322 | + bdev->info.device_id = spdk_pci_device_get_device_id(pci_dev); | ||
| 323 | + bdev->info.subsystem_device_id = spdk_pci_device_get_subdevice_id(pci_dev); | ||
| 324 | + bdev->info.vendor_id = bdev->ctrlr->cdata.vid; | ||
| 325 | +@@ -1292,7 +1322,7 @@ static int _ublock_get_SMART_info_from_local(const char *pci, uint32_t nsid, | ||
| 326 | + { | ||
| 327 | + int ret; | ||
| 328 | + int fd = -1; | ||
| 329 | +- struct spdk_nvme_transport_id trid; | ||
| 330 | ++ struct spdk_nvme_transport_id trid = {0x0}; | ||
| 331 | + struct ublock_bdev bdev; | ||
| 332 | + struct spdk_nvme_health_information_page *all_smart_info = (struct spdk_nvme_health_information_page *)smart_info; | ||
| 333 | + | ||
| 334 | +@@ -1433,7 +1463,7 @@ static int _ublock_get_error_log_info_from_local(const char *pci, uint32_t err_e | ||
| 335 | + { | ||
| 336 | + int ret; | ||
| 337 | + int fd = -1; | ||
| 338 | +- struct spdk_nvme_transport_id trid; | ||
| 339 | ++ struct spdk_nvme_transport_id trid = {0X0}; | ||
| 340 | + struct ublock_bdev bdev; | ||
| 341 | + | ||
| 342 | + if (pci == NULL || errlog_info == NULL) { | ||
| 343 | +@@ -1536,7 +1566,7 @@ exit: | ||
| 344 | + static int _ublock_nvme_ctrlr_shutdown_reset_from_local(const char *pci, bool reset_flag) | ||
| 345 | + { | ||
| 346 | + int fd = -1; | ||
| 347 | +- struct spdk_nvme_transport_id trid; | ||
| 348 | ++ struct spdk_nvme_transport_id trid = {0x0}; | ||
| 349 | + struct ublock_bdev bdev; | ||
| 350 | + int ret = 0; | ||
| 351 | + | ||
| 352 | +@@ -1650,7 +1680,7 @@ static int _ublock_get_log_page_from_local(const char *pci, uint8_t log_page, ui | ||
| 353 | + { | ||
| 354 | + int rc; | ||
| 355 | + struct ublock_bdev bdev; | ||
| 356 | +- struct spdk_nvme_transport_id trid; | ||
| 357 | ++ struct spdk_nvme_transport_id trid = {0x0}; | ||
| 358 | + int fd = -1; | ||
| 359 | + struct completion_poll_status status; | ||
| 360 | + | ||
| 361 | +@@ -1752,7 +1782,7 @@ static int _ublock_nvme_admin_passthru_local(const char *pci, void *cmd, void *b | ||
| 362 | + { | ||
| 363 | + int rc; | ||
| 364 | + struct ublock_bdev bdev; | ||
| 365 | +- struct spdk_nvme_transport_id trid; | ||
| 366 | ++ struct spdk_nvme_transport_id trid = {0x0}; | ||
| 367 | + struct completion_poll_status status; | ||
| 368 | + | ||
| 369 | + if (pci == NULL || cmd == NULL || buf == NULL || nbytes > UBLOCK_ADMIN_CMD_BUF_MAX_SIZE) { | ||
| 370 | +-- | ||
| 371 | +2.43.0 | ||
| 372 | + | ||
| @@ -1,7 +1,7 @@ | |||
| 1 | %global debug_package %{nil} | 1 | %global debug_package %{nil} |
| 2 | name: hsak | 2 | name: hsak |
| 3 | Version: 1.0 | 3 | Version: 1.0 |
| 4 | -Release: 3 | 4 | +Release: 4 |
| 5 | 5 | ||
| 6 | Summary: Hybrid Storage Acceleration Kit, which is an IO software stack that provides high bandwidth and low latency for new storage media. | 6 | Summary: Hybrid Storage Acceleration Kit, which is an IO software stack that provides high bandwidth and low latency for new storage media. |
| 7 | 7 | ||
| @@ -21,18 +21,20 @@ BuildRequires: libuuid libuuid-devel | |||
| 21 | BuildRequires: fuse3 fuse3-devel | 21 | BuildRequires: fuse3 fuse3-devel |
| 22 | BuildRequires: cmake gcc-c++ | 22 | BuildRequires: cmake gcc-c++ |
| 23 | BuildRequires: numactl-libs numactl-devel | 23 | BuildRequires: numactl-libs numactl-devel |
| 24 | +BuildRequires: zlib-devel | ||
| 24 | 25 | ||
| 25 | # Install dependencies | 26 | # Install dependencies |
| 26 | Requires: fuse3 dpdk | 27 | Requires: fuse3 dpdk |
| 27 | Conflicts: spdk | 28 | Conflicts: spdk |
| 28 | 29 | ||
| 29 | Patch0001: 0001-Fix-compile-error-with-gcc-12.03.patch | 30 | Patch0001: 0001-Fix-compile-error-with-gcc-12.03.patch |
| 31 | +Patch0002: 0002-Adapt-for-spdk-24.01.patch | ||
| 30 | 32 | ||
| 31 | %description | 33 | %description |
| 32 | Hybrid storage Acceleration Kit | 34 | Hybrid storage Acceleration Kit |
| 33 | 35 | ||
| 34 | %package devel | 36 | %package devel |
| 35 | -License: Other uncritical OpenSource License | 37 | +License: Mulan PSL v2 |
| 36 | Summary: Includes Files and Libraries mandatory for Development | 38 | Summary: Includes Files and Libraries mandatory for Development |
| 37 | Group: openEuler/openEuler | 39 | Group: openEuler/openEuler |
| 38 | Requires: %{name}%{?_isa} = %{version}-%{release} | 40 | Requires: %{name}%{?_isa} = %{version}-%{release} |
| @@ -46,7 +48,7 @@ libraries. | |||
| 46 | %package tools | 48 | %package tools |
| 47 | Group: Development/Tools | 49 | Group: Development/Tools |
| 48 | Summary: Tools for Development | 50 | Summary: Tools for Development |
| 49 | -License: Proprietary LICENSE | 51 | +License: Mulan PSL v2 |
| 50 | Requires: %{name}%{?_isa} = %{version}-%{release} | 52 | Requires: %{name}%{?_isa} = %{version}-%{release} |
| 51 | AutoReqProv: on | 53 | AutoReqProv: on |
| 52 | 54 | ||
| @@ -56,7 +58,7 @@ This package contains command line tools needed to development and operations. | |||
| 56 | %prep | 58 | %prep |
| 57 | %autosetup -p1 -n %{name}-v%{version} | 59 | %autosetup -p1 -n %{name}-v%{version} |
| 58 | 60 | ||
| 59 | -cp /usr/lib64/dpdk/pmds-22.0/include ./dpdk_include -rf | 61 | +cp /usr/include/dpdk ./dpdk_include -rf |
| 60 | 62 | ||
| 61 | %build | 63 | %build |
| 62 | mkdir -p build | 64 | mkdir -p build |
| @@ -123,6 +125,9 @@ strip $RPM_BUILD_ROOT/usr/bin/libstorage-iostat-enable | |||
| 123 | %postun -p /sbin/ldconfig | 125 | %postun -p /sbin/ldconfig |
| 124 | 126 | ||
| 125 | %changelog | 127 | %changelog |
| 128 | +* Tue Aug 20 2024 suweifeng <suweifeng1@huawei.com> 1.0-4 | ||
| 129 | +- Adapt for spdk 24.01 | ||
| 130 | + | ||
| 126 | * Wed Jul 19 2023 suweifeng <suweifeng1@huawei.com> 1.0-3 | 131 | * Wed Jul 19 2023 suweifeng <suweifeng1@huawei.com> 1.0-3 |
| 127 | - Fix compile error with gcc 12.03 | 132 | - Fix compile error with gcc 12.03 |
| 128 | 133 | ||