)]}'
{
  "log": [
    {
      "commit": "a65cf6bdca19cf98e80ba379bffbf3a67f86fba3",
      "tree": "ac2d4f6b372c85fca675b550b6d5685326279cb1",
      "parents": [
        "73137dfbe0784ce7e6c7383e45d7d17d06620da6",
        "a531c2d00ad592ed402b52476eec2692638c868e"
      ],
      "author": {
        "name": "Shin\u0027ichiro Kawasaki",
        "email": "shinichiro.kawasaki@wdc.com",
        "time": "Fri Oct 30 12:48:58 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Oct 30 12:48:58 2026"
      },
      "message": "Merge pull request #270 from igaw/fix-nvme-cli-kv-trailing-whitespace\n\nnvme/033,054: strip trailing whitespace when parsing nvme-cli kv output"
    },
    {
      "commit": "73137dfbe0784ce7e6c7383e45d7d17d06620da6",
      "tree": "58d0995d22baee0033105a99ad431f4dd14c2ba9",
      "parents": [
        "8a86d55649ab78dcb57bcda774e22d098a68261c"
      ],
      "author": {
        "name": "Yao Sang",
        "email": "sangyao@kylinos.cn",
        "time": "Wed Sep 23 01:35:36 2026"
      },
      "committer": {
        "name": "Shin\u0027ichiro Kawasaki",
        "email": "shinichiro.kawasaki@wdc.com",
        "time": "Fri Oct 30 04:53:29 2026"
      },
      "message": "nvme/075: add multipath command effects log lifetime test\n\nAdd a regression test for kernel commit 72ece656abd4 (\"nvme: fix command\neffects log lifetime for multipath heads\").\n\nCreate a subsystem with two controller paths, remove the first controller,\nand issue an I/O passthrough command through the namespace-head character\ndevice. On affected kernels, the head still references the removed\ncontroller\u0027s command effects log, and KASAN reports a use-after-free.\n\nSigned-off-by: Yao Sang \u003csangyao@kylinos.cn\u003e\n[Shin\u0027ichiro: renumbered test case to 075, fixed kernel commit git hash]\nSigned-off-by: Shin\u0027ichiro Kawasaki \u003cshinichiro.kawasaki@wdc.com\u003e\n"
    },
    {
      "commit": "8a86d55649ab78dcb57bcda774e22d098a68261c",
      "tree": "382f399aaec38afb456ca5e0ebb6699ff3e58fc8",
      "parents": [
        "29311e8c8aaea984d1a24270c06701d4c80a88b7"
      ],
      "author": {
        "name": "Andrea Parri",
        "email": "parri.andrea@gmail.com",
        "time": "Thu Oct 22 13:09:24 2026"
      },
      "committer": {
        "name": "Shin\u0027ichiro Kawasaki",
        "email": "shinichiro.kawasaki@wdc.com",
        "time": "Thu Oct 29 01:07:02 2026"
      },
      "message": "nvme/074: test that nvmet rejects a zone report NUMD that wraps\n\nVerify that Zone Management Receive rejects a NUMD whose byte count\nwraps a 32-bit calculation, while accepting an ordinary request. The\ntest runs on every configured transport.\n\nThe test fails on the unpatched kernel and passes with the fix applied.\n\nAssisted-by: LLM\nSigned-off-by: Andrea Parri \u003cparri.andrea@gmail.com\u003e\nSigned-off-by: Shin\u0027ichiro Kawasaki \u003cshinichiro.kawasaki@wdc.com\u003e\n"
    },
    {
      "commit": "29311e8c8aaea984d1a24270c06701d4c80a88b7",
      "tree": "1b9cf9c80d18048c0c0b0ecc9978a5b77f29807d",
      "parents": [
        "f396a96e157f7ea463c834e74d4111e0e9b4145a"
      ],
      "author": {
        "name": "Andrea Parri",
        "email": "parri.andrea@gmail.com",
        "time": "Thu Oct 22 13:09:23 2026"
      },
      "committer": {
        "name": "Shin\u0027ichiro Kawasaki",
        "email": "shinichiro.kawasaki@wdc.com",
        "time": "Thu Oct 29 01:07:02 2026"
      },
      "message": "nvme/073: test nvmet zone report initialization and length\n\nExport a zoned null_blk device through the NVMe target and verify that\nZone Management Receive zeroes reserved and unused report bytes and\nrejects a transfer length inconsistent with NUMD. The test runs on every\nconfigured transport, with RDMA restricted to 4 KiB page kernels so that\nthe preparatory write exceeds the default inline-data limit. Add a small\npassthrough helper because nvme-cli does not expose the reserved report\nbytes.\n\nThe test fails on the unpatched kernel and passes with the fix applied.\n\nAssisted-by: LLM\nSigned-off-by: Andrea Parri \u003cparri.andrea@gmail.com\u003e\nSigned-off-by: Shin\u0027ichiro Kawasaki \u003cshinichiro.kawasaki@wdc.com\u003e\n"
    },
    {
      "commit": "f396a96e157f7ea463c834e74d4111e0e9b4145a",
      "tree": "58d896948b72588e709771eabc6c2921d6a2012a",
      "parents": [
        "7d2e3a1984533a585244635437a6df60f29ec7ac"
      ],
      "author": {
        "name": "Andrea Parri",
        "email": "parri.andrea@gmail.com",
        "time": "Thu Oct 22 13:09:22 2026"
      },
      "committer": {
        "name": "Shin\u0027ichiro Kawasaki",
        "email": "shinichiro.kawasaki@wdc.com",
        "time": "Thu Oct 29 01:07:02 2026"
      },
      "message": "nvme/072: test that nvmet sends no data for a failed read\n\nIssue a failing Identify into a buffer filled with a sentinel and verify\nthat the target transfers no data, with a successful Identify as a\ncontrol. The test runs on every configured transport; only nvmet-fc\nfailed it before the fix. Add a small helper because nvme-cli cannot\nprefill the data buffer.\n\nThe test fails over fc on the unpatched kernel and passes with the fix\napplied.\n\nAssisted-by: LLM\nSigned-off-by: Andrea Parri \u003cparri.andrea@gmail.com\u003e\nSigned-off-by: Shin\u0027ichiro Kawasaki \u003cshinichiro.kawasaki@wdc.com\u003e\n"
    },
    {
      "commit": "7d2e3a1984533a585244635437a6df60f29ec7ac",
      "tree": "83412a52902b5fdcd01206d2f3d2e15da49ca9d4",
      "parents": [
        "47520470fe63078003bdbeeff6de83bb890fa2ed"
      ],
      "author": {
        "name": "Andrea Parri",
        "email": "parri.andrea@gmail.com",
        "time": "Thu Oct 22 13:09:21 2026"
      },
      "committer": {
        "name": "Shin\u0027ichiro Kawasaki",
        "email": "shinichiro.kawasaki@wdc.com",
        "time": "Thu Oct 29 01:07:02 2026"
      },
      "message": "nvme/rc: add zoned null_blk target helpers\n\nAdd helpers that export a zoned null_blk device as a namespace of the\ndefault subsystem and connect to it, tear that setup down again, and\nissue a partial Zone Management Receive and check its completion status.\n\nThe zone report tests added next share them.\n\nAssisted-by: LLM\nSigned-off-by: Andrea Parri \u003cparri.andrea@gmail.com\u003e\nSigned-off-by: Shin\u0027ichiro Kawasaki \u003cshinichiro.kawasaki@wdc.com\u003e\n"
    },
    {
      "commit": "47520470fe63078003bdbeeff6de83bb890fa2ed",
      "tree": "4e094d6cb20bc2304d87bf2537fedc5c8740f778",
      "parents": [
        "0027abd09f29d553c011e516233a6f0c49eb46b4"
      ],
      "author": {
        "name": "Shin\u0027ichiro Kawasaki",
        "email": "shinichiro.kawasaki@wdc.com",
        "time": "Tue Oct 20 05:41:35 2026"
      },
      "committer": {
        "name": "Shin\u0027ichiro Kawasaki",
        "email": "shinichiro.kawasaki@wdc.com",
        "time": "Wed Oct 28 08:42:32 2026"
      },
      "message": "loop: remove loop/006 which tests swapping loop fds\n\nThe loop driver is going to drop the support of swapping loop fds. The\ncommit titled \"loop: remove support for swapping loop fds\" is going to\nbe applied to kernel version v7.4-rc1, and LOOP_CHANGE_FD ioctl is going\nto be removed.\n\nThe test case loop/006 checks the behavior of the swapping loop fds.\nFailure of the test case is expected after the kernel commit. The test\ncase no longer has value. Hence remove it.\n\nLink: https://lore.kernel.org/linux-block/as8-8rDJmUb1FxbP@shinmob/\nSigned-off-by: Shin\u0027ichiro Kawasaki \u003cshinichiro.kawasaki@wdc.com\u003e\n"
    },
    {
      "commit": "0027abd09f29d553c011e516233a6f0c49eb46b4",
      "tree": "4b09d7c82b88b78c4f54cb2b731a9fdaf6411ec1",
      "parents": [
        "f1cf0af9de71012485aebff0555a3136e8821daf"
      ],
      "author": {
        "name": "Tal Zussman",
        "email": "tz2294@columbia.edu",
        "time": "Thu Oct 15 16:29:13 2026"
      },
      "committer": {
        "name": "Shin\u0027ichiro Kawasaki",
        "email": "shinichiro.kawasaki@wdc.com",
        "time": "Mon Oct 26 02:26:04 2026"
      },
      "message": "block/052: add a pinned page leak test for trimmed direct writes\n\nbio_iov_iter_align_down() trims a direct I/O bio down to the logical\nblock size and unpins the pages it drops. A bvec can span several pages\nof one folio, each with its own pin, and dropping or shrinking such a\nbvec has to release all of them. When it does not, the folio is never\nfreed.\n\nThis is a regression test for that issue, fixed in the kernel patch\n\"block: unpin all pages of a bvec in bio_iov_iter_align_down()\" [1].\n\nIssue O_DIRECT pwritev() from a hugetlb mapping to a memory-backed\nnull_blk device with a 64K logical block size, with a first segment that\nends half a block past a block boundary and an unreadable second\nsegment, so that the bio is trimmed by several pages of one huge page.\nPlace the first segment across two huge pages so the tail is its own\nbvec and gets dropped, and inside one huge page so the tail is the end\nof a larger bvec and gets shrunk, to cover both paths. Compare\nHugePages_Free before and after, and fail if huge pages leaked.\n\nThe leak needs a logical block size above the page size, i.e.\nCONFIG_TRANSPARENT_HUGEPAGE raising BLK_MAX_BLOCK_SIZE to 64K, and a\nlarge folio backing the buffer, which hugetlb provides. Reserve huge\npages for the test and restore the previous count afterwards.\n\n[1]: https://lore.kernel.org/linux-block/20261009-blkdev-fixes-v6-8-307939c387df@columbia.edu/\n\nSigned-off-by: Tal Zussman \u003ctz2294@columbia.edu\u003e\nSigned-off-by: Shin\u0027ichiro Kawasaki \u003cshinichiro.kawasaki@wdc.com\u003e\n"
    },
    {
      "commit": "f1cf0af9de71012485aebff0555a3136e8821daf",
      "tree": "3864eec969b93410d5beb374cf8102f6aeb2e19a",
      "parents": [
        "b9e117639f6cc8f7b32acb243473a920582331cc"
      ],
      "author": {
        "name": "Tal Zussman",
        "email": "tz2294@columbia.edu",
        "time": "Thu Oct 15 16:29:12 2026"
      },
      "committer": {
        "name": "Shin\u0027ichiro Kawasaki",
        "email": "shinichiro.kawasaki@wdc.com",
        "time": "Mon Oct 26 02:26:04 2026"
      },
      "message": "block/051: add a splice read race test for block devices\n\nThe block device splice read path has to hold i_rwsem like the plain\nread path, so that it does not race set_blocksize() raising the\nmapping\u0027s minimum folio order and add a folio that is too small for the\nmapping.\n\nThis is a regression test for that issue, fixed in the kernel patch\n\"block: take i_rwsem for the splice read path\" [1].\n\nsplice() from a memory-backed null_blk device into a pipe while toggling\nthe block size between 512 bytes and 64K with BLKBSZSET. A\nCONFIG_DEBUG_VM kernel reports the folio order mismatch as a BUG, which\nblktests picks up from dmesg.\n\nThe minimum folio order only moves with block sizes above the page size,\ni.e. with CONFIG_TRANSPARENT_HUGEPAGE raising BLK_MAX_BLOCK_SIZE to 64K.\n\n[1]: https://lore.kernel.org/linux-block/20261009-blkdev-fixes-v6-3-307939c387df@columbia.edu/\n\nSigned-off-by: Tal Zussman \u003ctz2294@columbia.edu\u003e\nSigned-off-by: Shin\u0027ichiro Kawasaki \u003cshinichiro.kawasaki@wdc.com\u003e\n"
    },
    {
      "commit": "b9e117639f6cc8f7b32acb243473a920582331cc",
      "tree": "d74788a3a0dcda9185a8b35752b6920f9b5870a9",
      "parents": [
        "9ad5a10fa8ed56f74c23fea2c35f4594a110b8b9"
      ],
      "author": {
        "name": "Tal Zussman",
        "email": "tz2294@columbia.edu",
        "time": "Thu Oct 15 16:29:11 2026"
      },
      "committer": {
        "name": "Shin\u0027ichiro Kawasaki",
        "email": "shinichiro.kawasaki@wdc.com",
        "time": "Mon Oct 26 02:26:04 2026"
      },
      "message": "block/050: add a direct I/O write fallback race test for block devices\n\nA direct write to a block device that completes only partially finishes\nas a buffered write through the direct I/O fallback. That buffered write\nhas to hold i_rwsem like the plain buffered write path, so that it does\nnot race set_blocksize() raising the mapping\u0027s minimum folio order and\nadd a folio that is too small for the mapping.\n\nThis is a regression test for that issue, fixed in the kernel patch\n\"block: take i_rwsem for the direct I/O write fallback\" [1].\n\nIssue O_DIRECT pwritev() to a memory-backed null_blk device with a\ntwo-segment iovec whose second segment is an unreadable PROT_NONE\nmapping, so that the direct path returns short and enters the fallback.\nMeanwhile toggle the second segment\u0027s protection so that some fallbacks\nget past the fault-in and reach the page cache, populate the page cache\nwith folios of the current block size, and toggle the block size between\n512 bytes and 64K with BLKBSZSET. A CONFIG_DEBUG_VM kernel reports the\nfolio order mismatch as a BUG, which blktests picks up from dmesg.\n\nThe minimum folio order only moves with block sizes above the page size,\ni.e. with CONFIG_TRANSPARENT_HUGEPAGE raising BLK_MAX_BLOCK_SIZE to 64K.\n\n[1]: https://lore.kernel.org/linux-block/20261009-blkdev-fixes-v6-2-307939c387df@columbia.edu/\n\nSigned-off-by: Tal Zussman \u003ctz2294@columbia.edu\u003e\nSigned-off-by: Shin\u0027ichiro Kawasaki \u003cshinichiro.kawasaki@wdc.com\u003e\n"
    },
    {
      "commit": "9ad5a10fa8ed56f74c23fea2c35f4594a110b8b9",
      "tree": "c16aeb9174c119d61905ed97ec175cd3253db62c",
      "parents": [
        "166d0b978b5efa69da76caebf4e58ebfd9359bf8"
      ],
      "author": {
        "name": "Shin\u0027ichiro Kawasaki",
        "email": "shinichiro.kawasaki@wdc.com",
        "time": "Fri Oct 16 04:13:53 2026"
      },
      "committer": {
        "name": "Shin\u0027ichiro Kawasaki",
        "email": "shinichiro.kawasaki@wdc.com",
        "time": "Fri Oct 16 04:13:53 2026"
      },
      "message": "block/042: change file mode to 755\n\nTo be consistent with other test case files, change the file mode of\nblock/042 from 644 to 755.\n\nSigned-off-by: Shin\u0027ichiro Kawasaki \u003cshinichiro.kawasaki@wdc.com\u003e\n"
    },
    {
      "commit": "166d0b978b5efa69da76caebf4e58ebfd9359bf8",
      "tree": "664aac15f37aaaa05306d7df4ed3d87c247f3681",
      "parents": [
        "d418e94a3d590640bbc0012bdec1c3e74ce8be11"
      ],
      "author": {
        "name": "Shin\u0027ichiro Kawasaki",
        "email": "shinichiro.kawasaki@wdc.com",
        "time": "Fri Oct 16 04:11:35 2026"
      },
      "committer": {
        "name": "Shin\u0027ichiro Kawasaki",
        "email": "shinichiro.kawasaki@wdc.com",
        "time": "Fri Oct 16 04:11:35 2026"
      },
      "message": "src/.gitignore: add metadata-iopoll\n\nThe previous commit added metadata-iopoll.c to src/ directory, but did\nnot add the executable binary file metadata-iopoll to src/.gitginore.\nThen new \u0027git status\u0027 command shows the binary file unexpectedly.\n\nSigned-off-by: Shin\u0027ichiro Kawasaki \u003cshinichiro.kawasaki@wdc.com\u003e\n"
    },
    {
      "commit": "d418e94a3d590640bbc0012bdec1c3e74ce8be11",
      "tree": "577ff411776f28dfbcdf334fef72844dd86455ad",
      "parents": [
        "c34c9fe5c3efb8f22552b3bc123026978209a9c5"
      ],
      "author": {
        "name": "Yang Xiuwei",
        "email": "yangxiuwei@kylinos.cn",
        "time": "Thu Oct 08 03:17:14 2026"
      },
      "committer": {
        "name": "Shin\u0027ichiro Kawasaki",
        "email": "shinichiro.kawasaki@wdc.com",
        "time": "Thu Oct 15 07:58:37 2026"
      },
      "message": "block/049: test polled dio with user PI metadata\n\nIOPOLL combined with a PI attribute used to leave iocb-\u003eprivate as a\nuio_meta and oops in bio_poll(). The kernel rejects that combination\nwith -EOPNOTSUPP. Add a scsi_debug reproducer that expects this result.\nThe test case confirms the kernel fix 2a42e6fe1293 (\"block: reject\npolled dio with user integrity metadata\").\n\nAssisted-by: LLM\nSigned-off-by: Yang Xiuwei \u003cyangxiuwei@kylinos.cn\u003e\n[Shin\u0027ichrio: noted the kernel side fix in the commit message]\nSigned-off-by: Shin\u0027ichiro Kawasaki \u003cshinichiro.kawasaki@wdc.com\u003e\n"
    },
    {
      "commit": "c34c9fe5c3efb8f22552b3bc123026978209a9c5",
      "tree": "5af752534e1dc644cc6ab0b778931ced73df1159",
      "parents": [
        "6346e315a6a6225c5c68757234ee3ab1aecc114e"
      ],
      "author": {
        "name": "Jesse Taube",
        "email": "jtaubepe@redhat.com",
        "time": "Fri Aug 28 15:30:29 2026"
      },
      "committer": {
        "name": "Shin\u0027ichiro Kawasaki",
        "email": "shinichiro.kawasaki@wdc.com",
        "time": "Wed Oct 14 04:15:28 2026"
      },
      "message": "nvme/071: Test multipath and marginal ports\n\nAdd tests/nvme/071 to test various multipath and marginal port\nscenarios, while confirming the port useage and state. This test is\nintended to emulate receiving an FPIN event in a multipath environment.\n\nCo-authored-by: John Menehgini \u003cjmeneghi@redhat.com\u003e\nSigned-off-by: Jesse Taube \u003cjtaubepe@redhat.com\u003e\nSigned-off-by: John Meneghini \u003cjmeneghi@redhat.com\u003e\nTested-by: John Meneghini \u003cjmeneghi@redhat.com\u003e\n[Shin\u0027ichiro: renumbered the test case from 070 to 071]\nSigned-off-by: Shin\u0027ichiro Kawasaki \u003cshinichiro.kawasaki@wdc.com\u003e\n"
    },
    {
      "commit": "6346e315a6a6225c5c68757234ee3ab1aecc114e",
      "tree": "c2a3f01d86f9af221ca9a2239722ed06df6bafc4",
      "parents": [
        "87eb7c2c006101090609a2994df272c9395fd058"
      ],
      "author": {
        "name": "Jesse Taube",
        "email": "jtaubepe@redhat.com",
        "time": "Fri Aug 28 15:30:28 2026"
      },
      "committer": {
        "name": "Shin\u0027ichiro Kawasaki",
        "email": "shinichiro.kawasaki@wdc.com",
        "time": "Wed Oct 14 04:15:28 2026"
      },
      "message": "nvme: Add _setup_nvmet_port_marginal\n\nAdds functionality to set up a NVME port in marginal state.\nThis is useful for testing the behavior of the NVME driver when a port\nis in a marginal state.\n\nSigned-off-by: Jesse Taube \u003cjtaubepe@redhat.com\u003e\nReviewed-by: John Meneghini \u003cjmeneghi@redhat.com\u003e\nTested-by: John Meneghini \u003cjmeneghi@redhat.com\u003e\n"
    },
    {
      "commit": "a531c2d00ad592ed402b52476eec2692638c868e",
      "tree": "f56fbc345482e1a27ded9aff12c59cc5623d2a7b",
      "parents": [
        "87eb7c2c006101090609a2994df272c9395fd058"
      ],
      "author": {
        "name": "Daniel Wagner",
        "email": "wagi@monom.org",
        "time": "Fri Sep 25 08:16:00 2026"
      },
      "committer": {
        "name": "Daniel Wagner",
        "email": "wagi@monom.org",
        "time": "Fri Sep 25 08:19:01 2026"
      },
      "message": "nvme/033,054: strip trailing whitespace when parsing nvme-cli kv output\n\nnvme-cli\u0027s stdout kv-table printer (shared/table-util.c) right-pads\nthe value column to the width of the widest value in the same table.\nThat width is computed per table instance, so it can legitimately\ndiffer between two separate nvme-cli invocations even when the field\nvalues being checked are identical.\n\nnvme-cli briefly had a regression (shr_table always padding even the\nlast column) that turned trailing padding into a visible bug: nightly\nrun 36100519349 failed against nvme-cli commit c32e0fbf, one commit\nbefore nvme-cli\u0027s own fix (shared/table-util: trim trailing\nwhitespace, 6694324bc). That fix is already upstream, so this isn\u0027t\nneeded to un-break the current nightly run, but it makes these two\ntests robust to value-column width varying between invocations in\ngeneral, rather than depending on nvme-cli never padding the last\ncolumn.\n\nSigned-off-by: Daniel Wagner \u003cwagi@monom.org\u003e\n"
    },
    {
      "commit": "87eb7c2c006101090609a2994df272c9395fd058",
      "tree": "69ac08db3992756751d3c5c9f1fb7ebab7014d6e",
      "parents": [
        "f0603f960dcc2fc215161545b4b94633222a35ac"
      ],
      "author": {
        "name": "0wnerD1ed",
        "email": "l7z@0b1t.tech",
        "time": "Mon Sep 21 08:50:12 2026"
      },
      "committer": {
        "name": "Shin\u0027ichiro Kawasaki",
        "email": "shinichiro.kawasaki@wdc.com",
        "time": "Fri Sep 25 05:14:02 2026"
      },
      "message": "block/046: skip with the new XFS read-bounce implementation\n\nblock/046 uses a deliberately misaligned one-byte iovec to exercise the\nspecial bvec layout in bio_iov_iter_bounce_read().\n\nThe new XFS lazy read-bounce implementation no longer sets\nIOMAP_DIO_BOUNCE before extracting the user pages.  The ordinary path now\nrejects that iovec with EINVAL, and a later patch removes the legacy helper\nentirely.\n\nDetect the per-mount csum/read_bounce interface and mark the test not run\nafter cleaning up the XFS mount and null_blk device.  This retains the\nregression coverage on older kernels without treating the expected EINVAL\nas a successful result.\n\nReported-by: Shin\u0027ichiro Kawasaki \u003cshinichiro.kawasaki@wdc.com\u003e\nLink: https://lore.kernel.org/r/arDN1UdZIydNLUjz@shinmob\nLink: https://lore.kernel.org/r/20260921082240.GA19833@lst.de\nSigned-off-by: 0wnerD1ed \u003cl7z@0b1t.tech\u003e\nReviewed-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Shin\u0027ichiro Kawasaki \u003cshinichiro.kawasaki@wdc.com\u003e\n"
    },
    {
      "commit": "f0603f960dcc2fc215161545b4b94633222a35ac",
      "tree": "f0666767d7b12e90f36f99550e14ed3e0f0810c5",
      "parents": [
        "678a07a8dc9db6166b4a3a2010e1aba99876737a"
      ],
      "author": {
        "name": "Guixin Liu",
        "email": "kanie@linux.alibaba.com",
        "time": "Tue Aug 04 02:46:44 2026"
      },
      "committer": {
        "name": "Shin\u0027ichiro Kawasaki",
        "email": "shinichiro.kawasaki@wdc.com",
        "time": "Thu Sep 17 00:37:06 2026"
      },
      "message": "nvme/070: add a test for Identify CNS 07h NULL pointer dereference\n\nnvmet_execute_identify_nslist() handles both the Active Namespace ID list\n(CNS 02h) and the per-command-set variant (CNS 07h). For CNS 07h it\nfiltered the list on req-\u003ens-\u003ecsi, but this handler never resolves\nreq-\u003ens, so it is always NULL. As soon as an enabled namespace with an\nNSID above the requested value exists, the target dereferenced a NULL\npointer and oopsed.\n\nThis test connects a target with a single namespace and issues an\nIdentify with CNS 07h starting from NSID 0, which is exactly the\ncondition that triggered the crash. Without the kernel fix [0] the target\noopses; with it the command completes normally.\n\n[0] https://lore.kernel.org/linux-nvme/20260730043105.3071328-2-kanie@linux.alibaba.com/\n\nSuggested-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Guixin Liu \u003ckanie@linux.alibaba.com\u003e\nReviewed-by: Hannes Reinecke \u003chare@kernel.org\u003e\nReviewed-by: Nilay Shroff \u003cnilay@linux.ibm.com\u003e\nSigned-off-by: Shin\u0027ichiro Kawasaki \u003cshinichiro.kawasaki@wdc.com\u003e\n"
    },
    {
      "commit": "678a07a8dc9db6166b4a3a2010e1aba99876737a",
      "tree": "29ccc1568b912cf8d9269c7dc989c6e50237d920",
      "parents": [
        "0ee73112f1047c475f0a92930453d645272a929a",
        "ccedf0886ed104b5c8469ebd4bf448e5d0db165b"
      ],
      "author": {
        "name": "Shin\u0027ichiro Kawasaki",
        "email": "shinichiro.kawasaki@wdc.com",
        "time": "Thu Sep 17 00:29:08 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Sep 17 00:29:08 2026"
      },
      "message": "Merge pull request #267 from igaw/nvme-cli-3-updates\n\nnvme: add support for nvme-cli 3.x commands"
    },
    {
      "commit": "ccedf0886ed104b5c8469ebd4bf448e5d0db165b",
      "tree": "a59add9eb6f02d7a1ff9885be95a4d79cd6e93cc",
      "parents": [
        "48287a0fa877fc5f47939f1b2be2f7eee6879f38"
      ],
      "author": {
        "name": "Daniel Wagner",
        "email": "wagi@monom.org",
        "time": "Mon Aug 24 16:28:52 2026"
      },
      "committer": {
        "name": "Daniel Wagner",
        "email": "wagi@monom.org",
        "time": "Tue Sep 15 07:42:08 2026"
      },
      "message": "nvme/054: handle ECN132 renames\n\nECN132 renamed regctl to regstrnt. The test case uses stdout to\nverify whether the test was successful.\n\nAvoid the dependency on the exact output by parsing the results and\ncomparing them with the expected values. This makes it explicit in the\ntest case what is supposed to happen.\n\nWith this explicit verification code in place, it is possible to look\nfor either the old or the new name.\n\nSwitching to JSON was considered, but blktests has no dependency on jq,\nand it would not make the parsing any simpler. Thus, it is better to\nstay with the current screen-scraping approach.\n\nSigned-off-by: Daniel Wagner \u003cwagi@monom.org\u003e\n"
    },
    {
      "commit": "48287a0fa877fc5f47939f1b2be2f7eee6879f38",
      "tree": "5e7bd0588d8505797ce461448c34e72d9215b7c7",
      "parents": [
        "ddc0babaccc4fa9b0d652ce1a359bee7568834f1"
      ],
      "author": {
        "name": "Daniel Wagner",
        "email": "wagi@monom.org",
        "time": "Mon Aug 24 15:53:37 2026"
      },
      "committer": {
        "name": "Daniel Wagner",
        "email": "wagi@monom.org",
        "time": "Tue Sep 15 07:42:06 2026"
      },
      "message": "nvme: add support for nvme-cli 3.x commands\n\nnvme-cli 3.x grouped commands into plugins, such as all log\ncommands. The CLI supports the old commands via a trampoline command\nimplementation, but warns the user by writing an informational message\nto stderr, which will cause many of the nvme tests to fail.\n\nAdd an indirection layer for nvme-cli commands that maps the new command\npattern to the old one, so support for nvme-cli 2.x can be dropped in\nthe future.\n\nThis overrides the change made by commit 98b7f0360d7b (\"nvme: add\nsupport for nvme-cli 3 tls/chap key management\").\n\nSigned-off-by: Daniel Wagner \u003cwagi@monom.org\u003e\n"
    },
    {
      "commit": "0ee73112f1047c475f0a92930453d645272a929a",
      "tree": "f9c104e70b941a2990a75c07e97ce1a39dc2a0cd",
      "parents": [
        "5e1086aa10975b4db11d4f57d06dfedf0ab58915"
      ],
      "author": {
        "name": "Mohamed Khalfella",
        "email": "mkhalfella@purestorage.com",
        "time": "Tue Sep 08 21:48:23 2026"
      },
      "committer": {
        "name": "Shin\u0027ichiro Kawasaki",
        "email": "shinichiro.kawasaki@wdc.com",
        "time": "Fri Sep 11 07:30:20 2026"
      },
      "message": "src/Makefile: fix HAVE_C_DEF probe under a non-bash /bin/sh\n\nHAVE_C_DEF feeds its test program to the compiler with \"echo -e\". The\n$(shell ...) function runs under /bin/sh, which is dash on Debian and\nUbuntu, and dash\u0027s echo has no -e option. It prints the flag literally,\nso the first line of the probe becomes\n\n    -e #include \u003clinux/ublk_cmd.h\u003e\n\nwhich is no longer a preprocessor directive. The header is never\nincluded, the tested macro is never defined, and the probe reports 0\nregardless of what the installed headers contain.\n\nThe only user is HAVE_NEW_UBLK_INTF, so miniublk is skipped with\n\n    Skip miniublk build due to missing new ublk interface(v6.4+)\n\nUse printf instead, which expands \\n in any POSIX shell, and pass the\nsubstituted names as arguments so they are not reinterpreted.\n\nSigned-off-by: Mohamed Khalfella \u003cmkhalfella@purestorage.com\u003e\nSigned-off-by: Shin\u0027ichiro Kawasaki \u003cshinichiro.kawasaki@wdc.com\u003e\n"
    },
    {
      "commit": "5e1086aa10975b4db11d4f57d06dfedf0ab58915",
      "tree": "e4238bf745c337990a64a20ee25b9993c23149b5",
      "parents": [
        "94aea0684058ffcc91e6de9c2fc85fedf1342a39"
      ],
      "author": {
        "name": "Jeewoong Kim",
        "email": "dnd414@gmail.com",
        "time": "Fri Sep 04 08:48:37 2026"
      },
      "committer": {
        "name": "Shin\u0027ichiro Kawasaki",
        "email": "shinichiro.kawasaki@wdc.com",
        "time": "Fri Sep 11 04:31:45 2026"
      },
      "message": "check: avoid dmesg marker collisions in repeated tests\n\nloop/011 can fail when it is run twice within the same second because\nboth runs get the same dmesg marker. In that case,\n_dmesg_since_test_start() also includes messages from the previous run.\n\nUse a higher-resolution timestamp for the dmesg marker while keeping the\nexisting TEST_RUN[\"date\"] format.\n\nTested with 10 pairs of back-to-back loop/011 runs and make check.\n\nFixes: https://github.com/linux-blktests/blktests/issues/231\nLink: https://github.com/linux-blktests/blktests/pull/269\nSigned-off-by: Jeewoong Kim \u003cdnd414@gmail.com\u003e\nSigned-off-by: Shin\u0027ichiro Kawasaki \u003cshinichiro.kawasaki@wdc.com\u003e\n"
    },
    {
      "commit": "94aea0684058ffcc91e6de9c2fc85fedf1342a39",
      "tree": "e87db2510b264a9eb47152a26ab9af208be01719",
      "parents": [
        "bf917eb62716cd5db5cc6c48f09d014d9fadadce",
        "74cd281f31699ea2132a08a70598fe7c6e788d49"
      ],
      "author": {
        "name": "Shin\u0027ichiro Kawasaki",
        "email": "shinichiro.kawasaki@wdc.com",
        "time": "Fri Sep 04 08:19:52 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Sep 04 08:19:52 2026"
      },
      "message": "Merge pull request #268 from prabhakarpujeri/fixes\n\nFix silent failures in scsi_debug zbc setup and block/035, fix meta/022 typo"
    },
    {
      "commit": "bf917eb62716cd5db5cc6c48f09d014d9fadadce",
      "tree": "295cbdf179cd557be1462d03dd3e00f5b9a41090",
      "parents": [
        "a997a6fbdc13940c4ea3360963a44ee99118f68b"
      ],
      "author": {
        "name": "Shin\u0027ichiro Kawasaki",
        "email": "shinichiro.kawasaki@wdc.com",
        "time": "Fri Aug 21 10:53:35 2026"
      },
      "committer": {
        "name": "Shin\u0027ichiro Kawasaki",
        "email": "shinichiro.kawasaki@wdc.com",
        "time": "Fri Sep 04 02:57:51 2026"
      },
      "message": "block/{029,030,031}: relicense from GPL-2.0 to GPL-3.0+\n\nMost blktests code, including check and common/rc, is licensed under\nGPL-3.0+. However, tests/block/029, 030 and 031 are licensed under\nGPL-2.0 only. These test scripts source GPL-3.0+ shell code, but\nGPL-2.0-only code is incompatible with GPL-3.0 code [1].\n\nRelicense these test scripts under GPL-3.0 or later to resolve this\nincompatibility.\n\nThe script files were authored by Bart Van Assche \u003cbvanassche@acm.org\u003e,\nand subsequently modified by five contributors:\n\n Yi Zhang \u003cyi.zhang@redhat.com\u003e\n Christoph Hellwig \u003chch@lst.de\u003e\n Li Zhijian \u003clizhijian@fujitsu.com\u003e\n Akinobu Mita \u003cakinobu.mita@gmail.com\u003e\n Shin\u0027ichiro Kawasaki \u003cshinichiro.kawasaki@wdc.com\u003e\n\nBart and all of the listed contributors except Yi Zhang agreed to the\nrelicensing. Yi Zhang did not respond to requests sent to his Red Hat\ne-mail address and the address associated with his GitHub account. His\nchanges are considered de minimis, so his consent is not required [2].\n\n[1] https://www.gnu.org/licenses/gpl-faq.html#v2v3Compatibility\n[2] https://lore.kernel.org/linux-block/ama1svBbdVfyEKz1@shinmob/\n\nAcked-by: Li Zhijian \u003clizhijian@fujitsu.com\u003e\nAcked-by: Akinobu Mita \u003cakinobu.mita@gmail.com\u003e\nAcked-by: Christoph Hellwig \u003chch@lst.de\u003e\nAcked-by: Bart Van Assche \u003cbvanassche@acm.org\u003e\nSigned-off-by: Shin\u0027ichiro Kawasaki \u003cshinichiro.kawasaki@wdc.com\u003e\n"
    },
    {
      "commit": "a997a6fbdc13940c4ea3360963a44ee99118f68b",
      "tree": "691ac8f06bf16f9f64d749f7ce494fd164f06840",
      "parents": [
        "64cce9a87099f21ee609a6a0b7450f5eba0df004",
        "fa5c341acdee37a425d18e6767683366c5293ac4"
      ],
      "author": {
        "name": "Shin\u0027ichiro Kawasaki",
        "email": "shinichiro.kawasaki@wdc.com",
        "time": "Fri Sep 04 02:53:28 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Sep 04 02:53:28 2026"
      },
      "message": "Merge pull request #258 from tzussman/blkdev-mmap-loss\n\nblock/048: add a lost mmap write test for block devices"
    },
    {
      "commit": "64cce9a87099f21ee609a6a0b7450f5eba0df004",
      "tree": "df0a1b26cbbd52e7fad49a418c4ed7d5e87b644b",
      "parents": [
        "c81c9bf34aae8b169b578ba5c64a9260edacccbb"
      ],
      "author": {
        "name": "Shin\u0027ichiro Kawasaki",
        "email": "shinichiro.kawasaki@wdc.com",
        "time": "Fri Aug 28 08:27:21 2026"
      },
      "committer": {
        "name": "Shin\u0027ichiro Kawasaki",
        "email": "shinichiro.kawasaki@wdc.com",
        "time": "Thu Sep 03 07:49:02 2026"
      },
      "message": "common/nvme: do not truncate FULL file at nvme disconnect\n\nCommit df7cf50409ce (\"nvme: rely on nvme-cli status code\") reworked the\nnvme-cli command error handling. As part of that change, the \u0027nvme\ndisconnect\u0027 commands in _nvme_disconnect_ctrl() and\n_nvme_disconnect_subsys() were made to record their output in the FULL\nfile using the \u0027\u0026\u003e\u0027 redirect operator. However, \u0027\u0026\u003e\u0027 truncates the file\nand so overwrites its existing content, wiping out the logs that each\ntest case had already left in the FULL file.\n\nUse the \u0027\u0026\u003e\u003e\u0027 operator instead, which appends the command output while\npreserving the existing FULL file content.\n\nFixes: df7cf50409ce (\"nvme: rely on nvme-cli status code\")\nSigned-off-by: Shin\u0027ichiro Kawasaki \u003cshinichiro.kawasaki@wdc.com\u003e\n"
    },
    {
      "commit": "c81c9bf34aae8b169b578ba5c64a9260edacccbb",
      "tree": "cbf6d519211ed9b11ba9ed323c6773e3c3b33f98",
      "parents": [
        "ed675852b0128d81d9a9c4d53f89562b7e7ad1ba"
      ],
      "author": {
        "name": "Tao Cui",
        "email": "cuitao@kylinos.cn",
        "time": "Tue Aug 25 10:40:53 2026"
      },
      "committer": {
        "name": "Shin\u0027ichiro Kawasaki",
        "email": "shinichiro.kawasaki@wdc.com",
        "time": "Thu Sep 03 07:47:53 2026"
      },
      "message": "tests/throtl: add a new test 009\n\nTest the boundary condition of removing a cgroup while it still has IO\nqueued in the blk-throttle queue.  The queued bios must be flushed through\nwithout any blk-cgroup or blk-throttle warning.\n\nThe dmesg check matches any blk-cgroup / blk-throttle warning rather than a\nsingle call site, so it is not tied to one symbol.\n\nSigned-off-by: Tao Cui \u003ccuitao@kylinos.cn\u003e\nLink: https://lore.kernel.org/all/20260804133208.GB8078@lst.de/\nSigned-off-by: Shin\u0027ichiro Kawasaki \u003cshinichiro.kawasaki@wdc.com\u003e\n"
    },
    {
      "commit": "74cd281f31699ea2132a08a70598fe7c6e788d49",
      "tree": "3428b88c066dcc5247c599ba3bf6ddb39713a210",
      "parents": [
        "7c014b329448e1000702f617a61b6cb9a3b90f64"
      ],
      "author": {
        "name": "Prabhakar Pujeri",
        "email": "prabhakar.pujeri@dell.com",
        "time": "Sun Aug 30 13:36:46 2026"
      },
      "committer": {
        "name": "Prabhakar Pujeri",
        "email": "prabhakar.pujeri@dell.com",
        "time": "Mon Aug 31 10:05:06 2026"
      },
      "message": "meta/022: fix device_requires typo in header and description\n\nFix the two occurrences of the \u0027device_requries\u0027 typo in the test\nheader comment and DESCRIPTION.\n\nSigned-off-by: Prabhakar Pujeri \u003cprabhakar.pujeri@dell.com\u003e\n"
    },
    {
      "commit": "7c014b329448e1000702f617a61b6cb9a3b90f64",
      "tree": "6f06306fb8f75b07ef2a6f555aba23cdbf9d6745",
      "parents": [
        "4d9f750bb8f94cb9ce02c11d857815b0bb570ff6"
      ],
      "author": {
        "name": "Prabhakar Pujeri",
        "email": "prabhakar.pujeri@dell.com",
        "time": "Sun Aug 30 13:36:41 2026"
      },
      "committer": {
        "name": "Prabhakar Pujeri",
        "email": "prabhakar.pujeri@dell.com",
        "time": "Mon Aug 31 10:05:06 2026"
      },
      "message": "block/035: return failure on fio error\n\nThe test prints an error when fio exits with a nonzero status, but its\nbare return uses the successful status from echo.  As a result, callers\nsee a successful test function even though fio failed.\n\nReturn 1 on this path so the failure reaches the test harness.  Also use\nan integer comparison and quote fio_status, matching the other status\nchecks in this test.\n\nSigned-off-by: Prabhakar Pujeri \u003cprabhakar.pujeri@dell.com\u003e\n"
    },
    {
      "commit": "4d9f750bb8f94cb9ce02c11d857815b0bb570ff6",
      "tree": "48b25df1a2ccb57838de102e2cc2bb35ca9886c3",
      "parents": [
        "ed675852b0128d81d9a9c4d53f89562b7e7ad1ba"
      ],
      "author": {
        "name": "Prabhakar Pujeri",
        "email": "prabhakar.pujeri@dell.com",
        "time": "Sun Aug 30 13:36:35 2026"
      },
      "committer": {
        "name": "Prabhakar Pujeri",
        "email": "prabhakar.pujeri@dell.com",
        "time": "Mon Aug 31 09:55:50 2026"
      },
      "message": "common/scsi_debug: return failure when zbc module parameter is missing\n\nWhen RUN_FOR_ZONED is set and the scsi_debug module lacks the zbc\nparameter, _init_scsi_debug() takes the \u0027if ! _have_module_param\nscsi_debug zbc\u0027 branch and ends it with a bare \u0027return\u0027. The bare\nreturn propagates the exit status of the negated condition, which is\n0, so the function reports success even though the module was never\nloaded and no scsi_debug devices were created. Callers, e.g. zbd/009\nwith \u0027_init_scsi_debug \"${params[@]}\" || return 1\u0027, then run the\ntest body against a nonexistent device and fail with a confusing\noutput mismatch instead of skipping.\n\nReturn 1 instead, like the other failure paths in the function, so\nthat callers bail out immediately. Since _have_module_param() already\nrecords \u0027module scsi_debug does not have parameter zbc\u0027 in\nSKIP_REASONS, tests hitting this path are then properly reported as\n\u0027not run\u0027 with the actual reason. The status propagates unchanged\nthrough _configure_scsi_debug(), which returns the _init_scsi_debug()\nstatus in the loadable-module path.\n\nSigned-off-by: Prabhakar Pujeri \u003cprabhakar.pujeri@dell.com\u003e\n"
    },
    {
      "commit": "ed675852b0128d81d9a9c4d53f89562b7e7ad1ba",
      "tree": "7253b8fbac76972d137c5986acb388cb6d19449e",
      "parents": [
        "4b02f0816ad7253177df4e99582e8213a5cdbfdb"
      ],
      "author": {
        "name": "Shin\u0027ichiro Kawasaki",
        "email": "shinichiro.kawasaki@wdc.com",
        "time": "Fri Aug 21 10:54:19 2026"
      },
      "committer": {
        "name": "Shin\u0027ichiro Kawasaki",
        "email": "shinichiro.kawasaki@wdc.com",
        "time": "Sun Aug 30 08:51:26 2026"
      },
      "message": "block/040: relicense from GPL-2.0 to GPL-3.0+\n\nMost blktests code, including check and common/rc, is licensed under\nGPL-3.0+. However, tests/block/040 is licensed under GPL-2.0 only. This\ntest script sources GPL-3.0+ shell code, but GPL-2.0-only code is\nincompatible with GPL-3.0 code [1].\n\nRelicense this test script under GPL-3.0 or later to resolve this\nincompatibility. The script file was authored by Ming Lei, and he\nacknowledge to the relicensing [2]. Shin\u0027ichiro Kawasaki subsequently\nmodified the test and also agrees to the relicensing.\n\n[1] https://www.gnu.org/licenses/gpl-faq.html#v2v3Compatibility\n[2] https://lore.kernel.org/linux-block/CACVXFVMWCbvZHte0MpfHo06jWKqd-nhQ91-Hf\u003dpCxNnpxW+x+g@mail.gmail.com/\n\nAcked-by: Ming Lei \u003ctom.leiming@gmail.com\u003e\nSigned-off-by: Shin\u0027ichiro Kawasaki \u003cshinichiro.kawasaki@wdc.com\u003e\n"
    },
    {
      "commit": "fa5c341acdee37a425d18e6767683366c5293ac4",
      "tree": "3da543607333ba6fdea162818cb4913e3297dc66",
      "parents": [
        "72a6349954d49fd45d9f02f918fc846b11f080d6"
      ],
      "author": {
        "name": "Tal Zussman",
        "email": "tz2294@columbia.edu",
        "time": "Wed Aug 05 22:34:18 2026"
      },
      "committer": {
        "name": "Tal Zussman",
        "email": "tz2294@columbia.edu",
        "time": "Fri Aug 28 14:55:31 2026"
      },
      "message": "block/048: add a lost mmap write test for block devices\n\nWhen a folio holds more than one block, block device writeback tracks\ndirty state per block, so dirtying a folio through a shared mapping has\nto update that state and not just PG_dirty. When it does not, writeback\nfinds no dirty range, submits no I/O and clears PG_dirty, resulting in\ndata loss.\n\nThis is a regression test for that issue, fixed in the kernel patch\n\"block: use iomap_dirty_folio for block devices\" [1].\n\nWrite a known pattern to a memory-backed null_blk device with O_DIRECT,\nstore a different one through mmap(), msync() and fsync(), then read\nthe range back with O_DIRECT and compare. Configure the device with a\n512 byte block size so that a folio holds several blocks. With a single\nblock per folio there is no per-block state to get out of sync and the\nwrite is never lost.\n\nBlock devices only take the affected writeback path with\nCONFIG_BUFFER_HEAD\u003dn.\n\n[1]: https://lore.kernel.org/linux-block/20260802-blkdev-fixes-v1-1-a82fc549fd74@columbia.edu/\n\nSigned-off-by: Tal Zussman \u003ctz2294@columbia.edu\u003e\n"
    },
    {
      "commit": "4b02f0816ad7253177df4e99582e8213a5cdbfdb",
      "tree": "e66022f62ac3a38b033a38ca247d34a869c9d703",
      "parents": [
        "a7aa8562680a2caa747bf4e2a4d92e73e88b4ed9",
        "c169b6c646bccb116d9338dceca18a4353371219"
      ],
      "author": {
        "name": "Shin\u0027ichiro Kawasaki",
        "email": "shinichiro.kawasaki@wdc.com",
        "time": "Fri Aug 28 03:13:44 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Aug 28 03:13:44 2026"
      },
      "message": "Merge pull request #266 from Mr-Bossman/dev/jesse/fio_pid\n\nnvme: Fix fio process termination on completion"
    },
    {
      "commit": "c169b6c646bccb116d9338dceca18a4353371219",
      "tree": "e254f9a84780e9aa7e7c6abb1e7e67447933204a",
      "parents": [
        "ad26c9a0c3d6d62f8fade1bb2944bf3eea856612"
      ],
      "author": {
        "name": "Jesse Taube",
        "email": "jtaubepe@redhat.com",
        "time": "Wed Aug 19 22:38:11 2026"
      },
      "committer": {
        "name": "Jesse Taube",
        "email": "jtaubepe@redhat.com",
        "time": "Tue Aug 25 13:07:43 2026"
      },
      "message": "nvme: Fix fio process termination on completion\n\nfio was spawned inside a function, killing the function PID does not\nkill the fio process. Use set -m to enable job control and\nkill the fio process proccess group instead of the function PID.\n\nSigned-off-by: Jesse Taube \u003cjtaubepe@redhat.com\u003e\n"
    },
    {
      "commit": "a7aa8562680a2caa747bf4e2a4d92e73e88b4ed9",
      "tree": "bf77f532ff8a614bfae1acfe51a01d68102e39c5",
      "parents": [
        "a608cb56341e0f4cacf473f5e0ac6052f1f12de9"
      ],
      "author": {
        "name": "Thilak KN",
        "email": "tkn@redhat.com",
        "time": "Mon Aug 17 18:41:25 2026"
      },
      "committer": {
        "name": "Shin\u0027ichiro Kawasaki",
        "email": "shinichiro.kawasaki@wdc.com",
        "time": "Sun Aug 23 05:29:07 2026"
      },
      "message": "src/dio-offsets.c: include necessary header to successfully compile\n\nFixes 07af8a0e2383f99a50ff5340497eda9a4b0d9cac\n\nCommit 07af8a0 used fixed-width data type without including the\nnecessary header. This results in compilation failure in my environment.\n\nLink: https://github.com/linux-blktests/blktests/pull/265\nSigned-off-by: Thilak KN \u003ctkn@redhat.com\u003e\n[Shin\u0027ichiro: improved commit message]\nSigned-off-by: Shin\u0027ichiro Kawasaki \u003cshinichiro.kawasaki@wdc.com\u003e\n"
    },
    {
      "commit": "a608cb56341e0f4cacf473f5e0ac6052f1f12de9",
      "tree": "e7a35eac493bc0013ee0911865501395e5b8fa88",
      "parents": [
        "9ec287af2414a29e9c3a8cebf3f25d465541eee0"
      ],
      "author": {
        "name": "Shin\u0027ichiro Kawasaki",
        "email": "shinichiro.kawasaki@wdc.com",
        "time": "Thu Aug 06 09:42:18 2026"
      },
      "committer": {
        "name": "Shin\u0027ichiro Kawasaki",
        "email": "shinichiro.kawasaki@wdc.com",
        "time": "Fri Aug 21 04:39:19 2026"
      },
      "message": "block/045: respect dma_alignment\n\nSince the kernel commit 14b007e17881 (\"block: validate user space\nvectors during extraction\"), the test case block/045 fails with the\nerror message below:\n\n block/045 (test direct I/O full-trim bvec alignment)         [failed]\n     runtime  0.550s  ...  0.630s\n     --- tests/block/045.out     2026-08-03 19:26:40.407053612 +0900\n     +++ /home/shin/Blktests/blktests/results/nodev/block/045.out.bad    2026-08-05 20:48:33.366932845 +0900\n     @@ -1,2 +1,4 @@\n      Running block/045\n     +bio-full-trim: pread returned -1 (errno 22)\n     +bio-full-trim helper failed\n      Test complete\n\nThe errno 22 means EINVAL. The commit introduced the dma_alignment check\nand returns EINVAL when the check is not fulfilled. The test case calls\npread() with one byte offset. This offset is not aligned to the\ndma_alignment, then EINVAL is returned.\n\nTo avoid the failure, respect the dma_alignment check. Get the\ndma_alignment value and pass it to bio-full-trim command. Use the\nalignment to decide the offset value.\n\nLink: https://lore.kernel.org/linux-block/anMscoGkR5BYjSGy@shinmob/\nSigned-off-by: Shin\u0027ichiro Kawasaki \u003cshinichiro.kawasaki@wdc.com\u003e\n"
    },
    {
      "commit": "9ec287af2414a29e9c3a8cebf3f25d465541eee0",
      "tree": "1171e0c082b41c1f79ebe53b1ed86ed5d591fe33",
      "parents": [
        "ddc0babaccc4fa9b0d652ce1a359bee7568834f1"
      ],
      "author": {
        "name": "Shin\u0027ichiro Kawasaki",
        "email": "shinichiro.kawasaki@wdc.com",
        "time": "Thu Aug 06 03:31:46 2026"
      },
      "committer": {
        "name": "Shin\u0027ichiro Kawasaki",
        "email": "shinichiro.kawasaki@wdc.com",
        "time": "Thu Aug 20 07:35:35 2026"
      },
      "message": "nvme/068: check module reference count with patience\n\nThe test case nvme/068 fails depending on the system it runs on with\nthe failure message below:\n\n   nvme/068 (tr\u003drdma) (NVMe multipath delayed removal test)     [failed]\n       runtime    ...  11.357s\n       --- tests/nvme/068.out    2026-08-03 17:24:32.394566266 +0000\n       +++ /home/runner/blktests/results/nodev_tr_rdma/nvme/068.out.bad  2026-08-03 18:15:17.461243816 +0000\n       @@ -1,3 +1,4 @@\n        Running nvme/068\n        pwrite: Input/output error\n       +module refcount not as original\n        Test complete\n\nThe test case checks the reference count of the nvme_core module. If the\ncount is not the expected value, it fails with the error message.\nHowever, when the test system is slow, it takes some time until the\nreference count gets updated. When the check is too early, the count\nmismatch happens. To avoid the unexpected failure, repeat the reference\ncount check.\n\nReviewed-by: John Garry \u003cjohn.g.garry@oracle.com\u003e\nSigned-off-by: Shin\u0027ichiro Kawasaki \u003cshinichiro.kawasaki@wdc.com\u003e\n"
    },
    {
      "commit": "ddc0babaccc4fa9b0d652ce1a359bee7568834f1",
      "tree": "5d403117daad9c93abde7822d27e8ffd7ba3a0c7",
      "parents": [
        "7cc872581262fe901dc2ac5f82d54ec8a9ba1a8f"
      ],
      "author": {
        "name": "Bart Van Assche",
        "email": "bvanassche@acm.org",
        "time": "Thu Jun 04 16:14:39 2026"
      },
      "committer": {
        "name": "Shin\u0027ichiro Kawasaki",
        "email": "shinichiro.kawasaki@wdc.com",
        "time": "Thu Aug 13 01:11:22 2026"
      },
      "message": "tests/throtl/rc: Improve _set_up_throtl()\n\nUse whole-word matching (-w) when checking for the \"io\" controller in\ncgroup.subtree_control files inside _set_up_throtl().\n\nLink: https://github.com/linux-blktests/blktests/pull/261\nSigned-off-by: Bart Van Assche \u003cbvanassche@acm.org\u003e\n[Shin\u0027ichiro: replaced short options with long options]\nSigned-off-by: Shin\u0027ichiro Kawasaki \u003cshinichiro.kawasaki@wdc.com\u003e\n"
    },
    {
      "commit": "7cc872581262fe901dc2ac5f82d54ec8a9ba1a8f",
      "tree": "95f85a0151c5edcd8c84ddad084386457d48463b",
      "parents": [
        "07af8a0e2383f99a50ff5340497eda9a4b0d9cac"
      ],
      "author": {
        "name": "Bart Van Assche",
        "email": "bvanassche@acm.org",
        "time": "Thu Mar 26 18:01:33 2026"
      },
      "committer": {
        "name": "Shin\u0027ichiro Kawasaki",
        "email": "shinichiro.kawasaki@wdc.com",
        "time": "Thu Aug 13 01:11:16 2026"
      },
      "message": "block/042: Log the executed command\n\nMake it easier to analyze test failures by logging the executed command\nin $FULL before executing it. Reduce code repetition by changing the\nworking directory to ${TEST_DEV_SYSFS}/queue before reading sysfs\nattributes.\n\nLink: https://github.com/linux-blktests/blktests/pull/261\nSigned-off-by: Bart Van Assche \u003cbvanassche@acm.org\u003e\nSigned-off-by: Shin\u0027ichiro Kawasaki \u003cshinichiro.kawasaki@wdc.com\u003e\n"
    },
    {
      "commit": "07af8a0e2383f99a50ff5340497eda9a4b0d9cac",
      "tree": "046ebe21a9df84e440667cbdfd284ea5b4f004c9",
      "parents": [
        "ad26c9a0c3d6d62f8fade1bb2944bf3eea856612"
      ],
      "author": {
        "name": "Bart Van Assche",
        "email": "bvanassche@acm.org",
        "time": "Thu Mar 26 18:00:58 2026"
      },
      "committer": {
        "name": "Shin\u0027ichiro Kawasaki",
        "email": "shinichiro.kawasaki@wdc.com",
        "time": "Thu Aug 13 01:10:51 2026"
      },
      "message": "src/dio-offsets: Make the compare() output more informative\n\nReport the offset at which data corruption has been detected.\n\nLink: https://github.com/linux-blktests/blktests/pull/261\nSigned-off-by: Bart Van Assche \u003cbvanassche@acm.org\u003e\nSigned-off-by: Shin\u0027ichiro Kawasaki \u003cshinichiro.kawasaki@wdc.com\u003e\n"
    },
    {
      "commit": "ad26c9a0c3d6d62f8fade1bb2944bf3eea856612",
      "tree": "89d7251f2a24393fddb9d81144324a9812d257c7",
      "parents": [
        "5d2638b96a3664c3501636581b2d590ce1c15a1f"
      ],
      "author": {
        "name": "John Meneghini",
        "email": "jmeneghi@redhat.com",
        "time": "Wed Dec 24 17:03:25 2025"
      },
      "committer": {
        "name": "Shin\u0027ichiro Kawasaki",
        "email": "shinichiro.kawasaki@wdc.com",
        "time": "Thu Aug 06 07:17:48 2026"
      },
      "message": "makefile: Add rules to generate ctags\n\nIf cscope and ctags are installed create the databases needed\nto browse these shell scripts with cscope/ctags.\n\nLink: https://github.com/linux-blktests/blktests/pull/253\nSigned-off-by: John Meneghini \u003cjmeneghi@redhat.com\u003e\nReviewed-by: Daniel Wagner \u003cdwagner@suse.de\u003e\nSigned-off-by: Shin\u0027ichiro Kawasaki \u003cshinichiro.kawasaki@wdc.com\u003e\n"
    },
    {
      "commit": "5d2638b96a3664c3501636581b2d590ce1c15a1f",
      "tree": "24daba28c174686eb61de89ab4eda2212fd98ede",
      "parents": [
        "db623ee8039f1e0ef32f79cd55d9f3a9dbb2b1f8"
      ],
      "author": {
        "name": "Jesse Taube",
        "email": "jtaubepe@redhat.com",
        "time": "Thu Jul 23 18:16:30 2026"
      },
      "committer": {
        "name": "Shin\u0027ichiro Kawasaki",
        "email": "shinichiro.kawasaki@wdc.com",
        "time": "Thu Aug 06 07:17:48 2026"
      },
      "message": "nvme: Add ability to have multiple host ports\n\nCurrently, the nvme tests only support a single host port.\nThis patch adds the ability to have multiple host ports, which will\nmore accuratly reflect a real-world multipath scenario.\n\nLink: https://github.com/linux-blktests/blktests/pull/253\nSigned-off-by: Jesse Taube \u003cjtaubepe@redhat.com\u003e\nReviewed-by: Daniel Wagner \u003cdwagner@suse.de\u003e\nSigned-off-by: Shin\u0027ichiro Kawasaki \u003cshinichiro.kawasaki@wdc.com\u003e\n"
    },
    {
      "commit": "db623ee8039f1e0ef32f79cd55d9f3a9dbb2b1f8",
      "tree": "af77e642ad3a7875adc280358816aad88eba2de9",
      "parents": [
        "72a6349954d49fd45d9f02f918fc846b11f080d6"
      ],
      "author": {
        "name": "Jesse Taube",
        "email": "jtaubepe@redhat.com",
        "time": "Thu Jul 23 18:14:06 2026"
      },
      "committer": {
        "name": "Shin\u0027ichiro Kawasaki",
        "email": "shinichiro.kawasaki@wdc.com",
        "time": "Thu Aug 06 07:17:44 2026"
      },
      "message": "nvme: Add _nvmet_target_add_ports\n\nAdd `_nvmet_target_add_ports` to allow for more ports to be added after\n`_nvmet_target_setup` has been called.\n\nAdd `add-ports` stub to `contrib/nvme_target_control.py` which is called\nby _nvmet_target_add_ports. In the future if `_nvmet_target_add_ports`\nis used in a test, which needs additional `add-ports` functionality,\nit would make sense to replace the stub with a complete implementation.\n\nLink: https://github.com/linux-blktests/blktests/pull/253\nSigned-off-by: Jesse Taube \u003cjtaubepe@redhat.com\u003e\nReviewed-by: Daniel Wagner \u003cdwagner@suse.de\u003e\nSigned-off-by: Shin\u0027ichiro Kawasaki \u003cshinichiro.kawasaki@wdc.com\u003e\n"
    },
    {
      "commit": "72a6349954d49fd45d9f02f918fc846b11f080d6",
      "tree": "1905d970c9955d2689711806afb58ca86b39cb3f",
      "parents": [
        "a71b239fc3265b700471e821319b106c6c0f155a"
      ],
      "author": {
        "name": "Shin\u0027ichiro Kawasaki",
        "email": "shinichiro.kawasaki@wdc.com",
        "time": "Sat Jun 20 06:12:09 2026"
      },
      "committer": {
        "name": "Shin\u0027ichiro Kawasaki",
        "email": "shinichiro.kawasaki@wdc.com",
        "time": "Mon Aug 03 00:00:28 2026"
      },
      "message": "common, block/{015,020,021,027,040}, zbd/012: use _write_queue_sched()\n\nUse _write_queue_sched() to write values to the sysfs attirbute\nqueue/scheduler to handle -EBUSY.\n\nSigned-off-by: Shin\u0027ichiro Kawasaki \u003cshinichiro.kawasaki@wdc.com\u003e\n"
    },
    {
      "commit": "a71b239fc3265b700471e821319b106c6c0f155a",
      "tree": "dc2dbab978f0d4e8dfd203a74543d1b9e01868aa",
      "parents": [
        "d606058a8fd15b693c6e93534faedd281ce040a5"
      ],
      "author": {
        "name": "Shin\u0027ichiro Kawasaki",
        "email": "shinichiro.kawasaki@wdc.com",
        "time": "Mon Jun 22 10:41:48 2026"
      },
      "committer": {
        "name": "Shin\u0027ichiro Kawasaki",
        "email": "shinichiro.kawasaki@wdc.com",
        "time": "Mon Aug 03 00:00:28 2026"
      },
      "message": "check: introduce _write_queue_sched() to repeat queue/scheduler writes\n\nAfter the kernel commit 4ff58d6bc9dd (\"block: serialize elevator changes\nfor the same queue using a writer lock, concurrent writes to the sysfs\nattribute\") file queue/scheduler of single block device may fail with\n-EBUSY. Such failure is observed when udevd writes to the file while\nblock/005 is running. The write failure cause blktests test case\nfailures. To avoid it, check the error of the writes, and if the error\nis -EBUSY, retry the write.\n\nSigned-off-by: Shin\u0027ichiro Kawasaki \u003cshinichiro.kawasaki@wdc.com\u003e\n"
    },
    {
      "commit": "d606058a8fd15b693c6e93534faedd281ce040a5",
      "tree": "2acc8b9a0dc08e9cd41e89477662ecfa5ee7dc4e",
      "parents": [
        "fc6e3ffbd58c58c1eec213552479030a396e3476"
      ],
      "author": {
        "name": "Shin\u0027ichiro Kawasaki",
        "email": "shinichiro.kawasaki@wdc.com",
        "time": "Fri Jun 05 11:05:34 2026"
      },
      "committer": {
        "name": "Shin\u0027ichiro Kawasaki",
        "email": "shinichiro.kawasaki@wdc.com",
        "time": "Mon Aug 03 00:00:28 2026"
      },
      "message": "block: add test for concurrent IO scheduler switching\n\nAdd test to confirm that multiple processes can write to queue/scheduler\nsysfs attribute of single block device concurrently. This is the fix\nconfirmation test for the recent bug in the kernel fixed by the kernel\ncommit 4ff58d6bc9dd (\"block: serialize elevator changes for the same\nqueue using a writer lock\").\n\nSigned-off-by: Shin\u0027ichiro Kawasaki \u003cshinichiro.kawasaki@wdc.com\u003e\n"
    },
    {
      "commit": "fc6e3ffbd58c58c1eec213552479030a396e3476",
      "tree": "470888739f6f422004cdcbba502ba8e78f15b86a",
      "parents": [
        "414e1c0824559eb0aff855f197fa5c3c2a85d63f",
        "c7924c6ad8482e2feb449493721d04d20512a981"
      ],
      "author": {
        "name": "Shin\u0027ichiro Kawasaki",
        "email": "shinichiro.kawasaki@wdc.com",
        "time": "Sun Aug 02 10:12:22 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun Aug 02 10:12:22 2026"
      },
      "message": "Merge pull request #251 from 0wnerDied/bio-bounce-regression-tests\n\nblock/045,046: add bio read-bounce alignment regression tests"
    },
    {
      "commit": "c7924c6ad8482e2feb449493721d04d20512a981",
      "tree": "470888739f6f422004cdcbba502ba8e78f15b86a",
      "parents": [
        "87990f9545647c20ad46ae45b320cdd90c0536cc"
      ],
      "author": {
        "name": "0wnerD1ed",
        "email": "l7z@0b1t.tech",
        "time": "Mon Jul 27 03:10:55 2026"
      },
      "committer": {
        "name": "0wnerD1ed",
        "email": "l7z@0b1t.tech",
        "time": "Sat Aug 01 07:32:15 2026"
      },
      "message": "block/046: add a bounced-read double-unpin test\n\nbio_iov_iter_bounce_read() places its bounce folio before the\nextracted user bvecs. Before df308a145856 (\"block: fix aligning of\nbounced dio read bios\"), the alignment helper could interpret that\nspecial layout as a normal bvec array and unpin one user page twice.\n\nCreate a memory-backed null_blk device and enable stable writes before\nmounting XFS, then trigger a partial bounced direct read. This keeps\nthe test independent of an externally supplied block device.\n\nRegister the first page as an io_uring fixed buffer and record its PFN.\nAfter the read, drop the userspace mapping while keeping the\nregistration active, then inspect that PFN through kpageflags. The\nvulnerable kernel has already freed the page, while the fixed kernel\nretains it through the io_uring pin.\n\nSigned-off-by: 0wnerD1ed \u003cl7z@0b1t.tech\u003e\n"
    },
    {
      "commit": "87990f9545647c20ad46ae45b320cdd90c0536cc",
      "tree": "7de03ad452edc54dbfb16254c89fb0383b91640d",
      "parents": [
        "414e1c0824559eb0aff855f197fa5c3c2a85d63f"
      ],
      "author": {
        "name": "0wnerD1ed",
        "email": "l7z@0b1t.tech",
        "time": "Mon Jul 27 03:10:15 2026"
      },
      "committer": {
        "name": "0wnerD1ed",
        "email": "l7z@0b1t.tech",
        "time": "Sat Aug 01 07:32:15 2026"
      },
      "message": "block/045: add a full-trim bvec alignment test\n\nExercise the boundary where direct I/O extracts a single-byte bvec and\nalignment removes it completely. The helper reads one logical block into\nthe final byte of a mapped page followed by a PROT_NONE page.\n\nThe original alignment loop handled this case, but an intermediate\nrevision of the patch that became df308a145856 (\"block: fix aligning of\nbounced dio read bios\") evaluated the loop condition again after\nconsuming the final bvec and accessed memory before the vector array. The\nboundary check was corrected before the patch was merged.\n\nExpect EFAULT and let KASAN detect any access before the bvec array. Leave\nnull_blk at its default capacity so the test can also run with\nRUN_ZONED_TESTS enabled.\n\nSigned-off-by: 0wnerD1ed \u003cl7z@0b1t.tech\u003e\n"
    },
    {
      "commit": "414e1c0824559eb0aff855f197fa5c3c2a85d63f",
      "tree": "480e8e082ba3b28bd2f18edec4ea476e389cffbf",
      "parents": [
        "6134913cb18715ea204378162dca7a3ee90feccc",
        "98b7f0360d7beb1fc2606875be15a330fc96e9fb"
      ],
      "author": {
        "name": "Shin\u0027ichiro Kawasaki",
        "email": "shinichiro.kawasaki@wdc.com",
        "time": "Sat Aug 01 05:29:53 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat Aug 01 05:29:53 2026"
      },
      "message": "Merge pull request #257 from dwsuse/nvme-cli-keys\n\nnvme: rename DH to KX according TP4201"
    },
    {
      "commit": "6134913cb18715ea204378162dca7a3ee90feccc",
      "tree": "daf318739e93dc0d77c196f9ac1897350e68bfb1",
      "parents": [
        "6f5a1dcb4551fe45c35e1fb1cdfa8343909f834a",
        "dee6859c0e894a51e6ff7e84f1d5b18c9ca61027"
      ],
      "author": {
        "name": "Shin\u0027ichiro Kawasaki",
        "email": "shinichiro.kawasaki@wdc.com",
        "time": "Sat Aug 01 05:28:54 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat Aug 01 05:28:54 2026"
      },
      "message": "Merge pull request #254 from dirkmueller/ret_not_ret_command\n\nnvme/{014,019}: Print the return value instead of shell execution"
    },
    {
      "commit": "dee6859c0e894a51e6ff7e84f1d5b18c9ca61027",
      "tree": "daf318739e93dc0d77c196f9ac1897350e68bfb1",
      "parents": [
        "6f5a1dcb4551fe45c35e1fb1cdfa8343909f834a"
      ],
      "author": {
        "name": "Dirk Müller",
        "email": "dmueller@suse.com",
        "time": "Thu Jul 30 14:33:05 2026"
      },
      "committer": {
        "name": "Dirk Müller",
        "email": "dmueller@suse.com",
        "time": "Thu Jul 30 14:33:05 2026"
      },
      "message": "nvme/{014,019}: Print the return value instead of shell execution\n\nSigned-off-by: Dirk Müller \u003cdmueller@suse.com\u003e\n"
    },
    {
      "commit": "98b7f0360d7beb1fc2606875be15a330fc96e9fb",
      "tree": "82bd9520ac58891d6cedbd107039b493cdcace11",
      "parents": [
        "6f5a1dcb4551fe45c35e1fb1cdfa8343909f834a"
      ],
      "author": {
        "name": "Daniel Wagner",
        "email": "dwagner@suse.com",
        "time": "Tue Jul 28 13:31:48 2026"
      },
      "committer": {
        "name": "Daniel Wagner",
        "email": "dwagner@suse.de",
        "time": "Wed Jul 29 15:37:19 2026"
      },
      "message": "nvme: add support for nvme-cli 3 tls/chap key management\n\nAdd support for nvme-cli 2.x nvme-cli 3.x tls/chap key management.\n\nThe DH prefix is replaced with KX (key exchange) as defined in TP4201\nEnhancements for Post-Quantum Crypto Algorithms.\n\nSigned-off-by: Daniel Wagner \u003cdwagner@suse.com\u003e\n"
    },
    {
      "commit": "6f5a1dcb4551fe45c35e1fb1cdfa8343909f834a",
      "tree": "6eb82083dc6f7aa5c480393d7ebb762a20eeb388",
      "parents": [
        "8f6020e8a252fef40a7de05f7e51c5eb69d29397",
        "df7cf50409cec7b2d92e71df9574174b07fd0095"
      ],
      "author": {
        "name": "Shin\u0027ichiro Kawasaki",
        "email": "shinichiro.kawasaki@wdc.com",
        "time": "Fri Jul 24 12:28:25 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Jul 24 12:28:25 2026"
      },
      "message": "Merge pull request #248 from dwsuse/nvme-cli-3-output-changes\n\nHandle nvme cli 3.x output changes"
    },
    {
      "commit": "8f6020e8a252fef40a7de05f7e51c5eb69d29397",
      "tree": "4ef013bd38db8ad27bc400ee86b5d56a39fb2fc6",
      "parents": [
        "81408a2d6554a182da30bb93552715be2bd3c57f"
      ],
      "author": {
        "name": "Sebastian Chlad",
        "email": "sebastianchlad@gmail.com",
        "time": "Tue Jul 21 16:04:32 2026"
      },
      "committer": {
        "name": "Shin\u0027ichiro Kawasaki",
        "email": "shinichiro.kawasaki@wdc.com",
        "time": "Thu Jul 23 13:13:47 2026"
      },
      "message": "loop/006: settle udev before completing the test\n\nEnsures udev has processed the burst of attach/detach/LOOP_CHANGE_FD\nactivity generated by this test before control is handed back, so it\ndoes not leave a backlog for the next test to contend with.\n\nSigned-off-by: Sebastian Chlad \u003csebastian.chlad@suse.com\u003e\nSigned-off-by: Shin\u0027ichiro Kawasaki \u003cshinichiro.kawasaki@wdc.com\u003e\n"
    },
    {
      "commit": "81408a2d6554a182da30bb93552715be2bd3c57f",
      "tree": "66afdbe2f4fd3ca99e50ecc857569b9f9654490b",
      "parents": [
        "2b940b7f6147460056b161153c541555cd18666e"
      ],
      "author": {
        "name": "Sebastian Chlad",
        "email": "sebastianchlad@gmail.com",
        "time": "Tue Jul 21 16:04:31 2026"
      },
      "committer": {
        "name": "Shin\u0027ichiro Kawasaki",
        "email": "shinichiro.kawasaki@wdc.com",
        "time": "Thu Jul 23 13:12:35 2026"
      },
      "message": "loop/009: only skip on a genuinely unrecognized --ping option\n\nudevadm control --ping can also fail when udevd is busy or unresponsive\nnot only when the option is genuinely unsupported. Treating any failure\nas \"unsupported\" risked masking a real udevd problem behind a\nmisleading skip reason instead of letting the test run and report it.\n\nSigned-off-by: Sebastian Chlad \u003csebastian.chlad@suse.com\u003e\n[Shin\u0027ichiro: replaced grep\u0027s short option with long option]\nSigned-off-by: Shin\u0027ichiro Kawasaki \u003cshinichiro.kawasaki@wdc.com\u003e\n"
    },
    {
      "commit": "2b940b7f6147460056b161153c541555cd18666e",
      "tree": "d12523dfe5dc6e11dee5f4132e16ee5f809fdd38",
      "parents": [
        "1ece15f3280b60dbd6c90890c4a5ab7c07afdeea"
      ],
      "author": {
        "name": "Shin\u0027ichiro Kawasaki",
        "email": "shinichiro.kawasaki@wdc.com",
        "time": "Mon Jul 13 00:39:06 2026"
      },
      "committer": {
        "name": "Shin\u0027ichiro Kawasaki",
        "email": "shinichiro.kawasaki@wdc.com",
        "time": "Thu Jul 23 10:22:42 2026"
      },
      "message": "new: guide long command options\n\nIn the past, command option confusion caused a script bug. The command\noption definition change and command option misunderstanding were the\ncause. To avoid such troubles, guide to use long command options.\n\nLink: https://lore.kernel.org/linux-nvme/Zbu2qJGoz9UQfPw7@kbusch-mbp.dhcp.thefacebook.com/\nReviewed-by: Daniel Wagner \u003cdwagner@suse.de\u003e\nReviewed-by: Bart Van Assche \u003cbvanassche@acm.org\u003e\nSigned-off-by: Shin\u0027ichiro Kawasaki \u003cshinichiro.kawasaki@wdc.com\u003e\n"
    },
    {
      "commit": "1ece15f3280b60dbd6c90890c4a5ab7c07afdeea",
      "tree": "6c7abd9f5fc6a1b30d39843b9ff7b9dad78540a5",
      "parents": [
        "cace8ef4a6166cb353b029aae81e6473a1cee530"
      ],
      "author": {
        "name": "Shin\u0027ichiro Kawasaki",
        "email": "shinichiro.kawasaki@wdc.com",
        "time": "Mon Jul 13 00:39:05 2026"
      },
      "committer": {
        "name": "Shin\u0027ichiro Kawasaki",
        "email": "shinichiro.kawasaki@wdc.com",
        "time": "Thu Jul 23 10:22:42 2026"
      },
      "message": "CONTRIBUTING: clarify that GPL-2.0 is not applicable\n\nMajority of the blktests code has GPL-3.0+, so the effective main\nlicense is GPL-3.0+ (e.g., check, common/rc). However, GPL-2.0 and\nGPL-3.0 are not compatible with each other [1]. Because the majority of\nblktests is GPL-3.0+, blktests cannot contain GPL-2.0 files. All files\nshall be GPL-3.0+ or GPL-2.0+. Document this requirement for\nclarification.\n\n[1] https://www.gnu.org/licenses/gpl-faq.html#v2v3Compatibility\n\nReviewed-by: Daniel Wagner \u003cdwagner@suse.de\u003e\nReviewed-by: Bart Van Assche \u003cbvanassche@acm.org\u003e\nSigned-off-by: Shin\u0027ichiro Kawasaki \u003cshinichiro.kawasaki@wdc.com\u003e\n"
    },
    {
      "commit": "cace8ef4a6166cb353b029aae81e6473a1cee530",
      "tree": "3ebc183fbcd6305a02c7657d75398a17db5ce7f7",
      "parents": [
        "f59658e211f3cfd84c86c015ff53e2ce4b8b8253"
      ],
      "author": {
        "name": "Shin\u0027ichiro Kawasaki",
        "email": "shinichiro.kawasaki@wdc.com",
        "time": "Mon Jul 13 00:39:04 2026"
      },
      "committer": {
        "name": "Shin\u0027ichiro Kawasaki",
        "email": "shinichiro.kawasaki@wdc.com",
        "time": "Thu Jul 23 10:22:42 2026"
      },
      "message": "nvme/rc: use _set_attr() in _create_nvmet_passthru()\n\nCommit 91316870b124 (\"common/nvme, nvme/rc: use _set_attr() to trace\nattribute writes\") replaced sysfs/confgfs/debugfs attribute writes with\n_set_attr() function call, but it missed to one place. Replace the\nmissed write.\n\nFixes: 91316870b124 (\"common/nvme, nvme/rc: use _set_attr() to trace attribute writes\")\nReviewed-by: Daniel Wagner \u003cdwagner@suse.de\u003e\nReviewed-by: Bart Van Assche \u003cbvanassche@acm.org\u003e\nSigned-off-by: Shin\u0027ichiro Kawasaki \u003cshinichiro.kawasaki@wdc.com\u003e\n"
    },
    {
      "commit": "f59658e211f3cfd84c86c015ff53e2ce4b8b8253",
      "tree": "61f70fbeb0a0b484011a7314efa63daa1cdc1916",
      "parents": [
        "55e00bdc89ca0fb2620901e5b60d850ca584a9d5"
      ],
      "author": {
        "name": "Shin\u0027ichiro Kawasaki",
        "email": "shinichiro.kawasaki@wdc.com",
        "time": "Mon Jul 13 00:39:03 2026"
      },
      "committer": {
        "name": "Shin\u0027ichiro Kawasaki",
        "email": "shinichiro.kawasaki@wdc.com",
        "time": "Thu Jul 23 10:22:42 2026"
      },
      "message": "check: fix exit status code handling\n\nCommit e50a5ff644f3 (\"check: call _unload_module() after\nfallback_device_cleanup()\") added a _unload_module() call to\n_check_and_call(). However, after this commit, _check_and_call() no\nlonger returns the exit status of _call_test(). Then, the check script\ndoes not return non-zero exit status even when any test case fails. Fix\nthis by adding a local variable to keep the exit status of _call_test().\n\nFixes: e50a5ff644f3 (\"check: call _unload_module() after fallback_device_cleanup()\")\nReviewed-by: Daniel Wagner \u003cdwagner@suse.de\u003e\nReviewed-by: Bart Van Assche \u003cbvanassche@acm.org\u003e\nSigned-off-by: Shin\u0027ichiro Kawasaki \u003cshinichiro.kawasaki@wdc.com\u003e\n"
    },
    {
      "commit": "55e00bdc89ca0fb2620901e5b60d850ca584a9d5",
      "tree": "baa95f8a837b3f2fc6b9cd9931afda51a28dc1d6",
      "parents": [
        "3e7f98787c5f15db40eee49d6e4fb28f2d5b5850"
      ],
      "author": {
        "name": "Shin\u0027ichiro Kawasaki",
        "email": "shinichiro.kawasaki@wdc.com",
        "time": "Thu Jul 23 10:16:06 2026"
      },
      "committer": {
        "name": "Shin\u0027ichiro Kawasaki",
        "email": "shinichiro.kawasaki@wdc.com",
        "time": "Thu Jul 23 10:16:06 2026"
      },
      "message": "nvme/050: skip cleanly when debugfs is not mounted\n\nThe test case nvme/050 writes files in /sys/kernel/debug/fail_io_timeout\nwhich don\u0027t exist if debugfs isn\u0027t mounted. Call _have_debugfs() from\nrequires() to skip cleanly instead.\n\nSigned-off-by: Shin\u0027ichiro Kawasaki \u003cshinichiro.kawasaki@wdc.com\u003e\n"
    },
    {
      "commit": "3e7f98787c5f15db40eee49d6e4fb28f2d5b5850",
      "tree": "b40e4d55a16f558aa8ba09e41eac08051828fe81",
      "parents": [
        "383e69b2660f69d16299a7a126821301c1c5c3c9"
      ],
      "author": {
        "name": "Sebastian Chlad",
        "email": "sebastianchlad@gmail.com",
        "time": "Thu Jul 16 10:08:31 2026"
      },
      "committer": {
        "name": "Shin\u0027ichiro Kawasaki",
        "email": "shinichiro.kawasaki@wdc.com",
        "time": "Thu Jul 23 10:11:02 2026"
      },
      "message": "nvme/039: skip cleanly when debugfs is not mounted\n\n_nvme_err_inject_setup() reads/writes files under\n/sys/kernel/debug/\u003cdev\u003e/fault_inject/, which don\u0027t exist if debugfs\nisn\u0027t mounted even though FAULT_INJECTION_DEBUG_FS is enabled in the\nkernel config (e.g. SLE, where sys-kernel-debug.mount isn\u0027t started\nby default).\n\nCall _have_debugfs() from requires() to skip cleanly 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": "383e69b2660f69d16299a7a126821301c1c5c3c9",
      "tree": "63b2cb464c30c01897f92dd6fd2b2016a249b3e6",
      "parents": [
        "b5ebe21c6acca1e2b84e0c474bfac53b7f16e909"
      ],
      "author": {
        "name": "Sebastian Chlad",
        "email": "sebastianchlad@gmail.com",
        "time": "Thu Jul 16 10:08:30 2026"
      },
      "committer": {
        "name": "Shin\u0027ichiro Kawasaki",
        "email": "shinichiro.kawasaki@wdc.com",
        "time": "Thu Jul 23 10:11:02 2026"
      },
      "message": "common/rc: add _have_debugfs()\n\nKernel options like FAULT_INJECTION_DEBUG_FS being enabled does not\nguarantee debugfs is actually mounted at /sys/kernel/debug: on\nsystemd systems, sys-kernel-debug.mount may not be started by\ndefault (e.g. SLE).\n\nAdd _have_debugfs(), mirroring the existing _have_configfs() and\n_have_tracefs() checks, so tests that depend on debugfs-backed\ninterfaces can skip cleanly with a clear reason instead of failing.\n\nSigned-off-by: Sebastian Chlad \u003csebastian.chlad@suse.com\u003e\nSigned-off-by: Shin\u0027ichiro Kawasaki \u003cshinichiro.kawasaki@wdc.com\u003e\n"
    },
    {
      "commit": "b5ebe21c6acca1e2b84e0c474bfac53b7f16e909",
      "tree": "6b17607b8291b507e68a4999b0c1b97f85a1cc32",
      "parents": [
        "09b9e4e0702700e9408d26ef56f442cff7600645"
      ],
      "author": {
        "name": "John Garry",
        "email": "john.garry@linux.dev",
        "time": "Mon Jul 20 15:02:17 2026"
      },
      "committer": {
        "name": "Shin\u0027ichiro Kawasaki",
        "email": "shinichiro.kawasaki@wdc.com",
        "time": "Thu Jul 23 06:38:39 2026"
      },
      "message": "nvme/069: add a test for multipath cdev lifetime\n\nIn [0], a fix was proposed for the NS and NS head (multipath) cdev\nlifetime.\n\nThe issue was that fds for the nvme-generic cdev may exist after we tear\ndown the nvme-subsystem. Issuing an ioctl on that cdev may expose a\nuse-after-free.\n\nThis test recreates the method described in [0] to expose this issue\nfor NS head cdev.\n\nFirst a fd is created by opening the nvme-generic cdev. Next we tear down\nthe nvme-subsystem. Finally we try to issue an ioctl on the cdev - without\nthe kernel fix in [0], this should trigger a KASAN warn.\n\n[0] https://lore.kernel.org/linux-nvme/20260713104238.3034640-1-john.g.garry@oracle.com/T/#me118851584fbcbb960795d0f04e2262e5a295613\n\nReviewed-by: Daniel Wagner \u003cdwagner@suse.de\u003e\nSigned-off-by: John Garry \u003cjohn.g.garry@oracle.com\u003e\nReviewed-by: Nilay Shroff \u003cnilay@linux.ibm.com\u003e\nSigned-off-by: Shin\u0027ichiro Kawasaki \u003cshinichiro.kawasaki@wdc.com\u003e\n"
    },
    {
      "commit": "09b9e4e0702700e9408d26ef56f442cff7600645",
      "tree": "0d6f203ad23d65aaee4faa499e2b72187efaac23",
      "parents": [
        "16c72b4d29874ce2a29cf886fa8c52a6e3d46bcc",
        "0a482aae9d2c4968ee0b35a66c9a882bd27b2543"
      ],
      "author": {
        "name": "Shin\u0027ichiro Kawasaki",
        "email": "shinichiro.kawasaki@wdc.com",
        "time": "Thu Jul 23 06:30:46 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Jul 23 06:30:46 2026"
      },
      "message": "Merge pull request #252 from dwsuse/add-example-config\n\ndocs: add fully annotated configuration example"
    },
    {
      "commit": "16c72b4d29874ce2a29cf886fa8c52a6e3d46bcc",
      "tree": "5332b211b30d954e3922f817eb2550b817f2c77f",
      "parents": [
        "555fa9a71803f9666b215a6b0b62bb789b056557"
      ],
      "author": {
        "name": "Daan De Meyer",
        "email": "daan@amutable.com",
        "time": "Wed Jul 15 19:46:18 2026"
      },
      "committer": {
        "name": "Shin\u0027ichiro Kawasaki",
        "email": "shinichiro.kawasaki@wdc.com",
        "time": "Thu Jul 23 00:05:34 2026"
      },
      "message": "loop: test cleanup of manually added partitions\n\nPartitions can be added to a loop device with BLKPG while\nLO_FLAGS_PARTSCAN is clear. After disk_force_media_change() stopped\nsetting GD_NEED_PART_SCAN, such partitions could survive both detach and\nreopening the unbound loop device.\n\nAdd a regression test that creates a partition with partx, detaches the\nloop device, reopens it, and verifies that the partition is gone. Stop an\nactive systemd-udevd during the test so userspace cannot hide missing\nkernel cleanup, and restore it through the test cleanup hook.\n\nOpening the device after detach allows both the historical lazy cleanup\nand the new eager teardown cleanup to pass while detecting the\nregression between them.\n\nLink: https://lore.kernel.org/r/20260715-b4-loop-partition-cleanup-v1-1-b9f59910cd1e@amutable.com\nLink: https://lore.kernel.org/oe-lkp/202607150754.b660f5b9-lkp@intel.com\nLink: https://github.com/linux-blktests/blktests/pull/250\nSigned-off-by: Daan De Meyer \u003cdaan@amutable.com\u003e\nReviewed-by: Daniel Wagner \u003cdwagner@suse.de\u003e\nSigned-off-by: Shin\u0027ichiro Kawasaki \u003cshinichiro.kawasaki@wdc.com\u003e\n"
    },
    {
      "commit": "0a482aae9d2c4968ee0b35a66c9a882bd27b2543",
      "tree": "95d469784a1cfd9745f9d4065aea1245c8f6d198",
      "parents": [
        "555fa9a71803f9666b215a6b0b62bb789b056557"
      ],
      "author": {
        "name": "Daniel Wagner",
        "email": "dwagner@suse.de",
        "time": "Wed Jul 22 13:03:11 2026"
      },
      "committer": {
        "name": "Daniel Wagner",
        "email": "dwagner@suse.de",
        "time": "Wed Jul 22 13:03:11 2026"
      },
      "message": "docs: add fully annotated configuration example\n\nAdds config.example with detailed comments for all required and\noptional settings to make initial setup easier for new users.\n\nSigned-off-by: Daniel Wagner \u003cdwagner@suse.de\u003e\n"
    },
    {
      "commit": "df7cf50409cec7b2d92e71df9574174b07fd0095",
      "tree": "70f247ef3f4197fa9945c9721702913600d80ff9",
      "parents": [
        "7772b1c5c35b279b32bf924cd300916f56a6f457"
      ],
      "author": {
        "name": "Daniel Wagner",
        "email": "dwagner@suse.de",
        "time": "Mon Jul 13 11:40:04 2026"
      },
      "committer": {
        "name": "Daniel Wagner",
        "email": "dwagner@suse.de",
        "time": "Wed Jul 22 12:44:18 2026"
      },
      "message": "nvme: rely on nvme-cli status code\n\nnvme-cli 3.x changes its output behavior to match standard POSIX tools.\nThat means there is no output on success, and error messages are sent to\nstderr. For the nvme disconnect command, check the return code, extend\nthe test coverage, and verify that the sysfs entries have been\nremoved.\n\nAdditionally, _nvme_disconnect_ctrl_sync has been merged into\n_nvme_disconnect_ctrl (using the --no-wait option) to verify that the\ndisconnect worked across all tests. The --no-wait option allows\nindividual tests to opt out if necessary.\n\nSigned-off-by: Daniel Wagner \u003cdwagner@suse.de\u003e\n"
    },
    {
      "commit": "7772b1c5c35b279b32bf924cd300916f56a6f457",
      "tree": "4d9c0a1ea716229468c8ddbea387cdab06d7086d",
      "parents": [
        "9bd4a807760f7f836e2a777a72d3086ff7fa2280"
      ],
      "author": {
        "name": "Daniel Wagner",
        "email": "dwagner@suse.de",
        "time": "Mon Jul 13 11:28:27 2026"
      },
      "committer": {
        "name": "Daniel Wagner",
        "email": "dwagner@suse.de",
        "time": "Wed Jul 22 12:41:26 2026"
      },
      "message": "nvme/054: rely on nvme-cli status code\n\nnvme-cli 3.x changes its output behavior to match standard POSIX tools.\nThat means there is no output on success, and error messages are sent to\nstderr. For the nvme recv commands, it is sufficient to check the return\ncode to determine whether the command was successful.\n\nSigned-off-by: Daniel Wagner \u003cdwagner@suse.de\u003e\n"
    },
    {
      "commit": "9bd4a807760f7f836e2a777a72d3086ff7fa2280",
      "tree": "282979058fe765255ebb2680d6d07dd8873002e1",
      "parents": [
        "55cd12883606cf4e990897dc26a8ddb564d786ff"
      ],
      "author": {
        "name": "Daniel Wagner",
        "email": "dwagner@suse.de",
        "time": "Mon Jul 13 11:02:35 2026"
      },
      "committer": {
        "name": "Daniel Wagner",
        "email": "dwagner@suse.de",
        "time": "Wed Jul 22 12:37:43 2026"
      },
      "message": "nvme/019: rely on nvme-cli status code\n\nnvme-cli 3.x changes its output behavior to match standard POSIX tools.\nThat means there is no output on success, and error messages are sent to\nstderr. For the nvme dsm command, it is sufficient to check the return\ncode to determine whether the command was successful.\n\nSigned-off-by: Daniel Wagner \u003cdwagner@suse.de\u003e\n"
    },
    {
      "commit": "55cd12883606cf4e990897dc26a8ddb564d786ff",
      "tree": "447c64789bbfb6571511d1fdc12260ed5cd24bbf",
      "parents": [
        "555fa9a71803f9666b215a6b0b62bb789b056557"
      ],
      "author": {
        "name": "Daniel Wagner",
        "email": "dwagner@suse.de",
        "time": "Mon Jul 13 10:58:32 2026"
      },
      "committer": {
        "name": "Daniel Wagner",
        "email": "dwagner@suse.de",
        "time": "Wed Jul 22 12:37:38 2026"
      },
      "message": "nvme/014: rely on nvme-cli status code\n\nnvme-cli 3.x changes its output behavior to match standard POSIX tools.\nThat means there is no output on success, and error messages are sent to\nstderr. For the nvme flush command, it is sufficient to check the return\ncode to determine whether the command was successful.\n\nSigned-off-by: Daniel Wagner \u003cdwagner@suse.de\u003e\n"
    },
    {
      "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"
    }
  ],
  "next": "d5e7400da325c776d42fc75eb25f6e223971ad31"
}
