From mboxrd@z Thu Jan 1 00:00:00 1970 Content-Type: multipart/mixed; boundary="===============4971154726101347513==" MIME-Version: 1.0 From: Harris, James R Subject: [SPDK] Re: ABI change Date: Wed, 23 Jun 2021 21:33:51 +0000 Message-ID: <2E07C5B5-7F6C-4BBF-81B2-093DAA672225@intel.com> List-ID: To: spdk@lists.01.org --===============4971154726101347513== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Hi Ed, Neither. You would need to bump SO_VER and set SO_MINOR back to 0. The sp= dk_nvme_print_command() change is ABI incompatible, requiring the SO_VER bu= mp. We always set SO_MINOR back to 0 after bumping SO_VER. I would instead suggest a new spdk_nvme_print_command_csi() API, so that yo= u don't have to modify the spdk_nvme_print_command() API. Then you should = no longer need any version changes, since SO_MINOR has already been bumped = during this release cycle. -Jim =EF=BB=BFOn 6/23/21, 2:21 PM, "Rodriguez, Edwin" wrote: I've submitted a change which fails with: https://ci.spdk.io/results/au= totest-per-patch/builds/50670/archive/autobuild-vg-autotest/build.log 00:06:41.549 SONAME changed from 'libspdk_nvme.so.5.0' to 'libspdk_nvm= e.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, v= oid*)' {spdk_nvme_kv_cmd_list} 00:06:41.549 [A] 'function int spdk_nvme_kv_cmd_retrieve(spdk_nvme_n= s*, spdk_nvme_qpair*, spdk_nvme_kv_key_t*, void*, uint32_t, spdk_nvme_cmd_c= b, 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(spd= k_nvme_ns*)' {spdk_nvme_kv_get_max_key_len} 00:06:41.549 [A] 'function uint32_t spdk_nvme_kv_get_max_num_keys(sp= dk_nvme_ns*)' {spdk_nvme_kv_get_max_num_keys} 00:06:41.549 [A] 'function uint32_t spdk_nvme_kv_get_max_value_len(s= pdk_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, sp= dk_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, sp= dk_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? _______________________________________________ SPDK mailing list -- spdk(a)lists.01.org To unsubscribe send an email to spdk-leave(a)lists.01.org --===============4971154726101347513==--