Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package blktests for openSUSE:Factory 
checked in at 2026-06-25 17:13:28
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/blktests (Old)
 and      /work/SRC/openSUSE:Factory/.blktests.new.2088 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "blktests"

Thu Jun 25 17:13:28 2026 rev:14 rq:1361691 version:0+20260623.5a62429

Changes:
--------
--- /work/SRC/openSUSE:Factory/blktests/blktests.changes        2026-04-25 
21:37:23.357816241 +0200
+++ /work/SRC/openSUSE:Factory/.blktests.new.2088/blktests.changes      
2026-06-25 17:13:30.217740903 +0200
@@ -1,0 +2,30 @@
+Wed Jun 25 00:00:00 UTC 2026 - Sebastian Chlad <[email protected]>
+
+- Use %autosetup -p1 instead of explicit %setup + %patch
+
+-------------------------------------------------------------------
+Tue Jun 23 19:06:02 UTC 2026 - Sebastian Chlad <[email protected]>
+
+- Add 0001-tests-md-allow-overriding-minimum-kernel-version-via.patch
+  to allow overriding the minimum kernel version for md tests via
+  BLKTESTS_MD_KVER environment variable, to support distro kernels
+  with backported atomic write support
+
+-------------------------------------------------------------------
+Tue Jun 23 04:32:35 UTC 2026 - Sebastian Chlad <[email protected]>
+
+- Update to version 0+20260623.5a62429:
+  * scsi/009: fix unset bytes_to_write in TEST 8
+  * ublk: mark all tests as QUICK
+  * throtl/008: Add a test for the iocost cgroup controller
+  * nvme/059: fix unset bytes_to_write in TEST 7
+  * common/nvme, nvme/rc: use _set_attr() to trace attribute writes
+  * common/rc: add _set_attr() function to trace attribute writes
+  * check: add --cmd-trace option
+  * nbd/rc: redirect nbd-server stderr
+  * nvme/064, src/nvme-passthrough-meta.c: test a large metadata_len
+  * nvme/068: add a test for multipath delayed removal
+  * loop: add regression test for partscan double-scan race
+  * throtl/{002,003,007}, zbd/014: use _get_page_size to get PAGE_SIZE
+
+-------------------------------------------------------------------

Old:
----
  blktests-0+20260416.1d68a36.tar.xz

New:
----
  0001-tests-md-allow-overriding-minimum-kernel-version-via.patch
  blktests-0+20260623.5a62429.tar.xz

----------(New B)----------
  New:
- Add 0001-tests-md-allow-overriding-minimum-kernel-version-via.patch
  to allow overriding the minimum kernel version for md tests via
----------(New E)----------

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ blktests.spec ++++++
--- /var/tmp/diff_new_pack.Pt54r6/_old  2026-06-25 17:13:31.429782709 +0200
+++ /var/tmp/diff_new_pack.Pt54r6/_new  2026-06-25 17:13:31.429782709 +0200
@@ -17,12 +17,13 @@
 
 
 Name:           blktests
-Version:        0+20260416.1d68a36
+Version:        0+20260623.5a62429
 Release:        0
 Summary:        Linux kernel block layer testing framework
 License:        GPL-2.0-or-later
 URL:            https://github.com/osandov/blktests
 Source:         %{name}-%{version}.tar.xz
+Patch0:         0001-tests-md-allow-overriding-minimum-kernel-version-via.patch
 BuildRequires:  gcc-c++
 %if 0%{?suse_version} > 1500
 BuildRequires:  liburing-devel >= 2.2
@@ -44,7 +45,7 @@
 framework.
 
 %prep
-%autosetup
+%autosetup -p1
 
 %build
 %make_build

++++++ 0001-tests-md-allow-overriding-minimum-kernel-version-via.patch ++++++
>From 12ce6458f01d97ed2070c0d6a415f5d634b5dd53 Mon Sep 17 00:00:00 2001
From: Sebastian Chlad <[email protected]>
Date: Tue, 23 Jun 2026 19:06:02 +0200
Subject: [PATCH] tests/md: allow overriding minimum kernel version via
 BLKTESTS_MD_KVER

The _stacked_atomic_test_requires() function hard-codes a minimum kernel
version of 6.14.0. This is too strict for distros that backport atomic
write support to older kernels (e.g. 6.12-based SLES kernels).

Allow the required version to be overridden via BLKTESTS_MD_KVER so
that the tests can run on such kernels:

  BLKTESTS_MD_KVER="6 12 0" ./check tests/md/

When unset the default of 6 14 0 is preserved.
---
 tests/md/rc | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/tests/md/rc b/tests/md/rc
index efbc234..3f9d442 100644
--- a/tests/md/rc
+++ b/tests/md/rc
@@ -14,7 +14,7 @@ group_requires() {
 }
 
 _stacked_atomic_test_requires() {
-       _have_kver 6 14 0
+       _have_kver ${BLKTESTS_MD_KVER:-6 14 0}
        _have_xfs_io_atomic_write
        _have_driver raid0
        _have_driver raid1
-- 
2.51.0


++++++ _servicedata ++++++
--- /var/tmp/diff_new_pack.Pt54r6/_old  2026-06-25 17:13:31.489784778 +0200
+++ /var/tmp/diff_new_pack.Pt54r6/_new  2026-06-25 17:13:31.493784916 +0200
@@ -3,6 +3,6 @@
                 <param name="url">git://github.com/osandov/blktests</param>
               <param 
name="changesrevision">e10add032819db8f3abf0a9d53f160b7b10cfed8</param></service><service
 name="tar_scm">
                 <param 
name="url">https://github.com/osandov/blktests.git</param>
-              <param 
name="changesrevision">1d68a36e77ef59da81887b1052cee2668aebe41a</param></service></servicedata>
+              <param 
name="changesrevision">5a62429536b11c813b5fbbb8165066709bcee002</param></service></servicedata>
 (No newline at EOF)
 

++++++ blktests-0+20260416.1d68a36.tar.xz -> blktests-0+20260623.5a62429.tar.xz 
++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/blktests-0+20260416.1d68a36/.github/workflows/ci.yml 
new/blktests-0+20260623.5a62429/.github/workflows/ci.yml
--- old/blktests-0+20260416.1d68a36/.github/workflows/ci.yml    2026-04-16 
09:22:38.000000000 +0200
+++ new/blktests-0+20260623.5a62429/.github/workflows/ci.yml    2026-06-22 
23:29:10.000000000 +0200
@@ -10,7 +10,7 @@
         compiler: [gcc, clang]
         arch: [x86_64, x86]
     steps:
-      - uses: actions/checkout@v2
+      - uses: actions/checkout@main
       - name: Install multilib
         run: |
           sudo apt-get update
@@ -28,7 +28,7 @@
   check:
     runs-on: ubuntu-latest
     steps:
-      - uses: actions/checkout@v2
+      - uses: actions/checkout@main
       - name: Install ShellCheck
         run: |
           curl -L 
"https://github.com/koalaman/shellcheck/releases/download/stable/shellcheck-stable.linux.x86_64.tar.xz";
 | tar -xJ shellcheck-stable/shellcheck
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/blktests-0+20260416.1d68a36/check 
new/blktests-0+20260623.5a62429/check
--- old/blktests-0+20260416.1d68a36/check       2026-04-16 09:22:38.000000000 
+0200
+++ new/blktests-0+20260623.5a62429/check       2026-06-22 23:29:10.000000000 
+0200
@@ -458,7 +458,17 @@
 
                TIMEFORMAT="%Rs"
                pushd . >/dev/null || return
+               if ((CMD_TRACE)); then
+                       exec 8>"${seqres}.cmdtrace"
+                       export BASH_XTRACEFD=8
+                       set -x
+               fi
                { time "$test_func" >"${seqres}.out" 2>&1; } 
2>"${seqres}.runtime"
+               if ((CMD_TRACE)); then
+                       set +x
+                       unset BASH_XTRACEFD
+                       exec 8>&-
+               fi
                TEST_RUN["exit_status"]=$?
                popd >/dev/null || return
                TEST_RUN["runtime"]="$(cat "${seqres}.runtime")"
@@ -1157,7 +1167,7 @@
 
 _check_dependencies
 
-if ! TEMP=$(getopt -o 'do:q::x:c:h' --long 
'device-only,quick::,exclude:,output:,config:,help' -n "$0" -- "$@"); then
+if ! TEMP=$(getopt -o 'do:q::x:c:th' --long 
'device-only,quick::,exclude:,output:,config:,cmd-trace,help' -n "$0" -- "$@"); 
then
        exit 1
 fi
 
@@ -1165,6 +1175,7 @@
 unset TEMP
 
 LOADED_CONFIG=0
+CMD_TRACE=0
 OPTION_EXCLUDE=()
 while true; do
        case "$1" in
@@ -1192,6 +1203,10 @@
                        LOADED_CONFIG=1
                        shift 2
                        ;;
+               '-t'|'--cmd-trace')
+                       CMD_TRACE=1
+                       shift
+                       ;;
                '-h'|'--help')
                        usage out
                        ;;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/blktests-0+20260416.1d68a36/common/nvme 
new/blktests-0+20260623.5a62429/common/nvme
--- old/blktests-0+20260416.1d68a36/common/nvme 2026-04-16 09:22:38.000000000 
+0200
+++ new/blktests-0+20260623.5a62429/common/nvme 2026-06-22 23:29:10.000000000 
+0200
@@ -268,6 +268,38 @@
        nvme disconnect --device "${ctrl}"
 }
 
+_nvme_disconnect_ctrl_sync() {
+       local ctrl="$1"
+       local subsysnqn="$2"
+
+       _nvme_disconnect_ctrl "${ctrl}"
+
+       for ((i = 0; i < 10; i++)); do
+               _nvme_ctrl_ready "${ctrl}" "${subsysnqn}"
+               if [[ $? -eq 1 ]]; then
+                       break
+               fi
+               sleep .1
+       done
+}
+
+_nvme_wait_subsys_removed() {
+       local subsysnqn="$def_subsysnqn"
+
+       for subsyspath in /sys/class/nvme-subsystem/*; do
+               _subsysnqn=$(cat "${subsyspath}/subsysnqn" 2> /dev/null)
+               if [ "$subsysnqn" == "$_subsysnqn" ]; then
+                       for ((i = 0; i < 10; i++)); do
+                               if [ ! -d "$subsyspath" ]; then
+                                       break
+                               fi
+                               sleep .1
+                       done
+                       break
+               fi
+       done
+}
+
 _nvme_connect_subsys() {
        local subsysnqn="$def_subsysnqn"
        local hostnqn="$def_hostnqn"
@@ -570,18 +602,18 @@
                traddr=$(_fc_traddr $port)
                adrfam="fc"
        fi
-       echo "${trtype}" > "${portcfs}/addr_trtype"
-       echo "${traddr}" > "${portcfs}/addr_traddr"
-       echo "${adrfam}" > "${portcfs}/addr_adrfam"
+       _set_attr "${trtype}" "${portcfs}/addr_trtype"
+       _set_attr "${traddr}" "${portcfs}/addr_traddr"
+       _set_attr "${adrfam}" "${portcfs}/addr_adrfam"
        if [[ "${adrfam}" != "fc" ]] && \
           [[ "${adrfam}" != "loop" ]] ; then
-               echo "${trsvcid}" > "${portcfs}/addr_trsvcid"
+               _set_attr "${trsvcid}" "${portcfs}/addr_trsvcid"
        fi
        if [[ "${trtype}" == "tcp" ]] && \
                   [[ "${tls}" != "none" ]]; then
-               echo "tls1.3" > "${portcfs}/addr_tsas"
+               _set_attr "tls1.3" "${portcfs}/addr_tsas"
                if [[ "${tls}" != "required" ]]; then
-                       echo "not required" > "${portcfs}/addr_treq"
+                       _set_attr "not required" "${portcfs}/addr_treq"
                fi
        fi
        echo "${port}"
@@ -601,7 +633,7 @@
                fi
                mkdir "${anaport}"
        fi
-       echo "${anastate}" > "${anaport}/ana_state"
+       _set_attr "${anastate}" "${anaport}/ana_state"
 }
 
 _remove_nvmet_port() {
@@ -722,19 +754,19 @@
        subsys_path="${NVMET_CFS}/subsystems/${subsysnqn}"
        ns_path="${subsys_path}/namespaces/${nsid}"
        mkdir "${ns_path}"
-       printf "%s" "${blkdev}" > "${ns_path}/device_path"
+       _set_attr "$(printf "%s" "${blkdev}")" "${ns_path}/device_path"
        if [[ -f "${ns_path}/resv_enable" && "${resv_enable}" = true ]] ; then
-               printf 1 > "${ns_path}/resv_enable"
+               _set_attr 1 "${ns_path}/resv_enable"
        fi
        if [[ -n "${uuid}" ]]; then
-               printf "%s" "${uuid}" > "${ns_path}/device_uuid"
+               _set_attr "$(printf "%s" "${uuid}")" "${ns_path}/device_uuid"
        else
                uuid=$(cat "${ns_path}/device_uuid")
        fi
        if (( grpid != 1 )); then
-               printf "%d" "${grpid}" > "${ns_path}/ana_grpid"
+               _set_attr "$(printf "%d" "${grpid}")" "${ns_path}/ana_grpid"
        fi
-       printf 1 > "${ns_path}/enable"
+       _set_attr 1 "${ns_path}/enable"
        echo "${uuid}"
 }
 
@@ -748,7 +780,7 @@
        if [[ ! -d "${ns_path}" ]]; then
                return
        fi
-       echo "${anagrpid}" > "${ns_path}/anagrpid"
+       _set_attr "${anagrpid}" "${ns_path}/anagrpid"
 }
 
 _create_nvmet_subsystem() {
@@ -786,7 +818,7 @@
 
        cfs_path="${NVMET_CFS}/subsystems/${subsystem}"
        mkdir -p "${cfs_path}"
-       echo 0 > "${cfs_path}/attr_allow_any_host"
+       _set_attr 0 "${cfs_path}/attr_allow_any_host"
        if [[ -z "${blkdev}" ]]; then
                return 0
        fi
@@ -825,10 +857,10 @@
        mkdir "${host_path}"
        _add_nvmet_allow_hosts "${nvmet_subsystem}" "${nvmet_hostnqn}"
        if [[ "${nvmet_hostkey}" ]] ; then
-               echo "${nvmet_hostkey}" > "${host_path}/dhchap_key"
+               _set_attr "${nvmet_hostkey}" "${host_path}/dhchap_key"
        fi
        if [[ "${nvmet_ctrlkey}" ]] ; then
-               echo "${nvmet_ctrlkey}" > "${host_path}/dhchap_ctrl_key"
+               _set_attr "${nvmet_ctrlkey}" "${host_path}/dhchap_ctrl_key"
        fi
 }
 
@@ -838,7 +870,7 @@
        local subsys_path="${NVMET_CFS}/subsystems/${nvmet_subsystem}"
        local nvmet_ns_path="${subsys_path}/namespaces/${nsid}"
 
-       echo 0 > "${nvmet_ns_path}/enable"
+       _set_attr 0 "${nvmet_ns_path}/enable"
        rmdir "${nvmet_ns_path}"
 }
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/blktests-0+20260416.1d68a36/common/rc 
new/blktests-0+20260623.5a62429/common/rc
--- old/blktests-0+20260416.1d68a36/common/rc   2026-04-16 09:22:38.000000000 
+0200
+++ new/blktests-0+20260623.5a62429/common/rc   2026-06-22 23:29:10.000000000 
+0200
@@ -117,6 +117,16 @@
        fi
 }
 
+_module_use_count() {
+       local refcnt
+       if [ -f "/sys/module/$1/refcnt" ]; then
+               refcnt="$(cat /sys/module/"$1"/refcnt)"
+               echo "$refcnt"
+               return
+       fi
+       echo ""
+}
+
 _have_module_param() {
         _have_driver "$1" || return
 
@@ -628,6 +638,22 @@
        return 0
 }
 
+_have_systemd_ver() {
+       local required_ver=${1}
+       local ver
+
+       if ! command -v systemctl &>/dev/null; then
+               SKIP_REASONS+=("systemd is not available")
+               return 1
+       fi
+
+       ver=$(systemctl --version | head -1 | sed 's/systemd //;s/[^0-9].*//')
+       if ((ver < required_ver)); then
+               SKIP_REASONS+=("systemd version is older than ${required_ver}")
+               return 1
+       fi
+}
+
 # Run the given command as NORMAL_USER
 _run_user() {
        su "$NORMAL_USER" -c "$1"
@@ -764,3 +790,10 @@
        done
        echo "$ret"
 }
+
+# Write a value to a sysfs/debugfs/configfs attribute. This wrapper is used to
+# trace sysfs/debugfs/configfs attribute writes when the --cmd-trace option is
+# enabled.
+_set_attr() {
+       echo -n "$1" > "$2"
+}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/blktests-0+20260416.1d68a36/src/nvme-passthrough-meta.c 
new/blktests-0+20260623.5a62429/src/nvme-passthrough-meta.c
--- old/blktests-0+20260416.1d68a36/src/nvme-passthrough-meta.c 2026-04-16 
09:22:38.000000000 +0200
+++ new/blktests-0+20260623.5a62429/src/nvme-passthrough-meta.c 2026-06-22 
23:29:10.000000000 +0200
@@ -228,5 +228,13 @@
                return EFAULT;
        }
 
+       cmd.opcode = 1;
+       cmd.metadata_len = 4096 * 20;
+       ret = ioctl(fd, NVME_IOCTL_IO_CMD, &cmd);
+       if (ret == 0) {
+               perror("nvme-write (large metadata_len)");
+               return EFAULT;
+       }
+
        return 0;
 }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/blktests-0+20260416.1d68a36/tests/loop/012 
new/blktests-0+20260623.5a62429/tests/loop/012
--- old/blktests-0+20260416.1d68a36/tests/loop/012      1970-01-01 
01:00:00.000000000 +0100
+++ new/blktests-0+20260623.5a62429/tests/loop/012      2026-06-22 
23:29:10.000000000 +0200
@@ -0,0 +1,77 @@
+#!/bin/bash
+# SPDX-License-Identifier: GPL-3.0+
+# Copyright (C) 2026 Daan De Meyer
+#
+# Regression test for a race between udev and loop_reread_partitions().
+#
+# When LOOP_CONFIGURE is called with LO_FLAGS_PARTSCAN,
+# disk_force_media_change() used to set GD_NEED_PART_SCAN before the
+# uevent was sent. When udev opened the device in response,
+# blkdev_get_whole() would trigger a partition scan, and then
+# loop_reread_partitions() would scan again. The second scan drops all
+# partitions from the first scan before re-adding them, causing
+# partition devices to briefly disappear.
+#
+# Verify that setting up a loop device with partscan does not produce
+# spurious partition add/remove events.
+
+. tests/loop/rc
+
+DESCRIPTION="check for spurious partition removal when partscan is enabled"
+TIMED=1
+
+requires() {
+       _have_program sfdisk
+       _have_systemd_ver 259
+}
+
+test() {
+       echo "Running ${TEST_NAME}"
+
+       truncate -s 3MiB "$TMPDIR/img"
+       sfdisk "$TMPDIR/img" >"$FULL" 2>&1 <<-EOF
+               label: gpt
+               size=1MiB
+       EOF
+
+       local dev
+       dev="$(losetup -f)"
+
+       # Monitor kernel uevents for partition block devices.
+       udevadm monitor --kernel -s block/partition >"$TMPDIR/uevents" 2>&1 &
+       local mon_pid=$!
+       # Give the monitor time to set up its netlink socket.
+       sleep 0.5
+
+       local iterations=0
+       SECONDS=0
+       while ((SECONDS < "${TIMEOUT:-5}")); do
+               if ! losetup -P "$dev" "$TMPDIR/img" 2>>"$FULL"; then
+                       continue
+               fi
+               losetup -d "$dev" 2>>"$FULL"
+               ((iterations++))
+       done
+
+       sleep 0.5
+       kill "$mon_pid"
+       wait "$mon_pid" 2>/dev/null
+
+       # Each setup+teardown cycle should produce exactly one add and one
+       # remove kernel uevent for the partition device. If the race
+       # triggers, a second partition scan produces an extra remove+add
+       # pair, inflating the counts beyond the number of iterations.
+       local name="${dev##*/}"
+       local adds removes
+       adds=$(grep -c "^KERNEL\[.*\] add.*${name}p" "$TMPDIR/uevents")
+       removes=$(grep -c "^KERNEL\[.*\] remove.*${name}p" "$TMPDIR/uevents")
+
+       if ((adds > iterations)); then
+               echo "Fail: $iterations iterations but $adds add events 
(expected $iterations)"
+       fi
+       if ((removes > iterations)); then
+               echo "Fail: $iterations iterations but $removes remove events 
(expected $iterations)"
+       fi
+
+       echo "Test complete"
+}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/blktests-0+20260416.1d68a36/tests/loop/012.out 
new/blktests-0+20260623.5a62429/tests/loop/012.out
--- old/blktests-0+20260416.1d68a36/tests/loop/012.out  1970-01-01 
01:00:00.000000000 +0100
+++ new/blktests-0+20260623.5a62429/tests/loop/012.out  2026-06-22 
23:29:10.000000000 +0200
@@ -0,0 +1,2 @@
+Running loop/012
+Test complete
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/blktests-0+20260416.1d68a36/tests/nbd/rc 
new/blktests-0+20260623.5a62429/tests/nbd/rc
--- old/blktests-0+20260416.1d68a36/tests/nbd/rc        2026-04-16 
09:22:38.000000000 +0200
+++ new/blktests-0+20260623.5a62429/tests/nbd/rc        2026-06-22 
23:29:10.000000000 +0200
@@ -72,7 +72,7 @@
 [export]
 exportname=${TMPDIR}/export
 EOF
-       nbd-server -p "${TMPDIR}/nbd.pid" -C "${TMPDIR}/nbd.conf"
+       nbd-server -p "${TMPDIR}/nbd.pid" -C "${TMPDIR}/nbd.conf" 2> "$FULL"
 
        # Wait for nbd-server start listening the port
        for ((i = 0; i < 100; i++)); do
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/blktests-0+20260416.1d68a36/tests/nvme/059 
new/blktests-0+20260623.5a62429/tests/nvme/059
--- old/blktests-0+20260416.1d68a36/tests/nvme/059      2026-04-16 
09:22:38.000000000 +0200
+++ new/blktests-0+20260623.5a62429/tests/nvme/059      2026-06-22 
23:29:10.000000000 +0200
@@ -134,6 +134,7 @@
 
        test_desc="TEST 7 - perform a pwritev2 with size of 
sysfs_atomic_unit_max_bytes + logical "
        test_desc+="block with RWF_ATOMIC flag - pwritev2 should not be 
successful"
+       bytes_to_write=$(( sysfs_atomic_unit_max_bytes + 
sysfs_logical_block_size ))
        bytes_written=$(run_xfs_io_pwritev2_atomic /dev/"$ns_dev" 
"$bytes_to_write")
        if [ "$bytes_written" = "" ]
        then
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/blktests-0+20260416.1d68a36/tests/nvme/059.out 
new/blktests-0+20260623.5a62429/tests/nvme/059.out
--- old/blktests-0+20260416.1d68a36/tests/nvme/059.out  2026-04-16 
09:22:38.000000000 +0200
+++ new/blktests-0+20260623.5a62429/tests/nvme/059.out  2026-06-22 
23:29:10.000000000 +0200
@@ -5,5 +5,6 @@
 TEST 4 - Verify statx is correctly reporting atomic_unit_min_bytes - pass
 TEST 5 - perform a pwritev2 with size of sysfs_atomic_unit_min_bytes with 
RWF_ATOMIC flag - pwritev2 should  be successful - pass
 TEST 6 - perform a pwritev2 with size of sysfs_atomic_unit_max_bytes with 
RWF_ATOMIC flag - pwritev2 should  be successful - pass
+pwrite: Invalid argument
 TEST 7 - perform a pwritev2 with size of sysfs_atomic_unit_max_bytes + logical 
block with RWF_ATOMIC flag - pwritev2 should not be successful - pass
 Test complete
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/blktests-0+20260416.1d68a36/tests/nvme/068 
new/blktests-0+20260623.5a62429/tests/nvme/068
--- old/blktests-0+20260416.1d68a36/tests/nvme/068      1970-01-01 
01:00:00.000000000 +0100
+++ new/blktests-0+20260623.5a62429/tests/nvme/068      2026-06-22 
23:29:10.000000000 +0200
@@ -0,0 +1,113 @@
+#!/bin/bash
+# SPDX-License-Identifier: GPL-3.0+
+# Copyright (C) 2026 John Garry
+#
+# Test NVMe multipath delayed removal works as expected. This feature was
+# introduced in commit 62188639ec16 ("nvme-multipath: introduce delayed removal
+# of the multipath head node")
+
+. tests/nvme/rc
+. common/xfs
+
+DESCRIPTION="NVMe multipath delayed removal test"
+
+requires() {
+       _nvme_requires
+       _have_loop
+       _have_module_param_value nvme_core multipath Y
+       _require_nvme_trtype_is_fabrics
+}
+
+set_conditions() {
+       _set_nvme_trtype "$@"
+}
+
+_delayed_nvme_reconnect_ctrl() {
+       sleep 1
+       _nvme_connect_subsys
+}
+
+test() {
+       echo "Running ${TEST_NAME}"
+
+       _setup_nvmet
+
+       local nvmedev
+       local ns
+       local bytes_written
+       local refcnt_orig
+       local refcnt
+       _nvmet_target_setup
+
+       _nvme_connect_subsys
+
+       # Part a: Prove that writes fail when no path returns. Any reads or
+       #         writes are queued during the delayed removal period. If no
+       #         paths return before the timer expires, then those IOs should
+       #         fail.
+       #         During the delayed removal period, ensure that the module
+       #         refcnt is incremented, to prove that we cannot remove the
+       #         driver during this period.
+       nvmedev=$(_find_nvme_dev "${def_subsysnqn}")
+       ns=$(_find_nvme_ns "${def_subsys_uuid}")
+       refcnt_orig=$(_module_use_count nvme_core)
+       echo 5 > "/sys/block/${ns}/delayed_removal_secs"
+       _nvme_disconnect_ctrl_sync "${nvmedev}" "${def_subsysnqn}"
+       ns=$(_find_nvme_ns "${def_subsys_uuid}")
+       if [[ "${ns}" = "" ]]; then
+               echo "could not find ns after disconnect"
+       fi
+       refcnt=$(_module_use_count nvme_core)
+       if [ "$refcnt" != "" ] && [ "$refcnt" -le "$refcnt_orig" ]; then
+               echo "module refcount did not increase"
+       fi
+       bytes_written=$(run_xfs_io_pwritev2 /dev/"$ns" 4096)
+       if [ "$bytes_written" == 4096 ]; then
+               echo "wrote successfully after disconnect"
+       fi
+       _nvme_wait_subsys_removed
+       ns=$(_find_nvme_ns "${def_subsys_uuid}")
+       if [[ ! "${ns}" = "" ]]; then
+               echo "found ns after delayed removal"
+       fi
+       refcnt=$(_module_use_count nvme_core)
+       if [ "$refcnt" != "" ] && [ "$refcnt" -ne "$refcnt_orig" ]; then
+               echo "module refcount not as original"
+       fi
+
+       # Part b: Ensure writes for an intermittent disconnect are successful.
+       #         During an intermittent disconnect, any reads or writes
+       #         queued should succeed after a path returns.
+       #         Also ensure module refcount behaviour is as expected, as
+       #         above.
+       _nvme_connect_subsys
+       nvmedev=$(_find_nvme_dev "${def_subsysnqn}")
+       ns=$(_find_nvme_ns "${def_subsys_uuid}")
+       refcnt_orig=$(_module_use_count nvme_core)
+       echo 5 > "/sys/block/${ns}/delayed_removal_secs"
+       _nvme_disconnect_ctrl_sync "${nvmedev}" "${def_subsysnqn}"
+       ns=$(_find_nvme_ns "${def_subsys_uuid}")
+       if [[ "${ns}" = "" ]]; then
+               echo "could not find ns after disconnect"
+       fi
+       _delayed_nvme_reconnect_ctrl "${nvmedev}" &
+       bytes_written=$(run_xfs_io_pwritev2 /dev/"$ns" 4096)
+       if [ "$bytes_written" != 4096 ]; then
+               echo "could not write successfully with reconnect"
+       fi
+       if ! _nvmf_wait_for_state "${def_subsysnqn}" "live" ; then
+               echo "subsystem did not return"
+       fi
+       refcnt=$(_module_use_count nvme_core)
+       if [ "$refcnt" != "" ] && [ "$refcnt" -ne "$refcnt_orig" ]; then
+               echo "module refcount not as original"
+       fi
+
+       # Final tidy-up
+       echo 0 > "/sys/block/${ns}/delayed_removal_secs"
+       nvmedev=$(_find_nvme_dev "${def_subsysnqn}")
+       _nvme_disconnect_ctrl "${nvmedev}"
+       _nvmet_target_cleanup
+
+       echo "Test complete"
+}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/blktests-0+20260416.1d68a36/tests/nvme/068.out 
new/blktests-0+20260623.5a62429/tests/nvme/068.out
--- old/blktests-0+20260416.1d68a36/tests/nvme/068.out  1970-01-01 
01:00:00.000000000 +0100
+++ new/blktests-0+20260623.5a62429/tests/nvme/068.out  2026-06-22 
23:29:10.000000000 +0200
@@ -0,0 +1,3 @@
+Running nvme/068
+pwrite: Input/output error
+Test complete
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/blktests-0+20260416.1d68a36/tests/nvme/rc 
new/blktests-0+20260623.5a62429/tests/nvme/rc
--- old/blktests-0+20260416.1d68a36/tests/nvme/rc       2026-04-16 
09:22:38.000000000 +0200
+++ new/blktests-0+20260623.5a62429/tests/nvme/rc       2026-06-22 
23:29:10.000000000 +0200
@@ -223,12 +223,12 @@
        local passthru_path="${subsys_path}/passthru"
 
        mkdir -p "${subsys_path}"
-       echo 0 > "${subsys_path}/attr_allow_any_host"
+       _set_attr 0 "${subsys_path}/attr_allow_any_host"
 
        _test_dev_nvme_ctrl > "${passthru_path}/device_path"
-       echo 1 > "${passthru_path}/enable"
+       _set_attr 1 "${passthru_path}/enable"
        if [[ -f "${passthru_path}/clear_ids" ]]; then
-               echo 1 > "${passthru_path}/clear_ids"
+               _set_attr 1 "${passthru_path}/clear_ids"
        fi
 }
 
@@ -237,7 +237,7 @@
        local subsys_path="${NVMET_CFS}/subsystems/${nvmet_subsystem}"
        local passthru_path="${subsys_path}/passthru"
 
-       echo 0 > "${passthru_path}/enable"
+       _set_attr 0 "${passthru_path}/enable"
        rm -f "${subsys_path}"/allowed_hosts/*
        rmdir "${subsys_path}"
 }
@@ -247,8 +247,7 @@
        local nvmet_hostkey="$2"
        local cfs_path="${NVMET_CFS}/hosts/${nvmet_hostnqn}"
 
-       echo "${nvmet_hostkey}" > \
-            "${cfs_path}/dhchap_key"
+       _set_attr "${nvmet_hostkey}" "${cfs_path}/dhchap_key"
 }
 
 _set_nvmet_ctrlkey() {
@@ -256,8 +255,7 @@
        local nvmet_ctrlkey="$2"
        local cfs_path="${NVMET_CFS}/hosts/${nvmet_hostnqn}"
 
-       echo "${nvmet_ctrlkey}" > \
-            "${cfs_path}/dhchap_ctrl_key"
+       _set_attr "${nvmet_ctrlkey}" "${cfs_path}/dhchap_ctrl_key"
 }
 
 _set_nvmet_hash() {
@@ -265,8 +263,7 @@
        local nvmet_hash="$2"
        local cfs_path="${NVMET_CFS}/hosts/${nvmet_hostnqn}"
 
-       echo "${nvmet_hash}" > \
-            "${cfs_path}/dhchap_hash"
+       _set_attr "${nvmet_hash}" "${cfs_path}/dhchap_hash"
 }
 
 _set_nvmet_dhgroup() {
@@ -274,8 +271,7 @@
        local nvmet_dhgroup="$2"
        local cfs_path="${NVMET_CFS}/hosts/${nvmet_hostnqn}"
 
-       echo "${nvmet_dhgroup}" > \
-            "${cfs_path}/dhchap_dhgroup"
+       _set_attr "${nvmet_dhgroup}" "${cfs_path}/dhchap_dhgroup"
 }
 
 _enable_nvmet_ns() {
@@ -285,7 +281,7 @@
        cfs_path="${NVMET_CFS}/subsystems/${subsysnqn}"
        ns_path="${cfs_path}/namespaces/${nsid}"
 
-       echo 1 > "${ns_path}/enable"
+       _set_attr 1 "${ns_path}/enable"
 }
 
 _disable_nvmet_ns() {
@@ -295,7 +291,7 @@
        cfs_path="${NVMET_CFS}/subsystems/${subsysnqn}"
        ns_path="${cfs_path}/namespaces/${nsid}"
 
-       echo 0 > "${ns_path}/enable"
+       _set_attr 0 "${ns_path}/enable"
 }
 
 _set_nvmet_ns_uuid() {
@@ -473,8 +469,10 @@
 
 _nvme_passthru_logging_cleanup()
 {
-       echo "$ctrl_dev_passthru_logging" > 
/sys/class/nvme/"$2"/passthru_err_log_enabled
-       echo "$ns_dev_passthru_logging" > 
/sys/class/nvme/"$2"/"$1"/passthru_err_log_enabled
+       _set_attr "$ctrl_dev_passthru_logging" \
+             /sys/class/nvme/"$2"/passthru_err_log_enabled
+       _set_attr "$ns_dev_passthru_logging" \
+             /sys/class/nvme/"$2"/"$1"/passthru_err_log_enabled
 }
 
 _nvme_err_inject_setup()
@@ -495,55 +493,55 @@
         local a
 
         for a in /sys/kernel/debug/"$1"/fault_inject/*; do
-                echo "${NS_DEV_FAULT_INJECT_SAVE[${a}]}" > "${a}"
+                _set_attr "${NS_DEV_FAULT_INJECT_SAVE[${a}]}" "${a}"
         done
 
         for a in /sys/kernel/debug/"$2"/fault_inject/*; do
-                echo "${CTRL_DEV_FAULT_INJECT_SAVE[${a}]}" > "${a}"
+                _set_attr "${CTRL_DEV_FAULT_INJECT_SAVE[${a}]}" "${a}"
         done
 }
 
 _nvme_enable_err_inject()
 {
-        echo "$2" > /sys/kernel/debug/"$1"/fault_inject/verbose
-        echo "$3" > /sys/kernel/debug/"$1"/fault_inject/probability
-        echo "$4" > /sys/kernel/debug/"$1"/fault_inject/dont_retry
-        echo "$5" > /sys/kernel/debug/"$1"/fault_inject/status
-        echo "$6" > /sys/kernel/debug/"$1"/fault_inject/times
+        _set_attr "$2" /sys/kernel/debug/"$1"/fault_inject/verbose
+        _set_attr "$3" /sys/kernel/debug/"$1"/fault_inject/probability
+        _set_attr "$4" /sys/kernel/debug/"$1"/fault_inject/dont_retry
+        _set_attr "$5" /sys/kernel/debug/"$1"/fault_inject/status
+        _set_attr "$6" /sys/kernel/debug/"$1"/fault_inject/times
 }
 
 _nvme_disable_err_inject()
 {
-        echo 0 > /sys/kernel/debug/"$1"/fault_inject/probability
-        echo 0 > /sys/kernel/debug/"$1"/fault_inject/times
+        _set_attr 0 /sys/kernel/debug/"$1"/fault_inject/probability
+        _set_attr 0 /sys/kernel/debug/"$1"/fault_inject/times
 }
 
 _nvme_enable_passthru_admin_error_logging()
 {
-       echo on > /sys/class/nvme/"$1"/passthru_err_log_enabled
+       _set_attr on /sys/class/nvme/"$1"/passthru_err_log_enabled
 }
 
 _nvme_enable_passthru_io_error_logging()
 {
-       echo on > /sys/class/nvme/"$2"/"$1"/passthru_err_log_enabled
+       _set_attr on /sys/class/nvme/"$2"/"$1"/passthru_err_log_enabled
 }
 
 _nvme_disable_passthru_admin_error_logging()
 {
-       echo off > /sys/class/nvme/"$1"/passthru_err_log_enabled
+       _set_attr off /sys/class/nvme/"$1"/passthru_err_log_enabled
 }
 
 _nvme_disable_passthru_io_error_logging()
 {
-       echo off > /sys/class/nvme/"$2"/"$1"/passthru_err_log_enabled
+       _set_attr off /sys/class/nvme/"$2"/"$1"/passthru_err_log_enabled
 }
 
 _nvme_reset_ctrl() {
-       echo 1 > /sys/class/nvme/"$1"/reset_controller
+       _set_attr 1 /sys/class/nvme/"$1"/reset_controller
 }
 
 _nvme_delete_ctrl() {
-       echo 1 > /sys/class/nvme/"$1"/delete_controller
+       _set_attr 1 /sys/class/nvme/"$1"/delete_controller
 }
 
 # Check whether the version of the fio is greater than or equal to $1.$2.$3
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/blktests-0+20260416.1d68a36/tests/scsi/009 
new/blktests-0+20260623.5a62429/tests/scsi/009
--- old/blktests-0+20260416.1d68a36/tests/scsi/009      2026-04-16 
09:22:38.000000000 +0200
+++ new/blktests-0+20260623.5a62429/tests/scsi/009      2026-06-22 
23:29:10.000000000 +0200
@@ -143,6 +143,7 @@
 
        test_desc="TEST 8 - perform a pwritev2 with size of 
sysfs_atomic_unit_max_bytes + 512 "
        test_desc+="bytes with RWF_ATOMIC flag - pwritev2 should not be 
succesful"
+       bytes_to_write=$(( sysfs_atomic_unit_max_bytes + 
sysfs_logical_block_size ))
        bytes_written=$(run_xfs_io_pwritev2_atomic "$TEST_DEV" 
"$bytes_to_write")
        if [ "$bytes_written" = "" ]
        then
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/blktests-0+20260416.1d68a36/tests/scsi/009.out 
new/blktests-0+20260623.5a62429/tests/scsi/009.out
--- old/blktests-0+20260416.1d68a36/tests/scsi/009.out  2026-04-16 
09:22:38.000000000 +0200
+++ new/blktests-0+20260623.5a62429/tests/scsi/009.out  2026-06-22 
23:29:10.000000000 +0200
@@ -6,6 +6,7 @@
 TEST 5 - check statx stx_atomic_write_unit_min - pass
 TEST 6 - check statx stx_atomic_write_unit_max - pass
 TEST 7 - perform a pwritev2 with size of sysfs_atomic_unit_max_bytes with 
RWF_ATOMIC flag - pwritev2 should be succesful - pass
+pwrite: Invalid argument
 TEST 8 - perform a pwritev2 with size of sysfs_atomic_unit_max_bytes + 512 
bytes with RWF_ATOMIC flag - pwritev2 should not be succesful - pass
 TEST 9 - perform a pwritev2 with size of sysfs_atomic_unit_min_bytes with 
RWF_ATOMIC flag - pwritev2 should be succesful - pass
 pwrite: Invalid argument
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/blktests-0+20260416.1d68a36/tests/throtl/002 
new/blktests-0+20260623.5a62429/tests/throtl/002
--- old/blktests-0+20260416.1d68a36/tests/throtl/002    2026-04-16 
09:22:38.000000000 +0200
+++ new/blktests-0+20260623.5a62429/tests/throtl/002    2026-06-22 
23:29:10.000000000 +0200
@@ -21,7 +21,7 @@
        local io_size_kb block_size
        local iops=256
 
-       page_size=$(getconf PAGE_SIZE)
+       page_size=$(_get_page_size)
 
        if ! _set_up_throtl --sector_size "${page_size}"; then
                return 1;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/blktests-0+20260416.1d68a36/tests/throtl/003 
new/blktests-0+20260623.5a62429/tests/throtl/003
--- old/blktests-0+20260416.1d68a36/tests/throtl/003    2026-04-16 
09:22:38.000000000 +0200
+++ new/blktests-0+20260623.5a62429/tests/throtl/003    2026-06-22 
23:29:10.000000000 +0200
@@ -18,7 +18,7 @@
        echo "Running ${TEST_NAME}"
 
        local page_size
-       page_size=$(getconf PAGE_SIZE)
+       page_size=$(_get_page_size)
 
        if ! _set_up_throtl --sector_size "${page_size}"; then
                return 1;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/blktests-0+20260416.1d68a36/tests/throtl/007 
new/blktests-0+20260623.5a62429/tests/throtl/007
--- old/blktests-0+20260416.1d68a36/tests/throtl/007    2026-04-16 
09:22:38.000000000 +0200
+++ new/blktests-0+20260623.5a62429/tests/throtl/007    2026-06-22 
23:29:10.000000000 +0200
@@ -19,7 +19,7 @@
        echo "Running ${TEST_NAME}"
 
        local page_size
-       page_size=$(getconf PAGE_SIZE)
+       page_size=$(_get_page_size)
 
        if ! _set_up_throtl --sector_size "${page_size}"; then
                return 1;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/blktests-0+20260416.1d68a36/tests/throtl/008 
new/blktests-0+20260623.5a62429/tests/throtl/008
--- old/blktests-0+20260416.1d68a36/tests/throtl/008    1970-01-01 
01:00:00.000000000 +0100
+++ new/blktests-0+20260623.5a62429/tests/throtl/008    2026-06-22 
23:29:10.000000000 +0200
@@ -0,0 +1,107 @@
+#!/bin/bash
+# SPDX-License-Identifier: GPL-3.0+
+# Copyright (C) 2026 Google LLC
+#
+# Test cgroup iocost IOPS limiting.
+
+. tests/throtl/rc
+. common/fio
+
+DESCRIPTION="test cgroup iocost controller limits"
+
+requires() {
+       _have_fio
+       _have_kernel_option BLK_CGROUP_IOCOST
+}
+
+set_conditions() {
+       _set_throtl_blkdev_type "$@"
+}
+
+run_test() {
+       # dev_t is global to make it available in the caller.
+       dev_t=$(<"/sys/block/${THROTL_DEV}/dev")
+       if [[ -z "$dev_t" ]]; then
+               echo "Failed to get major:minor for ${THROTL_DEV}"
+               return 1
+       fi
+
+       # Configure iocost controller globally for the device
+       # min=100.00 max=100.00 forces vrate to be fixed at 100%
+       if ! echo "$dev_t enable=1 min=100.00 max=100.00" > 
"$(_cgroup2_base_dir)/io.cost.qos"; then
+               echo "Failed to configure io.cost.qos"
+               return 1
+       fi
+
+       # Limit read iops to 100 and write iops to 10.
+       # Setting rbps/wbps to 0 means they are ignored (costs calculated 
purely based on IOPS)
+       if ! echo "$dev_t ctrl=user model=linear rbps=0 rseqiops=100 
rrandiops=100 wbps=0 wseqiops=10 wrandiops=10" > 
"$(_cgroup2_base_dir)/io.cost.model"; then
+               echo "Failed to configure io.cost.model"
+               return 1
+       fi
+
+       # 1. Run FIO read test
+       local -a FIO_PERF_FIELDS
+       FIO_PERF_FIELDS=("read iops")
+       if ! _fio_perf --bs=4k --rw=randread --name=read-test 
--filename="/dev/${THROTL_DEV}" \
+                       --ioengine=libaio --direct=1 --iodepth=64 --time_based 
--runtime=10 \
+                       --cgroup="blktests/${THROTL_DIR}" &> "${FULL}"; then
+               echo "FIO read test failed"
+               return 1
+       fi
+       cat "$TMPDIR/fio_perf" >> "$FULL"
+       local read_iops=${TEST_RUN["read iops"]}
+       if [[ -z "$read_iops" ]]; then
+               echo "Read IOPS is empty"
+               return 1
+       elif (( "$(echo "$read_iops < 90 || $read_iops > 110" | bc -l)" )); then
+               echo "Read IOPS $read_iops not in expected range [90, 110]"
+               return 1
+       fi
+
+       # 2. Run FIO write test
+       FIO_PERF_FIELDS=("write iops")
+       if ! _fio_perf --bs=4k --rw=randwrite --name=write-test 
--filename="/dev/${THROTL_DEV}" \
+                       --ioengine=libaio --direct=1 --iodepth=64 --time_based 
--runtime=10 \
+                       --cgroup="blktests/${THROTL_DIR}" &> "${FULL}"; then
+               echo "FIO write test failed"
+               return 1
+       fi
+       cat "$TMPDIR/fio_perf" >> "$FULL"
+       local write_iops=${TEST_RUN["write iops"]}
+       if [[ -z "$write_iops" ]]; then
+               echo "Write IOPS is empty"
+               return 1
+       elif (( "$(echo "$write_iops < 8 || $write_iops > 12" | bc -l)" )); then
+               echo "Write IOPS $write_iops not in expected range [8, 12]"
+               return 1
+       fi
+}
+
+test() {
+       local test_status
+
+       echo "Running ${TEST_NAME}"
+
+       if ! _set_up_throtl; then
+               echo "_set_up_throtl failed"
+               return 1
+       fi
+
+       run_test
+       test_status=$?
+
+       if [ -n "$dev_t" ]; then
+               echo "$dev_t enable=0" > "$(_cgroup2_base_dir)/io.cost.qos"
+               echo "$dev_t ctrl=auto" > "$(_cgroup2_base_dir)/io.cost.model"
+       fi
+
+       _clean_up_throtl
+
+       if [ "$test_status" -eq 0 ]; then
+               echo "Test complete"
+       else
+               echo "Test failed"
+               return 1
+       fi
+}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/blktests-0+20260416.1d68a36/tests/throtl/008.out 
new/blktests-0+20260623.5a62429/tests/throtl/008.out
--- old/blktests-0+20260416.1d68a36/tests/throtl/008.out        1970-01-01 
01:00:00.000000000 +0100
+++ new/blktests-0+20260623.5a62429/tests/throtl/008.out        2026-06-22 
23:29:10.000000000 +0200
@@ -0,0 +1,2 @@
+Running throtl/008
+Test complete
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/blktests-0+20260416.1d68a36/tests/ublk/001 
new/blktests-0+20260623.5a62429/tests/ublk/001
--- old/blktests-0+20260416.1d68a36/tests/ublk/001      2026-04-16 
09:22:38.000000000 +0200
+++ new/blktests-0+20260623.5a62429/tests/ublk/001      2026-06-22 
23:29:10.000000000 +0200
@@ -7,6 +7,7 @@
 . tests/ublk/rc
 
 DESCRIPTION="test ublk delete"
+QUICK=1
 
 _run() {
        local type=$1
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/blktests-0+20260416.1d68a36/tests/ublk/002 
new/blktests-0+20260623.5a62429/tests/ublk/002
--- old/blktests-0+20260416.1d68a36/tests/ublk/002      2026-04-16 
09:22:38.000000000 +0200
+++ new/blktests-0+20260623.5a62429/tests/ublk/002      2026-06-22 
23:29:10.000000000 +0200
@@ -7,6 +7,7 @@
 . tests/ublk/rc
 
 DESCRIPTION="test ublk crash with delete after dead confirmation"
+QUICK=1
 
 _run() {
        local type=$1
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/blktests-0+20260416.1d68a36/tests/ublk/003 
new/blktests-0+20260623.5a62429/tests/ublk/003
--- old/blktests-0+20260416.1d68a36/tests/ublk/003      2026-04-16 
09:22:38.000000000 +0200
+++ new/blktests-0+20260623.5a62429/tests/ublk/003      2026-06-22 
23:29:10.000000000 +0200
@@ -7,6 +7,7 @@
 . tests/ublk/rc
 
 DESCRIPTION="test mounting block device exported by ublk"
+QUICK=1
 
 requires() {
        _have_program mkfs.ext4
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/blktests-0+20260416.1d68a36/tests/ublk/004 
new/blktests-0+20260623.5a62429/tests/ublk/004
--- old/blktests-0+20260416.1d68a36/tests/ublk/004      2026-04-16 
09:22:38.000000000 +0200
+++ new/blktests-0+20260623.5a62429/tests/ublk/004      2026-06-22 
23:29:10.000000000 +0200
@@ -7,6 +7,7 @@
 . tests/ublk/rc
 
 DESCRIPTION="test ublk crash with delete just after daemon kill"
+QUICK=1
 
 _run() {
        local type=$1
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/blktests-0+20260416.1d68a36/tests/ublk/005 
new/blktests-0+20260623.5a62429/tests/ublk/005
--- old/blktests-0+20260416.1d68a36/tests/ublk/005      2026-04-16 
09:22:38.000000000 +0200
+++ new/blktests-0+20260623.5a62429/tests/ublk/005      2026-06-22 
23:29:10.000000000 +0200
@@ -9,6 +9,7 @@
 . tests/ublk/rc
 
 DESCRIPTION="test ublk recovery with one time daemon kill"
+QUICK=1
 
 _run() {
        local type=$1
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/blktests-0+20260416.1d68a36/tests/ublk/006 
new/blktests-0+20260623.5a62429/tests/ublk/006
--- old/blktests-0+20260416.1d68a36/tests/ublk/006      2026-04-16 
09:22:38.000000000 +0200
+++ new/blktests-0+20260623.5a62429/tests/ublk/006      2026-06-22 
23:29:10.000000000 +0200
@@ -9,6 +9,7 @@
 . tests/ublk/rc
 
 DESCRIPTION="test ublk recovery with two times daemon kill"
+QUICK=1
 
 _run() {
        local type=$1
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/blktests-0+20260416.1d68a36/tests/zbd/014 
new/blktests-0+20260623.5a62429/tests/zbd/014
--- old/blktests-0+20260416.1d68a36/tests/zbd/014       2026-04-16 
09:22:38.000000000 +0200
+++ new/blktests-0+20260623.5a62429/tests/zbd/014       2026-06-22 
23:29:10.000000000 +0200
@@ -23,7 +23,6 @@
        _have_driver f2fs
        _have_driver null_blk
        _have_program fscrypt
-       _have_program getconf
        _have_program mkfs.f2fs
        for o in BLK_INLINE_ENCRYPTION_FALLBACK FS_ENCRYPTION_INLINE_CRYPT; do
                if ! _check_kernel_option "$o"; then
@@ -112,7 +111,7 @@
        local bio_max_vecs=256
 
        local page_size
-       page_size=$(getconf PAGE_SIZE)
+       page_size=$(_get_page_size)
 
        # In bytes.
        local max_inl_encr_bio_size=$((bio_max_vecs * page_size))

Reply via email to