Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package nvme-cli for openSUSE:Factory checked in at 2022-08-19 17:53:08 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/nvme-cli (Old) and /work/SRC/openSUSE:Factory/.nvme-cli.new.2083 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "nvme-cli" Fri Aug 19 17:53:08 2022 rev:59 rq:997666 version:2.1.2 Changes: -------- --- /work/SRC/openSUSE:Factory/nvme-cli/nvme-cli.changes 2022-08-04 13:23:08.288443282 +0200 +++ /work/SRC/openSUSE:Factory/.nvme-cli.new.2083/nvme-cli.changes 2022-08-19 17:54:09.543808696 +0200 @@ -1,0 +2,16 @@ +Wed Aug 17 19:26:17 UTC 2022 - dmuel...@suse.com + +- Update to version 2.1.2: + * build: Update version to v2.1.2 + * wrapper: Update SPDIX license + * wrapper: Call library version of nvme_init_copy_range_f1 + * Revert "udev: re-read the discovery log page when a discovery controller reconnected" + * nvme: Simplify ns list identify + * meson: we don't need a c++ compiler + * plugins/ocp: drop unused fd argument + * plugins/wdc: remove fd argument from print functions + * plugins/wdc: fix memset() on the address of a pointer + * plugins/solidigm: fix return value on format parse failure + * plugins/wdc: prevent duplicate close on NVMe device + +------------------------------------------------------------------- Old: ---- nvme-cli-2.1.1.obscpio New: ---- nvme-cli-2.1.2.obscpio ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ nvme-cli.spec ++++++ --- /var/tmp/diff_new_pack.gBGwZO/_old 2022-08-19 17:54:10.567810842 +0200 +++ /var/tmp/diff_new_pack.gBGwZO/_new 2022-08-19 17:54:10.571810850 +0200 @@ -17,7 +17,7 @@ Name: nvme-cli -Version: 2.1.1 +Version: 2.1.2 Release: 0 Summary: NVM Express user space tools License: GPL-2.0-only ++++++ _service ++++++ --- /var/tmp/diff_new_pack.gBGwZO/_old 2022-08-19 17:54:10.615810943 +0200 +++ /var/tmp/diff_new_pack.gBGwZO/_new 2022-08-19 17:54:10.619810950 +0200 @@ -4,7 +4,7 @@ <param name="url">https://github.com/linux-nvme/nvme-cli.git</param> <param name="filename">nvme-cli</param> <param name="versionformat">@PARENT_TAG@</param> - <param name="revision">v2.1.1</param> + <param name="revision">v2.1.2</param> <param name="versionrewrite-pattern">v(.*)</param> <param name="changesgenerate">enable</param> </service> ++++++ _servicedata ++++++ --- /var/tmp/diff_new_pack.gBGwZO/_old 2022-08-19 17:54:10.643811001 +0200 +++ /var/tmp/diff_new_pack.gBGwZO/_new 2022-08-19 17:54:10.647811009 +0200 @@ -1,7 +1,7 @@ <servicedata> <service name="tar_scm"> <param name="url">https://github.com/linux-nvme/nvme-cli.git</param> - <param name="changesrevision">972f9f76bca4238f7a19e89de313c97fbe4b0163</param> + <param name="changesrevision">93dd92fefd36581fc795909ed4a1b07e23e92acc</param> </service> </servicedata> (No newline at EOF) ++++++ nvme-cli-2.1.1.obscpio -> nvme-cli-2.1.2.obscpio ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/nvme-cli-2.1.1/ccan/meson.build new/nvme-cli-2.1.2/ccan/meson.build --- old/nvme-cli-2.1.1/ccan/meson.build 2022-08-01 17:39:47.000000000 +0200 +++ new/nvme-cli-2.1.2/ccan/meson.build 2022-08-11 15:07:35.000000000 +0200 @@ -7,6 +7,6 @@ ]) if get_option('buildtype') == 'debug' - add_project_arguments('-DCCAN_LIST_DEBUG=1', language : ['c', 'cpp']) - add_project_arguments('-DCCAN_STR_DEBUG=1', language : ['c', 'cpp']) + add_project_arguments('-DCCAN_LIST_DEBUG=1', language : ['c']) + add_project_arguments('-DCCAN_STR_DEBUG=1', language : ['c']) endif diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/nvme-cli-2.1.1/meson.build new/nvme-cli-2.1.2/meson.build --- old/nvme-cli-2.1.1/meson.build 2022-08-01 17:39:47.000000000 +0200 +++ new/nvme-cli-2.1.2/meson.build 2022-08-11 15:07:35.000000000 +0200 @@ -1,10 +1,10 @@ # SPDX-License-Identifier: GPL-2.0-or-later ################################################################################ project( - 'nvme-cli', ['c', 'cpp'], + 'nvme-cli', ['c'], meson_version: '>= 0.47.0', license: 'GPL-2.0-only', - version: '2.1.1', + version: '2.1.2', default_options: [ 'c_std=gnu99', 'buildtype=release', diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/nvme-cli-2.1.1/nvme.c new/nvme-cli-2.1.2/nvme.c --- old/nvme-cli-2.1.1/nvme.c 2022-08-01 17:39:47.000000000 +0200 +++ new/nvme-cli-2.1.2/nvme.c 2022-08-11 15:07:35.000000000 +0200 @@ -2044,23 +2044,24 @@ goto close_fd; } + struct nvme_identify_args args = { + .args_size = sizeof(args), + .fd = fd, + .timeout = NVME_DEFAULT_IOCTL_TIMEOUT, + .data = &ns_list, + .nsid = cfg.namespace_id - 1. + }; if (cfg.csi < 0) { - if (cfg.all) - err = nvme_identify_allocated_ns_list(fd, - cfg.namespace_id - 1, &ns_list); - else - err = nvme_identify_active_ns_list(fd, - cfg.namespace_id - 1, &ns_list); - + args.cns = cfg.all ? NVME_IDENTIFY_CNS_ALLOCATED_NS_LIST : + NVME_IDENTIFY_CNS_NS_ACTIVE_LIST; } else { - if (cfg.all) - err = nvme_identify_allocated_ns_list_csi(fd, - cfg.namespace_id - 1, cfg.csi, &ns_list); - else - err = nvme_identify_active_ns_list_csi(fd, - cfg.namespace_id - 1, cfg.csi, &ns_list); + args.cns = cfg.all ? NVME_IDENTIFY_CNS_CSI_ALLOCATED_NS_LIST : + NVME_IDENTIFY_CNS_CSI_NS_ACTIVE_LIST; + args.csi = cfg.csi; } + err = nvme_identify(&args); + if (!err) nvme_show_list_ns(&ns_list, flags); else if (err > 0) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/nvme-cli-2.1.1/nvmf-autoconnect/udev-rules/70-nvmf-autoconnect.rules.in new/nvme-cli-2.1.2/nvmf-autoconnect/udev-rules/70-nvmf-autoconnect.rules.in --- old/nvme-cli-2.1.1/nvmf-autoconnect/udev-rules/70-nvmf-autoconnect.rules.in 2022-08-01 17:39:47.000000000 +0200 +++ new/nvme-cli-2.1.2/nvmf-autoconnect/udev-rules/70-nvmf-autoconnect.rules.in 2022-08-11 15:07:35.000000000 +0200 @@ -17,10 +17,3 @@ ACTION=="change", SUBSYSTEM=="fc", ENV{FC_EVENT}=="nvmediscovery", \ ENV{NVMEFC_HOST_TRADDR}=="*", ENV{NVMEFC_TRADDR}=="*", \ RUN+="@SYSTEMCTL@ --no-block start nvmf-connect@--device=none\t--transport=fc\t--traddr=$env{NVMEFC_TRADDR}\t--trsvcid=none\t--host-traddr=$env{NVMEFC_HOST_TRADDR}.service" - -# A discovery controller just (re)connected, re-read the discovery log change to -# check if there were any changes since it was last connected. -ACTION=="change", SUBSYSTEM=="nvme", ENV{NVME_EVENT}=="connected", ATTR{cntrltype}=="discovery", \ - ENV{NVME_TRTYPE}=="*", ENV{NVME_TRADDR}=="*", \ - ENV{NVME_TRSVCID}=="*", ENV{NVME_HOST_TRADDR}=="*", \ - RUN+="@SYSTEMCTL@ --no-block start nvmf-connect@--device=$kernel\t--transport=$env{NVME_TRTYPE}\t--traddr=$env{NVME_TRADDR}\t--trsvcid=$env{NVME_TRSVCID}\t--host-traddr=$env{NVME_HOST_TRADDR}.service" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/nvme-cli-2.1.1/plugins/ocp/ocp-nvme.c new/nvme-cli-2.1.2/plugins/ocp/ocp-nvme.c --- old/nvme-cli-2.1.1/plugins/ocp/ocp-nvme.c 2022-08-01 17:39:47.000000000 +0200 +++ new/nvme-cli-2.1.2/plugins/ocp/ocp-nvme.c 2022-08-11 15:07:35.000000000 +0200 @@ -429,7 +429,7 @@ return ret; } -static int ocp_print_C3_log_normal(int fd, struct ssd_latency_monitor_log *log_data) +static int ocp_print_C3_log_normal(struct ssd_latency_monitor_log *log_data) { printf("-Latency Monitor/C3 Log Page Data- \n"); printf(" Controller : %s\n", devicename); @@ -725,7 +725,7 @@ switch (fmt) { case NORMAL: - ocp_print_C3_log_normal(fd, log_data); + ocp_print_C3_log_normal(log_data); break; case JSON: ocp_print_C3_log_json(log_data); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/nvme-cli-2.1.1/plugins/solidigm/solidigm-garbage-collection.c new/nvme-cli-2.1.2/plugins/solidigm/solidigm-garbage-collection.c --- old/nvme-cli-2.1.1/plugins/solidigm/solidigm-garbage-collection.c 2022-08-01 17:39:47.000000000 +0200 +++ new/nvme-cli-2.1.2/plugins/solidigm/solidigm-garbage-collection.c 2022-08-11 15:07:35.000000000 +0200 @@ -86,7 +86,7 @@ if (flags == -EINVAL) { fprintf(stderr, "Invalid output format '%s'\n", cfg.output_format); close(fd); - return fd; + return flags; } garbage_control_collection_log_t gc_log; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/nvme-cli-2.1.1/plugins/solidigm/solidigm-smart.c new/nvme-cli-2.1.2/plugins/solidigm/solidigm-smart.c --- old/nvme-cli-2.1.1/plugins/solidigm/solidigm-smart.c 2022-08-01 17:39:47.000000000 +0200 +++ new/nvme-cli-2.1.2/plugins/solidigm/solidigm-smart.c 2022-08-11 15:07:35.000000000 +0200 @@ -228,7 +228,7 @@ if (flags == -EINVAL) { fprintf(stderr, "Invalid output format '%s'\n", cfg.output_format); close(fd); - return fd; + return flags; } err = nvme_get_log_simple(fd, solidigm_vu_smart_log_id, sizeof(smart_log_payload), &smart_log_payload); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/nvme-cli-2.1.1/plugins/wdc/wdc-nvme.c new/nvme-cli-2.1.2/plugins/wdc/wdc-nvme.c --- old/nvme-cli-2.1.1/plugins/wdc/wdc-nvme.c 2022-08-01 17:39:47.000000000 +0200 +++ new/nvme-cli-2.1.2/plugins/wdc/wdc-nvme.c 2022-08-11 15:07:35.000000000 +0200 @@ -3498,8 +3498,7 @@ if (ret) fprintf(stderr, "ERROR : WDC : failed to generate file name\n"); else - ret = wdc_do_crash_dump(fd, f, type); \ - close(fd); + ret = wdc_do_crash_dump(fd, f, type); return ret; } @@ -4157,7 +4156,7 @@ json_free_object(root); } -static void wdc_print_error_rec_log_normal(int fd, struct wdc_ocp_c1_error_recovery_log *log_data) +static void wdc_print_error_rec_log_normal(struct wdc_ocp_c1_error_recovery_log *log_data) { int j; printf("Error Recovery/C1 Log Page Data \n"); @@ -4211,7 +4210,7 @@ json_free_object(root); } -static void wdc_print_dev_cap_log_normal(int fd, struct wdc_ocp_C4_dev_cap_log *log_data) +static void wdc_print_dev_cap_log_normal(struct wdc_ocp_C4_dev_cap_log *log_data) { int j; printf("Device Capabilities/C4 Log Page Data \n"); @@ -4272,7 +4271,7 @@ json_free_object(root); } -static void wdc_print_unsupported_reqs_log_normal(int fd, struct wdc_ocp_C5_unsupported_reqs *log_data) +static void wdc_print_unsupported_reqs_log_normal(struct wdc_ocp_C5_unsupported_reqs *log_data) { int j; printf("Unsupported Requirements/C5 Log Page Data \n"); @@ -6393,7 +6392,7 @@ return 0; } -static int wdc_print_error_rec_log(int fd, struct wdc_ocp_c1_error_recovery_log *log_data, int fmt) +static int wdc_print_error_rec_log(struct wdc_ocp_c1_error_recovery_log *log_data, int fmt) { if (!log_data) { fprintf(stderr, "ERROR : WDC : Invalid C1 log data buffer\n"); @@ -6401,7 +6400,7 @@ } switch (fmt) { case NORMAL: - wdc_print_error_rec_log_normal(fd, log_data); + wdc_print_error_rec_log_normal(log_data); break; case JSON: wdc_print_error_rec_log_json(log_data); @@ -6410,7 +6409,7 @@ return 0; } -static int wdc_print_dev_cap_log(int fd, struct wdc_ocp_C4_dev_cap_log *log_data, int fmt) +static int wdc_print_dev_cap_log(struct wdc_ocp_C4_dev_cap_log *log_data, int fmt) { if (!log_data) { fprintf(stderr, "ERROR : WDC : Invalid C4 log data buffer\n"); @@ -6418,7 +6417,7 @@ } switch (fmt) { case NORMAL: - wdc_print_dev_cap_log_normal(fd, log_data); + wdc_print_dev_cap_log_normal(log_data); break; case JSON: wdc_print_dev_cap_log_json(log_data); @@ -6427,7 +6426,7 @@ return 0; } -static int wdc_print_unsupported_reqs_log(int fd, struct wdc_ocp_C5_unsupported_reqs *log_data, int fmt) +static int wdc_print_unsupported_reqs_log(struct wdc_ocp_C5_unsupported_reqs *log_data, int fmt) { if (!log_data) { fprintf(stderr, "ERROR : WDC : Invalid C5 log data buffer\n"); @@ -6435,7 +6434,7 @@ } switch (fmt) { case NORMAL: - wdc_print_unsupported_reqs_log_normal(fd, log_data); + wdc_print_unsupported_reqs_log_normal(log_data); break; case JSON: wdc_print_unsupported_reqs_log_json(log_data); @@ -6839,7 +6838,7 @@ } /* parse the data */ - wdc_print_error_rec_log(fd, log_data, fmt); + wdc_print_error_rec_log(log_data, fmt); } else { fprintf(stderr, "ERROR : WDC : Unable to read error recovery (C1) data from buffer\n"); } @@ -6908,7 +6907,7 @@ } /* parse the data */ - wdc_print_dev_cap_log(fd, log_data, fmt); + wdc_print_dev_cap_log(log_data, fmt); } else { fprintf(stderr, "ERROR : WDC : Unable to read device capabilities (C4) data from buffer\n"); } @@ -6977,7 +6976,7 @@ } /* parse the data */ - wdc_print_unsupported_reqs_log(fd, log_data, fmt); + wdc_print_unsupported_reqs_log(log_data, fmt); } else { fprintf(stderr, "ERROR : WDC : Unable to read unsupported requirements (C5) data from buffer\n"); } @@ -8732,7 +8731,6 @@ memset(tarFiles,0,sizeof(tarFiles)); memset(tarCmd,0,sizeof(tarCmd)); memset(&timeInfo,0,sizeof(timeInfo)); - memset(&vuLogInput, 0, sizeof(vuLogInput)); if (wdc_get_serial_and_fw_rev(fd, (char *)idSerialNo, (char *)idFwRev)) { diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/nvme-cli-2.1.1/wrapper.c new/nvme-cli-2.1.2/wrapper.c --- old/nvme-cli-2.1.1/wrapper.c 2022-08-01 17:39:47.000000000 +0200 +++ new/nvme-cli-2.1.2/wrapper.c 2022-08-11 15:07:35.000000000 +0200 @@ -1,4 +1,4 @@ -// SPDX-License-Identifier: GPL-2.0-only +// SPDX-License-Identifier: GPL-2.0-or-later /* * This file is part of nvme-cli * @@ -9,21 +9,34 @@ #include <libnvme.h> -const char * __attribute__((weak)) nvme_get_version(enum nvme_version type) -{ - const char *(*libnvme_get_version)(enum nvme_version type); +#define PROTO(args...) args +#define ARGS(args...) args - libnvme_get_version = dlsym(RTLD_NEXT, "nvme_get_version"); - - if (libnvme_get_version) - return libnvme_get_version(type); - - return "n/a"; +#define VOID_FN(name, proto, args) \ +void __attribute__((weak)) name(proto) \ +{ \ + void (*fn)(proto); \ + fn = dlsym(RTLD_NEXT, #name); \ + if (fn) \ + fn(args); \ } -void __attribute__((weak)) -nvme_init_copy_range_f1(struct nvme_copy_range_f1 *copy, __u16 *nlbs, - __u64 *slbas, __u64 *eilbrts, __u32 *elbatms, - __u32 *elbats, __u16 nr) -{ +#define FN(name, rtype, proto, args, fallback) \ +rtype __attribute__((weak)) name(proto) \ +{ \ + rtype (*fn)(proto); \ + fn = dlsym(RTLD_NEXT, #name); \ + if (fn) \ + return fn(args); \ + return fallback; \ } + +FN(nvme_get_version, + const char *, PROTO(enum nvme_version type), + ARGS(type), "n/a") + +VOID_FN(nvme_init_copy_range_f1, + PROTO(struct nvme_copy_range_f1 *copy, __u16 *nlbs, + __u64 *slbas, __u64 *eilbrts, __u32 *elbatms, + __u32 *elbats, __u16 nr), + ARGS(copy, nlbs, slbas, eilbrts, elbatms, elbats, nr)) ++++++ nvme-cli.obsinfo ++++++ --- /var/tmp/diff_new_pack.gBGwZO/_old 2022-08-19 17:54:11.211812191 +0200 +++ /var/tmp/diff_new_pack.gBGwZO/_new 2022-08-19 17:54:11.215812200 +0200 @@ -1,5 +1,5 @@ name: nvme-cli -version: 2.1.1 -mtime: 1659368387 -commit: 972f9f76bca4238f7a19e89de313c97fbe4b0163 +version: 2.1.2 +mtime: 1660223255 +commit: 93dd92fefd36581fc795909ed4a1b07e23e92acc