Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
42 commits
Select commit Hold shift + click to select a range
fa990d1
multipathd: Fix race while registering PR key
bmarzins Nov 7, 2025
5e2fb54
mpathpersist: Fix REPORT CAPABILITIES output
bmarzins Nov 11, 2025
beb6320
GitHub Workflows: abi-stable: fix PARENT_TAG logic for pull request
mwilck Oct 27, 2025
20d0d1d
GitHub workflows: Update runners to ubuntu-24.04
mwilck Nov 14, 2025
f6b0403
GitHub workflows: native.yaml: add fedora-43
mwilck Nov 14, 2025
5108e1a
GitHub workflows: native.yaml: add openSUSE Leap 16.0 and 15.6
mwilck Nov 14, 2025
5222c4a
GitHub workflows: run arm64 tests on native runner
mwilck Nov 14, 2025
10377bc
GitHub workflows: rolling: upload binaries on error
mwilck Nov 17, 2025
adb4cfe
GitHub workflows: multiarch-stable: upload binaries on error
mwilck Nov 17, 2025
718e3fa
GitHub workflows: native: upload binaries on error
mwilck Nov 17, 2025
8a5aa03
GitHub workflows: multiarch: upload binaries on error
mwilck Nov 17, 2025
82a739d
GitHub workflows: use -j$(nproc) consistently
mwilck Nov 17, 2025
547f94e
GitHub workflows: install libmount-dev on Ubuntu
mwilck Nov 17, 2025
83bd049
libdmmp: update man page time stamps
mwilck Nov 21, 2025
3beaa90
multipath-tools: add Seagate Exos and Nytro series to hwtable
xosevp Nov 15, 2025
c3cc3a9
multipath-tools: identify more Storwize models
xosevp Nov 16, 2025
2643e57
multipathd: Dont pthread_join twice
Itxaka Dec 5, 2025
8408e0c
GitHub actions: spelling: ignore generic hex number patterns
mwilck Nov 21, 2025
747323e
libmpathpersist: fix register retry status checking
bmarzins Dec 2, 2025
d57251b
multipath-tools man pages: fix multipathd commands keyword ordering
bmarzins Dec 2, 2025
114c923
multipathd: remember number of registered keys when ioctl fails
bmarzins Dec 2, 2025
824f8e8
libmpathpersist: fix code for skipping multipathd path registration
bmarzins Dec 15, 2025
c81c4b5
libmultipath: Remove the undefined symbol from the linker script
vadorovsky Jan 7, 2026
4a14ccb
multipath-tools: Fix ISO C23 errors with strchr()
mwilck Dec 8, 2025
8bcd56d
libmultipath: don't access path members in free_pgvec()
mwilck Nov 26, 2025
c67aa02
multipathd: join the init_unwinder dummy thread
mwilck Dec 10, 2025
e8ca92a
kpartx: fix some memory leaks
mwilck Dec 10, 2025
1371674
kpartx: avoid double-free of mapname
mwilck Jan 15, 2026
103a9c6
libmultipath: warn only once in scsi_tmo_error_msg()
mwilck Jan 9, 2026
a5dc945
multipath-tools: compile with -fno-strict-aliasing
mwilck Jan 9, 2026
46292af
multipathd: fix an uninitialized variable warning
mwilck Jan 16, 2026
f65e254
Makefiles: add "ASAN=1" make parameter for AddressSanitizer
mwilck Jan 16, 2026
2aa1005
Makefiles: add "OPT=" make parameter
mwilck Jan 16, 2026
6bfac74
multipath-tools tests: suppress a compiler warning for vpd.c
mwilck Jan 19, 2026
8901c17
Makefile: fix CI build errors with cmocka 2.0
mwilck Dec 16, 2025
2c6c68f
GitHub actions: spelling: fix warning about ignore expect variant
mwilck Nov 21, 2025
49acb1b
Spelling: Pull in changes from master branch
mwilck Jan 19, 2026
c268fe1
Update NEWS.md for 0.13.1
mwilck Jan 20, 2026
b19582e
libmultipath: bump version to 0.13.1
mwilck Jan 20, 2026
70addc2
multipathd: finish initalization of paths added while offline
bmarzins Jan 21, 2026
acde27f
multipathd: print path offline message even without a checker
bmarzins Jan 21, 2026
0ce6b0e
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 @@ -58,14 +60,15 @@ EAGAIN
ECKD
emc
Engenio
Equal
EVPD
Exos
failback
failover
fds
fexceptions
FFFFFFFF
fge
fno
followover
forcequeueing
fpin
Expand All @@ -77,6 +80,7 @@ getrlimit
getuid
github
gitlab
google
GPT
hbtl
hds
Expand Down Expand Up @@ -122,6 +126,7 @@ libudevdir
liburcu
linux
LIO
lld
lpthread
Lun
lvm
Expand All @@ -141,13 +146,13 @@ multipathing
multipaths
multiqueue
mwilck
NFINIDAT
NOLOG
nompath
NOSCAN
Nosync
NVMe
nvme
NFINIDAT
Nytro
OBJDEPS
oneshot
ontap
Expand All @@ -157,8 +162,10 @@ OPTFLAGS
paramp
partx
pathgroup
pathlist
petabytes
pgpolicy
pgvec
plugindir
PNR
ppc
Expand Down Expand Up @@ -193,6 +200,7 @@ rpmbuild
rport
rtpi
rtprio
sanitizers
sas
sbp
scsi
Expand All @@ -219,11 +227,11 @@ suse
svg
switchgroup
sys
SYSDIR
sysfs
sysinit
tcp
terabytes
SYSDIR
TESTDEPS
testname
tgill
Expand All @@ -240,7 +248,6 @@ udevd
uevent
uid
unitdir
unregistering
unsetmarginal
unsetprkey
unsetprstatus
Expand All @@ -263,6 +270,7 @@ 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
30 changes: 22 additions & 8 deletions .github/workflows/abi-stable.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -15,12 +15,18 @@ on:

jobs:
reference-abi:
runs-on: ubuntu-22.04
runs-on: ubuntu-24.04
steps:
- name: get parent tag
- name: get parent tag (push)
run: >
echo ${{ github.ref }} |
sed -E 's,refs/heads/stable-([0-9]\.[0-9]*)\.y,PARENT_TAG=\1.0,' >> $GITHUB_ENV
if: ${{ github.event_name == 'push' }}
- name: get parent tag (PR)
run: >
echo ${{ github.base_ref }} |
sed -E 's,stable-([0-9]\.[0-9]*)\.y,PARENT_TAG=\1.0,' >> $GITHUB_ENV
if: ${{ github.event_name == 'pull_request' }}
- name: assert parent tag
run: /bin/false
if: ${{ env.PARENT_TAG == '' }}
Expand All @@ -32,33 +38,40 @@ 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
- name: get parent tag (push)
run: >
echo ${{ github.ref }} |
sed -E 's,refs/heads/stable-([0-9]\.[0-9]*)\.y,PARENT_TAG=\1.0,' >> $GITHUB_ENV
if: ${{ github.event_name == 'push' }}
- name: get parent tag (PR)
run: >
echo ${{ github.base_ref }} |
sed -E 's,stable-([0-9]\.[0-9]*)\.y,PARENT_TAG=\1.0,' >> $GITHUB_ENV
if: ${{ github.event_name == 'pull_request' }}
- name: assert parent tag
run: /bin/false
if: ${{ env.PARENT_TAG == '' }}
- name: checkout ${{ env.PARENT_TAG }}
- name: checkout ${{ github.ref }}
uses: actions/checkout@v4
with:
ref: ${{ env.PARENT_TAG }}
ref: ${{ github.ref }}
- name: download ABI for ${{ env.PARENT_TAG }}
id: download_abi
uses: actions/download-artifact@v4
Expand All @@ -74,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