Skip to content

Commit 7e5726b

Browse files
authored
Release 0.14.0
2 parents 28c1134 + 5e308b8 commit 7e5726b

145 files changed

Lines changed: 3001 additions & 921 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.clang-format-ignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
11
Makefile*
2+
libmultipath/dict.c
23
libmultipath/hwtable.c
34
multipathd/cli.h

.github/actions/spelling/expect.txt

Lines changed: 12 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -6,13 +6,15 @@ alloc
66
alltgpt
77
alua
88
aptpl
9+
ASAN
910
ascq
1011
ata
1112
autoconfig
1213
autodetected
1314
autoresize
1415
barbie
1516
BINDIR
17+
bitfield
1618
blkid
1719
bmarzins
1820
Bsymbolic
@@ -58,14 +60,15 @@ EAGAIN
5860
ECKD
5961
emc
6062
Engenio
61-
Equal
6263
EVPD
64+
Exos
6365
failback
6466
failover
6567
fds
6668
fexceptions
6769
FFFFFFFF
6870
fge
71+
fno
6972
followover
7073
forcequeueing
7174
fpin
@@ -77,6 +80,7 @@ getrlimit
7780
getuid
7881
github
7982
gitlab
83+
google
8084
GPT
8185
hbtl
8286
hds
@@ -122,6 +126,7 @@ libudevdir
122126
liburcu
123127
linux
124128
LIO
129+
lld
125130
lpthread
126131
Lun
127132
lvm
@@ -141,13 +146,13 @@ multipathing
141146
multipaths
142147
multiqueue
143148
mwilck
149+
NFINIDAT
144150
NOLOG
145151
nompath
146152
NOSCAN
147153
Nosync
148-
NVMe
149154
nvme
150-
NFINIDAT
155+
Nytro
151156
OBJDEPS
152157
oneshot
153158
ontap
@@ -157,8 +162,10 @@ OPTFLAGS
157162
paramp
158163
partx
159164
pathgroup
165+
pathlist
160166
petabytes
161167
pgpolicy
168+
pgvec
162169
plugindir
163170
PNR
164171
ppc
@@ -193,6 +200,7 @@ rpmbuild
193200
rport
194201
rtpi
195202
rtprio
203+
sanitizers
196204
sas
197205
sbp
198206
scsi
@@ -219,11 +227,11 @@ suse
219227
svg
220228
switchgroup
221229
sys
230+
SYSDIR
222231
sysfs
223232
sysinit
224233
tcp
225234
terabytes
226-
SYSDIR
227235
TESTDEPS
228236
testname
229237
tgill
@@ -240,7 +248,6 @@ udevd
240248
uevent
241249
uid
242250
unitdir
243-
unregistering
244251
unsetmarginal
245252
unsetprkey
246253
unsetprstatus

.github/actions/spelling/patterns.txt

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,11 @@
1010
#commit
1111
\b[0-9a-f]{7}\b
1212

13+
# Generic Hex numbers
14+
\b0x[0-9a-f]{4}\b
15+
\b0x[0-9a-f]{8}\b
16+
\b0x[0-9a-f]{16}\b
17+
1318
# WWNN/WWPN (NAA identifiers)
1419
\b(?:0x)?10[0-9a-f]{14}\b
1520
\b(?:0x|3)?[25][0-9a-f]{15}\b

.github/workflows/abi-stable.yaml

Lines changed: 22 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -15,12 +15,18 @@ on:
1515

1616
jobs:
1717
reference-abi:
18-
runs-on: ubuntu-22.04
18+
runs-on: ubuntu-24.04
1919
steps:
20-
- name: get parent tag
20+
- name: get parent tag (push)
2121
run: >
2222
echo ${{ github.ref }} |
2323
sed -E 's,refs/heads/stable-([0-9]\.[0-9]*)\.y,PARENT_TAG=\1.0,' >> $GITHUB_ENV
24+
if: ${{ github.event_name == 'push' }}
25+
- name: get parent tag (PR)
26+
run: >
27+
echo ${{ github.base_ref }} |
28+
sed -E 's,stable-([0-9]\.[0-9]*)\.y,PARENT_TAG=\1.0,' >> $GITHUB_ENV
29+
if: ${{ github.event_name == 'pull_request' }}
2430
- name: assert parent tag
2531
run: /bin/false
2632
if: ${{ env.PARENT_TAG == '' }}
@@ -32,33 +38,40 @@ jobs:
3238
gcc make pkg-config abigail-tools
3339
libdevmapper-dev libreadline-dev libaio-dev libsystemd-dev
3440
libudev-dev libjson-c-dev liburcu-dev libcmocka-dev libedit-dev
41+
libmount-dev
3542
- name: checkout ${{ env.PARENT_TAG }}
3643
uses: actions/checkout@v4
3744
with:
3845
ref: ${{ env.PARENT_TAG }}
3946
- name: build ABI for ${{ env.PARENT_TAG }}
40-
run: make -j$(grep -c ^processor /proc/cpuinfo) -Orecurse abi
47+
run: make -j$(nproc) -Orecurse abi
4148
- name: save ABI
4249
uses: actions/upload-artifact@v4
4350
with:
4451
name: multipath-abi-${{ env.PARENT_TAG }}
4552
path: abi
4653

4754
check-abi:
48-
runs-on: ubuntu-22.04
55+
runs-on: ubuntu-24.04
4956
needs: reference-abi
5057
steps:
51-
- name: get parent tag
58+
- name: get parent tag (push)
5259
run: >
5360
echo ${{ github.ref }} |
5461
sed -E 's,refs/heads/stable-([0-9]\.[0-9]*)\.y,PARENT_TAG=\1.0,' >> $GITHUB_ENV
62+
if: ${{ github.event_name == 'push' }}
63+
- name: get parent tag (PR)
64+
run: >
65+
echo ${{ github.base_ref }} |
66+
sed -E 's,stable-([0-9]\.[0-9]*)\.y,PARENT_TAG=\1.0,' >> $GITHUB_ENV
67+
if: ${{ github.event_name == 'pull_request' }}
5568
- name: assert parent tag
5669
run: /bin/false
5770
if: ${{ env.PARENT_TAG == '' }}
58-
- name: checkout ${{ env.PARENT_TAG }}
71+
- name: checkout ${{ github.ref }}
5972
uses: actions/checkout@v4
6073
with:
61-
ref: ${{ env.PARENT_TAG }}
74+
ref: ${{ github.ref }}
6275
- name: download ABI for ${{ env.PARENT_TAG }}
6376
id: download_abi
6477
uses: actions/download-artifact@v4
@@ -74,9 +87,10 @@ jobs:
7487
gcc make pkg-config abigail-tools
7588
libdevmapper-dev libreadline-dev libaio-dev libsystemd-dev
7689
libudev-dev libjson-c-dev liburcu-dev libcmocka-dev libedit-dev
90+
libmount-dev
7791
- name: check ABI of ${{ github.ref }} against ${{ env.PARENT_TAG }}
7892
id: check_abi
79-
run: make -j$(grep -c ^processor /proc/cpuinfo) -Orecurse abi-test
93+
run: make -j$(nproc) -Orecurse abi-test
8094
continue-on-error: true
8195
- name: save differences
8296
if: ${{ steps.check_abi.outcome != 'success' }}

.github/workflows/abi.yaml

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ env:
1818

1919
jobs:
2020
save-and-test-ABI:
21-
runs-on: ubuntu-22.04
21+
runs-on: ubuntu-24.04
2222
steps:
2323
- name: set ABI branch
2424
if: ${{ env.ABI_BRANCH == '' }}
@@ -42,8 +42,9 @@ jobs:
4242
gcc make pkg-config abigail-tools
4343
libdevmapper-dev libreadline-dev libaio-dev libsystemd-dev
4444
libudev-dev libjson-c-dev liburcu-dev libcmocka-dev libedit-dev
45+
libmount-dev
4546
- name: create ABI
46-
run: make -Orecurse -j$(grep -c ^processor /proc/cpuinfo) abi.tar.gz
47+
run: make -Orecurse -j$(nproc) abi.tar.gz
4748
- name: save ABI
4849
uses: actions/upload-artifact@v4
4950
with:

.github/workflows/build-and-unittest.yaml

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ on:
1313
- 'stable-*'
1414
jobs:
1515
jammy:
16-
runs-on: ubuntu-22.04
16+
runs-on: ubuntu-24.04
1717
strategy:
1818
fail-fast: false
1919
matrix:
@@ -46,16 +46,16 @@ jobs:
4646
if: ${{ matrix.cc == 'clang' }}
4747
- name: build
4848
run: >
49-
make -Orecurse -j$(grep -c ^processor /proc/cpuinfo)
49+
make -Orecurse -j$(nproc)
5050
READLINE=${{ matrix.rl }} OPTFLAGS="$OPT"
5151
- name: test
5252
run: >
53-
make -Orecurse -j$(grep -c ^processor /proc/cpuinfo)
53+
make -Orecurse -j$(nproc)
5454
OPTFLAGS="$OPT" test
5555
- name: valgrind-test
5656
id: valgrind
5757
run: >
58-
make -Orecurse -j$(grep -c ^processor /proc/cpuinfo)
58+
make -Orecurse -j$(nproc)
5959
OPTFLAGS="$OPT" valgrind-test
6060
continue-on-error: true
6161
- name: valgrind-results
@@ -92,12 +92,12 @@ jobs:
9292
- name: set CC
9393
run: echo CC=${{ matrix.cc }} >> $GITHUB_ENV
9494
- name: build
95-
run: make -Orecurse -j$(grep -c ^processor /proc/cpuinfo) READLINE=${{ matrix.rl }}
95+
run: make -Orecurse -j$(nproc) READLINE=${{ matrix.rl }}
9696
- name: test
97-
run: make -Orecurse -j$(grep -c ^processor /proc/cpuinfo) test
97+
run: make -Orecurse -j$(nproc) test
9898
- name: valgrind-test
9999
id: valgrind
100-
run: make -Orecurse -j$(grep -c ^processor /proc/cpuinfo) valgrind-test
100+
run: make -Orecurse -j$(nproc) valgrind-test
101101
continue-on-error: true
102102
- name: valgrind-results
103103
run: cat tests/*.vgr

.github/workflows/coverity.yaml

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ on:
66

77
jobs:
88
upload-coverity-scan:
9-
runs-on: ubuntu-22.04
9+
runs-on: ubuntu-24.04
1010
steps:
1111
- name: checkout
1212
uses: actions/checkout@v4
@@ -16,6 +16,7 @@ jobs:
1616
gcc make pkg-config
1717
libdevmapper-dev libreadline-dev libaio-dev libsystemd-dev
1818
libudev-dev libjson-c-dev liburcu-dev libcmocka-dev libedit-dev
19+
libmount-dev
1920
- name: download coverity
2021
run: >
2122
curl -o cov-analysis-linux64.tar.gz
@@ -32,7 +33,7 @@ jobs:
3233
- name: build with cov-build
3334
run: >
3435
PATH="$PWD/coverity/bin:$PATH"
35-
cov-build --dir cov-int make -Orecurse -j"$(grep -c ^processor /proc/cpuinfo)"
36+
cov-build --dir cov-int make -Orecurse -j"$(nproc)"
3637
- name: pack results
3738
run: tar cfz multipath-tools.tgz cov-int
3839
- name: submit results

.github/workflows/foreign.yaml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ on:
2727
jobs:
2828

2929
cross-build:
30-
runs-on: ubuntu-22.04
30+
runs-on: ubuntu-24.04
3131
strategy:
3232
fail-fast: false
3333
matrix:
@@ -43,7 +43,7 @@ jobs:
4343
- name: checkout
4444
uses: actions/checkout@v4
4545
- name: build
46-
run: make -j -Orecurse test-progs.tar
46+
run: make -j$(nproc) -Orecurse test-progs.tar
4747
- name: upload binary archive
4848
uses: actions/upload-artifact@v4
4949
with:
@@ -52,7 +52,7 @@ jobs:
5252
overwrite: true
5353

5454
test:
55-
runs-on: ubuntu-22.04
55+
runs-on: ubuntu-24.04
5656
needs: cross-build
5757
strategy:
5858
fail-fast: false
@@ -94,7 +94,7 @@ jobs:
9494
pull-params: "--platform linux/${{ env.CONTAINER_ARCH }}"
9595

9696
root-test:
97-
runs-on: ubuntu-22.04
97+
runs-on: ubuntu-24.04
9898
needs: cross-build
9999
strategy:
100100
fail-fast: false

.github/workflows/multiarch-stable.yaml

Lines changed: 22 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ on:
2626
jobs:
2727

2828
build-old:
29-
runs-on: ubuntu-22.04
29+
runs-on: ubuntu-24.04
3030
strategy:
3131
fail-fast: false
3232
matrix:
@@ -37,14 +37,10 @@ jobs:
3737
- ubuntu-trusty
3838
arch: [386, arm/v7]
3939
include:
40-
- os: debian-trixie
41-
arch: aarch64
4240
- os: debian-trixie
4341
arch: s390x
4442
- os: debian-trixie
4543
arch: ppc64le
46-
- os: debian-bookworm
47-
arch: aarch64
4844
- os: debian-bookworm
4945
arch: s390x
5046
- os: debian-bookworm
@@ -57,6 +53,7 @@ jobs:
5753
with:
5854
image: tonistiigi/binfmt:latest
5955
- name: compile and run unit tests
56+
id: test
6057
uses: mosteo-actions/docker-run@v1
6158
with:
6259
image: ghcr.io/mwilck/multipath-build-${{ matrix.os }}
@@ -65,3 +62,23 @@ jobs:
6562
command: test
6663
params: "--platform linux/${{ matrix.arch }}"
6764
pull-params: "--platform linux/${{ matrix.arch }}"
65+
continue-on-error: true
66+
- name: create binary archive
67+
uses: mosteo-actions/docker-run@v1
68+
with:
69+
image: ghcr.io/mwilck/multipath-build-${{ matrix.os }}
70+
guest-dir: /build
71+
host-dir: ${{ github.workspace }}
72+
command: test-progs.tar
73+
params: "--platform linux/${{ matrix.arch }}"
74+
pull-params: "--platform linux/${{ matrix.arch }}"
75+
if: steps.test.outcome != 'success'
76+
- name: upload binary archive
77+
uses: actions/upload-artifact@v4
78+
with:
79+
name: binaries-${{ matrix.os }}-${{ matrix.arch }}
80+
path: test-progs.tar
81+
if: steps.test.outcome != 'success'
82+
- name: fail
83+
run: /bin/false
84+
if: steps.test.outcome != 'success'

0 commit comments

Comments
 (0)