)]}'
{
  "log": [
    {
      "commit": "69cd20bd0498f8d112623be88ce855c063091f19",
      "tree": "225908891a85d40ec22306b039242608a1a31c65",
      "parents": [
        "31f7192f90a89a6f808a37c3a3cd30491bd50eba"
      ],
      "author": {
        "name": "Luca Di Maio",
        "email": "luca.dimaio1@gmail.com",
        "time": "Thu Jan 08 15:22:22 2026 +0100"
      },
      "committer": {
        "name": "Zorro Lang",
        "email": "zlang@kernel.org",
        "time": "Mon Jan 26 00:06:09 2026 +0800"
      },
      "message": "xfs: test reproducible builds\n\nWith the addition of the `-p` populate option, SOURCE_DATE_EPOCH and\nDETERMINISTIC_SEED support, it is possible to create fully reproducible\npre-populated filesystems. We should test them here.\n\n[zlang: use _run_fsstress]\n\nSigned-off-by: Luca Di Maio \u003cluca.dimaio1@gmail.com\u003e\nReviewed-by: Darrick J. Wong \u003cdjwong@kernel.org\u003e\nReviewed-by: Christoph Hellwig \u003chch@lst.de\u003e\nReviewed-by: Zorro Lang \u003czlang@redhat.com\u003e\nSigned-off-by: Zorro Lang \u003czlang@kernel.org\u003e\n"
    },
    {
      "commit": "31f7192f90a89a6f808a37c3a3cd30491bd50eba",
      "tree": "a71aa1de9a07b13d9ace4bdcaef4930c0aa8c273",
      "parents": [
        "096adc20b3df8f983727f3130c8cd9fd4fd221a6"
      ],
      "author": {
        "name": "Darrick J. Wong",
        "email": "djwong@kernel.org",
        "time": "Tue Jan 20 17:26:21 2026 -0800"
      },
      "committer": {
        "name": "Zorro Lang",
        "email": "zlang@kernel.org",
        "time": "Mon Jan 26 00:05:29 2026 +0800"
      },
      "message": "misc: allow zero duration for fsstress and fsx\n\nOccasionally the common/fuzzy fuzz test helpers manage to time\nsomething just right such that fsx or fsstress get invoked with a zero\nsecond duration.  It\u0027s harmless to exit immediately without doing\nanything, so allow this corner case.\n\n[zlang: No action is taken if duration is 0]\n\nCc: fstests@vger.kernel.org # v2023.05.01\nFixes: 3e85dd4fe4236d (\"misc: add duration for long soak tests\")\nSigned-off-by: Darrick J. Wong \u003cdjwong@kernel.org\u003e\nReviewed-by: Zorro Lang \u003czlang@redhat.com\u003e\nReviewed-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Zorro Lang \u003czlang@kernel.org\u003e\n"
    },
    {
      "commit": "096adc20b3df8f983727f3130c8cd9fd4fd221a6",
      "tree": "76f9b8503d2f99db718ce5200f0c008541a79380",
      "parents": [
        "754368070ac5e548de9ad331bd686b61fa98e437"
      ],
      "author": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk@kernel.org",
        "time": "Fri Jan 23 03:27:44 2026 +0000"
      },
      "committer": {
        "name": "Zorro Lang",
        "email": "zlang@kernel.org",
        "time": "Mon Jan 26 00:05:29 2026 +0800"
      },
      "message": "f2fs/015: Test correct mkfs options for error cases\n\nLet\u0027s add the required mkfs options for quota mount option cases with\nwrong results.\n\nSigned-off-by: Jaegeuk Kim \u003cjaegeuk@kernel.org\u003e\nCo-developed-by: Joanne Chang \u003cjoannechien@google.com\u003e\nSigned-off-by: Joanne Chang \u003cjoannechien@google.com\u003e\nReviewed-by: Chao Yu \u003cchao@kernel.org\u003e\nSigned-off-by: Zorro Lang \u003czlang@kernel.org\u003e\n"
    },
    {
      "commit": "754368070ac5e548de9ad331bd686b61fa98e437",
      "tree": "84433c1eb30f01b125fcb453a6f7ce37738f0f8c",
      "parents": [
        "42c2ccaf370065c15d2f26e99f502a62c1a7c7f7"
      ],
      "author": {
        "name": "Darrick J. Wong",
        "email": "djwong@kernel.org",
        "time": "Tue Jan 20 17:27:00 2026 -0800"
      },
      "committer": {
        "name": "Zorro Lang",
        "email": "zlang@kernel.org",
        "time": "Mon Jan 26 00:05:29 2026 +0800"
      },
      "message": "xfs/614: fix test for parent pointers\n\nAlmost a decade ago, the initial rmap/reflink patches were merged with\nhugely overestimated log space reservations.  Although we adjusted the\nactual runtime reservations a few years ago, we left the minimum log\nsize calculations in place to avoid compatibility problems between newer\nmkfs and older kernels.\n\nWith the introduction of parent pointers, we can finally use the more\naccurate reservations for minlog computations and mkfs can format\nsmaller logs as a result.  This causes the output of this test to\nchange, though it wasn\u0027t needed until parent pointers were enabled by\ndefault.\n\nSigned-off-by: Darrick J. Wong \u003cdjwong@kernel.org\u003e\nReviewed-by: Christoph Hellwig \u003chch@lst.de\u003e\nReviewed-by: Zorro Lang \u003czlang@redhat.com\u003e\nSigned-off-by: Zorro Lang \u003czlang@kernel.org\u003e\n"
    },
    {
      "commit": "42c2ccaf370065c15d2f26e99f502a62c1a7c7f7",
      "tree": "3cb706d210be8f855ae83c1174f63d61d200722b",
      "parents": [
        "725b08a6d61ad5f860198f8c67e09d34b9563954"
      ],
      "author": {
        "name": "caokewu",
        "email": "caokewu1@uniontech.com",
        "time": "Mon Jan 19 13:54:11 2026 +0800"
      },
      "committer": {
        "name": "Zorro Lang",
        "email": "zlang@kernel.org",
        "time": "Mon Jan 26 00:05:29 2026 +0800"
      },
      "message": "ext4/307: allocate donor file size dynamically\n\nCurrently, the donor file size is hardcoded to 250M. fsstress can generate\nmore data than this limit, which causes the `e4compact` helper to crash.\nSpecifically, `e4compact.c:do_defrag_range()` contains the following\nassertion:\n\n    assert(donor-\u003elength \u003e\u003d len);\n\nIf the donor file is not large enough to accommodate the data being compacted,\nthis assertion fails (or validation logic rejects it), causing the test to\nfail unexpectedly with an abort or error.\n\nAdditionally, the previous \u0027usage\u0027 calculation used `du -sch`, which outputs\nhuman-readable sizes (e.g., \"1.5M\"). xfs_io\u0027s falloc command does not\nsupport decimal values in length arguments, leading to syntax errors during\nfile allocation.\n\nFix this by:\n1. Using `du -sm` to calcuate the required size in integer MB (rounding up),\n   avoiding decimal issues.\n2. Allocating the donor file using this calculated `usage` size instead of\n   the fixed 250M limit, ensuring it is always large enough for the operation.\n\nSigned-off-by: caokewu \u003ccaokewu1@uniontech.com\u003e\nReviewed-by: Zorro Lang \u003czlang@redhat.com\u003e\nSigned-off-by: Zorro Lang \u003czlang@kernel.org\u003e\n"
    },
    {
      "commit": "725b08a6d61ad5f860198f8c67e09d34b9563954",
      "tree": "8aa3a83f69970945a7f47ceb486e0f5b616a1e61",
      "parents": [
        "bc74aaf6859c097439530505dc25fc06dce77c9a"
      ],
      "author": {
        "name": "Nirjhar Roy (IBM)",
        "email": "nirjhar.roy.lists@gmail.com",
        "time": "Tue Sep 16 15:30:09 2025 +0000"
      },
      "committer": {
        "name": "Zorro Lang",
        "email": "zlang@kernel.org",
        "time": "Mon Jan 26 00:05:29 2026 +0800"
      },
      "message": "generic/371: Fix the test to be compatible block sizes upto 64k\n\nWhen this test was ran with btrfs with 64k sector/block size, it\nfailed with\n\n     QA output created by 371\n     Silence is golden\n    +fallocate: No space left on device\n    +pwrite: No space left on device\n    +fallocate: No space left on device\n    +pwrite: No space left on device\n    +pwrite: No space left on device\n    ...\n\nThis is what is going on:\n\nLet us see the following set of operations:\n  --- With 4k sector size ---\n$ mkfs.btrfs -f -b 256m -s 4k -n 4k /dev/loop0\n$ mount /dev/loop0 /mnt1/scratch/\n$ df -h /dev/loop0\nFilesystem      Size  Used Avail Use% Mounted on\n/dev/loop0      256M  1.5M  175M   1% /mnt1/scratch\n\n$ xfs_io -f -c \"pwrite 0 80M\" /mnt1/scratch/t1\nwrote 83886080/83886080 bytes at offset 0\n80 MiB, 20480 ops; 0.4378 sec (182.693 MiB/sec and 46769.3095 ops/sec)\n\n$ df -h /dev/loop0\nFilesystem      Size  Used Avail Use% Mounted on\n/dev/loop0      256M  1.5M  175M   1% /mnt1/scratch\n\n$ sync\n$ df -h /dev/loop0\nFilesystem      Size  Used Avail Use% Mounted on\n/dev/loop0      256M   82M   95M  47% /mnt1/scratch\n\n$ xfs_io -f -c \"pwrite 0 80M\" /mnt1/scratch/t2\nwrote 83886080/83886080 bytes at offset 0\n80 MiB, 20480 ops; 0:00:01.25 (63.881 MiB/sec and 16353.4648 ops/sec)\n\n$ df -h /dev/loop0\nFilesystem      Size  Used Avail Use% Mounted on\n/dev/loop0      256M  137M   40M  78% /mnt1/scratch\n\n$ sync\n$ df -h /dev/loop0\nFilesystem      Size  Used Avail Use% Mounted on\n/dev/loop0      256M  162M   15M  92% /mnt1/scratch\n\nNow let us repeat with 64k sector size\n  --- With 64k sector size ---\n$ mkfs.btrfs -f -b 256m -s 64k -n 64k /dev/loop0\n$ mount /dev/loop0 /mnt1/scratch/\n$ df -h /dev/loop0\nFilesystem      Size  Used Avail Use% Mounted on\n/dev/loop0      256M   24M  175M  12% /mnt1/scratch\n\n$ xfs_io -f -c \"pwrite 0 80M\" /mnt1/scratch/t1\nwrote 83886080/83886080 bytes at offset 0\n80 MiB, 20480 ops; 0.8460 sec (94.553 MiB/sec and 24205.4914 ops/sec)\n$\n$ df -h /dev/loop0\nFilesystem      Size  Used Avail Use% Mounted on\n/dev/loop0      256M   24M  175M  12% /mnt1/scratch\n\n$ sync\n$ df -h /dev/loop0\nFilesystem      Size  Used Avail Use% Mounted on\n/dev/loop0      256M  104M   95M  53% /mnt1/scratch\n\n$ xfs_io -f -c \"pwrite 0 80M\" /mnt1/scratch/t2\npwrite: No space left on device\n\nNow, we can see that with 64k node size, 256M is not sufficient\nto hold 2 files worth 80M. For 64k, we can also see that the initial\nspace usage on a fresh filesystem is 24M and for 4k its 1.5M. So\nbecause of higher node size, more metadata space is getting used.\nThis test requires the size of the filesystem to be at least capable\nto hold 2 80M files.\nFix this by increasing the fs size from 256M to 330M.\n\nReported-by: Disha Goel \u003cdisgoel@linux.ibm.com\u003e\nSigned-off-by: Nirjhar Roy (IBM) \u003cnirjhar.roy.lists@gmail.com\u003e\nReviewed-by: Zorro Lang \u003czlang@redhat.com\u003e\nSigned-off-by: Zorro Lang \u003czlang@kernel.org\u003e\n"
    },
    {
      "commit": "bc74aaf6859c097439530505dc25fc06dce77c9a",
      "tree": "8bb355986c0a389e6e91c1181d4bf007a120ff64",
      "parents": [
        "8d2e1bd3d2947689921c9496b3aebb3f2a09851c"
      ],
      "author": {
        "name": "Qu Wenruo",
        "email": "wqu@suse.com",
        "time": "Fri Dec 26 08:45:53 2025 +1030"
      },
      "committer": {
        "name": "Zorro Lang",
        "email": "zlang@kernel.org",
        "time": "Mon Jan 26 00:05:29 2026 +0800"
      },
      "message": "fstests: btrfs: add a new test case that is future-proof\n\nBtrfs\u0027 v1 space cache is marked deprecated since commit 1e7bec1f7d65\n(\"btrfs: emit a warning about space cache v1 being deprecated\"), and\nsoon the v1 space cache mount option will be fully dropped.\n\nFurthermore existing features like block-group-tree, zoned, and bs !\u003d ps\nsupport are all rejecting v1 space cache or forcing the switch to v2\nspace cache.\n\nThe existing btrfs/131 is not going to handle the future well, and that\ntest case is mostly for LTS kernel testing now.\n\nAdd a new test case that is completely v1 cache free, so that it will\nsupport the future where v1 cache is completely dropped, meanwhile still\nkeep the coverage for v2 cache and nospace_cache mount options.\n\nSigned-off-by: Qu Wenruo \u003cwqu@suse.com\u003e\nReviewed-by: Zorro Lang \u003czlang@redhat.com\u003e\nSigned-off-by: Zorro Lang \u003czlang@kernel.org\u003e\n"
    },
    {
      "commit": "8d2e1bd3d2947689921c9496b3aebb3f2a09851c",
      "tree": "bc063bb820a3538dfdf6275124ba05a28d5d2ef8",
      "parents": [
        "facf3325d90dd6b650983b2cae2369c837d92bf8"
      ],
      "author": {
        "name": "Qu Wenruo",
        "email": "wqu@suse.com",
        "time": "Fri Dec 26 08:45:52 2025 +1030"
      },
      "committer": {
        "name": "Zorro Lang",
        "email": "zlang@kernel.org",
        "time": "Mon Jan 26 00:05:29 2026 +0800"
      },
      "message": "fstests: btrfs/131: add explicit v1 space cache requirement\n\nThe test case is utilizing v1 space cache, meanwhile v1 space cache\nis already marked deprecated for a while since kernel commit\n1e7bec1f7d65 (\"btrfs: emit a warning about space cache v1 being\ndeprecated\").\n\nFurthermore quite some features are not compatible with v1 cache,\nincluding the soon-to-be-default block-group-tree, and hardware\ndependent zoned features.\n\nCurrently we reject those features for btrfs/131, but what we really\nwant is to only run the test case for supported features/kernels.\nThe current way to reject will not handle future kernels that completely\nrejects v1 space cache.\n\nAdd a new helper, _require_btrfs_v1_cache() to do the check, which\nchecks the following criteria:\n\n- \"space_cache\u003dv1\" mount option is supported\n  And to handle default v2 cache behavior, also add \"clear_cache\".\n  If the kernel has completely dropped v1 cache support, such mount\n  should fail.\n\n- Check if FREE_SPACE_TREE feature exists after above mount\n  For bs !\u003d ps cases, v2 cache is enforced to replace v1 cache, thus\n  we need to double check to make sure above mount didn\u0027t result v2\n  cache.\n\n- Check if cache generation is correct\n  If v1 cache is working, the cache_generation should be some valid\n  value other than 0 nor (u64)-1.\n\nAnd replace the existing checks on zoned and block-group-tree with the\nnew one.\n\nSigned-off-by: Qu Wenruo \u003cwqu@suse.com\u003e\nReviewed-by: Zorro Lang \u003czlang@redhat.com\u003e\nSigned-off-by: Zorro Lang \u003czlang@kernel.org\u003e\n"
    },
    {
      "commit": "facf3325d90dd6b650983b2cae2369c837d92bf8",
      "tree": "a2c0c0109ff2d03b72f9e8e2734b505865351089",
      "parents": [
        "a4dbdc5486b43294f73c44f62cc355cc3ed2458e"
      ],
      "author": {
        "name": "Viacheslav Dubeyko",
        "email": "slava@dubeyko.com",
        "time": "Tue Jan 06 15:35:56 2026 -0800"
      },
      "committer": {
        "name": "Zorro Lang",
        "email": "zlang@kernel.org",
        "time": "Mon Jan 26 00:05:29 2026 +0800"
      },
      "message": "xfstests: hfs/hfsplus don\u0027t support metadata journaling\n\nHFS file system doesn\u0027t support metadata journaling.\nThis patch marks HFS file system as not supporting\nmetadata journaling in _has_metadata_journaling()\nof common/rc.\n\nTechnically speaking, HFS+ is journaling file system.\nHowever, current Linux kernel implementation doesn\u0027t\nsupport even journal replay. This patch marks HFS+ file\nsystem as not supporting metadata journaling in\n_has_metadata_journaling() of common/rc. If journaling\nsupport functionality in HFS+ will be implemented,\nthen HFS+ could be deleted from _has_metadata_journaling()\nin the future.\n\nSigned-off-by: Viacheslav Dubeyko \u003cslava@dubeyko.com\u003e\nReviewed-by: Zorro Lang \u003czlang@redhat.com\u003e\nSigned-off-by: Zorro Lang \u003czlang@kernel.org\u003e\n"
    },
    {
      "commit": "a4dbdc5486b43294f73c44f62cc355cc3ed2458e",
      "tree": "259ff78385dcd70af4e9f9c8ad911f3b1d63baac",
      "parents": [
        "e0ded76267f99ecfeb3e27696489df98d75d7209"
      ],
      "author": {
        "name": "Ojaswin Mujoo",
        "email": "ojaswin@linux.ibm.com",
        "time": "Wed Jan 07 16:07:44 2026 +0530"
      },
      "committer": {
        "name": "Zorro Lang",
        "email": "zlang@kernel.org",
        "time": "Mon Jan 19 01:23:25 2026 +0800"
      },
      "message": "generic/108: fix test hand upon failure to create LV\n\nIn case the lvcreate operation fails, we don\u0027t catch the error and\nproceed as usual. The test then tries to wait for the LV to come up\nbut it never does, causing a hang.\n\nTo fix this:\n1. Add a check to ensure SCSI_DEBUG dev is of required size\n2. Additionally, fail if there are errors while creating the LV.\n\nContext for completeness:\n\nThis was noticed when we accidentally used CONFIG_SCSI_DEBUG\u003dy instead\nof \u003dm, causing it to create an 8MB SCSI debug device. This led to the\nlvcreate operation to fail with:\n\n  Insufficient suitable allocatable extents for logical volume lv_108: 68 more required\n\nHowever the test never caught this resulting in a hang.\n\nSigned-off-by: Ojaswin Mujoo \u003cojaswin@linux.ibm.com\u003e\nReported-by: Disha Goel \u003cdisgoel@linux.ibm.com\u003e\nTested-by: Disha Goel \u003cdisgoel@linux.ibm.com\u003e\nReviewed-by: Christoph Hellwig \u003chch@lst.de\u003e\nReviewed-by: Darrick J. Wong \u003cdjwong@kernel.org\u003e\nReviewed-by: Zorro Lang \u003czlang@redhat.com\u003e\nSigned-off-by: Zorro Lang \u003czlang@kernel.org\u003e\n"
    },
    {
      "commit": "e0ded76267f99ecfeb3e27696489df98d75d7209",
      "tree": "24002060a25db99c8b372b9cb1809e5d8971b154",
      "parents": [
        "8dad086a47019bf46a5b559efb382525324b9254"
      ],
      "author": {
        "name": "Filipe Manana",
        "email": "fdmanana@suse.com",
        "time": "Mon Jan 12 13:44:09 2026 +0000"
      },
      "committer": {
        "name": "Zorro Lang",
        "email": "zlang@kernel.org",
        "time": "Mon Jan 19 01:18:57 2026 +0800"
      },
      "message": "fsx: add missing -T option to getopt_long()\n\nCurrently fsx fails with an invalid argument error when we pass the -T\noption (do not use dontcache IO) to it because it\u0027s not listed in the\ngepopt_long() call.\n\nFix this and add T to the getopt_long() call.\n\nSigned-off-by: Filipe Manana \u003cfdmanana@suse.com\u003e\nReviewed-by: Darrick J. Wong \u003cdjwong@kernel.org\u003e\nReviewed-by: Christoph Hellwig \u003chch@lst.de\u003e\nReviewed-by: Zorro Lang \u003czlang@redhat.com\u003e\nSigned-off-by: Zorro Lang \u003czlang@kernel.org\u003e\n"
    },
    {
      "commit": "8dad086a47019bf46a5b559efb382525324b9254",
      "tree": "568e885a4a9982565718c1161c83900c22e44ceb",
      "parents": [
        "63a29724a85f1999e49bf0a9bf0d22643b6116e5"
      ],
      "author": {
        "name": "Filipe Manana",
        "email": "fdmanana@suse.com",
        "time": "Tue Jan 06 12:59:05 2026 +0000"
      },
      "committer": {
        "name": "Zorro Lang",
        "email": "zlang@kernel.org",
        "time": "Tue Jan 06 21:21:13 2026 +0800"
      },
      "message": "btrfs: test power failure after fsync and rename exchanging directories\n\nTest renaming one directory over another one that has a subvolume inside\nit and fsync a file in the other directory that was previously renamed.\nWe want to verify that after a power failure we are able to mount the\nfilesystem and it has the correct content (all renames visible).\n\nThis exercises a bug fixed by the following kernel commit:\n\n  7ba0b6461bc4 (\"btrfs: always detect conflicting inodes when logging inode refs\")\n\nSigned-off-by: Filipe Manana \u003cfdmanana@suse.com\u003e\nReviewed-by: Zorro Lang \u003czlang@redhat.com\u003e\nSigned-off-by: Zorro Lang \u003czlang@kernel.org\u003e\n"
    },
    {
      "commit": "63a29724a85f1999e49bf0a9bf0d22643b6116e5",
      "tree": "d08ca18d6efb587209dd43f5498e6840c73ab4a7",
      "parents": [
        "e45c90fedb0b6107ea73ee2812ce823f4f2a0f6e"
      ],
      "author": {
        "name": "Viacheslav Dubeyko",
        "email": "slava@dubeyko.com",
        "time": "Tue Dec 23 16:31:21 2025 -0800"
      },
      "committer": {
        "name": "Zorro Lang",
        "email": "zlang@kernel.org",
        "time": "Thu Jan 01 21:14:26 2026 +0800"
      },
      "message": "xfstests: add HFS/HFS+ and NILFS2 into supported FS table\n\nThis patch adds HFS/HFS+ and NILFS2 file systems\ninto supported FS table with L1 level.\n\nSigned-off-by: Viacheslav Dubeyko \u003cslava@dubeyko.com\u003e\nReviewed-by: Zorro Lang \u003czlang@redhat.com\u003e\nSigned-off-by: Zorro Lang \u003czlang@kernel.org\u003e\n"
    },
    {
      "commit": "e45c90fedb0b6107ea73ee2812ce823f4f2a0f6e",
      "tree": "6b043015e3863bf9f5f991422af79542cab163e5",
      "parents": [
        "71131073bc76e4559b9689625687e063c4704ba9"
      ],
      "author": {
        "name": "Viacheslav Dubeyko",
        "email": "slava@dubeyko.com",
        "time": "Tue Dec 23 16:29:58 2025 -0800"
      },
      "committer": {
        "name": "Zorro Lang",
        "email": "zlang@kernel.org",
        "time": "Thu Jan 01 21:14:26 2026 +0800"
      },
      "message": "generic/020: limit xattr value by 3802 bytes\n\nHFS+ implementation supports only inline extended attributes.\nThe size of value for inline xattr is limited by 3802 bytes [1].\n\n[1] https://elixir.bootlin.com/linux/v6.19-rc2/source/include/linux/hfs_common.h#L626\n\nSigned-off-by: Viacheslav Dubeyko \u003cslava@dubeyko.com\u003e\nReviewed-by: Zorro Lang \u003czlang@redhat.com\u003e\nSigned-off-by: Zorro Lang \u003czlang@kernel.org\u003e\n"
    },
    {
      "commit": "71131073bc76e4559b9689625687e063c4704ba9",
      "tree": "ef407fee5048ff9cc250b6788e97c24b3da77ac5",
      "parents": [
        "4c7968b86932ad2e8ae6fa480896ec7174dec9df"
      ],
      "author": {
        "name": "Chao Yu",
        "email": "chao@kernel.org",
        "time": "Tue Dec 09 15:50:28 2025 +0800"
      },
      "committer": {
        "name": "Zorro Lang",
        "email": "zlang@kernel.org",
        "time": "Thu Jan 01 21:14:26 2026 +0800"
      },
      "message": "common/quota: fix to wait for all inodes been evicted in _check_quota_usage()\n\ngeneric/233  3s ... - output mismatch (see /share/git/fstests/results//generic/233.out.bad)\n    --- tests/generic/233.out   2025-01-12 21:57:40.259440359 +0800\n    +++ /share/git/fstests/results//generic/233.out.bad 2025-12-04 03:02:26.000000000 +0800\n    @@ -4,4 +4,12 @@\n\n     seed \u003d S\n     Comparing user usage\n    +4c4\n    +\u003c #1000     --   31476   32000   32000            994  1000  1000\n    +---\n    +\u003e #1000     --   31476   32000   32000            944  1000  1000\n    ...\n    (Run \u0027diff -u /share/git/fstests/tests/generic/233.out /share/git/fstests/results//generic/233.out.bad\u0027  to see the entire diff)\nRan: generic/233\nFailures: generic/233\nFailed 1 of 1 tests\n\nSometimes, generic/233 will fail due to it founds inode count is mismatched\nin between quota system and filesystem.\n\nThe reason is cgroup v2 implementation will increase inode reference first,\nand then, attach it to thread related cgroup writeback structure, once it\nneeds to switch write owner of target inode, a kernel thread will process\nit, and finally release inode reference via evict_inode().\n\nSo, sync \u0026 drop_cache may not guarantee all inodes being evicted, as cgroup\nhas one more referenece on inodes during the time.\n\nIf inode has not been evicted, dquot inode reference will not be release, it\nwill lead to inode count mismatch.\n\nLet\u0027s add a delay to wait for cgroup switching completion before quota check.\n\nCc: Jaegeuk Kim \u003cjaegeuk@kernel.org\u003e\nCc: Darrick J. Wong \u003cdjwong@kernel.org\u003e\nSigned-off-by: Chao Yu \u003cchao@kernel.org\u003e\nReviewed-by: Darrick J. Wong \u003cdjwong@kernel.org\u003e\nSigned-off-by: Zorro Lang \u003czlang@kernel.org\u003e\n"
    },
    {
      "commit": "4c7968b86932ad2e8ae6fa480896ec7174dec9df",
      "tree": "06564d39359f1a551dfcc74a9b36a429a1a46620",
      "parents": [
        "80259c855ad782c66133e5ed06cf569857dd1f97"
      ],
      "author": {
        "name": "Qu Wenruo",
        "email": "wqu@suse.com",
        "time": "Tue Dec 09 18:55:04 2025 +1030"
      },
      "committer": {
        "name": "Zorro Lang",
        "email": "zlang@kernel.org",
        "time": "Thu Jan 01 21:14:26 2026 +0800"
      },
      "message": "fstests: btrfs/226: skip the test for bs \u003e ps cases\n\n[RANDOM FAILURE]\nSometimes btrfs/226 can fail but sometimes it can also pass with 8K\nfs block size and 4K page size:\n\n[adam@btrfs-vm xfstests]$ sudo ./check btrfs/226\nFSTYP         -- btrfs\nPLATFORM      -- Linux/x86_64 btrfs-vm 6.18.0-custom+ #323 SMP PREEMPT_DYNAMIC Mon Dec  8 07:38:30 ACDT 2025\nMKFS_OPTIONS  -- -s 8k /dev/mapper/test-scratch1\nMOUNT_OPTIONS -- /dev/mapper/test-scratch1 /mnt/scratch\n\nbtrfs/226    2s ...  3s\nRan: btrfs/226\nPassed all 1 tests\n\n[adam@btrfs-vm xfstests]$ sudo ./check btrfs/226\nFSTYP         -- btrfs\nPLATFORM      -- Linux/x86_64 btrfs-vm 6.18.0-custom+ #323 SMP PREEMPT_DYNAMIC Mon Dec  8 07:38:30 ACDT 2025\nMKFS_OPTIONS  -- -s 8k /dev/mapper/test-scratch1\nMOUNT_OPTIONS -- /dev/mapper/test-scratch1 /mnt/scratch\n\nbtrfs/226    3s ... - output mismatch (see /home/adam/xfstests/results//btrfs/226.out.bad)\n    --- tests/btrfs/226.out\t2024-04-12 14:04:03.080000035 +0930\n    +++ /home/adam/xfstests/results//btrfs/226.out.bad\t2025-12-09 18:46:44.416878799 +1030\n    @@ -39,14 +39,11 @@\n     Testing write against prealloc extent at eof\n     wrote 65536/65536 bytes at offset 0\n     XXX Bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)\n    -wrote 65536/65536 bytes at offset 65536\n    -XXX Bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)\n    +pwrite: Resource temporarily unavailable\n     File after write:\n    ...\n    (Run \u0027diff -u /home/adam/xfstests/tests/btrfs/226.out /home/adam/xfstests/results//btrfs/226.out.bad\u0027  to see the entire diff)\nRan: btrfs/226\nFailures: btrfs/226\nFailed 1 of 1 tests\n\n[CAUSE]\nFor the failure case, the failure is from check_direct_IO(), which find\nout that the buffer provided is only aligned to PAGE_SIZE (4K), not to the\nfs block size (8K).\n\nThe user space can only ensure the allocated memory is contiguous in the\nuser space, but the user space can not ensure the underlying physical\nmemory layout, thus depending on the memory allocation situation, the\nuser space can not always get physically contiguous memory, and fail the\ncheck_direct_IO() call.\n\nAfter failed check_direct_IO(), we fall back to buffered IO, but since\nthis particular test case is using RWF_NOWAIT, rejecting buffered IO\nfallback, the direct IO failed with -EAGAIN.\n\n[FIX]\nSince we can not ensure the physical memory layout for direct IO, just\nskip this test case if the fs block size is larger than page size.\n\nSigned-off-by: Qu Wenruo \u003cwqu@suse.com\u003e\nReviewed-by: David Sterba \u003cdsterba@suse.com\u003e\nSigned-off-by: Zorro Lang \u003czlang@kernel.org\u003e\n"
    },
    {
      "commit": "80259c855ad782c66133e5ed06cf569857dd1f97",
      "tree": "acb2f99132f09e5f2b336a3f8ad2e10c665115f7",
      "parents": [
        "657410a19ab577a946d1d8ba94e0254b5a034ab1"
      ],
      "author": {
        "name": "Qu Wenruo",
        "email": "wqu@suse.com",
        "time": "Tue Dec 09 19:22:13 2025 +1030"
      },
      "committer": {
        "name": "Zorro Lang",
        "email": "zlang@kernel.org",
        "time": "Thu Jan 01 21:14:26 2026 +0800"
      },
      "message": "fstests: btrfs/301: use correct blocksize to fill the fs\n\n[FAILURE]\nWhen running the test with 8K fs block size (tried both 4K page size and\n64K page size), the test case btrfs/301 always fail like this:\n\nFSTYP         -- btrfs\nPLATFORM      -- Linux/x86_64 btrfs-vm 6.18.0-custom+ #323 SMP PREEMPT_DYNAMIC Mon Dec  8 07:38:30 ACDT 2025\nMKFS_OPTIONS  -- -s 8k /dev/mapper/test-scratch1\nMOUNT_OPTIONS -- /dev/mapper/test-scratch1 /mnt/scratch\n\nbtrfs/301    42s ... - output mismatch (see /home/adam/xfstests/results//btrfs/301.out.bad)\n    --- tests/btrfs/301.out\t2024-01-02 14:44:11.140000000 +1030\n    +++ /home/adam/xfstests/results//btrfs/301.out.bad\t2025-12-09 19:14:32.057824678 +1030\n    @@ -1,18 +1,71 @@\n     QA output created by 301\n     basic accounting\n    +subvol 256 mismatched usage 41099264 vs 33964032 (expected data 33554432 expected meta 409600 diff 7135232)\n    +subvol 256 mismatched usage 175316992 vs 168181760 (expected data 167772160 expected meta 409600 diff 7135232)\n    +subvol 256 mismatched usage 41099264 vs 33964032 (expected data 33554432 expected meta 409600 diff 7135232)\n    +subvol 256 mismatched usage 41099264 vs 33964032 (expected data 33554432 expected meta 409600 diff 7135232)\n     fallocate: Disk quota exceeded\n    ...\n    (Run \u0027diff -u /home/adam/xfstests/tests/btrfs/301.out /home/adam/xfstests/results//btrfs/301.out.bad\u0027  to see the entire diff)\n\n[CAUSE]\nAlthough the subvolume usage doesn\u0027t match the expectation, \"btrfs check\"\ndoesn\u0027t report any qgroup number mismatch.\nThis means the qgroup numbers are correct, but our expectation is not.\n\nUpon inspection of the on-disk file extents, there are a lot of file\nextents that are partially overwritten.\n\nThis means during the fio random writes, there are fs blocks that are\npartially written, then written back to the storage, then written again.\nThis is a symptom of too small IO block size.\n\nThe default FIO blocksize is only 4K, and it will result the above\noverwrite of the same fs block for 8K fs block size.\n\n[FIX]\nAdd blocksize option to the fio config, so that we won\u0027t have\nabove over-write behavior which boost the qgroup numbers.\n\nSigned-off-by: Qu Wenruo \u003cwqu@suse.com\u003e\nReviewed-by: David Sterba \u003cdsterba@suse.com\u003e\nSigned-off-by: Zorro Lang \u003czlang@kernel.org\u003e\n"
    },
    {
      "commit": "657410a19ab577a946d1d8ba94e0254b5a034ab1",
      "tree": "945a40ecb64833469fba3a3454e10fca562622ae",
      "parents": [
        "1da7f10cd89d3392f68cadf7c08f43107c9c0295"
      ],
      "author": {
        "name": "Qu Wenruo",
        "email": "wqu@suse.com",
        "time": "Fri Dec 05 17:47:26 2025 +1030"
      },
      "committer": {
        "name": "Zorro Lang",
        "email": "zlang@kernel.org",
        "time": "Thu Jan 01 21:14:26 2026 +0800"
      },
      "message": "fstests: generic/746: update the parser to handle block group tree\n\n[FALSE ALERT]\nThe test case will fail on btrfs if the new block-group-tree feature is\nenabled:\n\nFSTYP         -- btrfs\nPLATFORM      -- Linux/x86_64 btrfs-vm 6.18.0-rc6-custom+ #321 SMP PREEMPT_DYNAMIC Sun Nov 23 16:34:33 ACDT 2025\nMKFS_OPTIONS  -- -O block-group-tree /dev/mapper/test-scratch1\nMOUNT_OPTIONS -- /dev/mapper/test-scratch1 /mnt/scratch\n\ngeneric/746 44s ... [failed, exit status 1]- output mismatch (see xfstests-dev/results//generic/746.out.bad)\n    --- tests/generic/746.out\t2024-06-27 13:55:51.286338519 +0930\n    +++ xfstests-dev/results//generic/746.out.bad\t2025-11-28 07:47:17.039827837 +1030\n    @@ -2,4 +2,4 @@\n     Generating garbage on loop...done.\n     Running fstrim...done.\n     Detecting interesting holes in image...done.\n    -Comparing holes to the reported space from FS...done.\n    +Comparing holes to the reported space from FS...Sectors 256-2111 are not marked as free!\n    ...\n    (Run \u0027diff -u xfstests-dev/tests/generic/746.out xfstests-dev/results//generic/746.out.bad\u0027  to see the entire diff)\n\n[CAUSE]\nSectors [256, 2048) are the from the reserved first 1M free space.\nSectors [2048, 2112) are the leading free space in the chunk tree.\nSectors [2112, 2144) is the first tree block in the chunk tree.\n\nHowever the reported free sectors from get_free_sectors() looks like this:\n\n  2144 10566\n  10688 11711\n  ...\n\nNote that there should be a free sector range in [2048, 2112) but it\u0027s\nnot reported in get_free_sectors().\n\nThe get_free_sectors() call is fs dependent, and for btrfs it\u0027s using\nparse-extent-tree.awk script to handle the extent tree dump.\n\nThe script uses BLOCK_GROUP_ITEM items to detect the beginning of a\nblock group so that it can calculate the hole between the beginning of a\nblock group and the first data/metadata item.\n\nHowever block-group-tree feature moves BLOCK_GROUP_ITEM items to a\ndedicated tree, making the existing script unable to parse the free\nspace at the beginning of a block group.\n\n[FIX]\nIntroduce a new script, parse-free-space.py, that accepts two tree\ndumps:\n\n- block group tree dump\n  If the fs has block-group-tree feature, it\u0027s the block group tree\n  dump.\n  Otherwise the regular extent tree dump is enough.\n\n- extent tree dump\n  The usual extent tree dump.\n\nWith a dedicated block group tree dump, the script can correctly handle\nthe beginning part of free space, no matter if block-group-tree feature\nis enabled or not.\n\nAnd with this parser, the old parse-extent-tree.awk can be retired.\n\nSigned-off-by: Qu Wenruo \u003cwqu@suse.com\u003e\nReviewed-by: David Sterba \u003cdsterba@suse.com\u003e\nReviewed-by: Zorro Lang \u003czlang@redhat.com\u003e\nSigned-off-by: Zorro Lang \u003czlang@kernel.org\u003e\n"
    },
    {
      "commit": "1da7f10cd89d3392f68cadf7c08f43107c9c0295",
      "tree": "6e027dae80ecd1380b3e31ef3b0ec4fbecd4a852",
      "parents": [
        "ad2b96dd66ef34798c83aef841930bf90797b874"
      ],
      "author": {
        "name": "Qu Wenruo",
        "email": "wqu@suse.com",
        "time": "Thu Dec 04 15:11:08 2025 +1030"
      },
      "committer": {
        "name": "Zorro Lang",
        "email": "zlang@kernel.org",
        "time": "Thu Jan 01 06:33:54 2026 +0800"
      },
      "message": "fstests: btrfs: add a new test case to verify quick qgroup inherit\n\n[BUG]\nThere is a bug report that simple quota exposed a bug in the quick\nqgroup inherit, that if there is a multi-level qgroup parent\nrelationship, only the direct parent got updated.\n\n[TEST CASE]\nThe test case will create the following subvolume and qgroups first:\n\n- A new subvolume at \u0027/subv1\u0027\n- Qgroup 1/1\n- Qgroup 2/1\n\nAnd subvolume \u0027/subv1\u0027 is assgiend to qgroup 1/1, so 1/1 is the direct\nparent.\nThen qgroup 1/1 is also assigned to 2/1, so 2/1 is an indirect parent of\nsubvolume \u0027/subv1\u0027.\n\nThen the trigger part is to creating a snapshot of \u0027/subv1\u0027 and also\nassigned the new snapshot into qgroup 1/1 during the snapshot creation.\n\nSince 1/1 is the parent of \u0027/subv1\u0027 and the new snapshot, and qgroup 1/1\nfully owns \u0027/subv1\u0027, we can do a quick inherit.\n\nAfter the triggering part, just finish the test case and the fsck after\nthe test case should detect any qgroup inconsistency.\n\nSigned-off-by: Qu Wenruo \u003cwqu@suse.com\u003e\nReviewed-by: David Sterba \u003cdsterba@suse.com\u003e\nSigned-off-by: Zorro Lang \u003czlang@kernel.org\u003e\n"
    },
    {
      "commit": "ad2b96dd66ef34798c83aef841930bf90797b874",
      "tree": "fd973adc3e99ebaa9c7e316d13692a54e508e363",
      "parents": [
        "fb14379b8dbcc96b58773934ed1e2e31288e6d96"
      ],
      "author": {
        "name": "Anthony Iliopoulos",
        "email": "ailiop@suse.com",
        "time": "Wed Dec 17 12:08:19 2025 +0100"
      },
      "committer": {
        "name": "Zorro Lang",
        "email": "zlang@kernel.org",
        "time": "Thu Jan 01 06:27:14 2026 +0800"
      },
      "message": "xfs/490: fix failure due to deprecated ikeep mount option\n\nThe ikeep mount option has been deprecated as of kernel commit\nb9a176e54162 (\"xfs: remove deprecated mount options\"), and after commit\n3e7ec343f066 (\"xfs: loudly complain about defunct mount options\") there\nis a warning emitted when testing v5 filesystems.\n\nFix it by explicitly requiring and formatting scratch to nocrc/v4, as\nthe test cannot otherwise be triggered on v5 without the ikeep option.\n\nSigned-off-by: Anthony Iliopoulos \u003cailiop@suse.com\u003e\nReviewed-by: Darrick J. Wong \u003cdjwong@kernel.org\u003e\nSigned-off-by: Zorro Lang \u003czlang@kernel.org\u003e\n"
    },
    {
      "commit": "fb14379b8dbcc96b58773934ed1e2e31288e6d96",
      "tree": "a920dad1ad83079d8d8cb22c17a7b5b7ff2def55",
      "parents": [
        "fdc576ef62e27179e4b606e6b4797a1b38ea2f7a"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Wed Dec 10 06:51:34 2025 +0100"
      },
      "committer": {
        "name": "Zorro Lang",
        "email": "zlang@kernel.org",
        "time": "Thu Jan 01 06:26:41 2026 +0800"
      },
      "message": "MAINTAINERS: update entry for Anand Jain\n\nThe oracle address bounces.  Replaced it with the kernel.org address\nfound in recent commit logs.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Zorro Lang \u003czlang@kernel.org\u003e\n"
    },
    {
      "commit": "fdc576ef62e27179e4b606e6b4797a1b38ea2f7a",
      "tree": "c6e567311c1d00e19703c73eeef8b825cd69040f",
      "parents": [
        "d49e334213756882160117c27afa5c3b627760e6"
      ],
      "author": {
        "name": "Darrick J. Wong",
        "email": "djwong@kernel.org",
        "time": "Tue Dec 16 10:29:56 2025 -0800"
      },
      "committer": {
        "name": "Zorro Lang",
        "email": "zlang@kernel.org",
        "time": "Thu Jan 01 06:19:31 2026 +0800"
      },
      "message": "xfs/649: fix various problems\n\nFix a couple of problems with this new test:\n\nFirst, the comment for the $attr_size_bytes check says that the maximum\nsize of a single xattr value is 64k.  This is true, but the check\ntriggers the warning even when the size is exactly 64k.\n\nSecond, the test fails to format with 32k and 64k fsblock size\nfilesystems because the scsi_debug device size is 128M, and that\u0027s not\nlarge enough for the minimum log size.  Raise that to 320M.\n\nCc: fstests@vger.kernel.org # v2025.12.09\nFixes: 5760b2105985bf (\"xfs: test case for handling io errors when reading extended attributes\")\nSigned-off-by: Darrick J. Wong \u003cdjwong@kernel.org\u003e\nSigned-off-by: Zorro Lang \u003czlang@kernel.org\u003e\n"
    },
    {
      "commit": "d49e334213756882160117c27afa5c3b627760e6",
      "tree": "bf5cec9ec819aeb029e1e60607708b157bcc836a",
      "parents": [
        "36836607c9e79c9d18de5affcc05ce723ad16a7b"
      ],
      "author": {
        "name": "Darrick J. Wong",
        "email": "djwong@kernel.org",
        "time": "Tue Dec 16 10:29:41 2025 -0800"
      },
      "committer": {
        "name": "Zorro Lang",
        "email": "zlang@kernel.org",
        "time": "Thu Jan 01 06:19:31 2026 +0800"
      },
      "message": "common/rc: fix _xfs_is_realtime_file for internal rt devices\n\nNow that we can have internal realtime devices, it\u0027s possible to have a\nrealtime filesystem without setting USE_EXTERNAL\u003dyes or SCRATCH_RTDEV.\nUse the existing _xfs_has_feature helper to figure out if the given path\npoints to a filesystem with an online realtime volume.\n\nSigned-off-by: Darrick J. Wong \u003cdjwong@kernel.org\u003e\nReviewed-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Zorro Lang \u003czlang@kernel.org\u003e\n"
    },
    {
      "commit": "36836607c9e79c9d18de5affcc05ce723ad16a7b",
      "tree": "eb8173f757a04295e30f4c2ac3e6cfe0738e648c",
      "parents": [
        "1a1521a039d43a106b301bef17267c82686ddf6a"
      ],
      "author": {
        "name": "Darrick J. Wong",
        "email": "djwong@kernel.org",
        "time": "Tue Dec 16 10:29:25 2025 -0800"
      },
      "committer": {
        "name": "Zorro Lang",
        "email": "zlang@kernel.org",
        "time": "Thu Jan 01 06:19:31 2026 +0800"
      },
      "message": "check: put temporary files in TMPDIR, not /tmp\n\nNowadays, systemd will auto-remove files from /tmp after 10 days.  If\nyou want to run a testcase for more than that duration (e.g.\nSOAK_DURATION\u003d14d) then the test will fail after the .out file is\ndeleted:\n\n xfs/286            _check_xfs_filesystem: filesystem on /dev/sda4 is inconsistent (r)\n (see /var/tmp/fstests/xfs/286.full for details)\n sed: can\u0027t read /tmp/2098.out: No such file or directory\n - output mismatch (see /var/tmp/fstests/xfs/286.out.bad)\n mv: cannot stat \u0027/tmp/2098.out\u0027: No such file or directory\n diff: /var/tmp/fstests/xfs/286.out.bad: No such file or directory\n\nThis happens because systemd-tmpfiles garbage collects any file in /tmp\nthat becomes older than 10 days:\n\n $ cat /usr/lib/tmpfiles.d/tmp.conf\n #  This file is part of systemd.\n #\n #  systemd is free software; you can redistribute it and/or modify it\n #  under the terms of the GNU Lesser General Public License as published by\n #  the Free Software Foundation; either version 2.1 of the License, or\n #  (at your option) any later version.\n\n # See tmpfiles.d(5) for details.\n\n # Clear tmp directories separately, to make them easier to override\n q /tmp 1777 root root 10d\n q /var/tmp 1777 root root 30d\n\nThis is now the default in Debian 13 (D12 never deleted anything) which\nis why I didn\u0027t notice this until I upgraded a couple of weeks ago.\nMost people aren\u0027t going to be running a single testcase for more than\n10 days so I\u0027ll go with the least invasive solution that I can think of.\n\nAllow system administrators or fstests runners to set TMPDIR to a\ndirectory that won\u0027t get purged, and make fstests follow that.  Fix up\ngeneric/002 so that it doesn\u0027t use $tmp for paths on the test\nfilesystem.\n\nSigned-off-by: Darrick J. Wong \u003cdjwong@kernel.org\u003e\nReviewed-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Zorro Lang \u003czlang@kernel.org\u003e\n"
    },
    {
      "commit": "1a1521a039d43a106b301bef17267c82686ddf6a",
      "tree": "63bd3f7c39e571d626e1eafef708fd1eed281ffd",
      "parents": [
        "cfb2146bc959fde3633bcec1ed53f359babea4cb"
      ],
      "author": {
        "name": "Anand Jain",
        "email": "asj@kernel.org",
        "time": "Thu Dec 18 01:00:22 2025 +0800"
      },
      "committer": {
        "name": "Zorro Lang",
        "email": "zlang@kernel.org",
        "time": "Thu Jan 01 06:18:07 2026 +0800"
      },
      "message": "fstests: fix flaky device name in _cleanup_flakey\n\nThere is no device named flakey-test, which _cleanup_flakey() currently\nuses. The actual device name is stored in $FLAKEY_NAME and is set to\nflakey-test.$seq. Use $FLAKEY_NAME instead.\n\nSigned-off-by: Anand Jain \u003casj@kernel.org\u003e\nFixes: 603030dee015ba (\"fstests: per-test dmflakey instances\")\nReviewed-by: Darrick J. Wong \u003cdjwong@kernel.org\u003e\nReviewed-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Zorro Lang \u003czlang@kernel.org\u003e\n"
    },
    {
      "commit": "cfb2146bc959fde3633bcec1ed53f359babea4cb",
      "tree": "4f58bf2aa81dfa862a120c6e82c286da0068e97a",
      "parents": [
        "90f6065005e7feec44a0fa45785284df3a1b525d"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Thu Dec 18 08:30:11 2025 +0100"
      },
      "committer": {
        "name": "Zorro Lang",
        "email": "zlang@kernel.org",
        "time": "Thu Jan 01 05:02:23 2026 +0800"
      },
      "message": "xfs/650: require a real SCRATCH_RTDEV\n\nRequire a real SCRATCH_RTDEV instead of faking one up using a loop\ndevice, as otherwise the options specified in MKFS_OPTIONS might\nnot actually work the configuration.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nReviewed-by: Darrick J. Wong \u003cdjwong@kernel.org\u003e\nSigned-off-by: Zorro Lang \u003czlang@kernel.org\u003e\n"
    },
    {
      "commit": "90f6065005e7feec44a0fa45785284df3a1b525d",
      "tree": "f3b1d679af471570f237f796308be6e2ba3a1348",
      "parents": [
        "70824203cb6827179236de0b37ea41123cbe462e"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Thu Dec 18 08:30:10 2025 +0100"
      },
      "committer": {
        "name": "Zorro Lang",
        "email": "zlang@kernel.org",
        "time": "Thu Jan 01 05:02:23 2026 +0800"
      },
      "message": "xfs/530: require a real SCRATCH_RTDEV\n\nRequire a real SCRATCH_RTDEV instead of faking one up using a loop\ndevice, as otherwise the options specified in MKFS_OPTIONS might\nnot actually work the configuration.\n\nNote that specifying a rtextsize doesn\u0027t work for zoned file systems,\nso _notrun when mkfs fails.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nReviewed-by: Darrick J. Wong \u003cdjwong@kernel.org\u003e\nSigned-off-by: Zorro Lang \u003czlang@kernel.org\u003e\n"
    },
    {
      "commit": "70824203cb6827179236de0b37ea41123cbe462e",
      "tree": "7efdb3246b0f79347a185bfa60771b2472dc939c",
      "parents": [
        "e157f480a308e0c9e4d8abcc8c3f6463c61905fc"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Thu Dec 18 08:30:09 2025 +0100"
      },
      "committer": {
        "name": "Zorro Lang",
        "email": "zlang@kernel.org",
        "time": "Thu Jan 01 05:02:23 2026 +0800"
      },
      "message": "xfs/528: require a real SCRATCH_RTDEV\n\nRequire a real SCRATCH_RTDEV instead of faking one up using a loop\ndevice, as otherwise the options specified in MKFS_OPTIONS might\nnot actually work the configuration.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nReviewed-by: Darrick J. Wong \u003cdjwong@kernel.org\u003e\nSigned-off-by: Zorro Lang \u003czlang@kernel.org\u003e\n"
    },
    {
      "commit": "e157f480a308e0c9e4d8abcc8c3f6463c61905fc",
      "tree": "cd7a9f4b4a6d68d43212b5515c4bcfd0c045f2ff",
      "parents": [
        "0d89f8063ece5ece81d44acef2dbd51bc74f8ae5"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Thu Dec 18 08:30:08 2025 +0100"
      },
      "committer": {
        "name": "Zorro Lang",
        "email": "zlang@kernel.org",
        "time": "Thu Jan 01 05:02:23 2026 +0800"
      },
      "message": "xfs/521: call _require_scratch_size\n\nThis tests expects to have at least 400M on the scratch device.\nEnsure that, even if test runs with small devices will probably\nbreak in all kinds of other funny ways.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nReviewed-by: Darrick J. Wong \u003cdjwong@kernel.org\u003e\nSigned-off-by: Zorro Lang \u003czlang@kernel.org\u003e\n"
    },
    {
      "commit": "0d89f8063ece5ece81d44acef2dbd51bc74f8ae5",
      "tree": "705b43ff3bc597d3b66889a90f5d7125747e951d",
      "parents": [
        "30ee67e320de8af77f28c96d280f34c606b54d6a"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Thu Dec 18 08:30:07 2025 +0100"
      },
      "committer": {
        "name": "Zorro Lang",
        "email": "zlang@kernel.org",
        "time": "Thu Jan 01 05:02:23 2026 +0800"
      },
      "message": "xfs/521: require a real SCRATCH_RTDEV\n\nRequire a real SCRATCH_RTDEV instead of faking one up using a loop\ndevice, as otherwise the options specified in MKFS_OPTIONS might\nnot actually work the configuration.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nReviewed-by: Darrick J. Wong \u003cdjwong@kernel.org\u003e\nSigned-off-by: Zorro Lang \u003czlang@kernel.org\u003e\n"
    },
    {
      "commit": "30ee67e320de8af77f28c96d280f34c606b54d6a",
      "tree": "5bb2329a1ff1ce3430a64be04d301a51e4cf5e1b",
      "parents": [
        "4460f5d01c7e6f1ac62fd9d62f7f9c300d998e6e"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Thu Dec 18 08:30:06 2025 +0100"
      },
      "committer": {
        "name": "Zorro Lang",
        "email": "zlang@kernel.org",
        "time": "Thu Jan 01 05:02:23 2026 +0800"
      },
      "message": "xfs/424: don\u0027t use SCRATCH_DEV helpers\n\nThis tests forces external devices to be disabled by calling mkfs.xfs\ndirectly and overriding SCRATCH_{LOG,RT}DEV, but the options specified in\nMKFS_OPTIONS might not work for this configuration.  Instead hard code\nthe calls to xfs_db and don\u0027t modify the scratch device configuration.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nReviewed-by: Darrick J. Wong \u003cdjwong@kernel.org\u003e\nSigned-off-by: Zorro Lang \u003czlang@kernel.org\u003e\n"
    },
    {
      "commit": "4460f5d01c7e6f1ac62fd9d62f7f9c300d998e6e",
      "tree": "0432032e4a55e2062b5bf38155a30d5c85d905f3",
      "parents": [
        "255cb1f0dd6e9c604f01acc49b1d735916e80514"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Thu Dec 18 08:30:05 2025 +0100"
      },
      "committer": {
        "name": "Zorro Lang",
        "email": "zlang@kernel.org",
        "time": "Thu Jan 01 05:02:23 2026 +0800"
      },
      "message": "xfs/185: don\u0027t use SCRATCH_{,RT}DEV helpers\n\nThis tests creates loop-based data and rt devices for testing.  Don\u0027t\noverride SCRATCH_{,RT}DEV and don\u0027t use the helpers based on it because\nthe options specified in MKFS_OPTIONS might not work for this\nconfiguration.  This also means that we will now never use a log device\nfor this test even if SCRATCH_LOGDEV was set, which is fine because the\nlog device is not relevant for what is tested.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nReviewed-by: Darrick J. Wong \u003cdjwong@kernel.org\u003e\nSigned-off-by: Zorro Lang \u003czlang@kernel.org\u003e\n"
    },
    {
      "commit": "255cb1f0dd6e9c604f01acc49b1d735916e80514",
      "tree": "a66c8336bee23072c926eb110aad2a3ccdda2ecb",
      "parents": [
        "901f00980f0e0cc28d15e9a4865d1a58d8c35af5"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Thu Dec 18 08:30:04 2025 +0100"
      },
      "committer": {
        "name": "Zorro Lang",
        "email": "zlang@kernel.org",
        "time": "Thu Jan 01 05:02:23 2026 +0800"
      },
      "message": "xfs/157: don\u0027t override SCRATCH_{,LOG,RT}DEV\n\nThis tests wants to test various difference device configurations,\nand does so by overriding SCRATCH_{,LOG,RT}DEV.  This has two downside:\n\n 1) the actual SCRATCH_{,LOG,RT}DEV configuration is still injected by\n    default, thus making the test dependent on that configuration\n 2) the MKFS_OPTIONS might not actually be compatible with the\n    configuration created\n\nFix this by open coding the mkfs, db, admin and repair calls and always\nrun them on the specific configuration.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nReviewed-by: Darrick J. Wong \u003cdjwong@kernel.org\u003e\nSigned-off-by: Zorro Lang \u003czlang@kernel.org\u003e\n"
    },
    {
      "commit": "901f00980f0e0cc28d15e9a4865d1a58d8c35af5",
      "tree": "b952150f8e5e87e46e1b74056f1f59b942c18adf",
      "parents": [
        "cd74736e17949b32c6e680b8f83755f147558a6f"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Thu Dec 18 08:30:03 2025 +0100"
      },
      "committer": {
        "name": "Zorro Lang",
        "email": "zlang@kernel.org",
        "time": "Thu Jan 01 05:02:23 2026 +0800"
      },
      "message": "generic/590: split XFS RT specific bits out\n\nCurrently generic/590 runs a very different test on XFS that creates\na lot device and so on.  Split that out into a new XFS-specific test,\nand let generic/590 always run using the file system parameter specified\nin the config even for XFS.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nReviewed-by: Anand Jain \u003casj@kernel.org\u003e\nReviewed-by: Darrick J. Wong \u003cdjwong@kernel.org\u003e\nSigned-off-by: Zorro Lang \u003czlang@kernel.org\u003e\n"
    },
    {
      "commit": "cd74736e17949b32c6e680b8f83755f147558a6f",
      "tree": "649ea02acaa4ad2d92e6193b7e245a41d918ffdc",
      "parents": [
        "a63b4556fc740792188a56b2ae61afb6b02635ac"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Thu Dec 18 08:30:02 2025 +0100"
      },
      "committer": {
        "name": "Zorro Lang",
        "email": "zlang@kernel.org",
        "time": "Thu Jan 01 05:02:23 2026 +0800"
      },
      "message": "ext4/032: use _check_dev_fs\n\n_check_dev_fs is the new designated helper to check file systems on\narbitrary devices, use that instead of _check_generic_filesystem, which\nis just an implementation detail.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nReviewed-by: Anand Jain \u003casj@kernel.org\u003e\nReviewed-by: Darrick J. Wong \u003cdjwong@kernel.org\u003e\nSigned-off-by: Zorro Lang \u003czlang@kernel.org\u003e\n"
    },
    {
      "commit": "a63b4556fc740792188a56b2ae61afb6b02635ac",
      "tree": "e09b31760894402b59b11aa2d45ca31ce84e2419",
      "parents": [
        "5dbc7499a3b2e4a99c02c1b45c3a2d33d443a8b6"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Thu Dec 18 08:30:01 2025 +0100"
      },
      "committer": {
        "name": "Zorro Lang",
        "email": "zlang@kernel.org",
        "time": "Thu Jan 01 05:02:23 2026 +0800"
      },
      "message": "common: add a _check_dev_fs helper\n\nAdd a helper to run the file system checker for a given device, and stop\noverloading _check_scratch_fs with the optional device argument that\ncreates complication around scratch RT and log devices.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nReviewed-by: Anand Jain \u003casj@kernel.org\u003e\nReviewed-by: Darrick J. Wong \u003cdjwong@kernel.org\u003e\nSigned-off-by: Zorro Lang \u003czlang@kernel.org\u003e\n"
    },
    {
      "commit": "5dbc7499a3b2e4a99c02c1b45c3a2d33d443a8b6",
      "tree": "88256054b1fe94496c8b27016d67765c68e27617",
      "parents": [
        "eb2ad950ea90d8d8d861f8beac138d6a19f0f819"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Thu Dec 18 08:30:00 2025 +0100"
      },
      "committer": {
        "name": "Zorro Lang",
        "email": "zlang@kernel.org",
        "time": "Thu Jan 01 05:02:23 2026 +0800"
      },
      "message": "ext4/006: call e2fsck directly\n\n_check_scratch_fs takes an optional device name, but no optional\narguments.  Call e2fsck directly for this extN-specific test instead.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nReviewed-by: Anand Jain \u003casj@kernel.org\u003e\nReviewed-by: Darrick J. Wong \u003cdjwong@kernel.org\u003e\nSigned-off-by: Zorro Lang \u003czlang@kernel.org\u003e\n"
    },
    {
      "commit": "eb2ad950ea90d8d8d861f8beac138d6a19f0f819",
      "tree": "4a737e99819ad27108238529fa09df05388cda5d",
      "parents": [
        "7e972aff4801afb44b9faea4a7598a311b887fc0"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Thu Dec 18 08:29:59 2025 +0100"
      },
      "committer": {
        "name": "Zorro Lang",
        "email": "zlang@kernel.org",
        "time": "Thu Jan 01 05:02:23 2026 +0800"
      },
      "message": "dmflakey: override SCRATCH_DEV in _init_flakey\n\n_init_flakey already overrides SCRATCH_LOGDEV and SCRATCH_RTDEV so that\nthe XFS-specific helpers work fine with external devices.  Do the same\nfor SCRATCH_DEV itself, so that _scratch_mount and _scratch_unmount just\nwork, and so that _check_scratch_fs does not need to override the main\ndevice.\n\nThis requires some small adjustments in how generic/741 checks that\nmounting the underlying device fails, but the new version actually is\nsimpler than the old one, and in xfs/438 where we need to be careful\nwhere to create the custom dm table.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nReviewed-by: Anand Jain \u003casj@kernel.org\u003e\nSigned-off-by: Zorro Lang \u003czlang@kernel.org\u003e\n"
    },
    {
      "commit": "7e972aff4801afb44b9faea4a7598a311b887fc0",
      "tree": "7b4babeadc6f9fa6fbc1131d31edf14be64aafe7",
      "parents": [
        "960384aa2c46622dc0048f417a18be2d09166f83"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Fri Dec 19 06:35:46 2025 +0100"
      },
      "committer": {
        "name": "Zorro Lang",
        "email": "zlang@kernel.org",
        "time": "Thu Jan 01 04:59:50 2026 +0800"
      },
      "message": "xfs: test that mkfs creates zone-aligned RT devices\n\nMake sure mkfs doesn\u0027t create unmountable file systems and instead rounds\ndown the RT subvolume size to a multiple of the zone size.\n\nTwo passes: one with a device that is not aligned, and one for an\nexplicitly specified unaligned RT device size.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nReviewed-by: Darrick J. Wong \u003cdjwong@kernel.org\u003e\nSigned-off-by: Zorro Lang \u003czlang@kernel.org\u003e\n"
    },
    {
      "commit": "960384aa2c46622dc0048f417a18be2d09166f83",
      "tree": "89b7faf43fb8eca2c6c962927979dd95596cb1f1",
      "parents": [
        "f4ec120ffd251564cc78d6d0dae78ca93cb5b648"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Fri Dec 19 06:35:45 2025 +0100"
      },
      "committer": {
        "name": "Zorro Lang",
        "email": "zlang@kernel.org",
        "time": "Thu Jan 01 04:59:50 2026 +0800"
      },
      "message": "xfs: test that RT growfs not aligned to zone size fails\n\nCheck that a file system with a zoned RT subvolume can\u0027t be resized to\na size not aligned to the zone size.\n\nUses a zloop device so that we can control the exact zone size.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nReviewed-by: Darrick J. Wong \u003cdjwong@kernel.org\u003e\nSigned-off-by: Zorro Lang \u003czlang@kernel.org\u003e\n"
    },
    {
      "commit": "f4ec120ffd251564cc78d6d0dae78ca93cb5b648",
      "tree": "de74f1991e9c60e665bf1903fed2adc79a7eb053",
      "parents": [
        "f02d4965d48f59f53a729e9ddd55fb8fcc373f85"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Fri Dec 19 06:35:44 2025 +0100"
      },
      "committer": {
        "name": "Zorro Lang",
        "email": "zlang@kernel.org",
        "time": "Thu Jan 01 04:59:50 2026 +0800"
      },
      "message": "xfs: add a test that zoned file systems with rump RTG can\u0027t be mounted\n\nGarbage collection assumes all zones contain the full amount of blocks.\nMkfs already ensures this happens, but the kernel mount code did not\nverify this.  Instead such a file system would eventually fail scrub.\n\nAdd a test to verify the new superblock verifier check.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nReviewed-by: Darrick J. Wong \u003cdjwong@kernel.org\u003e\nSigned-off-by: Zorro Lang \u003czlang@kernel.org\u003e\n"
    },
    {
      "commit": "f02d4965d48f59f53a729e9ddd55fb8fcc373f85",
      "tree": "30b4914379330a1b52fe4ff89fe4510d41292218",
      "parents": [
        "ffd562ecf44aff10b74c35c6f961614db5198ca9"
      ],
      "author": {
        "name": "Su Yue",
        "email": "glass.su@suse.com",
        "time": "Mon Dec 08 14:58:29 2025 +0800"
      },
      "committer": {
        "name": "Zorro Lang",
        "email": "zlang@kernel.org",
        "time": "Thu Jan 01 03:44:01 2026 +0800"
      },
      "message": "generic: use _qmount_option and _qmount\n\nThis commit touches generic tests call `_scratch_mount -o usrquota`\nthen chmod 777, quotacheck and quotaon. They can be simpilfied\nto _qmount_option and _qmount. _qmount already calls quotacheck,\nquota and chmod ugo+rwx. The conversions can save a few lines.\n\nSigned-off-by: Su Yue \u003cglass.su@suse.com\u003e\nReviewed-by: Darrick J. Wong \u003cdjwong@kernel.org\u003e\nSigned-off-by: Zorro Lang \u003czlang@kernel.org\u003e\n"
    },
    {
      "commit": "ffd562ecf44aff10b74c35c6f961614db5198ca9",
      "tree": "b843fdd8d22af91a26a227c0ec72cc30b310fb96",
      "parents": [
        "df16c93a89d3a2f47cacf75c52c3d46a4fb06b93"
      ],
      "author": {
        "name": "Carlos Maiolino",
        "email": "cem@kernel.org",
        "time": "Sun Dec 21 11:24:50 2025 +0100"
      },
      "committer": {
        "name": "Zorro Lang",
        "email": "zlang@kernel.org",
        "time": "Thu Jan 01 02:47:37 2026 +0800"
      },
      "message": "punch-alternating: prevent punching all extents\n\nIf by any chance the punch size is \u003e\u003d the interval, we end up punching\neverything, zeroing out the file.\n\nAs this is not a tool to dealloc the whole file, so force the user to\npass a configuration that won\u0027t cause it to happen.\n\nSigned-off-by: Carlos Maiolino \u003ccmaiolino@redhat.com\u003e\nSigned-off-by: Carlos Maiolino \u003ccem@kernel.org\u003e\nReviewed-by: Zorro Lang \u003czlang@redhat.com\u003e\nSigned-off-by: Zorro Lang \u003czlang@kernel.org\u003e\n"
    },
    {
      "commit": "df16c93a89d3a2f47cacf75c52c3d46a4fb06b93",
      "tree": "173891e5059171d95fac70ea4aabc6b3ef72ee86",
      "parents": [
        "4e77fcc28c036ba6410eac73b09835daaee05aba"
      ],
      "author": {
        "name": "Jeff Layton",
        "email": "jlayton@kernel.org",
        "time": "Wed Dec 03 10:43:09 2025 -0500"
      },
      "committer": {
        "name": "Zorro Lang",
        "email": "zlang@kernel.org",
        "time": "Sat Dec 06 01:41:49 2025 +0800"
      },
      "message": "generic: add tests for file delegations\n\nMostly the same ones as leases, but some additional tests to validate\nthat they are broken on metadata changes.\n\nSigned-off-by: Jeff Layton \u003cjlayton@kernel.org\u003e\nReviewed-by: Zorro Lang \u003czlang@redhat.com\u003e\nSigned-off-by: Zorro Lang \u003czlang@kernel.org\u003e\n"
    },
    {
      "commit": "4e77fcc28c036ba6410eac73b09835daaee05aba",
      "tree": "1f2a60ce4a1f81382f5e0176d12fc520fafd51ef",
      "parents": [
        "bf6ed3418e0f93259c59fd327b686dee3d45c9fa"
      ],
      "author": {
        "name": "Jeff Layton",
        "email": "jlayton@kernel.org",
        "time": "Wed Dec 03 10:43:08 2025 -0500"
      },
      "committer": {
        "name": "Zorro Lang",
        "email": "zlang@kernel.org",
        "time": "Sat Dec 06 01:41:49 2025 +0800"
      },
      "message": "generic: add tests for directory delegations\n\nWith the advent of directory delegation support coming to the kernel,\nadd support for testing them to the existing locktest.c program, and add\ntestcases for all of the different ways that they can be broken.\n\nSigned-off-by: Jeff Layton \u003cjlayton@kernel.org\u003e\nReviewed-by: Zorro Lang \u003czlang@redhat.com\u003e\nSigned-off-by: Zorro Lang \u003czlang@kernel.org\u003e\n"
    },
    {
      "commit": "bf6ed3418e0f93259c59fd327b686dee3d45c9fa",
      "tree": "36d6eb5ce51ecf8f1971f7dfb4955ad85fe51bc3",
      "parents": [
        "74c8afa4f132a4169ad15f7ee663346eedcd8e82"
      ],
      "author": {
        "name": "Jeff Layton",
        "email": "jlayton@kernel.org",
        "time": "Wed Dec 03 10:43:07 2025 -0500"
      },
      "committer": {
        "name": "Zorro Lang",
        "email": "zlang@kernel.org",
        "time": "Sat Dec 06 01:41:49 2025 +0800"
      },
      "message": "common/rc: clean up after the _require_test_fcntl_setlease() test\n\nRemove setlease_testfile after validating whether a lease can be set.\n\nSigned-off-by: Jeff Layton \u003cjlayton@kernel.org\u003e\nReviewed-by: Zorro Lang \u003czlang@redhat.com\u003e\nSigned-off-by: Zorro Lang \u003czlang@kernel.org\u003e\n"
    },
    {
      "commit": "74c8afa4f132a4169ad15f7ee663346eedcd8e82",
      "tree": "6eb27df44d99feedf5fb61268146af5a886f5238",
      "parents": [
        "37a5ef84413e040bbcf2784d83e0a0c1ec70c0a5"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Fri Nov 21 08:10:06 2025 +0100"
      },
      "committer": {
        "name": "Zorro Lang",
        "email": "zlang@kernel.org",
        "time": "Fri Dec 05 15:46:17 2025 +0800"
      },
      "message": "xfs/049: create the nested XFS file systems on the loop device\n\nWithout this I see failures on 4k sector size RT devices, as mkfs.xfs\ncan\u0027t pick up the logical block size on files.  Note that the test\nalready does this for the nested ext2 image as well.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nReviewed-by: Darrick J. Wong \u003cdjwong@kernel.org\u003e\nSigned-off-by: Zorro Lang \u003czlang@kernel.org\u003e\n"
    },
    {
      "commit": "37a5ef84413e040bbcf2784d83e0a0c1ec70c0a5",
      "tree": "1738285b2b3150921999aadb1d045a95bd30ed5e",
      "parents": [
        "d569940311fdafd71085b514c4597718a94633c2"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Fri Nov 21 08:10:05 2025 +0100"
      },
      "committer": {
        "name": "Zorro Lang",
        "email": "zlang@kernel.org",
        "time": "Fri Dec 05 15:46:17 2025 +0800"
      },
      "message": "generic/484: force I/O to the data device for XFS\n\nOtherwise the error injection to the data device might not work as\nexpected.  For example in some zoned setups I see the failures in\na slightly different spot than expected without this.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nReviewed-by: Darrick J. Wong \u003cdjwong@kernel.org\u003e\nSigned-off-by: Zorro Lang \u003czlang@kernel.org\u003e\n"
    },
    {
      "commit": "d569940311fdafd71085b514c4597718a94633c2",
      "tree": "3b2f854350b6498c9ccd52d734d2d4cdddf15009",
      "parents": [
        "3970e305333e58cdbaef3c5c2d3536f23d7d7192"
      ],
      "author": {
        "name": "Sidong Yang",
        "email": "realwakka@gmail.com",
        "time": "Wed Dec 03 11:43:25 2025 +0000"
      },
      "committer": {
        "name": "Zorro Lang",
        "email": "zlang@kernel.org",
        "time": "Fri Dec 05 15:46:17 2025 +0800"
      },
      "message": "btrfs/339: test receive dump stream for different user\n\nTest receive to dump stream file from different user.\n\nThis is a regression test for the btrfs-progs commit cd933616d485\n(\"btrfs-progs: receive: don\u0027t use O_NOATIME to open stream for\ndumping\").\n\nSigned-off-by: Sidong Yang \u003crealwakka@gmail.com\u003e\nReviewed-by: Filipe Manana \u003cfdmanana@suse.com\u003e\nSigned-off-by: Zorro Lang \u003czlang@kernel.org\u003e\n"
    },
    {
      "commit": "3970e305333e58cdbaef3c5c2d3536f23d7d7192",
      "tree": "8377be393eedbd804494df0df5e7e3d69183d69a",
      "parents": [
        "7e5537c5ec3fe0209d916777db883514330e5f12"
      ],
      "author": {
        "name": "Filipe Manana",
        "email": "fdmanana@suse.com",
        "time": "Wed Dec 03 17:38:14 2025 +0000"
      },
      "committer": {
        "name": "Zorro Lang",
        "email": "zlang@kernel.org",
        "time": "Fri Dec 05 15:46:17 2025 +0800"
      },
      "message": "generic: test journaling after renaming fsynced file and fsync parent dir\n\nTest that if we fsync a file, create a directory in the same parent\ndirectory of the file, add a file to the new directory, rename the\ninitial file and then fsync the parent directory of the first file, after\na power failure the new directory exists, with its new entry and the first\nfile has the new name and any data we wrote to it before its fsync.\n\nThis exercises a reported btrfs bug which is fixed by a patch with the\nfollowing subject:\n\n  \"btrfs: do not skip logging new dentries when logging a new name\"\n\nSigned-off-by: Filipe Manana \u003cfdmanana@suse.com\u003e\nReviewed-by: Zorro Lang \u003czlang@redhat.com\u003e\nSigned-off-by: Zorro Lang \u003czlang@kernel.org\u003e\n"
    },
    {
      "commit": "7e5537c5ec3fe0209d916777db883514330e5f12",
      "tree": "7b821144a8509d258bd2dd0a9e74a1cc13a8767b",
      "parents": [
        "1b37d45c4373fc359a5cf3be3f91d3e1ce9e09da"
      ],
      "author": {
        "name": "Filipe Manana",
        "email": "fdmanana@suse.com",
        "time": "Thu Nov 27 18:17:44 2025 +0000"
      },
      "committer": {
        "name": "Zorro Lang",
        "email": "zlang@kernel.org",
        "time": "Fri Dec 05 15:46:17 2025 +0800"
      },
      "message": "generic: test a scenario of power failure after renames and fsyncs\n\nTest moving a directory to another location, create a file in the old\nlocation of the directory and with the same name, fsync the file, then\nmove the file elsewhere and fsync again the file. After a power failure\nwe expect to be able to mount the fs and have the same content as before\nthe power failure.\n\nThis exercises a bug fixed by the following kernel patch for btrfs:\n\n \"btrfs: don\u0027t log conflicting inode if it\u0027s a dir moved in the current transaction\"\n\nSigned-off-by: Filipe Manana \u003cfdmanana@suse.com\u003e\nReviewed-by: Darrick J. Wong \u003cdjwong@kernel.org\u003e\nSigned-off-by: Zorro Lang \u003czlang@kernel.org\u003e\n"
    },
    {
      "commit": "1b37d45c4373fc359a5cf3be3f91d3e1ce9e09da",
      "tree": "78470d40f31066def78feafddfac833aa881c37a",
      "parents": [
        "5760b2105985bf5bbb611c7eb8c69a823f2b3daa"
      ],
      "author": {
        "name": "Darrick J. Wong",
        "email": "djwong@kernel.org",
        "time": "Thu Dec 04 13:53:17 2025 -0800"
      },
      "committer": {
        "name": "Zorro Lang",
        "email": "zlang@kernel.org",
        "time": "Fri Dec 05 14:19:52 2025 +0800"
      },
      "message": "fsstress: allow multiple suboptions to -f\n\nI got bitten by fsstress\u0027s argument parsing recently because it turns\nout that if you do:\n\n# fsstress -z -f creat\u003d2,unlink\u003d1\n\nIt will ignore everything after the \u00272\u0027 and worse yet it won\u0027t tell you\nthat it\u0027s done so unless you happen to pass -S to make it spit out the\nfrequency table.\n\nAdapt process_freq to tokenize the argument string so that it can handle\na comma-separated list of key-value arguments.\n\nSigned-off-by: Darrick J. Wong \u003cdjwong@kernel.org\u003e\nReviewed-by: Zorro Lang \u003czlang@redhat.com\u003e\nSigned-off-by: Zorro Lang \u003czlang@kernel.org\u003e\n"
    },
    {
      "commit": "5760b2105985bf5bbb611c7eb8c69a823f2b3daa",
      "tree": "b4189e4611b7950492bdcf7ff2f43d91ec5c837f",
      "parents": [
        "a668057f00dd5cf757e332afe8035b67dca69ae1"
      ],
      "author": {
        "name": "Donald Douwsma",
        "email": "ddouwsma@redhat.com",
        "time": "Wed Nov 19 15:12:10 2025 +1100"
      },
      "committer": {
        "name": "Zorro Lang",
        "email": "zlang@kernel.org",
        "time": "Wed Nov 19 18:11:31 2025 +0800"
      },
      "message": "xfs: test case for handling io errors when reading extended attributes\n\nWe\u0027ve seen reports from the field panicking in xfs_trans_brelse after an\nIO error when reading an attribute block.\n\nsd 0:0:23:0: [sdx] tag#271 CDB: Read(16) 88 00 00 00 00 00 9b df 5e 78 00 00 00 08 00 00\ncritical medium error, dev sdx, sector 2615107192 op 0x0:(READ) flags 0x1000 phys_seg 1 prio class 2\nXFS (sdx1): metadata I/O error in \"xfs_da_read_buf+0xe1/0x140 [xfs]\" at daddr 0x9bdf5678 len 8 error 61\nBUG: kernel NULL pointer dereference, address: 00000000000000e0\n...\nRIP: 0010:xfs_trans_brelse+0xb/0xe0 [xfs]\n\nSigned-off-by: Donald Douwsma \u003cddouwsma@redhat.com\u003e\nReviewed-by: Christoph Hellwig \u003chch@lst.de\u003e\nReviewed-by: Zorro Lang \u003czlang@redhat.com\u003e\nSigned-off-by: Zorro Lang \u003czlang@kernel.org\u003e\n"
    },
    {
      "commit": "a668057f00dd5cf757e332afe8035b67dca69ae1",
      "tree": "e927290e6156279bcb6b6783872b47707c02e84f",
      "parents": [
        "c34a6b5628402972f6c4c34d074de9c15a95aa78"
      ],
      "author": {
        "name": "Amir Goldstein",
        "email": "amir73il@gmail.com",
        "time": "Fri Nov 14 20:48:52 2025 +0100"
      },
      "committer": {
        "name": "Zorro Lang",
        "email": "zlang@kernel.org",
        "time": "Sat Nov 15 16:28:16 2025 +0800"
      },
      "message": "overlay: add tests for casefolded layers\n\nOveralyfs did not allow mounting layers with casefold capable fs\nuntil kernel v6.17 and did not allow casefold enabled layers\nuntil kernel v6.18.\n\nSince kernel v6.18, overalyfs allows this kind of setups,\nas long as the layers have consistent encoding and all the directories\nin the subtree have consistent casefolding.\n\nCreate test cases for the following scenarios:\n- Mounting overlayfs with casefold disabled\n- Mounting overlayfs with casefold enabled\n- Lookup subdir in overlayfs with mismatch casefold to parent dir\n- Change casefold of underlying subdir while overalyfs is mounted\n- Mounting overlayfs with strict enconding, but casefold disabled\n- Mounting overlayfs with strict enconding casefold enabled\n- Mounting overlayfs with layers with inconsistent UTF8 version\n\nCo-developed-by: André Almeida \u003candrealmeid@igalia.com\u003e\nSigned-off-by: André Almeida \u003candrealmeid@igalia.com\u003e\nSigned-off-by: Amir Goldstein \u003camir73il@gmail.com\u003e\nReviewed-by: Zorro Lang \u003czlang@redhat.com\u003e\nSigned-off-by: Zorro Lang \u003czlang@kernel.org\u003e\n"
    },
    {
      "commit": "c34a6b5628402972f6c4c34d074de9c15a95aa78",
      "tree": "5af053cd36d31bd440bbe5d5d704d77a0f230793",
      "parents": [
        "faf816b985138ba290284355212fcc4660f7dfa6"
      ],
      "author": {
        "name": "Chao Yu",
        "email": "chao@kernel.org",
        "time": "Mon Nov 03 14:21:43 2025 +0800"
      },
      "committer": {
        "name": "Zorro Lang",
        "email": "zlang@kernel.org",
        "time": "Sat Nov 15 16:27:47 2025 +0800"
      },
      "message": "f2fs: test sanity check condition w/ error injection\n\nAfter commit 5c1768b67250 (\"f2fs: fix to do sanity check correctly on\ni_inline_xattr_size\"), f2fs should handle corrupted i_inline_xattr_size\ncorrectly, let\u0027s add this regression testcase to check that.\n\nCc: Jaegeuk Kim \u003cjaegeuk@kernel.org\u003e\nSigned-off-by: Chao Yu \u003cchao@kernel.org\u003e\nReviewed-by: Zorro Lang \u003czlang@redhat.com\u003e\nSigned-off-by: Zorro Lang \u003czlang@kernel.org\u003e\n"
    },
    {
      "commit": "faf816b985138ba290284355212fcc4660f7dfa6",
      "tree": "a5d9bd1260e679dec8ca5d5e60213e6e96e5af07",
      "parents": [
        "1ffbdcaae45a6acf76193f3a83c78e837d14f8ad"
      ],
      "author": {
        "name": "Filipe Manana",
        "email": "fdmanana@suse.com",
        "time": "Thu Oct 30 17:22:44 2025 +0000"
      },
      "committer": {
        "name": "Zorro Lang",
        "email": "zlang@kernel.org",
        "time": "Sat Nov 15 16:27:47 2025 +0800"
      },
      "message": "btrfs: test incremental send after deleting directories with many hardlinks\n\nTest that an incremental send works after we removed directories that have\nlarge number of hardlinks for the same file (so that we have extrefs).\n\nThis is a regression test for the kernel commit 1fabe43b4e1a (\"btrfs:\nsend: fix duplicated rmdir operations when using extrefs\").\n\nSigned-off-by: Filipe Manana \u003cfdmanana@suse.com\u003e\nSigned-off-by: Zorro Lang \u003czlang@kernel.org\u003e\n"
    },
    {
      "commit": "1ffbdcaae45a6acf76193f3a83c78e837d14f8ad",
      "tree": "844bbf6f32a292911e0748d0161577f2ec087740",
      "parents": [
        "21be8aa17349ff191598cf35428dce644b8ce61f"
      ],
      "author": {
        "name": "Joanne Chang",
        "email": "joannechien@google.com",
        "time": "Wed Nov 12 13:52:23 2025 +0000"
      },
      "committer": {
        "name": "Zorro Lang",
        "email": "zlang@kernel.org",
        "time": "Sat Nov 15 15:12:01 2025 +0800"
      },
      "message": "f2fs/{019,020}: clear MOUNT_OPTIONS alongside MKFS_OPTIONS\n\nCurrently, f2fs/019 and f2fs/020 only clears MKFS_OPTIONS. This causes\nthe tests to fail when leftover MOUNT_OPTIONS depend on unapplied\nMKFS_OPTIONS. So MOUNT_OPTIONS should also be cleared to ensure reliable\nmounting.\n\nSigned-off-by: Joanne Chang \u003cjoannechien@google.com\u003e\nReviewed-by: Chao Yu \u003cchao@kernel.org\u003e\nSigned-off-by: Zorro Lang \u003czlang@kernel.org\u003e\n"
    },
    {
      "commit": "21be8aa17349ff191598cf35428dce644b8ce61f",
      "tree": "6cbc1cddbbc3baa04f9f917b87e73010e5c2feda",
      "parents": [
        "288a86433f0a6cf93d0bba78084c4323c91d2b6a"
      ],
      "author": {
        "name": "Joanne Chang",
        "email": "joannechien@google.com",
        "time": "Wed Nov 12 13:52:22 2025 +0000"
      },
      "committer": {
        "name": "Zorro Lang",
        "email": "zlang@kernel.org",
        "time": "Sat Nov 15 15:12:01 2025 +0800"
      },
      "message": "f2fs/016: add test cases for test_dummy_encryption mount option\n\nAdd test cases to verify f2fs\u0027s support for different versions of the\n\"test_dummy_encryption\" mount option.\n\nTo ensure test robustness, the MKFS_OPTIONS and MOUNT_OPTIONS are\ncleared. This prevents additional options from interfereing with the\ntest results.\n\nSigned-off-by: Joanne Chang \u003cjoannechien@google.com\u003e\nReviewed-by: Zorro Lang \u003czlang@redhat.com\u003e\nSigned-off-by: Zorro Lang \u003czlang@kernel.org\u003e\n"
    },
    {
      "commit": "288a86433f0a6cf93d0bba78084c4323c91d2b6a",
      "tree": "5e0c08c200a4518a53c47f9db48c3dabfbdb1815",
      "parents": [
        "a11b37ec4265015e59ab3f47578d5967ef8ed75a"
      ],
      "author": {
        "name": "Joanne Chang",
        "email": "joannechien@google.com",
        "time": "Wed Nov 12 13:52:21 2025 +0000"
      },
      "committer": {
        "name": "Zorro Lang",
        "email": "zlang@kernel.org",
        "time": "Sat Nov 15 15:12:01 2025 +0800"
      },
      "message": "f2fs/015: clear MKFS_OPTIONS and MOUNT_OPTIONS\n\nCurrently, residual options can interfere with checking the mount\nbehavior of the listed MKFS_OPTIONS and MOUNT_OPTIONS. For example,\n\"Option#120: test_dummy_encryption\" should fail with the listed\noptions but succeeds if “MKFS_OPTIONS\u003dencrypt” is preset. By\nexplicitly clearing MKFS_OPTIONS and MOUNT_OPTIONS, the test’s\nreliability can be improved.\n\nf2fs/015.out is also updated to expect failure for cases that require\nadditional mkfs attributes to mount.\n\nSigned-off-by: Joanne Chang \u003cjoannechien@google.com\u003e\nReviewed-by: Chao Yu \u003cchao@kernel.org\u003e\nSigned-off-by: Zorro Lang \u003czlang@kernel.org\u003e\n"
    },
    {
      "commit": "a11b37ec4265015e59ab3f47578d5967ef8ed75a",
      "tree": "4af88341ae98446be9688d3b124a1158f4e72b84",
      "parents": [
        "c5e62a6b850375f8970cd5fb8a48b43fc0950a3e"
      ],
      "author": {
        "name": "Darrick J. Wong",
        "email": "djwong@kernel.org",
        "time": "Mon Nov 10 10:27:51 2025 -0800"
      },
      "committer": {
        "name": "Zorro Lang",
        "email": "zlang@kernel.org",
        "time": "Sat Nov 15 02:54:37 2025 +0800"
      },
      "message": "generic/774: turn off lfsr\n\nThis test fails mostly-predictably across my testing fleet with:\n\n --- /run/fstests/bin/tests/generic/774.out\t2025-10-20 10:03:43.432910446 -0700\n +++ /var/tmp/fstests/generic/774.out.bad\t2025-11-10 01:14:58.941775866 -0800\n @@ -1,2 +1,11 @@\n QA output created by 774\n +fio: failed initializing LFSR\n +verify: bad magic header 0, wanted acca at file /opt/test-file offset 0, length 33554432 (requested block: offset\u003d0, length\u003d33554432)\n +verify: bad magic header 0, wanted acca at file /opt/test-file offset 33554432, length 33554432 (requested block: offset\u003d33554432, length\u003d33554432)\n +verify: bad magic header 0, wanted acca at file /opt/test-file offset 67108864, length 33554432 (requested block: offset\u003d67108864, length\u003d33554432)\n +verify: bad magic header 0, wanted acca at file /opt/test-file offset 100663296, length 33554432 (requested block: offset\u003d100663296, length\u003d33554432)\n +verify: bad magic header 0, wanted acca at file /opt/test-file offset 134217728, length 33554432 (requested block: offset\u003d134217728, length\u003d33554432)\n +verify: bad magic header 0, wanted acca at file /opt/test-file offset 167772160, length 33554432 (requested block: offset\u003d167772160, length\u003d33554432)\n +verify: bad magic header 0, wanted acca at file /opt/test-file offset 201326592, length 33554432 (requested block: offset\u003d201326592, length\u003d33554432)\n +verify: bad magic header 0, wanted acca at file /opt/test-file offset 234881024, length 33554432 (requested block: offset\u003d234881024, length\u003d33554432)\n Silence is golden\n\nI\u0027m not sure why the linear feedback shift register algorithm is\nspecifically needed for this test.\n\nCc: fstests@vger.kernel.org # v2025.10.20\nFixes: 9117fb93b41c38 (\"generic: Add atomic write test using fio verify on file mixed mappings\")\nSigned-off-by: Darrick J. Wong \u003cdjwong@kernel.org\u003e\nReviewed-by: Ojaswin Mujoo \u003cojaswin@linux.ibm.com\u003e\nReviewed-by: Christoph Hellwig \u003chch@lst.de\u003e\nReviewed-by: John Garry \u003cjohn.g.garry@oracle.com\u003e\nSigned-off-by: Zorro Lang \u003czlang@kernel.org\u003e\n"
    },
    {
      "commit": "c5e62a6b850375f8970cd5fb8a48b43fc0950a3e",
      "tree": "c7bcc8d6fd528951f73f136883b34197a70185fc",
      "parents": [
        "99f79500aa9e185cb1c75c2f5f0b8698cc1ca15c"
      ],
      "author": {
        "name": "Darrick J. Wong",
        "email": "djwong@kernel.org",
        "time": "Mon Nov 10 10:27:35 2025 -0800"
      },
      "committer": {
        "name": "Zorro Lang",
        "email": "zlang@kernel.org",
        "time": "Sat Nov 15 02:54:37 2025 +0800"
      },
      "message": "generic/774: reduce file size\n\nWe\u0027ve gotten complaints about this test taking hours to run and\nproducing stall warning on test VMs with a large number of cpu cores.  I\nthink this is due to the maximum atomic write unit being very large on\nXFS where we can fall back to a software-based out of place write\nimplementation.\n\nOn the victim machine, the atomic write max is 4MB and there are 24\nCPUs.  As a result, aw_bsize to be 1MB, so the file size is\n1MB * 24 * 2 * 100 \u003d\u003d 4.8GB.  I set up a test machine with fast storage\nand 24 CPUs, and the atomic writes poked along at 25MB/s and the total\nruntime was 300s.  On spinning rust those stats will be much worse.\n\nLet\u0027s try backing the file size off by 10x and see if that eases the\ncomplaints.\n\nCc: fstests@vger.kernel.org # v2025.10.20\nFixes: 9117fb93b41c38 (\"generic: Add atomic write test using fio verify on file mixed mappings\")\nSigned-off-by: Darrick J. Wong \u003cdjwong@kernel.org\u003e\nReviewed-by: Ojaswin Mujoo \u003cojaswin@linux.ibm.com\u003e\nReviewed-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Zorro Lang \u003czlang@kernel.org\u003e\n"
    },
    {
      "commit": "99f79500aa9e185cb1c75c2f5f0b8698cc1ca15c",
      "tree": "c053d2f54cf42872a216a62d52f69a717bea12fc",
      "parents": [
        "545c94d8c386a1efec68754fcd6422840517a689"
      ],
      "author": {
        "name": "Darrick J. Wong",
        "email": "djwong@kernel.org",
        "time": "Mon Nov 10 10:27:20 2025 -0800"
      },
      "committer": {
        "name": "Zorro Lang",
        "email": "zlang@kernel.org",
        "time": "Sat Nov 15 02:54:37 2025 +0800"
      },
      "message": "xfs/837: fix test to work with pre-metadir quota mount options\n\nPrior to metadir, xfs users always had to supply quota mount options to\nget quota functionality, even if the mount options match the ondisk\nsuperblock\u0027s qflag state.  The kernel, in turn, required a writable\nfilesystem if any mount options were specified.  As a result, this test\nfails on those old filesystems because the _scratch_mount fails.\n\nMetadir filesystems reuse whatever\u0027s in qflags if no mount options are\nsupplied, so we don\u0027t need them in MOUNT_OPTS anymore.\n\nChange the _scratch_mount to _try_scratch_mount and add configurable\ngolden output to handle this case.\n\nCc: fstests@vger.kernel.org # v2025.06.22\nFixes: e225772353e212 (\"xfs: add mount test for read only rt devices\")\nSigned-off-by: Darrick J. Wong \u003cdjwong@kernel.org\u003e\nReviewed-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Zorro Lang \u003czlang@kernel.org\u003e\n"
    },
    {
      "commit": "545c94d8c386a1efec68754fcd6422840517a689",
      "tree": "fa1b8d724c32cf3942f2af1110ed5b847ad8f571",
      "parents": [
        "09728c352684b3bb0407c631a6098c5e814b2016"
      ],
      "author": {
        "name": "Darrick J. Wong",
        "email": "djwong@kernel.org",
        "time": "Mon Nov 10 10:27:04 2025 -0800"
      },
      "committer": {
        "name": "Zorro Lang",
        "email": "zlang@kernel.org",
        "time": "Sat Nov 15 02:54:37 2025 +0800"
      },
      "message": "generic/019: skip test when there is no journal\n\nThis test checks a filesystem\u0027s ability to recover from a noncritical\ndisk failure (e.g. journal replay) without becoming inconsistent.  This\nisn\u0027t true for any filesystem that doesn\u0027t have a journal, so we should\nskip the test on those platforms.\n\nSigned-off-by: Darrick J. Wong \u003cdjwong@kernel.org\u003e\nReviewed-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Zorro Lang \u003czlang@kernel.org\u003e\n"
    },
    {
      "commit": "09728c352684b3bb0407c631a6098c5e814b2016",
      "tree": "16f3adeab8dd832d4146b78b9f0fcf41be5a587a",
      "parents": [
        "252d25fb9efdcc36af734de270698bc6db918939"
      ],
      "author": {
        "name": "Darrick J. Wong",
        "email": "djwong@kernel.org",
        "time": "Mon Nov 10 10:26:48 2025 -0800"
      },
      "committer": {
        "name": "Zorro Lang",
        "email": "zlang@kernel.org",
        "time": "Sat Nov 15 02:54:37 2025 +0800"
      },
      "message": "generic/778: fix background loop control with sentinel files\n\nThis test fails on my slowish QA VM with 32k-fsblock xfs:\n\n --- /run/fstests/bin/tests/generic/778.out      2025-10-20 10:03:43.432910446 -0700\n +++ /var/tmp/fstests/generic/778.out.bad        2025-11-04 12:01:31.137813652 -0800\n @@ -1,2 +1,137 @@\n  QA output created by 778\n -Silence is golden\n +umount: /opt: target is busy.\n +mount: /opt: /dev/sda4 already mounted on /opt.\n +       dmesg(1) may have more information after failed mount system call.\n +cycle mount failed\n +(see /var/tmp/fstests/generic/778.full for details)\n\nInjecting a \u0027ps auxfww\u0027 into the _scratch_cycle_mount helper reveals\nthat this process is still sitting on /opt:\n\nroot     1804418  9.0  0.8 144960 134368 pts/0   Dl+  12:01   0:00 /run/fstests/xfsprogs/io/xfs_io -i -c open -fsd /opt/testfile -c pwrite -S 0x61 -DA -V1 -b 134217728 134217728 134217728\n\nYes, that\u0027s the xfs_io process started by atomic_write_loop.\nInexplicably, the awloop killing code terminates the subshell running\nthe for loop in atomic_write_loop but only waits for the subshell itself\nto exit.  It doesn\u0027t wait for any of that subshell\u0027s children, and\nthat\u0027s why the unmount fails.\n\nA bare \"wait\" (without the $awloop_pid parameter) also doesn\u0027t wait for\nthe xfs_io because the parent shell sees the subshell exit and treats\nthat as job completion.  We can\u0027t use killall here because the system\ncould be running check-parallel, nor can we use pkill here because the\npid namespace containment code was removed.\n\nThe simplest stupid answer is to use sentinel files to control the loop.\n\nCc: fstests@vger.kernel.org # v2025.10.20\nFixes: ca954527ff9d97 (\"generic: Add sudden shutdown tests for multi block atomic writes\")\nSigned-off-by: Darrick J. Wong \u003cdjwong@kernel.org\u003e\nReviewed-by: Ojaswin Mujoo \u003cojaswin@linux.ibm.com\u003e\nReviewed-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Zorro Lang \u003czlang@kernel.org\u003e\n"
    },
    {
      "commit": "252d25fb9efdcc36af734de270698bc6db918939",
      "tree": "017b198fe309c56d787b9955adc4715f77ed5155",
      "parents": [
        "927e55a2ae5d647f9dc42be84ecf053901693f89"
      ],
      "author": {
        "name": "Darrick J. Wong",
        "email": "djwong@kernel.org",
        "time": "Mon Nov 10 10:26:32 2025 -0800"
      },
      "committer": {
        "name": "Zorro Lang",
        "email": "zlang@kernel.org",
        "time": "Sat Nov 15 02:54:37 2025 +0800"
      },
      "message": "generic/778: fix severe performance problems\n\nThis test takes 4800s to run, which is horrible.  AFAICT it starts out\nby timing how much can be written atomically to a new file in 0.2\nseconds, then scales up the file size by 3x.  On not very fast storage,\nthis can result in file_size being set to ~250MB on a 4k fsblock\nfilesystem.  That\u0027s about 64,000 blocks.\n\nThe next thing this test does is try to create a file of that size\n(250MB) of alternating written and unwritten blocks.  For some reason,\nit sets up this file by invoking xfs_io 64,000 times to write small\namounts of data, which takes 3+ minutes on the author\u0027s system because\nexec overhead is pretty high when you do that.\n\nAs a result, one loop through the test takes almost 4 minutes.  The test\nloops 20 times, so it runs for 80 minutes(!!) which is a really long\ntime.\n\nSo the first thing we do is observe that the giant slow loop is being\nrun as a single thread on an empty filesystem.  Most of the time the\nallocator generates a mostly physically contiguous file.  We could\nfallocate the whole file instead of fallocating one block every other\ntime through the loop.  This halves the setup time.\n\nNext, we can also stuff the remaining pwrite commands into a bash array\nand only invoke xfs_io once every 128x through the loop.  This amortizes\nthe xfs_io startup time, which reduces the test loop runtime to about 20\nseconds.\n\nFinally, replace the 20x loop with a _soak_loop_running 5x loop because\n5 seems like enough.  Anyone who wants more can set TIME_FACTOR or\nSOAK_DURATION to get more intensive testing.  On my system this cuts the\nruntime to 75 seconds.\n\nCc: fstests@vger.kernel.org # v2025.10.20\nFixes: ca954527ff9d97 (\"generic: Add sudden shutdown tests for multi block atomic writes\")\nSigned-off-by: Darrick J. Wong \u003cdjwong@kernel.org\u003e\nReviewed-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Zorro Lang \u003czlang@kernel.org\u003e\n"
    },
    {
      "commit": "927e55a2ae5d647f9dc42be84ecf053901693f89",
      "tree": "4998b5fa5f792b543744bd0d89c49b94339a2c93",
      "parents": [
        "28e2a205c8d1694bc71a4247e6fd92bce29d3624"
      ],
      "author": {
        "name": "Darrick J. Wong",
        "email": "djwong@kernel.org",
        "time": "Mon Nov 10 10:26:17 2025 -0800"
      },
      "committer": {
        "name": "Zorro Lang",
        "email": "zlang@kernel.org",
        "time": "Sat Nov 15 02:54:37 2025 +0800"
      },
      "message": "common: leave any breadcrumbs when _link_out_file_named can\u0027t find the output file\n\n_link_out_file_named is an obnoxiously complicated helper involving a\nperl script embedded inside a bash subshell that does ... a lookup of\nsome sort involving comparing the comma-separated list in its second\nargument against a comma-separated list in a config file that then maps\nto an output file suffix.  I don\u0027t know what it really does.  The .cfg\nfile format is undocumented except for the perl script.\n\nThis is really irritating every time I have to touch any of these tests\nwith flexible golden outputs, and I frequently screw up the mapping.\nThe helper is not very helpful when you do this, because it doesn\u0027t even\ntry to tell you *which* suffix it found, let alone how it got there.\n\nFix this up so that the .full file gets some diagnostics, even if the\nstdout text is \"no qualified output\".\n\nSigned-off-by: Darrick J. Wong \u003cdjwong@kernel.org\u003e\nReviewed-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Zorro Lang \u003czlang@kernel.org\u003e\n"
    },
    {
      "commit": "28e2a205c8d1694bc71a4247e6fd92bce29d3624",
      "tree": "6820667ad1b5b1b7a97ff9a695dac4f4dcc4ccb3",
      "parents": [
        "7b709ce9976296bad2405d1d438e9ad22d6116c3"
      ],
      "author": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Thu Nov 13 20:02:38 2025 -0500"
      },
      "committer": {
        "name": "Zorro Lang",
        "email": "zlang@kernel.org",
        "time": "Sat Nov 15 00:16:22 2025 +0800"
      },
      "message": "generic/773: fix expected output \"QA output created by 1226\"\n\nThe test generic/773 was apparently submitted as generic/1226, but\nwhen it was renamed to pack the test namespace, apparently the test\noutput wasn\u0027t adjusted to reflect the new test name, leading to the\ntest failing on sytems that have devices that support atomic writes.\n\nFixes: 1499d4ff2365 (\"generic: Add atomic write test using fio crc ...\")\nSigned-off-by: Theodore Ts\u0027o \u003ctytso@mit.edu\u003e\nReviewed-by: Ojaswin Mujoo \u003cojaswin@linux.ibm.com\u003e\nReviewed-by: Zorro Lang \u003czlang@redhat.com\u003e\nSigned-off-by: Zorro Lang \u003czlang@kernel.org\u003e\n"
    },
    {
      "commit": "7b709ce9976296bad2405d1d438e9ad22d6116c3",
      "tree": "3c4f8936ed7740358945873cb149aceedb3d2e06",
      "parents": [
        "5b75444bc9123f261e0aa95f72328af4c827786a"
      ],
      "author": {
        "name": "Filipe Manana",
        "email": "fdmanana@suse.com",
        "time": "Wed Nov 12 13:01:51 2025 +0000"
      },
      "committer": {
        "name": "Zorro Lang",
        "email": "zlang@kernel.org",
        "time": "Thu Nov 13 00:07:04 2025 +0800"
      },
      "message": "fstests: add kernel commit IDs to some tests that miss it\n\nKernel patches for some tests are now in Linus\u0027 tree, so update their\ncommit IDs and for btrfs/301 fix the commit subject since it was changed\nbefore being sent to Linus.\n\nSigned-off-by: Filipe Manana \u003cfdmanana@suse.com\u003e\nReviewed-by: David Sterba \u003cdsterba@suse.com\u003e\nSigned-off-by: Zorro Lang \u003czlang@kernel.org\u003e\n"
    },
    {
      "commit": "5b75444bc9123f261e0aa95f72328af4c827786a",
      "tree": "98bb1b23e1a0d1524182c9183da3b3804fcd0c15",
      "parents": [
        "fea0ae7e9d7a43f22818150ec7698d11a9b286be"
      ],
      "author": {
        "name": "ethanwu",
        "email": "ethanwu@synology.com",
        "time": "Tue Oct 21 16:49:21 2025 +0800"
      },
      "committer": {
        "name": "Zorro Lang",
        "email": "zlang@kernel.org",
        "time": "Sat Nov 01 22:41:41 2025 +0800"
      },
      "message": "ceph: test snapshot data integrity after punch hole operations\n\nAdd test to verify that Ceph snapshots preserve original file data\nwhen the live file is modified with punch hole operations. The test\ncreates a file, takes a snapshot, punches multiple holes in the\noriginal file, then verifies the snapshot data remains unchanged.\n\nSigned-off-by: ethanwu \u003cethanwu@synology.com\u003e\nReviewed-by: Zorro Lang \u003czlang@redhat.com\u003e\nSigned-off-by: Zorro Lang \u003czlang@kernel.org\u003e\n"
    },
    {
      "commit": "fea0ae7e9d7a43f22818150ec7698d11a9b286be",
      "tree": "df2d1a69c13a11ea8efbcbe71bec21a0a82ae531",
      "parents": [
        "930ef1140392e699c989d4fbb3e74d017d21a6a4"
      ],
      "author": {
        "name": "Chao Yu",
        "email": "chao@kernel.org",
        "time": "Mon Oct 20 10:31:08 2025 +0800"
      },
      "committer": {
        "name": "Zorro Lang",
        "email": "zlang@kernel.org",
        "time": "Sat Nov 01 22:41:41 2025 +0800"
      },
      "message": "f2fs/022: fix to run testcase correctly\n\nf2fs/022 will report failure as below:\n\nf2fs/022       - output mismatch (see /share/git/fstests/results//f2fs/022.out.bad)\n    --- tests/f2fs/022.out      2025-10-20 10:18:47.075968669 +0800\n    +++ /share/git/fstests/results//f2fs/022.out.bad    2025-10-20 10:25:20.000000000 +0800\n    @@ -1,2 +1,5 @@\n     QA output created by 022\n    +wrote 8388608/8388608 bytes at offset 0\n    +8 MiB, 2048 ops; 0.0018 sec (4.300 GiB/sec and 1127132.6362 ops/sec)\n    +fallocate: Operation not supported\n     Silence is golden\n    ...\n    (Run \u0027diff -u /share/git/fstests/tests/f2fs/022.out /share/git/fstests/results//f2fs/022.out.bad\u0027  to see the entire diff)\n\nHINT: You _MAY_ be missing kernel fix:\n      xxxxxxxxxxxx f2fs: fix to do sanity check on node footer for non inode dnode\n\nFix this testcase as below:\n\n- fix a typo \"$SCARTCH_MNT\"\n- fix to update output to \"fallocate: Structure needs cleaning\"\n- relocate output of \"$XFS_IO_PROG $foo_path -c \"pwrite 0 8M\"\" to\n$seqres.full\n\nCc: Jaegeuk Kim \u003cjaegeuk@kernel.org\u003e\nSigned-off-by: Chao Yu \u003cchao@kernel.org\u003e\nReviewed-by: Zorro Lang \u003czlang@redhat.com\u003e\nSigned-off-by: Zorro Lang \u003czlang@kernel.org\u003e\n"
    },
    {
      "commit": "930ef1140392e699c989d4fbb3e74d017d21a6a4",
      "tree": "cd4953410bddff80150f21756a470854ad74c47b",
      "parents": [
        "9886baabdec372387b5e874fdcaf59390a75f4a9"
      ],
      "author": {
        "name": "Chao Yu",
        "email": "chao@kernel.org",
        "time": "Mon Oct 20 10:31:07 2025 +0800"
      },
      "committer": {
        "name": "Zorro Lang",
        "email": "zlang@kernel.org",
        "time": "Sat Nov 01 22:41:41 2025 +0800"
      },
      "message": "f2fs: add commit id to _fixed_by_kernel_commit for f2fs/02[1-2]\n\nThe bugs related to f2fs/02[1-2] regression testcases have been fixed\nby below commits:\n\n- 930a9a6ee8e7 (\"f2fs: fix to avoid NULL pointer dereference in\nf2fs_check_quota_consistency()\")\n\n- c18ecd99e0c7 (\"f2fs: fix to do sanity check on node footer for non\ninode dnode\")\n\nLet\u0027s add commit id to _fixed_by_kernel_commit in f2fs/02[1-2].\n\nCc: Jaegeuk Kim \u003cjaegeuk@kernel.org\u003e\nSigned-off-by: Chao Yu \u003cchao@kernel.org\u003e\nReviewed-by: Zorro Lang \u003czlang@redhat.com\u003e\nSigned-off-by: Zorro Lang \u003czlang@kernel.org\u003e\n"
    },
    {
      "commit": "9886baabdec372387b5e874fdcaf59390a75f4a9",
      "tree": "a158a9271a6cbc0bfb11cdf1b503ea607fb04ef9",
      "parents": [
        "6e853e735338deccccb529ba2986990bdb58cc3a"
      ],
      "author": {
        "name": "Darrick J. Wong",
        "email": "djwong@kernel.org",
        "time": "Tue Oct 21 11:42:35 2025 -0700"
      },
      "committer": {
        "name": "Zorro Lang",
        "email": "zlang@kernel.org",
        "time": "Sat Nov 01 22:41:41 2025 +0800"
      },
      "message": "check: collect core dumps from systemd-coredump\n\nOn modern RHEL (\u003e\u003d8) and Debian KDE systems, systemd-coredump can be\ninstalled to capture core dumps from crashed programs.  If this is the\ncase, we would like to capture core dumps from programs that crash\nduring the test.  Set up an (admittedly overwrought) pipeline to extract\ndumps created during the test and then capture them the same way that we\npick up \"core\" and \"core.$pid\" files.\n\nSigned-off-by: Darrick J. Wong \u003cdjwong@kernel.org\u003e\nReviewed-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Zorro Lang \u003czlang@kernel.org\u003e\n"
    },
    {
      "commit": "6e853e735338deccccb529ba2986990bdb58cc3a",
      "tree": "d3c390739ec739c95ab1a9de8d041ce9b8958f84",
      "parents": [
        "c055aae8d958b5cd8d324025e818a6a1d141ba79"
      ],
      "author": {
        "name": "Darrick J. Wong",
        "email": "djwong@kernel.org",
        "time": "Tue Oct 21 11:42:20 2025 -0700"
      },
      "committer": {
        "name": "Zorro Lang",
        "email": "zlang@kernel.org",
        "time": "Sat Nov 01 22:41:41 2025 +0800"
      },
      "message": "fsstress: don\u0027t abort when stat(\".\") returns EIO\n\nFirst, start with the premise that fstests is run with a nonzero limit\non the size of core dumps so that we can capture the state of\nmisbehaving fs utilities like fsck and scrub if they crash.\n\nWhen fsstress is compiled with DEBUG defined (which is the default), it\nwill periodically call check_cwd to ensure that the current working\ndirectory hasn\u0027t changed out from underneath it.\n\nIf the filesystem is XFS and it shuts down, the stat64() calls will\nstart returning EIO.  In this case, we follow the out: label and call\nabort() to exit the program.  Historically this did not produce any core\ndumps because $PWD is on the dead filesystem and the write fails.\n\nHowever, modern systems are often configured to capture coredumps using\nsome external mechanism, e.g. abrt/systemd-coredump.   In this case, the\ncapture tool will succeeds in capturing every crashed process, which\nfills the crash dump directory with a lot of useless junk.  Worse, if\nthe capture tool is configured to pass the dumps to fstests, it will\nflag the test as failed because something dumped core.\n\nThis is really silly, because basic stat requests for the current\nworking directory can be satisfied from the inode cache without a disk\naccess.  In this narrow situation, EIO only happens when the fs has shut\ndown, so just exit the program.  Apply the same exit-on-EIO logic to\npost-operation cleanup if we fail to go up one directory.\n\nWe really should have a way to query if a filesystem is shut down that\nisn\u0027t conflated with (possibly transient) EIO errors.  But for now this\nis what we have to do. :(\n\nSigned-off-by: Darrick J. Wong \u003cdjwong@kernel.org\u003e\nReviewed-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Zorro Lang \u003czlang@kernel.org\u003e\n"
    },
    {
      "commit": "c055aae8d958b5cd8d324025e818a6a1d141ba79",
      "tree": "4c66210dbd244da3708fe3137a4e04113d52c8a2",
      "parents": [
        "e7d008d1fed2e2ec458c3ceda8f2ecbdd194939d"
      ],
      "author": {
        "name": "Johannes Thumshirn",
        "email": "johannes.thumshirn@wdc.com",
        "time": "Wed Oct 22 11:27:07 2025 +0200"
      },
      "committer": {
        "name": "Zorro Lang",
        "email": "zlang@kernel.org",
        "time": "Sat Nov 01 22:41:41 2025 +0800"
      },
      "message": "generic: basic smoke for filesystems on zoned block devices\n\nAdd a basic smoke test for filesystems that support running on zoned\nblock devices.\n\nIt creates a zloop device with 2 conventional and 62 sequential zones,\nmounts it and then runs fsx on it.\n\nCurrently this tests supports BTRFS, F2FS and XFS.\n\n[zlang: improved the _cleanup]\n\nReviewed-by: Carlos Maiolino \u003ccmaiolino@redhat.com\u003e\nReviewed-by: Darrick J. Wong \u003cdjwong@kernel.org\u003e\nReviewed-by: Christoph Hellwig \u003chch@lst.de\u003e\nReviewed-by: Anand Jain \u003casj@kernel.org\u003e\nReviewed-by: Naohiro Aota \u003cnaohiro.aota@wdc.com\u003e\nSigned-off-by: Johannes Thumshirn \u003cjohannes.thumshirn@wdc.com\u003e\nSigned-off-by: Zorro Lang \u003czlang@kernel.org\u003e\n"
    },
    {
      "commit": "e7d008d1fed2e2ec458c3ceda8f2ecbdd194939d",
      "tree": "567a6a52d60d2b6c7cc43c4a3a82404d2f16a5ea",
      "parents": [
        "41f4ef18a442f043b32461e955ce2006ef4de2b0"
      ],
      "author": {
        "name": "Johannes Thumshirn",
        "email": "johannes.thumshirn@wdc.com",
        "time": "Wed Oct 22 11:27:06 2025 +0200"
      },
      "committer": {
        "name": "Zorro Lang",
        "email": "zlang@kernel.org",
        "time": "Sat Nov 01 22:41:41 2025 +0800"
      },
      "message": "common/zoned: add helpers for creation and teardown of zloop devices\n\nAdd _create_zloop, _destroy_zloop and _find_next_zloop helper functions\nfor creating destroying and finding the next free zloop device.\n\nReviewed-by: Darrick J. Wong \u003cdjwong@kernel.org\u003e\nSigned-off-by: Johannes Thumshirn \u003cjohannes.thumshirn@wdc.com\u003e\nReviewed-by: Anand Jain \u003casj@kernel.org\u003e\nSigned-off-by: Zorro Lang \u003czlang@kernel.org\u003e\n"
    },
    {
      "commit": "41f4ef18a442f043b32461e955ce2006ef4de2b0",
      "tree": "30f4b521b5cd40df5ccab8bbc4409980b8614e55",
      "parents": [
        "1035b332a57fd037d6701a47d65436aa0087f1e8"
      ],
      "author": {
        "name": "Johannes Thumshirn",
        "email": "johannes.thumshirn@wdc.com",
        "time": "Wed Oct 22 11:27:05 2025 +0200"
      },
      "committer": {
        "name": "Zorro Lang",
        "email": "zlang@kernel.org",
        "time": "Sat Nov 01 22:41:41 2025 +0800"
      },
      "message": "common/zoned: add _require_zloop\n\nAdd _require_zloop() function used by tests that require support for the\nzoned loopback block device.\n\nReviewed-by: Carlos Maiolino \u003ccmaiolino@redhat.com\u003e\nReviewed-by: Christoph Hellwig \u003chch@lst.de\u003e\nReviewed-by: Darrick J. Wong \u003cdjwong@kernel.org\u003e\nSigned-off-by: Johannes Thumshirn \u003cjohannes.thumshirn@wdc.com\u003e\nReviewed-by: Anand Jain \u003casj@kernel.org\u003e\nReviewed-by: Naohiro Aota \u003cnaohiro.aota@wdc.com\u003e\nSigned-off-by: Zorro Lang \u003czlang@kernel.org\u003e\n"
    },
    {
      "commit": "1035b332a57fd037d6701a47d65436aa0087f1e8",
      "tree": "79d905eb93da5684839ad3cc8369620552d0104b",
      "parents": [
        "3db9a5c447378b0ba5c689bdce4c4c63fa628d77"
      ],
      "author": {
        "name": "Ojaswin Mujoo",
        "email": "ojaswin@linux.ibm.com",
        "time": "Tue Oct 28 12:47:43 2025 +0530"
      },
      "committer": {
        "name": "Zorro Lang",
        "email": "zlang@kernel.org",
        "time": "Sat Nov 01 22:41:41 2025 +0800"
      },
      "message": "ext4/048: Fix hangup due to no free inodes\n\nWe currently mkfs a 128MB filesystem, which gives use ~2048 free inodes\non 64k blocksize. The test then keeps adding new files to a directory to\ntrigger an htree split. For 64k this takes more than the total free\ninodes, which causes touch to return -ENOSPC. This leads to the while\nloop in induce_node_split() to never finish.\n\nTo fix this:\n1. Format a 1G FS which gives us atleast 16K inodes to work with.\n2. _fail if there\u0027s any error while trying to induce node split, so we\n   dont get stuck in loop\n\nFixes: 466ddbfd1151 (\"ext4: add test for ext4_dir_entry2 wipe\")\nSigned-off-by: Ojaswin Mujoo \u003cojaswin@linux.ibm.com\u003e\nReviewed-by: Baokun Li \u003clibaokun1@huawei.com\u003e\nSigned-off-by: Zorro Lang \u003czlang@kernel.org\u003e\n"
    },
    {
      "commit": "3db9a5c447378b0ba5c689bdce4c4c63fa628d77",
      "tree": "ed228b2f0db7da1c2946b2d4b604d16a4175b0b8",
      "parents": [
        "6930df3fd6e87cf5071c6373b34edb5d3e976eeb"
      ],
      "author": {
        "name": "Filipe Manana",
        "email": "fdmanana@suse.com",
        "time": "Wed Oct 29 15:46:30 2025 +0000"
      },
      "committer": {
        "name": "Zorro Lang",
        "email": "zlang@kernel.org",
        "time": "Sat Nov 01 22:41:41 2025 +0800"
      },
      "message": "generic: test a scenario of dir fsync after adding a link to a subdir\n\nTest that if we add a new directory to the root directory, change a file\nin the root directory, fsync the file, add a hard link for the file inside\nthe new directory and then fsync the root directory, after a power failure\nthe root directory has the entry for the new directory.\n\nThis is a regression test for the following btrfs patch:\n\n \"btrfs: do not update last_log_commit when logging inode due to a new name\"\n\nSigned-off-by: Filipe Manana \u003cfdmanana@suse.com\u003e\nReviewed-by: Zorro Lang \u003czlang@redhat.com\u003e\nSigned-off-by: Zorro Lang \u003czlang@kernel.org\u003e\n"
    },
    {
      "commit": "6930df3fd6e87cf5071c6373b34edb5d3e976eeb",
      "tree": "9f8cf39cd5b53fba5366cb51888574a620707a0c",
      "parents": [
        "e4bcfeb065b0a72ab863679801fc353aea8fa499"
      ],
      "author": {
        "name": "Filipe Manana",
        "email": "fdmanana@suse.com",
        "time": "Fri Oct 24 12:53:12 2025 +0100"
      },
      "committer": {
        "name": "Zorro Lang",
        "email": "zlang@kernel.org",
        "time": "Sat Nov 01 17:27:39 2025 +0800"
      },
      "message": "generic: test fsync of directory after renaming new symlink\n\nTest that if we fsync a directory that has a new symlink, then rename the\nsymlink and fsync again the directory, after a power failure the symlink\nexists with the new name and not the old one.\n\nThis is to exercise a bug in btrfs where we ended up not persisting the\nnew name of the symlink. That is fixed by a kernel patch that has the\nfollowing subject:\n\n \"btrfs: set inode flag BTRFS_INODE_COPY_EVERYTHING when logging new name\"\n\nSigned-off-by: Filipe Manana \u003cfdmanana@suse.com\u003e\nReviewed-by: Qu Wenruo \u003cwqu@suse.com\u003e\nReviewed-by: Boris Burkov \u003cboris@bur.io\u003e\nReviewed-by: Zorro Lang \u003czlang@redhat.com\u003e\nSigned-off-by: Zorro Lang \u003czlang@kernel.org\u003e\n"
    },
    {
      "commit": "e4bcfeb065b0a72ab863679801fc353aea8fa499",
      "tree": "b0d01aca640e12666662841eb3b02a85227c803a",
      "parents": [
        "43761bafd7b5f4939606c79e9ff0b89514f9829b"
      ],
      "author": {
        "name": "Andrey Albershteyn",
        "email": "aalbersh@redhat.com",
        "time": "Thu Oct 30 16:30:25 2025 +0100"
      },
      "committer": {
        "name": "Zorro Lang",
        "email": "zlang@kernel.org",
        "time": "Sat Nov 01 17:22:47 2025 +0800"
      },
      "message": "generic/772: split this test into two tests for regular and special files\n\nNot all filesystem support setting file attributes on special files. The\nsyscalls would still work for regular files. Let\u0027s split this test into\ntwo to make it obvious if only special files support is missing.\n\nSigned-off-by: Andrey Albershteyn \u003caalbersh@kernel.org\u003e\nReviewed-by: Darrick J. Wong \u003cdjwong@kernel.org\u003e\nSigned-off-by: Zorro Lang \u003czlang@kernel.org\u003e\n"
    },
    {
      "commit": "43761bafd7b5f4939606c79e9ff0b89514f9829b",
      "tree": "6d661bfae58660f82ae07a68148b0e9e48ba3438",
      "parents": [
        "8d3cb85a8b9d4b215dd718e967f1d6cf98f9d301"
      ],
      "author": {
        "name": "Andrey Albershteyn",
        "email": "aalbersh@redhat.com",
        "time": "Thu Oct 30 16:30:20 2025 +0100"
      },
      "committer": {
        "name": "Zorro Lang",
        "email": "zlang@kernel.org",
        "time": "Sat Nov 01 17:21:39 2025 +0800"
      },
      "message": "generic/772: require filesystem to support file_[g|s]etattr\n\nAdd _require_* function to check that filesystem support these syscalls\non regular and special files.\n\nSigned-off-by: Andrey Albershteyn \u003caalbersh@kernel.org\u003e\nReviewed-by: Darrick J. Wong \u003cdjwong@kernel.org\u003e\nReviewed-by: Zorro Lang \u003czlang@redhat.com\u003e\nSigned-off-by: Zorro Lang \u003czlang@kernel.org\u003e\n"
    },
    {
      "commit": "8d3cb85a8b9d4b215dd718e967f1d6cf98f9d301",
      "tree": "ac8515eb49ccf8123d62f519c1f73d848e12f954",
      "parents": [
        "55cf5e5ba4f62b0c82d8be0f9cf97dca033b8de8"
      ],
      "author": {
        "name": "Joanne Chang",
        "email": "joannechien@google.com",
        "time": "Thu Oct 30 05:45:40 2025 +0000"
      },
      "committer": {
        "name": "Zorro Lang",
        "email": "zlang@kernel.org",
        "time": "Sat Nov 01 17:21:39 2025 +0800"
      },
      "message": "f2fs/011: use random data to avoid file compression\n\nCurrently, the created files are filled with 0. When filesystem level\ncompression is used, they take up much less space than expected. So\nthe final fallocate does not show an error.\n\nThe created files are filled by /dev/urandom instead to ensure they\nare not compressed. This way the files take up the same space whether\ncompression is used or not.\n\nSigned-off-by: Joanne Chang \u003cjoannechien@google.com\u003e\nReviewed-by: Chao Yu \u003cchao@kernel.org\u003e\nSigned-off-by: Zorro Lang \u003czlang@kernel.org\u003e\n"
    },
    {
      "commit": "55cf5e5ba4f62b0c82d8be0f9cf97dca033b8de8",
      "tree": "68f3c9c27e587242c3794cb1f9077be51306be65",
      "parents": [
        "4d5b1462c0d4caeb6b5657e8688626999e1b4465"
      ],
      "author": {
        "name": "Yong Sun",
        "email": "yosun@suse.com",
        "time": "Fri Oct 31 17:27:29 2025 +0800"
      },
      "committer": {
        "name": "Zorro Lang",
        "email": "zlang@kernel.org",
        "time": "Sat Nov 01 17:02:05 2025 +0800"
      },
      "message": "generic/270: replace pidwait to wait\n\nSome system without command pidwait run generic/270 will fail with\n\"pidwait: command not found\". Replace pidwait to wait could solve it.\n\nSigned-off-by: Yong Sun \u003cyosun@suse.com\u003e\nReviewed-by: Darrick J. Wong \u003cdjwong@kernel.org\u003e\nSigned-off-by: Zorro Lang \u003czlang@kernel.org\u003e\n"
    },
    {
      "commit": "4d5b1462c0d4caeb6b5657e8688626999e1b4465",
      "tree": "425f4039a6b17c52a0c602517edb2d6975324076",
      "parents": [
        "be294eb15eeef26c69cd5118689d035fad065cd9"
      ],
      "author": {
        "name": "Darrick J. Wong",
        "email": "djwong@kernel.org",
        "time": "Tue Oct 21 11:42:04 2025 -0700"
      },
      "committer": {
        "name": "Zorro Lang",
        "email": "zlang@kernel.org",
        "time": "Sat Nov 01 16:49:31 2025 +0800"
      },
      "message": "fsx: don\u0027t print messages when atomic writes are explicitly disabled\n\nThe user knows they disabled atomic writes, no need to clutter up the\noutput with a message that also causes golden output failures if they\nstart fstests with FSX_AVOID\u003d\u0027-a\u0027.\n\nCc: fstests@vger.kernel.org # v2025.10.20\nFixes: e2bc78e9d340a6 (\"ltp/fsx.c: Add atomic writes support to fsx\")\nSigned-off-by: Darrick J. Wong \u003cdjwong@kernel.org\u003e\nReviewed-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Zorro Lang \u003czlang@kernel.org\u003e\n"
    },
    {
      "commit": "be294eb15eeef26c69cd5118689d035fad065cd9",
      "tree": "54729f48875615ddc1ba863e73962870593a551a",
      "parents": [
        "ae2728de5cb97b1441130214dd0c8d08d88eab0a"
      ],
      "author": {
        "name": "Darrick J. Wong",
        "email": "djwong@kernel.org",
        "time": "Tue Oct 21 11:41:48 2025 -0700"
      },
      "committer": {
        "name": "Zorro Lang",
        "email": "zlang@kernel.org",
        "time": "Sat Nov 01 16:49:31 2025 +0800"
      },
      "message": "check: line up stdout columns\n\nThe output columns don\u0027t really line up:\n\ngeneric/768       [not run] xfs_io pwrite doesn\u0027t support -A\next4/049        6s\ngeneric/325       [not run] fuse4fs does not support metadata journaling on fuse.ext4\n\nMake them line up properly.\n\nSigned-off-by: Darrick J. Wong \u003cdjwong@kernel.org\u003e\nReviewed-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Zorro Lang \u003czlang@kernel.org\u003e\n"
    },
    {
      "commit": "ae2728de5cb97b1441130214dd0c8d08d88eab0a",
      "tree": "176421c3109d13fa494ee4fe9f8963adfb1c068b",
      "parents": [
        "9cff03b40a9fd1f6e74fec4917e4bccf21d78af9"
      ],
      "author": {
        "name": "Darrick J. Wong",
        "email": "djwong@kernel.org",
        "time": "Tue Oct 21 11:41:17 2025 -0700"
      },
      "committer": {
        "name": "Zorro Lang",
        "email": "zlang@kernel.org",
        "time": "Sat Nov 01 16:49:08 2025 +0800"
      },
      "message": "common: fix _require_xfs_io_command pwrite -A for various blocksizes\n\nIn this predicate, we should test an atomic write of the minimum\nsupported size, not just 4k.  This fixes a problem where none of the\natomic write tests actually run on a 32k-fsblock xfs because you can\u0027t\ndo a sub-fsblock atomic write.\n\nCc: fstests@vger.kernel.org # v2025.04.13\nFixes: d90ee3b6496346 (\"generic: add a test for atomic writes\")\nSigned-off-by: Darrick J. Wong \u003cdjwong@kernel.org\u003e\nReviewed-by: Christoph Hellwig \u003chch@lst.de\u003e\nReviewed-by: John Garry \u003cjohn.g.garry@oracle.com\u003e\nReviewed-by: Nirjhar Roy (IBM) \u003cnirjhar.roy.lists@gmail.com\u003e\nSigned-off-by: Zorro Lang \u003czlang@kernel.org\u003e\n"
    },
    {
      "commit": "9cff03b40a9fd1f6e74fec4917e4bccf21d78af9",
      "tree": "ead20d4987d57d34b442e30d17ce98d13d6b2d6b",
      "parents": [
        "10b3cbd86d0d54a9be46aa1efdd40f7d5a01a88c"
      ],
      "author": {
        "name": "Darrick J. Wong",
        "email": "djwong@kernel.org",
        "time": "Tue Oct 21 11:41:01 2025 -0700"
      },
      "committer": {
        "name": "Zorro Lang",
        "email": "zlang@kernel.org",
        "time": "Sat Nov 01 16:49:08 2025 +0800"
      },
      "message": "common/attr: fix _require_noattr2\n\nattr2/noattr2 doesn\u0027t do anything anymore and aren\u0027t reported in\n/proc/mounts, so we need to check /proc/mounts and _notrun as a result.\n\nSigned-off-by: Darrick J. Wong \u003cdjwong@kernel.org\u003e\nReviewed-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Zorro Lang \u003czlang@kernel.org\u003e\n"
    },
    {
      "commit": "10b3cbd86d0d54a9be46aa1efdd40f7d5a01a88c",
      "tree": "88294ba6ed310d202627daac62ae05190f83d801",
      "parents": [
        "706b5f0f78a45e9ddd6a821b28a5c3b679f5630f"
      ],
      "author": {
        "name": "Darrick J. Wong",
        "email": "djwong@kernel.org",
        "time": "Tue Oct 21 11:40:46 2025 -0700"
      },
      "committer": {
        "name": "Zorro Lang",
        "email": "zlang@kernel.org",
        "time": "Sat Nov 01 16:49:08 2025 +0800"
      },
      "message": "common/filter: fix _filter_file_attributes to handle src/file_attr.c file flags\n\nCurrently, _filter_file_attributes filters ext4 lsattr flags, but it\u0027s\nonly callers (all introduced in 4eb4017) are using it to filter the file\nattribute letters from src/file_attr.c.  These correspond to the flags\ndefined by the new file_getattr system call, so let\u0027s rename the helper\nto make it clear we\u0027re filtering *VFS* attribute characters, and change\nthe code to filter all known characters from that interface.\n\nWhile we\u0027re at it, make filtering of multiple characters work\nconsistently whether we\u0027re masking specific flags or everything *except*\nthose flags.\n\nCc: fstests@vger.kernel.org # v2025.10.05\nFixes: 4eb40174d77c1b (\"generic: introduce test to test file_getattr/file_setattr syscalls\")\nSigned-off-by: Darrick J. Wong \u003cdjwong@kernel.org\u003e\nReviewed-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Zorro Lang \u003czlang@kernel.org\u003e\n"
    },
    {
      "commit": "706b5f0f78a45e9ddd6a821b28a5c3b679f5630f",
      "tree": "f13195d6564b690330d49b2406fb31a9e3ee39a2",
      "parents": [
        "ae421bd93cf463f132214dbea8e15581f6416f90"
      ],
      "author": {
        "name": "Darrick J. Wong",
        "email": "djwong@kernel.org",
        "time": "Tue Oct 21 11:40:30 2025 -0700"
      },
      "committer": {
        "name": "Zorro Lang",
        "email": "zlang@kernel.org",
        "time": "Sat Nov 01 16:49:08 2025 +0800"
      },
      "message": "generic/772: actually check for file_getattr special file support\n\nOn XFS in 6.17, this test fails with:\n\n --- /run/fstests/bin/tests/generic/772.out\t2025-10-06 08:27:10.834318149 -0700\n +++ /var/tmp/fstests/generic/772.out.bad\t2025-10-08 18:00:34.713388178 -0700\n @@ -9,29 +9,34 @@ Can not get fsxattr on ./foo: Invalid ar\n  Can not set fsxattr on ./foo: Invalid argument\n  Initial attributes state\n  ----------------- SCRATCH_MNT/prj\n ------------------ ./fifo\n ------------------ ./chardev\n ------------------ ./blockdev\n ------------------ ./socket\n ------------------ ./foo\n ------------------ ./symlink\n +Can not get fsxattr on ./fifo: Inappropriate ioctl for device\n +Can not get fsxattr on ./chardev: Inappropriate ioctl for device\n +Can not get fsxattr on ./blockdev: Inappropriate ioctl for device\n +Can not get fsxattr on ./socket: Inappropriate ioctl for device\n\nThis is a result of XFS\u0027 file_getattr implementation rejecting special\nfiles prior to 6.18.  Therefore, skip this new test on old kernels.\n\nSigned-off-by: Darrick J. Wong \u003cdjwong@kernel.org\u003e\nReviewed-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Zorro Lang \u003czlang@kernel.org\u003e\n"
    },
    {
      "commit": "ae421bd93cf463f132214dbea8e15581f6416f90",
      "tree": "729beaf70fd62a39d146f2f606be2b7b8ba0e795",
      "parents": [
        "e9f38cc0a97ad45022b12443111fd61a5c9c04eb"
      ],
      "author": {
        "name": "Darrick J. Wong",
        "email": "djwong@kernel.org",
        "time": "Tue Oct 21 11:40:14 2025 -0700"
      },
      "committer": {
        "name": "Zorro Lang",
        "email": "zlang@kernel.org",
        "time": "Sat Nov 01 16:49:08 2025 +0800"
      },
      "message": "generic/{482,757}: skip test if there are no FUA writes\n\nBoth of these tests fail if the filesystem doesn\u0027t issue a FUA write to\na device, but ... there\u0027s no requirement that filesystems actually use\nFUA at all.  For example, a fuse filesystem that writes to the block\ndevice\u0027s page cache and issues fsync() will not cause the block layer to\nissue FUA writes for the dirty pages.  Change that to _notrun.\n\nSigned-off-by: Darrick J. Wong \u003cdjwong@kernel.org\u003e\nReviewed-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Zorro Lang \u003czlang@kernel.org\u003e\n"
    },
    {
      "commit": "e9f38cc0a97ad45022b12443111fd61a5c9c04eb",
      "tree": "27e2de8a30b7125a88e2e8351b6ed1f510c421d9",
      "parents": [
        "39809c7a56b2cea1c0badc420eb058c4b2797b67"
      ],
      "author": {
        "name": "Darrick J. Wong",
        "email": "djwong@kernel.org",
        "time": "Tue Oct 21 11:39:58 2025 -0700"
      },
      "committer": {
        "name": "Zorro Lang",
        "email": "zlang@kernel.org",
        "time": "Sat Nov 01 16:49:08 2025 +0800"
      },
      "message": "generic/742: avoid infinite loop if no fiemap results\n\nThe fiemap-fault program employed this program looks for deadlocks\nbetween FIEMAP and file page faults by calling the FIEMAP ioctl with a\nbuffer pointer that is mmaped file range.  Unfortunately, the FIEMAP\nloop can enter an infinite loop if FIEMAP reports zero extents because\nit never changes the last variable.\n\nThis shouldn\u0027t happen if the filesystem is working correctly, but it\nturns out that there\u0027s a bug in libext2fs\u0027 punch-range code that causes\npunch-alternating to unmap all the double-indirect blocks in the file.\nThis causes the while loop to run forever because last never increases,\nwhich then means that testing fuse2fs with ext2/ext3 grinds to a halt\nbecause fstests doesn\u0027t enforce a per-testcase time limit.\n\nAvoid this situation by bailing out if the loop doesn\u0027t make forward\nprogress.\n\nCc: fstests@vger.kernel.org # v2024.03.31\nFixes: 34cdaf0831ee42 (\"generic: add a regression test for fiemap into an mmap range\")\nSigned-off-by: Darrick J. Wong \u003cdjwong@kernel.org\u003e\nReviewed-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Zorro Lang \u003czlang@kernel.org\u003e\n"
    },
    {
      "commit": "39809c7a56b2cea1c0badc420eb058c4b2797b67",
      "tree": "c343fd5720747a3c733feb7e10cf50395d2e5540",
      "parents": [
        "462c5419fcddbc0364fda9bfc544bfe0024b8ea8"
      ],
      "author": {
        "name": "Darrick J. Wong",
        "email": "djwong@kernel.org",
        "time": "Tue Oct 21 11:39:43 2025 -0700"
      },
      "committer": {
        "name": "Zorro Lang",
        "email": "zlang@kernel.org",
        "time": "Sat Nov 01 16:49:08 2025 +0800"
      },
      "message": "common/rc: fix _require_xfs_io_shutdown\n\nCapturing the output of _scratch_shutdown_handle requires one to enclose\nthe callsite with $(), otherwise you\u0027re comparing the literal string\n\"_scratch_shutdown_handle\" to $SCRATCH_MNT, which always fails.\n\nAlso fix _require_xfs_io_command to handle testing the shutdown command\ncorrectly.\n\nCc: fstests@vger.kernel.org # v2025.06.22\nFixes: 4b1cf3df009b22 (\"fstests: add helper _require_xfs_io_shutdown\")\nSigned-off-by: Darrick J. Wong \u003cdjwong@kernel.org\u003e\nReviewed-by: Christoph Hellwig \u003chch@lst.de\u003e\nReviewed-by: Nirjhar Roy (IBM) \u003cnirjhar.roy.lists@gmail.com\u003e\nSigned-off-by: Zorro Lang \u003czlang@kernel.org\u003e\n"
    },
    {
      "commit": "462c5419fcddbc0364fda9bfc544bfe0024b8ea8",
      "tree": "54c6b89419104d1031db890883de1b6bd1d30247",
      "parents": [
        "606ec307b3612d00de3a9df7008b86412ee2ad10"
      ],
      "author": {
        "name": "Darrick J. Wong",
        "email": "djwong@kernel.org",
        "time": "Tue Oct 21 11:39:27 2025 -0700"
      },
      "committer": {
        "name": "Zorro Lang",
        "email": "zlang@kernel.org",
        "time": "Sat Nov 01 16:49:08 2025 +0800"
      },
      "message": "generic/427: try to ensure there\u0027s some free space before we do the aio test\n\nOn a filesystem configured like this:\nMKFS_OPTIONS\u003d\"-m metadir\u003d1,autofsck\u003d1,uquota,gquota,pquota -d rtinherit\u003d1 -r zoned\u003d1\"\n\nThis test fails like this:\n\n --- a/tests/generic/427.out      2025-04-30 16:20:44.584246582 -0700\n +++ b/tests/generic/427.out.bad        2025-07-14 10:47:07.605377287 -0700\n @@ -1,2 +1,2 @@\n  QA output created by 427\n -Success, all done.\n +pwrite: No space left on device\n\nThe pwrite failure comes from the aio-dio-eof-race.c program because the\nfilesystem ran out of space.  There are no speculative posteof\npreallocations on a zoned filesystem, so let\u0027s skip this test on those\nsetups.\n\nSigned-off-by: Darrick J. Wong \u003cdjwong@kernel.org\u003e\nReviewed-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Zorro Lang \u003czlang@kernel.org\u003e\n"
    },
    {
      "commit": "606ec307b3612d00de3a9df7008b86412ee2ad10",
      "tree": "b64a42473b0c9d5dc2c5208ea1014c38751bf672",
      "parents": [
        "c4980080ba76d24d7ff732e04359eb622ccfb983"
      ],
      "author": {
        "name": "Zorro Lang",
        "email": "zlang@kernel.org",
        "time": "Sat Sep 06 21:17:22 2025 +0800"
      },
      "committer": {
        "name": "Zorro Lang",
        "email": "zlang@kernel.org",
        "time": "Mon Oct 20 22:55:03 2025 +0800"
      },
      "message": "common/atomicwrites: fix _require_scratch_write_atomic when awu_max_fs is empty\n\nIf a kernel doesn\u0027t support atomic write, _get_atomic_write_unit_min\nand _get_atomic_write_unit_max will get nothing.\n\n  local awu_min_bdev\u003d$(_get_atomic_write_unit_min $SCRATCH_DEV)\n  local awu_max_bdev\u003d$(_get_atomic_write_unit_max $SCRATCH_DEV)\n\nIf $awu_min_bdev and $awu_max_bdev are empty, then the logic likes\n\"[ $awu_min_bdev -eq 0 ] \u0026\u0026 [ $awu_max_bdev -eq 0 ]\" is meaningless,\nand it causes g/767 hang on system which doesn\u0027t support atomic\nwrite.\n\nReviewed-by: Pavel Reichl \u003cpreichl@redhat.com\u003e\nSigned-off-by: Zorro Lang \u003czlang@kernel.org\u003e\n"
    },
    {
      "commit": "c4980080ba76d24d7ff732e04359eb622ccfb983",
      "tree": "90a2b4162321c01e97579baf8471ee19de8f6616",
      "parents": [
        "4bbc4694a052ff6ccfbb26cfec1259999b060270"
      ],
      "author": {
        "name": "Ojaswin Mujoo",
        "email": "ojaswin@linux.ibm.com",
        "time": "Fri Sep 19 12:18:05 2025 +0530"
      },
      "committer": {
        "name": "Zorro Lang",
        "email": "zlang@kernel.org",
        "time": "Sat Oct 18 23:08:14 2025 +0800"
      },
      "message": "ext4: Atomic write test for extent split across leaf nodes\n\nIn ext4, even if an allocated range is physically and logically\ncontiguous, it can still be split into 2 extents. This is because ext4\ndoes not merge extents across leaf nodes. This is an issue for atomic\nwrites since even for a continuous extent the map block could (in rare\ncases) return a shorter map, hence tearning the write. This test creates\nsuch a file and ensures that the atomic write handles this case\ncorrectly\n\nReviewed-by: Darrick J. Wong \u003cdjwong@kernel.org\u003e\nSigned-off-by: Ojaswin Mujoo \u003cojaswin@linux.ibm.com\u003e\nSigned-off-by: Zorro Lang \u003czlang@kernel.org\u003e\n"
    },
    {
      "commit": "4bbc4694a052ff6ccfbb26cfec1259999b060270",
      "tree": "166e8b549a22fd84a51677859992a08ca6472c3a",
      "parents": [
        "3a530a3f9e8b726a5f8fda619f2c0f1222ce3d02"
      ],
      "author": {
        "name": "Ritesh Harjani (IBM)",
        "email": "ritesh.list@gmail.com",
        "time": "Fri Sep 19 12:18:04 2025 +0530"
      },
      "committer": {
        "name": "Zorro Lang",
        "email": "zlang@kernel.org",
        "time": "Sat Oct 18 23:08:00 2025 +0800"
      },
      "message": "ext4: Test atomic writes allocation and write codepaths with bigalloc\n\nThis test does a parallel RWF_ATOMIC IO on a multiple truncated files in\na small FS. The idea is to stress ext4 allocator to ensure we are able\nto handle low space scenarios correctly with atomic writes. We brute\nforce this for different blocksize and clustersizes and after each\niteration we ensure the data was not torn or corrupted using fio crc\nverification.\n\nNote that in this test we use overlapping atomic writes of same io size.\nAlthough serializing racing writes is not guaranteed for RWF_ATOMIC,\nNVMe and SCSI provide this guarantee as an inseparable feature to\npower-fail atomicity. Keeping the iosize as same also ensures that ext4\ndoesn\u0027t tear the write due to racing ioend unwritten conversion.\n\nThe value of this test is that we make sure the RWF_ATOMIC is handled\ncorrectly by ext4 as well as test that the block layer doesn\u0027t split or\nonly generate multiple bios for an atomic write.\n\nSigned-off-by: Ritesh Harjani (IBM) \u003critesh.list@gmail.com\u003e\nReviewed-by: Darrick J. Wong \u003cdjwong@kernel.org\u003e\nReviewed-by: John Garry \u003cjohn.g.garry@oracle.com\u003e\nSigned-off-by: Ojaswin Mujoo \u003cojaswin@linux.ibm.com\u003e\nSigned-off-by: Zorro Lang \u003czlang@kernel.org\u003e\n"
    },
    {
      "commit": "3a530a3f9e8b726a5f8fda619f2c0f1222ce3d02",
      "tree": "884f3f761d2af5905664765f6cbe2152674e862b",
      "parents": [
        "ca954527ff9d9769c82c99123f3717581044faf7"
      ],
      "author": {
        "name": "Ritesh Harjani (IBM)",
        "email": "ritesh.list@gmail.com",
        "time": "Fri Sep 19 12:18:03 2025 +0530"
      },
      "committer": {
        "name": "Zorro Lang",
        "email": "zlang@kernel.org",
        "time": "Sat Oct 18 23:07:00 2025 +0800"
      },
      "message": "ext4: Test atomic write and ioend codepaths with bigalloc\n\nThis test does a lot of parallel RWF_ATOMIC IO on a preallocated file to\nstress the write and end-io unwritten conversion code paths. We brute\nforce this for different blocksize and clustersizes and after each\niteration we ensure the data was not torn or corrupted using fio crc\nverification.\n\nNote that in this test we use overlapping atomic writes of same io size.\nAlthough serializing racing writes is not guaranteed for RWF_ATOMIC,\nNVMe and SCSI provide this guarantee as an inseparable feature to\npower-fail atomicity. Keeping the iosize as same also ensures that ext4\ndoesn\u0027t tear the write due to racing ioend unwritten conversion.\n\nThe value of this test is that we make sure the RWF_ATOMIC is handled\ncorrectly by ext4 as well as test that the block layer doesn\u0027t split or\nonly generate multiple bios for an atomic write.\n\nSigned-off-by: Ritesh Harjani (IBM) \u003critesh.list@gmail.com\u003e\nReviewed-by: Darrick J. Wong \u003cdjwong@kernel.org\u003e\nReviewed-by: John Garry \u003cjohn.g.garry@oracle.com\u003e\nSigned-off-by: Ojaswin Mujoo \u003cojaswin@linux.ibm.com\u003e\nSigned-off-by: Zorro Lang \u003czlang@kernel.org\u003e\n"
    },
    {
      "commit": "ca954527ff9d9769c82c99123f3717581044faf7",
      "tree": "8d774b494646c6f094206783fb15c752dc021b1b",
      "parents": [
        "df9d27baa9e95caa82f9ce6dae6922220ead72b9"
      ],
      "author": {
        "name": "Ojaswin Mujoo",
        "email": "ojaswin@linux.ibm.com",
        "time": "Fri Sep 19 12:18:02 2025 +0530"
      },
      "committer": {
        "name": "Zorro Lang",
        "email": "zlang@kernel.org",
        "time": "Sat Oct 18 23:06:44 2025 +0800"
      },
      "message": "generic: Add sudden shutdown tests for multi block atomic writes\n\nThis test is intended to ensure that multi blocks atomic writes\nmaintain atomic guarantees across sudden FS shutdowns.\n\nThe way we work is that we lay out a file with random mix of written,\nunwritten and hole extents. Then we start performing atomic writes\nsequentially on the file while we parallelly shutdown the FS. Then we\nnote the last offset where the atomic write happened just before shut\ndown and then make sure blocks around it either have completely old\ndata or completely new data, ie the write was not torn during shutdown.\n\nWe repeat the same with completely written, completely unwritten and completely\nempty file to ensure these cases are not torn either.  Finally, we have a\nsimilar test for append atomic writes\n\nSuggested-by: Ritesh Harjani (IBM) \u003critesh.list@gmail.com\u003e\nReviewed-by: Darrick J. Wong \u003cdjwong@kernel.org\u003e\nReviewed-by: John Garry \u003cjohn.g.garry@oracle.com\u003e\nSigned-off-by: Ojaswin Mujoo \u003cojaswin@linux.ibm.com\u003e\nSigned-off-by: Zorro Lang \u003czlang@kernel.org\u003e\n"
    },
    {
      "commit": "df9d27baa9e95caa82f9ce6dae6922220ead72b9",
      "tree": "04c18b9be18049253a8d3541230c001bbcb0d3e6",
      "parents": [
        "d2d43c22229f265c2c0d5e53d5e467e828696c9a"
      ],
      "author": {
        "name": "Ojaswin Mujoo",
        "email": "ojaswin@linux.ibm.com",
        "time": "Fri Sep 19 12:18:01 2025 +0530"
      },
      "committer": {
        "name": "Zorro Lang",
        "email": "zlang@kernel.org",
        "time": "Sat Oct 18 23:02:26 2025 +0800"
      },
      "message": "generic: Stress fsx with atomic writes enabled\n\nStress file with atomic writes to ensure we exercise codepaths\nwhere we are mixing different FS operations with atomic writes\n\nSuggested-by: Ritesh Harjani (IBM) \u003critesh.list@gmail.com\u003e\nReviewed-by: Darrick J. Wong \u003cdjwong@kernel.org\u003e\nReviewed-by: John Garry \u003cjohn.g.garry@oracle.com\u003e\nSigned-off-by: Ojaswin Mujoo \u003cojaswin@linux.ibm.com\u003e\nSigned-off-by: Zorro Lang \u003czlang@kernel.org\u003e\n"
    },
    {
      "commit": "d2d43c22229f265c2c0d5e53d5e467e828696c9a",
      "tree": "188e6d17d3b76461d43583b50ac5cc333a5e85af",
      "parents": [
        "9117fb93b41c38ebac5574135c1ea1a3b8be10ae"
      ],
      "author": {
        "name": "Ojaswin Mujoo",
        "email": "ojaswin@linux.ibm.com",
        "time": "Fri Sep 19 12:18:00 2025 +0530"
      },
      "committer": {
        "name": "Zorro Lang",
        "email": "zlang@kernel.org",
        "time": "Sat Oct 18 23:01:32 2025 +0800"
      },
      "message": "generic: Add atomic write multi-fsblock O_[D]SYNC tests\n\nThis adds various atomic write multi-fsblock stress tests\nwith mixed mappings and O_SYNC, to ensure the data and metadata\nis atomically persisted even if there is a shutdown.\n\nSuggested-by: Ritesh Harjani (IBM) \u003critesh.list@gmail.com\u003e\nReviewed-by: Darrick J. Wong \u003cdjwong@kernel.org\u003e\nReviewed-by: John Garry \u003cjohn.g.garry@oracle.com\u003e\nSigned-off-by: Ojaswin Mujoo \u003cojaswin@linux.ibm.com\u003e\nSigned-off-by: Zorro Lang \u003czlang@kernel.org\u003e\n"
    }
  ],
  "next": "9117fb93b41c38ebac5574135c1ea1a3b8be10ae"
}
