Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
36 commits
Select commit Hold shift + click to select a range
ae0e625
mpathpersist: Fix REPORT CAPABILITIES output
bmarzins Nov 11, 2025
9359e85
GitHub workflows: Update runners to ubuntu-24.04
mwilck Nov 14, 2025
6c7d25c
GitHub workflows: native.yaml: add fedora-43
mwilck Nov 14, 2025
f50d96b
GitHub workflows: native.yaml: add openSUSE Leap 16.0 and 15.6
mwilck Nov 14, 2025
047b27f
GitHub workflows: run arm64 tests on native runner
mwilck Nov 14, 2025
6b4ff33
GitHub workflows: rolling: upload binaries on error
mwilck Nov 17, 2025
d27fbdd
GitHub workflows: multiarch-stable: upload binaries on error
mwilck Nov 17, 2025
d98b31c
GitHub workflows: native: upload binaries on error
mwilck Nov 17, 2025
4171c52
GitHub workflows: multiarch: upload binaries on error
mwilck Nov 17, 2025
4eac742
GitHub workflows: use -j$(nproc) consistently
mwilck Nov 17, 2025
f6ce7fe
GitHub workflows: install libmount-dev on Ubuntu
mwilck Nov 17, 2025
3e095ea
libdmmp: update man page time stamps
mwilck Nov 21, 2025
39ffee7
multipath-tools: add Seagate Exos and Nytro series to hwtable
xosevp Nov 15, 2025
04acd55
multipath-tools: identify more Storwize models
xosevp Nov 16, 2025
7361bc6
multipathd: Dont pthread_join twice
Itxaka Dec 5, 2025
5bef4d8
GitHub actions: spelling: ignore generic hex number patterns
mwilck Nov 21, 2025
36605ac
libmultipath: Remove the undefined symbol from the linker script
vadorovsky Jan 7, 2026
0678ad9
multipath-tools: Fix ISO C23 errors with strchr()
mwilck Dec 8, 2025
b65f108
Makefile: fix CI build errors with cmocka 2.0
mwilck Dec 16, 2025
02ce277
multipath-tools man pages: fix multipathd commands keyword ordering
bmarzins Dec 2, 2025
80a1ce0
libmultipath: don't access path members in free_pgvec()
mwilck Nov 26, 2025
efb23f5
multipathd: join the init_unwinder dummy thread
mwilck Dec 10, 2025
4f967e2
kpartx: fix some memory leaks
mwilck Dec 10, 2025
b2c4fa4
kpartx: avoid double-free of mapname
mwilck Jan 15, 2026
aaa7074
libmultipath: warn only once in scsi_tmo_error_msg()
mwilck Jan 9, 2026
5fc97b0
multipath-tools: compile with -fno-strict-aliasing
mwilck Jan 9, 2026
6c4608c
multipathd: fix an uninitialized variable warning
mwilck Jan 16, 2026
a6be30e
Makefiles: add "ASAN=1" make parameter for AddressSanitizer
mwilck Jan 16, 2026
7d45220
Makefiles: add "OPT=" make parameter
mwilck Jan 16, 2026
e76073e
multipath-tools tests: suppress a compiler warning for vpd.c
mwilck Jan 19, 2026
5a0a0e9
Spelling: pull in changes from master branch
mwilck Jan 20, 2026
3d232f8
Update NEWS.md for 0.12.2
mwilck Jan 20, 2026
ab0dcc0
libmultipath: bump version to 0.12.2
mwilck Jan 20, 2026
4299f78
multipathd: finish initalization of paths added while offline
bmarzins Jan 21, 2026
2a0a131
multipathd: print path offline message even without a checker
bmarzins Jan 21, 2026
a3c9593
update NEWS.md
mwilck Jan 22, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
18 changes: 13 additions & 5 deletions .github/actions/spelling/expect.txt
Original file line number Diff line number Diff line change
Expand Up @@ -6,13 +6,15 @@ alloc
alltgpt
alua
aptpl
ASAN
ascq
ata
autoconfig
autodetected
autoresize
barbie
BINDIR
bitfield
blkid
bmarzins
Bsymbolic
Expand Down Expand Up @@ -59,12 +61,14 @@ ECKD
emc
Engenio
EVPD
Exos
failback
failover
fds
fexceptions
FFFFFFFF
fge
fno
followover
forcequeueing
fpin
Expand All @@ -76,6 +80,7 @@ getrlimit
getuid
github
gitlab
google
GPT
hbtl
hds
Expand Down Expand Up @@ -121,6 +126,7 @@ libudevdir
liburcu
linux
LIO
lld
lpthread
Lun
lvm
Expand All @@ -140,12 +146,13 @@ multipathing
multipaths
multiqueue
mwilck
NFINIDAT
NOLOG
nompath
NOSCAN
Nosync
nvme
NFINIDAT
Nytro
OBJDEPS
oneshot
ontap
Expand All @@ -155,8 +162,10 @@ OPTFLAGS
paramp
partx
pathgroup
pathlist
petabytes
pgpolicy
pgvec
plugindir
PNR
ppc
Expand Down Expand Up @@ -191,12 +200,12 @@ rpmbuild
rport
rtpi
rtprio
sanitizers
sas
sbp
scsi
SCST
sda
sdc
Seagate
setmarginal
setprkey
Expand All @@ -218,12 +227,11 @@ suse
svg
switchgroup
sys
SYSDIR
sysfs
sysinit
systemd
tcp
terabytes
SYSDIR
TESTDEPS
testname
tgill
Expand Down Expand Up @@ -258,11 +266,11 @@ VNX
vpd
VSN
wakka
watchdogsec
weightedpath
wholedisk
Wilck
wildcards
Wno
workflows
wrt
wwid
Expand Down
5 changes: 5 additions & 0 deletions .github/actions/spelling/patterns.txt
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,11 @@
#commit
\b[0-9a-f]{7}\b

# Generic Hex numbers
\b0x[0-9a-f]{4}\b
\b0x[0-9a-f]{8}\b
\b0x[0-9a-f]{16}\b

# WWNN/WWPN (NAA identifiers)
\b(?:0x)?10[0-9a-f]{14}\b
\b(?:0x|3)?[25][0-9a-f]{15}\b
Expand Down
10 changes: 6 additions & 4 deletions .github/workflows/abi-stable.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ on:

jobs:
reference-abi:
runs-on: ubuntu-22.04
runs-on: ubuntu-24.04
steps:
- name: get parent tag (push)
run: >
Expand All @@ -38,20 +38,21 @@ jobs:
gcc make pkg-config abigail-tools
libdevmapper-dev libreadline-dev libaio-dev libsystemd-dev
libudev-dev libjson-c-dev liburcu-dev libcmocka-dev libedit-dev
libmount-dev
- name: checkout ${{ env.PARENT_TAG }}
uses: actions/checkout@v4
with:
ref: ${{ env.PARENT_TAG }}
- name: build ABI for ${{ env.PARENT_TAG }}
run: make -j$(grep -c ^processor /proc/cpuinfo) -Orecurse abi
run: make -j$(nproc) -Orecurse abi
- name: save ABI
uses: actions/upload-artifact@v4
with:
name: multipath-abi-${{ env.PARENT_TAG }}
path: abi

check-abi:
runs-on: ubuntu-22.04
runs-on: ubuntu-24.04
needs: reference-abi
steps:
- name: get parent tag (push)
Expand Down Expand Up @@ -86,9 +87,10 @@ jobs:
gcc make pkg-config abigail-tools
libdevmapper-dev libreadline-dev libaio-dev libsystemd-dev
libudev-dev libjson-c-dev liburcu-dev libcmocka-dev libedit-dev
libmount-dev
- name: check ABI of ${{ github.ref }} against ${{ env.PARENT_TAG }}
id: check_abi
run: make -j$(grep -c ^processor /proc/cpuinfo) -Orecurse abi-test
run: make -j$(nproc) -Orecurse abi-test
continue-on-error: true
- name: save differences
if: ${{ steps.check_abi.outcome != 'success' }}
Expand Down
5 changes: 3 additions & 2 deletions .github/workflows/abi.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ env:

jobs:
save-and-test-ABI:
runs-on: ubuntu-22.04
runs-on: ubuntu-24.04
steps:
- name: set ABI branch
if: ${{ env.ABI_BRANCH == '' }}
Expand All @@ -42,8 +42,9 @@ jobs:
gcc make pkg-config abigail-tools
libdevmapper-dev libreadline-dev libaio-dev libsystemd-dev
libudev-dev libjson-c-dev liburcu-dev libcmocka-dev libedit-dev
libmount-dev
- name: create ABI
run: make -Orecurse -j$(grep -c ^processor /proc/cpuinfo) abi.tar.gz
run: make -Orecurse -j$(nproc) abi.tar.gz
- name: save ABI
uses: actions/upload-artifact@v4
with:
Expand Down
14 changes: 7 additions & 7 deletions .github/workflows/build-and-unittest.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ on:
- 'stable-*'
jobs:
jammy:
runs-on: ubuntu-22.04
runs-on: ubuntu-24.04
strategy:
fail-fast: false
matrix:
Expand Down Expand Up @@ -46,16 +46,16 @@ jobs:
if: ${{ matrix.cc == 'clang' }}
- name: build
run: >
make -Orecurse -j$(grep -c ^processor /proc/cpuinfo)
make -Orecurse -j$(nproc)
READLINE=${{ matrix.rl }} OPTFLAGS="$OPT"
- name: test
run: >
make -Orecurse -j$(grep -c ^processor /proc/cpuinfo)
make -Orecurse -j$(nproc)
OPTFLAGS="$OPT" test
- name: valgrind-test
id: valgrind
run: >
make -Orecurse -j$(grep -c ^processor /proc/cpuinfo)
make -Orecurse -j$(nproc)
OPTFLAGS="$OPT" valgrind-test
continue-on-error: true
- name: valgrind-results
Expand Down Expand Up @@ -92,12 +92,12 @@ jobs:
- name: set CC
run: echo CC=${{ matrix.cc }} >> $GITHUB_ENV
- name: build
run: make -Orecurse -j$(grep -c ^processor /proc/cpuinfo) READLINE=${{ matrix.rl }}
run: make -Orecurse -j$(nproc) READLINE=${{ matrix.rl }}
- name: test
run: make -Orecurse -j$(grep -c ^processor /proc/cpuinfo) test
run: make -Orecurse -j$(nproc) test
- name: valgrind-test
id: valgrind
run: make -Orecurse -j$(grep -c ^processor /proc/cpuinfo) valgrind-test
run: make -Orecurse -j$(nproc) valgrind-test
continue-on-error: true
- name: valgrind-results
run: cat tests/*.vgr
Expand Down
5 changes: 3 additions & 2 deletions .github/workflows/coverity.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ on:

jobs:
upload-coverity-scan:
runs-on: ubuntu-22.04
runs-on: ubuntu-24.04
steps:
- name: checkout
uses: actions/checkout@v4
Expand All @@ -16,6 +16,7 @@ jobs:
gcc make pkg-config
libdevmapper-dev libreadline-dev libaio-dev libsystemd-dev
libudev-dev libjson-c-dev liburcu-dev libcmocka-dev libedit-dev
libmount-dev
- name: download coverity
run: >
curl -o cov-analysis-linux64.tar.gz
Expand All @@ -32,7 +33,7 @@ jobs:
- name: build with cov-build
run: >
PATH="$PWD/coverity/bin:$PATH"
cov-build --dir cov-int make -Orecurse -j"$(grep -c ^processor /proc/cpuinfo)"
cov-build --dir cov-int make -Orecurse -j"$(nproc)"
- name: pack results
run: tar cfz multipath-tools.tgz cov-int
- name: submit results
Expand Down
8 changes: 4 additions & 4 deletions .github/workflows/foreign.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ on:
jobs:

cross-build:
runs-on: ubuntu-22.04
runs-on: ubuntu-24.04
strategy:
fail-fast: false
matrix:
Expand All @@ -43,7 +43,7 @@ jobs:
- name: checkout
uses: actions/checkout@v4
- name: build
run: make -j -Orecurse test-progs.tar
run: make -j$(nproc) -Orecurse test-progs.tar
- name: upload binary archive
uses: actions/upload-artifact@v4
with:
Expand All @@ -52,7 +52,7 @@ jobs:
overwrite: true

test:
runs-on: ubuntu-22.04
runs-on: ubuntu-24.04
needs: cross-build
strategy:
fail-fast: false
Expand Down Expand Up @@ -94,7 +94,7 @@ jobs:
pull-params: "--platform linux/${{ env.CONTAINER_ARCH }}"

root-test:
runs-on: ubuntu-22.04
runs-on: ubuntu-24.04
needs: cross-build
strategy:
fail-fast: false
Expand Down
27 changes: 22 additions & 5 deletions .github/workflows/multiarch-stable.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ on:
jobs:

build-old:
runs-on: ubuntu-22.04
runs-on: ubuntu-24.04
strategy:
fail-fast: false
matrix:
Expand All @@ -37,14 +37,10 @@ jobs:
- ubuntu-trusty
arch: [386, arm/v7]
include:
- os: debian-trixie
arch: aarch64
- os: debian-trixie
arch: s390x
- os: debian-trixie
arch: ppc64le
- os: debian-bookworm
arch: aarch64
- os: debian-bookworm
arch: s390x
- os: debian-bookworm
Expand All @@ -57,6 +53,7 @@ jobs:
with:
image: tonistiigi/binfmt:latest
- name: compile and run unit tests
id: test
uses: mosteo-actions/docker-run@v1
with:
image: ghcr.io/mwilck/multipath-build-${{ matrix.os }}
Expand All @@ -65,3 +62,23 @@ jobs:
command: test
params: "--platform linux/${{ matrix.arch }}"
pull-params: "--platform linux/${{ matrix.arch }}"
continue-on-error: true
- name: create binary archive
uses: mosteo-actions/docker-run@v1
with:
image: ghcr.io/mwilck/multipath-build-${{ matrix.os }}
guest-dir: /build
host-dir: ${{ github.workspace }}
command: test-progs.tar
params: "--platform linux/${{ matrix.arch }}"
pull-params: "--platform linux/${{ matrix.arch }}"
if: steps.test.outcome != 'success'
- name: upload binary archive
uses: actions/upload-artifact@v4
with:
name: binaries-${{ matrix.os }}-${{ matrix.arch }}
path: test-progs.tar
if: steps.test.outcome != 'success'
- name: fail
run: /bin/false
if: steps.test.outcome != 'success'
Loading