)]}'
{
  "log": [
    {
      "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"
    },
    {
      "commit": "bce0e1e05153ab0a0a610d3f7c3ad5fd71f6b6f1",
      "tree": "649c604bc359730f3f5a616dbafa280581307b41",
      "parents": [
        "bd9d28398d9a3743acac7f626dc16f954898a207"
      ],
      "author": {
        "name": "Chao Yu",
        "email": "chao@kernel.org",
        "time": "Fri Oct 18 15:04:27 2024 +0800"
      },
      "committer": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk@kernel.org",
        "time": "Mon Oct 21 23:25:32 2024 +0000"
      },
      "message": "f2fs_io: {set,clear}flags: support immutable flag correctly\n\nHand over immutable flag clearing functionality from setflags to\nclearflags, since the flag name is immutable rather than noimmutable.\n\nAnd support setting functionality in subcommand setflags.\n\nSigned-off-by: Chao Yu \u003cchao@kernel.org\u003e\nSigned-off-by: Jaegeuk Kim \u003cjaegeuk@kernel.org\u003e\n"
    },
    {
      "commit": "bd9d28398d9a3743acac7f626dc16f954898a207",
      "tree": "8f4dbae4c3a7359436b2515b25f142d79908cbb4",
      "parents": [
        "83f090d220a4f0feede1ca8eb0f1f6d323688a68"
      ],
      "author": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk@kernel.org",
        "time": "Tue Oct 15 15:38:39 2024 +0000"
      },
      "committer": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk@kernel.org",
        "time": "Tue Oct 15 17:08:35 2024 +0000"
      },
      "message": "mkfs.f2fs: don\u0027t trim on aliased partition\n\nReviewed-by: Daeho Jeong \u003cdaehojeong@google.com\u003e\nSigned-off-by: Jaegeuk Kim \u003cjaegeuk@kernel.org\u003e\n"
    },
    {
      "commit": "83f090d220a4f0feede1ca8eb0f1f6d323688a68",
      "tree": "a43fc5acf06c43eac71005bdd980e62a22c2c50e",
      "parents": [
        "7326e5aff3fdd831a72b919effb628574bd2cb48"
      ],
      "author": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk@kernel.org",
        "time": "Tue Oct 15 00:10:45 2024 +0000"
      },
      "committer": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk@kernel.org",
        "time": "Tue Oct 15 15:23:28 2024 +0000"
      },
      "message": "f2fs-tools: remove linux/fcntl.h but define the hint directly\n\nIt\u0027s complicated to address libc and kernel headers.\n\nReviewed-by: Chao Yu \u003cchao@kernel.org\u003e\nSigned-off-by: Jaegeuk Kim \u003cjaegeuk@kernel.org\u003e\n"
    },
    {
      "commit": "7326e5aff3fdd831a72b919effb628574bd2cb48",
      "tree": "98f684698d79e2c1142c1f1b3939d9c3b9c07a5f",
      "parents": [
        "312de6fd6d486c7290855735e3918cf93e4a9462"
      ],
      "author": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk@kernel.org",
        "time": "Mon Oct 14 21:31:44 2024 +0000"
      },
      "committer": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk@kernel.org",
        "time": "Mon Oct 14 21:31:44 2024 +0000"
      },
      "message": "f2fs_io: choose MB/s instead of MiB/s\n\nSigned-off-by: Jaegeuk Kim \u003cjaegeuk@kernel.org\u003e\n"
    },
    {
      "commit": "312de6fd6d486c7290855735e3918cf93e4a9462",
      "tree": "54f1d262e57172040c8dee1eba74e23672c623bd",
      "parents": [
        "0cd64a71efb06a5a0e0e8a5d78bb262f72f80982"
      ],
      "author": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk@kernel.org",
        "time": "Fri Oct 11 14:22:48 2024 -0700"
      },
      "committer": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk@kernel.org",
        "time": "Mon Oct 14 16:26:40 2024 +0000"
      },
      "message": "f2fs_io: support fadvice for read\n\nThis adds a way to boost read performance by giving fadvise.\n\nSigned-off-by: Jaegeuk Kim \u003cjaegeuk@kernel.org\u003e\n"
    },
    {
      "commit": "0cd64a71efb06a5a0e0e8a5d78bb262f72f80982",
      "tree": "d2104ea691127d8356f988c27ab7d09745652fde",
      "parents": [
        "8cc4e257ec20bee207bb034d5ac406e1ab31eaea"
      ],
      "author": {
        "name": "LongPing Wei",
        "email": "weilongping@oppo.com",
        "time": "Sun Sep 29 14:17:14 2024 +0800"
      },
      "committer": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk@kernel.org",
        "time": "Mon Oct 14 16:26:40 2024 +0000"
      },
      "message": "f2fs_io: add fdatasync\n\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": "8cc4e257ec20bee207bb034d5ac406e1ab31eaea",
      "tree": "cd38ef6ccab7b9f54fbcbc4081d60b295d36cdba",
      "parents": [
        "c35fa8cd75ac98238f9e6d8f7a23f74b4897aa1b"
      ],
      "author": {
        "name": "Daeho Jeong",
        "email": "daehojeong@google.com",
        "time": "Fri Sep 27 09:06:55 2024 -0700"
      },
      "committer": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk@kernel.org",
        "time": "Fri Oct 11 22:49:52 2024 +0000"
      },
      "message": "mkfs.f2fs: add device aliasing feature\n\nWe can add a device aliasing file which can map the whole device with an\nextent, not using node blocks. This mapped area should be pinned and\nnormally used for read-only usages. After finished using it, we can\ndeallocate the whole area and return it back to use it for other files.\n\nSigned-off-by: Daeho Jeong \u003cdaehojeong@google.com\u003e\nSigned-off-by: Jaegeuk Kim \u003cjaegeuk@kernel.org\u003e\n"
    },
    {
      "commit": "c35fa8cd75ac98238f9e6d8f7a23f74b4897aa1b",
      "tree": "4f25e580f7070aa90ab333029d270e2742cf66b8",
      "parents": [
        "5c06793f804af6c01483134aebd4dfe3350794a1"
      ],
      "author": {
        "name": "Daeho Jeong",
        "email": "daehojeong@google.com",
        "time": "Fri Sep 27 09:06:54 2024 -0700"
      },
      "committer": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk@kernel.org",
        "time": "Fri Oct 11 22:49:52 2024 +0000"
      },
      "message": "mkfs.f2fs: change -c option description\n\nCurrent description confuses users like they can add addtional devices\nwith one -c option using commas(,) at the same time.\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": "5c06793f804af6c01483134aebd4dfe3350794a1",
      "tree": "ebab7d1e7131fad869adc4ded656e3e9d7876b20",
      "parents": [
        "48fb9473ce8d7a470911903a3bab520468aa1a0e"
      ],
      "author": {
        "name": "Daejun Park",
        "email": "daejun7.park@samsung.com",
        "time": "Wed Sep 04 10:12:17 2024 +0900"
      },
      "committer": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk@kernel.org",
        "time": "Fri Oct 11 22:49:52 2024 +0000"
      },
      "message": "f2fs-tools: add write hint support\n\nThis patch enables support for write hints by segment type.\n\nSigned-off-by: Daejun Park \u003cdaejun7.park@samsung.com\u003e\nReviewed-by: Chao Yu \u003cchao@kernel.org\u003e\nSigned-off-by: Jaegeuk Kim \u003cjaegeuk@kernel.org\u003e\n"
    },
    {
      "commit": "48fb9473ce8d7a470911903a3bab520468aa1a0e",
      "tree": "fb7a9e74108c4f02ce38eb320465196f43355d69",
      "parents": [
        "4ce6d22c2085df24cdd7c38fb9215a40abce1d87"
      ],
      "author": {
        "name": "Daeho Jeong",
        "email": "daehojeong@google.com",
        "time": "Mon Sep 09 09:45:35 2024 -0700"
      },
      "committer": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk@kernel.org",
        "time": "Fri Oct 11 22:49:52 2024 +0000"
      },
      "message": "fsck.f2fs: remove redundant i_ext.len set to zero\n\nRemoved a redundant code to set i_ext.len to zero.\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": "4ce6d22c2085df24cdd7c38fb9215a40abce1d87",
      "tree": "750d1d5418b6d81c5222f569a1a1162e5b8058a0",
      "parents": [
        "82b59c71a76e00108778dcb720f34b629e45bbc8"
      ],
      "author": {
        "name": "Chao Yu",
        "email": "chao@kernel.org",
        "time": "Wed Sep 04 11:17:46 2024 +0800"
      },
      "committer": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk@kernel.org",
        "time": "Fri Oct 11 22:49:52 2024 +0000"
      },
      "message": "fsck.f2fs: support to add missing \u0027.\u0027 or \u0027..\u0027 dirent\n\nPreviously, once fsck.f2fs detects that directory missed \u0027.\u0027 or\n\u0027..\u0027 dirent, it tags inode w/ F2FS_INLINE_DOTS flag, and expects\nf2fs kernel module can repaire it online during it runs to lookup()\non target directory.\n\nThis patch abandons previous implementation, and do repaires directly.\n\nReviewed-by: Sheng Yong \u003cshengyong@oppo.com\u003e\nSigned-off-by: Chao Yu \u003cchao@kernel.org\u003e\nSigned-off-by: Jaegeuk Kim \u003cjaegeuk@kernel.org\u003e\n"
    },
    {
      "commit": "82b59c71a76e00108778dcb720f34b629e45bbc8",
      "tree": "5b5abd8911709533712b4dd0ab8952d9b921e621",
      "parents": [
        "662e619cfaee04ef123e43b29df865aa1d903b0f"
      ],
      "author": {
        "name": "Chao Yu",
        "email": "chao@kernel.org",
        "time": "Wed Sep 04 11:17:45 2024 +0800"
      },
      "committer": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk@kernel.org",
        "time": "Fri Oct 11 22:49:52 2024 +0000"
      },
      "message": "fsck.f2fs: fix to detect double \u0027.\u0027 or \u0027..\u0027\n\nIf there are double \u0027.\u0027 or \u0027..\u0027 dirents in directory, fsck.f2fs won\u0027t\ndetect and repaire the issue correctly, fix it.\n\nReviewed-by: Sheng Yong \u003cshengyong@oppo.com\u003e\nSigned-off-by: Chao Yu \u003cchao@kernel.org\u003e\nSigned-off-by: Jaegeuk Kim \u003cjaegeuk@kernel.org\u003e\n"
    },
    {
      "commit": "662e619cfaee04ef123e43b29df865aa1d903b0f",
      "tree": "6d331948a2b540fb96eb74e68841e0f7af5d2bc8",
      "parents": [
        "9ad0ad3a7ff9e1bdb6aa604ea5fdfb5853438785"
      ],
      "author": {
        "name": "Daeho Jeong",
        "email": "daehojeong@google.com",
        "time": "Tue Sep 03 10:31:57 2024 -0700"
      },
      "committer": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk@kernel.org",
        "time": "Fri Oct 11 22:49:52 2024 +0000"
      },
      "message": "mkfs.f2fs: use correct endian conversion for writing lpf inode\n\nThe conversion between cpu and little endian is incorrect.\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": "9ad0ad3a7ff9e1bdb6aa604ea5fdfb5853438785",
      "tree": "d49d4f2138c8d2f92b64f1c636e11103c9000ade",
      "parents": [
        "b9a68f381b3447b8df10102757a34431cc2b2eb6"
      ],
      "author": {
        "name": "Sheng Yong",
        "email": "shengyong@oppo.com",
        "time": "Thu Jul 04 10:57:39 2024 +0800"
      },
      "committer": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk@kernel.org",
        "time": "Fri Oct 11 22:49:52 2024 +0000"
      },
      "message": "inject.f2fs: add dentry injection\n\nThis patch enables injecting dentry block or dir entry.\nprint_raw_dentry_info() is added to show values of node footer.\n\nThe meanings of options are:\n * dent: means dentry is injected.\n\nThe members could be injected in cp contains:\n * d_bitmap: dentry block d_bitmap of nid\n * d_hash: dentry hash\n * d_ino: dentry ino\n * d_ftype: dentry ftype\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": "b9a68f381b3447b8df10102757a34431cc2b2eb6",
      "tree": "9d92a1975d7eb83c7011390eaf1e5047010c264d",
      "parents": [
        "896eff74dbbc3d4e0e326dcdd8a98c8107db5331"
      ],
      "author": {
        "name": "zhangxirui",
        "email": "xirui.zhang@vivo.com",
        "time": "Thu Aug 01 03:18:22 2024 -0600"
      },
      "committer": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk@kernel.org",
        "time": "Thu Aug 15 15:22:43 2024 +0000"
      },
      "message": "f2fs-tools: reduce overprov_segment_count set times\n\nIf overprov_segment_count \u003c rsvd_segment_count will\nset_cp(overprov_segment_count) twice, reduce it.\n\nSigned-off-by: zhangxirui \u003cxirui.zhang@vivo.com\u003e\nReviewed-by: Chao Yu \u003cchao@kernel.org\u003e\nSigned-off-by: Jaegeuk Kim \u003cjaegeuk@kernel.org\u003e\n"
    },
    {
      "commit": "896eff74dbbc3d4e0e326dcdd8a98c8107db5331",
      "tree": "3c059c6eccba766aa8a8db25db01314843b1a76e",
      "parents": [
        "f6f644859182d82c7b27b2c18cd5b50c5725bb03"
      ],
      "author": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk@kernel.org",
        "time": "Thu Aug 08 20:56:48 2024 +0000"
      },
      "committer": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk@kernel.org",
        "time": "Thu Aug 15 15:22:39 2024 +0000"
      },
      "message": "fsck.f2fs: don\u0027t finish zones if it\u0027s not open\n\nShould finish zones if they are open.\n\nReviewed-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": "f6f644859182d82c7b27b2c18cd5b50c5725bb03",
      "tree": "4aeb7b1e1e70ba10c3f30b183f74aa3e92fcaf53",
      "parents": [
        "309f273b3d9d3ac14088b74307103a72ad052440"
      ],
      "author": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk@kernel.org",
        "time": "Wed Jul 10 23:02:48 2024 +0000"
      },
      "committer": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk@kernel.org",
        "time": "Wed Jul 31 20:28:05 2024 +0000"
      },
      "message": "inject.f2fs: install makefile\n\nReviewed-by: Chao Yu \u003cchao@kernel.org\u003e\nSigned-off-by: Jaegeuk Kim \u003cjaegeuk@kernel.org\u003e\n"
    },
    {
      "commit": "309f273b3d9d3ac14088b74307103a72ad052440",
      "tree": "24d084947a026ac86be0c77019f41734efc45cb7",
      "parents": [
        "6efff7aee3ac179d794e4d1d57e94136ef5f717d"
      ],
      "author": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk@kernel.org",
        "time": "Thu Jul 25 18:02:46 2024 +0000"
      },
      "committer": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk@kernel.org",
        "time": "Wed Jul 31 20:28:00 2024 +0000"
      },
      "message": "inject.f2fs: fix some build errors\n\nReviewed-by: Chao Yu \u003cchao@kernel.org\u003e\nSigned-off-by: Jaegeuk Kim \u003cjaegeuk@kernel.org\u003e\n"
    },
    {
      "commit": "6efff7aee3ac179d794e4d1d57e94136ef5f717d",
      "tree": "077dcb7085040e6d5416488af6e77897a212211d",
      "parents": [
        "72f6b7806c955749ca580cd17d64b590354a58bf"
      ],
      "author": {
        "name": "Wu Bo",
        "email": "bo.wu@vivo.com",
        "time": "Thu Jul 25 20:25:50 2024 -0600"
      },
      "committer": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk@kernel.org",
        "time": "Tue Jul 30 16:31:59 2024 +0000"
      },
      "message": "dump.f2fs: add checkpoint version to dump_nat\n\nThe cp_ver of node footer is useful when analyzing data corruption\nissues.\n\nSigned-off-by: Wu Bo \u003cbo.wu@vivo.com\u003e\nReviewed-by: Chao Yu \u003cchao@kernel.org\u003e\nSigned-off-by: Jaegeuk Kim \u003cjaegeuk@kernel.org\u003e\n"
    },
    {
      "commit": "72f6b7806c955749ca580cd17d64b590354a58bf",
      "tree": "2b401b1fb0f668573e43d2426ea0fe2190fb32c0",
      "parents": [
        "1aeab18dc61407a4c384c628435e7829c0e5c518"
      ],
      "author": {
        "name": "Peter Collingbourne",
        "email": "pcc@google.com",
        "time": "Fri Jul 26 15:33:09 2024 -0700"
      },
      "committer": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk@kernel.org",
        "time": "Tue Jul 30 16:31:59 2024 +0000"
      },
      "message": "mkfs.f2fs: Fix out-of-bounds read in f2fs_prepare_super_block\n\nThe path field in c.devices[i] is a pointer and is normally filled\nin using strdup. This makes it invalid to copy MAX_PATH_LEN bytes\nfrom it because the string may be shorter than that. Therefore,\nfix the code to use strncpy to copy the string instead.\n\nSigned-off-by: Peter Collingbourne \u003cpcc@google.com\u003e\nSigned-off-by: Jaegeuk Kim \u003cjaegeuk@kernel.org\u003e\n"
    },
    {
      "commit": "1aeab18dc61407a4c384c628435e7829c0e5c518",
      "tree": "dab12ff04b518222027fc5d8656716769139331b",
      "parents": [
        "ed8b267262ec8d25de290445e7164ea4f334b647"
      ],
      "author": {
        "name": "Sheng Yong",
        "email": "shengyong@oppo.com",
        "time": "Thu Jul 04 10:57:40 2024 +0800"
      },
      "committer": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk@kernel.org",
        "time": "Thu Jul 25 18:40:29 2024 +0000"
      },
      "message": "man: add inject.f2fs man page\n\nReviewed-by: Chao Yu \u003cchao@kernel.org\u003e\nSigned-off-by: Sheng Yong \u003cshengyong@oppo.com\u003e\nSigned-off-by: Jaegeuk Kim \u003cjaegeuk@kernel.org\u003e\n"
    },
    {
      "commit": "ed8b267262ec8d25de290445e7164ea4f334b647",
      "tree": "d38b60ec5c6cb56f35aa331f2b111b1fa2352feb",
      "parents": [
        "27aa00c503f5f4457d6640cfbd33d1a9be46632f"
      ],
      "author": {
        "name": "Sheng Yong",
        "email": "shengyong@oppo.com",
        "time": "Thu Jul 04 10:57:38 2024 +0800"
      },
      "committer": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk@kernel.org",
        "time": "Thu Jul 25 18:40:29 2024 +0000"
      },
      "message": "inject.f2fs: add node injection\n\nThis patch enables injecting node block. print_node_footer_info() is\nadded to show values of node footer.\n\nThe meanings of options are:\n * node: means node is injected.\n\nThe members could be injected in cp contains:\n * nid: node footer nid\n * ino: node footer ino\n * flag: node footer flag\n * cp_ver: node footer cp_ver\n * next_blkaddr: node footer next_blkaddr\n * i_mode: inode i_mode\n * i_advise: inode i_advise\n * i_inline: inode i_inline\n * i_links: inode i_links\n * i_size: inode i_size\n * i_blocks: inode i_blocks\n * i_extra_isize: inode i_extra_isize\n * i_inode_checksum: inode i_inode_checksum\n * i_addr: inode i_addr array\n * i_nid: inode i_nid array\n * addr: {in}direct node nid/addr array\n\nReviewed-by: Chao Yu \u003cchao@kernel.org\u003e\nSigned-off-by: Sheng Yong \u003cshengyong@oppo.com\u003e\nSigned-off-by: Jaegeuk Kim \u003cjaegeuk@kernel.org\u003e\n"
    },
    {
      "commit": "27aa00c503f5f4457d6640cfbd33d1a9be46632f",
      "tree": "80c6cac4a9d4793206072993d1b23ebbe4d792fc",
      "parents": [
        "0d7c27c5da12786b134854a2ff4009bf2ca1eb78"
      ],
      "author": {
        "name": "Sheng Yong",
        "email": "shengyong@oppo.com",
        "time": "Thu Jul 04 10:57:37 2024 +0800"
      },
      "committer": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk@kernel.org",
        "time": "Thu Jul 25 18:40:29 2024 +0000"
      },
      "message": "inject.f2fs: add ssa injection\n\nThis patch enables injecting summary block or summary entry.\nprint_raw_sum_entry_info() and print_sum_footer_info() are added to show\nvalues of the ssa entry and summary footer.\n\nThe meanings of options are:\n * ssa: means ssa entry is injected.\n\nThe members could be injected in cp contains:\n * entry_type: summary block footer entry_type\n * check_sum: summary block footer check_sum\n * nid: summary entry nid\n * version: summary entry version\n * ofs_in_node: summary entry ofs_in_node\n\nReviewed-by: Chao Yu \u003cchao@kernel.org\u003e\nSigned-off-by: Sheng Yong \u003cshengyong@oppo.com\u003e\nSigned-off-by: Jaegeuk Kim \u003cjaegeuk@kernel.org\u003e\n"
    },
    {
      "commit": "0d7c27c5da12786b134854a2ff4009bf2ca1eb78",
      "tree": "f06168bf0e07485c2e003b9b448d3322ba280319",
      "parents": [
        "28754d326c5dec00c052ffc89557bae084f82bf6"
      ],
      "author": {
        "name": "Sheng Yong",
        "email": "shengyong@oppo.com",
        "time": "Thu Jul 04 10:57:36 2024 +0800"
      },
      "committer": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk@kernel.org",
        "time": "Thu Jul 25 18:40:29 2024 +0000"
      },
      "message": "inject.f2fs: add sit injection\n\nThis patch enables injecting sit entry. print_raw_sit_entry_info() is\nadded to show values of the sit entry.\n\nThe meanings of options are:\n * sit: means sit entry is injected, its argument chooses which sit pack\n        to be injected, where 0 means the current valid sit is choosen\n\tautomatically.\n * blk: is the block address of the sit entry.\n\nThe members could be injected in cp contains:\n * vblocks: sit entry vblocks\n * valid_map: sit entry valid_map\n * mtime: sit entry mtime\n\nReviewed-by: Chao Yu \u003cchao@kernel.org\u003e\nSigned-off-by: Sheng Yong \u003cshengyong@oppo.com\u003e\nSigned-off-by: Jaegeuk Kim \u003cjaegeuk@kernel.org\u003e\n"
    },
    {
      "commit": "28754d326c5dec00c052ffc89557bae084f82bf6",
      "tree": "eca4642a07fbe77825e54d242b3f3a786dc63b07",
      "parents": [
        "a6cca0edf0686139758a5f5feb975b19c2c7eba7"
      ],
      "author": {
        "name": "Sheng Yong",
        "email": "shengyong@oppo.com",
        "time": "Thu Jul 04 10:57:35 2024 +0800"
      },
      "committer": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk@kernel.org",
        "time": "Thu Jul 25 18:40:29 2024 +0000"
      },
      "message": "inject.f2fs: add nat injection\n\nThis patch enables injecting nat entry. print_raw_nat_entry_info() is\nadded to show values of the nat entry.\n\nThe meanings of options are:\n * nat: means nat entry is injected, its argument chooses which nat pack\n        to be injected, where 0 means the current valid nat is choosen\n\tautomatically.\n * nid: is the nid of the nat entry\n\nThe members could be injected in cp contains:\n * version: nat entry version\n * ino: nat entry ino\n * block_addr: nat entry block_addr\n\nReviewed-by: Chao Yu \u003cchao@kernel.org\u003e\nSigned-off-by: Sheng Yong \u003cshengyong@oppo.com\u003e\nSigned-off-by: Jaegeuk Kim \u003cjaegeuk@kernel.org\u003e\n"
    },
    {
      "commit": "a6cca0edf0686139758a5f5feb975b19c2c7eba7",
      "tree": "6d82d97d2c8be4d6c5f70b9b8ff94b17fc40465b",
      "parents": [
        "082e3515a7267a997fd33ded315fa481bfb457bf"
      ],
      "author": {
        "name": "Sheng Yong",
        "email": "shengyong@oppo.com",
        "time": "Thu Jul 04 10:57:34 2024 +0800"
      },
      "committer": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk@kernel.org",
        "time": "Thu Jul 25 18:40:29 2024 +0000"
      },
      "message": "inject.f2fs: add cp injection\n\nThis patch enables injecting checkpoint. To archive this, a helper\nwrite_raw_cp_blocks() is added to write the first and last blocks\nof a specific cp. And print_ckpt_info() is exported to show new\ncheckpoint info.\n\nThe meanings of options are:\n * cp: means cp is injected, its argument chooses which cp pack to be\n       injected, where 0 means the current valid cp is choosen\n       automatically.\n\nThe members could be injected in cp contains:\n * checkpoint_ver: checkpoint version\n * ckpt_flags: checkpoint flags\n * cur_node_segno: cur_node_segno array\n * cur_node_blkoff: cur_node_blkoff array\n * cur_data_segno: cur_data_segno array\n * cur_data_blkoff: cur_data_blkoff array\n\nReviewed-by: Chao Yu \u003cchao@kernel.org\u003e\nSigned-off-by: Sheng Yong \u003cshengyong@oppo.com\u003e\nSigned-off-by: Jaegeuk Kim \u003cjaegeuk@kernel.org\u003e\n"
    },
    {
      "commit": "082e3515a7267a997fd33ded315fa481bfb457bf",
      "tree": "da9ae731bbbc259322cade9e6267f79be2c9758d",
      "parents": [
        "b39aa8064711b13bf355c88c0bc847506d6d7102"
      ],
      "author": {
        "name": "Sheng Yong",
        "email": "shengyong@oppo.com",
        "time": "Thu Jul 04 10:57:33 2024 +0800"
      },
      "committer": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk@kernel.org",
        "time": "Thu Jul 25 18:40:29 2024 +0000"
      },
      "message": "inject.f2fs: add sb injection\n\nThis patch enables injecting super block.\n\nThe meanings of options are:\n * sb: means sb is injected, its argument chooses which sb pack to be\n       injected, where 0 means the current valid sb is choosen\n       automatically.\n * mb: indicates which member in sb is injected, its argument is the\n       member name.\n * idx: is used when the mb is an array, its argument is the index of\n        the array.\n * val: is the new value to be set when the type of mb is a number.\n * str: is the new value to be set when the type of mb is a string.\n\nThe members could be injected in sb contains:\n * magic: magic number\n * s_stop_reason: s_stop_reason array\n * s_errors: s_errors array\n * devs.path: path in devs array\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": "b39aa8064711b13bf355c88c0bc847506d6d7102",
      "tree": "55b33f9484ce9dd66a7e66f32a63737f1832b814",
      "parents": [
        "a9066a4e23ec95265941e69eed12a2c1306d1527"
      ],
      "author": {
        "name": "Sheng Yong",
        "email": "shengyong@oppo.com",
        "time": "Thu Jul 04 10:57:32 2024 +0800"
      },
      "committer": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk@kernel.org",
        "time": "Thu Jul 25 18:40:29 2024 +0000"
      },
      "message": "inject.f2fs: introduce inject.f2fs\n\nThis patch introduces a new tool inject.f2fs to modify metadata or data\n(directory entry) of f2fs image offline flexibly.\n\nWith inject.f2fs, it is easier to generate a corrupted f2fs image, which\ncan help verify fsck or reproduce userspace behaviors of some a fault.\nIf option `--dry-run\u0027 is used, nothing really gets changed, and that\ncould be used to get the value of a specified field.\n\nThe following patches enable injecting each part of f2fs.\n\nReviewed-by: Chao Yu \u003cchao@kernel.org\u003e\nSigned-off-by: Sheng Yong \u003cshengyong@oppo.com\u003e\nSigned-off-by: Jaegeuk Kim \u003cjaegeuk@kernel.org\u003e\n"
    },
    {
      "commit": "a9066a4e23ec95265941e69eed12a2c1306d1527",
      "tree": "f6d044c89ffd00376b8255afc2b15ba46c71afcf",
      "parents": [
        "2c7fa4f0a1c6b20309ef9e421e3c94946d21354e"
      ],
      "author": {
        "name": "Sheng Yong",
        "email": "shengyong@oppo.com",
        "time": "Fri Jul 12 10:01:29 2024 +0800"
      },
      "committer": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk@kernel.org",
        "time": "Thu Jul 25 18:40:29 2024 +0000"
      },
      "message": "f2fs-tools: cleanup is_sit_bitmap_set\n\nRemove redundant function definition of is_sit_bitmap_set() and\nexport it.\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": "2c7fa4f0a1c6b20309ef9e421e3c94946d21354e",
      "tree": "58022b48033c9adc4fd30b666cd2ad0f28fcaf32",
      "parents": [
        "2d653ca599739a6e73e70bd488eda3cfaa30adc0"
      ],
      "author": {
        "name": "Sheng Yong",
        "email": "shengyong@oppo.com",
        "time": "Fri Jul 12 10:01:30 2024 +0800"
      },
      "committer": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk@kernel.org",
        "time": "Thu Jul 25 18:40:29 2024 +0000"
      },
      "message": "f2fs-tools: show device info of sb-\u003edevs\n\nShow multidevice infomation like the follwoing:\n\n  devs[i].path                            [meta.img]\n  devs[i].total_segments                  [0x      3f : 63]\n  devs[i].path                            [data.img]\n  devs[i].total_segments                  [0x      80 : 128]\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": "2d653ca599739a6e73e70bd488eda3cfaa30adc0",
      "tree": "e778bae21e7924decec9343dc0c5cd7f7f7ddc0a",
      "parents": [
        "752fcbe65af7e67fe408ba0e5e306a42158a3e30"
      ],
      "author": {
        "name": "Sheng Yong",
        "email": "shengyong@oppo.com",
        "time": "Fri Jul 12 10:01:31 2024 +0800"
      },
      "committer": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk@kernel.org",
        "time": "Thu Jul 25 18:40:28 2024 +0000"
      },
      "message": "fsck.f2fs: check all-zero inline data with helper is_zeroed\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": "752fcbe65af7e67fe408ba0e5e306a42158a3e30",
      "tree": "0d89892c2ee9f20926a0c9b285af444de941711c",
      "parents": [
        "3a3d362a86919af599b47870da04221d4dde22aa"
      ],
      "author": {
        "name": "Sheng Yong",
        "email": "shengyong@oppo.com",
        "time": "Fri Jul 12 10:01:32 2024 +0800"
      },
      "committer": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk@kernel.org",
        "time": "Thu Jul 25 18:40:28 2024 +0000"
      },
      "message": "fsck.f2fs: fix checking wp of all devices\n\nFor zoned model, the first device (devices[0]) is not zoned device,\nwhose zoned_model is not F2FS_ZONED_HM. Let\u0027s skip it and check write\npointer of left devices continuously.\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": "3a3d362a86919af599b47870da04221d4dde22aa",
      "tree": "f4dcfdfd9f66fe6e8cb1820516350f0d6a4feaad",
      "parents": [
        "d31d5f26ae91b58b64194cad71e29110b5fdbb5c"
      ],
      "author": {
        "name": "Sheng Yong",
        "email": "shengyong@oppo.com",
        "time": "Fri Jul 12 10:01:33 2024 +0800"
      },
      "committer": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk@kernel.org",
        "time": "Thu Jul 25 18:40:28 2024 +0000"
      },
      "message": "fsck.f2fs: update superblock if invalid\n\nIf a superblock failed in sanity check, it should be fixed. This patch\nadd a new state `sb_invalid\u0027 to tell fsck needs to update superblock\nat the end of all checkings.\n\nThis patch also cleans up force_stop, abnormal_stop, fs_errors and\nsb_invalid by merging them into an `invalid_sb\u0027 flags, and each of\nthem is indicated using one bit.\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": "d31d5f26ae91b58b64194cad71e29110b5fdbb5c",
      "tree": "58521f02e6edeb38219fac12cf65b8c6fe1c3fbe",
      "parents": [
        "250d610d62ef3f0763407230c5f6eae0c86c4090"
      ],
      "author": {
        "name": "Chao Yu",
        "email": "chao@kernel.org",
        "time": "Wed Jul 17 16:58:56 2024 +0800"
      },
      "committer": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk@kernel.org",
        "time": "Thu Jul 25 18:40:28 2024 +0000"
      },
      "message": "f2fs-tools: clean up addrs_per_{inode,block}()\n\nIntroduce a new help addrs_per_page() to wrap common code\nfrom addrs_per_inode() and addrs_per_block() for cleanup.\n\nSigned-off-by: Chao Yu \u003cchao@kernel.org\u003e\nSigned-off-by: Jaegeuk Kim \u003cjaegeuk@kernel.org\u003e\n"
    },
    {
      "commit": "250d610d62ef3f0763407230c5f6eae0c86c4090",
      "tree": "3adeea03ab987a781f8d150dd9ef5f71c404e0ae",
      "parents": [
        "1a1e775935d88abc994e04beeec74c85b4c8e06a"
      ],
      "author": {
        "name": "Chao Yu",
        "email": "chao@kernel.org",
        "time": "Wed Jul 17 16:58:01 2024 +0800"
      },
      "committer": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk@kernel.org",
        "time": "Thu Jul 25 18:40:28 2024 +0000"
      },
      "message": "f2fs-tools: fix to add missing le32_to_cpu()/cpu_to_le32()\n\nThis patch fixes some cases in where we missed to consider\nendianness when we access/update inode.i_flags.\n\nSigned-off-by: Chao Yu \u003cchao@kernel.org\u003e\nSigned-off-by: Jaegeuk Kim \u003cjaegeuk@kernel.org\u003e\n"
    },
    {
      "commit": "1a1e775935d88abc994e04beeec74c85b4c8e06a",
      "tree": "6d47a63b157e5f1c79ffe41834e088108a0b1a65",
      "parents": [
        "4f7ac389f4af614803060d2eea71e9cbde1fd823"
      ],
      "author": {
        "name": "Chao Yu",
        "email": "chao@kernel.org",
        "time": "Wed Jul 17 16:56:42 2024 +0800"
      },
      "committer": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk@kernel.org",
        "time": "Thu Jul 25 18:40:28 2024 +0000"
      },
      "message": "f2fs-tools: fix to do not dump inode if it has F2FS_NODUMP_FL flag\n\nQuoted from manual of chattr:\n\"\nCHATTR(1)\n...\n\nATTRIBUTES\nA file with the \u0027d\u0027 attribute set is not a candidate for backup when\nthe dump(8) program is run.\n\"\n\nOnce we set F2FS_NODUMP_FL flag to inode, do not allow dumping info\nfrom it.\n\nSigned-off-by: Chao Yu \u003cchao@kernel.org\u003e\nSigned-off-by: Jaegeuk Kim \u003cjaegeuk@kernel.org\u003e\n"
    },
    {
      "commit": "4f7ac389f4af614803060d2eea71e9cbde1fd823",
      "tree": "3b1cf891c168f14e951e90fa708c38f85b087ec0",
      "parents": [
        "a66d49fd267834fea0cfb699308a0eee87dbb4b8"
      ],
      "author": {
        "name": "Wu Bo",
        "email": "bo.wu@vivo.com",
        "time": "Wed Jul 24 04:28:18 2024 -0600"
      },
      "committer": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk@kernel.org",
        "time": "Thu Jul 25 18:40:28 2024 +0000"
      },
      "message": "libf2fs: add BLKFINISHZONE define if not defined\n\nBLKFINISHZONE may not defined in old blkzoned.h, and cause build error.\n\nSigned-off-by: Wu Bo \u003cbo.wu@vivo.com\u003e\nReviewed-by: Chao Yu \u003cchao@kernel.org\u003e\nSigned-off-by: Jaegeuk Kim \u003cjaegeuk@kernel.org\u003e\n"
    },
    {
      "commit": "a66d49fd267834fea0cfb699308a0eee87dbb4b8",
      "tree": "e4a9ef7b5086637fc7c1f5bcd5607289fdba498a",
      "parents": [
        "4a5da2ef15040605685c46e84e1d12b8858586ae"
      ],
      "author": {
        "name": "Daniel Rosenberg",
        "email": "drosen@google.com",
        "time": "Tue Jul 23 14:11:57 2024 -0700"
      },
      "committer": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk@kernel.org",
        "time": "Thu Jul 25 18:40:28 2024 +0000"
      },
      "message": "dump.f2fs: Dump symlinks as symlinks\n\nPreviously, dumped symlinks would always create regular files instead.\nThis allows symlinks to be dumped as symlinks with the -L option.\n\nThe i_name field\u0027s name may not be the same as the actual name from the\ndirent, so we use the dirent name when available.\n\nCurrently hardlinks aren\u0027t detected, so print a warning if we notice a\nnondirectory with a link count over 1.\n\nSigned-off-by: Daniel Rosenberg \u003cdrosen@google.com\u003e\nReviewed-by: Chao Yu \u003cchao@kernel.org\u003e\nSigned-off-by: Jaegeuk Kim \u003cjaegeuk@kernel.org\u003e\n"
    },
    {
      "commit": "4a5da2ef15040605685c46e84e1d12b8858586ae",
      "tree": "4ff549149f0280f4a8e4e858f7332df55b0b8ffd",
      "parents": [
        "bd1474707dac76621e27bf765713f9048381f0d1"
      ],
      "author": {
        "name": "Sheng Yong",
        "email": "shengyong@oppo.com",
        "time": "Thu Jul 04 10:57:31 2024 +0800"
      },
      "committer": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk@kernel.org",
        "time": "Wed Jul 10 22:51:40 2024 +0000"
      },
      "message": "f2fs-tools: export is_digits\n\nReviewed-by: Chao Yu \u003cchao@kernel.org\u003e\nSigned-off-by: Sheng Yong \u003cshengyong@oppo.com\u003e\nSigned-off-by: Jaegeuk Kim \u003cjaegeuk@kernel.org\u003e\n"
    },
    {
      "commit": "bd1474707dac76621e27bf765713f9048381f0d1",
      "tree": "4252a2f2693936e0d83e17bd067cc0a5fb209b02",
      "parents": [
        "584ebc710bc0779381595135e0686492c3908a20"
      ],
      "author": {
        "name": "Xiuhong Wang",
        "email": "xiuhong.wang@unisoc.com",
        "time": "Mon Jun 17 15:11:14 2024 +0800"
      },
      "committer": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk@kernel.org",
        "time": "Tue Jul 09 21:41:18 2024 +0000"
      },
      "message": "f2fs-tools: fix do_set_verity ioctl fail issue\n\nWhen using the f2fs_io tool to set_verity, it will fail as follows:\nunisc:/data # ./f2fs_io set_verity file\nFS_IOC_ENABLE_VERITY: Inappropriate ioctl for device\nthis is because commit: 95ae251fe828 (\"f2fs: add fs-verity support\"),\nthe passed parameters do not match the latest kernel version.\n\nAfter patch:\nunisoc:/data # ./f2fs_io set_verity file\nSet fsverity bit to file\nunisoc:/data # ./f2fs_io getflags file\nget a flag on file ret\u003d0, flags\u003dverity\n\nFixes: 95ae251fe828 (\"f2fs: add fs-verity support\")\nSigned-off-by: Xiuhong Wang \u003cxiuhong.wang@unisoc.com\u003e\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"
    }
  ],
  "next": "584ebc710bc0779381595135e0686492c3908a20"
}
