)]}'
{
  "log": [
    {
      "commit": "3ab67256d83a8323b92992155b99c3365c0964f6",
      "tree": "843846d82a76d47345395a8c080d5a2025a287b1",
      "parents": [
        "55baa84a3695c8c08938ee480abf62987ead391e"
      ],
      "author": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk@kernel.org",
        "time": "Fri Dec 12 00:48:08 2025 +0000"
      },
      "committer": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk@kernel.org",
        "time": "Thu Jan 01 03:23:04 2026 +0000"
      },
      "message": "f2fs_io: add more description in read test\n\nReviewed-by: Chao Yu \u003cchao@kernel.org\u003e\nSigned-off-by: Jaegeuk Kim \u003cjaegeuk@kernel.org\u003e\n"
    },
    {
      "commit": "55baa84a3695c8c08938ee480abf62987ead391e",
      "tree": "a54e6d20c02bb2b6982b295ade994d2234fafd97",
      "parents": [
        "ad1357c34023dab36c5a6071bde49aa75a6af6b3"
      ],
      "author": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk@kernel.org",
        "time": "Fri Dec 12 00:46:12 2025 +0000"
      },
      "committer": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk@kernel.org",
        "time": "Thu Jan 01 03:23:01 2026 +0000"
      },
      "message": "f2fs_io: add mlock() option in the read test\n\nReviewed-by: Chao Yu \u003cchao@kernel.org\u003e\nSigned-off-by: Jaegeuk Kim \u003cjaegeuk@kernel.org\u003e\n"
    },
    {
      "commit": "ad1357c34023dab36c5a6071bde49aa75a6af6b3",
      "tree": "82617da8a8e1b7326d54ff4eb09134bcbf99de2c",
      "parents": [
        "6e42cbe6f49893217b7ce5eb5f7b076683e32996"
      ],
      "author": {
        "name": "Daeho Jeong",
        "email": "daehojeong@google.com",
        "time": "Tue Dec 23 06:46:07 2025 -0800"
      },
      "committer": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk@kernel.org",
        "time": "Thu Jan 01 03:20:10 2026 +0000"
      },
      "message": "f2fs-tools: revert summary entry count from 2048 to 512 in 16kb block support\n\nThe recent increase in the number of Segment Summary Area (SSA) entries\nfrom 512 to 2048 was an unintentional change in logic of 16kb block\nsupport. This commit corrects the issue.\n\nTo better utilize the space available from the erroneous 2048-entry\ncalculation, we are implementing a solution to share the currently\nunused SSA space with neighboring segments. This enhances overall\nSSA utilization without impacting the established 8MB segment size.\n\nFixes: 50fd00b168d7 (\"f2fs-tools: Support different block sizes\")\nSigned-off-by: Daeho Jeong \u003cdaehojeong@google.com\u003e\nReviewed-by: Chao Yu \u003cchao@kernel.org\u003e\nSigned-off-by: Jaegeuk Kim \u003cjaegeuk@kernel.org\u003e\n"
    },
    {
      "commit": "6e42cbe6f49893217b7ce5eb5f7b076683e32996",
      "tree": "25715d4bd2f45fe4654c7b7c2616bc96b5ed1f6b",
      "parents": [
        "3f778d2bb5632199edca89083f42b7cdba06764b"
      ],
      "author": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk@kernel.org",
        "time": "Wed Dec 17 00:40:02 2025 +0000"
      },
      "committer": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk@kernel.org",
        "time": "Wed Dec 17 00:40:02 2025 +0000"
      },
      "message": "Revert \"f2fs-tools: revert summary entry count from 2048 to 512 in 16kb block support\"\n\nThis reverts commit 0081400c568b374b3d701d76fd09ab8de57ee809.\n"
    },
    {
      "commit": "3f778d2bb5632199edca89083f42b7cdba06764b",
      "tree": "e6adc0cd069c25fdeb2fd1d650eedaecc0befa45",
      "parents": [
        "4cd565d20c6304efaa4126c0dde2eb1892e1264c"
      ],
      "author": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk@kernel.org",
        "time": "Fri Dec 12 00:00:40 2025 +0000"
      },
      "committer": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk@kernel.org",
        "time": "Tue Dec 16 00:50:34 2025 +0000"
      },
      "message": "Fix to get the right IO bandwidth\n\nReviewed-by: Chao Yu \u003cchao@kernel.org\u003e\nSigned-off-by: Jaegeuk Kim \u003cjaegeuk@kernel.org\u003e\n"
    },
    {
      "commit": "4cd565d20c6304efaa4126c0dde2eb1892e1264c",
      "tree": "5f116266931b37c5d88e177276bfc0af8ab5e0df",
      "parents": [
        "084839b018467579cc5136f9400a962f70fa0872"
      ],
      "author": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk@kernel.org",
        "time": "Sun Nov 30 18:21:16 2025 +0000"
      },
      "committer": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk@kernel.org",
        "time": "Mon Dec 01 22:12:31 2025 +0000"
      },
      "message": "f2fs_io: rename mlock to fadvise\n\nfadvise is better to describe the read method.\n\nReviewed-by: Chao Yu \u003cchao@kernel.org\u003e\nSigned-off-by: Jaegeuk Kim \u003cjaegeuk@kernel.org\u003e\n"
    },
    {
      "commit": "084839b018467579cc5136f9400a962f70fa0872",
      "tree": "9f91927c5b53ff6aee401abcc0811780e884622b",
      "parents": [
        "e62473728cfefce02a1317baa7fc8c097a042777"
      ],
      "author": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk@kernel.org",
        "time": "Sun Nov 30 18:18:20 2025 +0000"
      },
      "committer": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk@kernel.org",
        "time": "Mon Dec 01 22:12:29 2025 +0000"
      },
      "message": "f2fs_io: add read test with mlock2 and madvise\n\nAdd a method to read out pages into unevictable mapping by mmap(), mlock2(),\nand madvise()\n\nReviewed-by: Chao Yu \u003cchao@kernel.org\u003e\nSigned-off-by: Jaegeuk Kim \u003cjaegeuk@kernel.org\u003e\n"
    },
    {
      "commit": "e62473728cfefce02a1317baa7fc8c097a042777",
      "tree": "4695a5127e6967b636cb39e576a870332e277b33",
      "parents": [
        "b63de467659f4fb33af617ad06b2d25cae255006"
      ],
      "author": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk@kernel.org",
        "time": "Sun Nov 30 18:09:30 2025 +0000"
      },
      "committer": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk@kernel.org",
        "time": "Mon Dec 01 22:12:19 2025 +0000"
      },
      "message": "f2fs_io: measure the start time explicitly\n\nLet\u0027s measure the start time more precisely.\n\nReviewed-by: Chao Yu \u003cchao@kernel.org\u003e\nSigned-off-by: Jaegeuk Kim \u003cjaegeuk@kernel.org\u003e\n"
    },
    {
      "commit": "b63de467659f4fb33af617ad06b2d25cae255006",
      "tree": "226dd1caca1bd0f41555c1918303c94cc8babde5",
      "parents": [
        "3502e08fb15d8bf4c08e8c13ab2a75dda0eaefe5"
      ],
      "author": {
        "name": "Yangyang Zang",
        "email": "zangyangyang66@gmail.com",
        "time": "Tue Nov 25 14:26:38 2025 +0800"
      },
      "committer": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk@kernel.org",
        "time": "Mon Dec 01 20:45:18 2025 +0000"
      },
      "message": "resize.f2fs: add -g to give default options\n\nCommit 42482e81248f (\"resize.f2fs: add caution message for resize\")\nintroduced the `-F\u0027 option to force resizing f2fs without displaying\nthe caution message. And `add_default_options()` implies that `-g\u0027\nenables `-F\u0027 for resize by default. However resize.f2fs does not\ncurrently support the `-g\u0027 option. This patch adds `-g\u0027 for it.\n\nFixes: 42482e81248f (\"resize.f2fs: add caution message for resize\")\nSigned-off-by: Yangyang Zang \u003czangyangyang1@xiaomi.com\u003e\nReviewed-by: Sheng Yong \u003cshengyong1@xiaomi.com\u003e\nReviewed-by: Chao Yu \u003cchao@kernel.org\u003e\nSigned-off-by: Jaegeuk Kim \u003cjaegeuk@kernel.org\u003e\n"
    },
    {
      "commit": "3502e08fb15d8bf4c08e8c13ab2a75dda0eaefe5",
      "tree": "7f6303d53813a0cd586ef4e4349e8a6d31aee28f",
      "parents": [
        "1ee20e218f7e17ef8949c0c30fceee04a81dbefa"
      ],
      "author": {
        "name": "Xiaole He",
        "email": "hexiaole1994@126.com",
        "time": "Fri Nov 21 10:42:20 2025 +0800"
      },
      "committer": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk@kernel.org",
        "time": "Mon Dec 01 17:56:28 2025 +0000"
      },
      "message": "f2fs-tools: fix typo of HAVE_PREAD macro and remove duplicate semicolons\n\n1. Fix typo in HAVE_PREAD macro check (lib/libf2fs_io.c:403):\n   - Change HAVE_RPEAD -\u003e HAVE_PREAD\n   - The misspelled macro caused pread() optimization to never be used,\n     forcing the code to always use the slower lseek() + read() path\n     instead of the atomic pread() call.\n\n2. Remove duplicate semicolons:\n   - mkfs/f2fs_format.c:211: Remove extra semicolon in hot_ext_count assignment\n   - fsck/dump.c:119: Remove extra semicolon in free_segs initialization\n\nThese are minor code quality fixes that don\u0027t change functionality but\nimprove code correctness and enable the pread() optimization.\n\nFixes: 4b7e95300988 (\"f2fs-tools: use pread and pwrite when they are available.\")\nSigned-off-by: Xiaole He \u003chexiaole1994@126.com\u003e\nReviewed-by: Chao Yu \u003cchao@kernel.org\u003e\nSigned-off-by: Jaegeuk Kim \u003cjaegeuk@kernel.org\u003e\n"
    },
    {
      "commit": "1ee20e218f7e17ef8949c0c30fceee04a81dbefa",
      "tree": "c94607d1f9c586fa64f1c920bde7e43e9e16924e",
      "parents": [
        "6ee0064b52fd87f7159464861694a38cec43adb1"
      ],
      "author": {
        "name": "Chao Yu",
        "email": "chao@kernel.org",
        "time": "Mon Nov 10 17:04:09 2025 +0800"
      },
      "committer": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk@kernel.org",
        "time": "Tue Nov 11 22:41:29 2025 +0000"
      },
      "message": "f2fs_io: fix to keep output order of do_read() for forward compatibility\n\nSome scripts relies on output order of do_read(), let\u0027s append the\nnew logs to keep forward compatibility.\n\ne.g.\nf2fs_io read 128 0 $((2*1024)) buffered 1 0 /mnt/f2fs/file\n\nBefore:\nRead 1073741824 bytes IO time \u003d 153715 us mlock time \u003d 0 us, BW \u003d 6985 MB/s print 0 bytes:\n00000000 :\n\nAfter:\nRead 1073741824 bytes total_time \u003d 155166 us, BW \u003d 6920 MB/s, IO time \u003d 155166 us, mlock time \u003d 0 us, print 0 bytes:\n00000000 :\n\nFixes: 615036f (\"f2fs_io: calculate IO bandwidth vs. mlock latency\")\nSigned-off-by: Chao Yu \u003cchao@kernel.org\u003e\nSigned-off-by: Jaegeuk Kim \u003cjaegeuk@kernel.org\u003e\n"
    },
    {
      "commit": "6ee0064b52fd87f7159464861694a38cec43adb1",
      "tree": "c4b3efc02cb38a5f488731304f6cdcdbd170d394",
      "parents": [
        "18ee7fc787aa373ab6d0d05d1f6f2cb3e4a94513"
      ],
      "author": {
        "name": "Chao Yu",
        "email": "chao@kernel.org",
        "time": "Mon Nov 03 10:30:59 2025 +0800"
      },
      "committer": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk@kernel.org",
        "time": "Fri Nov 07 17:51:15 2025 +0000"
      },
      "message": "f2fs-tools: fix to return error value correctly\n\nWe missed to return error value if below functions fail, fix it.\n- do_resize\n- do_sload\n- do_label\n- do_inject\n\nSigned-off-by: Chao Yu \u003cchao@kernel.org\u003e\nSigned-off-by: Jaegeuk Kim \u003cjaegeuk@kernel.org\u003e\n"
    },
    {
      "commit": "18ee7fc787aa373ab6d0d05d1f6f2cb3e4a94513",
      "tree": "ff5b019f016267ee9835540278f28fac44d04619",
      "parents": [
        "d2b0739a93b3257aecff161871e4cebc44954270"
      ],
      "author": {
        "name": "Chao Yu",
        "email": "chao@kernel.org",
        "time": "Mon Nov 03 14:39:31 2025 +0800"
      },
      "committer": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk@kernel.org",
        "time": "Fri Nov 07 17:50:14 2025 +0000"
      },
      "message": "f2fs_io: ranndread: support block device\n\nOtherwise, f2fs_io randread will fail due to i_size of block device\ninode is zero.\n\n- f2fs_io randread 1 1000 buffered 1 /dev/vdc\nfadvise RANDOM|WILLNEED to a file: /dev/vdc\nFile is too small to random read\n\nSigned-off-by: Chao Yu \u003cchao@kernel.org\u003e\nSigned-off-by: Jaegeuk Kim \u003cjaegeuk@kernel.org\u003e\n"
    },
    {
      "commit": "d2b0739a93b3257aecff161871e4cebc44954270",
      "tree": "c3a71605ddc89d73eba9b3cf28b009711dc4fee6",
      "parents": [
        "0081400c568b374b3d701d76fd09ab8de57ee809"
      ],
      "author": {
        "name": "Chao Yu",
        "email": "chao@kernel.org",
        "time": "Mon Nov 03 14:22:56 2025 +0800"
      },
      "committer": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk@kernel.org",
        "time": "Fri Nov 07 17:50:09 2025 +0000"
      },
      "message": "f2fs_io: support freeze/thaw\n\nSupport to freeze and thaw filesystem.\n\nSigned-off-by: Chao Yu \u003cchao@kernel.org\u003e\nSigned-off-by: Jaegeuk Kim \u003cjaegeuk@kernel.org\u003e\n"
    },
    {
      "commit": "0081400c568b374b3d701d76fd09ab8de57ee809",
      "tree": "db1b21807383d778ec9138195eb974d6d46aff54",
      "parents": [
        "cb85a83426b8506128d1ee8b0dcef091f1578154"
      ],
      "author": {
        "name": "Daeho Jeong",
        "email": "daehojeong@google.com",
        "time": "Tue Nov 04 08:22:26 2025 -0800"
      },
      "committer": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk@kernel.org",
        "time": "Fri Nov 07 17:47:47 2025 +0000"
      },
      "message": "f2fs-tools: revert summary entry count from 2048 to 512 in 16kb block support\n\nThe recent increase in the number of Segment Summary Area (SSA) entries\nfrom 512 to 2048 was an unintentional change in logic of 16kb block\nsupport. This commit corrects the issue.\n\nTo better utilize the space available from the erroneous 2048-entry\ncalculation, we are implementing a solution to share the currently\nunused SSA space with neighboring segments. This enhances overall\nSSA utilization without impacting the established 8MB segment size.\n\nFixes: 50fd00b168d7 (\"f2fs-tools: Support different block sizes\")\nSigned-off-by: Daeho Jeong \u003cdaehojeong@google.com\u003e\nReviewed-by: Chao Yu \u003cchao@kernel.org\u003e\nSigned-off-by: Jaegeuk Kim \u003cjaegeuk@kernel.org\u003e\n"
    },
    {
      "commit": "cb85a83426b8506128d1ee8b0dcef091f1578154",
      "tree": "841231c5268a2afef751f28c4a85eeeaad3727e4",
      "parents": [
        "fa02bbaa8909f185dc036247adbee70cf4452a3d"
      ],
      "author": {
        "name": "Daeho Jeong",
        "email": "daehojeong@google.com",
        "time": "Mon Oct 27 11:53:07 2025 -0700"
      },
      "committer": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk@kernel.org",
        "time": "Tue Oct 28 18:06:58 2025 +0000"
      },
      "message": "f2fs-tools: add a missing device_alias in the feature table\n\nAdd a missing \"device_alias\" feature into the feature table to show it\nproperly in print_sb_state().\n\nFixes: 8cc4e257ec20 (\"mkfs.f2fs: add device aliasing feature\")\nSigned-off-by: Daeho Jeong \u003cdaehojeong@google.com\u003e\nReviewed-by: Chao Yu \u003cchao@kernel.org\u003e\nSigned-off-by: Jaegeuk Kim \u003cjaegeuk@kernel.org\u003e\n"
    },
    {
      "commit": "fa02bbaa8909f185dc036247adbee70cf4452a3d",
      "tree": "e63dd8706f7dd2384e3b5aa7ef26d58ede698917",
      "parents": [
        "fb9e7a8b4d3ff6590a58caece1ef204475f55088"
      ],
      "author": {
        "name": "Sheng Yong",
        "email": "shengyong1@xiaomi.com",
        "time": "Mon Aug 25 09:54:55 2025 +0800"
      },
      "committer": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk@kernel.org",
        "time": "Thu Oct 16 17:52:06 2025 +0000"
      },
      "message": "inject.f2fs: add member `filename\u0027 in inject_dentry\n\nThis patch adds a new member `filename\u0027 in inject_dentry to inject\ndentry filename. The dentry is specified by nid option.\n\nNote that \u0027.\u0027 and \u0027..\u0027 dentries are special, because they are not in the\nparent directory of nid. So this patch also adds a new option `--dots\u0027\nto inject these two dentries.\n\nSigned-off-by: Sheng Yong \u003cshengyong1@xiaomi.com\u003e\nReviewed-by: Chao Yu \u003cchao@kernel.org\u003e\nSigned-off-by: Jaegeuk Kim \u003cjaegeuk@kernel.org\u003e\n"
    },
    {
      "commit": "fb9e7a8b4d3ff6590a58caece1ef204475f55088",
      "tree": "b2bd94f9979cdb766363588badaf97fd122aa0e4",
      "parents": [
        "3d6ca28ed108053e8652b5fc66f5eeb783770187"
      ],
      "author": {
        "name": "Sheng Yong",
        "email": "shengyong1@xiaomi.com",
        "time": "Mon Aug 25 09:54:54 2025 +0800"
      },
      "committer": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk@kernel.org",
        "time": "Thu Oct 16 17:52:01 2025 +0000"
      },
      "message": "inject.f2fs: add members in inject_node\n\nThis patch adds new members in inject_node to inject inode:\n * i_ext.fofs: extent fofs\n * i_ext.blk_addr: extent blk_addr\n * i_ext.len: extent len\n * i_inline_xattr_size: inline xattr size\n * i_compr_blocks: compression blocks\n\nSigned-off-by: Sheng Yong \u003cshengyong1@xiaomi.com\u003e\nReviewed-by: Chao Yu \u003cchao@kernel.org\u003e\nSigned-off-by: Jaegeuk Kim \u003cjaegeuk@kernel.org\u003e\n"
    },
    {
      "commit": "3d6ca28ed108053e8652b5fc66f5eeb783770187",
      "tree": "b2281ef4173ba4aa906c01284fb116086ae078c3",
      "parents": [
        "2a2ce0af4f6173d739f650bb05add3c0d7306b47"
      ],
      "author": {
        "name": "Sheng Yong",
        "email": "shengyong1@xiaomi.com",
        "time": "Mon Aug 25 09:54:53 2025 +0800"
      },
      "committer": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk@kernel.org",
        "time": "Thu Oct 16 17:51:55 2025 +0000"
      },
      "message": "inject.f2fs: add member `feature\u0027 in inject_sb\n\nThis patch adds a new member `feature\u0027 in inject_sb to inject features.\n\nSigned-off-by: Sheng Yong \u003cshengyong1@xiaomi.com\u003e\nReviewed-by: Chao Yu \u003cchao@kernel.org\u003e\nSigned-off-by: Jaegeuk Kim \u003cjaegeuk@kernel.org\u003e\n"
    },
    {
      "commit": "2a2ce0af4f6173d739f650bb05add3c0d7306b47",
      "tree": "7eee24683757b9c125a193bff95eacc5e1d56751",
      "parents": [
        "0d520201e868a6620b276bf31c260b9eb0bcdc8c"
      ],
      "author": {
        "name": "Sheng Yong",
        "email": "shengyong1@xiaomi.com",
        "time": "Mon Aug 25 09:54:52 2025 +0800"
      },
      "committer": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk@kernel.org",
        "time": "Thu Oct 16 17:51:43 2025 +0000"
      },
      "message": "inject.f2fs: add members in inject_cp\n\nThe following members are added to inject more fields in cp:\n\n* next_blkaddr: inject fsync dnodes\n\n  An error is returned if no fsync dnode is found.\n  Furthermore, the injection is not supported on a zoned device. This\n  is because fsync dnodes must remains at the end of current warm node\n  segment, any dnode change causes all previous dnodes in the chain to\n  be updated out-of-place, and there may not have enough space left in\n  the curseg. To simplify the injection, it returns an error on the\n  zoned device.\n  An example of dnode chain shows:\n    [inject_cp: 608] [   0] blkaddr:0x1204\n    [inject_cp: 608] [   1] blkaddr:0x1205\n    [inject_cp: 608] [   2] blkaddr:0x1206\n    [inject_cp: 608] [   3] blkaddr:0x1207\n    [inject_cp: 608] [   4] blkaddr:0x1208\n    [inject_cp: 608] [   5] blkaddr:0x1209\n    [inject_cp: 608] [   6] blkaddr:0x120a\n    [inject_cp: 608] [   7] blkaddr:0x120b\n    [inject_cp: 608] [   8] blkaddr:0x120c\n    [inject_cp: 608] [   9] blkaddr:0x120d\n  where `0\u0027 indicates next free blkaddr of warm node curseg, thus\n  start blkaddr + next_blkoff of warm node curseg, which cannot be\n  injected. `1~9` indicate next_blkaddr in node_footer of dnodes in\n  the chain, which can be injected.\n\n* alloc_type: inject curseg\u0027s alloc type\n* crc: inject cp\u0027s checksum\n* elapsed_time: inject cp\u0027s mount elapsed time\n\nSigned-off-by: Sheng Yong \u003cshengyong1@xiaomi.com\u003e\nReviewed-by: Chao Yu \u003cchao@kernel.org\u003e\nSigned-off-by: Jaegeuk Kim \u003cjaegeuk@kernel.org\u003e\n"
    },
    {
      "commit": "0d520201e868a6620b276bf31c260b9eb0bcdc8c",
      "tree": "20ad140b30d043bc00424f2ad6c8dfff6e151fd0",
      "parents": [
        "891e8467bb582f28193e1dde1203812ff6a390a6"
      ],
      "author": {
        "name": "Sheng Yong",
        "email": "shengyong1@xiaomi.com",
        "time": "Mon Aug 25 09:54:51 2025 +0800"
      },
      "committer": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk@kernel.org",
        "time": "Thu Oct 16 17:51:33 2025 +0000"
      },
      "message": "inject.f2fs: fix and cleanup parsing numeric options\n\nThis patch fixes:\n  * parsing hex optarg of --idx option\n  * converting -1 to 0xff...ff of --val option\nand do a little cleanup of converting string to a long integer.\n\nSigned-off-by: Sheng Yong \u003cshengyong1@xiaomi.com\u003e\nReviewed-by: Chao Yu \u003cchao@kernel.org\u003e\nSigned-off-by: Jaegeuk Kim \u003cjaegeuk@kernel.org\u003e\n"
    },
    {
      "commit": "891e8467bb582f28193e1dde1203812ff6a390a6",
      "tree": "8cd34b593214d38dec48898dc999bcc4891a0a9e",
      "parents": [
        "1d38581e983546208aaac9e618affbef382c8b4e"
      ],
      "author": {
        "name": "Sheng Yong",
        "email": "shengyong1@xiaomi.com",
        "time": "Mon Aug 25 09:54:50 2025 +0800"
      },
      "committer": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk@kernel.org",
        "time": "Thu Oct 16 17:51:17 2025 +0000"
      },
      "message": "inject.f2fs: fix injection on zoned device\n\nBecause node and data blocks are updated out of place on zoned device,\nsit_area_bitmap and main_area_bitmap are required to record which\nblocks are allocated, sit should be flushed to reflect changes in\nblock address, and checkpoint should be rewritten to update cursegs.\n\nSigned-off-by: Sheng Yong \u003cshengyong1@xiaomi.com\u003e\nReviewed-by: Chao Yu \u003cchao@kernel.org\u003e\nSigned-off-by: Jaegeuk Kim \u003cjaegeuk@kernel.org\u003e\n"
    },
    {
      "commit": "1d38581e983546208aaac9e618affbef382c8b4e",
      "tree": "0f7da69bd49eeabd5a82f248afa6b9f6b79ff176",
      "parents": [
        "cc220301ba7d2a483cc08e05362d46fd2f032b93"
      ],
      "author": {
        "name": "Sheng Yong",
        "email": "shengyong1@xiaomi.com",
        "time": "Mon Aug 25 09:54:49 2025 +0800"
      },
      "committer": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk@kernel.org",
        "time": "Thu Oct 16 17:51:06 2025 +0000"
      },
      "message": "inject.f2fs: fix injecting sit/nat in journal\n\nPreviously when injecting sit/nat entry, we only inject SIT/NAT pack.\nIf the valid target is in journal, the injection has no effect. So we\nhave to check whether the valid target is in journal, and inject the\ntarget at its valid position.\n\nSigned-off-by: Sheng Yong \u003cshengyong1@xiaomi.com\u003e\nReviewed-by: Chao Yu \u003cchao@kernel.org\u003e\nSigned-off-by: Jaegeuk Kim \u003cjaegeuk@kernel.org\u003e\n"
    },
    {
      "commit": "cc220301ba7d2a483cc08e05362d46fd2f032b93",
      "tree": "be1665609429f8a343aa46cd2f214749ffbeb120",
      "parents": [
        "e11fc13c35c880a4075965a4d9fb64373e4815e6"
      ],
      "author": {
        "name": "Sheng Yong",
        "email": "shengyong1@xiaomi.com",
        "time": "Mon Aug 25 09:54:48 2025 +0800"
      },
      "committer": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk@kernel.org",
        "time": "Thu Oct 16 17:50:53 2025 +0000"
      },
      "message": "f2fs-tools: add and export lookup_sit_in_journal\n\nAdd lookup_sit_in_journal() which is similar to lookup_nat_in_journal()\nto get the raw sit entry from journal if exist.\n\nSigned-off-by: Sheng Yong \u003cshengyong1@xiaomi.com\u003e\nReviewed-by: Chao Yu \u003cchao@kernel.org\u003e\nSigned-off-by: Jaegeuk Kim \u003cjaegeuk@kernel.org\u003e\n"
    },
    {
      "commit": "e11fc13c35c880a4075965a4d9fb64373e4815e6",
      "tree": "7e7cc344dc51ed46819a4ea332808a534a97d3f4",
      "parents": [
        "c37fc6623a2bcc14c7989d3906c53dadc6fe18ee"
      ],
      "author": {
        "name": "Sheng Yong",
        "email": "shengyong1@xiaomi.com",
        "time": "Mon Aug 25 09:54:47 2025 +0800"
      },
      "committer": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk@kernel.org",
        "time": "Thu Oct 16 17:50:44 2025 +0000"
      },
      "message": "dump.f2fs: print more info\n\ndump.f2fs shows more info:\n * nat entry version\n * sit entry mtime\n\nSigned-off-by: Sheng Yong \u003cshengyong1@xiaomi.com\u003e\nReviewed-by: Chao Yu \u003cchao@kernel.org\u003e\nSigned-off-by: Jaegeuk Kim \u003cjaegeuk@kernel.org\u003e\n"
    },
    {
      "commit": "c37fc6623a2bcc14c7989d3906c53dadc6fe18ee",
      "tree": "9c39be948731a148492f2e46e9df88435c508647",
      "parents": [
        "e1fe65cd571d6766fa22ce623f814978cb5d2b1b"
      ],
      "author": {
        "name": "Sheng Yong",
        "email": "shengyong1@xiaomi.com",
        "time": "Mon Aug 25 09:54:46 2025 +0800"
      },
      "committer": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk@kernel.org",
        "time": "Thu Oct 16 17:50:32 2025 +0000"
      },
      "message": "fsck.f2fs: fix invalidate checkpoint\n\nIf one cp is invalidate, set CP_FSCK_FLAG to allow fsck_verify() to\nfixing cp at the end of check.\n\nSigned-off-by: Sheng Yong \u003cshengyong1@xiaomi.com\u003e\nReviewed-by: Chao Yu \u003cchao@kernel.org\u003e\nSigned-off-by: Jaegeuk Kim \u003cjaegeuk@kernel.org\u003e\n"
    },
    {
      "commit": "e1fe65cd571d6766fa22ce623f814978cb5d2b1b",
      "tree": "77547dbad8e559074d48948aee4127374d617e05",
      "parents": [
        "5b47f954317886e8f39f7db7e6074de0fe9c16b5"
      ],
      "author": {
        "name": "Sheng Yong",
        "email": "shengyong1@xiaomi.com",
        "time": "Mon Aug 25 09:54:45 2025 +0800"
      },
      "committer": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk@kernel.org",
        "time": "Thu Oct 16 17:50:13 2025 +0000"
      },
      "message": "f2fs-tools: cleanup {nid|segno}_in_journal\n\nSigned-off-by: Sheng Yong \u003cshengyong1@xiaomi.com\u003e\nReviewed-by: Chao Yu \u003cchao@kernel.org\u003e\nSigned-off-by: Jaegeuk Kim \u003cjaegeuk@kernel.org\u003e\n"
    },
    {
      "commit": "5b47f954317886e8f39f7db7e6074de0fe9c16b5",
      "tree": "0dfee8c0d5a5052b8daca6d647729d903c333b7f",
      "parents": [
        "3e7ab52999a718a206c6831634c8aba5123a0302"
      ],
      "author": {
        "name": "Sheng Yong",
        "email": "shengyong1@xiaomi.com",
        "time": "Mon Aug 25 09:54:44 2025 +0800"
      },
      "committer": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk@kernel.org",
        "time": "Thu Oct 16 17:49:54 2025 +0000"
      },
      "message": "f2fs-tools: add option N to answer no for all questions\n\nIn some scenario, such as autotest, it is not expected to answer\nquestion from fsck or dump. To simply answer no to all these questions,\nthis patch adds an option `N\u0027 to do that.\n\nSigned-off-by: Sheng Yong \u003cshengyong1@xiaomi.com\u003e\nReviewed-by: Chao Yu \u003cchao@kernel.org\u003e\nSigned-off-by: Jaegeuk Kim \u003cjaegeuk@kernel.org\u003e\n"
    },
    {
      "commit": "3e7ab52999a718a206c6831634c8aba5123a0302",
      "tree": "6078bab8cb070605dff15fe2b5de4cce7167a267",
      "parents": [
        "615036fbc4e6c471a83663c30d689620cb36d574"
      ],
      "author": {
        "name": "Sheng Yong",
        "email": "shengyong1@xiaomi.com",
        "time": "Mon Aug 25 09:54:43 2025 +0800"
      },
      "committer": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk@kernel.org",
        "time": "Thu Oct 16 17:49:42 2025 +0000"
      },
      "message": "fsck.f2fs: do not finish/reset zone if dry-run is true\n\nSigned-off-by: Sheng Yong \u003cshengyong1@xiaomi.com\u003e\nReviewed-by: Chao Yu \u003cchao@kernel.org\u003e\nSigned-off-by: Jaegeuk Kim \u003cjaegeuk@kernel.org\u003e\n"
    },
    {
      "commit": "615036fbc4e6c471a83663c30d689620cb36d574",
      "tree": "36ab512339d66e7b582a2c1b7c7bd1876bd00635",
      "parents": [
        "f46c3365836ae512df5c888ab120c25d8dfe5998"
      ],
      "author": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk@kernel.org",
        "time": "Wed Oct 01 16:09:23 2025 +0000"
      },
      "committer": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk@kernel.org",
        "time": "Fri Oct 10 16:06:12 2025 +0000"
      },
      "message": "f2fs_io: calculate IO bandwidth vs. mlock latency\n\nSigned-off-by: Jaegeuk Kim \u003cjaegeuk@kernel.org\u003e\n"
    },
    {
      "commit": "f46c3365836ae512df5c888ab120c25d8dfe5998",
      "tree": "e874b06cf4473f6fe8a3fa1b54c1dd980f4ad215",
      "parents": [
        "3770cac99729191a84e24f47617cdcf5da0ac472"
      ],
      "author": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk@kernel.org",
        "time": "Thu Sep 18 04:52:50 2025 +0000"
      },
      "committer": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk@kernel.org",
        "time": "Fri Oct 10 16:06:12 2025 +0000"
      },
      "message": "f2fs_io: let\u0027s try to get contigous memory if possible\n\nReviewed-by: Chao Yu \u003cchao@kernel.org\u003e\nSigned-off-by: Jaegeuk Kim \u003cjaegeuk@kernel.org\u003e\n"
    },
    {
      "commit": "3770cac99729191a84e24f47617cdcf5da0ac472",
      "tree": "968504be9c3852afb5bb493c9338d4a3de417573",
      "parents": [
        "40a14ace4533c22d4b7e363c0edafee49c45dae9"
      ],
      "author": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk@kernel.org",
        "time": "Thu Sep 18 04:52:09 2025 +0000"
      },
      "committer": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk@kernel.org",
        "time": "Fri Oct 10 16:06:12 2025 +0000"
      },
      "message": "f2fs_io: add dontcache to measure RWF_DONTCACHE speed\n\nIt only measures the read performance.\n\nReviewed-by: Chao Yu \u003cchao@kernel.org\u003e\nSigned-off-by: Jaegeuk Kim \u003cjaegeuk@kernel.org\u003e\n"
    },
    {
      "commit": "40a14ace4533c22d4b7e363c0edafee49c45dae9",
      "tree": "69bae7c98ab094b07fefcb3ed9f15bc4c0efac84",
      "parents": [
        "60385790d515000e4382477afbfbc4ed56125f4f"
      ],
      "author": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk@kernel.org",
        "time": "Thu Sep 18 04:51:29 2025 +0000"
      },
      "committer": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk@kernel.org",
        "time": "Fri Oct 10 16:06:12 2025 +0000"
      },
      "message": "f2fs_io: add mlock to measure the read speed\n\nAdd missing mmap mode in man page.\n\nReviewed-by: Chao Yu \u003cchao@kernel.org\u003e\nSigned-off-by: Jaegeuk Kim \u003cjaegeuk@kernel.org\u003e\n"
    },
    {
      "commit": "60385790d515000e4382477afbfbc4ed56125f4f",
      "tree": "668187af384af5c6ec4d09aed8df6aab6f96e2d5",
      "parents": [
        "5f48720c71e0a8545ee7aac01d390622691f142b"
      ],
      "author": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk@kernel.org",
        "time": "Mon Sep 01 15:11:33 2025 +0000"
      },
      "committer": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk@kernel.org",
        "time": "Fri Oct 10 16:06:09 2025 +0000"
      },
      "message": "f2fs_io: measure atomic operation latency with random write\n\nIf we give a negative offset, let\u0027s do random writes.\n\n\u003e f2fs_io write 1 -400 10 rand atomic_commit ./test\n\nconducts 10 random writes by picking addresses between 0 and\n400 * 4KB.\n\nReviewed-by: Chao Yu \u003cchao@kernel.org\u003e\nSigned-off-by: Jaegeuk Kim \u003cjaegeuk@kernel.org\u003e\n"
    },
    {
      "commit": "5f48720c71e0a8545ee7aac01d390622691f142b",
      "tree": "82f4f22c1774b8b77de3bb0054b4386ccb7dc6f9",
      "parents": [
        "f84c91af80f11b8b48e44bdbeb40445bd0904c0d"
      ],
      "author": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk@kernel.org",
        "time": "Mon Sep 01 15:11:08 2025 +0000"
      },
      "committer": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk@kernel.org",
        "time": "Fri Oct 10 16:06:03 2025 +0000"
      },
      "message": "f2fs_io: measure a fsync latency\n\nReviewed-by: Chao Yu \u003cchao@kernel.org\u003e\nSigned-off-by: Jaegeuk Kim \u003cjaegeuk@kernel.org\u003e\n"
    },
    {
      "commit": "f84c91af80f11b8b48e44bdbeb40445bd0904c0d",
      "tree": "f0f8762ab03b5425e369039f71889d794bd601b8",
      "parents": [
        "a81f507616dda447fa9021b4601167590b06faa6"
      ],
      "author": {
        "name": "Yangyang Zang",
        "email": "zangyangyang66@gmail.com",
        "time": "Wed Aug 27 14:15:07 2025 +0800"
      },
      "committer": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk@kernel.org",
        "time": "Thu Oct 02 20:25:19 2025 +0000"
      },
      "message": "resize.f2fs: print resize size\n\nSigned-off-by: Yangyang Zang \u003czangyangyang1@xiaomi.com\u003e\nReviewed-by: Chao Yu \u003cchao@kernel.org\u003e\nSigned-off-by: Jaegeuk Kim \u003cjaegeuk@kernel.org\u003e\n"
    },
    {
      "commit": "a81f507616dda447fa9021b4601167590b06faa6",
      "tree": "503c7b2cc5959fd70c4968393f8edbdc571c3523",
      "parents": [
        "72da0375e98ed21e9f8ba1be8ee48624b29ed92d"
      ],
      "author": {
        "name": "Chao Yu",
        "email": "chao@kernel.org",
        "time": "Mon Aug 11 17:47:05 2025 +0800"
      },
      "committer": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk@kernel.org",
        "time": "Thu Oct 02 20:25:19 2025 +0000"
      },
      "message": "inject.f2fs: support inject inode.i_xattr_nid\n\nSupport to inject .i_xattr_nid on inode node.\n\nCc: Sheng Yong \u003cshengyong1@xiaomi.com\u003e\nSigned-off-by: Chao Yu \u003cchao@kernel.org\u003e\nReviewed-by: Sheng Yong \u003cshengyong1@xiaomi.com\u003e\nSigned-off-by: Jaegeuk Kim \u003cjaegeuk@kernel.org\u003e\n"
    },
    {
      "commit": "72da0375e98ed21e9f8ba1be8ee48624b29ed92d",
      "tree": "6607aa050f8ef2d1693d929ae5b4d858c589e3c6",
      "parents": [
        "4cf123276cca541085e746278a408d8e66cfde8b"
      ],
      "author": {
        "name": "Chao Yu",
        "email": "chao@kernel.org",
        "time": "Thu Aug 07 10:44:50 2025 +0800"
      },
      "committer": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk@kernel.org",
        "time": "Thu Oct 02 20:25:19 2025 +0000"
      },
      "message": "fsck.f2fs: recognize STOP_CP_REASON_CORRUPTED_NID\n\nLet fsck recognize STOP_CP_REASON_CORRUPTED_NID for repair.\n\nSigned-off-by: Chao Yu \u003cchao@kernel.org\u003e\nSigned-off-by: Jaegeuk Kim \u003cjaegeuk@kernel.org\u003e\n"
    },
    {
      "commit": "4cf123276cca541085e746278a408d8e66cfde8b",
      "tree": "1f204a5976e7e06d27b4463c4fe88d226e1867e3",
      "parents": [
        "7940c4420b5dc0ea61c5297059b61d92dbebc018"
      ],
      "author": {
        "name": "Cherniaev Andrei",
        "email": "dungeonlords789@naver.com",
        "time": "Wed Aug 06 18:53:56 2025 +0900"
      },
      "committer": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk@kernel.org",
        "time": "Thu Oct 02 20:25:19 2025 +0000"
      },
      "message": "README: fix build instruction\n\nSigned-off-by: Cherniaev Andrei \u003cdungeonlords789@naver.com\u003e\nReviewed-by: Chao Yu \u003cchao@kernel.org\u003e\nSigned-off-by: Jaegeuk Kim \u003cjaegeuk@kernel.org\u003e\n"
    },
    {
      "commit": "7940c4420b5dc0ea61c5297059b61d92dbebc018",
      "tree": "2d0885757620a954459de777749e4f34d2c27bf6",
      "parents": [
        "3bd49149dae7237b931b09d87d00b2aef8f7af93"
      ],
      "author": {
        "name": "Daeho Jeong",
        "email": "daehojeong@google.com",
        "time": "Mon Sep 29 13:21:52 2025 -0700"
      },
      "committer": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk@kernel.org",
        "time": "Thu Oct 02 20:23:35 2025 +0000"
      },
      "message": "f2fs-tools: remove unnecessary alignment for blocks_for_ssa\n\ntotal_valid_blks_available is already a multiple of c.blks_per_seg.\nSo, we don\u0027t need an additional alignment adjustment.\n\nSigned-off-by: Daeho Jeong \u003cdaehojeong@google.com\u003e\nReviewed-by: Chao Yu \u003cchao@kernel.org\u003e\nSigned-off-by: Jaegeuk Kim \u003cjaegeuk@kernel.org\u003e\n"
    },
    {
      "commit": "3bd49149dae7237b931b09d87d00b2aef8f7af93",
      "tree": "794ab937d26e49c66a3a9d2d727f7113f11df233",
      "parents": [
        "4cc9025c5da7386c7387e4b48f73fe99ad945d75"
      ],
      "author": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk@kernel.org",
        "time": "Thu Jul 31 22:40:58 2025 +0000"
      },
      "committer": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk@kernel.org",
        "time": "Tue Aug 05 17:00:06 2025 +0000"
      },
      "message": "Fix build error in Android\n\nexternal/f2fs-tools/mkfs/f2fs_format.c:392:31: error: format specifies type \u0027unsigned long long\u0027 but the argument has type \u0027size_t\u0027 (aka \u0027unsigned int\u0027) [-Werror,-Wformat]\n  391 |                         MSG(1, \"\\tError: Unaligned segment0 start (%u) for zoned LU (zone_blocks: %\"PRIu64\")\\n\",\n      |                         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n  392 |                                 get_sb(segment0_blkaddr), c.zone_blocks);\n      |                                 ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~\nexternal/f2fs-tools/include/f2fs_fs.h:289:18: note: expanded from macro \u0027MSG\u0027\n  289 |                         printf(fmt, ##__VA_ARGS__);                     \\\n      |                                ~~~    ^~~~~~~~~~~\nexternal/f2fs-tools/mkfs/f2fs_format.c:404:31: error: format specifies type \u0027unsigned long long\u0027 but the argument has type \u0027size_t\u0027 (aka \u0027unsigned int\u0027) [-Werror,-Wformat]\n  402 |                         MSG(1, \"\\tError: Unaligned start (%\"PRIu64\") for zoned LU from segment0 (%u) (zone_blocks: %\"PRIu64\")\\n\",\n      |                         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n  403 |                                 c.devices[1].start_blkaddr,\n      |                                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~\n  404 |                                 get_sb(segment0_blkaddr), c.zone_blocks);\n      |                                 ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~\nexternal/f2fs-tools/include/f2fs_fs.h:289:18: note: expanded from macro \u0027MSG\u0027\n  289 |                         printf(fmt, ##__VA_ARGS__);                     \\\n      |                                ~~~    ^~~~~~~~~~~\n\nReviewed-by: Chao Yu \u003cchao@kernel.org\u003e\nSigned-off-by: Jaegeuk Kim \u003cjaegeuk@kernel.org\u003e\n"
    },
    {
      "commit": "4cc9025c5da7386c7387e4b48f73fe99ad945d75",
      "tree": "b4451e6b54e9e65e62d17607014cb4f1b01d342a",
      "parents": [
        "2a16f24f24c47d35a663140d66273ee309e4a188"
      ],
      "author": {
        "name": "Cherniaev Andrei",
        "email": "dungeonlords789@naver.com",
        "time": "Fri May 16 20:10:26 2025 +0900"
      },
      "committer": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk@kernel.org",
        "time": "Wed Jul 30 17:53:08 2025 +0000"
      },
      "message": "f2fs-tools: increase overprovision finding speed\n\nI think my optimization makes mkfs.f2fs faster in case of invalid volume size.\nSo with the commit user will get err faster.\nBefore start I suggest add debug printf() to `f2fs_fs.h` like this:\n```\nfor (; candidate \u003c\u003d end; candidate +\u003d diff) {\n\treserved \u003d get_reserved(sb, candidate);\n\tovp \u003d (usable_main_segs - reserved) * candidate / 100;\nMSG(0, \"ovp\u003d%f usable_main_segs\u003d%u reserved\u003d%u candidate\u003d%f\\n\",\n\tovp, usable_main_segs, reserved, candidate); //debug printf()\nif (ovp \u003c\u003d 0)\n\t\tcontinue;\n\tspace \u003d usable_main_segs - max((double)reserved, ovp) -\n\t\t\t\toverprovision_segment_buffer(sb);\nMSG(0, \"space\u003d%f max_space\u003d%f\\n\", space, max_space); //debug printf()\n\tif (max_space \u003c space) {\n\t\tmax_space \u003d space;\n\t\tmax_ovp \u003d candidate;\n\t}\n}\n```\n\nTest instruction is based on \"boot/grub2/readme.txt\"\nhttps://gitlab.com/buildroot.org/buildroot/-/blob/master/boot/grub2/readme.txt\nYou can use Ubuntu 24 or similar OS.\n1. Create a disk image\n```\ncd /tmp\ndd if\u003d/dev/zero of\u003ddisk.img bs\u003d1M count\u003d32\n```\n2. Partition it with GPT partitions usinig `cgdisk disk.img` or\n```\nparted --script disk.img mklabel gpt mkpart primary 1MiB 31MiB\n```\n3. Setup loop device and loop partitions\n```\nloop_dev\u003d$(sudo losetup -f --show disk.img)\nsudo partx -a \"$loop_dev\"\n```\n5. Prepare the root partition\n```\nsudo mkfs.f2fs -f -l mylable123 -i -O extra_attr,inode_checksum,\\\nsb_checksum,compression -e raw -E bin \"$loop_dev\"\n```\n6. Cleanup loop device\n```\npartx -d \"$loop_dev\"\nlosetup -d \"$loop_dev\"\n```\nIn log you can see that for ovp\u003d\u003d0.0 space calculation looks not necessary...\n```\na@Linux:~$ sudo mkfs.f2fs -f -l mylable123 -i -O extra_attr,inode_checksum,\\\nsb_checksum,compression -e raw -E bin \"$loop_dev\"\n\n    F2FS-tools: mkfs.f2fs Ver: 1.16.0 (2025-05-06)\n\nInfo: Debug level \u003d 0\nInfo: Add new cold file extension list\nInfo: Add new hot file extension list\nInfo: Label \u003d mylable123\nInfo: Trim is enabled\nInfo: Enable Compression\nInfo: Segments per section \u003d 1\nInfo: Sections per zone \u003d 1\nInfo: sector size \u003d 512\nInfo: total sectors \u003d 65536 (32 MB)\nInfo: zone aligned segment0 blkaddr: 512\novp\u003d429496728.700000 usable_main_segs\u003d8 reserved\u003d17 candidate\u003d10.000000\nspace\u003d-429496726.700000 max_space\u003d0.000000\novp\u003d644245093.650000 usable_main_segs\u003d8 reserved\u003d13 candidate\u003d15.000000\nspace\u003d-644245091.650000 max_space\u003d0.000000\novp\u003d858993458.400000 usable_main_segs\u003d8 reserved\u003d12 candidate\u003d20.000000\nspace\u003d-858993456.400000 max_space\u003d0.000000\novp\u003d1073741823.250000 usable_main_segs\u003d8 reserved\u003d11 candidate\u003d25.000000\nspace\u003d-1073741821.250000 max_space\u003d0.000000\novp\u003d1288490188.200000 usable_main_segs\u003d8 reserved\u003d10 candidate\u003d30.000000\nspace\u003d-1288490186.200000 max_space\u003d0.000000\novp\u003d1503238553.250000 usable_main_segs\u003d8 reserved\u003d9 candidate\u003d35.000000\nspace\u003d-1503238551.250000 max_space\u003d0.000000\novp\u003d1717986918.000000 usable_main_segs\u003d8 reserved\u003d9 candidate\u003d40.000000\nspace\u003d-1717986916.000000 max_space\u003d0.000000\novp\u003d1932735282.750000 usable_main_segs\u003d8 reserved\u003d9 candidate\u003d45.000000\nspace\u003d-1932735280.750000 max_space\u003d0.000000\novp\u003d2147483647.500000 usable_main_segs\u003d8 reserved\u003d9 candidate\u003d50.000000\nspace\u003d-2147483645.500000 max_space\u003d0.000000\novp\u003d0.000000 usable_main_segs\u003d8 reserved\u003d8 candidate\u003d55.000000\nspace\u003d-6.000000 max_space\u003d0.000000\novp\u003d0.000000 usable_main_segs\u003d8 reserved\u003d8 candidate\u003d60.000000\nspace\u003d-6.000000 max_space\u003d0.000000\novp\u003d0.000000 usable_main_segs\u003d8 reserved\u003d8 candidate\u003d65.000000\nspace\u003d-6.000000 max_space\u003d0.000000\novp\u003d0.000000 usable_main_segs\u003d8 reserved\u003d8 candidate\u003d70.000000\nspace\u003d-6.000000 max_space\u003d0.000000\novp\u003d0.000000 usable_main_segs\u003d8 reserved\u003d8 candidate\u003d75.000000\nspace\u003d-6.000000 max_space\u003d0.000000\novp\u003d0.000000 usable_main_segs\u003d8 reserved\u003d8 candidate\u003d80.000000\nspace\u003d-6.000000 max_space\u003d0.000000\novp\u003d0.000000 usable_main_segs\u003d8 reserved\u003d8 candidate\u003d85.000000\nspace\u003d-6.000000 max_space\u003d0.000000\novp\u003d0.000000 usable_main_segs\u003d8 reserved\u003d8 candidate\u003d90.000000\nspace\u003d-6.000000 max_space\u003d0.000000\novp\u003d0.000000 usable_main_segs\u003d8 reserved\u003d8 candidate\u003d95.000000\nspace\u003d-6.000000 max_space\u003d0.000000\n\tError: Device size is not sufficient for F2FS volume\n\tError: Failed to prepare a super block!!!\n\tError: Could not format the device!!!\n```\n\nSigned-off-by: Cherniaev Andrei \u003cdungeonlords789@naver.com\u003e\nSigned-off-by: Jaegeuk Kim \u003cjaegeuk@kernel.org\u003e\n"
    },
    {
      "commit": "2a16f24f24c47d35a663140d66273ee309e4a188",
      "tree": "314c3f76ca1eef2084b9a7e7973b02070b59903a",
      "parents": [
        "5502245eea3d913a8d62b552d2627e302e16724b"
      ],
      "author": {
        "name": "Chao Yu",
        "email": "chao@kernel.org",
        "time": "Fri Jul 25 13:52:04 2025 +0800"
      },
      "committer": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk@kernel.org",
        "time": "Wed Jul 30 17:53:08 2025 +0000"
      },
      "message": "fsck.f2fs: honor --linear-lookup\u003dX for Android case\n\nBehavior summary:\n\t\t\tAndroid\t\tDistro\nBy default\t\tdisabled\tenabled\n\nAndroid case:\n\n1) enabled -\u003e disabled\n- mkfs.f2fs -f -g android -O casefold -C utf8:nohashonly /dev/vdb\n- dump.f2fs -d3 /dev/vdb |grep s_encoding_flags\ns_encoding_flags                        [0x       0 : 0]\n- fsck.f2fs -g android --nolinear-lookup\u003d1 /dev/vdb\n- dump.f2fs -d3 /dev/vdb |grep s_encoding_flags\ns_encoding_flags                        [0x       2 : 2]\n\n- mkfs.f2fs -f -g android -O casefold -C utf8:nohashonly /dev/vdb\n- dump.f2fs -d3 /dev/vdb |grep s_encoding_flags\ns_encoding_flags                        [0x       0 : 0]\n- fsck.f2fs -g android /dev/vdb\n- dump.f2fs -d3 /dev/vdb |grep s_encoding_flags\ns_encoding_flags                        [0x       2 : 2]\n\n2) disabled -\u003e enabled\n- mkfs.f2fs -f -g android -O casefold -C utf8:hashonly /dev/vdb\n- dump.f2fs -d3 /dev/vdb |grep s_encoding_flags\ns_encoding_flags                        [0x       2 : 2]\n- fsck.f2fs -g android --nolinear-lookup\u003d0 /dev/vdb\n- dump.f2fs -d3 /dev/vdb |grep s_encoding_flags\ns_encoding_flags                        [0x       0 : 0]\n\nDistro case:\n\n1) enabled -\u003e disabled\n- mkfs.f2fs -f -O casefold -C utf8:nohashonly /dev/vdb\n- dump.f2fs -d3 /dev/vdb |grep s_encoding_flags\ns_encoding_flags                        [0x       0 : 0]\n- fsck.f2fs --nolinear-lookup\u003d1 /dev/vdb\n- dump.f2fs -d3 /dev/vdb |grep s_encoding_flags\ns_encoding_flags                        [0x       2 : 2]\n\n2) disabled -\u003e enabled\n- mkfs.f2fs -f -O casefold -C utf8:hashonly /dev/vdb\n- dump.f2fs -d3 /dev/vdb |grep s_encoding_flags\ns_encoding_flags                        [0x       2 : 2]\n- fsck.f2fs --nolinear-lookup\u003d0 /dev/vdb\n- dump.f2fs -d3 /dev/vdb |grep s_encoding_flags\ns_encoding_flags                        [0x       0 : 0]\n\n3) default\n- mkfs.f2fs -f -O casefold -C utf8:hashonly /dev/vdb\n- dump.f2fs -d3 /dev/vdb |grep s_encoding_flags\ns_encoding_flags                        [0x       2 : 2]\n- fsck.f2fs /dev/vdb\n- dump.f2fs -d3 /dev/vdb |grep s_encoding_flags\ns_encoding_flags                        [0x       2 : 2]\n\n- mkfs.f2fs -f -O casefold -C utf8:nohashonly /dev/vdb\n- dump.f2fs -d3 /dev/vdb |grep s_encoding_flags\ns_encoding_flags                        [0x       0 : 0]\n- fsck.f2fs /dev/vdb\n- dump.f2fs -d3 /dev/vdb |grep s_encoding_flags\ns_encoding_flags                        [0x       0 : 0]\n\nSigned-off-by: Chao Yu \u003cchao@kernel.org\u003e\nSigned-off-by: Jaegeuk Kim \u003cjaegeuk@kernel.org\u003e\n"
    },
    {
      "commit": "5502245eea3d913a8d62b552d2627e302e16724b",
      "tree": "04c77542c871b651c6eec7470937282ec14e146c",
      "parents": [
        "69d5e762d08e6e5a197aecfd8bfbb4c41c5747dd"
      ],
      "author": {
        "name": "Chao Yu",
        "email": "chao@kernel.org",
        "time": "Mon Jul 28 10:05:31 2025 +0800"
      },
      "committer": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk@kernel.org",
        "time": "Wed Jul 30 17:53:08 2025 +0000"
      },
      "message": "mkfs.f2fs: support -C [no]hashonly to control linear lookup fallback\n\nIt provides a way to disable linear lookup fallback during mkfs.\n\nBehavior summary:\n\t\t\tAndroid\t\tDistro\nBy default\t\tdisabled\tenabled\n\nAndroid case:\n\n1.1) Disable linear lookup:\n- mkfs.f2fs -f -g android -O casefold -C utf8:hashonly /dev/vdb\n- dump.f2fs -d3 /dev/vdb |grep s_encoding_flags\ns_encoding_flags                        [0x       2 : 2]\n\n1.2) Enable linear lookup:\n- mkfs.f2fs -f -g android -O casefold -C utf8:nohashonly /dev/vdb\n- dump.f2fs -d3 /dev/vdb |grep s_encoding_flags\ns_encoding_flags                        [0x       0 : 0]\n\n1.3) By default:\n- mkfs.f2fs -f -g android -O casefold -C utf8 /dev/vdb\nInfo: set default linear_lookup option: disable\n- dump.f2fs -d3 /dev/vdb |grep s_encoding_flags\ns_encoding_flags                        [0x       2 : 2]\n\nDistro case:\n\n2.1) Disable linear lookup:\n- mkfs.f2fs -f -O casefold -C utf8:hashonly /dev/vdb\n- dump.f2fs -d3 /dev/vdb |grep s_encoding_flags\ns_encoding_flags                        [0x       2 : 2]\n\n2.2) Enable linear lookup:\n- mkfs.f2fs -f -O casefold -C utf8:nohashonly /dev/vdb\n- dump.f2fs -d3 /dev/vdb |grep s_encoding_flags\ns_encoding_flags                        [0x       0 : 0]\n\n2.3) By default:\n- mkfs.f2fs -f -O casefold -C utf8 /dev/vdb\n- dump.f2fs -d3 /dev/vdb |grep s_encoding_flags\ns_encoding_flags                        [0x       0 : 0]\n\nReviewed-by: Zhiguo Niu \u003czhiguo.niu@unisoc.com\u003e\nSigned-off-by: Chao Yu \u003cchao@kernel.org\u003e\nSigned-off-by: Jaegeuk Kim \u003cjaegeuk@kernel.org\u003e\n"
    },
    {
      "commit": "69d5e762d08e6e5a197aecfd8bfbb4c41c5747dd",
      "tree": "bb46d28ab9b0db8584e754064665dff0a1937630",
      "parents": [
        "d22f243eb8b3c9128e9d5847cc2476617bf09d4c"
      ],
      "author": {
        "name": "Daniel Lee",
        "email": "chullee@google.com",
        "time": "Thu Jul 24 16:28:39 2025 -0700"
      },
      "committer": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk@kernel.org",
        "time": "Wed Jul 30 17:53:04 2025 +0000"
      },
      "message": "mkfs.f2fs: Fix zoned alignment check for multi-device setups\n\nCommit 84447ee7212e correctly relocated the zone alignment check to its\nproper location. However, this revealed that the original check\u0027s\ncondition was incorrect for multi-device setups.\n\nThis patch corrects the logic to check the alignment relative to the start\nof the segment0 and improves the error messages.\n\nSigned-off-by: Daniel Lee \u003cchullee@google.com\u003e\nReviewed-by: Chao Yu \u003cchao@kernel.org\u003e\n[Jaegeuk Kim: fix build error]\nSigned-off-by: Jaegeuk Kim \u003cjaegeuk@kernel.org\u003e\n"
    },
    {
      "commit": "d22f243eb8b3c9128e9d5847cc2476617bf09d4c",
      "tree": "565f5c95665ca8495b5d1c21b61481ffb229acea",
      "parents": [
        "35cc8f234a9134bb6f4dc87d5994a62e17fd2902"
      ],
      "author": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk@kernel.org",
        "time": "Wed Jul 23 00:09:24 2025 +0000"
      },
      "committer": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk@kernel.org",
        "time": "Wed Jul 23 00:09:24 2025 +0000"
      },
      "message": "Revert \"mkfs.f2fs: adjust zone alignment check to correct position\"\n\nThis reverts commit 84447ee7212ef4ae6c2c324cd56c83375abcc03e.\n"
    },
    {
      "commit": "35cc8f234a9134bb6f4dc87d5994a62e17fd2902",
      "tree": "372b9e2d503ccd68474878bfc210d49b27aa3d93",
      "parents": [
        "6382d916817b3f3a1be1278c09a20e96dcaa7057"
      ],
      "author": {
        "name": "Chao Yu",
        "email": "chao@kernel.org",
        "time": "Tue Jul 22 11:20:08 2025 +0800"
      },
      "committer": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk@kernel.org",
        "time": "Tue Jul 22 16:24:04 2025 +0000"
      },
      "message": "fsck.f2fs: disable linear lookup by default\n\nAs we know, Android is the only user of casefold feature, in casefolded\ndirectory, creating a filename w/ character has ignorable code points in\nbuggy kernel v6.12 is a very rare case, we don\u0027t get any report that user\ncan not access file w/ character has ignorable code points till now.\n\nLet\u0027s disable linear lookup in fsck for Android by default, once there is\nany related bug report of unicode code points, we can enable it again.\n\nmkfs.f2fs -f -O casefold -C utf8 /dev/vdb\ndump.f2fs -d3 /dev/vdb |grep s_encoding_flags\ns_encoding_flags                        [0x       0 : 0]\nfsck.f2fs /dev/vdb -g android\ndump.f2fs -d3 /dev/vdb |grep s_encoding_flags\ns_encoding_flags                        [0x       2 : 2]\n\nSigned-off-by: Chao Yu \u003cchao@kernel.org\u003e\nSigned-off-by: Jaegeuk Kim \u003cjaegeuk@kernel.org\u003e\n"
    },
    {
      "commit": "6382d916817b3f3a1be1278c09a20e96dcaa7057",
      "tree": "25a67044b49ff401dd24720e1b5243d8e432b296",
      "parents": [
        "d1854c898cac21a8fa6eec7bbf4eb327e196e8bd"
      ],
      "author": {
        "name": "Chao Yu",
        "email": "chao@kernel.org",
        "time": "Tue Jul 15 10:30:35 2025 +0800"
      },
      "committer": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk@kernel.org",
        "time": "Fri Jul 18 20:16:39 2025 +0000"
      },
      "message": "f2fs_io: fix doc of test_lookup_perf\n\nThis patch fixes wrong parameter in usage of test_lookup_perf.\n\nSigned-off-by: Chao Yu \u003cchao@kernel.org\u003e\nSigned-off-by: Jaegeuk Kim \u003cjaegeuk@kernel.org\u003e\n"
    },
    {
      "commit": "d1854c898cac21a8fa6eec7bbf4eb327e196e8bd",
      "tree": "98fcb1ad5f2ea5823b22dac12547181868498121",
      "parents": [
        "84447ee7212ef4ae6c2c324cd56c83375abcc03e"
      ],
      "author": {
        "name": "Daniel Lee",
        "email": "chullee@google.com",
        "time": "Mon Jul 14 10:51:03 2025 -0700"
      },
      "committer": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk@kernel.org",
        "time": "Fri Jul 18 20:16:28 2025 +0000"
      },
      "message": "man: add doc for test_create_perf/test_lookup_perf\n\nSigned-off-by: Daniel Lee \u003cchullee@google.com\u003e\nReviewed-by: Chao Yu \u003cchao@kernel.org\u003e\nSigned-off-by: Jaegeuk Kim \u003cjaegeuk@kernel.org\u003e\n"
    },
    {
      "commit": "84447ee7212ef4ae6c2c324cd56c83375abcc03e",
      "tree": "9cd024065900d4b559662c934ee07c5f6b05d76e",
      "parents": [
        "148fc2a2aa67faaab402b6d677e5a29951a59781"
      ],
      "author": {
        "name": "Zhiguo Niu",
        "email": "zhiguo.niu@unisoc.com",
        "time": "Mon Jul 14 17:51:45 2025 +0800"
      },
      "committer": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk@kernel.org",
        "time": "Fri Jul 18 20:15:42 2025 +0000"
      },
      "message": "mkfs.f2fs: adjust zone alignment check to correct position\n\nShould check these after c.devices[1].start_blkaddr is assigned\nwhen c.ndevs \u003e 1.\n\nFixes: 316e128fe3dc (\"mkfs.f2fs: adjust zone alignment when using multi-partitions\")\nSigned-off-by: Zhiguo Niu \u003czhiguo.niu@unisoc.com\u003e\nReviewed-by: Chao Yu \u003cchao@kernel.org\u003e\nSigned-off-by: Jaegeuk Kim \u003cjaegeuk@kernel.org\u003e\n"
    },
    {
      "commit": "148fc2a2aa67faaab402b6d677e5a29951a59781",
      "tree": "da1d30426b3baac4ea4e745785dfaabca4f7a497",
      "parents": [
        "8cff69c9a2c1c9778232732e809501cc3aad0ede"
      ],
      "author": {
        "name": "Daniel Lee",
        "email": "chullee@google.com",
        "time": "Thu Jul 17 11:20:57 2025 -0700"
      },
      "committer": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk@kernel.org",
        "time": "Fri Jul 18 20:09:39 2025 +0000"
      },
      "message": "f2fs_io: fix format mismatch for ino_t\n\nThe ino_t type can be defined as either \u0027unsigned long\u0027 or\n\u0027unsigned long long\u0027.\n\nSigned-off-by: Daniel Lee \u003cchullee@google.com\u003e\nSigned-off-by: Jaegeuk Kim \u003cjaegeuk@kernel.org\u003e\n"
    },
    {
      "commit": "8cff69c9a2c1c9778232732e809501cc3aad0ede",
      "tree": "478efe33d50a01d71a2128087262bb4ca470d3a0",
      "parents": [
        "47ad82e9881259065d907bfb2fb20cb6fa5d0ede"
      ],
      "author": {
        "name": "Chao Yu",
        "email": "chao@kernel.org",
        "time": "Fri Jul 11 15:45:51 2025 +0800"
      },
      "committer": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk@kernel.org",
        "time": "Fri Jul 11 16:19:39 2025 +0000"
      },
      "message": "fsck.f2fs: fix to use strncmp to avoid out-of-boundary access\n\nOtherwise, if length of main device path is equal to MAX_PATH_LEN,\nit will trigger assert() as below:\n\n[ASSERT] (init_sb_info:1264) !strcmp((char *)sb-\u003edevs[i].path, (char *)c.devices[i].path)\n\nThis is because there is no null character in the end of devcie\npath string, result in out-of-boundary access in devs.path[].\n\nLet\u0027s use strncmp instead of strcmp to compare device path to fix\nthis issue.\n\nSigned-off-by: Chao Yu \u003cchao@kernel.org\u003e\nSigned-off-by: Jaegeuk Kim \u003cjaegeuk@kernel.org\u003e\n"
    },
    {
      "commit": "47ad82e9881259065d907bfb2fb20cb6fa5d0ede",
      "tree": "9acf3b2a89f28cf1dea2a000ead0951f9eb6a468",
      "parents": [
        "24a9ddd21ce85cfcfe5014c2620883b9f790704d"
      ],
      "author": {
        "name": "Chao Yu",
        "email": "chao@kernel.org",
        "time": "Fri Jul 11 15:45:50 2025 +0800"
      },
      "committer": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk@kernel.org",
        "time": "Fri Jul 11 16:19:33 2025 +0000"
      },
      "message": "mkfs.f2fs: fix to limit length of main device path in f2fs_parse_options()\n\nOtherwise, mkfs.f2fs may persist truncated path of main device.\n\n- mkfs.f2fs /mnt/f2fs/0123456789012345678901234567890123456789012345678901234 \\\n  -c /mnt/f2fs/012345678901234567890123456789012345678901234567890123 -f\n- mount /mnt/f2fs/0123456789012345678901234567890123456789012345678901234\n  /mnt/f2fs/loop\n\nF2FS-fs (loop0): Mount Device [ 0]: /mnt/f2fs/012345678901234567890123456789012345678901234567890123,      511,        0 -    3ffff\nF2FS-fs (loop0): Failed to find devices\n\nSigned-off-by: Chao Yu \u003cchao@kernel.org\u003e\nSigned-off-by: Jaegeuk Kim \u003cjaegeuk@kernel.org\u003e\n"
    },
    {
      "commit": "24a9ddd21ce85cfcfe5014c2620883b9f790704d",
      "tree": "ecf29c5f094c84bafe5199591996c4b2d93d636e",
      "parents": [
        "b65797111cc55f29fd7ea56332a69d3384c1dd9a"
      ],
      "author": {
        "name": "Chao Yu",
        "email": "chao@kernel.org",
        "time": "Fri Jul 11 15:45:49 2025 +0800"
      },
      "committer": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk@kernel.org",
        "time": "Fri Jul 11 16:19:25 2025 +0000"
      },
      "message": "fsck.f2fs: allow to print more infos before assert() in init_sb_info()\n\nIt allows to print more informations once assert() is triggered\nin init_sb_info().\n\nSigned-off-by: Chao Yu \u003cchao@kernel.org\u003e\nSigned-off-by: Jaegeuk Kim \u003cjaegeuk@kernel.org\u003e\n"
    },
    {
      "commit": "b65797111cc55f29fd7ea56332a69d3384c1dd9a",
      "tree": "e926f705f0a81aec6a156fdfd5e81ca39205c1f0",
      "parents": [
        "9bd4f36ad9b30f7bf65117e30d28835c515fabed"
      ],
      "author": {
        "name": "Chao Yu",
        "email": "chao@kernel.org",
        "time": "Tue Jul 01 19:44:01 2025 +0800"
      },
      "committer": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk@kernel.org",
        "time": "Tue Jul 01 16:59:23 2025 +0000"
      },
      "message": "f2fs_io: measure readdir/stat performance\n\n- mkdir dir\n- f2fs_io test_lookup_perf -i /mnt/f2fs/dir 50000\n- sync\n- echo 3 \u003e /proc/sys/vm/drop_caches\n- f2fs_io test_lookup_perf /mnt/f2fs/dir\n\nOutput:\nMeasure readdir performance\nMeasure stat performance\nOperation: total_files, total_time_s, throughput_files_per_sec\nreaddir: 50000, 1.7781, 28120.08\nstat: 50000, 2.1665, 23079.19\n\n- f2fs_io test_lookup_perf -v /mnt/f2fs/dir 50000\n\nOutput:\ninode    file type  d_reclen  d_off    d_name\n6176     directory  24        1        .\n3        directory  24        2        ..\n6276     regular    32        4        test_file_0\n6285     regular    32        6        test_file_1\n6291     regular    32        8        test_file_2\n6295     regular    32        10       test_file_3\n....\n\nSigned-off-by: Chao Yu \u003cchao@kernel.org\u003e\nSigned-off-by: Jaegeuk Kim \u003cjaegeuk@kernel.org\u003e\n"
    },
    {
      "commit": "9bd4f36ad9b30f7bf65117e30d28835c515fabed",
      "tree": "da7494f689ebff0ae0ffc0d5d8a1ee56d988704d",
      "parents": [
        "0fa87268b7bea2601da0a833909120f5a1bc6602"
      ],
      "author": {
        "name": "Daniel Lee",
        "email": "chullee@google.com",
        "time": "Tue Jun 17 07:04:57 2025 -0700"
      },
      "committer": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk@kernel.org",
        "time": "Wed Jun 25 15:44:45 2025 +0000"
      },
      "message": "f2fs_io: add test_create_perf command\n\nA new command \u0027test_create_perf\u0027, has been introduced to measure\nthe performance of creating and deleting many files.\n\nSigned-off-by: Daniel Lee \u003cchullee@google.com\u003e\nReviewed-by: Chao Yu \u003cchao@kernel.org\u003e\nSigned-off-by: Jaegeuk Kim \u003cjaegeuk@kernel.org\u003e\n"
    },
    {
      "commit": "0fa87268b7bea2601da0a833909120f5a1bc6602",
      "tree": "91d23c0d59569d185226e563019671dc05405c4f",
      "parents": [
        "ab4df39dcddf84429060d47f63570ca5704104d4"
      ],
      "author": {
        "name": "Chao Yu",
        "email": "chao@kernel.org",
        "time": "Tue Jun 03 15:26:18 2025 +0800"
      },
      "committer": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk@kernel.org",
        "time": "Tue Jun 10 14:55:23 2025 +0000"
      },
      "message": "fsck.f2fs: fix to avoid using uninitialized buffer\n\nfsck.c: In function ‘chk_and_fix_wp_with_sit’:\nfsck.c:3529:17: error: variable-sized object may not be initialized\n 3529 |                 char buffer[F2FS_BLKSIZE] \u003d {};\n      |                 ^~~~\n\nThe reason is F2FS_BLKSIZE macro is defined w/ c.blksize, let\u0027s use\ncalloc() to allocate zeroed memory to fix this issue.\n\nCc: Daeho Jeong \u003cdaehojeong@google.com\u003e\nSigned-off-by: Chao Yu \u003cchao@kernel.org\u003e\nReviewed-by: Daeho Jeong \u003cdaehojeong@google.com\u003e\nSigned-off-by: Jaegeuk Kim \u003cjaegeuk@kernel.org\u003e\n"
    },
    {
      "commit": "ab4df39dcddf84429060d47f63570ca5704104d4",
      "tree": "26735c68e384634b4a965768de11277e63865edc",
      "parents": [
        "ce25217d6bde2c5e1d024c83f49918339153cb37"
      ],
      "author": {
        "name": "orbea",
        "email": "orbea@riseup.net",
        "time": "Tue Jun 03 06:59:05 2025 -0700"
      },
      "committer": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk@kernel.org",
        "time": "Tue Jun 10 14:55:09 2025 +0000"
      },
      "message": "mkfs: link using libf2fs.la\n\nWith slibtool the build will fail with \u0027cannot find -lf2fs\u0027.\n\nTo fix this it is better to use the canonical method of linking internal\ndependencies which is to use the generated .la files where the libtool\nimplementation will know what to do with it.\n\nGentoo-Issue: https://bugs.gentoo.org/929070\nSigned-off-by: orbea \u003corbea@riseup.net\u003e\nReviewed-by: Chao Yu \u003cchao@kernel.org\u003e\nSigned-off-by: Jaegeuk Kim \u003cjaegeuk@kernel.org\u003e\n"
    },
    {
      "commit": "ce25217d6bde2c5e1d024c83f49918339153cb37",
      "tree": "1bc802e2276d741bb34fef44a82a74f072cf5755",
      "parents": [
        "e837b2728e9e4f07c4bd56bb178a6f6bb984fab2"
      ],
      "author": {
        "name": "Daeho Jeong",
        "email": "daehojeong@google.com",
        "time": "Wed May 21 12:41:00 2025 -0700"
      },
      "committer": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk@kernel.org",
        "time": "Wed May 28 16:07:11 2025 +0000"
      },
      "message": "fsck.f2fs: fix null buffer error with dev_fill\n\nMake fsck use dev_fill_block() with zeroed buffer instead of dev_fill().\n\nSigned-off-by: Daeho Jeong \u003cdaehojeong@google.com\u003e\nReviewed-by: Chao Yu \u003cchao@kernel.org\u003e\nSigned-off-by: Jaegeuk Kim \u003cjaegeuk@kernel.org\u003e\n"
    },
    {
      "commit": "e837b2728e9e4f07c4bd56bb178a6f6bb984fab2",
      "tree": "c3b0e0f1d00e9c9c331d998fb61605ecbae8c496",
      "parents": [
        "2751cca35bf33105bdae4ac6411b3827e47e2164"
      ],
      "author": {
        "name": "Daeho Jeong",
        "email": "daehojeong@google.com",
        "time": "Tue May 27 09:54:11 2025 -0700"
      },
      "committer": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk@kernel.org",
        "time": "Wed May 28 15:57:30 2025 +0000"
      },
      "message": "mkfs.f2fs: ensure zone size is a multiple of segment size\n\nOtherwise, it doesn\u0027t work with a crash.\n\nSigned-off-by: Daeho Jeong \u003cdaehojeong@google.com\u003e\nReviewed-by: Chao Yu \u003cchao@kernel.org\u003e\nSigned-off-by: Jaegeuk Kim \u003cjaegeuk@kernel.org\u003e\n"
    },
    {
      "commit": "2751cca35bf33105bdae4ac6411b3827e47e2164",
      "tree": "7d7599f9bf109ce6b76aee598946a2d851a41e20",
      "parents": [
        "dcac79a598121df81d667b129b176699af8bd20c"
      ],
      "author": {
        "name": "Jianan Huang",
        "email": "huangjianan@xiaomi.com",
        "time": "Thu May 08 20:42:35 2025 +0800"
      },
      "committer": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk@kernel.org",
        "time": "Tue May 13 02:08:51 2025 +0000"
      },
      "message": "f2fs-tools: clean up dump.f2fs etc. when uninstall\n\nOtherwise, some lonely soft links will be left in /usr/local/bin.\n\nSigned-off-by: Jianan Huang \u003chuangjianan@xiaomi.com\u003e\nReviewed-by: Chao Yu \u003cchao@kernel.org\u003e\nSigned-off-by: Jaegeuk Kim \u003cjaegeuk@kernel.org\u003e\n"
    },
    {
      "commit": "dcac79a598121df81d667b129b176699af8bd20c",
      "tree": "e6eec7746ff8b1091ed88cdf251fc0297d37c5a3",
      "parents": [
        "35f7452c799a4098fd4b75487fff73b06aa9579b"
      ],
      "author": {
        "name": "Jianan Huang",
        "email": "huangjianan@xiaomi.com",
        "time": "Thu May 08 20:42:34 2025 +0800"
      },
      "committer": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk@kernel.org",
        "time": "Tue May 13 02:08:48 2025 +0000"
      },
      "message": "f2fs-tools: delete only if the libf2fs_format.so* exists\n\nOtherwise we will get the following error when executing make uninstall:\n\nmake  uninstall-hook\nmake[2]: Entering directory \u0027/home/huangjianan/code/f2fs-tools/mkfs\u0027\nrm /usr/local/lib/libf2fs_format.so*\nrm: cannot remove \u0027/usr/local/lib/libf2fs_format.so*\u0027: No such file or directory\nmake[2]: *** [Makefile:827: uninstall-hook] Error 1\nmake[2]: Leaving directory \u0027/home/huangjianan/code/f2fs-tools/mkfs\u0027\nmake[1]: *** [Makefile:790: uninstall-am] Error 2\nmake[1]: Leaving directory \u0027/home/huangjianan/code/f2fs-tools/mkfs\u0027\nmake: *** [Makefile:418: uninstall-recursive] Error 1\n\nFixes: b067004c92dc (\"add configure option --with-root-libdir\")\nSigned-off-by: Jianan Huang \u003chuangjianan@xiaomi.com\u003e\nReviewed-by: Chao Yu \u003cchao@kernel.org\u003e\nSigned-off-by: Jaegeuk Kim \u003cjaegeuk@kernel.org\u003e\n"
    },
    {
      "commit": "35f7452c799a4098fd4b75487fff73b06aa9579b",
      "tree": "620cc648fe06b9f5bbe9a99cb90163d82223f001",
      "parents": [
        "3163dbac28f6aa9c12a5281b0f9c18009bf234f3"
      ],
      "author": {
        "name": "Chao Yu",
        "email": "chao@kernel.org",
        "time": "Mon May 12 14:59:22 2025 +0800"
      },
      "committer": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk@kernel.org",
        "time": "Mon May 12 15:23:48 2025 +0000"
      },
      "message": "libf2fs: print block size\n\nnl6720 reported in [1], mkfs.f2fs doesn\u0027t report block size, instead,\nit prints sector size which is not used inside f2fs. Let\u0027s print block\nsize as well during mkfs as below:\n\noutput of mkfs.f2fs:\n\nInfo: sector size \u003d 512\nInfo: total sectors \u003d 16777216 (8192 MB)\nInfo: block size \u003d 4096\n\n[1] https://lore.kernel.org/linux-f2fs-devel/20250425013623.918150-1-devnull@nl6720.me\n\nReported-by: nl6720 \u003cdevnull@nl6720.me\u003e\nCloses: https://github.com/jaegeuk/f2fs-tools/issues/29\nSigned-off-by: Chao Yu \u003cchao@kernel.org\u003e\nSigned-off-by: Jaegeuk Kim \u003cjaegeuk@kernel.org\u003e\n"
    },
    {
      "commit": "3163dbac28f6aa9c12a5281b0f9c18009bf234f3",
      "tree": "d7c50a5dbe4c12bd8cf9ed3815ef63ace667bde7",
      "parents": [
        "d8eac1f8699541416afdf93333772ef2e0509773"
      ],
      "author": {
        "name": "Jianan Huang",
        "email": "huangjianan@xiaomi.com",
        "time": "Mon May 12 11:33:59 2025 +0800"
      },
      "committer": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk@kernel.org",
        "time": "Mon May 12 15:23:33 2025 +0000"
      },
      "message": "f2fs_io: print errno for flag operations\n\nSigned-off-by: Jianan Huang \u003chuangjianan@xiaomi.com\u003e\nReviewed-by: Chao Yu \u003cchao@kernel.org\u003e\nSigned-off-by: Jaegeuk Kim \u003cjaegeuk@kernel.org\u003e\n"
    },
    {
      "commit": "d8eac1f8699541416afdf93333772ef2e0509773",
      "tree": "a2ecd203e18fb06988bd846117b4fcc83189b929",
      "parents": [
        "29c1e18a0bc5d69cf2613660fff94a240ff074a7"
      ],
      "author": {
        "name": "Daeho Jeong",
        "email": "daehojeong@google.com",
        "time": "Wed Apr 30 11:35:30 2025 -0700"
      },
      "committer": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk@kernel.org",
        "time": "Tue May 06 20:40:15 2025 +0000"
      },
      "message": "f2fs-tools: introduce fault injection to fsck\n\nDue to the difficulty of intentionally corrupting specific metadata on\nsome storage devices like zoned storage devices, it is challenging to\neffectively verify fsck functionality. To facilitate this verification,\nit is necessary to add a fault injection mode.\n\nSigned-off-by: Daeho Jeong \u003cdaehojeong@google.com\u003e\nReviewed-by: Chao Yu \u003cchao@kernel.org\u003e\nSigned-off-by: Jaegeuk Kim \u003cjaegeuk@kernel.org\u003e\n"
    },
    {
      "commit": "29c1e18a0bc5d69cf2613660fff94a240ff074a7",
      "tree": "bdb6549adb8c7bc845eac1a0f1850c6197694ad8",
      "parents": [
        "f3baa190b46b3c0eef6f4263e1465abaaf84b46b"
      ],
      "author": {
        "name": "Chao Yu",
        "email": "chao@kernel.org",
        "time": "Mon Apr 28 16:50:09 2025 +0800"
      },
      "committer": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk@kernel.org",
        "time": "Wed Apr 30 01:34:33 2025 +0000"
      },
      "message": "fsck.f2fs: tune linear_lookup in f2fs_do_mount()\n\nIn order to avoid failing to tune linear_lookup if auto or\npreen mode is on.\n\nCc: Daniel Lee \u003cchullee@google.com\u003e\nSigned-off-by: Chao Yu \u003cchao@kernel.org\u003e\nSigned-off-by: Jaegeuk Kim \u003cjaegeuk@kernel.org\u003e\n"
    },
    {
      "commit": "f3baa190b46b3c0eef6f4263e1465abaaf84b46b",
      "tree": "59fef8927210d25b82913667888d88970f292d3d",
      "parents": [
        "f614bccc18cf57472b8132ebbb743052bd01cb8b"
      ],
      "author": {
        "name": "Chao Yu",
        "email": "chao@kernel.org",
        "time": "Tue Apr 22 19:57:00 2025 +0800"
      },
      "committer": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk@kernel.org",
        "time": "Wed Apr 23 15:02:52 2025 +0000"
      },
      "message": "fsck.f2fs: recognize STOP_CP_REASON_CORRUPTED_FREE_BITMAP\n\nLet fsck.f2fs recognize STOP_CP_REASON_CORRUPTED_FREE_BITMAP.\n\nSigned-off-by: Chao Yu \u003cchao@kernel.org\u003e\nSigned-off-by: Jaegeuk Kim \u003cjaegeuk@kernel.org\u003e\n"
    },
    {
      "commit": "f614bccc18cf57472b8132ebbb743052bd01cb8b",
      "tree": "c8de4a8003c598b447215b0b46ea2848907326db",
      "parents": [
        "bf4b5c4b130d43b4fbff1537109756e9df9781bf"
      ],
      "author": {
        "name": "Chao Yu",
        "email": "chao@kernel.org",
        "time": "Mon Apr 14 19:11:41 2025 +0800"
      },
      "committer": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk@kernel.org",
        "time": "Wed Apr 23 15:01:37 2025 +0000"
      },
      "message": "resize.f2fs: fix to always change metadata for expand resize\n\nw/ below testcase, resize will generate a corrupted image which\ncontains inconsistent metadata:\n\ntouch img\ntruncate -s $((512*1024*1024*1024)) img\nmkfs.f2fs -f img $((256*1024*1024))\nresize.f2fs -s img -t $((1024*1024*1024))\nmount img /mnt/f2fs\n\n[   31.725200] F2FS-fs (loop0): Wrong bitmap size: sit: 192, sit_blk_cnt:4762\n[   31.728441] F2FS-fs (loop0): Failed to get valid F2FS checkpoint\n\nThe root cause is safe mode (via -s option) is not compatible\nw/ expand resize, due to in safe mode, we will keep all parameters\nrelated to NAT, SIT, SSA area, e.g. sit_bitmap_size, however, we\nwill update segment_count_main according new partition size, result\nin there is no enough sit_bitmap and SIT blocks to address the\nentire block address of new partition.\n\nAdding a check condition to avoid expanding partition in safe\nmode, and change manual accordingly.\n\nSigned-off-by: Chao Yu \u003cchao@kernel.org\u003e\nSigned-off-by: Jaegeuk Kim \u003cjaegeuk@kernel.org\u003e\n"
    },
    {
      "commit": "bf4b5c4b130d43b4fbff1537109756e9df9781bf",
      "tree": "713432da43880d1efd68e5e97202ba67e8343aa3",
      "parents": [
        "42482e81248f2be7cba2e9a0b0590d2b5b0d6a16"
      ],
      "author": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk@kernel.org",
        "time": "Mon Apr 21 16:15:20 2025 +0000"
      },
      "committer": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk@kernel.org",
        "time": "Wed Apr 23 15:01:34 2025 +0000"
      },
      "message": "f2fs-tools: enable write hint by default\n\nIf the device support write hints, let\u0027s assign it in Android devices.\n\nReviewed-by: Chao Yu \u003cchao@kernel.org\u003e\nSigned-off-by: Jaegeuk Kim \u003cjaegeuk@kernel.org\u003e\n"
    },
    {
      "commit": "42482e81248f2be7cba2e9a0b0590d2b5b0d6a16",
      "tree": "97a826fc39ae721a875f7e26ee1139de3f3c1fac",
      "parents": [
        "b4394ae46bf817d13340ea727a55706b4e1f3e3a"
      ],
      "author": {
        "name": "Chao Yu",
        "email": "chao@kernel.org",
        "time": "Mon Apr 14 10:38:19 2025 +0800"
      },
      "committer": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk@kernel.org",
        "time": "Tue Apr 15 19:40:56 2025 +0000"
      },
      "message": "resize.f2fs: add caution message for resize\n\nresize.f2fs doesn\u0027t guarantee atomically resizing f2fs image,\nso that potential suddent power cut, IO error, out of memory,\nSIGKILL received or program exits due to other reasons may cause\ndata corruption.\n\nThis patch adds caution message for resize users to notice\npotential risk of using resizing tool, and remind them to backup\ndata before resize.\n\nresize.f2fs \u003cpartition\u003e\n\n\"Resize operation is currently experimental, please backup your data.\nDo you want to continue? [y/n]y\nProceeding to resize\"\n\nIf we want to force to use resize.f2fs, we can use -F option, let\u0027s\nenable -F option in Android by default to avoid breaking any usage.\n\nCc: Juhyung Park \u003cqkrwngud825@gmail.com\u003e\nSigned-off-by: Chao Yu \u003cchao@kernel.org\u003e\nSigned-off-by: Jaegeuk Kim \u003cjaegeuk@kernel.org\u003e\n"
    },
    {
      "commit": "b4394ae46bf817d13340ea727a55706b4e1f3e3a",
      "tree": "391a8f2c64dfeba8482dd265d5631e81ac079fd0",
      "parents": [
        "1102cc7a60164daef63f12ceaa8b0c0f4e1ba609"
      ],
      "author": {
        "name": "Chao Yu",
        "email": "chao@kernel.org",
        "time": "Mon Apr 14 10:38:18 2025 +0800"
      },
      "committer": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk@kernel.org",
        "time": "Tue Apr 15 19:40:41 2025 +0000"
      },
      "message": "Revert \"resize.f2fs: add option for large_nat_bitmap feature\"\n\nThis reverts commit daa0f8b9e9b1eea6c85e5c169b809254d9d7074e.\n\nAs Juhyung reported in [1]:\n\nHere\u0027s what I did:\n1. Remounted to checkpoint\u003ddisable\n2. Create a dm-snapshot of the current root device\n3. Mount snapshot to replay the log\n4. Unmount\n5. Resize sector 487248896 to 486539264\n// ./resize.f2fs -d 3 -s -i /dev/mapper/snap -t 486539264\n\nLatest f2fs-tools was used:\n33c5b9539af2 f2fs_io: add fragread command to evaluate fragmented\nbuffer for reads\n\nThis reproduced the mount and fsck failure.\n\nMount log:\n[442431.020594] F2FS-fs (dm-2): invalid crc_offset: 0\n[442431.130055] F2FS-fs (dm-2): SIT is corrupted node# 13615201 vs 13616290\n[442431.139684] F2FS-fs (dm-2): Failed to initialize F2FS segment manager (-117)\n\nI checked below testcases:\n\ntruncate -s $((512*1024*1024*1024)) img\nmkfs.f2fs -f img $((256*1024*1024))\n\nDescription\t\tTest command\t\t\t\t\tFSCK output\na) shrink w/ -s\t\tresize.f2fs -s -i img -t $((128*1024*1024))\tFine\nb) expand w/ -s\t\tresize.f2fs -s -i img -t $((1024*1024*1024))\tCorrupted\nc) shrink w/o -s\tresize.f2fs -i img -t $((128*1024*1024))\tNo run\nd) expand w/o -s\tresize.f2fs -i img -t $((1024*1024*1024))\tFine\n\nOutput from b):\n[ASSERT] (check_block_count:2299)  --\u003e Wrong SIT valid blocks: segno\u003d0x29400, 0 vs. 13\n\nThe root cause is: safe mode (-s option) is conflict w/ large nat bitmap feature\n(-i option), since once we enable large nat bitmap, layout of checkpoint will be\nchanged [2], we must relocate nat/sit_bitmap to the end of new location of\ncp_checksum, however in safe mode, we won\u0027t change metadata of checkpoint, so we\nneed to keep nat/sit_bitmap as it is, which includes checksum data in its old\nlocation.\n\nLet\u0027s revert -i support for resize.f2fs first, and then reenable it after\nfix and well tested.\n\nThanks a lot for the help from Juhyung, including providing reproducer and\nhints.\n\n[1] https://lore.kernel.org/linux-f2fs-devel/CAD14+f3D6iPOBxEgkZxxTsXCfwRKb9ph68JtUk3H9cn8ovLt9w@mail.gmail.com/\n[2] https://lore.kernel.org/linux-f2fs-devel/20190514093340.40217-2-yuchao0@huawei.com/\n\nFixes: daa0f8b (\"resize.f2fs: add option for large_nat_bitmap feature\")\nReported-by: Juhyung Park \u003cqkrwngud825@gmail.com\u003e\nSigned-off-by: Chao Yu \u003cchao@kernel.org\u003e\nSigned-off-by: Jaegeuk Kim \u003cjaegeuk@kernel.org\u003e\n"
    },
    {
      "commit": "1102cc7a60164daef63f12ceaa8b0c0f4e1ba609",
      "tree": "dcb5db8aef7529856b4062ca19003de8bf9abf6b",
      "parents": [
        "b6e94a3f64efecf0ed0b2141f03c0e4147cb22d4"
      ],
      "author": {
        "name": "Chao Yu",
        "email": "chao@kernel.org",
        "time": "Tue Apr 15 19:27:36 2025 +0800"
      },
      "committer": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk@kernel.org",
        "time": "Tue Apr 15 19:35:12 2025 +0000"
      },
      "message": "fsck.f2fs: fix to repair hash_code only if c.fix_on is true\n\nw/ below testcase, fsck will fix image accidently:\nmkfs.f2fs -f /dev/vdb\nmount -t f2fs -o noinline_dentry /dev/vdb /mnt/f2fs\nmkdir /mnt/f2fs/dir/\ntouch /mnt/f2fs/dir/file\numount /mnt/f2fs\ninject.f2fs --dent --mb d_hash --nid 5 --val 0x9a2ea068 /dev/vdb\nfsck.f2fs -d 1 /dev/vdb\n\noutput:\n[FIX] (f2fs_check_hash_code:1741)  --\u003e Mismatch hash_code for \"file\" [9a2ea068:53fcf74e]\n[fsck_chk_dentry_blk:2124] [  2] Dentry Block [0x4401] Fixed hash_codes\n\nIn f2fs_check_hash_code(), we should only fix hash code and return 1\nif c.fix_on is true, otherwise, caller will update fixed value to\ndentry block directly.\n\nSigned-off-by: Chao Yu \u003cchao@kernel.org\u003e\nSigned-off-by: Jaegeuk Kim \u003cjaegeuk@kernel.org\u003e\n"
    },
    {
      "commit": "b6e94a3f64efecf0ed0b2141f03c0e4147cb22d4",
      "tree": "eb1b229d29046e08024d92a684edc453f4820f79",
      "parents": [
        "d6b206d413cf18854453e8ce86c8952e38470086"
      ],
      "author": {
        "name": "Chao Yu",
        "email": "chao@kernel.org",
        "time": "Tue Apr 15 17:18:22 2025 +0800"
      },
      "committer": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk@kernel.org",
        "time": "Tue Apr 15 19:34:08 2025 +0000"
      },
      "message": "dump.f2fs: support dump version_bitmap and chksum in checkpoint\n\ndump.f2fs -d 1 img\n\n...\nchecksum                      \t\t[0x829fb462 : 2191504482]\nnat_version_bitmap[0]         \t\t[0x       0 : 0]\nnat_version_bitmap[1]         \t\t[0x       0 : 0]\nnat_version_bitmap[2]         \t\t[0x       0 : 0]\n...\nnat_version_bitmap[463]       \t\t[0x       0 : 0]\nsit_version_bitmap[0]         \t\t[0x       0 : 0]\nsit_version_bitmap[1]         \t\t[0x       0 : 0]\nsit_version_bitmap[2]         \t\t[0x       0 : 0]\nsit_version_bitmap[3]         \t\t[0x       0 : 0]\n...\nsit_version_bitmap[47]        \t\t[0x       0 : 0]\n\nSigned-off-by: Chao Yu \u003cchao@kernel.org\u003e\nSigned-off-by: Jaegeuk Kim \u003cjaegeuk@kernel.org\u003e\n"
    },
    {
      "commit": "d6b206d413cf18854453e8ce86c8952e38470086",
      "tree": "557a5cbd19df5af8ca5ca5480b660d645492d41c",
      "parents": [
        "11b7f429f9a816a5887ccb28a199ad189ae0a214"
      ],
      "author": {
        "name": "Chao Yu",
        "email": "chao@kernel.org",
        "time": "Tue Apr 15 17:27:40 2025 +0800"
      },
      "committer": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk@kernel.org",
        "time": "Tue Apr 15 19:32:56 2025 +0000"
      },
      "message": "fsck.f2fs: support to tune linear lookup feature\n\nSupport a new option --nolinear-lookup\u003dX for fsck.f2fs to tune\nlinear lookup fallback conditionally, X\u003d1: disable linear lookup,\nX\u003d0: enable linear lookup.\n\nThis can help to 1) add a regression testcase to check kernel\nwhether linear lookup fallback has fixed unicode red heart lookup\nissue, 2) once unicode bug has been fixed, we can use this option\nto disable linear lookup for performance recovery.\n\nCc: Daniel Lee \u003cchullee@google.com\u003e\nSigned-off-by: Chao Yu \u003cchao@kernel.org\u003e\nSigned-off-by: Jaegeuk Kim \u003cjaegeuk@kernel.org\u003e\n"
    },
    {
      "commit": "11b7f429f9a816a5887ccb28a199ad189ae0a214",
      "tree": "7e349bfdc72dad45f817cecb4ffe7db160a65700",
      "parents": [
        "300b1565acb76f87f0c3172b1b18e49b8d5df052"
      ],
      "author": {
        "name": "Chao Yu",
        "email": "chao@kernel.org",
        "time": "Mon Mar 31 11:00:33 2025 +0800"
      },
      "committer": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk@kernel.org",
        "time": "Tue Apr 08 01:56:52 2025 +0000"
      },
      "message": "dump.f2fs: print s_encoding_flags\n\nIt missed to print s_encoding_flags in print_raw_sb_info(), fix it.\n\nSigned-off-by: Chao Yu \u003cchao@kernel.org\u003e\nSigned-off-by: Jaegeuk Kim \u003cjaegeuk@kernel.org\u003e\n"
    },
    {
      "commit": "300b1565acb76f87f0c3172b1b18e49b8d5df052",
      "tree": "be185bc52a06b349e64a1ebad201beaa1df73bdc",
      "parents": [
        "ea372dfcd7d71b92b686a34dbfecd227a7b15ad4"
      ],
      "author": {
        "name": "Chao Yu",
        "email": "chao@kernel.org",
        "time": "Mon Mar 31 11:00:32 2025 +0800"
      },
      "committer": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk@kernel.org",
        "time": "Tue Apr 08 01:56:52 2025 +0000"
      },
      "message": "dump.f2fs: support to dump hex of filename in dump_dirent()\n\ndump.f2fs -b $blkaddr -d 3 /dev/vda\n\n[dump_dirent: 991] bitmap pos[0x2] name[❤️] len[0x6] hash[0x19dd7132] ino[0x5] type[0x1]\n[dump_dirent: 998] name(hex)[0xe2 0x9d 0xa4 0xef 0xb8 0x8f 0x0]\n\nSigned-off-by: Chao Yu \u003cchao@kernel.org\u003e\nSigned-off-by: Jaegeuk Kim \u003cjaegeuk@kernel.org\u003e\n"
    },
    {
      "commit": "ea372dfcd7d71b92b686a34dbfecd227a7b15ad4",
      "tree": "0bf7935bf1dd35ea1f4d20fc9271344a1bdad2fb",
      "parents": [
        "a1f8e633c9f973298feda12ab669daaf6faedaf6"
      ],
      "author": {
        "name": "Daeho Jeong",
        "email": "daehojeong@google.com",
        "time": "Mon Mar 31 13:28:35 2025 -0700"
      },
      "committer": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk@kernel.org",
        "time": "Tue Apr 08 01:56:48 2025 +0000"
      },
      "message": "f2fs-tools: apportion atomic write\u0027s total delay to its operations\n\nTo utilize the delay option of atomic write more useful, need to\napportion it to each operation of it.\n\nSigned-off-by: Daeho Jeong \u003cdaehojeong@google.com\u003e\nReviewed-by: Chao Yu \u003cchao@kernel.org\u003e\nSigned-off-by: Jaegeuk Kim \u003cjaegeuk@kernel.org\u003e\n"
    },
    {
      "commit": "a1f8e633c9f973298feda12ab669daaf6faedaf6",
      "tree": "ef7e81582c327adbd4cef12e8c5916902b42db2b",
      "parents": [
        "879a628d4e9f615b67036f43c07948f7fab92109"
      ],
      "author": {
        "name": "Chao Yu",
        "email": "chao@kernel.org",
        "time": "Mon Mar 24 19:52:11 2025 +0800"
      },
      "committer": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk@kernel.org",
        "time": "Mon Mar 24 16:33:32 2025 +0000"
      },
      "message": "mkfs.f2fs: fix to update compact summary\u0027s footer correctly\n\nIt missed to set compact summary\u0027s footer correctly, fix it.\n\nThere is no consistent issue, as initial entry_type in footer is zero\nthat the value is equal to SUM_TYPE_DATA we will fix to update to.\n\nFixes: 724ca0883658 (\"mkfs.f2fs: refactor format flow for cleanup\")\nSigned-off-by: Chao Yu \u003cchao@kernel.org\u003e\nSigned-off-by: Jaegeuk Kim \u003cjaegeuk@kernel.org\u003e\n"
    },
    {
      "commit": "879a628d4e9f615b67036f43c07948f7fab92109",
      "tree": "deaf8a1c2b1493d75e4463145d14214849fa5808",
      "parents": [
        "157881813d1032085fbd18d92738ab49dcaa8d92"
      ],
      "author": {
        "name": "Chao Yu",
        "email": "chao@kernel.org",
        "time": "Mon Mar 24 13:36:39 2025 +0800"
      },
      "committer": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk@kernel.org",
        "time": "Mon Mar 24 16:32:57 2025 +0000"
      },
      "message": "mkfs.f2fs: fix to calculate total segments correctly\n\n1. create_null_blk.sh 512 2 1024 1024\n\"Created /dev/nullb0\"\n\n2. mkfs.f2fs -m /dev/nullb0\n\n3. fsck.f2fs /dev/nullb0\n\"[FSCK] free segment_count matched with CP             [Fail] [0x7e8, 0x7e7]\"\n\nFor the case: there is only one host managed device, and the device has\nboth convential zones and sequential zones, we didn\u0027t calculate total\nsegments correctly, fix it.\n\nSigned-off-by: Chao Yu \u003cchao@kernel.org\u003e\nSigned-off-by: Jaegeuk Kim \u003cjaegeuk@kernel.org\u003e\n"
    },
    {
      "commit": "157881813d1032085fbd18d92738ab49dcaa8d92",
      "tree": "0386b4b3cf7f56629cb03f15c55ef87be8a8da42",
      "parents": [
        "33c5b9539af24468b4eb9493f7a9eb2ab7e98b64"
      ],
      "author": {
        "name": "LongPing Wei",
        "email": "weilongping@oppo.com",
        "time": "Thu Mar 20 14:52:47 2025 +0800"
      },
      "committer": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk@kernel.org",
        "time": "Mon Mar 24 16:32:51 2025 +0000"
      },
      "message": "f2fs-tools: fix incorrect return type of f2fs_max_file_offset\n\nAn error occurs when the file length exceeds 4 GiB.\nFor example:\ntouch test.img\ntruncate -s 10G test.img\nmkfs.f2fs test.img\nmkdir mnt\nmount -t f2fs -o loop test.img mnt\ndd if\u003d/dev/zero of\u003dmnt/testfile bs\u003d1G count\u003d5\nsync\numount mnt\nfsck.f2fs -M test.img\n\n/testfile 1319936-1320447[ASSERT] (dump_data_blk: 285) blkaddr \u003d\u003d NULL_ADDR\n\nSigned-off-by: Zheng Liang \u003czhengliang@oppo.com\u003e\nSigned-off-by: LongPing Wei \u003cweilongping@oppo.com\u003e\nReviewed-by: Chao Yu \u003cchao@kernel.org\u003e\nSigned-off-by: Jaegeuk Kim \u003cjaegeuk@kernel.org\u003e\n"
    },
    {
      "commit": "33c5b9539af24468b4eb9493f7a9eb2ab7e98b64",
      "tree": "0c32153995adf77e6ea3c16be0462f75fc3e469a",
      "parents": [
        "b25784559777eb27dbf5a11ef3acf6af961cf422"
      ],
      "author": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk@kernel.org",
        "time": "Thu Feb 27 14:19:08 2025 -0800"
      },
      "committer": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk@kernel.org",
        "time": "Tue Mar 18 03:31:59 2025 +0000"
      },
      "message": "f2fs_io: add fragread command to evaluate fragmented buffer for reads\n\nThis adds a fragread command in f2fs_io, which is able to measure the\nread performance on fragmented data buffer.\n\nReviewed-by: Chao Yu \u003cchao@kernel.org\u003e\nSigned-off-by: Jaegeuk Kim \u003cjaegeuk@kernel.org\u003e\n"
    },
    {
      "commit": "b25784559777eb27dbf5a11ef3acf6af961cf422",
      "tree": "18ce4921b990b299767a8d02b3f96b5816ce5d46",
      "parents": [
        "eba08414c585f90760c4312f57dea78ea45cb5cb"
      ],
      "author": {
        "name": "Chao Yu",
        "email": "chao@kernel.org",
        "time": "Fri Mar 07 17:00:49 2025 +0800"
      },
      "committer": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk@kernel.org",
        "time": "Sat Mar 15 00:18:38 2025 +0000"
      },
      "message": "f2fs-tools: fix to set c.auto_fix only for fsck\n\nadd_default_options() will be reused by fsck family tools, including\ndump, dfrag, resize, sload, label, inject, add a comment for this.\n\nAnd also fix to set c.auto_fix only for fsck in add_default_options().\n\nSigned-off-by: Chao Yu \u003cchao@kernel.org\u003e\nSigned-off-by: Jaegeuk Kim \u003cjaegeuk@kernel.org\u003e\n"
    },
    {
      "commit": "eba08414c585f90760c4312f57dea78ea45cb5cb",
      "tree": "480fbd49d95f01362c374361ca10a6b2e047c83c",
      "parents": [
        "5d202fd101d19d83eda1405931c489aabb0379b0"
      ],
      "author": {
        "name": "Chao Yu",
        "email": "chao@kernel.org",
        "time": "Fri Mar 07 10:12:16 2025 +0800"
      },
      "committer": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk@kernel.org",
        "time": "Sat Mar 15 00:18:38 2025 +0000"
      },
      "message": "f2fs-tools: disable nat_bits by default in Android\n\nThis patch turns off nat_bits feature by default in Android,\nfor other scenario, keep it on and keep an eye on it.\n\nSigned-off-by: Chao Yu \u003cchao@kernel.org\u003e\nSigned-off-by: Jaegeuk Kim \u003cjaegeuk@kernel.org\u003e\n"
    },
    {
      "commit": "5d202fd101d19d83eda1405931c489aabb0379b0",
      "tree": "40011dc563d2d3f25e3bb7f43afea9ea56ef5632",
      "parents": [
        "5cef0e5852cce916efb934a6b08374b64b59b6c5"
      ],
      "author": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk@kernel.org",
        "time": "Fri Mar 07 21:08:22 2025 +0000"
      },
      "committer": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk@kernel.org",
        "time": "Fri Mar 07 21:08:22 2025 +0000"
      },
      "message": "f2fs_io: fix wrong ioctl\n\nSigned-off-by: Jaegeuk Kim \u003cjaegeuk@kernel.org\u003e\n"
    },
    {
      "commit": "5cef0e5852cce916efb934a6b08374b64b59b6c5",
      "tree": "96f465d577a8697c5a9a9d07d2204a6694888418",
      "parents": [
        "5fa9e549233523dd311894fb996b5b91efa52f25"
      ],
      "author": {
        "name": "Chao Yu",
        "email": "chao@kernel.org",
        "time": "Wed Mar 05 19:14:51 2025 +0800"
      },
      "committer": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk@kernel.org",
        "time": "Fri Mar 07 00:46:37 2025 +0000"
      },
      "message": "dump.f2fs: support to show hex of filename\n\nIt can be used to dump hex of unicode/emoji/invisible filename.\n\ni_name                                  [❤]\ni_name(hex)                             [0xe2 0x9d 0xa4 0x0]\n\ni_name                                  [❤️]\ni_name(hex)                             [0xe2 0x9d 0xa4 0xef 0xb8 0x8f 0x0]\n\nSigned-off-by: Chao Yu \u003cchao@kernel.org\u003e\nSigned-off-by: Jaegeuk Kim \u003cjaegeuk@kernel.org\u003e\n"
    },
    {
      "commit": "5fa9e549233523dd311894fb996b5b91efa52f25",
      "tree": "9317cd5f48f2bb001d02f5e738fb74638472e9fe",
      "parents": [
        "f5fae87c6b636a907555080430be15cac94ee411"
      ],
      "author": {
        "name": "Daeho Jeong",
        "email": "daehojeong@google.com",
        "time": "Fri Feb 28 10:47:52 2025 -0800"
      },
      "committer": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk@kernel.org",
        "time": "Tue Mar 04 01:09:49 2025 +0000"
      },
      "message": "f2fs-tools: add ftruncate command in f2fs_io\n\nadd ftruncate command to do file truncate.\n\nSigned-off-by: Daeho Jeong \u003cdaehojeong@google.com\u003e\nReviewed-by: Chao Yu \u003cchao@kernel.org\u003e\nSigned-off-by: Jaegeuk Kim \u003cjaegeuk@kernel.org\u003e\n"
    },
    {
      "commit": "f5fae87c6b636a907555080430be15cac94ee411",
      "tree": "7c1c69252e25f88560609342a42744865d9391a2",
      "parents": [
        "e1e551dce155aabe775e3796605fcdb7d4865288"
      ],
      "author": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk@kernel.org",
        "time": "Tue Feb 04 14:38:17 2025 -0800"
      },
      "committer": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk@kernel.org",
        "time": "Tue Mar 04 01:09:49 2025 +0000"
      },
      "message": "f2fs_io: add ioprio command to give a io priority hint\n\nThis adds a command to call ioctl(F2FS_IOC_IO_PRIO).\n\nReviewed-by: Chao Yu \u003cchao@kernel.org\u003e\nSigned-off-by: Jaegeuk Kim \u003cjaegeuk@kernel.org\u003e\n"
    },
    {
      "commit": "e1e551dce155aabe775e3796605fcdb7d4865288",
      "tree": "be31a145c69f2f1d6616d18f7c22fe46095c6d0b",
      "parents": [
        "958cd6e0a21b39a939dd4ed3d6e48e9715a2f98e"
      ],
      "author": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk@kernel.org",
        "time": "Fri Dec 20 01:51:40 2024 +0000"
      },
      "committer": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk@kernel.org",
        "time": "Tue Mar 04 01:09:49 2025 +0000"
      },
      "message": "f2fs_io: support fadvise dontneed, random, and noreuse\n\nReviewed-by: Chao Yu \u003cchao@kernel.org\u003e\nSigned-off-by: Jaegeuk Kim \u003cjaegeuk@kernel.org\u003e\n"
    },
    {
      "commit": "958cd6e0a21b39a939dd4ed3d6e48e9715a2f98e",
      "tree": "11bcad99b0f6a7b618f4597f4a2614e9f22dce7c",
      "parents": [
        "3a98adf1348e8b950291e5c685df7b79ddb34425"
      ],
      "author": {
        "name": "Chao Yu",
        "email": "chao@kernel.org",
        "time": "Tue Feb 25 17:36:54 2025 +0800"
      },
      "committer": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk@kernel.org",
        "time": "Tue Mar 04 01:09:32 2025 +0000"
      },
      "message": "fsck.f2fs: support to repair corrupted i_links\n\nfsck.f2fs missed to check and repair zeroed i_links for char, block,\nfifo, sock, symlink and regular inode, fix it.\n\nTested w/ below testcase:\n\ndev\u003d/dev/vda\nmp\u003d/mnt/f2fs\nfor ((i\u003d0;i\u003c14;i++)) do\n\techo \"testcase #\"$i\n\tmkfs.f2fs -f $dev \u003e/dev/null 2\u003e\u00261\n\tif [ $? !\u003d 0 ]; then\n\t\texit\n\tfi\n\tmount $dev $mp\n\tcd $mp\n\n\tif [ $i \u003d\u003d 0 ]; then\n\t\ttouch file\n\t\tnlink\u003d0\n\telif [ $i \u003d\u003d 1 ]; then\n\t\tmkdir dir\n\t\tnlink\u003d1\n\telif [ $i \u003d\u003d 2 ]; then\n\t\tmknod charactor c 9 0\n\t\tnlink\u003d0\n\telif [ $i \u003d\u003d 3 ]; then\n\t\tmknod blockdev b 8 0\n\t\tnlink\u003d0\n\telif [ $i \u003d\u003d 4 ]; then\n\t\tmkfifo pipe\n\t\tnlink\u003d0\n\telif [ $i \u003d\u003d 5 ]; then\n\t\tsocket -s $mp/sock \u0026 sleep 2\n\t\tfuser -k $mp/sock\n\t\tnlink\u003d0\n\telif [ $i \u003d\u003d 6 ]; then\n\t\tln -s file symlink\n\t\tnlink\u003d0\n\telif [ $i \u003d\u003d 7 ]; then\n\t\t# orphan inode\n\t\ttouch atomic\n\t\tf2fs_io write 1 0 1 zero atomic_commit ./atomic 2000 \u0026\n\t\trm atomic\n\t\tsync\n\t\tf2fs_io shutdown 2 ./\n\t\tnlink\u003d1\n\t\tsleep 2\n\telif [ $i \u003d\u003d 8 ]; then\n\t\t# hardlink on file\n\t\ttouch file\n\t\tln file hardlink\n\t\tnlink\u003d0\n\telif [ $i \u003d\u003d 9 ]; then\n\t\t# hardlink on charactor\n\t\tmknod charactor c 9 0\n\t\tln charactor hardlink\n\t\tnlink\u003d0\n\telif [ $i \u003d\u003d 10 ]; then\n\t\t# hardlink on blockdev\n\t\tmknod blockdev b 8 0\n\t\tln blockdev hardlink\n\t\tnlink\u003d0\n\telif [ $i \u003d\u003d 11 ]; then\n\t\t# hardlink on pipe\n\t\tmkfifo pipe\n\t\tln pipe hardlink\n\t\tnlink\u003d0\n\telif [ $i \u003d\u003d 12 ]; then\n\t\t# hardlink on socket\n\t\tsocket -s $mp/sock \u0026 sleep 2\n\t\tfuser -k $mp/sock\n\t\tln sock hardlink\n\t\tnlink\u003d0\n\telif [ $i \u003d\u003d 13 ]; then\n\t\t# hardlink on symlink\n\t\tln -s file symlink\n\t\tln symlink hardlink\n\t\tnlink\u003d0\n\tfi\n\n\tcd ~/\n\tumount $mp\n\n\tinject.f2fs --node --mb i_links --nid 4 --val $nlink $dev\n\tif [ $? !\u003d 0 ]; then\n\t\texit\n\tfi\n\n\tfsck.f2fs -f $dev\n\tif [ $? !\u003d 1 ]; then\n\t\texit\n\tfi\n\tfsck.f2fs $dev\n\tif [ $? !\u003d 0 ]; then\n\t\texit\n\tfi\n\n\tmount $dev $mp\n\tstat $mp/*\n\tumount $mp\ndone\n\nSigned-off-by: Chao Yu \u003cchao@kernel.org\u003e\nSigned-off-by: Jaegeuk Kim \u003cjaegeuk@kernel.org\u003e\n"
    },
    {
      "commit": "3a98adf1348e8b950291e5c685df7b79ddb34425",
      "tree": "669ad948e5da7cc4ec0db7e53b03d3f36cc0a400",
      "parents": [
        "308c68de17a56e38dae6edfb1c9fdab8279efc60"
      ],
      "author": {
        "name": "YangYang Zang",
        "email": "zangyangyang66@gmail.com",
        "time": "Thu Feb 13 15:03:40 2025 +0800"
      },
      "committer": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk@kernel.org",
        "time": "Tue Mar 04 01:09:32 2025 +0000"
      },
      "message": "f2fs_io: fallocate when setting pinfile\n\nNow we can only set pin for files with size 0,\nso we need to call fallocate frequently.\nTherefore, add an optional option to the set\nsubcommand to call fallocate when setting pinfile.\n\nSigned-off-by: YangYang Zang \u003czangyangyang1@xiaomi.com\u003e\nReviewed-by: Chao Yu \u003cchao@kernel.org\u003e\nSigned-off-by: Jaegeuk Kim \u003cjaegeuk@kernel.org\u003e\n"
    },
    {
      "commit": "308c68de17a56e38dae6edfb1c9fdab8279efc60",
      "tree": "56546933f30561fcf647f22dd5bf6a21d2177009",
      "parents": [
        "4b7e9530098858a38c4a94039a1f33e8c3abeba8"
      ],
      "author": {
        "name": "LongPing Wei",
        "email": "weilongping@oppo.com",
        "time": "Wed Dec 11 08:14:06 2024 +0800"
      },
      "committer": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk@kernel.org",
        "time": "Tue Mar 04 01:09:32 2025 +0000"
      },
      "message": "f2fs-tools: add HAVE_PREAD and HAVE_PWRITE\n\nThis patch will enable pread and pwrite support on Android platform.\n\nSigned-off-by: LongPing Wei \u003cweilongping@oppo.com\u003e\nReviewed-by: Chao Yu \u003cchao@kernel.org\u003e\nReviewed-by: Sheng Yong \u003cshengyong@oppo.com\u003e\nSigned-off-by: Jaegeuk Kim \u003cjaegeuk@kernel.org\u003e\n"
    },
    {
      "commit": "4b7e9530098858a38c4a94039a1f33e8c3abeba8",
      "tree": "8e50317fed8fe5e804c189007a2aa001d7dfdd1f",
      "parents": [
        "ad3736cca5284ca1b1521e5826f81f496d86d0ff"
      ],
      "author": {
        "name": "LongPing Wei",
        "email": "weilongping@oppo.com",
        "time": "Wed Dec 11 08:14:04 2024 +0800"
      },
      "committer": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk@kernel.org",
        "time": "Tue Mar 04 01:09:32 2025 +0000"
      },
      "message": "f2fs-tools: use pread and pwrite when they are available.\n\nThis patch wants to reduce the number of system calls to improve performance.\npread and pwrite will only be used when the target platform support them.\n\nSigned-off-by: LongPing Wei \u003cweilongping@oppo.com\u003e\nReviewed-by: Chao Yu \u003cchao@kernel.org\u003e\nReviewed-by: Sheng Yong \u003cshengyong@oppo.com\u003e\nSigned-off-by: Jaegeuk Kim \u003cjaegeuk@kernel.org\u003e\n"
    },
    {
      "commit": "ad3736cca5284ca1b1521e5826f81f496d86d0ff",
      "tree": "a8fbdc5d72ccf580d5100d83c1827a0c1eaf0077",
      "parents": [
        "05fde8ed32dbb66c7cae57627cc4e51eafcf167a"
      ],
      "author": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk@kernel.org",
        "time": "Mon Nov 11 03:03:40 2024 +0000"
      },
      "committer": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk@kernel.org",
        "time": "Mon Nov 11 17:12:21 2024 +0000"
      },
      "message": "mkfs.f2fs: remove IMMUTABLE bit\n\nThe immutable bit disallows selinux permission which gives no way to clear it.\n\nFixes: 8cc4e257ec20 (\"mkfs.f2fs: add device aliasing feature\")\nReviewed-by: Daeho Jeong \u003cdaehojeong@google.com\u003e\nSigned-off-by: Jaegeuk Kim \u003cjaegeuk@kernel.org\u003e\n"
    },
    {
      "commit": "05fde8ed32dbb66c7cae57627cc4e51eafcf167a",
      "tree": "c81d42e75ca5313bf5cf4354bafde944813da45e",
      "parents": [
        "036af19f6dde3f1b0261b1a39e5f204280b5f3c9"
      ],
      "author": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk@kernel.org",
        "time": "Fri Nov 01 17:56:09 2024 +0000"
      },
      "committer": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk@kernel.org",
        "time": "Tue Nov 05 16:59:58 2024 +0000"
      },
      "message": "f2fs_io: add more options for randread test\n\nThis patch improves the randread test:\n - add mmap\n - add fadvise option\n - show performance results\n\nReviewed-by: Chao Yu \u003cchao@kernel.org\u003e\nSigned-off-by: Jaegeuk Kim \u003cjaegeuk@kernel.org\u003e\n"
    },
    {
      "commit": "036af19f6dde3f1b0261b1a39e5f204280b5f3c9",
      "tree": "87ffccd3eb632da1e786f48f4383563e13cb0d58",
      "parents": [
        "9206c3b206a41cb8cac611a908a5a507fed9f3b8"
      ],
      "author": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk@kernel.org",
        "time": "Fri Nov 01 16:52:15 2024 +0000"
      },
      "committer": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk@kernel.org",
        "time": "Tue Nov 05 16:59:47 2024 +0000"
      },
      "message": "f2fs_io: support 1GB dio buffer\n\nReviewed-by: Chao Yu \u003cchao@kernel.org\u003e\nSigned-off-by: Jaegeuk Kim \u003cjaegeuk@kernel.org\u003e\n"
    },
    {
      "commit": "9206c3b206a41cb8cac611a908a5a507fed9f3b8",
      "tree": "dcb004dbed57bfc8190d12c8866f58d999860376",
      "parents": [
        "2893f7c6c5e47f96db2158fa93914316d88fdb85"
      ],
      "author": {
        "name": "Zhiguo Niu",
        "email": "zhiguo.niu@unisoc.com",
        "time": "Tue Oct 29 16:27:46 2024 +0800"
      },
      "committer": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk@kernel.org",
        "time": "Fri Nov 01 01:08:01 2024 +0000"
      },
      "message": "f2fs-io: unify default block size\n\nF2FS_BLKSIZE and 4096 are both used in f2fs_io for\nIO/buffer size, but F2FS_BLKSIZE may confuse user becasue\nit may be 4KB, 16KB, so use macro F2FS_DEFAULT_BLKSIZE\nto unify F2FS_BLKSIZE and 4096 in f2fs_io, also adjust\n\"-c\" parameters in mkfs man, to be consistent with commit\nc35fa8cd75ac (\"mkfs.f2fs: change -c option description\").\n\nSigned-off-by: Zhiguo Niu \u003czhiguo.niu@unisoc.com\u003e\nReviewed-by: Chao Yu \u003cchao@kernel.org\u003e\nSigned-off-by: Jaegeuk Kim \u003cjaegeuk@kernel.org\u003e\n"
    },
    {
      "commit": "2893f7c6c5e47f96db2158fa93914316d88fdb85",
      "tree": "b47d655374de72ae0173f056d554fd6d1665dc6d",
      "parents": [
        "b7b6cacc347d567a7d60767af470e33a30f0b91c"
      ],
      "author": {
        "name": "Yohan Joung",
        "email": "jyh429@gmail.com",
        "time": "Tue Oct 29 22:45:51 2024 +0900"
      },
      "committer": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk@kernel.org",
        "time": "Tue Oct 29 17:49:32 2024 +0000"
      },
      "message": "mkfs.f2fs: adjust zone alignment when using convention partition with zoned one\n\nWhen formatting conventional partition with zoned one, we are already\naligning the starting block address of the next device to the zone size.\nTherefore, we do not align the segment0 address to the zone alignment.\nThis reduces the wasted zone_align_start_offset.\n\nTest result\nsegment0 blkaddr 389583 -\u003e 119251\nAdd one additional section to main\n\nSigned-off-by: Yohan Joung \u003cyohan.joung@sk.com\u003e\nReviewed-by: Daeho Jeong \u003cdaehojeong@google.com\u003e\nSigned-off-by: Jaegeuk Kim \u003cjaegeuk@kernel.org\u003e\n"
    },
    {
      "commit": "b7b6cacc347d567a7d60767af470e33a30f0b91c",
      "tree": "2e86182822d164d82ff01d902e4db1e582999d40",
      "parents": [
        "6617d15a660becc23825007ab3fc2d270b5b250f"
      ],
      "author": {
        "name": "Sheng Yong",
        "email": "shengyong@oppo.com",
        "time": "Thu Oct 24 11:36:41 2024 +0800"
      },
      "committer": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk@kernel.org",
        "time": "Mon Oct 28 17:44:43 2024 +0000"
      },
      "message": "fsck.f2fs: fix incorrect parent blkaddr when adding lost dots\n\nIf dot or dotdot is lost, fsck tries to add a new dentry by\nf2fs_add_link(). The blkaddr of the directory inode should be\npassed to it in order to update the dirty inode at the right\nplace. This patch fixes the uninitialized `blkaddr\u0027 to avoid\ncorrupting f2fs image.\n\nSigned-off-by: Sheng Yong \u003cshengyong@oppo.com\u003e\nReviewed-by: Chao Yu \u003cchao@kernel.org\u003e\nSigned-off-by: Jaegeuk Kim \u003cjaegeuk@kernel.org\u003e\n"
    },
    {
      "commit": "6617d15a660becc23825007ab3fc2d270b5b250f",
      "tree": "8432e318b27cf14532b1b1f1b009cf2ccf25ee8d",
      "parents": [
        "43d6b668fba6850be868cd5a8c2473f0f749cee7"
      ],
      "author": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk@kernel.org",
        "time": "Thu Oct 24 20:33:38 2024 +0000"
      },
      "committer": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk@kernel.org",
        "time": "Thu Oct 24 21:40:54 2024 +0000"
      },
      "message": "f2fs-tools: use stdbool.h instead of bool\n\nThe existing bool definition is broken for c23, where bool is now a keyword.\n\nSigned-off-by: Elliott Hughes \u003cenh@google.com\u003e\nSigned-off-by: Jaegeuk Kim \u003cjaegeuk@kernel.org\u003e\n"
    },
    {
      "commit": "43d6b668fba6850be868cd5a8c2473f0f749cee7",
      "tree": "7b3dd424ab373a5e628540892398b32521e435d9",
      "parents": [
        "bce0e1e05153ab0a0a610d3f7c3ad5fd71f6b6f1"
      ],
      "author": {
        "name": "Chao Yu",
        "email": "chao@kernel.org",
        "time": "Fri Oct 18 15:04:28 2024 +0800"
      },
      "committer": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk@kernel.org",
        "time": "Mon Oct 21 23:25:39 2024 +0000"
      },
      "message": "f2fs_io: {set,clear}flags: support nocow flag\n\nThis patch supports to set or clear nocow flag in f2fs_io\n\nSigned-off-by: Chao Yu \u003cchao@kernel.org\u003e\nSigned-off-by: Jaegeuk Kim \u003cjaegeuk@kernel.org\u003e\n"
    }
  ],
  "next": "bce0e1e05153ab0a0a610d3f7c3ad5fd71f6b6f1"
}
