Recent changes (master)
The following changes since commit b75f951c8635c0718c4b1b756f649ceb53b68481:
Merge branch 'prv-y-verify-bytes-issued' of https://github.com/malikoyv/fio (2026-07-15 12:41:48 -0400)
are available in the Git repository at:
git://git.kernel.dk/fio.git master
for you to fetch changes up to cd29b7a64de2d5462a3b72e46d098679ba16b3f1:
ci: drop Ubuntu container test platforms (2026-07-17 11:43:02 -0400)
----------------------------------------------------------------
Vincent Fu (8):
test: drop scheduled tests
ci: switch from Ubuntu 22.04 to 26.04
fio: fix const char * warning
fio: resolve const char * compiler warnings
ci: use newer platforms for container tests
ci: update platforms for QEMU tests
ci: update macOS platform from macos-15 to macos-26
ci: drop Ubuntu container test platforms
.github/workflows/ci.yml | 26 +++++++++++--------------- .github/workflows/qemu.yml | 4 ++-- ci/actions-build.sh | 10 +++++++++- ci/actions-install.sh | 23 ++++++++++++++--------- ioengines.c | 16 +++++++++++++--- options.c | 2 +- parse.c | 6 +++--- server.c | 2 +- 8 files changed, 54 insertions(+), 35 deletions(-)
---
Diff of recent changes:
.github/workflows/ci.yml +11 -15
@@ -4,8 +4,6 @@ on: push: pull_request: workflow_dispatch: - schedule: - - cron: "35 5 * * *" # 5:35 UTC which is 0:35 ET jobs: build-containers:
@@ -15,13 +13,11 @@ jobs: fail-fast: false matrix: container: - - {os: 'debian', dh: 'debian', ver: 'bookworm', target_arch: 'x86_64'} - - {os: 'fedora', dh: 'fedora', ver: '40', target_arch: 'x86_64'} - - {os: 'alma', dh: 'almalinux', ver: '9', target_arch: 'x86_64'} - - {os: 'oracle', dh: 'oraclelinux', ver: '9', target_arch: 'x86_64'} - - {os: 'rocky', dh: 'rockylinux', ver: '9', target_arch: 'x86_64'} - - {os: 'ubuntu', dh: 'ubuntu', ver: 'noble', target_arch: 'i686'} - - {os: 'ubuntu', dh: 'ubuntu', ver: 'noble', target_arch: 'x86_64'} + - {os: 'debian', dh: 'debian', ver: 'trixie', target_arch: 'x86_64'} + - {os: 'fedora', dh: 'fedora', ver: '44', target_arch: 'x86_64'} + - {os: 'alma', dh: 'almalinux', ver: '10', target_arch: 'x86_64'} + - {os: 'oracle', dh: 'oraclelinux', ver: '10', target_arch: 'x86_64'} + - {os: 'rocky', dh: 'rockylinux/rockylinux', ver: '10', target_arch: 'x86_64'} container: image: ${{ matrix.container.dh }}:${{ matrix.container.ver }}
@@ -59,21 +55,21 @@ jobs: - windows-msys2-64 include: - build: linux-gcc - os: ubuntu-22.04 + os: ubuntu-26.04 cc: gcc - build: linux-clang - os: ubuntu-22.04 + os: ubuntu-26.04 cc: clang - build: macos - os: macos-15 + os: macos-26 - build: linux-i686-gcc - os: ubuntu-22.04 + os: ubuntu-26.04 arch: i686 - build: android - os: ubuntu-22.04 + os: ubuntu-26.04 arch: aarch64-linux-android32 - build: android-recovery - os: ubuntu-22.04 + os: ubuntu-26.04 arch: aarch64-linux-android32 - build: windows-cygwin-64 os: windows-latest
.github/workflows/qemu.yml +2 -2
@@ -7,7 +7,7 @@ on: jobs: qemu-guest: - runs-on: ubuntu-22.04 + runs-on: ubuntu-26.04 strategy: fail-fast: false
@@ -82,7 +82,7 @@ jobs: extra_pkgs: sg3-utils env: - DISTRO: debian-12 + DISTRO: debian-13 SSHCMD: ssh root@localhost -p 2022 SCPCMD: scp -P 2022 CI_TARGET_BUILD: linux
ci/actions-build.sh +9 -1
@@ -38,6 +38,15 @@ main() { ;; esac ;;& + */linux | */ubuntu | */debian | */fedora) + case "${CI_TARGET_ARCH}" in + "x86_64") + configure_flags+=( + "--enable-libiscsi" + ) + ;; + esac + ;;& */linux | */ubuntu | */debian | */fedora | */alma | */oracle | */rocky) case "${CI_TARGET_ARCH}" in "i686")
@@ -46,7 +55,6 @@ main() { ;; "x86_64") configure_flags+=( - "--enable-libiscsi" "--enable-libnbd" ) ;;
ci/actions-install.sh +14 -9
@@ -79,7 +79,8 @@ DPKGCFG # Architecture-independent packages and packages for which we don't # care about the architecture. pkgs+=( - python3-scipy + python3-six + python3-scipy python3-sphinx python3-statsmodels sudo
@@ -113,7 +114,6 @@ install_fedora() { kernel-devel libaio-devel libibverbs-devel - libiscsi-devel libnbd-devel libnfs-devel libpmem-devel
@@ -134,6 +134,7 @@ install_fedora() { cunit-devel libgfapi-devel python3-statsmodels + libiscsi-devel ) ;; "rocky" | "alma" | "oracle")
@@ -141,18 +142,20 @@ install_fedora() { CUnit-devel python-pip ) - ;;& - "rocky" | "alma") - pkgs+=( - glusterfs-api-devel - ) ;; esac dnf install -y "${pkgs[@]}" } install_rhel_clone() { - dnf install -y epel-release + if [ "${CI_TARGET_OS}" == "oracle" ]; then + local ver + ver="${CI_TARGET_OS_VER}" + dnf install -y "oracle-epel-release-el${ver}" + else + dnf install -y epel-release + fi + install_fedora # I could not find a python3-statsmodels package in the repos
@@ -160,7 +163,9 @@ install_rhel_clone() { } install_oracle() { - dnf config-manager --set-enabled ol9_codeready_builder + local ver + ver="${CI_TARGET_OS_VER}" + dnf config-manager --set-enabled "ol${ver}_codeready_builder" install_rhel_clone }
ioengines.c +13 -3
@@ -711,6 +711,7 @@ int fio_show_ioengine_help(const char *engine)struct thread_data td;struct ioengine_ops *io_ops;char *sep; +char *engine_name;int ret =1 ;memset (&td,0 ,sizeof (struct thread_data ));
@@ -724,17 +725,25 @@ int fio_show_ioengine_help(const char *engine) }return 0 ; } - sep =strchr (engine,',' ); + + engine_name =strdup (engine); +if (!engine_name) { +log_err ("fio: out of memory\n" ); +return 1 ; + } + + sep =strchr (engine_name,',' );if (sep) { *sep =0 ; sep++; } - td.o.ioengine = (char *)engine; + td.o.ioengine = engine_name; td.io_ops =load_ioengine (&td);if (!td.io_ops) { -log_info ("IO engine %s not found\n" , engine); +log_info ("IO engine %s not found\n" , engine_name); +free (engine_name);return 1 ; }
@@ -744,5 +753,6 @@ int fio_show_ioengine_help(const char *engine)log_info ("IO engine %s has no options\n" , td.io_ops->name);free_ioengine (&td); +free (engine_name);return ret; }
options.c +1 -1
@@ -34,7 +34,7 @@ static const struct pattern_fmt_desc fmt_desc[] = {*/ static char *get_opt_postfix (const char *str) { -char *p =strstr (str,":" ); +char *p = (char *)strstr (str,":" );if (!p)return NULL ;
parse.c +3 -3
@@ -484,7 +484,7 @@ static size_t opt_len(const char *str)size_t prefix_len =strlen (str);for (i =0 ; i <FIO_ARRAY_SIZE (delimiter); i++) { - postfix =strchr (str, delimiter[i]); + postfix = (char *)strchr (str, delimiter[i]); candidate_len = (size_t )(postfix - str);if (postfix && candidate_len < prefix_len) prefix_len = candidate_len;
@@ -799,7 +799,7 @@ store_option_value:** number of digits after period. Find first ** period in entire remaining list each time */ - cp2 =strchr (ptr,'.' ); + cp2 = (char *)strchr (ptr,'.' );if (cp2 !=NULL ) {int len =0 ;
@@ -850,7 +850,7 @@ store_option_value: ret =0 ;if (vp->cb) fn = vp->cb; - rest =strstr (*cp ?: ptr,":" ); + rest = (char *)strstr (*cp ?: ptr,":" );if (rest) {if (*cp) *rest ='\0' ;
server.c +1 -1
@@ -2702,7 +2702,7 @@ int fio_server_parse_string(const char *str, char **ptr, bool *is_sock,* If no port seen yet, check if there's a last ',' at the end */ if (!lport) { - portp =strchr (host,',' ); + portp = (char *)strchr (host,',' );if (portp) { *portp ='\0' ; portp++;