[SPDK] ABI change

Rodriguez, Edwin <Ed.Rodriguez at netapp.com> Wed, 23 Jun 2021 21:21:02 +0000
Newsgroups dev.linux.lists.spdk
Message-ID < <BN8PR06MB537771CCBCC98D2E8603EA16EB089@BN8PR06MB5377.namprd06.prod.outlook.com>>
I've submitted a change which fails with: https://ci.spdk.io/results/autotest-per-patch/builds/50670/archive/autobuild-vg-autotest/build.log


00:06:41.549  SONAME changed from 'libspdk_nvme.so.5.0' to 'libspdk_nvme.so.5.1'
00:06:41.549
00:06:41.549  15 Added functions:
00:06:41.549
00:06:41.549    [A] 'function int spdk_kv_cmd_fmt_lower(const spdk_nvme_kv_cmd*, char*, size_t)'    {spdk_kv_cmd_fmt_lower}
00:06:41.549    [A] 'function int spdk_kv_key_fmt_lower(char*, size_t, uint32_t, const uint8_t*)'    {spdk_kv_key_fmt_lower}
00:06:41.549    [A] 'function bool spdk_nvme_ctrlr_is_fabrics(spdk_nvme_ctrlr*)'    {spdk_nvme_ctrlr_is_fabrics}
00:06:41.549    [A] 'function int spdk_nvme_kv_cmd_delete(spdk_nvme_ns*, spdk_nvme_qpair*, spdk_nvme_kv_key_t*, spdk_nvme_cmd_cb, void*)'    {spdk_nvme_kv_cmd_delete}
00:06:41.549    [A] 'function int spdk_nvme_kv_cmd_exist(spdk_nvme_ns*, spdk_nvme_qpair*, spdk_nvme_kv_key_t*, spdk_nvme_cmd_cb, void*)'    {spdk_nvme_kv_cmd_exist}
00:06:41.549    [A] 'function void spdk_nvme_kv_cmd_get_key(const spdk_nvme_kv_cmd*, spdk_nvme_kv_key_t*)'    {spdk_nvme_kv_cmd_get_key}
00:06:41.549    [A] 'function int spdk_nvme_kv_cmd_list(spdk_nvme_ns*, spdk_nvme_qpair*, spdk_nvme_kv_key_t*, void*, uint32_t, spdk_nvme_cmd_cb, void*)'    {spdk_nvme_kv_cmd_list}
00:06:41.549    [A] 'function int spdk_nvme_kv_cmd_retrieve(spdk_nvme_ns*, spdk_nvme_qpair*, spdk_nvme_kv_key_t*, void*, uint32_t, spdk_nvme_cmd_cb, void*, uint32_t)'    {spdk_nvme_kv_cmd_retrieve}
00:06:41.549    [A] 'function void spdk_nvme_kv_cmd_set_key(const spdk_nvme_kv_key_t*, spdk_nvme_kv_cmd*)'    {spdk_nvme_kv_cmd_set_key}
00:06:41.549    [A] 'function int spdk_nvme_kv_cmd_store(spdk_nvme_ns*, spdk_nvme_qpair*, spdk_nvme_kv_key_t*, void*, uint32_t, spdk_nvme_cmd_cb, void*, uint32_t)'    {spdk_nvme_kv_cmd_store}
00:06:41.549    [A] 'function uint32_t spdk_nvme_kv_get_max_key_len(spdk_nvme_ns*)'    {spdk_nvme_kv_get_max_key_len}
00:06:41.549    [A] 'function uint32_t spdk_nvme_kv_get_max_num_keys(spdk_nvme_ns*)'    {spdk_nvme_kv_get_max_num_keys}
00:06:41.549    [A] 'function uint32_t spdk_nvme_kv_get_max_value_len(spdk_nvme_ns*)'    {spdk_nvme_kv_get_max_value_len}
00:06:41.549    [A] 'function const spdk_nvme_kv_ns_data* spdk_nvme_kv_ns_get_data(spdk_nvme_ns*)'    {spdk_nvme_kv_ns_get_data}
00:06:41.549    [A] 'function int spdk_nvme_ns_cmd_copy(spdk_nvme_ns*, spdk_nvme_qpair*, const spdk_nvme_scc_source_range*, uint16_t, uint64_t, spdk_nvme_cmd_cb, void*)'    {spdk_nvme_ns_cmd_copy}
00:06:41.549
00:06:41.549  1 function with some sub-type change:
00:06:41.549
00:06:41.549    [C] 'function void spdk_nvme_print_command(uint16_t, spdk_nvme_cmd*)' at nvme_qpair.c:337:1 has some sub-type changes:
00:06:41.549      parameter 3 of type 'enum spdk_nvme_csi' was added


Do I need to update both SO_VER and SO_MINOR for libnvme?  Or will just updating SO_MINOR suffice?