Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package multipath-tools for openSUSE:Factory
checked in at 2023-03-17 17:02:28
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/multipath-tools (Old)
and /work/SRC/openSUSE:Factory/.multipath-tools.new.31432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "multipath-tools"
Fri Mar 17 17:02:28 2023 rev:151 rq:1072177 version:0.9.4+79+suse.25c23a9
Changes:
--------
--- /work/SRC/openSUSE:Factory/multipath-tools/multipath-tools.changes
2023-01-26 14:04:06.530123706 +0100
+++
/work/SRC/openSUSE:Factory/.multipath-tools.new.31432/multipath-tools.changes
2023-03-17 17:02:59.717282057 +0100
@@ -1,0 +2,11 @@
+Wed Mar 15 17:07:57 UTC 2023 - Martin Wilck <[email protected]>
+
+- Update to version 0.9.4+79+suse.25c23a9:
+ * fix multipath-tools build with liburcu 0.14.0
+- Upstream bug fixes:
+ * libmultipath: return 'pending' state when port is in transition
+ * multipath.rules: fix "smart" bug with failed valid path check
+ * libmpathpersist: fix resource leak in update_map_pr()
+ * libmultipath: keep renames from stopping other multipath actions
+
+-------------------------------------------------------------------
Old:
----
multipath-tools-0.9.4+68+suse.98559ea.obscpio
New:
----
multipath-tools-0.9.4+79+suse.25c23a9.obscpio
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ multipath-tools.spec ++++++
--- /var/tmp/diff_new_pack.EvaYxL/_old 2023-03-17 17:03:00.489286102 +0100
+++ /var/tmp/diff_new_pack.EvaYxL/_new 2023-03-17 17:03:00.493286123 +0100
@@ -35,7 +35,7 @@
%define libdmmp_version %(echo %{_libdmmp_version} | tr . _)
Name: multipath-tools
-Version: 0.9.4+68+suse.98559ea
+Version: 0.9.4+79+suse.25c23a9
Release: 0
Summary: Tools to Manage Multipathed Devices with the device-mapper
License: GPL-2.0-only AND GPL-3.0-or-later
++++++ _servicedata ++++++
--- /var/tmp/diff_new_pack.EvaYxL/_old 2023-03-17 17:03:00.529286312 +0100
+++ /var/tmp/diff_new_pack.EvaYxL/_new 2023-03-17 17:03:00.533286333 +0100
@@ -1,6 +1,6 @@
<servicedata>
<service name="tar_scm">
<param
name="url">https://github.com/openSUSE/multipath-tools.git</param>
- <param
name="changesrevision">98559ea17f6ec40a8ef63c383f66ad1e00aed0d5</param></service></servicedata>
+ <param
name="changesrevision">25c23a9f00ce3a919e9c00c053a25540de58b15e</param></service></servicedata>
(No newline at EOF)
++++++ multipath-tools-0.9.4+68+suse.98559ea.obscpio ->
multipath-tools-0.9.4+79+suse.25c23a9.obscpio ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/multipath-tools-0.9.4+68+suse.98559ea/libmpathpersist/mpath_persist_int.c
new/multipath-tools-0.9.4+79+suse.25c23a9/libmpathpersist/mpath_persist_int.c
---
old/multipath-tools-0.9.4+68+suse.98559ea/libmpathpersist/mpath_persist_int.c
2023-01-25 15:58:05.000000000 +0100
+++
new/multipath-tools-0.9.4+79+suse.25c23a9/libmpathpersist/mpath_persist_int.c
2023-03-15 18:03:57.000000000 +0100
@@ -733,7 +733,7 @@
int noisy=0;
struct prin_resp *resp;
unsigned int i;
- int ret, isFound;
+ int ret = MPATH_PR_OTHER, isFound;
if (!get_be64(mpp->reservation_key))
{
@@ -754,7 +754,7 @@
{
condlog(0,"%s: No available paths to check pr status",
mpp->alias);
- return MPATH_PR_OTHER;
+ goto out;
}
mpp->prflag = PRFLAG_UNSET;
ret = mpath_prin_activepath(mpp, MPATH_PRIN_RKEY_SA, resp, noisy);
@@ -762,15 +762,15 @@
if (ret != MPATH_PR_SUCCESS )
{
condlog(0,"%s : pr in read keys service action failed
Error=%d", mpp->alias, ret);
- free(resp);
- return ret;
+ goto out;
}
+ ret = MPATH_PR_SUCCESS;
+
if (resp->prin_descriptor.prin_readkeys.additional_length == 0 )
{
condlog(3,"%s: No key found. Device may not be registered. ",
mpp->alias);
- free(resp);
- return MPATH_PR_SUCCESS;
+ goto out;
}
condlog(2, "%s: Multipath reservation_key: 0x%" PRIx64 " ", mpp->alias,
@@ -795,6 +795,7 @@
condlog(2, "%s: prflag flag set.", mpp->alias );
}
+out:
free(resp);
- return MPATH_PR_SUCCESS;
+ return ret;
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/multipath-tools-0.9.4+68+suse.98559ea/libmultipath/checkers/tur.c
new/multipath-tools-0.9.4+79+suse.25c23a9/libmultipath/checkers/tur.c
--- old/multipath-tools-0.9.4+68+suse.98559ea/libmultipath/checkers/tur.c
2023-01-25 15:58:05.000000000 +0100
+++ new/multipath-tools-0.9.4+79+suse.25c23a9/libmultipath/checkers/tur.c
2023-03-15 18:03:57.000000000 +0100
@@ -32,6 +32,7 @@
MSG_TUR_RUNNING = CHECKER_FIRST_MSGID,
MSG_TUR_TIMEOUT,
MSG_TUR_FAILED,
+ MSG_TUR_TRANSITIONING,
};
#define _IDX(x) (MSG_ ## x - CHECKER_FIRST_MSGID)
@@ -39,6 +40,7 @@
[_IDX(TUR_RUNNING)] = " still running",
[_IDX(TUR_TIMEOUT)] = " timed out",
[_IDX(TUR_FAILED)] = " failed to initialize",
+ [_IDX(TUR_TRANSITIONING)] = " reports path is transitioning",
NULL,
};
@@ -179,13 +181,20 @@
else if (key == 0x2) {
/* Not Ready */
/* Note: Other ALUA states are either UP or DOWN */
- if( asc == 0x04 && ascq == 0x0b){
+ if (asc == 0x04 && ascq == 0x0b) {
/*
* LOGICAL UNIT NOT ACCESSIBLE,
* TARGET PORT IN STANDBY STATE
*/
*msgid = CHECKER_MSGID_GHOST;
return PATH_GHOST;
+ } else if (asc == 0x04 && ascq == 0x0a) {
+ /*
+ * LOGICAL UNIT NOT ACCESSIBLE,
+ * ASYMMETRIC ACCESS STATE TRANSITION
+ */
+ *msgid = MSG_TUR_TRANSITIONING;
+ return PATH_PENDING;
}
}
*msgid = CHECKER_MSGID_DOWN;
@@ -350,6 +359,7 @@
condlog(3, "%d:%d : tur checker not finished",
major(ct->devt), minor(ct->devt));
tur_status = PATH_PENDING;
+ c->msgid = MSG_TUR_RUNNING;
} else {
/* TUR checker done */
ct->thread = 0;
@@ -390,13 +400,17 @@
* It fails only in OOM situations. In this case, return
* PATH_UNCHECKED to avoid prematurely failing the path.
*/
- if (libcheck_init(c) != 0)
+ if (libcheck_init(c) != 0) {
+ c->msgid = MSG_TUR_FAILED;
return PATH_UNCHECKED;
+ }
((struct tur_checker_context *)c->context)->nr_timeouts
= ct->nr_timeouts;
- if (!uatomic_sub_return(&ct->holders, 1))
+ if (!uatomic_sub_return(&ct->holders, 1)) {
/* It did terminate, eventually */
cleanup_context(ct);
+ ((struct tur_checker_context
*)c->context)->nr_timeouts = 0;
+ }
ct = c->context;
} else
@@ -404,7 +418,7 @@
/* Start new TUR checker */
pthread_mutex_lock(&ct->lock);
tur_status = ct->state = PATH_PENDING;
- ct->msgid = CHECKER_MSGID_NONE;
+ c->msgid = ct->msgid = MSG_TUR_RUNNING;
pthread_mutex_unlock(&ct->lock);
ct->fd = c->fd;
ct->timeout = c->timeout;
@@ -424,7 +438,7 @@
}
tur_timeout(&tsp);
pthread_mutex_lock(&ct->lock);
- if (ct->state == PATH_PENDING)
+ if (ct->state == PATH_PENDING && ct->msgid == MSG_TUR_RUNNING)
r = pthread_cond_timedwait(&ct->active, &ct->lock,
&tsp);
if (!r) {
@@ -432,7 +446,7 @@
c->msgid = ct->msgid;
}
pthread_mutex_unlock(&ct->lock);
- if (tur_status == PATH_PENDING) {
+ if (tur_status == PATH_PENDING && c->msgid == MSG_TUR_RUNNING) {
condlog(4, "%d:%d : tur checker still running",
major(ct->devt), minor(ct->devt));
} else {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/multipath-tools-0.9.4+68+suse.98559ea/libmultipath/configure.c
new/multipath-tools-0.9.4+79+suse.25c23a9/libmultipath/configure.c
--- old/multipath-tools-0.9.4+68+suse.98559ea/libmultipath/configure.c
2023-01-25 15:58:05.000000000 +0100
+++ new/multipath-tools-0.9.4+79+suse.25c23a9/libmultipath/configure.c
2023-03-15 18:03:57.000000000 +0100
@@ -671,7 +671,8 @@
static void
select_reload_action(struct multipath *mpp, const char *reason)
{
- mpp->action = ACT_RELOAD;
+ mpp->action = mpp->action == ACT_RENAME ? ACT_RELOAD_RENAME :
+ ACT_RELOAD;
condlog(3, "%s: set ACT_RELOAD (%s)", mpp->alias, reason);
}
@@ -682,42 +683,33 @@
struct multipath * cmpp_by_name;
char * mpp_feat, * cmpp_feat;
+ mpp->action = ACT_NOTHING;
cmpp = find_mp_by_wwid(curmp, mpp->wwid);
cmpp_by_name = find_mp_by_alias(curmp, mpp->alias);
if (mpp->need_reload || (cmpp && cmpp->need_reload))
force_reload = 1;
- if (!cmpp_by_name) {
- if (cmpp) {
- condlog(2, "%s: rename %s to %s", mpp->wwid,
- cmpp->alias, mpp->alias);
- strlcpy(mpp->alias_old, cmpp->alias, WWID_SIZE);
- mpp->action = ACT_RENAME;
- if (force_reload) {
- mpp->force_udev_reload = 1;
- mpp->action = ACT_FORCERENAME;
- }
- return;
+ if (!cmpp) {
+ if (cmpp_by_name) {
+ condlog(1, "%s: can't use alias \"%s\" used by %s,
falling back to WWID",
+ mpp->wwid, mpp->alias, cmpp_by_name->wwid);
+ /* We can do this because wwid wasn't found */
+ free(mpp->alias);
+ mpp->alias = strdup(mpp->wwid);
}
mpp->action = ACT_CREATE;
- condlog(3, "%s: set ACT_CREATE (map does not exist)",
- mpp->alias);
+ condlog(3, "%s: set ACT_CREATE (map does not exist%s)",
+ mpp->alias, cmpp_by_name ? ", name changed" : "");
return;
}
- if (!cmpp) {
- condlog(1, "%s: can't use alias \"%s\" used by %s, falling back
to WWID",
- mpp->wwid, mpp->alias, cmpp_by_name->wwid);
- /* We can do this because wwid wasn't found */
- free(mpp->alias);
- mpp->alias = strdup(mpp->wwid);
- mpp->action = ACT_CREATE;
- condlog(3, "%s: set ACT_CREATE (map does not exist, name
changed)",
+ if (!cmpp_by_name) {
+ condlog(2, "%s: rename %s to %s", mpp->wwid, cmpp->alias,
mpp->alias);
- return;
- }
-
- if (cmpp != cmpp_by_name) {
+ strlcpy(mpp->alias_old, cmpp->alias, WWID_SIZE);
+ mpp->action = ACT_RENAME;
+ /* don't return here. Check for other needed actions */
+ } else if (cmpp != cmpp_by_name) {
condlog(2, "%s: unable to rename %s to %s (%s is used by %s)",
mpp->wwid, cmpp->alias, mpp->alias,
mpp->alias, cmpp_by_name->wwid);
@@ -725,29 +717,27 @@
free(mpp->alias);
mpp->alias = strdup(cmpp->alias);
mpp->action = ACT_IMPOSSIBLE;
- return;
+ /* don't return here. Check for other needed actions */
}
- if (force_reload) {
+ if (cmpp->size != mpp->size) {
mpp->force_udev_reload = 1;
- mpp->action = ACT_RELOAD;
- condlog(3, "%s: set ACT_RELOAD (forced by user)",
+ mpp->action = mpp->action == ACT_RENAME ? ACT_RESIZE_RENAME :
+ ACT_RESIZE;
+ condlog(3, "%s: set ACT_RESIZE (size change)",
mpp->alias);
return;
}
- if (cmpp->size != mpp->size) {
+
+ if (force_reload) {
mpp->force_udev_reload = 1;
- mpp->action = ACT_RESIZE;
- condlog(3, "%s: set ACT_RESIZE (size change)",
- mpp->alias);
+ select_reload_action(mpp, "forced by user");
return;
}
if (!is_udev_ready(cmpp) && count_active_paths(mpp) > 0) {
mpp->force_udev_reload = 1;
- mpp->action = ACT_RELOAD;
- condlog(3, "%s: set ACT_RELOAD (udev incomplete)",
- mpp->alias);
+ select_reload_action(mpp, "udev incomplete");
return;
}
@@ -809,14 +799,14 @@
return;
}
if (cmpp->nextpg != mpp->bestpg) {
- mpp->action = ACT_SWITCHPG;
+ mpp->action = mpp->action == ACT_RENAME ? ACT_SWITCHPG_RENAME :
+ ACT_SWITCHPG;
condlog(3, "%s: set ACT_SWITCHPG (next path group change)",
mpp->alias);
return;
}
- mpp->action = ACT_NOTHING;
- condlog(3, "%s: set ACT_NOTHING (map unchanged)",
- mpp->alias);
+ if (mpp->action == ACT_NOTHING)
+ condlog(3, "%s: set ACT_NOTHING (map unchanged)", mpp->alias);
return;
}
@@ -917,6 +907,17 @@
}
}
+ if (mpp->action == ACT_RENAME || mpp->action == ACT_SWITCHPG_RENAME ||
+ mpp->action == ACT_RELOAD_RENAME ||
+ mpp->action == ACT_RESIZE_RENAME) {
+ conf = get_multipath_config();
+ pthread_cleanup_push(put_multipath_config, conf);
+ r = dm_rename(mpp->alias_old, mpp->alias,
+ conf->partition_delim, mpp->skip_kpartx);
+ pthread_cleanup_pop(1);
+ if (r == DOMAP_FAIL)
+ return r;
+ }
switch (mpp->action) {
case ACT_REJECT:
case ACT_NOTHING:
@@ -924,6 +925,7 @@
return DOMAP_EXIST;
case ACT_SWITCHPG:
+ case ACT_SWITCHPG_RENAME:
dm_switchgroup(mpp->alias, mpp->bestpg);
/*
* we may have avoided reinstating paths because there where in
@@ -950,6 +952,7 @@
break;
case ACT_RELOAD:
+ case ACT_RELOAD_RENAME:
sysfs_set_max_sectors_kb(mpp, 1);
if (mpp->ghost_delay_tick > 0 && pathcount(mpp, PATH_UP))
mpp->ghost_delay_tick = 0;
@@ -957,6 +960,7 @@
break;
case ACT_RESIZE:
+ case ACT_RESIZE_RENAME:
sysfs_set_max_sectors_kb(mpp, 1);
if (mpp->ghost_delay_tick > 0 && pathcount(mpp, PATH_UP))
mpp->ghost_delay_tick = 0;
@@ -964,29 +968,10 @@
break;
case ACT_RENAME:
- conf = get_multipath_config();
- pthread_cleanup_push(put_multipath_config, conf);
- r = dm_rename(mpp->alias_old, mpp->alias,
- conf->partition_delim, mpp->skip_kpartx);
- pthread_cleanup_pop(1);
- break;
-
- case ACT_FORCERENAME:
- conf = get_multipath_config();
- pthread_cleanup_push(put_multipath_config, conf);
- r = dm_rename(mpp->alias_old, mpp->alias,
- conf->partition_delim, mpp->skip_kpartx);
- pthread_cleanup_pop(1);
- if (r) {
- sysfs_set_max_sectors_kb(mpp, 1);
- if (mpp->ghost_delay_tick > 0 &&
- pathcount(mpp, PATH_UP))
- mpp->ghost_delay_tick = 0;
- r = dm_addmap_reload(mpp, params, 0);
- }
break;
default:
+ r = DOMAP_FAIL;
break;
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/multipath-tools-0.9.4+68+suse.98559ea/libmultipath/configure.h
new/multipath-tools-0.9.4+79+suse.25c23a9/libmultipath/configure.h
--- old/multipath-tools-0.9.4+68+suse.98559ea/libmultipath/configure.h
2023-01-25 15:58:05.000000000 +0100
+++ new/multipath-tools-0.9.4+79+suse.25c23a9/libmultipath/configure.h
2023-03-15 18:03:57.000000000 +0100
@@ -18,9 +18,11 @@
ACT_RENAME,
ACT_CREATE,
ACT_RESIZE,
- ACT_FORCERENAME,
+ ACT_RELOAD_RENAME,
ACT_DRY_RUN,
ACT_IMPOSSIBLE,
+ ACT_RESIZE_RENAME,
+ ACT_SWITCHPG_RENAME,
};
/*
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/multipath-tools-0.9.4+68+suse.98559ea/multipath/multipath.rules.in
new/multipath-tools-0.9.4+79+suse.25c23a9/multipath/multipath.rules.in
--- old/multipath-tools-0.9.4+68+suse.98559ea/multipath/multipath.rules.in
2023-01-25 15:58:05.000000000 +0100
+++ new/multipath-tools-0.9.4+79+suse.25c23a9/multipath/multipath.rules.in
2023-03-15 18:03:57.000000000 +0100
@@ -31,7 +31,8 @@
# multipath -u sets DM_MULTIPATH_DEVICE_PATH and,
# if "find_multipaths smart", also FIND_MULTIPATHS_WAIT_UNTIL.
-IMPORT{program}="$env{MPATH_SBIN_PATH}/multipath -u %k"
+IMPORT{program}=="$env{MPATH_SBIN_PATH}/multipath -u %k", \
+ ENV{.MPATH_CHECK_PASSED}="1"
# case 1: this is definitely multipath
ENV{DM_MULTIPATH_DEVICE_PATH}=="1", \
@@ -82,10 +83,19 @@
# If timeout hasn't expired but we're not in "maybe" state any more, stop timer
# Do this only once, and only if the timer has been started before
IMPORT{db}="FIND_MULTIPATHS_WAIT_CANCELLED"
-ENV{FIND_MULTIPATHS_WAIT_CANCELLED}!="?*", \
- ENV{FIND_MULTIPATHS_WAIT_UNTIL}=="?*", \
- ENV{FIND_MULTIPATHS_WAIT_UNTIL}!="0", \
- ENV{FIND_MULTIPATHS_WAIT_CANCELLED}="1", \
- RUN+="/usr/bin/systemctl stop cancel-multipath-wait-$kernel.timer"
+ENV{FIND_MULTIPATHS_WAIT_CANCELLED}=="?*", GOTO="end_mpath"
+ENV{FIND_MULTIPATHS_WAIT_UNTIL}!="?*", GOTO="end_mpath"
+ENV{FIND_MULTIPATHS_WAIT_UNTIL}=="0", GOTO="end_mpath"
+
+ENV{FIND_MULTIPATHS_WAIT_CANCELLED}="1"
+RUN+="/usr/bin/systemctl stop cancel-multipath-wait-$kernel.timer"
+
+# If "multipath -u" failed, no values are imported from the program,
+# and we are still using the values for DM_MULTIPATH_DEVICE_PATH and
+# FIND_MULTIPATHS_WAIT_UNTIL that were imported from the database.
+# If we are in "smart" mode, we need to give up on the path now,
+# since this may have been the timeout event. Without the imports
+# from "multipath -u", we can't tell.
+ENV{.MPATH_CHECK_PASSED}!="?*", ENV{DM_MULTIPATH_DEVICE_PATH}="0"
LABEL="end_mpath"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/multipath-tools-0.9.4+68+suse.98559ea/tests/util.c
new/multipath-tools-0.9.4+79+suse.25c23a9/tests/util.c
--- old/multipath-tools-0.9.4+68+suse.98559ea/tests/util.c 2023-01-25
15:58:05.000000000 +0100
+++ new/multipath-tools-0.9.4+79+suse.25c23a9/tests/util.c 2023-03-15
18:03:57.000000000 +0100
@@ -193,7 +193,7 @@
for (j = 0; j < BITARR_SZ; j++) {
for (i = 0; i < 64; i++) {
b = 64 * j + i;
- assert(!is_bit_set_in_bitfield(b, bf));
+ assert_false(is_bit_set_in_bitfield(b, bf));
set_bit_in_bitfield(b, bf);
for (k = 0; k < BITARR_SZ; k++) {
#if 0
@@ -207,13 +207,13 @@
}
for (m = 0; m < 64; m++)
if (i == m)
- assert(is_bit_set_in_bitfield(64 * j +
m,
- bf));
+ assert_true(is_bit_set_in_bitfield(64 *
j + m,
+ bf));
else
- assert(!is_bit_set_in_bitfield(64 * j +
m,
- bf));
+ assert_false(is_bit_set_in_bitfield(64
* j + m,
+ bf));
clear_bit_in_bitfield(b, bf);
- assert(!is_bit_set_in_bitfield(b, bf));
+ assert_false(is_bit_set_in_bitfield(b, bf));
for (k = 0; k < BITARR_SZ; k++)
assert_int_equal(arr[k], 0ULL);
}
@@ -235,16 +235,16 @@
for (j = 0; j < BITARR_SZ; j++) {
for (i = 0; i < 64; i++) {
b = 64 * j + i;
- assert(!is_bit_set_in_bitfield(b, bf));
+ assert_false(is_bit_set_in_bitfield(b, bf));
set_bit_in_bitfield(b, bf);
for (m = 0; m < 64; m++)
if (m <= i)
- assert(is_bit_set_in_bitfield(64 * j +
m,
- bf));
+ assert_true(is_bit_set_in_bitfield(64 *
j + m,
+ bf));
else
- assert(!is_bit_set_in_bitfield(64 * j +
m,
- bf));
- assert(is_bit_set_in_bitfield(b, bf));
+ assert_false(is_bit_set_in_bitfield(64
* j + m,
+
bf));
+ assert_true(is_bit_set_in_bitfield(b, bf));
for (k = 0; k < BITARR_SZ; k++) {
if (k < j || (k == j && i == 63))
assert_int_equal(arr[k], ~0ULL);
@@ -260,16 +260,16 @@
for (j = 0; j < BITARR_SZ; j++) {
for (i = 0; i < 64; i++) {
b = 64 * j + i;
- assert(is_bit_set_in_bitfield(b, bf));
+ assert_true(is_bit_set_in_bitfield(b, bf));
clear_bit_in_bitfield(b, bf);
for (m = 0; m < 64; m++)
if (m <= i)
- assert(!is_bit_set_in_bitfield(64 * j +
m,
- bf));
+ assert_false(is_bit_set_in_bitfield(64
* j + m,
+
bf));
else
- assert(is_bit_set_in_bitfield(64 * j +
m,
- bf));
- assert(!is_bit_set_in_bitfield(b, bf));
+ assert_true(is_bit_set_in_bitfield(64 *
j + m,
+ bf));
+ assert_false(is_bit_set_in_bitfield(b, bf));
for (k = 0; k < BITARR_SZ; k++) {
if (k < j || (k == j && i == 63))
assert_int_equal(arr[k], 0ULL);
@@ -316,9 +316,8 @@
uint32_t *arr;
unsigned int size = maybe_swap_idx((n - 1) / 32) + 1, i;
- assert(sizeof(bitfield_t) == 4 || sizeof(bitfield_t) == 8);
- assert(n <= 64);
- assert(n >= 1);
+ assert_true(sizeof(bitfield_t) == 4 || sizeof(bitfield_t) == 8);
+ assert_in_range(n, 1, 64);
bf = alloc_bitfield(n);
assert_non_null(bf);
@@ -366,8 +365,7 @@
uint32_t *arr;
unsigned int size = maybe_swap_idx((n - 1) / 32) + 1, i;
- assert(n <= 128);
- assert(n >= 65);
+ assert_in_range(n, 65, 128);
bf = alloc_bitfield(n);
assert_non_null(bf);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/multipath-tools-0.9.4+68+suse.98559ea/tests/vpd.c
new/multipath-tools-0.9.4+79+suse.25c23a9/tests/vpd.c
--- old/multipath-tools-0.9.4+68+suse.98559ea/tests/vpd.c 2023-01-25
15:58:05.000000000 +0100
+++ new/multipath-tools-0.9.4+79+suse.25c23a9/tests/vpd.c 2023-03-15
18:03:57.000000000 +0100
@@ -119,7 +119,7 @@
const char *sc;
unsigned char *ds;
- assert(srclen % 2 == 0);
+ assert_true(srclen % 2 == 0);
for (sc = src, ds = dst;
sc < src + srclen && ds < dst + dstlen;
sc += 2, ++ds)
++++++ multipath-tools.obsinfo ++++++
--- /var/tmp/diff_new_pack.EvaYxL/_old 2023-03-17 17:03:00.861288051 +0100
+++ /var/tmp/diff_new_pack.EvaYxL/_new 2023-03-17 17:03:00.865288072 +0100
@@ -1,5 +1,5 @@
name: multipath-tools
-version: 0.9.4+68+suse.98559ea
-mtime: 1674658685
-commit: 98559ea17f6ec40a8ef63c383f66ad1e00aed0d5
+version: 0.9.4+79+suse.25c23a9
+mtime: 1678899837
+commit: 25c23a9f00ce3a919e9c00c053a25540de58b15e