)]}'
{
  "log": [
    {
      "commit": "555fa9a71803f9666b215a6b0b62bb789b056557",
      "tree": "846e45b538d37cc96502f81ee7d20594d107a580",
      "parents": [
        "c542bafd7b2cc52cb6e6826e2e7ace3b9d148e27"
      ],
      "author": {
        "name": "Shin\u0027ichiro Kawasaki",
        "email": "shinichiro.kawasaki@wdc.com",
        "time": "Tue Jun 30 11:37:14 2026"
      },
      "committer": {
        "name": "Shin\u0027ichiro Kawasaki",
        "email": "shinichiro.kawasaki@wdc.com",
        "time": "Sat Jul 11 11:53:38 2026"
      },
      "message": "nvme/{033,036,037}: skip when the test target namespace has metadata\n\nThe kernel commit c8cdecdb47d3 (\"nvme: core: reject invalid LBA data\nsize from Identify Namespace\") in the v7.2-rc1 tag triggered failures of\nblktests test cases nvme/033, 036 and 037. The failures are observed\nwhen TEST_DEV specifies a NVMe device with metadata. The commit\nintroduced a new check in nvme_update_ns_info_block() to reject invalid\nLBA data size. After this commit, namespaces with zero LBA data size are\nrejected.\n\nAccording to the comment in nvmet_passthru_override_id_ns() in the\nkernel code drivers/nvme/target/passthru.c, \"Presently the NVMEoF target\ncode does not support sending metadata, so we must disable it here\". For\nthat purpose, the function sets the LBA data size to zero for all LBA\nformat (lbaf) entries with metadata. After the trigger commit, these\nentries become invalid for NVMEoF target passthru, then namespaces with\nmetadata are not visible as block devices through the target setup.\n\nThese test cases set up NVMEoF target passthru assuming the namespace\ndevices are visible, so they cannot find the namespaces and fail.\n\nTo avoid the failures, skip the test cases when TEST_DEV has metadata.\n\nSigned-off-by: Shin\u0027ichiro Kawasaki \u003cshinichiro.kawasaki@wdc.com\u003e\n"
    },
    {
      "commit": "c542bafd7b2cc52cb6e6826e2e7ace3b9d148e27",
      "tree": "ab34922865f287372267a3528a536d9a3ed8bfbf",
      "parents": [
        "10f78d6a7ad01058ce4b3d67a9c1d66ebbaf8095"
      ],
      "author": {
        "name": "Mateusz Nowicki",
        "email": "Mateusz.Nowicki@posteo.net",
        "time": "Tue Jun 30 10:19:47 2026"
      },
      "committer": {
        "name": "Shin\u0027ichiro Kawasaki",
        "email": "shinichiro.kawasaki@wdc.com",
        "time": "Wed Jul 08 12:13:31 2026"
      },
      "message": "nvme/039: drain udev events before passthru error injection\n\nWhen run repeatedly, nvme/039 fails intermittently with a regular block\nread error instead of the expected passthru line, e.g.:\n\n  nvme0n1: Read(0x2) @ LBA 0, 8 blocks, Invalid Command Opcode (sct 0x0 / sc 0x1) DNR\n\ninject_write_fault_on_write() writes LBA 0 of the whole-disk device,\nwhose release emits a change uevent that makes udev run blkid, reading\nLBA 0 asynchronously. The following passthru injection arms a one-shot\nfault (times\u003d1); if the stray blkid read races in first it consumes the\nfault and is logged via nvme_log_error() (no cdw fields), so the expected\npassthru line is never emitted and the test fails.\n\nDrain the pending uevent with udevadm settle before the passthru section.\n\nSigned-off-by: Mateusz Nowicki \u003cMateusz.Nowicki@posteo.net\u003e\nSigned-off-by: Shin\u0027ichiro Kawasaki \u003cshinichiro.kawasaki@wdc.com\u003e\n"
    },
    {
      "commit": "10f78d6a7ad01058ce4b3d67a9c1d66ebbaf8095",
      "tree": "3e6b61f4d8fb744df55eaf56c15e50901300bdae",
      "parents": [
        "857698248907f253a29d250d6b0eb609adcd8308"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Tue Jun 30 11:37:03 2026"
      },
      "committer": {
        "name": "Shin\u0027ichiro Kawasaki",
        "email": "shinichiro.kawasaki@wdc.com",
        "time": "Mon Jul 06 00:19:19 2026"
      },
      "message": "block/044: basic block error injection sanity test\n\nTest the basic block layer error injection functionality.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Shin\u0027ichiro Kawasaki \u003cshinichiro.kawasaki@wdc.com\u003e\n"
    },
    {
      "commit": "857698248907f253a29d250d6b0eb609adcd8308",
      "tree": "b4cd161f6e9e0006776b32e549390bebe0848499",
      "parents": [
        "5cc23bc05a33e1c3f8c74231002469cadc92786d"
      ],
      "author": {
        "name": "Jeff Moyer",
        "email": "jmoyer@redhat.com",
        "time": "Thu Jun 18 14:41:51 2026"
      },
      "committer": {
        "name": "Shin\u0027ichiro Kawasaki",
        "email": "shinichiro.kawasaki@wdc.com",
        "time": "Mon Jul 06 00:19:05 2026"
      },
      "message": "common/rc: Fix _get_page_size()\n\nThere is no CONFIG_PAGE_SHIFT stored in /boot/config-`uname -r` on RHEL\nsystems (maybe all systems?).  As a result, tests that make use of\n_get_page_size() were doing the wrong thing.  For example, throtl/002\nused it to calculate I/O sizes for direct IO.  Those sizes ended up not\nbeing a multiple of the logical block size, and hence throtl/002 was\nfailing.\n\nFixes: 8eca9fa (\"common/rc, scsi/011, zbd/010: introduce _page_size_equals() helper\")\nSigned-off-by: Jeff Moyer \u003cjmoyer@redhat.com\u003e\nSigned-off-by: Shin\u0027ichiro Kawasaki \u003cshinichiro.kawasaki@wdc.com\u003e\n"
    },
    {
      "commit": "5cc23bc05a33e1c3f8c74231002469cadc92786d",
      "tree": "b6e92f7a4caf39758711bc8cc361e012bf2d6ba2",
      "parents": [
        "34941855abbfe363b7548559234046f26183f711"
      ],
      "author": {
        "name": "Shin\u0027ichiro Kawasaki",
        "email": "shinichiro.kawasaki@wdc.com",
        "time": "Wed Jun 24 07:18:15 2026"
      },
      "committer": {
        "name": "Shin\u0027ichiro Kawasaki",
        "email": "shinichiro.kawasaki@wdc.com",
        "time": "Mon Jul 06 00:13:44 2026"
      },
      "message": "README.md, check: require getconf\n\nSome test cases use the getconf command to query the page size that the\nkernel supports (e.g. scsi/011, throtl/{002,003,007}, zbd/{010,014}).\nAdd getconf to the list of required commands so its absence is reported\nclearly, and document it as a dependency in README.md.\n\nLink: https://lore.kernel.org/linux-block/ajm1x0koQ4BftBOc@shinmob/\nSigned-off-by: Shin\u0027ichiro Kawasaki \u003cshinichiro.kawasaki@wdc.com\u003e\n"
    },
    {
      "commit": "34941855abbfe363b7548559234046f26183f711",
      "tree": "23cbe195549ded0c05c3504a398d24f2958d8142",
      "parents": [
        "dbff8ef34258dd899423729b29b8527add330307"
      ],
      "author": {
        "name": "Sebastian Chlad",
        "email": "sebastianchlad@gmail.com",
        "time": "Sun Jun 28 12:59:08 2026"
      },
      "committer": {
        "name": "Shin\u0027ichiro Kawasaki",
        "email": "shinichiro.kawasaki@wdc.com",
        "time": "Tue Jun 30 04:42:05 2026"
      },
      "message": "src/Makefile: escape \u0027#\u0027 in HAVE_C_DEF\n\nOlder make versions treat \u0027#\u0027 as a comment, leaving the shell call\nunterminated. Use $(H) instead.\n\nSigned-off-by: Sebastian Chlad \u003csebastian.chlad@suse.com\u003e\nSigned-off-by: Shin\u0027ichiro Kawasaki \u003cshinichiro.kawasaki@wdc.com\u003e\n"
    },
    {
      "commit": "dbff8ef34258dd899423729b29b8527add330307",
      "tree": "0c37aea3bb7422ddabcc1bf33064259c2411787a",
      "parents": [
        "c9813fdb9d7b902c06fabfa5ec5e3d811735c3dc"
      ],
      "author": {
        "name": "Sebastian Chlad",
        "email": "sebastianchlad@gmail.com",
        "time": "Tue Jun 23 03:27:07 2026"
      },
      "committer": {
        "name": "Shin\u0027ichiro Kawasaki",
        "email": "shinichiro.kawasaki@wdc.com",
        "time": "Sun Jun 28 08:22:37 2026"
      },
      "message": "src/miniublk: fall back to legacy opcodes on older kernels\n\nTry ioctl-encoded ADD_DEV and GET_DEV_INFO first; if either fails,\nretry with the legacy raw opcode. After a successful bootstrap\ncommand, derive use_ioctl from UBLK_F_CMD_IOCTL_ENCODE in dev_info.flags\nso all subsequent control and IO commands use the mode reported by the\nkernel.\n\nSigned-off-by: Sebastian Chlad \u003csebastian.chlad@suse.com\u003e\nSigned-off-by: Shin\u0027ichiro Kawasaki \u003cshinichiro.kawasaki@wdc.com\u003e\n"
    },
    {
      "commit": "c9813fdb9d7b902c06fabfa5ec5e3d811735c3dc",
      "tree": "ab5cc8511f233b24dcf31f8ffed5b0b059872b52",
      "parents": [
        "b1f76a7760c253fb014c89fd04a151f28ed1380b"
      ],
      "author": {
        "name": "Sebastian Chlad",
        "email": "sebastianchlad@gmail.com",
        "time": "Tue Jun 23 03:27:06 2026"
      },
      "committer": {
        "name": "Shin\u0027ichiro Kawasaki",
        "email": "shinichiro.kawasaki@wdc.com",
        "time": "Sun Jun 28 08:22:28 2026"
      },
      "message": "src/miniublk: switch to ioctl-encoded ublk commands\n\nKernels built without CONFIG_BLKDEV_UBLK_LEGACY_OPCODES reject the\nlegacy raw UBLK_CMD_* and UBLK_IO_* opcodes. Switch miniublk to use\nthe ioctl-encoded UBLK_U_CMD_* and UBLK_U_IO_* variants defined in\nlinux/ublk_cmd.h instead.\n\nFor IO commands, the ioctl-encoded opcode is used for submission while\n_IOC_NR() extracts the raw NR bits for build_user_data(), keeping the\nuser_data tag encoding intact.\n\nSigned-off-by: Sebastian Chlad \u003csebastian.chlad@suse.com\u003e\nSigned-off-by: Shin\u0027ichiro Kawasaki \u003cshinichiro.kawasaki@wdc.com\u003e\n"
    },
    {
      "commit": "b1f76a7760c253fb014c89fd04a151f28ed1380b",
      "tree": "acacc777e3e1e5ca9a96c5b021b40b69b5bd7af6",
      "parents": [
        "da2affa1a1a6e4c631c8a81534bb28b115d33c5b"
      ],
      "author": {
        "name": "Shin\u0027ichiro Kawasaki",
        "email": "shinichiro.kawasaki@wdc.com",
        "time": "Fri Jun 19 01:33:29 2026"
      },
      "committer": {
        "name": "Shin\u0027ichiro Kawasaki",
        "email": "shinichiro.kawasaki@wdc.com",
        "time": "Thu Jun 25 07:42:53 2026"
      },
      "message": "nvme/060: suppress \"nvme connect\" failure for rdma transport\n\nThe test case nvme/060 often fails for the rdma transport with the\nmessage \"FAIL: nvme connect return error code\":\n\nnvme/060 (tr\u003drdma) (test nvme fabrics target reset)          [failed]\n    runtime  86.258s  ...  23.604s\n    --- tests/nvme/060.out\t2025-08-26 21:28:52.798847739 +0900\n    +++ /home/shin/Blktests/blktests/results/nodev_tr_rdma/nvme/060.out.bad\t2026-06-18 15:36:18.239424796 +0900\n    @@ -1,2 +1,3 @@\n     Running nvme/060\n    +FAIL: nvme connect return error code\n     Test complete\n\nThe test case repeats nvme connect and disconnect while controller\nresets are repeated in parallel. In this situation, connect failures are\nexpected and should not alarm users. Suppress the failure message for\nthe rdma transport.\n\nReviewed-by: Daniel Wagner \u003cdwagner@suse.de\u003e\nSigned-off-by: Shin\u0027ichiro Kawasaki \u003cshinichiro.kawasaki@wdc.com\u003e\n"
    },
    {
      "commit": "da2affa1a1a6e4c631c8a81534bb28b115d33c5b",
      "tree": "4cc1e0e5162e4a590befffd69b6128ba6f2ecefe",
      "parents": [
        "5a62429536b11c813b5fbbb8165066709bcee002"
      ],
      "author": {
        "name": "Shin\u0027ichiro Kawasaki",
        "email": "shinichiro.kawasaki@wdc.com",
        "time": "Fri Jun 19 01:33:28 2026"
      },
      "committer": {
        "name": "Shin\u0027ichiro Kawasaki",
        "email": "shinichiro.kawasaki@wdc.com",
        "time": "Thu Jun 25 07:42:53 2026"
      },
      "message": "nvme/060: suppress state file write error\n\nThe test case nvme/060 sometimes fails with the message below:\n\nnvme/060 (tr\u003drdma) (test nvme fabrics target reset)          [failed]\n    runtime    ...  27.967s\n    --- tests/nvme/060.out\t2026-01-19 04:30:04.820982813 +0000\n    +++ /home/fedora/blktests/results/nodev_tr_rdma/nvme/060.out.bad\t2026-01-19 06:44:49.223643735 +0000\n    @@ -1,2 +1,3 @@\n     Running nvme/060\n    +_: line 1: /sys/kernel/debug/nvmet//blktests-subsystem-1/ctrl1/state: No such file or directory\n     Test complete\n\nTo reset the test target controller, the test case locates the \"state\"\nfile and writes to it. This works in most cases, but the write can\nfail: the test case connects and disconnects the target controller\u0027s\nsubsystem in parallel, so the \"state\" file may disappear after being\nlocated but before the write happens.\n\nSuppress the write error message to avoid this sporadic failure.\n\nReviewed-by: Daniel Wagner \u003cdwagner@suse.de\u003e\nSigned-off-by: Shin\u0027ichiro Kawasaki \u003cshinichiro.kawasaki@wdc.com\u003e\n"
    },
    {
      "commit": "5a62429536b11c813b5fbbb8165066709bcee002",
      "tree": "0553343b97dd6940b2f7535cc566755a438df667",
      "parents": [
        "b6d78ab8e6cf7b3828ecffad6296a1452869c7b7"
      ],
      "author": {
        "name": "Sebastian Chlad",
        "email": "sebastianchlad@gmail.com",
        "time": "Sun Jun 14 18:16:52 2026"
      },
      "committer": {
        "name": "Shin\u0027ichiro Kawasaki",
        "email": "shinichiro.kawasaki@wdc.com",
        "time": "Mon Jun 22 21:29:10 2026"
      },
      "message": "scsi/009: fix unset bytes_to_write in TEST 8\n\nbytes_to_write was never assigned before TEST 8, causing it to pass for\nthe wrong reason. Set it to atomic_unit_max_bytes + logical_block_size\nand update the golden output with the expected \"pwrite: Invalid argument\"\nfrom xfs_io.\n\nSigned-off-by: Sebastian Chlad \u003csebastian.chlad@suse.com\u003e\nSigned-off-by: Shin\u0027ichiro Kawasaki \u003cshinichiro.kawasaki@wdc.com\u003e\n"
    },
    {
      "commit": "b6d78ab8e6cf7b3828ecffad6296a1452869c7b7",
      "tree": "db48a0811673210f1d0d39753179d4b806df0d5e",
      "parents": [
        "2b53b3baa4cf8a1ef0da543202ff505bb1c29bb0",
        "3f961bd2f44e8d49d1668cd794f270dd9a94a777"
      ],
      "author": {
        "name": "Shin\u0027ichiro Kawasaki",
        "email": "shinichiro.kawasaki@wdc.com",
        "time": "Mon Jun 22 21:28:09 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Jun 22 21:28:09 2026"
      },
      "message": "Merge pull request #245 from schlad/nvme_059\n\nnvme/059: fix unset bytes_to_write in TEST 7"
    },
    {
      "commit": "2b53b3baa4cf8a1ef0da543202ff505bb1c29bb0",
      "tree": "771d866c1178dbe8edbe32708925ed6b2f3a50a3",
      "parents": [
        "b19c4a723cd96da68e681f609eb032d36948f867"
      ],
      "author": {
        "name": "Sebastian Chlad",
        "email": "sebastianchlad@gmail.com",
        "time": "Mon Jun 15 09:41:44 2026"
      },
      "committer": {
        "name": "Shin\u0027ichiro Kawasaki",
        "email": "shinichiro.kawasaki@wdc.com",
        "time": "Thu Jun 18 06:19:23 2026"
      },
      "message": "ublk: mark all tests as QUICK\n\nThese tests are quick to run so mark them accordingly to ensure\nthey are included in quick runs.\n\nSigned-off-by: Sebastian Chlad \u003csebastian.chlad@suse.com\u003e\nSigned-off-by: Shin\u0027ichiro Kawasaki \u003cshinichiro.kawasaki@wdc.com\u003e\n"
    },
    {
      "commit": "b19c4a723cd96da68e681f609eb032d36948f867",
      "tree": "7de5174c56d7e60987fecabcf79aa6bd12854b37",
      "parents": [
        "91316870b1245abeca6b975bf523334e0d24fc93"
      ],
      "author": {
        "name": "Bart Van Assche",
        "email": "bvanassche@acm.org",
        "time": "Thu Jun 04 17:54:23 2026"
      },
      "committer": {
        "name": "Shin\u0027ichiro Kawasaki",
        "email": "shinichiro.kawasaki@wdc.com",
        "time": "Sun Jun 14 06:22:44 2026"
      },
      "message": "throtl/008: Add a test for the iocost cgroup controller\n\nAdd a test for read and write IOPS throttling.\n\nSigned-off-by: Bart Van Assche \u003cbvanassche@acm.org\u003e\n[Shin\u0027ichiro: dropped bc command check and added set_conditions()]\nSigned-off-by: Shin\u0027ichiro Kawasaki \u003cshinichiro.kawasaki@wdc.com\u003e\n"
    },
    {
      "commit": "3f961bd2f44e8d49d1668cd794f270dd9a94a777",
      "tree": "df2d806b56eaf496f63a391e928a08cbceb3cbed",
      "parents": [
        "91316870b1245abeca6b975bf523334e0d24fc93"
      ],
      "author": {
        "name": "Sebastian Chlad",
        "email": "sebastian.chlad@suse.com",
        "time": "Thu Jun 11 19:52:23 2026"
      },
      "committer": {
        "name": "Sebastian Chlad",
        "email": "sebastian.chlad@suse.com",
        "time": "Thu Jun 11 20:56:52 2026"
      },
      "message": "nvme/059: fix unset bytes_to_write in TEST 7\n\nbytes_to_write was never assigned, causing TEST 7 to pass for the wrong\nreason. Set it to atomic_unit_max_bytes + logical_block_size and update\nthe golden output with the expected \"pwrite: Invalid argument\" from xfs_io.\n\nSigned-off-by: Sebastian Chlad \u003csebastian.chlad@suse.com\u003e\n"
    },
    {
      "commit": "91316870b1245abeca6b975bf523334e0d24fc93",
      "tree": "2d3a146c7ab0eae0de866e8d327b705ebe475b42",
      "parents": [
        "5343b16e42a4b82206cbd76f66e6d36a0e3238b2"
      ],
      "author": {
        "name": "Shin\u0027ichiro Kawasaki",
        "email": "shinichiro.kawasaki@wdc.com",
        "time": "Sat May 16 12:07:29 2026"
      },
      "committer": {
        "name": "Shin\u0027ichiro Kawasaki",
        "email": "shinichiro.kawasaki@wdc.com",
        "time": "Fri May 22 10:55:54 2026"
      },
      "message": "common/nvme, nvme/rc: use _set_attr() to trace attribute writes\n\nThe previous commit introduced the helper function _set_attr(). Use it\nin common/nvme and tests/nvme/rc to trace sysfs/configfs/debugfs\nattribute writes.\n\nReviewed-by: Bart Van Assche \u003cbvanassche@acm.org\u003e\nSigned-off-by: Shin\u0027ichiro Kawasaki \u003cshinichiro.kawasaki@wdc.com\u003e\n"
    },
    {
      "commit": "5343b16e42a4b82206cbd76f66e6d36a0e3238b2",
      "tree": "466980991f70c8caf6bf177a70949a935e64abca",
      "parents": [
        "b43bd43ec031e4eb0f9b2468bae662087e5df8ef"
      ],
      "author": {
        "name": "Shin\u0027ichiro Kawasaki",
        "email": "shinichiro.kawasaki@wdc.com",
        "time": "Sat May 16 12:07:28 2026"
      },
      "committer": {
        "name": "Shin\u0027ichiro Kawasaki",
        "email": "shinichiro.kawasaki@wdc.com",
        "time": "Fri May 22 10:55:54 2026"
      },
      "message": "common/rc: add _set_attr() function to trace attribute writes\n\nMany test cases write to sysfs/configfs/debugfs attributes, and these\nwrites are important for understanding test behavior. However, bash\u0027s\nxtrace feature does not record the target attribute file in commands\nlike `echo X \u003e Y`; it only records `echo X`.\n\nTo capture the write target, introduce `_set_attr()`, which writes its\nfirst argument to the file specified by its second argument. This allows\nxtrace to record the complete operation (e.g., `_set_attr X Y` instead\nof just `echo X`).\n\nReviewed-by: Bart Van Assche \u003cbvanassche@acm.org\u003e\nSigned-off-by: Shin\u0027ichiro Kawasaki \u003cshinichiro.kawasaki@wdc.com\u003e\n"
    },
    {
      "commit": "b43bd43ec031e4eb0f9b2468bae662087e5df8ef",
      "tree": "f3268ad6c19d204fb01fdc247b994e46f5eaf21f",
      "parents": [
        "623106a76205e305a66b060deafec1515cb2be07"
      ],
      "author": {
        "name": "Shin\u0027ichiro Kawasaki",
        "email": "shinichiro.kawasaki@wdc.com",
        "time": "Sat May 16 12:07:27 2026"
      },
      "committer": {
        "name": "Shin\u0027ichiro Kawasaki",
        "email": "shinichiro.kawasaki@wdc.com",
        "time": "Fri May 22 10:55:54 2026"
      },
      "message": "check: add --cmd-trace option\n\nTest cases that use helper functions can be difficult to understand due\nto deep nesting. To make test execution easier to follow, add a new\n--cmd-trace (or -t) option to record the commands executed during test\nruns.\n\nThe trace is implemented using bash\u0027s xtrace feature. Enable xtrace with\n`set -x` before each test case and redirect the trace output to a\n`.cmdtrace` file in the result directory.\n\nReviewed-by: Bart Van Assche \u003cbvanassche@acm.org\u003e\nSigned-off-by: Shin\u0027ichiro Kawasaki \u003cshinichiro.kawasaki@wdc.com\u003e\n"
    },
    {
      "commit": "623106a76205e305a66b060deafec1515cb2be07",
      "tree": "057108774bc4da94e0e441a04374cc032a3b2c4d",
      "parents": [
        "4974b9ffa99bd0468e48e09d93cce01afcc06ebf"
      ],
      "author": {
        "name": "Shin\u0027ichiro Kawasaki",
        "email": "shinichiro.kawasaki@wdc.com",
        "time": "Fri May 15 05:30:47 2026"
      },
      "committer": {
        "name": "Shin\u0027ichiro Kawasaki",
        "email": "shinichiro.kawasaki@wdc.com",
        "time": "Fri May 22 08:10:13 2026"
      },
      "message": "nbd/rc: redirect nbd-server stderr\n\nRecent nbd commit da5e07c057ab (\"Reimplement daemonize() without using\ndaemon()\") changed how nbd-server daemonizes itself. After this commit,\nnbd-server prints messages to stderr after daemonization. This caused\nnbd test cases to fail due to unexpected stderr output.\n\nnbd/001 (resize a connected nbd device)                      [failed]\n    runtime  0.865s  ...  0.883s\n    --- tests/nbd/001.out\t2025-04-22 13:13:27.727873155 +0900\n    +++ /home/shin/Blktests/blktests/results/nodev/nbd/001.out.bad\t2026-05-15 11:44:46.269000000 +0900\n    @@ -1,4 +1,5 @@\n     Running nbd/001\n    +Error: Session terminated by client\n     Disk /dev/nbd0: 10.7GB\n     nbd0 43:0 0 10G 0 disk\n     Setting size to 1gib\n\nThe commit is in nbd version v3.27, which is included in Fedora 44.\n\nTo avoid the failures, redirect nbd-server stderr to .full files.\n\nLink: https://github.com/NetworkBlockDevice/nbd/commit/da5e07c057ab\nSigned-off-by: Shin\u0027ichiro Kawasaki \u003cshinichiro.kawasaki@wdc.com\u003e\n"
    },
    {
      "commit": "4974b9ffa99bd0468e48e09d93cce01afcc06ebf",
      "tree": "c69f8cf84a9baba351d48f3e4f88012df46532e4",
      "parents": [
        "ca59dfcce4efbcf77ea7a81843c3399d8b1f0dad"
      ],
      "author": {
        "name": "Sungwoo Kim",
        "email": "iam@sung-woo.kim",
        "time": "Mon Apr 20 01:37:25 2026"
      },
      "committer": {
        "name": "Shin\u0027ichiro Kawasaki",
        "email": "shinichiro.kawasaki@wdc.com",
        "time": "Tue May 19 03:56:03 2026"
      },
      "message": "nvme/064, src/nvme-passthrough-meta.c: test a large metadata_len\n\nModify src/nvme-passthrough-meta.c so that the test case nvme/064 can\nrecreate the null-ptr-deref in bio_integrity_map_user() that was fixed\nby the kernel commit 8582792cf23b (\"block: bio-integrity: Fix null-ptr-\nderef in bio_integrity_map_user()\").\n\nLink: https://github.com/linux-blktests/blktests/pull/244\nSigned-off-by: Sungwoo Kim \u003ciam@sung-woo.kim\u003e\n[Shin\u0027ichiro: fixed indent and improved commit message]\nSigned-off-by: Shin\u0027ichiro Kawasaki \u003cshinichiro.kawasaki@wdc.com\u003e\n"
    },
    {
      "commit": "ca59dfcce4efbcf77ea7a81843c3399d8b1f0dad",
      "tree": "0d457881f6ed60e947adccf17130d88a66ce0f91",
      "parents": [
        "758fbd3c3d9dc519f12a3322d586b05e2eb2ffd2"
      ],
      "author": {
        "name": "John Garry",
        "email": "john.g.garry@oracle.com",
        "time": "Thu Apr 30 08:46:35 2026"
      },
      "committer": {
        "name": "Shin\u0027ichiro Kawasaki",
        "email": "shinichiro.kawasaki@wdc.com",
        "time": "Fri May 15 00:59:12 2026"
      },
      "message": "nvme/068: add a test for multipath delayed removal\n\nFor NVMe multipath, the delayed removal feature allows the multipath\ngendisk to remain present when all available paths are gone. The purpose of\nthis feature is to ensure that we keep the gendisk for intermittent path\nfailures.\n\nThe delayed removal works on a timer - when all paths are gone, a timer is\nkicked off; once the timer expires and no paths have returned, the gendisk\nis removed.\n\nWhen all paths are gone and the gendisk is still present, all reads and\nwrites to the disk are queued. If a path returns before the timer\nexpiration, the timer canceled and the queued IO is submitted;\notherwise they fail when the timer expires.\n\nThis testcase covers two scenarios in separate parts:\na. test that IOs submitted after all paths are removed (and do not return)\n   fail\nb. test that IOs submitted between all paths removed and a path\n   returning succeed\n\nDuring the period of the timer being active, it must be ensured that the\nnvme-core module is not removed. Otherwise the driver may not be present\nto handle the timeout expiry. The kernel ensures this by taking a\nreference to the module. Ideally, we would try to remove the module during\nthis test to prove that this is not possible (and the kernel behaves as\nexpected), but that module will probably not be removable anyway due to\nmany references. To test this feature, check that the refcount of the\nnvme-core module is incremented when the delayed timer is active.\n\nReviewed-by: Chaitanya Kulkarni \u003ckch@nvidia.com\u003e\nReviewed-by: Nilay Shroff \u003cnilay@linux.ibm.com\u003e\nSigned-off-by: John Garry \u003cjohn.g.garry@oracle.com\u003e\nReviewed-by: Daniel Wagner \u003cdwagner@suse.de\u003e\nSigned-off-by: Shin\u0027ichiro Kawasaki \u003cshinichiro.kawasaki@wdc.com\u003e\n"
    },
    {
      "commit": "758fbd3c3d9dc519f12a3322d586b05e2eb2ffd2",
      "tree": "a1086666aaf2e0ab36dcffaea69d869cc7a26ee7",
      "parents": [
        "3cb7d0bf648184b52d72f61b2e4a981b36e5afcd"
      ],
      "author": {
        "name": "Bart Van Assche",
        "email": "bvanassche@acm.org",
        "time": "Tue Apr 28 14:08:59 2026"
      },
      "committer": {
        "name": "Shin\u0027ichiro Kawasaki",
        "email": "shinichiro.kawasaki@wdc.com",
        "time": "Mon May 04 05:21:33 2026"
      },
      "message": "ci: Switch to actions/checkout@main\n\nSuppress the following GitHub warning:\n\nNode.js 20 actions are deprecated. The following actions are running on\nNode.js 20 and may not work as expected: actions/checkout@v2. Actions will\nbe forced to run with Node.js 24 by default starting June 2nd, 2026.\nNode.js 20 will be removed from the runner on September 16th, 2026. Please\ncheck if updated versions of these actions are available that support\nNode.js 24. To opt into Node.js 24 now, set the\nFORCE_JAVASCRIPT_ACTIONS_TO_NODE24\u003dtrue environment variable on the runner\nor in your workflow file. Once Node.js 24 becomes the default, you can\ntemporarily opt out by setting ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION\u003dtrue.\nFor more information see:\nhttps://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/\n\nSigned-off-by: Bart Van Assche \u003cbvanassche@acm.org\u003e\nSigned-off-by: Shin\u0027ichiro Kawasaki \u003cshinichiro.kawasaki@wdc.com\u003e\n"
    },
    {
      "commit": "3cb7d0bf648184b52d72f61b2e4a981b36e5afcd",
      "tree": "f3c059800a6e7c5c2376461faf2a6c33bf6902cc",
      "parents": [
        "ea5472c1adc84b55f58f4c380310503ad46b7528",
        "23fbe5a23eeec7b4fd0629fd1e1fad5fab47e551"
      ],
      "author": {
        "name": "Shin\u0027ichiro Kawasaki",
        "email": "shinichiro.kawasaki@wdc.com",
        "time": "Tue Apr 28 13:31:26 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Apr 28 13:31:26 2026"
      },
      "message": "Merge pull request #240 from daandemeyer/loop-race\n\nloop: add regression test for partscan double-scan race"
    },
    {
      "commit": "23fbe5a23eeec7b4fd0629fd1e1fad5fab47e551",
      "tree": "fe95c94abc5f3860961e9fac0119b335ca2ef076",
      "parents": [
        "dd55eba73b988e686e3583281d539fb789c8c627"
      ],
      "author": {
        "name": "Daan De Meyer",
        "email": "daan@amutable.com",
        "time": "Tue Mar 31 10:38:05 2026"
      },
      "committer": {
        "name": "Daan De Meyer",
        "email": "daan@amutable.com",
        "time": "Wed Apr 22 13:06:58 2026"
      },
      "message": "loop: add regression test for partscan double-scan race\n\nAdd a stress test that detects spurious partition removal events when\nsetting up a loop device with partscan enabled.\n\nThe kernel bug was that disk_force_media_change() set GD_NEED_PART_SCAN,\ncausing udev\u0027s device open to trigger a partition scan racing with the\nexplicit scan from loop_reread_partitions(). The second scan would drop\nand re-add all partitions, making partition devices briefly disappear.\n\nThe test monitors kernel uevents while repeatedly setting up and tearing\ndown a loop device with partscan. Each cycle should produce exactly one\nadd and one remove uevent for the partition device. Extra events indicate\nthe double-scan race was triggered.\n\nLink: https://lore.kernel.org/linux-block/20260330081819.652890-1-daan@amutable.com/T/#u\nSigned-off-by: Daan De Meyer \u003cdaan@amutable.com\u003e\nCo-Authored-By: Shinichiro Kawasaki \u003cshinichiro.kawasaki@wdc.com\u003e\n"
    },
    {
      "commit": "ea5472c1adc84b55f58f4c380310503ad46b7528",
      "tree": "60a8b552cb83efd18a7f8b29fb48f36371ac2e16",
      "parents": [
        "1d68a36e77ef59da81887b1052cee2668aebe41a"
      ],
      "author": {
        "name": "Yi Zhang",
        "email": "yi.zhang@redhat.com",
        "time": "Wed Apr 08 14:32:26 2026"
      },
      "committer": {
        "name": "Shin\u0027ichiro Kawasaki",
        "email": "shinichiro.kawasaki@wdc.com",
        "time": "Wed Apr 22 02:37:55 2026"
      },
      "message": "throtl/{002,003,007}, zbd/014: use _get_page_size to get PAGE_SIZE\n\nCommit 8eca9fa369ee (\"common/rc, scsi/011, zbd/010: introduce\n_page_size_equals() helper\") introduced the helper bash function\n_get_page_size(). Replace \"getconf PAGE_SIZE\" with the helper to cut\ndependency to the getconf tool.\n\nLink: https://github.com/linux-blktests/blktests/pull/243\nSigned-off-by: Yi Zhang \u003cyi.zhang@redhat.com\u003e\n[Shin\u0027ichiro: removed getconf command check in zbd/014]\nSigned-off-by: Shin\u0027ichiro Kawasaki \u003cshinichiro.kawasaki@wdc.com\u003e\n"
    },
    {
      "commit": "1d68a36e77ef59da81887b1052cee2668aebe41a",
      "tree": "188474dc2786fd087ed333fa6070744243b78154",
      "parents": [
        "255189f0c4e505e570d79794b579f1a156668feb"
      ],
      "author": {
        "name": "Shin\u0027ichiro Kawasaki",
        "email": "shinichiro.kawasaki@wdc.com",
        "time": "Fri Apr 10 05:30:16 2026"
      },
      "committer": {
        "name": "Shin\u0027ichiro Kawasaki",
        "email": "shinichiro.kawasaki@wdc.com",
        "time": "Thu Apr 16 07:22:38 2026"
      },
      "message": "common/scsi_debug: use _patient_rmmod() to unload scsi_debug\n\nThe helper _have_scsi_debug_group_number_stats() loads and unloads\nscsi_debug to check parameters of scsi_debug. However, the unload is too\nsoon after the load, then it often fails. To avoid such unload failures,\nuse _patient_rmmod() to unload scsi_debug.\n\nReported-by: Yi Zhang \u003cyi.zhang@redhat.com\u003e\nCloses: https://github.com/linux-blktests/blktests/issues/241\n[Shin\u0027ichro: removed /dev/null redirect per suggestion by Bart]\nSigned-off-by: Shin\u0027ichiro Kawasaki \u003cshinichiro.kawasaki@wdc.com\u003e\n"
    },
    {
      "commit": "255189f0c4e505e570d79794b579f1a156668feb",
      "tree": "041006d83d7489a750a7213b6bf5db57a2bebc7f",
      "parents": [
        "13939f145f57890855d63793938b44c83cd2cc0e"
      ],
      "author": {
        "name": "Bart Van Assche",
        "email": "bvanassche@acm.org",
        "time": "Thu Mar 26 17:36:32 2026"
      },
      "committer": {
        "name": "Shin\u0027ichiro Kawasaki",
        "email": "shinichiro.kawasaki@wdc.com",
        "time": "Tue Apr 07 00:41:41 2026"
      },
      "message": "src/dio-offsets.c: Fix err() usage\n\nIf the dio-offsets program detects data corruption, it reports the\nfollowing message:\n\ndio-offsets: test_unaligned_vectors: data corruption: Success\n\nThe \"Success\" part in this message is confusing and is reported because\nthe err() macro is used incorrectly. errno must be set before err() is\nused instead of passing an error number as first argument. Fix usage of\nthe err() macro as follows:\n- Change the first argument into EXIT_FAILURE (1). According to POSIX,\n  exit codes 1 - 125 mean failure and \u003e 128 means that a program was\n  terminated by a signal. Hence, exit with code 1 instead of -1 if\n  ioctl() fails.\n- Use the err_errno() macro to set the error code instead of passing an\n  error code as first argument to err().\n\nCc: Keith Busch \u003ckbusch@kernel.org\u003e\nSigned-off-by: Bart Van Assche \u003cbvanassche@acm.org\u003e\nReviewed-by: Keith Busch \u003ckbusch@kernel.org\u003e\n[Shin\u0027ichiro: replaced one more err(EIO, ..) with err_errno(EIO, ..)]\nSigned-off-by: Shin\u0027ichiro Kawasaki \u003cshinichiro.kawasaki@wdc.com\u003e\n"
    },
    {
      "commit": "13939f145f57890855d63793938b44c83cd2cc0e",
      "tree": "1de1c606c2bfccac147f678853df391b7766f146",
      "parents": [
        "8eca9fa369eec574c0383d2dcc31c14167a5a959",
        "d5e7400da325c776d42fc75eb25f6e223971ad31"
      ],
      "author": {
        "name": "Shin\u0027ichiro Kawasaki",
        "email": "shinichiro.kawasaki@wdc.com",
        "time": "Tue Apr 07 00:38:54 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Apr 07 00:38:54 2026"
      },
      "message": "Merge pull request #237 from yizhanglinux/compile-warning-fix\n\nCompile warning fix"
    },
    {
      "commit": "d5e7400da325c776d42fc75eb25f6e223971ad31",
      "tree": "94c012cd5302f5655bbecebaeb4411acff060f7c",
      "parents": [
        "80d115eee6d303c60088b8c7a4d3eb486932cfde"
      ],
      "author": {
        "name": "Yi Zhang",
        "email": "yi.zhang@redhat.com",
        "time": "Mon Apr 06 12:49:36 2026"
      },
      "committer": {
        "name": "Yi Zhang",
        "email": "yi.zhang@redhat.com",
        "time": "Mon Apr 06 12:58:11 2026"
      },
      "message": "src/Makefile: suppress unused-but-set-variable warning for sg/syzkaller1.c\n\nThe volatile loop variable \u0027i\u0027 in sg/syzkaller1.c triggers a\n-Wunused-but-set-variable warning on newer GCC (e.g. GCC 16 on ppc64le).\nSo add a specific Makefile rule for sg/syzkaller1 that appends\n-Wno-unused-but-set-variable.\n\nFixes: https://github.com/linux-blktests/blktests/issues/233\nSuggested-by: Shin\u0027ichiro Kawasaki \u003cshinichiro.kawasaki@wdc.com\u003e\nSigned-off-by: Yi Zhang \u003cyi.zhang@redhat.com\u003e\n"
    },
    {
      "commit": "80d115eee6d303c60088b8c7a4d3eb486932cfde",
      "tree": "29d589898a044b8db730435835624dd7cf03ebfd",
      "parents": [
        "af0b85f99f3e8d0083c27295e946170b09c9643e"
      ],
      "author": {
        "name": "Yi Zhang",
        "email": "yi.zhang@redhat.com",
        "time": "Sun Mar 29 14:24:55 2026"
      },
      "committer": {
        "name": "Yi Zhang",
        "email": "yi.zhang@redhat.com",
        "time": "Mon Apr 06 12:58:06 2026"
      },
      "message": "src/metadata.c: fix format for __u64 in metadata.c\n\nOn ppc64le, __u64 is typedef\u0027d as \u0027unsigned long\u0027 rather than\n\u0027unsigned long long\u0027, so cast to unsigned long long fix the warning.\n\nFixes: https://github.com/linux-blktests/blktests/issues/233\nAssisted-by: Gemini\nSigned-off-by: Yi Zhang \u003cyi.zhang@redhat.com\u003e\n"
    },
    {
      "commit": "8eca9fa369eec574c0383d2dcc31c14167a5a959",
      "tree": "29020beb70edca4aea85211df40ded1806c0dcc1",
      "parents": [
        "af0b85f99f3e8d0083c27295e946170b09c9643e"
      ],
      "author": {
        "name": "Yi Zhang",
        "email": "yi.zhang@redhat.com",
        "time": "Tue Mar 31 03:07:03 2026"
      },
      "committer": {
        "name": "Shin\u0027ichiro Kawasaki",
        "email": "shinichiro.kawasaki@wdc.com",
        "time": "Mon Apr 06 11:33:59 2026"
      },
      "message": "common/rc, scsi/011, zbd/010: introduce _page_size_equals() helper\n\nIntroduce new helper functions `_get_page_size` to get system page\nsize, and `_page_size_equals()` to check whether the system page size\nequals to the value specified. Update `scsi/011` and `zbd/010` to use\nthe helpers and gracefully skip the tests if the page size is not\n4096 bytes. This prevents test failures on 64K page architectures. The\nfailure is expected since F2FS does not support 64K page size.\n\nAccording to the discussion at the Fixes tag link, it is expected the\ntest cases work well with 16K page size. However, this commit makes the\ntest cases skipped on systems with 16K page size. It is the left work to\nenable the test cases under 16K page size condition.\n\nFixes: https://github.com/linux-blktests/blktests/issues/234\nSuggested-by: Bart Van Assche \u003cbvanassche@acm.org\u003e\nSigned-off-by: Yi Zhang \u003cyi.zhang@redhat.com\u003e\n[Shin\u0027ichiro: amended commit message]\nSigned-off-by: Shin\u0027ichiro Kawasaki \u003cshinichiro.kawasaki@wdc.com\u003e\n"
    },
    {
      "commit": "af0b85f99f3e8d0083c27295e946170b09c9643e",
      "tree": "ef1c7043fae51bea8ec919bbd28a36b5ff3d5696",
      "parents": [
        "2fe7f4e79761acb7c272c3b5ddbd2d474a0aea91"
      ],
      "author": {
        "name": "Shin\u0027ichiro Kawasaki",
        "email": "shinichiro.kawasaki@wdc.com",
        "time": "Tue Mar 24 05:49:49 2026"
      },
      "committer": {
        "name": "Shin\u0027ichiro Kawasaki",
        "email": "shinichiro.kawasaki@wdc.com",
        "time": "Wed Apr 01 04:54:28 2026"
      },
      "message": "zbd/012: add missing scsi_debug check\n\nThe test case uses loadable scsi_debug, but it misses the check for it.\nAdd the missing check.\n\nFixes: 3ca2657f94b8 (\"zbd/012: Test requeuing of zoned writes and queue freezing\")\nSigned-off-by: Shin\u0027ichiro Kawasaki \u003cshinichiro.kawasaki@wdc.com\u003e\n"
    },
    {
      "commit": "2fe7f4e79761acb7c272c3b5ddbd2d474a0aea91",
      "tree": "6b78cad2606bed8e2b13764b76d93485e62ea74f",
      "parents": [
        "1b6aea70d050f033fbc8e0956e6c864880601dd7"
      ],
      "author": {
        "name": "Shin\u0027ichiro Kawasaki",
        "email": "shinichiro.kawasaki@wdc.com",
        "time": "Tue Mar 24 05:49:48 2026"
      },
      "committer": {
        "name": "Shin\u0027ichiro Kawasaki",
        "email": "shinichiro.kawasaki@wdc.com",
        "time": "Wed Apr 01 04:54:28 2026"
      },
      "message": "common/scsi_debug: ensure scsi_debug is loadable before loading it\n\nCurrently, _have_scsi_debug_group_number_stats() assumes that scsi_debug\nis loadable. This does not work when scsi_debug is built-in. Before\nloading scsi_debug in the function, ensure that scsi_debug is loadable.\n\nSigned-off-by: Shin\u0027ichiro Kawasaki \u003cshinichiro.kawasaki@wdc.com\u003e\n"
    },
    {
      "commit": "1b6aea70d050f033fbc8e0956e6c864880601dd7",
      "tree": "44df72eafdd3205bf32da8d8dff35c53004e67b1",
      "parents": [
        "3f0c7bd247b0c597a3cf350e49703e350d2ecde6"
      ],
      "author": {
        "name": "Disha Goel",
        "email": "disgoel@linux.ibm.com",
        "time": "Tue Mar 24 05:49:47 2026"
      },
      "committer": {
        "name": "Shin\u0027ichiro Kawasaki",
        "email": "shinichiro.kawasaki@wdc.com",
        "time": "Wed Apr 01 04:54:28 2026"
      },
      "message": "Skip tests if scsi_debug module is already loaded and in use\n\nSeveral tests across block/, scsi/, dm/, md/, zbd/, nvme/ require\nexclusive access to the scsi_debug module because they load, unload\nor reconfigure it. When scsi_debug is loadable and already loaded\nby the environment (e.g., by another driver or a previous setup),\nthese tests fail with:\n\n    modprobe: FATAL: Module scsi_debug is in use.\n    Unloading scsi_debug failed\n\n    scsi_debug            327680  4\n\nTo prevent these failures, this patch introduces a new helper function\n_have_loadable_scsi_debug(). It verifies if the module is already loaded\nby checking the ${MODULES_TO_UNLOAD[*]} array. If the module exists but\nis not in the array, it indicates the module was loaded before the test\nstarted, and the test is skipped.\n\nAdditionally, for cases where scsi_debug is built-in, the environment may\nhave already created additional hosts. To prevent the tests from disrupting\nthese hosts, _have_scsi_debug() now checks the add_host attribute. If the\nnumber of hosts is greater than 1, the test is skipped.\n\nLink: https://github.com/linux-blktests/blktests/pull/218\nSigned-off-by: Disha Goel \u003cdisgoel@linux.ibm.com\u003e\nSigned-off-by: Shin\u0027ichiro Kawasaki \u003cshinichiro.kawasaki@wdc.com\u003e\n"
    },
    {
      "commit": "3f0c7bd247b0c597a3cf350e49703e350d2ecde6",
      "tree": "564f570dae6e13a4bb1186cc8ce83cb604542a1c",
      "parents": [
        "1967331d6667bb91c249100d78cbfd6dd9b3e3ac"
      ],
      "author": {
        "name": "Shin\u0027ichiro Kawasaki",
        "email": "shinichiro.kawasaki@wdc.com",
        "time": "Tue Mar 24 05:49:46 2026"
      },
      "committer": {
        "name": "Shin\u0027ichiro Kawasaki",
        "email": "shinichiro.kawasaki@wdc.com",
        "time": "Wed Apr 01 04:54:28 2026"
      },
      "message": "check: call fallback_device() in the same bash context\n\nCurrently, the callback function fallback_device() is called with bash\n$() feature. This runs the function call in a new bash context. Then,\nglobal variable changes in the function call are not reflected in the\ncaller context. This is not handy and does not allow checking\nMODULES_TO_UNLOAD status change in the caller, which will be added in\nthe following commit.\n\nTo share the same bash context between the caller and the callee of\nfallback_device(), do not use $(). Instead, use a temporary file to keep\nthe output of fallback_device().\n\nSigned-off-by: Shin\u0027ichiro Kawasaki \u003cshinichiro.kawasaki@wdc.com\u003e\n"
    },
    {
      "commit": "1967331d6667bb91c249100d78cbfd6dd9b3e3ac",
      "tree": "ca57315edc9a95a53651259946191490507379d3",
      "parents": [
        "e50a5ff644f3e26db93a74cd10468f78b21e7a49"
      ],
      "author": {
        "name": "Shin\u0027ichiro Kawasaki",
        "email": "shinichiro.kawasaki@wdc.com",
        "time": "Tue Mar 24 05:49:45 2026"
      },
      "committer": {
        "name": "Shin\u0027ichiro Kawasaki",
        "email": "shinichiro.kawasaki@wdc.com",
        "time": "Wed Apr 01 04:54:28 2026"
      },
      "message": "check: do not create fallback device when other requirements are not met\n\nCurrently, fallback devices are prepared regardless of whether other\nrequirements are fulfilled. This is not always desired. For example,\nwhen users already created scsi_debug devices, it is not good to create\na fallback scsi_debug device, because it unloads scsi_debug module and\nremove the scsi_debug devices users created. To prevent such scenario,\nconfirm requirements by checking skip reasons before creating fallback\ndevices.\n\nSigned-off-by: Shin\u0027ichiro Kawasaki \u003cshinichiro.kawasaki@wdc.com\u003e\n"
    },
    {
      "commit": "e50a5ff644f3e26db93a74cd10468f78b21e7a49",
      "tree": "4a8ad13c1404dec8da9a6e9179ba0d6f67c4de3f",
      "parents": [
        "be499dd9a56dcf762da6ba8b28e8c638e545305f"
      ],
      "author": {
        "name": "Shin\u0027ichiro Kawasaki",
        "email": "shinichiro.kawasaki@wdc.com",
        "time": "Tue Mar 24 05:49:44 2026"
      },
      "committer": {
        "name": "Shin\u0027ichiro Kawasaki",
        "email": "shinichiro.kawasaki@wdc.com",
        "time": "Wed Apr 01 04:54:28 2026"
      },
      "message": "check: call _unload_module() after fallback_device_cleanup()\n\nAs described in the commit message of the previous commit,\n_unload_module() is called before calling cleanup_fallback_device().\nThen, modules that is not cleaned up can be unloaded by _unload_module()\nand can cause unload failures.\n\nTo avoid the failures, move _unload_module() call into\n_check_and_call_test_device() so that it is called after the\ncleanup_fallback_device() call. After this change, the call chain\nbecomes as follows:\n\n  _run_test\n    _check_and_call_test_device\n      fallback_device\n      _call_test\n      cleanup_fallback_device\n      _unload_modules\n\nThis change requires to add _unload_modules() call to\n_check_and_call_test() and _check_and_call_test_device_array() also.\n\nFixes: 756d18d5fef0 (\"check: call _unload_modules for each test run\")\nSigned-off-by: Shin\u0027ichiro Kawasaki \u003cshinichiro.kawasaki@wdc.com\u003e\n"
    },
    {
      "commit": "be499dd9a56dcf762da6ba8b28e8c638e545305f",
      "tree": "756def92be42f0e0d23dc2931f0fe6728dc01e4b",
      "parents": [
        "dd55eba73b988e686e3583281d539fb789c8c627"
      ],
      "author": {
        "name": "Shin\u0027ichiro Kawasaki",
        "email": "shinichiro.kawasaki@wdc.com",
        "time": "Tue Mar 24 05:49:43 2026"
      },
      "committer": {
        "name": "Shin\u0027ichiro Kawasaki",
        "email": "shinichiro.kawasaki@wdc.com",
        "time": "Wed Apr 01 04:54:28 2026"
      },
      "message": "check: move fallback device handling into _check_and_call_test_device()\n\nCurrently, when a test case has callback functions for fallback device,\nthe fallback device is created in run_test(). Meanwhile,\n_unload_module() is called in _call_test(). Then,\ncleanup_fallback_device() is called after _unload_module().\n\n  _run_test\n    fallback_device\n      _check_and_call_test_device\n        _call_test\n          _unload_modules\n    cleanup_fallback_device\n\nThis is not desired since module unload can affect\ncleanup_fallback_device(). For example, scsi_debug is used as a fallback\ndevice, _unload_modules() can unload scsi_debug before calling\ncleanup_fallback_device().\n\nTo resolve this, make two changes. The first change is to move fallback\noperations from _run_test() to _check_and_call_test_device(). This\ncommit does it. After this commit, the call chain will be as follows.\n\n  _run_test\n    _check_and_call_test_device\n      fallback_device\n        _call_test\n          _unload_modules\n      cleanup_fallback_device\n\nAs the second change, the following commit will move the\n_unload_modules() call.\n\nWhile at this change, rename the local variable FALLBACK_DEVICE to\n\u0027fallback\u0027, since capital letters imply that the variable would be\na global variable.\n\nSigned-off-by: Shin\u0027ichiro Kawasaki \u003cshinichiro.kawasaki@wdc.com\u003e\n"
    },
    {
      "commit": "dd55eba73b988e686e3583281d539fb789c8c627",
      "tree": "5d700f9ece7998ab40aef2ec87d5237ae095f995",
      "parents": [
        "078a7ac6bbc8ba5e5dc3351617f2d616b105937b"
      ],
      "author": {
        "name": "Changhui Zhong",
        "email": "czhong@redhat.com",
        "time": "Mon Mar 30 09:25:34 2026"
      },
      "committer": {
        "name": "Shin\u0027ichiro Kawasaki",
        "email": "shinichiro.kawasaki@wdc.com",
        "time": "Tue Mar 31 08:32:21 2026"
      },
      "message": "src/Makefile: improve header check for miniublk\n\nAfter make / make install, src/nvme-passthru-admin-uring is not built\nwhen linux/ublk_cmd.h is missing from userspace kernel headers, even if\nliburing is new enough (IORING_OP_URING_CMD). Tests such as nvme/067\nthen fail with sudo: src/nvme-passthru-admin-uring: command not found.\nnvme-passthru-admin-uring does not include linux/ublk_cmd.h; only\nminiublk needs it. The Makefile currently ties all C_URING_TARGETS to\nthe same HAVE_LIBURING + HAVE_UBLK_HEADER gate (or equivalent), so the\nNVMe helper is skipped together with miniublk.\n\nWhen ublk stack is not available, still build metadata and\nnvme-passthru-admin-uring if HAVE_LIBURING is 1, and only skip miniublk\nwith an explicit message when linux/ublk_cmd.h is missing. For that\npurpose, split miniublk from the variable C_URING_TARGETS.\n\nLink: https://github.com/linux-blktests/blktests/issues/236\nSigned-off-by: Shin\u0027ichiro Kawasaki \u003cshinichiro.kawasaki@wdc.com\u003e\nSigned-off-by: Changhui Zhong \u003cczhong@redhat.com\u003e\n"
    },
    {
      "commit": "078a7ac6bbc8ba5e5dc3351617f2d616b105937b",
      "tree": "5e2d3cc0f0eb7b60145281b2c2cbf5fd6a3b7384",
      "parents": [
        "4de1f750d14ed9d2f52a1b2043f10848f66ff62d"
      ],
      "author": {
        "name": "Bart Van Assche",
        "email": "bvanassche@acm.org",
        "time": "Mon Mar 23 20:05:12 2026"
      },
      "committer": {
        "name": "Shin\u0027ichiro Kawasaki",
        "email": "shinichiro.kawasaki@wdc.com",
        "time": "Mon Mar 30 05:11:09 2026"
      },
      "message": "check: Suppress kmemleak scanning failures\n\nkmemleak disables itself if an internal error has been encountered. If\nthis happens, any attempt to write into /sys/kernel/debug/kmemleak\ntriggers the error \"Operation not permitted\". Suppress this error\nmessage instead of displaying it on stdout.\n\nSigned-off-by: Bart Van Assche \u003cbvanassche@acm.org\u003e\nSigned-off-by: Shin\u0027ichiro Kawasaki \u003cshinichiro.kawasaki@wdc.com\u003e\n"
    },
    {
      "commit": "4de1f750d14ed9d2f52a1b2043f10848f66ff62d",
      "tree": "10afdc6858b49cff70e29fb10e6e5efde1278b17",
      "parents": [
        "1b3b47ba5f9337ecc355044e51aa1100664c6e08"
      ],
      "author": {
        "name": "Yi Zhang",
        "email": "yi.zhang@redhat.com",
        "time": "Sun Mar 22 08:11:27 2026"
      },
      "committer": {
        "name": "Shin\u0027ichiro Kawasaki",
        "email": "shinichiro.kawasaki@wdc.com",
        "time": "Wed Mar 25 04:26:38 2026"
      },
      "message": "nvme/065: update to support all fabrics\n\nThe test case works for any fabric transports. Enable them all.\n\nLink: https://github.com/linux-blktests/blktests/pull/235\nSigned-off-by: Yi Zhang \u003cyi.zhang@redhat.com\u003e\nReviewed-by: Daniel Wagner \u003cwagi@kernel.org\u003e\nSigned-off-by: Shin\u0027ichiro Kawasaki \u003cshinichiro.kawasaki@wdc.com\u003e\n"
    },
    {
      "commit": "1b3b47ba5f9337ecc355044e51aa1100664c6e08",
      "tree": "e9131679dcb36c58d830a71c3ab1b77187acaf34",
      "parents": [
        "7baa454064b8bf84091d282ab6cf04f6164e6a9b"
      ],
      "author": {
        "name": "Shin\u0027ichiro Kawasaki",
        "email": "shinichiro.kawasaki@wdc.com",
        "time": "Fri Mar 13 12:18:55 2026"
      },
      "committer": {
        "name": "Shin\u0027ichiro Kawasaki",
        "email": "shinichiro.kawasaki@wdc.com",
        "time": "Fri Mar 20 04:27:25 2026"
      },
      "message": "check: check kmemleak before test run start\n\nWhen the kernel enables kmemleak, the check script scans for memory\nleaks at the end of every test case run. However, if memory has already\nleaked before the blktests test run starts, the leak is detected at the\nend of the first test case. This makes it look as if the leak happend\nduring the firest test case, which is confusing.\n\nTo avoid this, check for memory leaks once before staring blktests. If\nany leaks are found, report them separately.\n\nSigned-off-by: Shin\u0027ichiro Kawasaki \u003cshinichiro.kawasaki@wdc.com\u003e\n"
    },
    {
      "commit": "7baa454064b8bf84091d282ab6cf04f6164e6a9b",
      "tree": "d6977349dbfc4b973e27ec3f5d2b433e625bb966",
      "parents": [
        "cd200a72b0843d718bdad3a5194eb3977acf188f"
      ],
      "author": {
        "name": "Daniel Wagner",
        "email": "dwagner@suse.de",
        "time": "Thu Mar 05 15:01:46 2026"
      },
      "committer": {
        "name": "Shin\u0027ichiro Kawasaki",
        "email": "shinichiro.kawasaki@wdc.com",
        "time": "Sat Mar 07 05:02:58 2026"
      },
      "message": "doc: document how to configure bcache tests\n\nAdd a bcache entry in running-tests which explains how to configure\nblktests for the bcache tests.\n\nSigned-off-by: Daniel Wagner \u003cdwagner@suse.de\u003e\nReviewed-by: Johannes Thumshirn \u003cjohannes.thumshirn@wdc.com\u003e\nSigned-off-by: Shin\u0027ichiro Kawasaki \u003cshinichiro.kawasaki@wdc.com\u003e\n"
    },
    {
      "commit": "cd200a72b0843d718bdad3a5194eb3977acf188f",
      "tree": "8ea3057526d2906f01f9db8f6e446d2fbd868b45",
      "parents": [
        "8f05fe6a05ef3d759b2539e0c8420c7bdd1ca03e"
      ],
      "author": {
        "name": "Daniel Wagner",
        "email": "dwagner@suse.de",
        "time": "Thu Mar 05 15:01:44 2026"
      },
      "committer": {
        "name": "Shin\u0027ichiro Kawasaki",
        "email": "shinichiro.kawasaki@wdc.com",
        "time": "Sat Mar 07 05:01:14 2026"
      },
      "message": "bcache: add bcache/001\n\nSo far we are missing tests for bcache. Besides a relative simple\nsetup/teardown tests add also the corresponding infrastructure. More\ntests are to be expected to depend on this.\n\n_create_bcache/_remove_bcache are tracking the resources and if anything\nis missing it will complain.\n\nSigned-off-by: Daniel Wagner \u003cdwagner@suse.de\u003e\nReviewed-by: Johannes Thumshirn \u003cjohannes.thumshirn@wdc.com\u003e\n[Shin\u0027ichiro: added /dev prefix to _bcache_wipe_devs() arguments]\nSigned-off-by: Shin\u0027ichiro Kawasaki \u003cshinichiro.kawasaki@wdc.com\u003e\n"
    },
    {
      "commit": "8f05fe6a05ef3d759b2539e0c8420c7bdd1ca03e",
      "tree": "0d5e3b215a64b01fe71646289c74ae011c80f6cc",
      "parents": [
        "1203c45420e3fb46583634dcbc8d118d97dce61d"
      ],
      "author": {
        "name": "Shin\u0027ichiro Kawasaki",
        "email": "shinichiro.kawasaki@wdc.com",
        "time": "Mon Feb 23 07:41:10 2026"
      },
      "committer": {
        "name": "Shin\u0027ichiro Kawasaki",
        "email": "shinichiro.kawasaki@wdc.com",
        "time": "Sun Mar 01 12:36:46 2026"
      },
      "message": "src: add nvme-passthru-admin-uring to .gitignore\n\nCommit a94b77010d56 (\"nvme/067: test io_uring pass through for NVMe\nadmin queue\") introduced a new program nvme-passthru-admin-uring under\n/src directory, but omitted it from .gitignore. Add it to .gitignore.\n\nFixes: a94b77010d56 (\"nvme/067: test io_uring pass through for NVMe admin queue\")\nReviewed-by: Chaitanya Kulkarni \u003ckch@nvidia.com\u003e\nSigned-off-by: Shin\u0027ichiro Kawasaki \u003cshinichiro.kawasaki@wdc.com\u003e\n"
    },
    {
      "commit": "1203c45420e3fb46583634dcbc8d118d97dce61d",
      "tree": "aede41b1b80475f77f56637b6c7927d54a1f1077",
      "parents": [
        "9d472e9e2fdd986e47aee389312f5b591075bea5"
      ],
      "author": {
        "name": "Shin\u0027ichiro Kawasaki",
        "email": "shinichiro.kawasaki@wdc.com",
        "time": "Mon Feb 23 07:41:09 2026"
      },
      "committer": {
        "name": "Shin\u0027ichiro Kawasaki",
        "email": "shinichiro.kawasaki@wdc.com",
        "time": "Sun Mar 01 12:36:46 2026"
      },
      "message": "check: increment bash requirement version from 4.2 to 4.3\n\nThe helper functions _get_nvmet_ports() and _get_nvmet_port_params() use\nthe bash \u0027nameref\u0027 feature, introduced in the bash version 4.3.\nCurrently, blktests README and the check script declare bash version\n4.2 as the minimum bash version, leading to a version mismatch.\n\nFix this inconsistency by updating the minimum required bash version\nto 4.3. Note that bash 4.2 was released in 2011, while bash 4.3 was\nreleased in 2014. This change is unlikely to affect blktests users.\n\nReviewed-by: Chaitanya Kulkarni \u003ckch@nvidia.com\u003e\nSigned-off-by: Shin\u0027ichiro Kawasaki \u003cshinichiro.kawasaki@wdc.com\u003e\n"
    },
    {
      "commit": "9d472e9e2fdd986e47aee389312f5b591075bea5",
      "tree": "41463574f494a5e7235797877e890baa455af51b",
      "parents": [
        "b14a95a6008a7d041f8181cb16b62053dff92f84"
      ],
      "author": {
        "name": "Shin\u0027ichiro Kawasaki",
        "email": "shinichiro.kawasaki@wdc.com",
        "time": "Mon Feb 23 07:41:08 2026"
      },
      "committer": {
        "name": "Shin\u0027ichiro Kawasaki",
        "email": "shinichiro.kawasaki@wdc.com",
        "time": "Sun Mar 01 12:36:46 2026"
      },
      "message": "common/nvme: do not call \u0027nvme id-ns\u0027 to non-nvme devices\n\nThe test case block/041 tests PI metadata capability in the block layer.\nAt this moment, nvme is the only one block device that supports the\ncapability. To check that the test target nvme devices fulfills the\nrequirement, the test case calls \u0027nvme ns-id\u0027 command via\n_test_dev_disable_extended_lba(). However, since the test case is in\nthe block group, TEST_DEVS can specify non-nvme devices. Even though the\ntest case is skipped by _require_test_dev_is_nvme() check, the\n\u0027nvme ns-id\u0027 is called for the non-nvme device and fails. It spits out\nunnecessary error messages.\n\nTo avoid the error message, check if the test device is nvme before\ncalling \u0027nvme ns-id\u0027. For the check, factor out a helper function\n_test_dev_is_nvme(). While at it, replace short command options -q and\n-f with long options --quiet and --canonicalize for readability.\n\nReviewed-by: Chaitanya Kulkarni \u003ckch@nvidia.com\u003e\nSigned-off-by: Shin\u0027ichiro Kawasaki \u003cshinichiro.kawasaki@wdc.com\u003e\n"
    },
    {
      "commit": "b14a95a6008a7d041f8181cb16b62053dff92f84",
      "tree": "d0265aef96ebd964ceee972eb1a7d89e3aa319dc",
      "parents": [
        "31a07ece69d6b24775e9bab619282348ebcd45f8"
      ],
      "author": {
        "name": "Shin\u0027ichiro Kawasaki",
        "email": "shinichiro.kawasaki@wdc.com",
        "time": "Mon Feb 23 03:50:23 2026"
      },
      "committer": {
        "name": "Shin\u0027ichiro Kawasaki",
        "email": "shinichiro.kawasaki@wdc.com",
        "time": "Sun Mar 01 12:35:39 2026"
      },
      "message": "common/nvme: unload nvme modules only when loaded\n\nTo test nvme target driver with various transports, _setup_nvmet() loads\nthe nvmet module along with other required modules based on the test\nconditions. The loaded modules are unloaded by _cleanup_nvmet()\nfollowing the same logic as _setup_nvmet(). However, this module load by\n_cleanup_nvmet() does not work as expected because it unloads the\nmodules regardless of module load status at test case start.\n\nFor example, when the nvmet and nvme-loop modules are already loaded at\nthe beginning of nvme/060 test case run for rdma transport. In this\ncase, _nvmet_setup() loads the nvmet-rdma module, which has a dependency\non the nvmet module. At the end of nvme/060, _cleanup_nvmet() attempts\nto unload both the nvmet-rdma and nvmet modules. While the nvmet-rdma\nmodule is successfully unloaded, the nvmet module fails to unload\nbecause it is still used by the nvme-loop module. This results in the\nfollowing error message:\n\n  modprobe with --wait option succeeded but still nvmet has references\n\nTo prevent the module unload failures, unload modules only when the\nmodules were loaded during the test. For that purpose, replace\n\"modprobe\" commands in _nvmet_setup() with calls to _load_module(). This\nensures that only modules not already loaded are recorded in the global\nMODULES_TO_UNLOAD array. Afterward, the recorded modules will be\nautomatically unloaded after the test case completes. Also drop calls to\n_patient_rmmod() in _nvmet_cleanup(), which are no longer necessary.\n\nReviewed-by: Daniel Wagner \u003cdwagner@suse.de\u003e\nSigned-off-by: Shin\u0027ichiro Kawasaki \u003cshinichiro.kawasaki@wdc.com\u003e\n"
    },
    {
      "commit": "31a07ece69d6b24775e9bab619282348ebcd45f8",
      "tree": "fa50e76a9c9dc23ea611d21dcc72940806252eb4",
      "parents": [
        "756d18d5fef0c0e4a16f7e9bea1ed915e9531ad8"
      ],
      "author": {
        "name": "Shin\u0027ichiro Kawasaki",
        "email": "shinichiro.kawasaki@wdc.com",
        "time": "Mon Feb 23 03:50:22 2026"
      },
      "committer": {
        "name": "Shin\u0027ichiro Kawasaki",
        "email": "shinichiro.kawasaki@wdc.com",
        "time": "Sun Mar 01 12:35:39 2026"
      },
      "message": "common/rc: introduce _load_module()\n\nWhen a test case requires specific modules for testing, it loads and\nuses the modules. To maintain a clean environment, it is desired that\nthe test case unloads after execution. The modules should be unloaded\nonly when the module was not loaded before the test case run. However,\nwriting logic to determine the module load status and unload accordingly\ncan be cumbersome.\n\nTo simplify and standardize such module unload control, introduce the\nhelper function _load_module(). It attempts to load the specified\nmodule and records it to the global array MODULES_TO_UNLOAD only when\nthe module was not already loaded. Modules listed in MODULES_TO_UNLOAD\nare unloaded by _unload_modules() after each test case run.\n\nReviewed-by: Daniel Wagner \u003cdwagner@suse.de\u003e\nSigned-off-by: Shin\u0027ichiro Kawasaki \u003cshinichiro.kawasaki@wdc.com\u003e\n"
    },
    {
      "commit": "756d18d5fef0c0e4a16f7e9bea1ed915e9531ad8",
      "tree": "9d8a2a73b2d6815e7c869f9a7b1031b20aecdd19",
      "parents": [
        "55045b08df11cde42957e02b8cfe9595dc01d95d"
      ],
      "author": {
        "name": "Shin\u0027ichiro Kawasaki",
        "email": "shinichiro.kawasaki@wdc.com",
        "time": "Mon Feb 23 03:50:21 2026"
      },
      "committer": {
        "name": "Shin\u0027ichiro Kawasaki",
        "email": "shinichiro.kawasaki@wdc.com",
        "time": "Sun Mar 01 12:35:39 2026"
      },
      "message": "check: call _unload_modules for each test run\n\nCurrently, the check script calls _unload_modules() once per test case.\nHowever, when a test case has set_conditions(), the test case is\nexecuted multiple times, once for each specified condition. Despite\nthese multiple execution, _unload_modules() is called only once after\nall the runs for various conditions have been completed.\n\nThis behavior causes module unload problems. When a run leaves some\nmodules loaded, subsequent runs can be affected by the loaded modules.\nTo prevent such problems, call _unload_modules() for each test case run\nfor every condition.\n\nFixes: fb3ba926da7d (\"check: support test case repeat by different conditions\")\nReviewed-by: Daniel Wagner \u003cdwagner@suse.de\u003e\nSigned-off-by: Shin\u0027ichiro Kawasaki \u003cshinichiro.kawasaki@wdc.com\u003e\n"
    },
    {
      "commit": "55045b08df11cde42957e02b8cfe9595dc01d95d",
      "tree": "780ed38100dc8d0ced63951968b59ea39379f689",
      "parents": [
        "8c40fa16ade3123f5b92fc4be154a49a3fecc23b"
      ],
      "author": {
        "name": "Shin\u0027ichiro Kawasaki",
        "email": "shinichiro.kawasaki@wdc.com",
        "time": "Fri Feb 20 13:23:51 2026"
      },
      "committer": {
        "name": "Shin\u0027ichiro Kawasaki",
        "email": "shinichiro.kawasaki@wdc.com",
        "time": "Fri Feb 27 01:46:47 2026"
      },
      "message": "zbd/002: do not check write pointers of conventional zones\n\nAfter the recent change in util-linux [1], the \u0027blkzone report\u0027 command\nno longer reports numeric values for write pointers when the write\npointers are invalid. Instead, now it reports the sting \u0027N/A\u0027. The test\ncase zbd/002 assumed that \u0027blkzone report\u0027 command would return valid\nwrite pointer values for conventional zones. The test case worked before\nthe blkzone change, but now the test fails because of the wrong\nassumption.\n\nTo avoid the failure, do not check write pointer values when the zone\ntype is conventional.\n\nLink: [1] https://github.com/util-linux/util-linux/commit/b032247f48d8b6a13bf8541eb663c779e448f568\nReviewed-by: Damien Le Moal \u003cdlemoal@kernel.org\u003e\nSigned-off-by: Shin\u0027ichiro Kawasaki \u003cshinichiro.kawasaki@wdc.com\u003e\n"
    },
    {
      "commit": "8c40fa16ade3123f5b92fc4be154a49a3fecc23b",
      "tree": "0b43aff9cfdf18e53ca80465a6ecf90000fe6bdc",
      "parents": [
        "f14914d04256668901b8a5421d892821ee4302f7"
      ],
      "author": {
        "name": "Shin\u0027ichiro Kawasaki",
        "email": "shinichiro.kawasaki@wdc.com",
        "time": "Fri Feb 20 13:23:50 2026"
      },
      "committer": {
        "name": "Shin\u0027ichiro Kawasaki",
        "email": "shinichiro.kawasaki@wdc.com",
        "time": "Fri Feb 27 01:46:47 2026"
      },
      "message": "zbd/rc: do not use invalid write pointer values by blkzone report\n\nAfter the recent change in util-linux [1], the \u0027blkzone report\u0027 command\nno longer reports numeric values for write pointers when the write\npointers are invalid. Instead, it reports the sting \u0027N/A\u0027. Currently,\n_get_blkzone_report() assumes that the write pointer values are numeric\neven when the values are invalid. Then it evaluates \u0027N/A\u0027 as numeric and\ntriggers arithmetic operation failures.\n\nTo avoid the failures, check zone type and zone condition. If the zone\ntype and condition indicate that the write pointer is invalid, do not\nuse the blkzone report string. Instead, use -1 as the write pointer\nvalue to indicate the value is invalid.\n\nLink: [1] https://github.com/util-linux/util-linux/commit/b032247f48d8b6a13bf8541eb663c779e448f568\nReviewed-by: Damien Le Moal \u003cdlemoal@kernel.org\u003e\nSigned-off-by: Shin\u0027ichiro Kawasaki \u003cshinichiro.kawasaki@wdc.com\u003e\n"
    },
    {
      "commit": "f14914d04256668901b8a5421d892821ee4302f7",
      "tree": "4f7adae7fd183f0b0cb1e7eed860b0490de9f736",
      "parents": [
        "b5b69934110215663d67db7fe20acebca4fcfc37"
      ],
      "author": {
        "name": "Daniel Wagner",
        "email": "wagi@kernel.org",
        "time": "Fri Feb 13 07:58:06 2026"
      },
      "committer": {
        "name": "Shin\u0027ichiro Kawasaki",
        "email": "shinichiro.kawasaki@wdc.com",
        "time": "Thu Feb 19 11:21:32 2026"
      },
      "message": "nvme/039: use nvme --no-ioctl-probing when available\n\nnvme-cli 3.x uses the 64-bit IOCTL interface when it\u0027s available. It\nuses a IOCTL to probe if it is available. The test relies that after\nsetting up the error injection the next ioctl is the expected\none (either IO or ADMIN command).\n\nThus new probing breaks the test case. nvme-cli 3. introduce a\n--no-ioctl-probing global command line option which disables this\nfeature and the 32-bit IOCTL interface will be used without probing.\n\nLink: https://github.com/linux-blktests/blktests/pull/227\nLink: https://github.com/linux-blktests/blktests/issues/224\nSigned-off-by: Daniel Wagner \u003cwagi@kernel.org\u003e\nSigned-off-by: Shin\u0027ichiro Kawasaki \u003cshinichiro.kawasaki@wdc.com\u003e\n"
    },
    {
      "commit": "b5b69934110215663d67db7fe20acebca4fcfc37",
      "tree": "6b4a7598135c6fd372316045dc8780a2bb70147f",
      "parents": [
        "a94b77010d56abcf830fa7d49afeaff61f2fec74"
      ],
      "author": {
        "name": "Shin\u0027ichiro Kawasaki",
        "email": "shinichiro.kawasaki@wdc.com",
        "time": "Tue Jan 27 10:07:10 2026"
      },
      "committer": {
        "name": "Shin\u0027ichiro Kawasaki",
        "email": "shinichiro.kawasaki@wdc.com",
        "time": "Thu Feb 05 03:51:14 2026"
      },
      "message": "common/fio: ignore fio messages about random generator selection\n\nThe latest fio after the commit 1d282baecd68 (\"fio: make sure that child\nprocess output is comitted\") often prints the warning messages about\nrandom generator selection:\n\n    fio: file test.0.0 exceeds 32-bit tausworthe random generator.\n    fio: Switching to tausworthe64. Use the random_generator\u003d option to get rid of this warning.\n\nThis causes fio output parse failure at the test case block/004. To\navoid the failure, ignore the messages.\n\nSigned-off-by: Shin\u0027ichiro Kawasaki \u003cshinichiro.kawasaki@wdc.com\u003e\n"
    },
    {
      "commit": "a94b77010d56abcf830fa7d49afeaff61f2fec74",
      "tree": "dc5f0675f42635a4e30c2affc71c44860b8c2f45",
      "parents": [
        "5885deefb15bde9858600385369419bf774e4a06"
      ],
      "author": {
        "name": "Swarna Prabhu",
        "email": "s.prabhu@samsung.com",
        "time": "Mon Feb 02 19:26:33 2026"
      },
      "committer": {
        "name": "Shin\u0027ichiro Kawasaki",
        "email": "shinichiro.kawasaki@wdc.com",
        "time": "Wed Feb 04 11:42:34 2026"
      },
      "message": "nvme/067: test io_uring pass through for NVMe admin queue\n\nSimple test to exercise the nvme admin commands usage with\nio uring passthrough interfaces. The motivation for the test\nis to extend the kernel code coverage for NVMe admin commands\nvia io_uring passthrough.\n\nSigned-off-by: Swarna Prabhu \u003cs.prabhu@samsung.com\u003e\n[Shin\u0027ichiro: fixed program name and space indent, declared local vars]\nSigned-off-by: Shin\u0027ichiro Kawasaki \u003cshinichiro.kawasaki@wdc.com\u003e\n"
    },
    {
      "commit": "5885deefb15bde9858600385369419bf774e4a06",
      "tree": "ad588e66f80f112a1b0ecf59b22d67ccb861919c",
      "parents": [
        "ea34d6af95832b869b9d833c51d32af8f18b73d5",
        "51f58e92e490b3425fab6e30e4beb2a824c66b50"
      ],
      "author": {
        "name": "Shin\u0027ichiro Kawasaki",
        "email": "shinichiro.kawasaki@wdc.com",
        "time": "Sun Feb 01 04:32:55 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun Feb 01 04:32:55 2026"
      },
      "message": "Merge pull request #223 from yizhanglinux/kmemleak-fix\n\ncheck: fix kmemleak scan when DEBUG_KMEMLEAK_DEFAULT_OFF enabled"
    },
    {
      "commit": "51f58e92e490b3425fab6e30e4beb2a824c66b50",
      "tree": "ad588e66f80f112a1b0ecf59b22d67ccb861919c",
      "parents": [
        "157f1002fb665b842102c7e4b2139f95325da80a"
      ],
      "author": {
        "name": "Yi Zhang",
        "email": "yi.zhang@redhat.com",
        "time": "Fri Jan 23 05:02:20 2026"
      },
      "committer": {
        "name": "Yi Zhang",
        "email": "yi.zhang@redhat.com",
        "time": "Fri Jan 30 16:20:07 2026"
      },
      "message": "check: fix kmemleak scan when DEBUG_KMEMLEAK_DEFAULT_OFF enabled\n\nScan kmemleak will be failed when DEBUG_KMEMLEAK_DEFAULT_OFF enabled.\nWe have to add kmemleak\u003don to cmdline to fully enable kmemleak.\n\n$ grep -rn KMEMLEAK_DEFAULT /boot/config-6.19.0-0.rc6.260122ga66191c590b3b.45.eln154.aarch64+debug\nCONFIG_DEBUG_KMEMLEAK_DEFAULT_OFF\u003dy\n$ ll /sys/kernel/debug/kmemleak\n-rw-r--r--. 1 root root 0 Jan 23 00:12 /sys/kernel/debug/kmemleak\n$ echo scan \u003e/sys/kernel/debug/kmemleak\n-bash: echo: write error: Operation not permitted\n\nSigned-off-by: Yi Zhang \u003cyi.zhang@redhat.com\u003e\nSuggested-by: Nilay Shroff \u003cnilay@linux.ibm.com\u003e\nSuggested-by: Shin\u0027ichiro Kawasaki \u003cshinichiro.kawasaki@wdc.com\u003e\n"
    },
    {
      "commit": "157f1002fb665b842102c7e4b2139f95325da80a",
      "tree": "b8882e021bb12706f5af7198220d98ae47157185",
      "parents": [
        "ea34d6af95832b869b9d833c51d32af8f18b73d5"
      ],
      "author": {
        "name": "Yi Zhang",
        "email": "yi.zhang@redhat.com",
        "time": "Sun Jan 25 10:13:47 2026"
      },
      "committer": {
        "name": "Yi Zhang",
        "email": "yi.zhang@redhat.com",
        "time": "Sun Jan 25 15:15:25 2026"
      },
      "message": "check: move _get_kernel_option and _check_kernel_option to check\n\nMove the two functions to check for kernel option\nDEBUG_KMEMLEAK_DEFAULT_OFF check\n\nSigned-off-by: Yi Zhang \u003cyi.zhang@redhat.com\u003e\n"
    },
    {
      "commit": "ea34d6af95832b869b9d833c51d32af8f18b73d5",
      "tree": "a386bd54c9754584b5eb679e7497a170f380bad5",
      "parents": [
        "98176bf376688994dbb8008b079da751f7b89a87"
      ],
      "author": {
        "name": "John Pittman",
        "email": "jpittman@redhat.com",
        "time": "Thu Jan 22 19:31:33 2026"
      },
      "committer": {
        "name": "Shin\u0027ichiro Kawasaki",
        "email": "shinichiro.kawasaki@wdc.com",
        "time": "Sun Jan 25 02:23:51 2026"
      },
      "message": "block/042: check sysfs values prior to running\n\nIn testing some older kernels recently, block/042 has failed due\nto dma_alignment and virt_boundary_mask not being present.\n\n   Running block/042\n   +cat: \u0027.../queue/dma_alignment\u0027: No such file or directory\n   +cat: \u0027.../queue/virt_boundary_mask\u0027: No such file or directory\n   +dio-offsets: test_dma_aligned: failed to write buf: Invalid argument\n\nTo ensure we skip if this is the case, check all sysfs values prior\nto run. Also, change the spaces to tabs before _require_test_dev_sysfs\nfor consistency with the rest of blktests.\n\nSigned-off-by: John Pittman \u003cjpittman@redhat.com\u003e\nSigned-off-by: Shin\u0027ichiro Kawasaki \u003cshinichiro.kawasaki@wdc.com\u003e\n"
    },
    {
      "commit": "98176bf376688994dbb8008b079da751f7b89a87",
      "tree": "bce88c355f31ef608d58180a00e705882b71c6fa",
      "parents": [
        "926b890a6e9700f6bf7c8ee47c3f3e9f531b1da1"
      ],
      "author": {
        "name": "John Pittman",
        "email": "jpittman@redhat.com",
        "time": "Thu Jan 22 19:31:32 2026"
      },
      "committer": {
        "name": "Shin\u0027ichiro Kawasaki",
        "email": "shinichiro.kawasaki@wdc.com",
        "time": "Sun Jan 25 02:23:51 2026"
      },
      "message": "common/rc: support multiple arguments for _require_test_dev_sysfs()\n\nIn some cases we may need to check multiple sysfs values for tests.\nIf this happens, create the ability to pass in multiple arguments to\n_require_test_dev_sysfs() instead of having to call the function\nmultiple times.\n\nSigned-off-by: John Pittman \u003cjpittman@redhat.com\u003e\nSigned-off-by: Shin\u0027ichiro Kawasaki \u003cshinichiro.kawasaki@wdc.com\u003e\n"
    },
    {
      "commit": "926b890a6e9700f6bf7c8ee47c3f3e9f531b1da1",
      "tree": "39a7056a9603ceeeeefb8b32c6b26bc2d1ee7843",
      "parents": [
        "b2dc1ece07dbd9bfce1282d81986a81a21a3fa4d"
      ],
      "author": {
        "name": "Daniel Wagner",
        "email": "wagi@kernel.org",
        "time": "Sat Jan 17 05:04:59 2026"
      },
      "committer": {
        "name": "Shin\u0027ichiro Kawasaki",
        "email": "shinichiro.kawasaki@wdc.com",
        "time": "Fri Jan 23 06:54:08 2026"
      },
      "message": "common/nvme: reset def_adrfam for ipv4 case\n\nWhen NVMET_TRTYPES specifies multiple transport types, blktests runs\neach test case in the nvme group for each of the specified transport\ntypes. When a test case is run for \"fc\" transport, it succeeds. However,\nwhen following transport is \"tcp\" or \"rdma\", the test case fails.\n\nThis failure happens because the run for \"fc\" transport overrides the\nglobal variable \u0027def_adrfam\u0027 with the value \"fc\". \u0027def_adrfam\u0027 is\ninitialized with \"ipv4\" when \"common/nvme\" is loaded, and it was assumed\nthat this value was not reused after the overwrite. However, since the\ncommit a16ac8e052d4 (\"nvme/{002-031,033-038,040-045,047,048}: support\nNMVET_TRTYPES\"), the overwritten \u0027def_adrfam\u0027 is reused for other\ntransport types and the value \"fc\" causes failure for \"tcp\" or \"rdma\"\ntransports.\n\nTo ensure that \u0027def_adrfam\u0027 has correct values for \"tcp\" and \"rdma\"\ntransports even after test case runs for \"fc\" transport, initialize\nthe \u0027def_adrfam\u0027 with the value \"ipv4\". For the completeness, set \"ipv4\"\nto \u0027def_adrfam\u0027 also when \"nvme_adrfam\" is specified.\n\nFixes: a16ac8e052d4 (\"nvme/{002-031,033-038,040-045,047,048}: support NMVET_TRTYPES\")\nLink: https://github.com/linux-blktests/blktests/issues/217\nSigned-off-by: Daniel Wagner \u003cwagi@kernel.org\u003e\nSigned-off-by: Shin\u0027ichiro Kawasaki \u003cshinichiro.kawasaki@wdc.com\u003e\n"
    },
    {
      "commit": "b2dc1ece07dbd9bfce1282d81986a81a21a3fa4d",
      "tree": "13f911326d55535fefde6c2e1dd6605395083b6b",
      "parents": [
        "7c3ad92d3d8f64e09e9b1ad130b07cd36bf11e7b"
      ],
      "author": {
        "name": "Nilay Shroff",
        "email": "nilay@linux.ibm.com",
        "time": "Tue Jan 13 09:51:03 2026"
      },
      "committer": {
        "name": "Shin\u0027ichiro Kawasaki",
        "email": "shinichiro.kawasaki@wdc.com",
        "time": "Wed Jan 21 02:27:18 2026"
      },
      "message": "check: add kmemleak support to blktests\n\nRunning blktests can also help uncover kernel memory leaks when the\nkernel is built with CONFIG_DEBUG_KMEMLEAK. However, until now the\nblktests framework had no way to automatically detect or report such\nleaks. Users typically had to manually setup kmemleak and trigger\nscans after running tests[1][2].\n\nThis change integrates kmemleak support directly into the blktests\nframework. Before running each test, the framework checks for the\npresence of /sys/kernel/debug/kmemleak to determine whether kmemleak\nis enabled for the running kernel. If available, before running a test,\nany existing kmemleak reports are cleared to avoid false positives\nfrom previous tests. After the test completes, the framework explicitly\ntriggers a kmemleak scan. If memory leaks are detected, they are written\nto a per-test file at, \"results/.../.../\u003ctest\u003e.kmemleak\" and the\ncorresponding test is marked as FAIL. Users can then inspect the\n\u003ctest\u003e.kmemleak file to analyze the reported leaks.\n\nWith this enhancement, blktests can automatically detect kernel memory\nleaks (if kerel is configured with CONFIG_DEBUG_KMEMLEAK support)  on\na per-test basis, removing the need for manual kmemleak setup and scans.\nThis should make it easier and faster to identify memory leaks\nintroduced by individual tests.\n\n[1] https://lore.kernel.org/all/CAHj4cs8oJFvz\u003ddaCvjHM5dYCNQH4UXwSySPPU4v-WHce_kZXZA@mail.gmail.com/\n[2] https://lore.kernel.org/all/CAHj4cs9wv3SdPo+N01Fw2SHBYDs9tj2M_e1-GdQOkRy\u003dDsBB1w@mail.gmail.com/\n\nSigned-off-by: Nilay Shroff \u003cnilay@linux.ibm.com\u003e\nReviewed-by: Daniel Wagner \u003cdwagner@suse.de\u003e\nReviewed-by: Yi Zhang \u003cyi.zhang@redhat.com\u003e\nReviewed-by: Johannes Thumshirn \u003cjohannes.thumshirn@wdc.com\u003e\n[Shin\u0027ichiro: replaced indent spaces with tabs]\nSigned-off-by: Shin\u0027ichiro Kawasaki \u003cshinichiro.kawasaki@wdc.com\u003e\n"
    },
    {
      "commit": "7c3ad92d3d8f64e09e9b1ad130b07cd36bf11e7b",
      "tree": "c8fb4e3c84c1ff2e39a6d84550e9ae9ccee54f29",
      "parents": [
        "0819d1ffedd7324cf0565c89eca951471962744d"
      ],
      "author": {
        "name": "Shin\u0027ichiro Kawasaki",
        "email": "shinichiro.kawasaki@wdc.com",
        "time": "Thu Jan 15 09:11:01 2026"
      },
      "committer": {
        "name": "Shin\u0027ichiro Kawasaki",
        "email": "shinichiro.kawasaki@wdc.com",
        "time": "Wed Jan 21 00:10:21 2026"
      },
      "message": "check: check reference count for modprobe --remove --wait success case\n\nThe commit \"check,common/*: replace module removal with patient module\nremoval\" introduced the new helper function _patient_rmmod() which calls\nmodprobe command with --wait option to do patient module removal.\nHowever, the modprobe command can return a zero exit status even when\nthe module removal fails. In such cases, the failure remains unreported\nand hidden. This behavior was observed during the execution of blktests\nsrp test group using rdma_rxe driver on a kernel affected by the\nrdma_rxe module unload failure bug, which was addressed by the recent\npatch [1].\n\nTo address this problem, check the reference count of the target module\nafter calling the modprobe command in _patient_rmmod(). If the module\u0027s\nreference count indicates a removal failure, print an error message to\nstderr. While at it, change the print target stream from stdout to\nstderr for other error messages in _patient_rmmod() to ensure the\nmessages are printed on failure.\n\n[1] https://lore.kernel.org/linux-rdma/20251219140408.2300163-1-metze@samba.org/\n\nReviewed-by: Bart Van Assche \u003cbvanassche@acm.org\u003e\nReviewed-by: Daniel Wagner \u003cdwagner@suse.de\u003e\nSigned-off-by: Shin\u0027ichiro Kawasaki \u003cshinichiro.kawasaki@wdc.com\u003e\n"
    },
    {
      "commit": "0819d1ffedd7324cf0565c89eca951471962744d",
      "tree": "02f2acb503eb373ae15ccdca739b200a04da68eb",
      "parents": [
        "7947f5974eef64f438fc0612ed913ad573150442"
      ],
      "author": {
        "name": "Shin\u0027ichiro Kawasaki",
        "email": "shinichiro.kawasaki@wdc.com",
        "time": "Thu Jan 15 09:11:00 2026"
      },
      "committer": {
        "name": "Shin\u0027ichiro Kawasaki",
        "email": "shinichiro.kawasaki@wdc.com",
        "time": "Wed Jan 21 00:10:21 2026"
      },
      "message": "check: reimplement _unload_modules() with _patient_rmmod()\n\nTo make the helper function _unload_modules() more robust, reimplement\nit to call _patient_rmmod(). Another function with the similar name\n_unload_module() is left as it is.\n\nReviewed-by: Bart Van Assche \u003cbvanassche@acm.org\u003e\nReviewed-by: Daniel Wagner \u003cdwagner@suse.de\u003e\nSigned-off-by: Shin\u0027ichiro Kawasaki \u003cshinichiro.kawasaki@wdc.com\u003e\n"
    },
    {
      "commit": "7947f5974eef64f438fc0612ed913ad573150442",
      "tree": "f13f27aadb4e811e8ffca2bb0e9aa4e40dca7dad",
      "parents": [
        "e387a7e0169cc012eb6a7140a0561d2901c92a76"
      ],
      "author": {
        "name": "Luis Chamberlain",
        "email": "mcgrof@kernel.org",
        "time": "Thu Jan 15 09:10:59 2026"
      },
      "committer": {
        "name": "Shin\u0027ichiro Kawasaki",
        "email": "shinichiro.kawasaki@wdc.com",
        "time": "Wed Jan 21 00:10:21 2026"
      },
      "message": "check,common,srp/rc: replace module removal with patient module removal\n\nA long time ago, in a galaxy far, far away...\n\nI ran into some odd scsi_debug false positives with fstests. This\nprompted me to look into them given these false positives prevents\nme from moving forward with establishing a test baseline with high\nnumber of cycles. That is, this stupid issue was prevening creating\nhigh confidence in testing.\n\nI reported it in 2021 [0] and exchanged some ideas with Doug. However,\nin the end, despite efforts to help things with scsi_debug there were\nstill issues lingering which seemed to defy our expectations upstream.\nOne of the last hanging fruit issues is and always has been that\nuserspace expectations for proper module removal has been broken,\nso in the end I have demonstrated this is a generic issue [1]. The same\nproblem was reported by Swarna in 2025 [2].\n\nLong ago a WAIT option for module removal was added... that was then\nremoved as it was deemed not needed as folks couldn\u0027t figure out when\nthese races happened. The races are actually pretty easy to trigger, it\nwas just never properly documented. A simpe blkdev_open() will easily\nbump a module refcnt, and these days many thing scan do that sort of\nthing.\n\nThe proper solution is to implement then a patient module removal\non kmod and that has been merged now as modprobe --wait\u003dMSEC option.\nWe need a work around to open code a similar solution for users of\nold versions of kmod. An open coded solution for fstests exists\nthere for over a year now. This now provides the respective blktests\nimplementation.\n\n[0] https://bugzilla.kernel.org/show_bug.cgi?id\u003d212337\n[1] https://bugzilla.kernel.org/show_bug.cgi?id\u003d214015\n[2] https://lore.kernel.org/linux-block/aUmJtfPM7A26swxN@deb-101020-bm01.eng.stellus.in/\n\n[Shin\u0027ichiro: reflected comments by Bart for v4 series]\n[Shin\u0027ichiro: replaced modprobe -r option with --remove option]\n\nReviewed-by: Chaitanya Kulkarni \u003ckch@nvidia.com\u003e\nSigned-off-by: Luis Chamberlain \u003cmcgrof@kernel.org\u003e\n[Shin\u0027ichiro: moved new function to \u0027check\u0027 to not source common/rc]\nReviewed-by: Bart Van Assche \u003cbvanassche@acm.org\u003e\nReviewed-by: Daniel Wagner \u003cdwagner@suse.de\u003e\nSigned-off-by: Shin\u0027ichiro Kawasaki \u003cshinichiro.kawasaki@wdc.com\u003e\n"
    },
    {
      "commit": "e387a7e0169cc012eb6a7140a0561d2901c92a76",
      "tree": "af64e5ab1af634a1d35b65a4c836109859799101",
      "parents": [
        "9897976ef1101942fdd5b4fdad8a01529f88fe42"
      ],
      "author": {
        "name": "Changhui Zhong",
        "email": "czhong@redhat.com",
        "time": "Fri Nov 28 09:58:49 2025"
      },
      "committer": {
        "name": "Shin\u0027ichiro Kawasaki",
        "email": "shinichiro.kawasaki@wdc.com",
        "time": "Sun Jan 11 10:19:33 2026"
      },
      "message": "throtl/rc: avoid test timeout caused by scsi_debug delay\n\nWhen the kernel sets CONFIG_HZ\u003d100, throtl/001 fails on the scsi_debug\ndevice. scsi_debug adds 1 jiffy delay to each I/O which takes 0.01\nsecond. Then 256 I/Os take around 2.56 seconds which is reported as 3\nseconds. This makes the test case fail which expects I/Os to complete\nwithin 1 second.\n\nTo avoid the unexpected failure, set zero value to the scsi_debug delay\nparameter. With this, scsi_debug adds no delay, then the 256 I/Os will\ntake less than 1 second to complete the I/Os. This behavior will be the\nsame as null_blk.\n\nLink: https://github.com/linux-blktests/blktests/pull/221\nSigned-off-by: Changhui Zhong \u003cczhong@redhat.com\u003e\nSigned-off-by: Shin\u0027ichiro Kawasaki \u003cshinichiro.kawasaki@wdc.com\u003e\n"
    },
    {
      "commit": "9897976ef1101942fdd5b4fdad8a01529f88fe42",
      "tree": "0b036de3493de4f4f2d6ac120658ea431ca788c9",
      "parents": [
        "a5cce66c689b4364d3379ce15015b0be6032924a",
        "5a1ed27e9084b471811117fa9daa2ffa9804fb06"
      ],
      "author": {
        "name": "Shin\u0027ichiro Kawasaki",
        "email": "shinichiro.kawasaki@wdc.com",
        "time": "Sun Jan 04 11:19:43 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun Jan 04 11:19:43 2026"
      },
      "message": "Merge pull request #213 from yizhanglinux/nvmet-configfs-clean-fix\n\ncommon/nvme: remove allowed_hosts before remove subsys in nvmet configfs"
    },
    {
      "commit": "a5cce66c689b4364d3379ce15015b0be6032924a",
      "tree": "1cfe4902d1e05e56fbe07e57634b96d198c12027",
      "parents": [
        "7b7829f6d86554cf52152860c8ab4b3a3594263d"
      ],
      "author": {
        "name": "Daniel Wagner",
        "email": "wagi@kernel.org",
        "time": "Tue Nov 25 14:22:40 2025"
      },
      "committer": {
        "name": "Shin\u0027ichiro Kawasaki",
        "email": "shinichiro.kawasaki@wdc.com",
        "time": "Sun Jan 04 05:10:08 2026"
      },
      "message": "common/nvme, nvme/{041,044,047,062}: check return code of nvme connect\n\nDon\u0027t ignore the nvme connect return codes. This ensures that all\ntransport behave the same.\n\nSigned-off-by: Daniel Wagner \u003cwagi@kernel.org\u003e\n[Shin\u0027ichiro: fixed indent]\nSigned-off-by: Shin\u0027ichiro Kawasaki \u003cshinichiro.kawasaki@wdc.com\u003e\n"
    },
    {
      "commit": "7b7829f6d86554cf52152860c8ab4b3a3594263d",
      "tree": "e0793cf883be726b1ea427c963ffb43f33c5f6d3",
      "parents": [
        "fda214161470ccf774c38bacba2341965c4d3117"
      ],
      "author": {
        "name": "Daniel Wagner",
        "email": "wagi@kernel.org",
        "time": "Tue Nov 25 15:21:56 2025"
      },
      "committer": {
        "name": "Shin\u0027ichiro Kawasaki",
        "email": "shinichiro.kawasaki@wdc.com",
        "time": "Sun Jan 04 05:09:00 2026"
      },
      "message": "common/nvme, nvme/051: drop final / for NVMET_[CFS|DFS] paths\n\nThere is no need to for the final / in the path. All users do add\nanother / when concatenation a path except nvme/051. Drop the /, and add\nto nvme/051. This makes the path look more consistent when debugging.\n\nSigned-off-by: Daniel Wagner \u003cwagi@kernel.org\u003e\n[Shin\u0027ichiro: added / to nvme/051]\nSigned-off-by: Shin\u0027ichiro Kawasaki \u003cshinichiro.kawasaki@wdc.com\u003e\n"
    },
    {
      "commit": "fda214161470ccf774c38bacba2341965c4d3117",
      "tree": "df40df519cb9f2adba59911e1b85d2753c04c775",
      "parents": [
        "b1b99d1a36c2263767e60d943b2d744ff21d6cad"
      ],
      "author": {
        "name": "Daniel Wagner",
        "email": "wagi@kernel.org",
        "time": "Tue Nov 25 13:00:14 2025"
      },
      "committer": {
        "name": "Shin\u0027ichiro Kawasaki",
        "email": "shinichiro.kawasaki@wdc.com",
        "time": "Sat Jan 03 11:05:48 2026"
      },
      "message": "common/rc, nvme/{043-045}: add _have_crypto_algorithm\n\nA crypto algorithm might be provided as built-in, thus check first if it\nis always present before trying to load as module.\n\nSigned-off-by: Daniel Wagner \u003cwagi@kernel.org\u003e\n[Shin\u0027ichiro: replaced grep -q option with --quiet option]\nSigned-off-by: Shin\u0027ichiro Kawasaki \u003cshinichiro.kawasaki@wdc.com\u003e\n"
    },
    {
      "commit": "b1b99d1a36c2263767e60d943b2d744ff21d6cad",
      "tree": "daacf9aa094a25af2214cdddb1cfe0b36013e6c7",
      "parents": [
        "0fc119bc6e3e0d31d3d65fbe5ad079cb39a39828"
      ],
      "author": {
        "name": "John Pittman",
        "email": "jpittman@redhat.com",
        "time": "Tue Dec 09 21:38:35 2025"
      },
      "committer": {
        "name": "Shin\u0027ichiro Kawasaki",
        "email": "shinichiro.kawasaki@wdc.com",
        "time": "Sat Dec 20 04:32:08 2025"
      },
      "message": "md/{002,004}: adjust per_host_store to use numeric boolean\n\nIn both md/004 and md/002, when loading the scsi_debug module,\n\"true\" is passed as the value for per_host_store. However, on\nolder kernels, kstrtobool is more limited, so we get the error:\n\"scsi_debug: `true\u0027 invalid for parameter `per_host_store\u0027\".\nChange the boolean from \"true\" to \"1\" to avoid this issue.\n\nSigned-off-by: John Pittman \u003cjpittman@redhat.com\u003e\nSigned-off-by: Shin\u0027ichiro Kawasaki \u003cshinichiro.kawasaki@wdc.com\u003e\n"
    },
    {
      "commit": "0fc119bc6e3e0d31d3d65fbe5ad079cb39a39828",
      "tree": "93bfb10390ed540a0a46c8a3e0be348eedffb567",
      "parents": [
        "98dc6ad64c798269fbd15487cea2fd2ea0685496"
      ],
      "author": {
        "name": "Li Zhijian",
        "email": "lizhijian@fujitsu.com",
        "time": "Fri Nov 28 05:22:35 2025"
      },
      "committer": {
        "name": "Shin\u0027ichiro Kawasaki",
        "email": "shinichiro.kawasaki@wdc.com",
        "time": "Sat Dec 20 04:31:56 2025"
      },
      "message": "throtl: don\u0027t specify sector_size for scsi_debug target\n\nCurrently, `scsi_debug` only supported a maximum `sector_size` of 4096\nbytes. However, on systems with a `PAGE_SIZE` greater than 4KB, some\n`throtl` tests (002, 003, and 007) attempt to load `scsi_debug`\nwith `sector_size\u003d$PAGE_SIZE`.\n\nThis mismatch causes `scsi_debug` module loading to fail, resulting in\ntest failures such as:\n\n\u003e throtl/003 (sdebug) (bps limit over IO split)                [failed]\n\u003e     runtime  0.147s  ...  0.146s\n\u003e     --- tests/throtl/003.out    2025-04-04 04:36:43.175999880 +0800\n\u003e     +++ /root/blktests/results/nodev_sdebug/throtl/003.out.bad  2025-11-16 09:26:07.287964459 +0800\n\u003e     @@ -1,4 +1,3 @@\n\u003e      Running throtl/003\n\u003e     -1\n\u003e     -1\n\u003e     -Test complete\n\u003e     +modprobe: ERROR: could not insert \u0027scsi_debug\u0027: Invalid argument\n\u003e     +Loading scsi_debug dev_size_mb\u003d1024 sector_size\u003d65536 failed\n\nAfter discussion[1] in the community, simply remove this parameter to leave\nit as the default sector size.\n\n[1] https://lore.kernel.org/linux-block/3407c6bc-9832-41d5-81c7-7216dd81f5e2@fnnas.com/\n\nSigned-off-by: Li Zhijian \u003clizhijian@fujitsu.com\u003e\nSigned-off-by: Shin\u0027ichiro Kawasaki \u003cshinichiro.kawasaki@wdc.com\u003e\n"
    },
    {
      "commit": "98dc6ad64c798269fbd15487cea2fd2ea0685496",
      "tree": "df5ebbd264273779c8907f89b35de81042e9c090",
      "parents": [
        "7984b8d3fb96914049b367390f12e55d31890699"
      ],
      "author": {
        "name": "Shin\u0027ichiro Kawasaki",
        "email": "shinichiro.kawasaki@wdc.com",
        "time": "Tue Dec 09 04:20:12 2025"
      },
      "committer": {
        "name": "Shin\u0027ichiro Kawasaki",
        "email": "shinichiro.kawasaki@wdc.com",
        "time": "Tue Dec 09 07:44:18 2025"
      },
      "message": "Documentation: describe influence on devices prepared by testing drivers\n\nWhen blktests runs, it may affect prepared by testing drivers such as\nnull_blk, scsi_debug, loopback and so on. Describe this influence in the\ndocumentation.\n\nSigned-off-by: Shin\u0027ichiro Kawasaki \u003cshinichiro.kawasaki@wdc.com\u003e\n"
    },
    {
      "commit": "7984b8d3fb96914049b367390f12e55d31890699",
      "tree": "0ecebdfe1b5a36a77e49ae61d231381932900d45",
      "parents": [
        "5483b2b44b96f3a0a848e33ae45dc62c2b3909e1"
      ],
      "author": {
        "name": "Li Zhijian",
        "email": "lizhijian@fujitsu.com",
        "time": "Fri Dec 05 03:10:53 2025"
      },
      "committer": {
        "name": "Shin\u0027ichiro Kawasaki",
        "email": "shinichiro.kawasaki@wdc.com",
        "time": "Tue Dec 09 04:24:19 2025"
      },
      "message": "scsi/004: Remove reliance on deprecated /proc/scsi/scsi_debug\n\nThe Kconfig option `SCSI_PROC_FS`, which provides the\n`/proc/scsi/scsi_debug` interface, has been deprecated for a long time.\n\nInstead of adding SCSI_PROC_FS as a requirement, refactor out the script\nto remove the scsi host to ensure all pending I/O has finished.\n\nPrevent the following error report:\nscsi/004 (ensure repeated TASK SET FULL results in EIO on timing out command) [failed]\n    runtime  1.743s  ...  1.935s\n    --- tests/scsi/004.out      2025-04-04 04:36:43.171999880 +0800\n    +++ /root/blktests/results/nodev/scsi/004.out.bad   2025-11-13 12:46:33.807994845 +0800\n    @@ -1,3 +1,4 @@\n     Running scsi/004\n     Input/output error\n    +grep: /proc/scsi/scsi_debug/0: No such file or directory\n     Test complete\n\nCc: Hannes Reinecke \u003chare@suse.de\u003e\nCc: Bart Van Assche \u003cbvanassche@acm.org\u003e\nSigned-off-by: Li Zhijian \u003clizhijian@fujitsu.com\u003e\nReviewed-by: Hannes Reinecke \u003chare@suse.de\u003e\nSigned-off-by: Shin\u0027ichiro Kawasaki \u003cshinichiro.kawasaki@wdc.com\u003e\n"
    },
    {
      "commit": "5483b2b44b96f3a0a848e33ae45dc62c2b3909e1",
      "tree": "d1912112a74042d93acd6cc5dd556941d1ce47c9",
      "parents": [
        "f2a4323df64245e5f3ec50dbcbb6c6e9a5925e7e"
      ],
      "author": {
        "name": "Shin\u0027ichiro Kawasaki",
        "email": "shinichiro.kawasaki@wdc.com",
        "time": "Tue Dec 02 10:04:49 2025"
      },
      "committer": {
        "name": "Shin\u0027ichiro Kawasaki",
        "email": "shinichiro.kawasaki@wdc.com",
        "time": "Tue Dec 02 10:07:44 2025"
      },
      "message": "src/dio-offsets.c: fix compiler error of open()\n\nThe blktests build CI reported the error below:\n\n gcc  -O2 -Wall -Wshadow -Werror  -DHAVE_LINUX_BLKZONED_H  -o dio-offsets dio-offsets.c\nIn file included from /usr/include/fcntl.h:342,\n                 from dio-offsets.c:14:\nIn function ‘open’,\n    inlined from ‘init_args’ at dio-offsets.c:43:12,\n    inlined from ‘main’ at dio-offsets.c:711:2:\n/usr/include/x86_64-linux-gnu/bits/fcntl2.h:50:11: error: call to ‘__open_missing_mode’ declared with attribute error: open with O_CREAT or O_TMPFILE in second argument needs 3 arguments\n   50 |           __open_missing_mode ();\n      |           ^~~~~~~~~~~~~~~~~~~~~~\n\nTo avoid the error, remove the O_CREAT flag from the open() call. The\nflag should not be necessary because the open target file is the test\ntarget block device file which should exist.\n\nSigned-off-by: Shin\u0027ichiro Kawasaki \u003cshinichiro.kawasaki@wdc.com\u003e\n"
    },
    {
      "commit": "f2a4323df64245e5f3ec50dbcbb6c6e9a5925e7e",
      "tree": "613db40c7928b5b16309f385d5a71a361629a205",
      "parents": [
        "446f6bc3b2c97c47c7214740bc1e364846db2dbf"
      ],
      "author": {
        "name": "Shin\u0027ichiro Kawasaki",
        "email": "shinichiro.kawasaki@wdc.com",
        "time": "Tue Dec 02 00:33:40 2025"
      },
      "committer": {
        "name": "Shin\u0027ichiro Kawasaki",
        "email": "shinichiro.kawasaki@wdc.com",
        "time": "Tue Dec 02 10:07:44 2025"
      },
      "message": "block/043: fix a shellcheck warning\n\nSigned-off-by: Shin\u0027ichiro Kawasaki \u003cshinichiro.kawasaki@wdc.com\u003e\n"
    },
    {
      "commit": "446f6bc3b2c97c47c7214740bc1e364846db2dbf",
      "tree": "6f0ebaca3c554ec98853c9c0c8d677588676c4e8",
      "parents": [
        "35997607e94dfa695323d8936d2e70557e8de392"
      ],
      "author": {
        "name": "Shin\u0027ichiro Kawasaki",
        "email": "shinichiro.kawasaki@wdc.com",
        "time": "Tue Dec 02 00:22:29 2025"
      },
      "committer": {
        "name": "Shin\u0027ichiro Kawasaki",
        "email": "shinichiro.kawasaki@wdc.com",
        "time": "Tue Dec 02 10:07:44 2025"
      },
      "message": "src/dio-offset.c: use tabs for indent\n\nThe source file dio-offset.c uses both tabs and spaces for indent.\nReplace the spaces with tabs for consistency.\n\nSigned-off-by: Shin\u0027ichiro Kawasaki \u003cshinichiro.kawasaki@wdc.com\u003e\n"
    },
    {
      "commit": "35997607e94dfa695323d8936d2e70557e8de392",
      "tree": "a35a17bab7673eda3465d9e6c1e22bdec8365651",
      "parents": [
        "2bf1aa067dcf2448228d2a1bfbb9dd9ae2904485"
      ],
      "author": {
        "name": "Shin\u0027ichiro Kawasaki",
        "email": "shinichiro.kawasaki@wdc.com",
        "time": "Tue Dec 02 00:21:00 2025"
      },
      "committer": {
        "name": "Shin\u0027ichiro Kawasaki",
        "email": "shinichiro.kawasaki@wdc.com",
        "time": "Tue Dec 02 10:07:44 2025"
      },
      "message": "block/042: add description and fix shellcheck warnings\n\nBased on the commit message of the commit 57edc104dc4e (\"blktests: test\ndirect io offsets\"), add description comment to the test case block/042.\nAlso, fix several shellcheck warnings.\n\nSigned-off-by: Shin\u0027ichiro Kawasaki \u003cshinichiro.kawasaki@wdc.com\u003e\n"
    },
    {
      "commit": "2bf1aa067dcf2448228d2a1bfbb9dd9ae2904485",
      "tree": "b56724e46a199fe4f63c6aff6dc9fcac1bc316f5",
      "parents": [
        "a37b49d85ac07022ac0be7409d6c1bc235e0e7c8"
      ],
      "author": {
        "name": "Keith Busch",
        "email": "kbusch@kernel.org",
        "time": "Wed Nov 19 19:54:49 2025"
      },
      "committer": {
        "name": "Shin\u0027ichiro Kawasaki",
        "email": "shinichiro.kawasaki@wdc.com",
        "time": "Tue Dec 02 10:07:33 2025"
      },
      "message": "block: add test of io_uring user metadata offsets\n\nFor devices with metadata, tests various userspace offsets with\nio_uring capabilities. If the metadata is formatted with ref tag\nprotection information, test various seed offsets as well.\n\nSigned-off-by: Keith Busch \u003ckbusch@kernel.org\u003e\nReviewed-by: Chaitanya Kulkarni \u003ckch@nvidia.com\u003e\nSigned-off-by: Shin\u0027ichiro Kawasaki \u003cshinichiro.kawasaki@wdc.com\u003e\n"
    },
    {
      "commit": "a37b49d85ac07022ac0be7409d6c1bc235e0e7c8",
      "tree": "99e0122826635070dda2114caddfc16e1699bcb2",
      "parents": [
        "cc9c46e1b80c9fa31e4a7e27e7992b5c6f7972b0"
      ],
      "author": {
        "name": "Keith Busch",
        "email": "kbusch@kernel.org",
        "time": "Wed Nov 19 19:54:48 2025"
      },
      "committer": {
        "name": "Shin\u0027ichiro Kawasaki",
        "email": "shinichiro.kawasaki@wdc.com",
        "time": "Tue Dec 02 10:07:21 2025"
      },
      "message": "block: add test of direct io offsets\n\nTests various direct IO memory and length alignments against the\ndevice\u0027s queue limits reported from sysfs.\n\nSigned-off-by: Keith Busch \u003ckbusch@kernel.org\u003e\nReviewed-by: Chaitanya Kulkarni \u003ckch@nvidia.com\u003e\n[Shin\u0027ichiro: capped buf_size with device size in init_buffers()]\n[Shin\u0027ichiro: added license and copyright in block/042 per Link below]\nLink: https://lore.kernel.org/linux-block/aSXci0u7c9Ppnjbd@kbusch-mbp/\nSigned-off-by: Shin\u0027ichiro Kawasaki \u003cshinichiro.kawasaki@wdc.com\u003e\n"
    },
    {
      "commit": "cc9c46e1b80c9fa31e4a7e27e7992b5c6f7972b0",
      "tree": "b35da3eeb4029ce3ec172052805dbd34177eb46f",
      "parents": [
        "69591d93ec09bc90bc7dc8c8e5a4c8aee43b0b9c",
        "54c1062d86a77f18d2910e8244a0653b2915e053"
      ],
      "author": {
        "name": "Shin\u0027ichiro Kawasaki",
        "email": "shinichiro.kawasaki@wdc.com",
        "time": "Sun Nov 16 09:08:42 2025"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun Nov 16 09:08:42 2025"
      },
      "message": "Merge pull request #212 from yizhanglinux/zbd-012-fix\n\nzbd/012, block/041, scsi/008: enable io_uring if it\u0027s disabled"
    },
    {
      "commit": "69591d93ec09bc90bc7dc8c8e5a4c8aee43b0b9c",
      "tree": "9331e55b80cb7006d29c23fd1105fc2c57a81b49",
      "parents": [
        "1f74eb9338893ea4f4f9219383ac61910c6542bf"
      ],
      "author": {
        "name": "Chaitanya Kulkarni",
        "email": "ckulkarnilinux@gmail.com",
        "time": "Sat Nov 08 10:00:34 2025"
      },
      "committer": {
        "name": "Shin\u0027ichiro Kawasaki",
        "email": "shinichiro.kawasaki@wdc.com",
        "time": "Fri Nov 14 07:18:45 2025"
      },
      "message": "nvme: convert tests to use _have_kernel_options\n\nConvert multiple _have_kernel_option calls in nvme tests to use the new\n_have_kernel_options helper function for more concise code.\n\nModified tests:\nnvme/039: FAULT_INJECTION, FAULT_INJECTION_DEBUG_FS\nnvme/041: NVME_AUTH, NVME_TARGET_AUTH\nnvme/042: NVME_AUTH, NVME_TARGET_AUTH\nnvme/043: NVME_AUTH, NVME_TARGET_AUTH\nnvme/044: NVME_AUTH, NVME_TARGET_AUTH\nnvme/045: NVME_AUTH, NVME_TARGET_AUTH\nnvme/050: FAIL_IO_TIMEOUT, FAULT_INJECTION_DEBUG_FS\nnvme/062: NVME_TCP_TLS, NVME_TARGET_TCP_TLS\nnvme/063: NVME_AUTH, NVME_TCP_TLS, NVME_TARGET_AUTH, NVME_TARGET_TCP_TLS\n\nSigned-off-by: Chaitanya Kulkarni \u003cckulkarnilinux@gmail.com\u003e\nSigned-off-by: Shin\u0027ichiro Kawasaki \u003cshinichiro.kawasaki@wdc.com\u003e\n"
    },
    {
      "commit": "1f74eb9338893ea4f4f9219383ac61910c6542bf",
      "tree": "8e8e650a758565d9791a5a9726428dbadf0d7938",
      "parents": [
        "9f0b5f217687b2f1ae28e1bf7d288421f3147d94"
      ],
      "author": {
        "name": "Chaitanya Kulkarni",
        "email": "ckulkarnilinux@gmail.com",
        "time": "Sat Nov 08 10:00:33 2025"
      },
      "committer": {
        "name": "Shin\u0027ichiro Kawasaki",
        "email": "shinichiro.kawasaki@wdc.com",
        "time": "Fri Nov 14 07:18:45 2025"
      },
      "message": "common/rc: add _have_kernel_options helper function\n\nAdd a new helper function _have_kernel_options() that accepts multiple\nkernel config options as arguments. This allows tests to check for\nmultiple kernel options in a single call, making the requires()\nfunction more concise.\n\nExample usage:\n  requires() {\n      _have_kernel_options IO_URING BLK_DEV_INTEGRITY\n  }\n\nInstead of:\n  requires() {\n      _have_kernel_option IO_URING\n      _have_kernel_option BLK_DEV_INTEGRITY\n  }\n\nThe function iterates through all provided options and returns failure\nif any option is not enabled, maintaining the same error reporting\nbehavior as individual calls.\n\nSigned-off-by: Chaitanya Kulkarni \u003cckulkarnilinux@gmail.com\u003e\n[Shin\u0027ichiro: modified _have_kernel_options() to check all arguments]\nSigned-off-by: Shin\u0027ichiro Kawasaki \u003cshinichiro.kawasaki@wdc.com\u003e\n"
    },
    {
      "commit": "54c1062d86a77f18d2910e8244a0653b2915e053",
      "tree": "1e29c28f22e774efc7dddcfc4f8d7d64782ddcd1",
      "parents": [
        "9f0b5f217687b2f1ae28e1bf7d288421f3147d94"
      ],
      "author": {
        "name": "Yi Zhang",
        "email": "yi.zhang@redhat.com",
        "time": "Thu Nov 13 05:03:30 2025"
      },
      "committer": {
        "name": "Yi Zhang",
        "email": "yi.zhang@redhat.com",
        "time": "Thu Nov 13 14:32:49 2025"
      },
      "message": "zbd/012, block/041, scsi/008: enable io_uring if it\u0027s disabled\n\nThe fio test need ioengine\u003dio_uring, enable it for fio\n\nSigned-off-by: Yi Zhang \u003cyi.zhang@redhat.com\u003e\n"
    },
    {
      "commit": "5a1ed27e9084b471811117fa9daa2ffa9804fb06",
      "tree": "f5eee61eaba368db54a8c35c58d8663b82a159cc",
      "parents": [
        "9f0b5f217687b2f1ae28e1bf7d288421f3147d94"
      ],
      "author": {
        "name": "Yi Zhang",
        "email": "yi.zhang@redhat.com",
        "time": "Thu Nov 13 14:03:31 2025"
      },
      "committer": {
        "name": "Yi Zhang",
        "email": "yi.zhang@redhat.com",
        "time": "Thu Nov 13 14:16:19 2025"
      },
      "message": "common/nvme: remove allowed_hosts before remove subsys in nvmet configfs\n\n$ nvme_trtype\u003dtcp ./check nvme/063\nnvme/063 (tr\u003dtcp) (Create authenticated TCP connections with secure concatenation)\n    runtime  2.220s  ...\nWARNING: Test did not clean up port: 0\nnvme/063 (tr\u003dtcp) (Create authenticated TCP connections with secure concatenation) [failed]\n    runtime  2.220s  ...  2.217sost: nqn.2014-08.org.nvmexpress:uuid:0f01fb42-9f7f-4856-b0b3-51e60b8de349\n    --- tests/nvme/063.out\t2025-11-02 02:47:38.826227836 -0500\n    +++ /root/blktests/results/nodev_tr_tcp/nvme/063.out.bad\t2025-11-02 08:43:09.743150576 -0500\n    @@ -1,7 +1,3 @@\n     Running nvme/063\n     Test secure concatenation with SHA256\n    -Reset controller\n    -disconnected 1 controller(s)\n    -Test secure concatenation with SHA384\n    -disconnected 1 controller(s)\n    -Test complete\n    ...\n    (Run \u0027diff -u tests/nvme/063.out /root/blktests/results/nodev_tr_tcp/nvme/063.out.bad\u0027 to see the entire diff)\n\nLink: https://github.com/linux-blktests/blktests/issues/207\nSigned-off-by: Yi Zhang \u003cyi.zhang@redhat.com\u003e\n"
    },
    {
      "commit": "9f0b5f217687b2f1ae28e1bf7d288421f3147d94",
      "tree": "179dbbcf1167ea72b803d0b12aec603014ed7ffa",
      "parents": [
        "d4b9edc27c985c4559388560e9e2b9193e811db2",
        "30491a65995e76649eb13ec7f3eb6b4be23e1fcb"
      ],
      "author": {
        "name": "Shin\u0027ichiro Kawasaki",
        "email": "shinichiro.kawasaki@wdc.com",
        "time": "Thu Nov 13 00:32:03 2025"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Nov 13 00:32:03 2025"
      },
      "message": "Merge pull request #210 from yizhanglinux/md-002-fix\n\nmd/002: ignore the \"File descripto leaked\" log from vgdisplay"
    },
    {
      "commit": "d4b9edc27c985c4559388560e9e2b9193e811db2",
      "tree": "ba1e40e8deeb563dd1af865fe7255086f391cba4",
      "parents": [
        "6f3faaa22d0379ab78c16e8d2445e28d34179f89"
      ],
      "author": {
        "name": "Shin\u0027ichiro Kawasaki",
        "email": "shinichiro.kawasaki@wdc.com",
        "time": "Wed Nov 12 00:22:15 2025"
      },
      "committer": {
        "name": "Shin\u0027ichiro Kawasaki",
        "email": "shinichiro.kawasaki@wdc.com",
        "time": "Wed Nov 12 00:22:15 2025"
      },
      "message": "common/rc: drop unnecessary variable from _check_kernel_option()\n\nThe commit 0ca7b32d6746 (\"common/rc: Introduce _get_kernel_option()\")\nintroduced the unnecessary local variable \"value\". Drop it.\n\nSigned-off-by: Shin\u0027ichiro Kawasaki \u003cshinichiro.kawasaki@wdc.com\u003e\n"
    },
    {
      "commit": "6f3faaa22d0379ab78c16e8d2445e28d34179f89",
      "tree": "ae5ab0b2b317dcc101c327859bbf2dd1a3826e6d",
      "parents": [
        "b4a3a24c50808146bc5183971e22f8089cdb1382",
        "8044f719ce2a22806292557a872e1802d1fbcd11"
      ],
      "author": {
        "name": "Shin\u0027ichiro Kawasaki",
        "email": "shinichiro.kawasaki@wdc.com",
        "time": "Wed Nov 12 00:20:17 2025"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Nov 12 00:20:17 2025"
      },
      "message": "Merge pull request #206 from bvanassche/master\n\nTest scsi_debug timeout and abort handling to scsi/007.\nAlso improve common scripts.\n"
    },
    {
      "commit": "30491a65995e76649eb13ec7f3eb6b4be23e1fcb",
      "tree": "69d08b5e23b13d455efa945d7e2a432010f847d5",
      "parents": [
        "1673a2ba4d37e04e680077f5490041b98ca05b3c"
      ],
      "author": {
        "name": "Yi Zhang",
        "email": "yi.zhang@redhat.com",
        "time": "Tue Nov 11 03:45:04 2025"
      },
      "committer": {
        "name": "Yi Zhang",
        "email": "yi.zhang@redhat.com",
        "time": "Tue Nov 11 03:49:31 2025"
      },
      "message": "md/002: ignore the \"File descripto leaked\" log from vgdisplay\n\n$ ./check md/002\nmd/002 (test md atomic writes)                               [failed]\n    runtime  16.597s  ...  16.621s\n    --- tests/md/002.out\t2025-11-11 03:27:25.669051094 +0000\n    +++ /root/blktests/results/nodev/md/002.out.bad\t2025-11-11 04:21:41.669796053 +0000\n    @@ -116,6 +116,7 @@\n     TEST 10 raid10 step 4 - perform a pwritev2 with size of sysfs_atomic_unit_min_bytes with RWF_ATOMIC flag - pwritev2 should fail - pass\n     pwrite: Invalid argument\n     TEST 11 raid10 step 4 - perform a pwritev2 with a size of sysfs_atomic_write_unit_max_bytes - LBS bytes with RWF_ATOMIC flag - pwritev2 should fail - pass\n    +File descriptor 3 (/dev/z90crypt) leaked on vgdisplay invocation. Parent PID 30154: /bin/bash\n     TEST 1 dm-linear step 1 - Verify md sysfs atomic attributes matches - pass\n     TEST 2 dm-linear step 1 - Verify sysfs atomic attributes - pass\n     TEST 3 dm-linear step 1 - Verify md sysfs_atomic_write_max is equal to expected_atomic_write_max - pass\n\nLink: https://github.com/linux-blktests/blktests/issues/209\nSigned-off-by: Yi Zhang \u003cyi.zhang@redhat.com\u003e\n"
    },
    {
      "commit": "b4a3a24c50808146bc5183971e22f8089cdb1382",
      "tree": "ec7c09d427591a07f54152384ae2a063ccbb44f5",
      "parents": [
        "d91fa932fbaa1012eb17d5af9a3c04dd1ee6831c"
      ],
      "author": {
        "name": "Shin\u0027ichiro Kawasaki",
        "email": "shinichiro.kawasaki@wdc.com",
        "time": "Mon Nov 03 06:44:54 2025"
      },
      "committer": {
        "name": "Shin\u0027ichiro Kawasaki",
        "email": "shinichiro.kawasaki@wdc.com",
        "time": "Mon Nov 10 23:47:16 2025"
      },
      "message": "throtl: support test with both null_blk and scsi_debug in a single run\n\nThe previous commit introduced the global variable throtl_blkdev_type to\nspecify the type of block device for the throtl group. However, users\nneed to run tests twice modifying the variable\u0027s value each time to test\nagainst both device types null_blk and scsi_debug. This workflow is\ncumbersome.\n\nTo run the throtl group for both null_blk and scsi_debug in a single\nrun, introduce the global variable THROTL_BLKDEV_TYPES instead of\nthrotl_blkdev_type. When THROTL_BLKDEV_TYPES is set to \u0027nullb sdebug\u0027,\nthe blktests framework executes each test case in the throtl group for\nboth null_blk and scsi_debug sequentially. For this purpose, introduce\nthe helper function _set_throtl_blkdev_type() and call it in\nset_conditions() hooks of the test cases.\n\nEach of the two command lines below runs the throtl group with both\nnull_blk and scsi_debug. Please note that the default value of\nTHROTL_BLKDEV_TYPES is \u0027nullb sdebug\u0027.\n\n  $ sudo bash -c \"./check throtl/\"\n  $ sudo bash -c \"THROTL_BLKDEV_TYPES\u003d\u0027nullb sdebug\u0027 ./check throtl/\"\n\nEach of the command lines below runs the throtl group only for null_blk\nor scsi_debug, respectively.\n\n  $ sudo bash -c \"THROTL_BLKDEV_TYPES\u003d\u0027nullb\u0027 ./check throtl/\"\n  $ sudo bash -c \"THROTL_BLKDEV_TYPES\u003d\u0027sdebug\u0027 ./check throtl/\"\n\nReviewed-by: Chaitanya Kulkarni \u003ckch@nvidia.com\u003e\nSigned-off-by: Shin\u0027ichiro Kawasaki \u003cshinichiro.kawasaki@wdc.com\u003e\n"
    },
    {
      "commit": "d91fa932fbaa1012eb17d5af9a3c04dd1ee6831c",
      "tree": "cb88ed656b90cc3d46d989ef7b0ae2303509d940",
      "parents": [
        "95b50033631e6d0ece1bd5f3561b965eadd4d23d"
      ],
      "author": {
        "name": "Shin\u0027ichiro Kawasaki",
        "email": "shinichiro.kawasaki@wdc.com",
        "time": "Mon Nov 03 06:44:53 2025"
      },
      "committer": {
        "name": "Shin\u0027ichiro Kawasaki",
        "email": "shinichiro.kawasaki@wdc.com",
        "time": "Mon Nov 10 23:47:16 2025"
      },
      "message": "throtl/rc: support test with scsi_debug\n\nCurrently, the throtl test cases set up null_blk devices as test\ntargets. It is desired to run the tests with scsi_debug devices also\nto expand test coverage and identify failures that do not surface with\nnull_blk as shown in the Link.\n\nIntroduce the global variable throtl_blkdev_type to choose the test\ntarget block device type. When \u0027nullb\u0027 is set to it, run the tests\nwith null_blk. When \u0027sdebug\u0027 is set, run with scsi_debug. The command\nline below runs the throtl group with scsi_debug.\n\n  $ sudo bash -c \"throtl_blkdev_type\u003dsdebug ./check throtl\"\n\nModify the helper functions _configure_throtl_blkdev(),\n_delete_throtl_blkdev() and _exit_throtl_blkdev() to support both\nnull_blk and scsi_debug. After this change, the global variable\nTHROTL_DEV is no longer constant then shellcheck warns about its\nreferences. Add double quotations to suppress the shellcheck warnings.\n\nLink: https://lore.kernel.org/linux-block/20250918085341.3686939-1-yukuai1@huaweicloud.com/\nReviewed-by: Chaitanya Kulkarni \u003ckch@nvidia.com\u003e\nSigned-off-by: Shin\u0027ichiro Kawasaki \u003cshinichiro.kawasaki@wdc.com\u003e\n"
    },
    {
      "commit": "95b50033631e6d0ece1bd5f3561b965eadd4d23d",
      "tree": "ffb2dac2218988ee1617b40d54ae89d8656ffc24",
      "parents": [
        "c1a57de22f2659cbaa27ea8b801fb470cd0fc9c7"
      ],
      "author": {
        "name": "Shin\u0027ichiro Kawasaki",
        "email": "shinichiro.kawasaki@wdc.com",
        "time": "Mon Nov 03 06:44:52 2025"
      },
      "committer": {
        "name": "Shin\u0027ichiro Kawasaki",
        "email": "shinichiro.kawasaki@wdc.com",
        "time": "Mon Nov 10 23:47:16 2025"
      },
      "message": "throtl/004: adjust to scsi_debug\n\nCurrently, the test case throtl/004 assumes that the test target device\nis null_blk. When it verifies the dd command error message, it checks\nthe string \"/dev/dev_nullb\" also. However, this test will fail when the\ntest case is extended to support scsi_debug.\n\nTo avoid the failure, remove dependency on the specific device name.\nSave the dd command error output to the FULL file, and check only the\nerror message part in the FULL file.\n\nReviewed-by: Chaitanya Kulkarni \u003ckch@nvidia.com\u003e\nSigned-off-by: Shin\u0027ichiro Kawasaki \u003cshinichiro.kawasaki@wdc.com\u003e\n"
    },
    {
      "commit": "c1a57de22f2659cbaa27ea8b801fb470cd0fc9c7",
      "tree": "4ade77baccead81bbf0a1e35ab1692d5271b9360",
      "parents": [
        "f2c13307f8cf4fafd3cc711db69c920f2be1b944"
      ],
      "author": {
        "name": "Shin\u0027ichiro Kawasaki",
        "email": "shinichiro.kawasaki@wdc.com",
        "time": "Mon Nov 03 06:44:51 2025"
      },
      "committer": {
        "name": "Shin\u0027ichiro Kawasaki",
        "email": "shinichiro.kawasaki@wdc.com",
        "time": "Mon Nov 10 23:47:16 2025"
      },
      "message": "throtl/rc,002: adjust to scsi_debug\n\nCurrently, the test case throtl/002 assumes that the test target device\nis null_blk. For null_blk, it is possible to specify the page size as\nthe maximum I/O size during set up. However, in the case of scsi_debug,\nthe maximum I/O size is not configurable, causing the test case to fail\nwhen the test case is extended to support scsi_debug.\n\nTo prevent the failure, set the maximum I/O size after the test device\nis initialized, regardless of the device type. To achieve this, add a\nnew helper function _throtl_set_max_io_size() which modifies the sysfs\nattribute max_sectors_kb to adjust the maximum I/O size for the device.\n\nSuggested-by: Yu Kuai \u003cyukuai1@huaweicloud.com\u003e\nReviewed-by: Chaitanya Kulkarni \u003ckch@nvidia.com\u003e\nSigned-off-by: Shin\u0027ichiro Kawasaki \u003cshinichiro.kawasaki@wdc.com\u003e\n"
    },
    {
      "commit": "f2c13307f8cf4fafd3cc711db69c920f2be1b944",
      "tree": "e10ac5a418cfc0815c91984ce2de569beac022c5",
      "parents": [
        "eee3614c2bf9864e98caee9210320f114b471759"
      ],
      "author": {
        "name": "Shin\u0027ichiro Kawasaki",
        "email": "shinichiro.kawasaki@wdc.com",
        "time": "Mon Nov 03 06:44:50 2025"
      },
      "committer": {
        "name": "Shin\u0027ichiro Kawasaki",
        "email": "shinichiro.kawasaki@wdc.com",
        "time": "Mon Nov 10 23:47:16 2025"
      },
      "message": "throtl: introduce helper functions to manage test target block devices\n\nThe throtl test group uses null_blk devices as test target in its test\ncases. To prepare for supporting scsi_debug device as the additional\ntest target, introduce three helper functions below to abstract null_blk\nspecific operations:\n\n _configure_throtl_blkdev() : Sets up the null_blk device\n _delete_throtl_blkdev()    : Removes the null_blk device for testing\n _exit_throtl_blkdev()      : Cleans up the null_blk device\n\nSupport two options of _configure_throtl_blkdev(), --sector_size and\n--memory_backed so that each test case can tailor the setup according to\nspecific requirements.\n\nReviewed-by: Chaitanya Kulkarni \u003ckch@nvidia.com\u003e\nSigned-off-by: Shin\u0027ichiro Kawasaki \u003cshinichiro.kawasaki@wdc.com\u003e\n"
    },
    {
      "commit": "eee3614c2bf9864e98caee9210320f114b471759",
      "tree": "ae9bb340654195786827cafcbf6172c7eddc96a9",
      "parents": [
        "81a0338e4f95dd6e94a54d0b349c2633a6464c2e"
      ],
      "author": {
        "name": "Chaitanya Kulkarni",
        "email": "ckulkarnilinux@gmail.com",
        "time": "Tue Nov 04 00:01:49 2025"
      },
      "committer": {
        "name": "Shin\u0027ichiro Kawasaki",
        "email": "shinichiro.kawasaki@wdc.com",
        "time": "Fri Nov 07 04:08:38 2025"
      },
      "message": "blktrace: add blktrace ftrace corruption regression test\n\nAdd regression test for blktrace ftrace corruption bug that occurs when\nsysfs trace is enabled followed by ftrace blk tracer.\n\nWhen /sys/block/*/trace/enable is enabled and then ftrace\u0027s blk tracer\nis activated, the trace output becomes corrupted showing \"Unknown action\"\nwith invalid hex values instead of proper action codes.\n\nThe root cause is that ftrace allocates a blk_io_trace2 buffer (64 bytes)\nbut calls record_blktrace_event() which writes v1 format (48 bytes),\ncausing field offset mismatches and corruption.\n\nThis test verifies that the trace output is correct and doesn\u0027t show\nthe corruption pattern.\n\nThis test confirms the fix by the kernel patch:\n\ncommit e48886b9d668d80be24e37345bd0904e9138473c\nAuthor: Chaitanya Kulkarni \u003cckulkarnilinux@gmail.com\u003e\nDate:   Mon Oct 27 22:50:42 2025 -0700\n\n    blktrace: for ftrace use correct trace format ver\n\nLink: https://lore.kernel.org/linux-block/20251028055042.2948-1-ckulkarnilinux@gmail.com/\nSigned-off-by: Chaitanya Kulkarni \u003cckulkarnilinux@gmail.com\u003e\nReviewed-by: Johannes Thumshirn \u003cjohannes.thumshirn@wdc.com\u003e\nSigned-off-by: Shin\u0027ichiro Kawasaki \u003cshinichiro.kawasaki@wdc.com\u003e\n"
    },
    {
      "commit": "81a0338e4f95dd6e94a54d0b349c2633a6464c2e",
      "tree": "3f2f1d04d050a3340711e863eabd6b6f09770e68",
      "parents": [
        "4badb276ca98398513a77d5e9bdc9892f7544762"
      ],
      "author": {
        "name": "Chaitanya Kulkarni",
        "email": "ckulkarnilinux@gmail.com",
        "time": "Tue Nov 04 00:01:48 2025"
      },
      "committer": {
        "name": "Shin\u0027ichiro Kawasaki",
        "email": "shinichiro.kawasaki@wdc.com",
        "time": "Fri Nov 07 04:08:38 2025"
      },
      "message": "blktrace: add blktrace zone management regression test\n\nCreate a new blktrace test group and add a regression test for a\nblktrace false positive WARNING that occurs when zone management\ncommands are traced with blktrace on V1 version.\n\nBug: https://syzkaller.appspot.com/bug?extid\u003d153e64c0aa875d7e4c37\nLocation: kernel/trace/blktrace.c:367-368\n\nThe test:\n1. Creates a zoned null_blk device (8 zones, 1GB, no conventional zones)\n2. Starts blktrace on the device\n3. Issues zone open command for all zones\n4. Checks dmesg for the false positive WARNING\n\nDevice configuration:\n- Total size: 1GB\n- Zone size: 128MB\n- Number of zones: 8\n- Conventional zones: 0\n\nIf the WARNING is found, the bug is present and logged to the full\noutput. If no WARNING appears, the bug is fixed.\n\nNote: The bug uses WARN_ON_ONCE, so it triggers only once per boot.\nSubsequent runs after the first trigger will not show the WARNING:\ncommit 4a0940bdcac260be1e3460e99464fa63d317c6a2\nAuthor: Chaitanya Kulkarni \u003cckulkarnilinux@gmail.com\u003e\nDate:   Mon Oct 27 19:46:19 2025 -0700\n\n    blktrace: use debug print to report dropped events\n\nhttps://lore.kernel.org/linux-block/20251028024619.2906-1-ckulkarnilinux@gmail.com/\n\nSigned-off-by: Chaitanya Kulkarni \u003cckulkarnilinux@gmail.com\u003e\nReviewed-by: Johannes Thumshirn \u003cjohannes.thumshirn@wdc.com\u003e\nSigned-off-by: Shin\u0027ichiro Kawasaki \u003cshinichiro.kawasaki@wdc.com\u003e\n"
    },
    {
      "commit": "4badb276ca98398513a77d5e9bdc9892f7544762",
      "tree": "2c168cac18a82676a1f4da1027d8426d7579ac96",
      "parents": [
        "1673a2ba4d37e04e680077f5490041b98ca05b3c"
      ],
      "author": {
        "name": "Chaitanya Kulkarni",
        "email": "ckulkarnilinux@gmail.com",
        "time": "Tue Oct 28 19:24:11 2025"
      },
      "committer": {
        "name": "Shin\u0027ichiro Kawasaki",
        "email": "shinichiro.kawasaki@wdc.com",
        "time": "Fri Oct 31 10:53:27 2025"
      },
      "message": "Makefile: add check-parallel target for faster shellcheck\n\nAdd a new check-parallel target that utilizes all available CPUs to\nrun shellcheck in parallel on test files, significantly reducing\nvalidation time from ~40s to ~11s on a 48-core system.\n\nThe original check target remains unchanged for compatibility.\n\nblktests (master) # vim 0001-Makefile-add-check-parallel-target-for-faster-shellc.patch\nblktests (master) # time make check\nshellcheck -x -e SC2119 -f gcc check common/* \\\n    tests/*/rc tests/*/[0-9]*[0-9] src/*.sh\ncheck:634:20: note: Double quote to prevent globbing and word splitting. [SC2086]\ncheck:667:20: note: Double quote to prevent globbing and word splitting. [SC2086]\ncommon/nvme:447:5: note: Double quote to prevent globbing and word splitting. [SC2086]\ncommon/nvme:453:6: note: Double quote to prevent globbing and word splitting. [SC2086]\ncommon/nvme:553:42: note: Double quote to prevent globbing and word splitting. [SC2086]\ncommon/nvme:554:28: note: Double quote to prevent globbing and word splitting. [SC2086]\ncommon/nvme:556:28: note: Double quote to prevent globbing and word splitting. [SC2086]\ncommon/nvme:557:28: note: Double quote to prevent globbing and word splitting. [SC2086]\ncommon/nvme:558:23: note: Double quote to prevent globbing and word splitting. [SC2086]\ntests/pr.bk/001:9:3: note: Not following: tests/pr/rc: openBinaryFile: does not exist (No such file or directory) [SC1091]\ntests/pr.bk/001:11:1: warning: DESCRIPTION appears unused. Verify use (or export if used externally). [SC2034]\ntests/pr.bk/001:12:1: warning: QUICK appears unused. Verify use (or export if used externally). [SC2034]\ntests/pr.bk/002:8:3: note: Not following: tests/pr/rc: openBinaryFile: does not exist (No such file or directory) [SC1091]\ntests/pr.bk/002:10:1: warning: DESCRIPTION appears unused. Verify use (or export if used externally). [SC2034]\ntests/pr.bk/002:11:1: warning: QUICK appears unused. Verify use (or export if used externally). [SC2034]\ntests/pr.bk/003:8:3: note: Not following: tests/pr/rc: openBinaryFile: does not exist (No such file or directory) [SC1091]\ntests/pr.bk/003:10:1: warning: DESCRIPTION appears unused. Verify use (or export if used externally). [SC2034]\ntests/pr.bk/003:11:1: warning: QUICK appears unused. Verify use (or export if used externally). [SC2034]\ntests/pr.bk/004:8:3: note: Not following: tests/pr/rc: openBinaryFile: does not exist (No such file or directory) [SC1091]\ntests/pr.bk/004:10:1: warning: DESCRIPTION appears unused. Verify use (or export if used externally). [SC2034]\ntests/pr.bk/004:11:1: warning: QUICK appears unused. Verify use (or export if used externally). [SC2034]\ntests/pr.bk/005:8:3: note: Not following: tests/pr/rc: openBinaryFile: does not exist (No such file or directory) [SC1091]\ntests/pr.bk/005:10:1: warning: DESCRIPTION appears unused. Verify use (or export if used externally). [SC2034]\ntests/pr.bk/005:11:1: warning: QUICK appears unused. Verify use (or export if used externally). [SC2034]\ntests/pr.bk/006:9:3: note: Not following: tests/pr/rc: openBinaryFile: does not exist (No such file or directory) [SC1091]\ntests/pr.bk/006:11:1: warning: DESCRIPTION appears unused. Verify use (or export if used externally). [SC2034]\ntests/pr.bk/006:12:1: warning: TIMED appears unused. Verify use (or export if used externally). [SC2034]\nmake: *** [Makefile:22: check] Error 1\n\nreal    3m43.712s\nuser    3m38.640s\nsys    0m3.321s\nRunning shellcheck with 48 parallel jobs...\ntests/pr.bk/005:8:3: note: Not following: tests/pr/rc: openBinaryFile: does not exist (No such file or directory) [SC1091]\ntests/pr.bk/005:10:1: warning: DESCRIPTION appears unused. Verify use (or export if used externally). [SC2034]\ntests/pr.bk/005:11:1: warning: QUICK appears unused. Verify use (or export if used externally). [SC2034]\ntests/pr.bk/006:9:3: note: Not following: tests/pr/rc: openBinaryFile: does not exist (No such file or directory) [SC1091]\ntests/pr.bk/006:11:1: warning: DESCRIPTION appears unused. Verify use (or export if used externally). [SC2034]\ntests/pr.bk/006:12:1: warning: TIMED appears unused. Verify use (or export if used externally). [SC2034]\ntests/pr.bk/001:9:3: note: Not following: tests/pr/rc: openBinaryFile: does not exist (No such file or directory) [SC1091]\ntests/pr.bk/001:11:1: warning: DESCRIPTION appears unused. Verify use (or export if used externally). [SC2034]\ntests/pr.bk/001:12:1: warning: QUICK appears unused. Verify use (or export if used externally). [SC2034]\ntests/pr.bk/002:8:3: note: Not following: tests/pr/rc: openBinaryFile: does not exist (No such file or directory) [SC1091]\ntests/pr.bk/002:10:1: warning: DESCRIPTION appears unused. Verify use (or export if used externally). [SC2034]\ntests/pr.bk/002:11:1: warning: QUICK appears unused. Verify use (or export if used externally). [SC2034]\ntests/pr.bk/004:8:3: note: Not following: tests/pr/rc: openBinaryFile: does not exist (No such file or directory) [SC1091]\ntests/pr.bk/004:10:1: warning: DESCRIPTION appears unused. Verify use (or export if used externally). [SC2034]\ntests/pr.bk/004:11:1: warning: QUICK appears unused. Verify use (or export if used externally). [SC2034]\ntests/pr.bk/003:8:3: note: Not following: tests/pr/rc: openBinaryFile: does not exist (No such file or directory) [SC1091]\ntests/pr.bk/003:10:1: warning: DESCRIPTION appears unused. Verify use (or export if used externally). [SC2034]\ntests/pr.bk/003:11:1: warning: QUICK appears unused. Verify use (or export if used externally). [SC2034]\ncheck:634:20: note: Double quote to prevent globbing and word splitting. [SC2086]\ncheck:667:20: note: Double quote to prevent globbing and word splitting. [SC2086]\ncommon/nvme:447:5: note: Double quote to prevent globbing and word splitting. [SC2086]\ncommon/nvme:453:6: note: Double quote to prevent globbing and word splitting. [SC2086]\ncommon/nvme:553:42: note: Double quote to prevent globbing and word splitting. [SC2086]\ncommon/nvme:554:28: note: Double quote to prevent globbing and word splitting. [SC2086]\ncommon/nvme:556:28: note: Double quote to prevent globbing and word splitting. [SC2086]\ncommon/nvme:557:28: note: Double quote to prevent globbing and word splitting. [SC2086]\ncommon/nvme:558:23: note: Double quote to prevent globbing and word splitting. [SC2086]\nmake: *** [Makefile:30: check-parallel] Error 1\n\nreal    0m22.464s\nuser    7m24.518s\nsys    0m11.703s\n\n10.0x faster than sequential\n  Concrete numbers:\n  - make check: 223.7s (3m43.7s)\n  - make check-parallel: 22.5s\n\nSigned-off-by: Chaitanya Kulkarni \u003cckulkarnilinux@gmail.com\u003e\nSigned-off-by: Shin\u0027ichiro Kawasaki \u003cshinichiro.kawasaki@wdc.com\u003e\n"
    },
    {
      "commit": "8044f719ce2a22806292557a872e1802d1fbcd11",
      "tree": "bc2f98ec6cd79b0a584d3b80fad6f59a06c53985",
      "parents": [
        "0ca7b32d674694f2fc112dbc931e923cf38ecb95"
      ],
      "author": {
        "name": "Bart Van Assche",
        "email": "bvanassche@acm.org",
        "time": "Mon Oct 27 21:08:28 2025"
      },
      "committer": {
        "name": "Bart Van Assche",
        "email": "bvanassche@acm.org",
        "time": "Mon Oct 27 21:46:43 2025"
      },
      "message": "scsi/007: Check whether scsi_timeout() has been called\n\nCheck whether scsi_timeout() has been called. Fail immediately if an\nunexpected error occurs.\n\nSigned-off-by: Bart Van Assche \u003cbvanassche@acm.org\u003e\n"
    },
    {
      "commit": "0ca7b32d674694f2fc112dbc931e923cf38ecb95",
      "tree": "983161ce2f58d5ab65c5e2fe6dc6ec89803e0ea0",
      "parents": [
        "261a2b3f7475289c805fb49a3c996acb64333d9c"
      ],
      "author": {
        "name": "Bart Van Assche",
        "email": "bvanassche@acm.org",
        "time": "Mon Oct 27 20:53:43 2025"
      },
      "committer": {
        "name": "Bart Van Assche",
        "email": "bvanassche@acm.org",
        "time": "Mon Oct 27 21:46:43 2025"
      },
      "message": "common/rc: Introduce _get_kernel_option()\n\nMove the code for parsing the kernel configuration file from\ntests/scsi/007 into common/rc. No functionality has been changed.\n\nSigned-off-by: Bart Van Assche \u003cbvanassche@acm.org\u003e\n"
    },
    {
      "commit": "261a2b3f7475289c805fb49a3c996acb64333d9c",
      "tree": "03502cab85c4981cbbd0622646a947f6e395b271",
      "parents": [
        "fc04d4076f73fd7d55da6de06481894e2a73d821"
      ],
      "author": {
        "name": "Bart Van Assche",
        "email": "bvanassche@acm.org",
        "time": "Fri Aug 22 21:59:25 2025"
      },
      "committer": {
        "name": "Bart Van Assche",
        "email": "bvanassche@acm.org",
        "time": "Mon Oct 27 21:46:43 2025"
      },
      "message": "common/rc: Make _test_dev_queue_set() failures easier to debug\n\nIf modifying a /sys/class/block/*/queue attribute fails, show the path\ninvolved in the write failure.\n\nSigned-off-by: Bart Van Assche \u003cbvanassche@acm.org\u003e\n"
    }
  ],
  "next": "fc04d4076f73fd7d55da6de06481894e2a73d821"
}
