)]}'
{
  "log": [
    {
      "commit": "4f3af3a2acfe891af70696380c5c6f8b66dc8302",
      "tree": "4bd1fa001cce381424218ff450bd0d9341acca3d",
      "parents": [
        "e336ce7f2cc1e69c60d3b5a8d69a256772e9149d"
      ],
      "author": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk@kernel.org",
        "time": "Thu Jul 02 06:55:04 2026 +0000"
      },
      "committer": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk@kernel.org",
        "time": "Thu Jul 02 14:33:09 2026 +0000"
      },
      "message": "f2fs-tools: fix build failure on mac\n\nexternal/f2fs-tools/lib/libf2fs.c:1019:12: error: use of undeclared identifier \u0027BLKFLSBUF\u0027\n 1019 |         ioctl(fd, BLKFLSBUF);\n      |                   ^~~~~~~~~\n\nFixes: c188a3e303d9 (\"f2fs-tools: invalidate block device page cache before reading metadata\")\nReviewed-by: Chao Yu \u003cchao@kernel.org\u003e\nSigned-off-by: Jaegeuk Kim \u003cjaegeuk@kernel.org\u003e\n"
    },
    {
      "commit": "e336ce7f2cc1e69c60d3b5a8d69a256772e9149d",
      "tree": "6aae49c0635e6b1d1c7b0e68cf1dac74a45ff1ef",
      "parents": [
        "bcda70c7c4122d5412c6b9eade440c07abb2ce61"
      ],
      "author": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk@google.com",
        "time": "Mon Dec 07 09:11:47 2020 -0800"
      },
      "committer": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk@kernel.org",
        "time": "Thu Jul 02 14:33:09 2026 +0000"
      },
      "message": "f2fs_io: add include dir\n\nReviewed-by: Chao Yu \u003cchao@kernel.org\u003e\nSigned-off-by: Jaegeuk Kim \u003cjaegeuk@google.com\u003e\n"
    },
    {
      "commit": "bcda70c7c4122d5412c6b9eade440c07abb2ce61",
      "tree": "861ce09dca71380c17fbd761d43361871fd1dcbd",
      "parents": [
        "8788b1f0c53d59c64ea43f87833b35f56fae7f69"
      ],
      "author": {
        "name": "xiuhong.wang",
        "email": "xiuhong.wang@unisoc.com",
        "time": "Fri Jun 07 16:58:03 2024 +0800"
      },
      "committer": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk@kernel.org",
        "time": "Thu Jul 02 14:33:09 2026 +0000"
      },
      "message": "f2fs-tools: Build f2fs-tools with _FILE_OFFSET_BITS\u003d64\n\nAfter commit b15b6cc56ac7(\"f2fs-tools: convert to lseek() and kill\nlseek64\"), 32-bit Android should also be built with\n_FILE_OFFSET_BITS\u003d64.\n\nWhen calling the lseek function on arm32, if the offset exceeds 32\nbits, lseek fails. Therefore, the flag _FILE_OFFSET_BITS\u003d64 is\nadded to support operations with offsets greater than 32 bits on\narm32.\n\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"
    },
    {
      "commit": "8788b1f0c53d59c64ea43f87833b35f56fae7f69",
      "tree": "620fb326673e6aa9931ee3dff8000c2db8756812",
      "parents": [
        "d411ba1e68dfc21c82a51f8c1ce84d1ec7147b24"
      ],
      "author": {
        "name": "Chao Yu",
        "email": "chao@kernel.org",
        "time": "Wed Jun 17 07:43:39 2026 +0000"
      },
      "committer": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk@kernel.org",
        "time": "Thu Jul 02 14:33:09 2026 +0000"
      },
      "message": "fsck.f2fs: support to fix inconsistent sit-\u003etype of segments in large section\n\nfsck.f2fs -d1 \u003cdevice\u003e\n\n[fix_section_type:3036] wrong sit-\u003etype (4) in DATA secno:1 segno:2\n[fix_section_type:3036] wrong sit-\u003etype (4) in DATA secno:5 segno:11\n\nfsck.f2fs -f \u003cdevice\u003e\n\n[FIX] (fix_section_type:3040)  --\u003e Fix wrong sit-\u003etype (4 -\u003e 2) in DATA secno (1), segno (2)\n[FIX] (fix_section_type:3050)  --\u003e Fix wrong sit-\u003etype in DATA secno (1), totally 1 empty segment(s)\n[FIX] (fix_section_type:3040)  --\u003e Fix wrong sit-\u003etype (4 -\u003e 2) in DATA secno (5), segno (11)\n[FIX] (fix_section_type:3050)  --\u003e Fix wrong sit-\u003etype in DATA secno (5), totally 1 empty segment(s)\n\nNow it can only fix wrong sit-\u003etype of segment from NODE to DATA in a DATA\nsection, such inconsistent image can be generated by recovery.\n\nFor fuzzed image which contains below inconsistent sit-\u003etype, we can support\nto detect and repair later:\n1) empty NODE segment in DATA section (FIXED w/ current patch)\n2) empty DATA segment in NODE section\n3) valid segments w/ different temperature in DATA section\n4) valid segments w/ different temperature in NODE section\n5) valid segments w/ different sit-\u003etype in section\n\nCc: Daeho Jeong \u003cdaehojeong@google.com\u003e\nSigned-off-by: Chao Yu \u003cchao@kernel.org\u003e\nSigned-off-by: Jaegeuk Kim \u003cjaegeuk@kernel.org\u003e\n"
    },
    {
      "commit": "d411ba1e68dfc21c82a51f8c1ce84d1ec7147b24",
      "tree": "d487859da911d0da8e0528e4b1d5cf6205725b97",
      "parents": [
        "7e07b2e0afa01c9c6e50d971b3fc55583aa677af"
      ],
      "author": {
        "name": "Chao Yu",
        "email": "chao@kernel.org",
        "time": "Wed Jun 17 07:33:57 2026 +0000"
      },
      "committer": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk@kernel.org",
        "time": "Thu Jul 02 14:33:05 2026 +0000"
      },
      "message": "f2fs_io: adapt w/ page_size in aligned_xalloc()\n\nWhen allocating memory in aligned_xalloc(), if the requested alignment\n(e.g., F2FS_DEFAULT_BLKSIZE) is smaller than the system\u0027s page size,\naligned_alloc() will allocate memory that is not page-aligned on systems\nwith 16KB or 64KB page sizes.\n\nAs a result, subsequent calls to madvise(..., MADV_HUGEPAGE) will fail\nbecause madvise() requires the memory address and length to be page-aligned.\n\nFix this by dynamically adjusting the alignment and rounding up the requested\nallocation size (via roundup()) to the system\u0027s page size, ensuring that\nmemory is correctly page-aligned for madvise().\n\nSigned-off-by: Chao Yu \u003cchao@kernel.org\u003e\nReviewed-by: Zhiguo Niu \u003czhiguo.niu@unisoc.com\u003e\nSigned-off-by: Jaegeuk Kim \u003cjaegeuk@kernel.org\u003e\n"
    },
    {
      "commit": "7e07b2e0afa01c9c6e50d971b3fc55583aa677af",
      "tree": "5ef0246a5cc4d13ca8d1594906eb70b38b417b2f",
      "parents": [
        "5fde6652ec294e82a011adc6bf573d3a5b47553f"
      ],
      "author": {
        "name": "Chao Yu",
        "email": "chao@kernel.org",
        "time": "Tue Jun 16 09:48:02 2026 +0000"
      },
      "committer": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk@kernel.org",
        "time": "Wed Jun 17 00:39:29 2026 +0000"
      },
      "message": "fsck.f2fs: add bounds checking for orphan entry_count\n\nIn fsck_chk_orphan_node(), entry_count is read directly from the on-disk\norphan block footer. If an attacker or corrupted filesystem sets this to an\nexcessive value (e.g., 0xFFFFFFFF), it can cause a massive loop leading to\nout-of-bounds memory reads and out-of-bounds writes into the newly allocated\norphan repair block.\n\nFix this by ensuring entry_count does not exceed F2FS_ORPHANS_PER_BLOCK. If\nan invalid entry_count is encountered, safely reset it to 0 and write the\nrepaired orphan block to disk when running with auto-fix enabled.\n\nSigned-off-by: Chao Yu \u003cchao@kernel.org\u003e\nSigned-off-by: Jaegeuk Kim \u003cjaegeuk@kernel.org\u003e\n"
    },
    {
      "commit": "5fde6652ec294e82a011adc6bf573d3a5b47553f",
      "tree": "c647b737ba255da67e678f87833b73ed7dddf6ca",
      "parents": [
        "bdb1131187c8358f62331f1b3fddde88012acb9e"
      ],
      "author": {
        "name": "Chao Yu",
        "email": "chao@kernel.org",
        "time": "Tue Jun 16 09:48:01 2026 +0000"
      },
      "committer": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk@kernel.org",
        "time": "Wed Jun 17 00:39:29 2026 +0000"
      },
      "message": "fsck.f2fs: sanity check i_inline_xattr_size correctly\n\nCorrupted inode may contain invalid i_inline_xattr_size field, when\nF2FS_FEATURE_FLEXIBLE_INLINE_XATTR is enabled, and inode has not\nF2FS_INLINE_XATTR flag, fsck.f2fs won\u0027t check its validation, however\nwe will still use i_inline_xattr_size field via get_inline_xattr_addrs(),\nit may cause potential heap buffer underflows and out-of-bound read/write.\n\nIn addition, we missed to check i_inline_xattr_size w/ lower boundary\nMIN_INLINE_XATTR_SIZE like we did in kernel side.\n\nThis patch fixes above two issues.\n\nSigned-off-by: Chao Yu \u003cchao@kernel.org\u003e\nSigned-off-by: Jaegeuk Kim \u003cjaegeuk@kernel.org\u003e\n"
    },
    {
      "commit": "bdb1131187c8358f62331f1b3fddde88012acb9e",
      "tree": "2128baaf02ba8adf427de228da3ed1c8a972d53a",
      "parents": [
        "780a69ba84bb86f2711ed9fdefd22c534cc88946"
      ],
      "author": {
        "name": "liujinbao1",
        "email": "liujinbao1@xiaomi.com",
        "time": "Sat May 30 20:30:38 2026 +0800"
      },
      "committer": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk@kernel.org",
        "time": "Wed Jun 17 00:39:29 2026 +0000"
      },
      "message": "inject.f2fs: fix injecting nat/sit journal in compact summary\n\nWhen CP has CP_COMPACT_SUM_FLAG set, the nat/sit journal is stored in\ncompact summary blocks at start_sum_block() rather than in the regular\nsummary area. However, rewrite_nat_in_journal() and\nrewrite_sit_in_journal() only handled CP_UMOUNT_FLAG and the running\nstate, missing the compact summary case.This caused the fault injection\nto fail.\n\nFix this by adding the CP_COMPACT_SUM_FLAG check before the existing\nCP_UMOUNT_FLAG check in both functions, writing the journal to the\ncorrect compact summary block location.\n\nTest steps:\n1. NAT journal injection (nid\u003d4, quota file):\n  inject.f2fs --nat 0 --mb block_addr --nid 4 --val 12345 /dev/block/by-name/userdata\n  Before: blkaddr unchanged (308225)\n  After:  blkaddr \u003d 12345\n\n2. SIT journal injection (segno\u003d61075, CURSEG_COLD_DATA):\n  inject.f2fs --sit 0 --blk 0x1e1da00 --mb vblocks --val 123 /dev/block/by-name/userdata\n  Before: vblocks unchanged (0)\n  After:  vblocks \u003d 123\n\nSigned-off-by: Sheng Yong \u003cshengyong1@xiaomi.com\u003e\nSigned-off-by: liujinbao1 \u003cliujinbao1@xiaomi.com\u003e\nSigned-off-by: Jaegeuk Kim \u003cjaegeuk@kernel.org\u003e\n"
    },
    {
      "commit": "780a69ba84bb86f2711ed9fdefd22c534cc88946",
      "tree": "a044b0bda4cd5f2bcb39f4d7b856623b4d50e83a",
      "parents": [
        "f5e13ff0fe1b51c6e52f1883ec2cdf6a0d408022"
      ],
      "author": {
        "name": "Wenjie Qi",
        "email": "qwjhust@gmail.com",
        "time": "Tue May 26 19:35:05 2026 +0800"
      },
      "committer": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk@kernel.org",
        "time": "Wed Jun 17 00:39:29 2026 +0000"
      },
      "message": "fsck.f2fs: recognize inconsistent orphan error\n\nThe kernel can record ERROR_INCONSISTENT_ORPHAN in the superblock\ns_errors[] field when orphan inode metadata is inconsistent.\n\nAdd the matching f2fs_error entry and fsck error string so fsck.f2fs\ncan recognize and print this persistent corruption hint.\n\nSigned-off-by: Wenjie Qi \u003cqiwenjie@xiaomi.com\u003e\nReviewed-by: Chao Yu \u003cchao@kernel.org\u003e\nSigned-off-by: Jaegeuk Kim \u003cjaegeuk@kernel.org\u003e\n"
    },
    {
      "commit": "f5e13ff0fe1b51c6e52f1883ec2cdf6a0d408022",
      "tree": "69b0bd12cf15ccf19dfce93ee30a1670c7c85d04",
      "parents": [
        "8b0c58b4e40e1fc23e8ee868f4a3eaec4f7d547b"
      ],
      "author": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk@kernel.org",
        "time": "Fri May 22 22:02:53 2026 +0000"
      },
      "committer": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk@kernel.org",
        "time": "Fri May 22 22:02:53 2026 +0000"
      },
      "message": "Revert \"f2fs_io: support xattr(large_folio)\"\n\nThis reverts commit 1527dbffa936a382d7c4c49a2c1f6acc92ae36ec.\n"
    },
    {
      "commit": "8b0c58b4e40e1fc23e8ee868f4a3eaec4f7d547b",
      "tree": "3dff359d352590ac9bfe18a43ba08551b9006047",
      "parents": [
        "6b123c4d35ba3567d02291d3c1b4c3bd4f105efd"
      ],
      "author": {
        "name": "Łukasz Patron",
        "email": "priv.luk@gmail.com",
        "time": "Fri Mar 13 14:09:15 2026 +0100"
      },
      "committer": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk@kernel.org",
        "time": "Sun May 10 17:42:10 2026 +0000"
      },
      "message": "dump.f2fs: macOS does not support lsetxattr\n\nFixes: a66d49fd2678 (\"dump.f2fs: Dump symlinks as symlinks\")\nSigned-off-by: Łukasz Patron \u003cpriv.luk@gmail.com\u003e\nReviewed-by: Chao Yu \u003cchao@kernel.org\u003e\nSigned-off-by: Jaegeuk Kim \u003cjaegeuk@kernel.org\u003e\n"
    },
    {
      "commit": "6b123c4d35ba3567d02291d3c1b4c3bd4f105efd",
      "tree": "4083e0b2120203a08d1897330f9e209abaa7e09c",
      "parents": [
        "5a51baa8ff8ccd56668ea680b5b11e805bc5a2d5"
      ],
      "author": {
        "name": "Chao Yu",
        "email": "chao@kernel.org",
        "time": "Sat Mar 28 03:02:13 2026 +0000"
      },
      "committer": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk@kernel.org",
        "time": "Sun May 10 17:42:10 2026 +0000"
      },
      "message": "fsck.f2fs: add a sanity check in update_data_blkaddr()\n\n[   16.609296][  T423] fsck.f2fs: [ASSERT] (get_sum_block:2422)  --\u003e segno [0x222c] indicates a data segment, but should be node\n[   16.609300][  T423] fsck.f2fs: [ASSERT] (get_sum_block:2422)  --\u003e segno [0x222c] indicates a data segment, but should be node\n[   16.609318][  T423] fsck.f2fs: [ASSERT] (get_sum_block:2422)  --\u003e segno [0x222c] indicates a data segment, but should be node\n[   16.609323][  T423] fsck.f2fs: [ASSERT] (get_sum_block:2422)  --\u003e segno [0x222c] indicates a data segment, but should be node\n[   16.609329][  T423] fsck.f2fs: [ASSERT] (get_sum_block:2422)  --\u003e segno [0x222c] indicates a data segment, but should be node\n[   16.609332][  T423] fsck.f2fs: [ASSERT] (get_sum_block:2422)  --\u003e segno [0x222c] indicates a data segment, but should be node\n\n[   16.706176][  T574] DEBUG: Executable: /system/bin/fsck.f2fs\n[   16.706347][  T574] DEBUG: Cmdline: /system/bin/fsck.f2fs -a -c 10000 --debug-cache --nolinear-lookup\u003d1 /dev/block/mapper/userdata\n[   16.706519][  T574] DEBUG: pid: 531, ppid: 423, tid: 531, name: fsck.f2fs  \u003e\u003e\u003e /system/bin/fsck.f2fs \u003c\u003c\u003c\n[   16.706687][  T574] DEBUG: uid: 0\n[   16.706861][  T574] DEBUG: tagged_addr_ctrl: 0000000000000001 (PR_TAGGED_ADDR_ENABLE)\n[   16.707035][  T574] DEBUG: pac_enabled_keys: 000000000000000f (PR_PAC_APIAKEY, PR_PAC_APIBKEY, PR_PAC_APDAKEY, PR_PAC_APDBKEY)\n[   16.707360][  T574] DEBUG: esr: 0000000092000007 (Data Abort Exception 0x24)\n[   16.707520][  T574] DEBUG: signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 0x0000007fe0d0afd0 (read)\n[   16.707674][  T574] DEBUG: Cause: stack pointer is in a non-existent map; likely due to stack overflow.\n[   16.707832][  T574] DEBUG:     x0  00000056d9adcc08  x1  0000007fe0d0c0b8  x2  0000000000000000  x3  0000000000000001\n[   16.707987][  T574] DEBUG:     x4  0000000000000000  x5  00000056d9ad4000  x6  00000056d9adc000  x7  00000056d9adc000\n[   16.708141][  T574] DEBUG:     x8  0000000000000040  x9  0000000000000001  x10 0000000000001000  x11 0000007fe0d0afd0\n[   16.708296][  T574] DEBUG:     x12 0000000000001000  x13 0000000000000009  x14 000000000008c015  x15 00000000000004bc\n[   16.708564][  T574] DEBUG:     x16 b400007b0e7ea780  x17 b4000078fa60e870  x18 0000007b0ea08000  x19 00000000004d184c\n[   16.708741][  T574] DEBUG:     x20 00000056d9adcc08  x21 0000007fe0d0bfd0  x22 0000007fe0d0afd0  x23 00000056d9ad4954\n[   16.708914][  T574] DEBUG:     x24 0000000000000001  x25 b400007a6a60b9d0  x26 0000000000000037  x27 0000000000000001\n[   16.709108][  T574] DEBUG:     x28 0000000000000000  x29 0000007fe0d0c050\n[   16.709262][  T574] DEBUG:     lr  005b0fd6d9aba138  sp  0000007fe0d0afd0  pc  00000056d9aaf8a0  pst 0000000060001000\n[   16.709416][  T574] DEBUG:     esr 0000000092000007  vg  0000000000000002\n[   16.709571][  T574] DEBUG: 512 total frames\n[   16.709723][  T574] DEBUG: backtrace:\n[   16.710133][  T574] DEBUG:       #00 pc 000000000002f8a0  /system/bin/fsck.f2fs (find_next_free_block+192) (BuildId: e2a4d8d81fcb93e518e8bc64f8df050d)\n[   16.710482][  T574] DEBUG:       #01 pc 000000000003a134  /system/bin/fsck.f2fs (update_block+276) (BuildId: e2a4d8d81fcb93e518e8bc64f8df050d)\n[   16.710695][  T574] DEBUG:       #02 pc 000000000002e5e8  /system/bin/fsck.f2fs (update_data_blkaddr+296) (BuildId: e2a4d8d81fcb93e518e8bc64f8df050d)\n[   16.710875][  T574] DEBUG:       #03 pc 000000000003a250  /system/bin/fsck.f2fs (update_block+560) (BuildId: e2a4d8d81fcb93e518e8bc64f8df050d)\n\n... (loop)\n\n[   16.806359][  T574] DEBUG:       #505 pc 000000000003a250  /system/bin/fsck.f2fs (update_block+560) (BuildId: e2a4d8d81fcb93e518e8bc64f8df050d)\n[   16.806544][  T574] DEBUG:       #506 pc 000000000002e5e8  /system/bin/fsck.f2fs (update_data_blkaddr+296) (BuildId: e2a4d8d81fcb93e518e8bc64f8df050d)\n[   16.806730][  T574] DEBUG:       #507 pc 000000000003a250  /system/bin/fsck.f2fs (update_block+560) (BuildId: e2a4d8d81fcb93e518e8bc64f8df050d)\n[   16.806915][  T574] DEBUG:       #508 pc 000000000002e5e8  /system/bin/fsck.f2fs (update_data_blkaddr+296) (BuildId: e2a4d8d81fcb93e518e8bc64f8df050d)\n[   16.807101][  T574] DEBUG:       #509 pc 000000000003a250  /system/bin/fsck.f2fs (update_block+560) (BuildId: e2a4d8d81fcb93e518e8bc64f8df050d)\n[   16.807293][  T574] DEBUG:       #510 pc 000000000002e5e8  /system/bin/fsck.f2fs (update_data_blkaddr+296) (BuildId: e2a4d8d81fcb93e518e8bc64f8df050d)\n[   16.807478][  T574] DEBUG:       #511 pc 000000000003a250  /system/bin/fsck.f2fs (update_block+560) (BuildId: e2a4d8d81fcb93e518e8bc64f8df050d)\n[   16.807665][  T574] DEBUG: Note: To display stack pointer information, use the pbtombstone tool:\n\nIf there is inconsistent status in between SIT and node segment:\n1. SIT indicate the segment is data type\n2. a node block locates in the segment\n\nIt will cause deadloop w/ below patern:\n\na) fsck call update_block() to update the node block to a newly allocated\nblkaddr, however it finds the node is in data segment, so it treat the node\nblock as data block, then calling update_data_blkaddr() to update it to a\nnew blkaddr.\nb) in update_data_blkaddr(), because node_blk is NULL, so it treats the\nnewaddr as block address of data block, then calling update_block() to\nupdate metadata of target data block.\n\nThis patch adds a sanity check in update_data_blkaddr() to detect such\ninconsistency and end up w/ log and ASSERT().\n\nSigned-off-by: Chao Yu \u003cchao@kernel.org\u003e\nSigned-off-by: Jaegeuk Kim \u003cjaegeuk@kernel.org\u003e\n"
    },
    {
      "commit": "5a51baa8ff8ccd56668ea680b5b11e805bc5a2d5",
      "tree": "49d73be010f49e9f11e5b558412686ece0d7d123",
      "parents": [
        "1527dbffa936a382d7c4c49a2c1f6acc92ae36ec"
      ],
      "author": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk@kernel.org",
        "time": "Wed Apr 08 17:55:04 2026 +0000"
      },
      "committer": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk@kernel.org",
        "time": "Sun May 10 17:42:10 2026 +0000"
      },
      "message": "f2fs_io: use O_RDONLY for fadvise\n\nWe don\u0027t need O_RDWR for fadvise.\n\nReviewed-by: Chao Yu \u003cchao@kernel.org\u003e\nSigned-off-by: Jaegeuk Kim \u003cjaegeuk@kernel.org\u003e\n"
    },
    {
      "commit": "1527dbffa936a382d7c4c49a2c1f6acc92ae36ec",
      "tree": "6553deb060694e915813e5f9a343b7229a8b9810",
      "parents": [
        "5b251d2579491174f2950bb4c2e7d1b889bb35e8"
      ],
      "author": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk@kernel.org",
        "time": "Mon Apr 06 20:16:43 2026 +0000"
      },
      "committer": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk@kernel.org",
        "time": "Sun May 10 17:42:01 2026 +0000"
      },
      "message": "f2fs_io: support xattr(large_folio)\n\n[Script]\ndd if\u003d/dev/zero of\u003d/mnt/test/test bs\u003d1M count\u003d1024\nf2fs_io setxattr user.fadvise 1 /mnt/test/test\nchmod 0400 /mnt/test/test\nsync -f /mnt/test/test\necho 3 \u003e /proc/sys/vm/drop_caches\nf2fs_io read 1 0 100000 mmap 0 1 /mnt/test/test\nf2fs_io get_fadvise /mnt/test/test\n\n[Output]\n1024+0 records in\n1024+0 records out\n1073741824 bytes (1.1 GB, 1.0 GiB) copied, 0.520712 s, 2.1 GB/s\nsetxattr /mnt/test/test CREATE: name: user.fadvise, value: 1: ret\u003d0\nRead 409600000 bytes total_time \u003d 106757 us, BW \u003d 4286 MB/s, IO time \u003d 95577 us, mlock time \u003d 11173 us, print 1 bytes:\n00000000 : 00\nfadvise\u003d0x1, advise_type: largefolio\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": "5b251d2579491174f2950bb4c2e7d1b889bb35e8",
      "tree": "d4420ab422638e1870eb718fc46c3a73efb0aa83",
      "parents": [
        "952551eabadc302141daf0a900951497d200dd9a"
      ],
      "author": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk@kernel.org",
        "time": "Mon Apr 06 20:05:51 2026 +0000"
      },
      "committer": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk@kernel.org",
        "time": "Fri May 08 19:10:45 2026 +0000"
      },
      "message": "f2fs_io: fix length for setxattr\n\nReviewed-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": "952551eabadc302141daf0a900951497d200dd9a",
      "tree": "9cc6bacd5b33c8a1574ea658585e7dbfaf4abba6",
      "parents": [
        "77ac51a2859f7c172f7b71b022ebebe566ef019e"
      ],
      "author": {
        "name": "Chao Yu",
        "email": "chao@kernel.org",
        "time": "Fri Mar 13 07:25:15 2026 +0000"
      },
      "committer": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk@kernel.org",
        "time": "Mon Mar 23 21:25:13 2026 +0000"
      },
      "message": "fsck.f2fs: recognize STOP_CP_REASON_READ_{META,NODE,DATA}\n\nLet fsck recognize STOP_CP_REASON_READ_{META,NODE,DATA} for repair.\n\nSigned-off-by: Chao Yu \u003cchao@kernel.org\u003e\nSigned-off-by: Jaegeuk Kim \u003cjaegeuk@kernel.org\u003e\n"
    },
    {
      "commit": "77ac51a2859f7c172f7b71b022ebebe566ef019e",
      "tree": "22d9d7d08af2dc732614061858bddf5b8c781460",
      "parents": [
        "c188a3e303d9c158b0b6fd2536872a9d79e9e8f9"
      ],
      "author": {
        "name": "Yongpeng Yang",
        "email": "yangyongpeng@xiaomi.com",
        "time": "Mon Mar 09 12:00:33 2026 +0800"
      },
      "committer": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk@kernel.org",
        "time": "Mon Mar 23 21:25:13 2026 +0000"
      },
      "message": "f2fs_io: add flags parameter to fiemap subcommand\n\nAdd a flags parameter to the fiemap subcommand so that it can pass\nFIEMAP_FLAG_SYNC, FIEMAP_FLAG_XATTR, and FIEMAP_FLAG_CACHE. Before\nretrieving the fiemap, perform the corresponding actions based on\nthese flags, such as syncing data or preloading extents.\n\nSigned-off-by: Yongpeng Yang \u003cyangyongpeng@xiaomi.com\u003e\nReviewed-by: Chao Yu \u003cchao@kernel.org\u003e\nSigned-off-by: Jaegeuk Kim \u003cjaegeuk@kernel.org\u003e\n"
    },
    {
      "commit": "c188a3e303d9c158b0b6fd2536872a9d79e9e8f9",
      "tree": "caf4fdee003dd268b9fa067ae0f1a9219f590155",
      "parents": [
        "c949acc29a5a8705285263f630a7d830adba772c"
      ],
      "author": {
        "name": "Yongpeng Yang",
        "email": "yangyongpeng@xiaomi.com",
        "time": "Mon Feb 16 19:28:42 2026 +0800"
      },
      "committer": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk@kernel.org",
        "time": "Mon Mar 23 21:25:13 2026 +0000"
      },
      "message": "f2fs-tools: invalidate block device page cache before reading metadata\n\nAfter the device is mounted, f2fs updates on-disk metadata without\nupdating the block device page cache. As a result, f2fs-tools may read\nstale metadata from the page cache.\n\nFor example:\nmount /dev/vdb /mnt/f2fs\ntouch mx // ino \u003d 4\nsync\ndump.f2fs -i 4 /dev/vdb\ntouch mx2 // ino \u003d 5\nsync\ndump.f2fs -i 5 /dev/vdb // block addr is 0\n\nSince `dump.f2fs -i 4 /dev/vdb` has already populated the metadata area\ninto the block device page cache, the cached pages remain resident in\nmemory. After creating mx2, the page cache is not updated accordingly.\nTherefore, `dump.f2fs -i 5 /dev/vdb` reads stale metadata, and the\nphysical block address of inode 5 is incorrectly reported as 0.\n\nThis patch issues a BLKFLSBUF ioctl to the block device before reading\nmetadata. The kernel then invalidates the block device page cache,\nensuring that subsequent reads fetch uptodate metadata from disk.\n\nSigned-off-by: Yongpeng Yang \u003cyangyongpeng@xiaomi.com\u003e\nSigned-off-by: Jaegeuk Kim \u003cjaegeuk@kernel.org\u003e\n"
    },
    {
      "commit": "c949acc29a5a8705285263f630a7d830adba772c",
      "tree": "432f33f020155d958e01d20e9b4e42d6b52012a1",
      "parents": [
        "44ba8327c9991d01e0aa1f42671bc522b5213fe4"
      ],
      "author": {
        "name": "Chao Yu",
        "email": "chao@kernel.org",
        "time": "Tue Mar 10 20:06:56 2026 +0800"
      },
      "committer": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk@kernel.org",
        "time": "Mon Mar 23 21:25:12 2026 +0000"
      },
      "message": "f2fs-tools: fix to avoid uninitialized variable access\n\nFix below compile warning:\n\n  CC       fibmap.o\nIn function ‘stat_bdev’,\n    inlined from ‘main’ at fibmap.c:171:2:\nfibmap.c:123:9: warning: ‘start_lba’ may be used uninitialized [-Wmaybe-uninitialized]\n  123 |         printf(\"start_lba \u003d %u\\n\", *start_lba);\n      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\nfibmap.c: In function ‘main’:\nfibmap.c:143:15: note: ‘start_lba’ was declared here\n  143 |         __u32 start_lba;\n      |               ^~~~~~~~~\n\nSigned-off-by: Chao Yu \u003cchao@kernel.org\u003e\nSigned-off-by: Jaegeuk Kim \u003cjaegeuk@kernel.org\u003e\n"
    },
    {
      "commit": "44ba8327c9991d01e0aa1f42671bc522b5213fe4",
      "tree": "bebd9a51de8e94cf31e61d2f1694f9e614e43006",
      "parents": [
        "726048fb68142df27b4a89c9a1ad9cd7f94b1e3d"
      ],
      "author": {
        "name": "Chao Yu",
        "email": "chao@kernel.org",
        "time": "Tue Mar 10 20:06:55 2026 +0800"
      },
      "committer": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk@kernel.org",
        "time": "Mon Mar 23 21:25:12 2026 +0000"
      },
      "message": "f2fs-tools: fix to use HDIO_GETGEO instead of HDIO_GETGIO\n\nThere is no definition of HDIO_GETGIO, it should be a typo, let\u0027s use\nHDIO_GETGEO instead.\n\nReported-by: Chenghao Fan \u003c23b903068@stu.hit.edu.cn\u003e\nSigned-off-by: Chao Yu \u003cchao@kernel.org\u003e\nSigned-off-by: Jaegeuk Kim \u003cjaegeuk@kernel.org\u003e\n"
    },
    {
      "commit": "726048fb68142df27b4a89c9a1ad9cd7f94b1e3d",
      "tree": "cbc3ef1afaf9ea30f677af5bbc218f40aa87400e",
      "parents": [
        "973f7c1cbb4b9012ec86e053081530b13a00f323"
      ],
      "author": {
        "name": "Yangyang Zang",
        "email": "zangyangyang66@gmail.com",
        "time": "Wed Mar 11 16:35:30 2026 +0800"
      },
      "committer": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk@kernel.org",
        "time": "Mon Mar 23 21:25:09 2026 +0000"
      },
      "message": "resize.f2fs: add more logs in migrate_ssa()\n\nAdd logs for zeroing SSA blocks and add an ASSERT to\nprevent the issue of zeroing main area blocks from\nrecurring in the future.\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": "973f7c1cbb4b9012ec86e053081530b13a00f323",
      "tree": "1d5bf8ed4d9f4eb29639b16df7a2089eed4f73ff",
      "parents": [
        "f987479b129d6000dddb710ed35e9b3f64348070"
      ],
      "author": {
        "name": "Yangyang Zang",
        "email": "zangyangyang66@gmail.com",
        "time": "Wed Mar 11 16:35:29 2026 +0800"
      },
      "committer": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk@kernel.org",
        "time": "Mon Mar 23 21:25:00 2026 +0000"
      },
      "message": "resize.f2fs: clean up the code in migrate_ssa()\n\nClean up the code to make its semantics more logical, no\nlogic changes.\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": "f987479b129d6000dddb710ed35e9b3f64348070",
      "tree": "3944a4d55e602dbcd1e98420438360c8983a02cb",
      "parents": [
        "70d62b1bf76f14a72e1023338503db6926a0b1f7"
      ],
      "author": {
        "name": "Yangyang Zang",
        "email": "zangyangyang66@gmail.com",
        "time": "Wed Mar 11 16:35:28 2026 +0800"
      },
      "committer": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk@kernel.org",
        "time": "Mon Mar 23 21:24:06 2026 +0000"
      },
      "message": "resize.f2fs: fix to avoid zeroing main area blocks in migrate_ssa()\n\nad1357c34023 (\"f2fs-tools: revert summary entry count from 2048 to\n512 in 16kb block support\") changed the logic for migrating SSA\nblocks, regardless of whether the packed_ssa feature is enabled.\nDuring the reisze process, this patch may corrupt the file system\nroot inode.\n\nReproducer:\ndd if\u003d/dev/zero of\u003d/data/f2fs.img bs\u003d4k count\u003d525312\nmake_f2fs -g android /data/f2fs.img 131072\nresize.f2fs -F /data/f2fs.img\nmkdir /mnt/f2fs\nmount /data/f2fs.img /mnt/f2fs\n\nThe root cause is that the number of SSA blocks after segment\nalignment is inconsistent with `get_newsb(segment_count)`.\nThis may result in some SSA blocks not being zeroed out, or\nthe main area blocks being incorrectly zeroed out during SSA\nmigration. Zeroing out the main area blocks may corrupt the\nroot inode.\n\nFixes: ad1357c34023 (\"f2fs-tools: revert summary entry count from 2048 to 512 in 16kb block support\")\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": "70d62b1bf76f14a72e1023338503db6926a0b1f7",
      "tree": "5a8b5997fe2c909c89f5156c8ac5b771a7c14f15",
      "parents": [
        "e6d9091c89851a2d7740669d368e50ecb1d4a15a"
      ],
      "author": {
        "name": "zhaoyuenan",
        "email": "amktiao030215@gmail.com",
        "time": "Thu Feb 26 21:21:53 2026 +0800"
      },
      "committer": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk@kernel.org",
        "time": "Thu Mar 05 19:11:45 2026 +0000"
      },
      "message": "f2fs_io: defrag_file supports automatic file length handling\n\nPreviously, executing defrag_file required specifying the starting\nposition and file length, such as [0, 3276800] or [122880, 368640].\nFor the former, sometimes we only want to defrag the entire file, not\njust a portion of it, so the file length had to be manually entered\nregardless. To improve usability, a feature to automatically handle\nfile length has been added.\n\nThe following is a test:\n- When parameters are incorrect:\n\n  root@android-pc:/home/android# ./f2fs_io defrag_file\n  Excess arguments\n\n  f2fs_io defrag_file [file_path] - defrag whole file automatically\n  f2fs_io defrag_file [start] [length] [file_path]\n\n    start     : start offset of defragment region, unit: bytes\n    length    : bytes number of defragment region\n\n- When only a file is specified:\n  root@android-pc:/home/android# ./f2fs_io defrag_file /mnt/uotan-rom/test/disk\n  defrag /mnt/uotan-rom/test/disk in region[0, 4294967296]\n\n- When specifying the sorting range:\n  root@android-pc:/home/android# ./f2fs_io defrag_file 2408448 9998336 /mnt/uotan-rom/test/disk\n  defrag /mnt/uotan-rom/test/disk in region[2408448, 12406784]\n\nSigned-off-by: zhaoyuenan \u003camktiao030215@gmail.com\u003e\nSigned-off-by: Jaegeuk Kim \u003cjaegeuk@kernel.org\u003e\n"
    },
    {
      "commit": "e6d9091c89851a2d7740669d368e50ecb1d4a15a",
      "tree": "3c2c7611076e6d0fc6418c258255b9822be4994b",
      "parents": [
        "83903116f5f3516c1d3ffe41c844b44f518a966f"
      ],
      "author": {
        "name": "Yongpeng Yang",
        "email": "yangyongpeng@xiaomi.com",
        "time": "Sun Feb 08 03:12:53 2026 -0500"
      },
      "committer": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk@kernel.org",
        "time": "Thu Mar 05 19:11:45 2026 +0000"
      },
      "message": "f2fs-tools: fix division-by-zero exception during formatting of undersized devices\n\nWhen formatting a device that is too small , the error handling in\nf2fs_prepare_super_block() is flawed, leading to a division-by-zero\nexception.\n\nReproducer:\nroot@vm:~/f2fs-tools# dd if\u003d/dev/zero of\u003ddata.6M bs\u003d1M count\u003d6\nroot@vm:~/f2fs-tools# losetup -f data.6M\nroot@vm:~/f2fs-tools# mkfs.f2fs /dev/loop0\n\nThis patch adds a check to verify if the device has enough capacity to\nstore the metadata area. If not, it immediately returns an error to\nprevent the subsequent division-by-zero exception from being triggered.\n\nSigned-off-by: Yongpeng Yang \u003cyangyongpeng@xiaomi.com\u003e\nSigned-off-by: Jaegeuk Kim \u003cjaegeuk@kernel.org\u003e\n"
    },
    {
      "commit": "83903116f5f3516c1d3ffe41c844b44f518a966f",
      "tree": "aa1e42510b5d08ae464bcafe1c448394255d3615",
      "parents": [
        "7d488957b24f00e9d8d85d1052421273fe76b0f1"
      ],
      "author": {
        "name": "Maxim Pleshivenkov",
        "email": "mpleshivenkov@google.com",
        "time": "Tue Feb 24 03:01:29 2026 +0000"
      },
      "committer": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk@kernel.org",
        "time": "Thu Mar 05 19:07:43 2026 +0000"
      },
      "message": "f2fs-tools: handle total_sectors is zero\n\ntouch crash.img\n./out/host/linux-x86/bin/make_f2fs -g android -b 16384 crash.img\n\n    F2FS-tools: mkfs.f2fs Ver: 1.16.0 (2023-04-11)\n\nInfo: Debug level \u003d 1\nInfo: Trim is enabled\nInfo: Set conf for android\nInfo: Enable Project quota\nInfo: not exist /proc/version!\nInfo: Segments per section \u003d 1\nInfo: Sections per zone \u003d 1\nInfo: sector size \u003d 512\nInfo: total sectors \u003d 0 (0 MB)\nInfo: block size \u003d 16384\nInfo: zone aligned segment0 blkaddr: 512\nAddressSanitizer:DEADLYSIGNAL\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n\u003d\u003d300581\u003d\u003dERROR: AddressSanitizer: FPE on unknown address 0x5625f4833664 (pc 0x5625f4833664 bp 0x7ffd7745c070 sp 0x7ffd7745bdd0 T0)\n    #0 0x5625f4833664 in get_reserved external/f2fs-tools/include/f2fs_fs.h:1873:42\n    #1 0x5625f4833664 in get_best_overprovision external/f2fs-tools/include/f2fs_fs.h:1900:14\n    #2 0x5625f4833664 in f2fs_prepare_super_block external/f2fs-tools/mkfs/f2fs_format.c:579:21\n    #3 0x5625f4833664 in f2fs_format_device external/f2fs-tools/mkfs/f2fs_format.c:1884:7\n    #4 0x5625f4821e94 in main external/f2fs-tools/mkfs/f2fs_format_main.c:562:6\n    #5 0x7fb54fe94ca7 in __libc_start_call_main csu/../sysdeps/nptl/libc_start_call_main.h:58:16\n    #6 0x7fb54fe94d64 in __libc_start_main csu/../csu/libc-start.c:360:3\n    #7 0x5625f473b008 in _start (/usr/local/google/home/mpleshivenkov/src/b_479167542/main/out/host/linux-x86/bin/make_f2fs+0x9b008) (BuildId: 10870ae26d00ed4dfb428b9204c19b93)\n\n\u003d\u003d300581\u003d\u003dRegister values:\nrax \u003d 0x00000000ffffffff  rbx \u003d 0x00000ac4be913cb8  rcx \u003d 0x0000000000000000  rdx \u003d 0x0000000000000000\nrdi \u003d 0x00005625f48a702c  rsi \u003d 0x00000000ffffffff  rbp \u003d 0x00007ffd7745c070  rsp \u003d 0x00007ffd7745bdd0\n r8 \u003d 0x00005625f4895da0   r9 \u003d 0x00000000fffe96a3  r10 \u003d 0x00000ac4be914e05  r11 \u003d 0x00005625f489e5c0\nr12 \u003d 0x00005625f48a7014  r13 \u003d 0x00000000fffe96a3  r14 \u003d 0x00000ac4be914e02  r15 \u003d 0x00000ac4be914e02\nAddressSanitizer can not provide additional info.\nSUMMARY: AddressSanitizer: FPE external/f2fs-tools/include/f2fs_fs.h:1873:42 in get_reserved\n\u003d\u003d300581\u003d\u003dABORTING\n\nSigned-off-by: Maxim Pleshivenkov \u003cmpleshivenkov@google.com\u003e\nSigned-off-by: Jaegeuk Kim \u003cjaegeuk@kernel.org\u003e\n"
    },
    {
      "commit": "7d488957b24f00e9d8d85d1052421273fe76b0f1",
      "tree": "8de47e9cd562e58908ce33a626b4b2ecbbb68d31",
      "parents": [
        "773302099d1cb07289be4ba315a3196a781dc2d1"
      ],
      "author": {
        "name": "Wu Bo",
        "email": "wuboo@amazon.com",
        "time": "Mon Jan 12 14:44:16 2026 +0000"
      },
      "committer": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk@kernel.org",
        "time": "Thu Mar 05 19:07:43 2026 +0000"
      },
      "message": "f2fs-tools: optimize the addrs_per_block/inode loop\n\nADDRS_PER_INODE and ADDRS_PER_BLOCK are macros of a function, and if the\ncompiler does not optimize the code (-O0 for example), they would be\ncalled in every single loop, which could cause significant performance\ndrops in some cases.\n\nThis scenario has been found before, refer to:\nCommit: 1bb669e (\"fsck.f2fs: avoid unnecessary recalculation\")\n\nTo avoid this performance drop as much as possible, I changed the\nfunction to \u0027inline\u0027 definition, which could mitigate such cases in\nthe future.\n\nSigned-off-by: Wu Bo \u003cwuboo@amazon.com\u003e\nReviewed-by: Chao Yu \u003cchao@kernel.org\u003e\nSigned-off-by: Jaegeuk Kim \u003cjaegeuk@kernel.org\u003e\n"
    },
    {
      "commit": "773302099d1cb07289be4ba315a3196a781dc2d1",
      "tree": "a40b14a2fcfe09ea426e2a8296425413e0b30b58",
      "parents": [
        "63e248baf25ef0d98a06a70c6601e163706ae870"
      ],
      "author": {
        "name": "liujinbao1",
        "email": "liujinbao1@xiaomi.com",
        "time": "Wed Jan 14 16:37:05 2026 +0800"
      },
      "committer": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk@kernel.org",
        "time": "Thu Mar 05 19:07:43 2026 +0000"
      },
      "message": "fsck.f2fs: Check and clear invalid dent flag during recovery\n\nDuring SPO tests, when mounting F2FS, an -EINVAL error was returned.\nThe issue originates from the f2fs_recover_inode_page function\u0027s\ncheck, where old_ni.blk_addr !\u003d NULL_ADDR under the conditions of\nIS_INODE(folio) \u0026\u0026 is_dent_dnode(folio).\nClear dent flag of the node block to fix this issue.\nTest Step:\n1.Modify files and induce SPO to generate fsync inode list.\n blkaddr: 0x15828, ino: 1378, is_inode: 1, is_fsync: 2, is_dent: 0\n\n2.Use inject.f2fs to set dent flag for a fsync inode.\n inject.f2fs --cp 0 --mb flag --idx 2 --val 7 /dev/vda\n Info: inject blkaddr[2] flag of cp 2: 0x3 -\u003e 0x7\n\n3.Boot verification, System fails to mount during recovery:\n f2fs_recover_inode_page:ino: 1378, ni.blkaddr: 0x1581a,\n old_ni.blk_addr !\u003d NULL_ADDR\n F2FS-fs (vda): Cannot recover all fsync data errno\u003d-22\n4.Run fsck\n fsck.f2fs -f /dev/vda\n [ASSERT] (f2fs_find_fsync_inode:3924) --\u003e Invalid dent flag:\n blkaddr: 0x15828, ino: 1378, is_dent: 4, nat entry blkaddr: 0x1581a\n [FIX] (f2fs_find_fsync_inode:3931) --\u003e Clear dent flag: blkaddr: 0x15828, ino: 1378\nAfter this fix, the system boots normally.\n\nSigned-off-by: Sheng Yong \u003cshengyong1@xiaomi.com\u003e\nSigned-off-by: Yongpeng Yang \u003cyangyongpeng@xiaomi.com\u003e\nSigned-off-by: Jinbao Liu \u003cliujinbao1@xiaomi.com\u003e\nReviewed-by: Chao Yu \u003cchao@kernel.org\u003e\nSigned-off-by: Jaegeuk Kim \u003cjaegeuk@kernel.org\u003e\n"
    },
    {
      "commit": "63e248baf25ef0d98a06a70c6601e163706ae870",
      "tree": "ab3533edd38d5388ac858c439ed1705acc05e1d0",
      "parents": [
        "3ab67256d83a8323b92992155b99c3365c0964f6"
      ],
      "author": {
        "name": "Daeho Jeong",
        "email": "daehojeong@google.com",
        "time": "Tue Mar 03 09:00:36 2026 -0800"
      },
      "committer": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk@kernel.org",
        "time": "Thu Mar 05 19:07:07 2026 +0000"
      },
      "message": "f2fs-tools: fix heap-buffer-overflow of reading SSA from checkpoint area\n\nReproduction:\ntruncate -s 512M overflow.img\n./out/host/linux-x86/bin/make_f2fs -g android -b 16384 -w 16384 -O packed_ssa overflow.img\nmkdir -p empty_dir\nexport ASAN_OPTIONS\u003ddetect_leaks\u003d0:abort_on_error\u003d1\n./out/host/linux-x86/bin/sload_f2fs -f empty_dir -t /data overflow.img\n\nResult:\n\u003d\u003d306082\u003d\u003dERROR: AddressSanitizer: heap-buffer-overflow on address 0x7df5201e2500 at pc 0x5567ea010583 bp 0x7ffc3386c210 sp 0x7ffc3386b9d8\nREAD of size 16384 at 0x7df5201e2500 thread T0\n\nEven though we can reduce the summary block to 4KB, we need to maintain\nbackward compatibility for the checkpoint area. Therefore, the summary\nblock there must match the block size, so it is correct to use F2FS_BLKSIZE.\n\nFixes: ad1357c34023 (\"f2fs-tools: revert summary entry count from 2048 to 512 in 16kb block support\")\nReported-by: Maxim Pleshivenkov \u003cmpleshivenkov@google.com\u003e\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": "3ab67256d83a8323b92992155b99c3365c0964f6",
      "tree": "843846d82a76d47345395a8c080d5a2025a287b1",
      "parents": [
        "55baa84a3695c8c08938ee480abf62987ead391e"
      ],
      "author": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk@kernel.org",
        "time": "Fri Dec 12 00:48:08 2025 +0000"
      },
      "committer": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk@kernel.org",
        "time": "Thu Jan 01 03:23:04 2026 +0000"
      },
      "message": "f2fs_io: add more description in read test\n\nReviewed-by: Chao Yu \u003cchao@kernel.org\u003e\nSigned-off-by: Jaegeuk Kim \u003cjaegeuk@kernel.org\u003e\n"
    },
    {
      "commit": "55baa84a3695c8c08938ee480abf62987ead391e",
      "tree": "a54e6d20c02bb2b6982b295ade994d2234fafd97",
      "parents": [
        "ad1357c34023dab36c5a6071bde49aa75a6af6b3"
      ],
      "author": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk@kernel.org",
        "time": "Fri Dec 12 00:46:12 2025 +0000"
      },
      "committer": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk@kernel.org",
        "time": "Thu Jan 01 03:23:01 2026 +0000"
      },
      "message": "f2fs_io: add mlock() option in the read test\n\nReviewed-by: Chao Yu \u003cchao@kernel.org\u003e\nSigned-off-by: Jaegeuk Kim \u003cjaegeuk@kernel.org\u003e\n"
    },
    {
      "commit": "ad1357c34023dab36c5a6071bde49aa75a6af6b3",
      "tree": "82617da8a8e1b7326d54ff4eb09134bcbf99de2c",
      "parents": [
        "6e42cbe6f49893217b7ce5eb5f7b076683e32996"
      ],
      "author": {
        "name": "Daeho Jeong",
        "email": "daehojeong@google.com",
        "time": "Tue Dec 23 06:46:07 2025 -0800"
      },
      "committer": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk@kernel.org",
        "time": "Thu Jan 01 03:20:10 2026 +0000"
      },
      "message": "f2fs-tools: revert summary entry count from 2048 to 512 in 16kb block support\n\nThe recent increase in the number of Segment Summary Area (SSA) entries\nfrom 512 to 2048 was an unintentional change in logic of 16kb block\nsupport. This commit corrects the issue.\n\nTo better utilize the space available from the erroneous 2048-entry\ncalculation, we are implementing a solution to share the currently\nunused SSA space with neighboring segments. This enhances overall\nSSA utilization without impacting the established 8MB segment size.\n\nFixes: 50fd00b168d7 (\"f2fs-tools: Support different block sizes\")\nSigned-off-by: Daeho Jeong \u003cdaehojeong@google.com\u003e\nReviewed-by: Chao Yu \u003cchao@kernel.org\u003e\nSigned-off-by: Jaegeuk Kim \u003cjaegeuk@kernel.org\u003e\n"
    },
    {
      "commit": "6e42cbe6f49893217b7ce5eb5f7b076683e32996",
      "tree": "25715d4bd2f45fe4654c7b7c2616bc96b5ed1f6b",
      "parents": [
        "3f778d2bb5632199edca89083f42b7cdba06764b"
      ],
      "author": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk@kernel.org",
        "time": "Wed Dec 17 00:40:02 2025 +0000"
      },
      "committer": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk@kernel.org",
        "time": "Wed Dec 17 00:40:02 2025 +0000"
      },
      "message": "Revert \"f2fs-tools: revert summary entry count from 2048 to 512 in 16kb block support\"\n\nThis reverts commit 0081400c568b374b3d701d76fd09ab8de57ee809.\n"
    },
    {
      "commit": "3f778d2bb5632199edca89083f42b7cdba06764b",
      "tree": "e6adc0cd069c25fdeb2fd1d650eedaecc0befa45",
      "parents": [
        "4cd565d20c6304efaa4126c0dde2eb1892e1264c"
      ],
      "author": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk@kernel.org",
        "time": "Fri Dec 12 00:00:40 2025 +0000"
      },
      "committer": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk@kernel.org",
        "time": "Tue Dec 16 00:50:34 2025 +0000"
      },
      "message": "Fix to get the right IO bandwidth\n\nReviewed-by: Chao Yu \u003cchao@kernel.org\u003e\nSigned-off-by: Jaegeuk Kim \u003cjaegeuk@kernel.org\u003e\n"
    },
    {
      "commit": "4cd565d20c6304efaa4126c0dde2eb1892e1264c",
      "tree": "5f116266931b37c5d88e177276bfc0af8ab5e0df",
      "parents": [
        "084839b018467579cc5136f9400a962f70fa0872"
      ],
      "author": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk@kernel.org",
        "time": "Sun Nov 30 18:21:16 2025 +0000"
      },
      "committer": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk@kernel.org",
        "time": "Mon Dec 01 22:12:31 2025 +0000"
      },
      "message": "f2fs_io: rename mlock to fadvise\n\nfadvise is better to describe the read method.\n\nReviewed-by: Chao Yu \u003cchao@kernel.org\u003e\nSigned-off-by: Jaegeuk Kim \u003cjaegeuk@kernel.org\u003e\n"
    },
    {
      "commit": "084839b018467579cc5136f9400a962f70fa0872",
      "tree": "9f91927c5b53ff6aee401abcc0811780e884622b",
      "parents": [
        "e62473728cfefce02a1317baa7fc8c097a042777"
      ],
      "author": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk@kernel.org",
        "time": "Sun Nov 30 18:18:20 2025 +0000"
      },
      "committer": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk@kernel.org",
        "time": "Mon Dec 01 22:12:29 2025 +0000"
      },
      "message": "f2fs_io: add read test with mlock2 and madvise\n\nAdd a method to read out pages into unevictable mapping by mmap(), mlock2(),\nand madvise()\n\nReviewed-by: Chao Yu \u003cchao@kernel.org\u003e\nSigned-off-by: Jaegeuk Kim \u003cjaegeuk@kernel.org\u003e\n"
    },
    {
      "commit": "e62473728cfefce02a1317baa7fc8c097a042777",
      "tree": "4695a5127e6967b636cb39e576a870332e277b33",
      "parents": [
        "b63de467659f4fb33af617ad06b2d25cae255006"
      ],
      "author": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk@kernel.org",
        "time": "Sun Nov 30 18:09:30 2025 +0000"
      },
      "committer": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk@kernel.org",
        "time": "Mon Dec 01 22:12:19 2025 +0000"
      },
      "message": "f2fs_io: measure the start time explicitly\n\nLet\u0027s measure the start time more precisely.\n\nReviewed-by: Chao Yu \u003cchao@kernel.org\u003e\nSigned-off-by: Jaegeuk Kim \u003cjaegeuk@kernel.org\u003e\n"
    },
    {
      "commit": "b63de467659f4fb33af617ad06b2d25cae255006",
      "tree": "226dd1caca1bd0f41555c1918303c94cc8babde5",
      "parents": [
        "3502e08fb15d8bf4c08e8c13ab2a75dda0eaefe5"
      ],
      "author": {
        "name": "Yangyang Zang",
        "email": "zangyangyang66@gmail.com",
        "time": "Tue Nov 25 14:26:38 2025 +0800"
      },
      "committer": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk@kernel.org",
        "time": "Mon Dec 01 20:45:18 2025 +0000"
      },
      "message": "resize.f2fs: add -g to give default options\n\nCommit 42482e81248f (\"resize.f2fs: add caution message for resize\")\nintroduced the `-F\u0027 option to force resizing f2fs without displaying\nthe caution message. And `add_default_options()` implies that `-g\u0027\nenables `-F\u0027 for resize by default. However resize.f2fs does not\ncurrently support the `-g\u0027 option. This patch adds `-g\u0027 for it.\n\nFixes: 42482e81248f (\"resize.f2fs: add caution message for resize\")\nSigned-off-by: Yangyang Zang \u003czangyangyang1@xiaomi.com\u003e\nReviewed-by: Sheng Yong \u003cshengyong1@xiaomi.com\u003e\nReviewed-by: Chao Yu \u003cchao@kernel.org\u003e\nSigned-off-by: Jaegeuk Kim \u003cjaegeuk@kernel.org\u003e\n"
    },
    {
      "commit": "3502e08fb15d8bf4c08e8c13ab2a75dda0eaefe5",
      "tree": "7f6303d53813a0cd586ef4e4349e8a6d31aee28f",
      "parents": [
        "1ee20e218f7e17ef8949c0c30fceee04a81dbefa"
      ],
      "author": {
        "name": "Xiaole He",
        "email": "hexiaole1994@126.com",
        "time": "Fri Nov 21 10:42:20 2025 +0800"
      },
      "committer": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk@kernel.org",
        "time": "Mon Dec 01 17:56:28 2025 +0000"
      },
      "message": "f2fs-tools: fix typo of HAVE_PREAD macro and remove duplicate semicolons\n\n1. Fix typo in HAVE_PREAD macro check (lib/libf2fs_io.c:403):\n   - Change HAVE_RPEAD -\u003e HAVE_PREAD\n   - The misspelled macro caused pread() optimization to never be used,\n     forcing the code to always use the slower lseek() + read() path\n     instead of the atomic pread() call.\n\n2. Remove duplicate semicolons:\n   - mkfs/f2fs_format.c:211: Remove extra semicolon in hot_ext_count assignment\n   - fsck/dump.c:119: Remove extra semicolon in free_segs initialization\n\nThese are minor code quality fixes that don\u0027t change functionality but\nimprove code correctness and enable the pread() optimization.\n\nFixes: 4b7e95300988 (\"f2fs-tools: use pread and pwrite when they are available.\")\nSigned-off-by: Xiaole He \u003chexiaole1994@126.com\u003e\nReviewed-by: Chao Yu \u003cchao@kernel.org\u003e\nSigned-off-by: Jaegeuk Kim \u003cjaegeuk@kernel.org\u003e\n"
    },
    {
      "commit": "1ee20e218f7e17ef8949c0c30fceee04a81dbefa",
      "tree": "c94607d1f9c586fa64f1c920bde7e43e9e16924e",
      "parents": [
        "6ee0064b52fd87f7159464861694a38cec43adb1"
      ],
      "author": {
        "name": "Chao Yu",
        "email": "chao@kernel.org",
        "time": "Mon Nov 10 17:04:09 2025 +0800"
      },
      "committer": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk@kernel.org",
        "time": "Tue Nov 11 22:41:29 2025 +0000"
      },
      "message": "f2fs_io: fix to keep output order of do_read() for forward compatibility\n\nSome scripts relies on output order of do_read(), let\u0027s append the\nnew logs to keep forward compatibility.\n\ne.g.\nf2fs_io read 128 0 $((2*1024)) buffered 1 0 /mnt/f2fs/file\n\nBefore:\nRead 1073741824 bytes IO time \u003d 153715 us mlock time \u003d 0 us, BW \u003d 6985 MB/s print 0 bytes:\n00000000 :\n\nAfter:\nRead 1073741824 bytes total_time \u003d 155166 us, BW \u003d 6920 MB/s, IO time \u003d 155166 us, mlock time \u003d 0 us, print 0 bytes:\n00000000 :\n\nFixes: 615036f (\"f2fs_io: calculate IO bandwidth vs. mlock latency\")\nSigned-off-by: Chao Yu \u003cchao@kernel.org\u003e\nSigned-off-by: Jaegeuk Kim \u003cjaegeuk@kernel.org\u003e\n"
    },
    {
      "commit": "6ee0064b52fd87f7159464861694a38cec43adb1",
      "tree": "c4b3efc02cb38a5f488731304f6cdcdbd170d394",
      "parents": [
        "18ee7fc787aa373ab6d0d05d1f6f2cb3e4a94513"
      ],
      "author": {
        "name": "Chao Yu",
        "email": "chao@kernel.org",
        "time": "Mon Nov 03 10:30:59 2025 +0800"
      },
      "committer": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk@kernel.org",
        "time": "Fri Nov 07 17:51:15 2025 +0000"
      },
      "message": "f2fs-tools: fix to return error value correctly\n\nWe missed to return error value if below functions fail, fix it.\n- do_resize\n- do_sload\n- do_label\n- do_inject\n\nSigned-off-by: Chao Yu \u003cchao@kernel.org\u003e\nSigned-off-by: Jaegeuk Kim \u003cjaegeuk@kernel.org\u003e\n"
    },
    {
      "commit": "18ee7fc787aa373ab6d0d05d1f6f2cb3e4a94513",
      "tree": "ff5b019f016267ee9835540278f28fac44d04619",
      "parents": [
        "d2b0739a93b3257aecff161871e4cebc44954270"
      ],
      "author": {
        "name": "Chao Yu",
        "email": "chao@kernel.org",
        "time": "Mon Nov 03 14:39:31 2025 +0800"
      },
      "committer": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk@kernel.org",
        "time": "Fri Nov 07 17:50:14 2025 +0000"
      },
      "message": "f2fs_io: ranndread: support block device\n\nOtherwise, f2fs_io randread will fail due to i_size of block device\ninode is zero.\n\n- f2fs_io randread 1 1000 buffered 1 /dev/vdc\nfadvise RANDOM|WILLNEED to a file: /dev/vdc\nFile is too small to random read\n\nSigned-off-by: Chao Yu \u003cchao@kernel.org\u003e\nSigned-off-by: Jaegeuk Kim \u003cjaegeuk@kernel.org\u003e\n"
    },
    {
      "commit": "d2b0739a93b3257aecff161871e4cebc44954270",
      "tree": "c3a71605ddc89d73eba9b3cf28b009711dc4fee6",
      "parents": [
        "0081400c568b374b3d701d76fd09ab8de57ee809"
      ],
      "author": {
        "name": "Chao Yu",
        "email": "chao@kernel.org",
        "time": "Mon Nov 03 14:22:56 2025 +0800"
      },
      "committer": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk@kernel.org",
        "time": "Fri Nov 07 17:50:09 2025 +0000"
      },
      "message": "f2fs_io: support freeze/thaw\n\nSupport to freeze and thaw filesystem.\n\nSigned-off-by: Chao Yu \u003cchao@kernel.org\u003e\nSigned-off-by: Jaegeuk Kim \u003cjaegeuk@kernel.org\u003e\n"
    },
    {
      "commit": "0081400c568b374b3d701d76fd09ab8de57ee809",
      "tree": "db1b21807383d778ec9138195eb974d6d46aff54",
      "parents": [
        "cb85a83426b8506128d1ee8b0dcef091f1578154"
      ],
      "author": {
        "name": "Daeho Jeong",
        "email": "daehojeong@google.com",
        "time": "Tue Nov 04 08:22:26 2025 -0800"
      },
      "committer": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk@kernel.org",
        "time": "Fri Nov 07 17:47:47 2025 +0000"
      },
      "message": "f2fs-tools: revert summary entry count from 2048 to 512 in 16kb block support\n\nThe recent increase in the number of Segment Summary Area (SSA) entries\nfrom 512 to 2048 was an unintentional change in logic of 16kb block\nsupport. This commit corrects the issue.\n\nTo better utilize the space available from the erroneous 2048-entry\ncalculation, we are implementing a solution to share the currently\nunused SSA space with neighboring segments. This enhances overall\nSSA utilization without impacting the established 8MB segment size.\n\nFixes: 50fd00b168d7 (\"f2fs-tools: Support different block sizes\")\nSigned-off-by: Daeho Jeong \u003cdaehojeong@google.com\u003e\nReviewed-by: Chao Yu \u003cchao@kernel.org\u003e\nSigned-off-by: Jaegeuk Kim \u003cjaegeuk@kernel.org\u003e\n"
    },
    {
      "commit": "cb85a83426b8506128d1ee8b0dcef091f1578154",
      "tree": "841231c5268a2afef751f28c4a85eeeaad3727e4",
      "parents": [
        "fa02bbaa8909f185dc036247adbee70cf4452a3d"
      ],
      "author": {
        "name": "Daeho Jeong",
        "email": "daehojeong@google.com",
        "time": "Mon Oct 27 11:53:07 2025 -0700"
      },
      "committer": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk@kernel.org",
        "time": "Tue Oct 28 18:06:58 2025 +0000"
      },
      "message": "f2fs-tools: add a missing device_alias in the feature table\n\nAdd a missing \"device_alias\" feature into the feature table to show it\nproperly in print_sb_state().\n\nFixes: 8cc4e257ec20 (\"mkfs.f2fs: add device aliasing feature\")\nSigned-off-by: Daeho Jeong \u003cdaehojeong@google.com\u003e\nReviewed-by: Chao Yu \u003cchao@kernel.org\u003e\nSigned-off-by: Jaegeuk Kim \u003cjaegeuk@kernel.org\u003e\n"
    },
    {
      "commit": "fa02bbaa8909f185dc036247adbee70cf4452a3d",
      "tree": "e63dd8706f7dd2384e3b5aa7ef26d58ede698917",
      "parents": [
        "fb9e7a8b4d3ff6590a58caece1ef204475f55088"
      ],
      "author": {
        "name": "Sheng Yong",
        "email": "shengyong1@xiaomi.com",
        "time": "Mon Aug 25 09:54:55 2025 +0800"
      },
      "committer": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk@kernel.org",
        "time": "Thu Oct 16 17:52:06 2025 +0000"
      },
      "message": "inject.f2fs: add member `filename\u0027 in inject_dentry\n\nThis patch adds a new member `filename\u0027 in inject_dentry to inject\ndentry filename. The dentry is specified by nid option.\n\nNote that \u0027.\u0027 and \u0027..\u0027 dentries are special, because they are not in the\nparent directory of nid. So this patch also adds a new option `--dots\u0027\nto inject these two dentries.\n\nSigned-off-by: Sheng Yong \u003cshengyong1@xiaomi.com\u003e\nReviewed-by: Chao Yu \u003cchao@kernel.org\u003e\nSigned-off-by: Jaegeuk Kim \u003cjaegeuk@kernel.org\u003e\n"
    },
    {
      "commit": "fb9e7a8b4d3ff6590a58caece1ef204475f55088",
      "tree": "b2bd94f9979cdb766363588badaf97fd122aa0e4",
      "parents": [
        "3d6ca28ed108053e8652b5fc66f5eeb783770187"
      ],
      "author": {
        "name": "Sheng Yong",
        "email": "shengyong1@xiaomi.com",
        "time": "Mon Aug 25 09:54:54 2025 +0800"
      },
      "committer": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk@kernel.org",
        "time": "Thu Oct 16 17:52:01 2025 +0000"
      },
      "message": "inject.f2fs: add members in inject_node\n\nThis patch adds new members in inject_node to inject inode:\n * i_ext.fofs: extent fofs\n * i_ext.blk_addr: extent blk_addr\n * i_ext.len: extent len\n * i_inline_xattr_size: inline xattr size\n * i_compr_blocks: compression blocks\n\nSigned-off-by: Sheng Yong \u003cshengyong1@xiaomi.com\u003e\nReviewed-by: Chao Yu \u003cchao@kernel.org\u003e\nSigned-off-by: Jaegeuk Kim \u003cjaegeuk@kernel.org\u003e\n"
    },
    {
      "commit": "3d6ca28ed108053e8652b5fc66f5eeb783770187",
      "tree": "b2281ef4173ba4aa906c01284fb116086ae078c3",
      "parents": [
        "2a2ce0af4f6173d739f650bb05add3c0d7306b47"
      ],
      "author": {
        "name": "Sheng Yong",
        "email": "shengyong1@xiaomi.com",
        "time": "Mon Aug 25 09:54:53 2025 +0800"
      },
      "committer": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk@kernel.org",
        "time": "Thu Oct 16 17:51:55 2025 +0000"
      },
      "message": "inject.f2fs: add member `feature\u0027 in inject_sb\n\nThis patch adds a new member `feature\u0027 in inject_sb to inject features.\n\nSigned-off-by: Sheng Yong \u003cshengyong1@xiaomi.com\u003e\nReviewed-by: Chao Yu \u003cchao@kernel.org\u003e\nSigned-off-by: Jaegeuk Kim \u003cjaegeuk@kernel.org\u003e\n"
    },
    {
      "commit": "2a2ce0af4f6173d739f650bb05add3c0d7306b47",
      "tree": "7eee24683757b9c125a193bff95eacc5e1d56751",
      "parents": [
        "0d520201e868a6620b276bf31c260b9eb0bcdc8c"
      ],
      "author": {
        "name": "Sheng Yong",
        "email": "shengyong1@xiaomi.com",
        "time": "Mon Aug 25 09:54:52 2025 +0800"
      },
      "committer": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk@kernel.org",
        "time": "Thu Oct 16 17:51:43 2025 +0000"
      },
      "message": "inject.f2fs: add members in inject_cp\n\nThe following members are added to inject more fields in cp:\n\n* next_blkaddr: inject fsync dnodes\n\n  An error is returned if no fsync dnode is found.\n  Furthermore, the injection is not supported on a zoned device. This\n  is because fsync dnodes must remains at the end of current warm node\n  segment, any dnode change causes all previous dnodes in the chain to\n  be updated out-of-place, and there may not have enough space left in\n  the curseg. To simplify the injection, it returns an error on the\n  zoned device.\n  An example of dnode chain shows:\n    [inject_cp: 608] [   0] blkaddr:0x1204\n    [inject_cp: 608] [   1] blkaddr:0x1205\n    [inject_cp: 608] [   2] blkaddr:0x1206\n    [inject_cp: 608] [   3] blkaddr:0x1207\n    [inject_cp: 608] [   4] blkaddr:0x1208\n    [inject_cp: 608] [   5] blkaddr:0x1209\n    [inject_cp: 608] [   6] blkaddr:0x120a\n    [inject_cp: 608] [   7] blkaddr:0x120b\n    [inject_cp: 608] [   8] blkaddr:0x120c\n    [inject_cp: 608] [   9] blkaddr:0x120d\n  where `0\u0027 indicates next free blkaddr of warm node curseg, thus\n  start blkaddr + next_blkoff of warm node curseg, which cannot be\n  injected. `1~9` indicate next_blkaddr in node_footer of dnodes in\n  the chain, which can be injected.\n\n* alloc_type: inject curseg\u0027s alloc type\n* crc: inject cp\u0027s checksum\n* elapsed_time: inject cp\u0027s mount elapsed time\n\nSigned-off-by: Sheng Yong \u003cshengyong1@xiaomi.com\u003e\nReviewed-by: Chao Yu \u003cchao@kernel.org\u003e\nSigned-off-by: Jaegeuk Kim \u003cjaegeuk@kernel.org\u003e\n"
    },
    {
      "commit": "0d520201e868a6620b276bf31c260b9eb0bcdc8c",
      "tree": "20ad140b30d043bc00424f2ad6c8dfff6e151fd0",
      "parents": [
        "891e8467bb582f28193e1dde1203812ff6a390a6"
      ],
      "author": {
        "name": "Sheng Yong",
        "email": "shengyong1@xiaomi.com",
        "time": "Mon Aug 25 09:54:51 2025 +0800"
      },
      "committer": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk@kernel.org",
        "time": "Thu Oct 16 17:51:33 2025 +0000"
      },
      "message": "inject.f2fs: fix and cleanup parsing numeric options\n\nThis patch fixes:\n  * parsing hex optarg of --idx option\n  * converting -1 to 0xff...ff of --val option\nand do a little cleanup of converting string to a long integer.\n\nSigned-off-by: Sheng Yong \u003cshengyong1@xiaomi.com\u003e\nReviewed-by: Chao Yu \u003cchao@kernel.org\u003e\nSigned-off-by: Jaegeuk Kim \u003cjaegeuk@kernel.org\u003e\n"
    },
    {
      "commit": "891e8467bb582f28193e1dde1203812ff6a390a6",
      "tree": "8cd34b593214d38dec48898dc999bcc4891a0a9e",
      "parents": [
        "1d38581e983546208aaac9e618affbef382c8b4e"
      ],
      "author": {
        "name": "Sheng Yong",
        "email": "shengyong1@xiaomi.com",
        "time": "Mon Aug 25 09:54:50 2025 +0800"
      },
      "committer": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk@kernel.org",
        "time": "Thu Oct 16 17:51:17 2025 +0000"
      },
      "message": "inject.f2fs: fix injection on zoned device\n\nBecause node and data blocks are updated out of place on zoned device,\nsit_area_bitmap and main_area_bitmap are required to record which\nblocks are allocated, sit should be flushed to reflect changes in\nblock address, and checkpoint should be rewritten to update cursegs.\n\nSigned-off-by: Sheng Yong \u003cshengyong1@xiaomi.com\u003e\nReviewed-by: Chao Yu \u003cchao@kernel.org\u003e\nSigned-off-by: Jaegeuk Kim \u003cjaegeuk@kernel.org\u003e\n"
    },
    {
      "commit": "1d38581e983546208aaac9e618affbef382c8b4e",
      "tree": "0f7da69bd49eeabd5a82f248afa6b9f6b79ff176",
      "parents": [
        "cc220301ba7d2a483cc08e05362d46fd2f032b93"
      ],
      "author": {
        "name": "Sheng Yong",
        "email": "shengyong1@xiaomi.com",
        "time": "Mon Aug 25 09:54:49 2025 +0800"
      },
      "committer": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk@kernel.org",
        "time": "Thu Oct 16 17:51:06 2025 +0000"
      },
      "message": "inject.f2fs: fix injecting sit/nat in journal\n\nPreviously when injecting sit/nat entry, we only inject SIT/NAT pack.\nIf the valid target is in journal, the injection has no effect. So we\nhave to check whether the valid target is in journal, and inject the\ntarget at its valid position.\n\nSigned-off-by: Sheng Yong \u003cshengyong1@xiaomi.com\u003e\nReviewed-by: Chao Yu \u003cchao@kernel.org\u003e\nSigned-off-by: Jaegeuk Kim \u003cjaegeuk@kernel.org\u003e\n"
    },
    {
      "commit": "cc220301ba7d2a483cc08e05362d46fd2f032b93",
      "tree": "be1665609429f8a343aa46cd2f214749ffbeb120",
      "parents": [
        "e11fc13c35c880a4075965a4d9fb64373e4815e6"
      ],
      "author": {
        "name": "Sheng Yong",
        "email": "shengyong1@xiaomi.com",
        "time": "Mon Aug 25 09:54:48 2025 +0800"
      },
      "committer": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk@kernel.org",
        "time": "Thu Oct 16 17:50:53 2025 +0000"
      },
      "message": "f2fs-tools: add and export lookup_sit_in_journal\n\nAdd lookup_sit_in_journal() which is similar to lookup_nat_in_journal()\nto get the raw sit entry from journal if exist.\n\nSigned-off-by: Sheng Yong \u003cshengyong1@xiaomi.com\u003e\nReviewed-by: Chao Yu \u003cchao@kernel.org\u003e\nSigned-off-by: Jaegeuk Kim \u003cjaegeuk@kernel.org\u003e\n"
    },
    {
      "commit": "e11fc13c35c880a4075965a4d9fb64373e4815e6",
      "tree": "7e7cc344dc51ed46819a4ea332808a534a97d3f4",
      "parents": [
        "c37fc6623a2bcc14c7989d3906c53dadc6fe18ee"
      ],
      "author": {
        "name": "Sheng Yong",
        "email": "shengyong1@xiaomi.com",
        "time": "Mon Aug 25 09:54:47 2025 +0800"
      },
      "committer": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk@kernel.org",
        "time": "Thu Oct 16 17:50:44 2025 +0000"
      },
      "message": "dump.f2fs: print more info\n\ndump.f2fs shows more info:\n * nat entry version\n * sit entry mtime\n\nSigned-off-by: Sheng Yong \u003cshengyong1@xiaomi.com\u003e\nReviewed-by: Chao Yu \u003cchao@kernel.org\u003e\nSigned-off-by: Jaegeuk Kim \u003cjaegeuk@kernel.org\u003e\n"
    },
    {
      "commit": "c37fc6623a2bcc14c7989d3906c53dadc6fe18ee",
      "tree": "9c39be948731a148492f2e46e9df88435c508647",
      "parents": [
        "e1fe65cd571d6766fa22ce623f814978cb5d2b1b"
      ],
      "author": {
        "name": "Sheng Yong",
        "email": "shengyong1@xiaomi.com",
        "time": "Mon Aug 25 09:54:46 2025 +0800"
      },
      "committer": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk@kernel.org",
        "time": "Thu Oct 16 17:50:32 2025 +0000"
      },
      "message": "fsck.f2fs: fix invalidate checkpoint\n\nIf one cp is invalidate, set CP_FSCK_FLAG to allow fsck_verify() to\nfixing cp at the end of check.\n\nSigned-off-by: Sheng Yong \u003cshengyong1@xiaomi.com\u003e\nReviewed-by: Chao Yu \u003cchao@kernel.org\u003e\nSigned-off-by: Jaegeuk Kim \u003cjaegeuk@kernel.org\u003e\n"
    },
    {
      "commit": "e1fe65cd571d6766fa22ce623f814978cb5d2b1b",
      "tree": "77547dbad8e559074d48948aee4127374d617e05",
      "parents": [
        "5b47f954317886e8f39f7db7e6074de0fe9c16b5"
      ],
      "author": {
        "name": "Sheng Yong",
        "email": "shengyong1@xiaomi.com",
        "time": "Mon Aug 25 09:54:45 2025 +0800"
      },
      "committer": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk@kernel.org",
        "time": "Thu Oct 16 17:50:13 2025 +0000"
      },
      "message": "f2fs-tools: cleanup {nid|segno}_in_journal\n\nSigned-off-by: Sheng Yong \u003cshengyong1@xiaomi.com\u003e\nReviewed-by: Chao Yu \u003cchao@kernel.org\u003e\nSigned-off-by: Jaegeuk Kim \u003cjaegeuk@kernel.org\u003e\n"
    },
    {
      "commit": "5b47f954317886e8f39f7db7e6074de0fe9c16b5",
      "tree": "0dfee8c0d5a5052b8daca6d647729d903c333b7f",
      "parents": [
        "3e7ab52999a718a206c6831634c8aba5123a0302"
      ],
      "author": {
        "name": "Sheng Yong",
        "email": "shengyong1@xiaomi.com",
        "time": "Mon Aug 25 09:54:44 2025 +0800"
      },
      "committer": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk@kernel.org",
        "time": "Thu Oct 16 17:49:54 2025 +0000"
      },
      "message": "f2fs-tools: add option N to answer no for all questions\n\nIn some scenario, such as autotest, it is not expected to answer\nquestion from fsck or dump. To simply answer no to all these questions,\nthis patch adds an option `N\u0027 to do that.\n\nSigned-off-by: Sheng Yong \u003cshengyong1@xiaomi.com\u003e\nReviewed-by: Chao Yu \u003cchao@kernel.org\u003e\nSigned-off-by: Jaegeuk Kim \u003cjaegeuk@kernel.org\u003e\n"
    },
    {
      "commit": "3e7ab52999a718a206c6831634c8aba5123a0302",
      "tree": "6078bab8cb070605dff15fe2b5de4cce7167a267",
      "parents": [
        "615036fbc4e6c471a83663c30d689620cb36d574"
      ],
      "author": {
        "name": "Sheng Yong",
        "email": "shengyong1@xiaomi.com",
        "time": "Mon Aug 25 09:54:43 2025 +0800"
      },
      "committer": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk@kernel.org",
        "time": "Thu Oct 16 17:49:42 2025 +0000"
      },
      "message": "fsck.f2fs: do not finish/reset zone if dry-run is true\n\nSigned-off-by: Sheng Yong \u003cshengyong1@xiaomi.com\u003e\nReviewed-by: Chao Yu \u003cchao@kernel.org\u003e\nSigned-off-by: Jaegeuk Kim \u003cjaegeuk@kernel.org\u003e\n"
    },
    {
      "commit": "615036fbc4e6c471a83663c30d689620cb36d574",
      "tree": "36ab512339d66e7b582a2c1b7c7bd1876bd00635",
      "parents": [
        "f46c3365836ae512df5c888ab120c25d8dfe5998"
      ],
      "author": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk@kernel.org",
        "time": "Wed Oct 01 16:09:23 2025 +0000"
      },
      "committer": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk@kernel.org",
        "time": "Fri Oct 10 16:06:12 2025 +0000"
      },
      "message": "f2fs_io: calculate IO bandwidth vs. mlock latency\n\nSigned-off-by: Jaegeuk Kim \u003cjaegeuk@kernel.org\u003e\n"
    },
    {
      "commit": "f46c3365836ae512df5c888ab120c25d8dfe5998",
      "tree": "e874b06cf4473f6fe8a3fa1b54c1dd980f4ad215",
      "parents": [
        "3770cac99729191a84e24f47617cdcf5da0ac472"
      ],
      "author": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk@kernel.org",
        "time": "Thu Sep 18 04:52:50 2025 +0000"
      },
      "committer": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk@kernel.org",
        "time": "Fri Oct 10 16:06:12 2025 +0000"
      },
      "message": "f2fs_io: let\u0027s try to get contigous memory if possible\n\nReviewed-by: Chao Yu \u003cchao@kernel.org\u003e\nSigned-off-by: Jaegeuk Kim \u003cjaegeuk@kernel.org\u003e\n"
    },
    {
      "commit": "3770cac99729191a84e24f47617cdcf5da0ac472",
      "tree": "968504be9c3852afb5bb493c9338d4a3de417573",
      "parents": [
        "40a14ace4533c22d4b7e363c0edafee49c45dae9"
      ],
      "author": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk@kernel.org",
        "time": "Thu Sep 18 04:52:09 2025 +0000"
      },
      "committer": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk@kernel.org",
        "time": "Fri Oct 10 16:06:12 2025 +0000"
      },
      "message": "f2fs_io: add dontcache to measure RWF_DONTCACHE speed\n\nIt only measures the read performance.\n\nReviewed-by: Chao Yu \u003cchao@kernel.org\u003e\nSigned-off-by: Jaegeuk Kim \u003cjaegeuk@kernel.org\u003e\n"
    },
    {
      "commit": "40a14ace4533c22d4b7e363c0edafee49c45dae9",
      "tree": "69bae7c98ab094b07fefcb3ed9f15bc4c0efac84",
      "parents": [
        "60385790d515000e4382477afbfbc4ed56125f4f"
      ],
      "author": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk@kernel.org",
        "time": "Thu Sep 18 04:51:29 2025 +0000"
      },
      "committer": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk@kernel.org",
        "time": "Fri Oct 10 16:06:12 2025 +0000"
      },
      "message": "f2fs_io: add mlock to measure the read speed\n\nAdd missing mmap mode in man page.\n\nReviewed-by: Chao Yu \u003cchao@kernel.org\u003e\nSigned-off-by: Jaegeuk Kim \u003cjaegeuk@kernel.org\u003e\n"
    },
    {
      "commit": "60385790d515000e4382477afbfbc4ed56125f4f",
      "tree": "668187af384af5c6ec4d09aed8df6aab6f96e2d5",
      "parents": [
        "5f48720c71e0a8545ee7aac01d390622691f142b"
      ],
      "author": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk@kernel.org",
        "time": "Mon Sep 01 15:11:33 2025 +0000"
      },
      "committer": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk@kernel.org",
        "time": "Fri Oct 10 16:06:09 2025 +0000"
      },
      "message": "f2fs_io: measure atomic operation latency with random write\n\nIf we give a negative offset, let\u0027s do random writes.\n\n\u003e f2fs_io write 1 -400 10 rand atomic_commit ./test\n\nconducts 10 random writes by picking addresses between 0 and\n400 * 4KB.\n\nReviewed-by: Chao Yu \u003cchao@kernel.org\u003e\nSigned-off-by: Jaegeuk Kim \u003cjaegeuk@kernel.org\u003e\n"
    },
    {
      "commit": "5f48720c71e0a8545ee7aac01d390622691f142b",
      "tree": "82f4f22c1774b8b77de3bb0054b4386ccb7dc6f9",
      "parents": [
        "f84c91af80f11b8b48e44bdbeb40445bd0904c0d"
      ],
      "author": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk@kernel.org",
        "time": "Mon Sep 01 15:11:08 2025 +0000"
      },
      "committer": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk@kernel.org",
        "time": "Fri Oct 10 16:06:03 2025 +0000"
      },
      "message": "f2fs_io: measure a fsync latency\n\nReviewed-by: Chao Yu \u003cchao@kernel.org\u003e\nSigned-off-by: Jaegeuk Kim \u003cjaegeuk@kernel.org\u003e\n"
    },
    {
      "commit": "f84c91af80f11b8b48e44bdbeb40445bd0904c0d",
      "tree": "f0f8762ab03b5425e369039f71889d794bd601b8",
      "parents": [
        "a81f507616dda447fa9021b4601167590b06faa6"
      ],
      "author": {
        "name": "Yangyang Zang",
        "email": "zangyangyang66@gmail.com",
        "time": "Wed Aug 27 14:15:07 2025 +0800"
      },
      "committer": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk@kernel.org",
        "time": "Thu Oct 02 20:25:19 2025 +0000"
      },
      "message": "resize.f2fs: print resize size\n\nSigned-off-by: Yangyang Zang \u003czangyangyang1@xiaomi.com\u003e\nReviewed-by: Chao Yu \u003cchao@kernel.org\u003e\nSigned-off-by: Jaegeuk Kim \u003cjaegeuk@kernel.org\u003e\n"
    },
    {
      "commit": "a81f507616dda447fa9021b4601167590b06faa6",
      "tree": "503c7b2cc5959fd70c4968393f8edbdc571c3523",
      "parents": [
        "72da0375e98ed21e9f8ba1be8ee48624b29ed92d"
      ],
      "author": {
        "name": "Chao Yu",
        "email": "chao@kernel.org",
        "time": "Mon Aug 11 17:47:05 2025 +0800"
      },
      "committer": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk@kernel.org",
        "time": "Thu Oct 02 20:25:19 2025 +0000"
      },
      "message": "inject.f2fs: support inject inode.i_xattr_nid\n\nSupport to inject .i_xattr_nid on inode node.\n\nCc: Sheng Yong \u003cshengyong1@xiaomi.com\u003e\nSigned-off-by: Chao Yu \u003cchao@kernel.org\u003e\nReviewed-by: Sheng Yong \u003cshengyong1@xiaomi.com\u003e\nSigned-off-by: Jaegeuk Kim \u003cjaegeuk@kernel.org\u003e\n"
    },
    {
      "commit": "72da0375e98ed21e9f8ba1be8ee48624b29ed92d",
      "tree": "6607aa050f8ef2d1693d929ae5b4d858c589e3c6",
      "parents": [
        "4cf123276cca541085e746278a408d8e66cfde8b"
      ],
      "author": {
        "name": "Chao Yu",
        "email": "chao@kernel.org",
        "time": "Thu Aug 07 10:44:50 2025 +0800"
      },
      "committer": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk@kernel.org",
        "time": "Thu Oct 02 20:25:19 2025 +0000"
      },
      "message": "fsck.f2fs: recognize STOP_CP_REASON_CORRUPTED_NID\n\nLet fsck recognize STOP_CP_REASON_CORRUPTED_NID for repair.\n\nSigned-off-by: Chao Yu \u003cchao@kernel.org\u003e\nSigned-off-by: Jaegeuk Kim \u003cjaegeuk@kernel.org\u003e\n"
    },
    {
      "commit": "4cf123276cca541085e746278a408d8e66cfde8b",
      "tree": "1f204a5976e7e06d27b4463c4fe88d226e1867e3",
      "parents": [
        "7940c4420b5dc0ea61c5297059b61d92dbebc018"
      ],
      "author": {
        "name": "Cherniaev Andrei",
        "email": "dungeonlords789@naver.com",
        "time": "Wed Aug 06 18:53:56 2025 +0900"
      },
      "committer": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk@kernel.org",
        "time": "Thu Oct 02 20:25:19 2025 +0000"
      },
      "message": "README: fix build instruction\n\nSigned-off-by: Cherniaev Andrei \u003cdungeonlords789@naver.com\u003e\nReviewed-by: Chao Yu \u003cchao@kernel.org\u003e\nSigned-off-by: Jaegeuk Kim \u003cjaegeuk@kernel.org\u003e\n"
    },
    {
      "commit": "7940c4420b5dc0ea61c5297059b61d92dbebc018",
      "tree": "2d0885757620a954459de777749e4f34d2c27bf6",
      "parents": [
        "3bd49149dae7237b931b09d87d00b2aef8f7af93"
      ],
      "author": {
        "name": "Daeho Jeong",
        "email": "daehojeong@google.com",
        "time": "Mon Sep 29 13:21:52 2025 -0700"
      },
      "committer": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk@kernel.org",
        "time": "Thu Oct 02 20:23:35 2025 +0000"
      },
      "message": "f2fs-tools: remove unnecessary alignment for blocks_for_ssa\n\ntotal_valid_blks_available is already a multiple of c.blks_per_seg.\nSo, we don\u0027t need an additional alignment adjustment.\n\nSigned-off-by: Daeho Jeong \u003cdaehojeong@google.com\u003e\nReviewed-by: Chao Yu \u003cchao@kernel.org\u003e\nSigned-off-by: Jaegeuk Kim \u003cjaegeuk@kernel.org\u003e\n"
    },
    {
      "commit": "3bd49149dae7237b931b09d87d00b2aef8f7af93",
      "tree": "794ab937d26e49c66a3a9d2d727f7113f11df233",
      "parents": [
        "4cc9025c5da7386c7387e4b48f73fe99ad945d75"
      ],
      "author": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk@kernel.org",
        "time": "Thu Jul 31 22:40:58 2025 +0000"
      },
      "committer": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk@kernel.org",
        "time": "Tue Aug 05 17:00:06 2025 +0000"
      },
      "message": "Fix build error in Android\n\nexternal/f2fs-tools/mkfs/f2fs_format.c:392:31: error: format specifies type \u0027unsigned long long\u0027 but the argument has type \u0027size_t\u0027 (aka \u0027unsigned int\u0027) [-Werror,-Wformat]\n  391 |                         MSG(1, \"\\tError: Unaligned segment0 start (%u) for zoned LU (zone_blocks: %\"PRIu64\")\\n\",\n      |                         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n  392 |                                 get_sb(segment0_blkaddr), c.zone_blocks);\n      |                                 ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~\nexternal/f2fs-tools/include/f2fs_fs.h:289:18: note: expanded from macro \u0027MSG\u0027\n  289 |                         printf(fmt, ##__VA_ARGS__);                     \\\n      |                                ~~~    ^~~~~~~~~~~\nexternal/f2fs-tools/mkfs/f2fs_format.c:404:31: error: format specifies type \u0027unsigned long long\u0027 but the argument has type \u0027size_t\u0027 (aka \u0027unsigned int\u0027) [-Werror,-Wformat]\n  402 |                         MSG(1, \"\\tError: Unaligned start (%\"PRIu64\") for zoned LU from segment0 (%u) (zone_blocks: %\"PRIu64\")\\n\",\n      |                         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n  403 |                                 c.devices[1].start_blkaddr,\n      |                                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~\n  404 |                                 get_sb(segment0_blkaddr), c.zone_blocks);\n      |                                 ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~\nexternal/f2fs-tools/include/f2fs_fs.h:289:18: note: expanded from macro \u0027MSG\u0027\n  289 |                         printf(fmt, ##__VA_ARGS__);                     \\\n      |                                ~~~    ^~~~~~~~~~~\n\nReviewed-by: Chao Yu \u003cchao@kernel.org\u003e\nSigned-off-by: Jaegeuk Kim \u003cjaegeuk@kernel.org\u003e\n"
    },
    {
      "commit": "4cc9025c5da7386c7387e4b48f73fe99ad945d75",
      "tree": "b4451e6b54e9e65e62d17607014cb4f1b01d342a",
      "parents": [
        "2a16f24f24c47d35a663140d66273ee309e4a188"
      ],
      "author": {
        "name": "Cherniaev Andrei",
        "email": "dungeonlords789@naver.com",
        "time": "Fri May 16 20:10:26 2025 +0900"
      },
      "committer": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk@kernel.org",
        "time": "Wed Jul 30 17:53:08 2025 +0000"
      },
      "message": "f2fs-tools: increase overprovision finding speed\n\nI think my optimization makes mkfs.f2fs faster in case of invalid volume size.\nSo with the commit user will get err faster.\nBefore start I suggest add debug printf() to `f2fs_fs.h` like this:\n```\nfor (; candidate \u003c\u003d end; candidate +\u003d diff) {\n\treserved \u003d get_reserved(sb, candidate);\n\tovp \u003d (usable_main_segs - reserved) * candidate / 100;\nMSG(0, \"ovp\u003d%f usable_main_segs\u003d%u reserved\u003d%u candidate\u003d%f\\n\",\n\tovp, usable_main_segs, reserved, candidate); //debug printf()\nif (ovp \u003c\u003d 0)\n\t\tcontinue;\n\tspace \u003d usable_main_segs - max((double)reserved, ovp) -\n\t\t\t\toverprovision_segment_buffer(sb);\nMSG(0, \"space\u003d%f max_space\u003d%f\\n\", space, max_space); //debug printf()\n\tif (max_space \u003c space) {\n\t\tmax_space \u003d space;\n\t\tmax_ovp \u003d candidate;\n\t}\n}\n```\n\nTest instruction is based on \"boot/grub2/readme.txt\"\nhttps://gitlab.com/buildroot.org/buildroot/-/blob/master/boot/grub2/readme.txt\nYou can use Ubuntu 24 or similar OS.\n1. Create a disk image\n```\ncd /tmp\ndd if\u003d/dev/zero of\u003ddisk.img bs\u003d1M count\u003d32\n```\n2. Partition it with GPT partitions usinig `cgdisk disk.img` or\n```\nparted --script disk.img mklabel gpt mkpart primary 1MiB 31MiB\n```\n3. Setup loop device and loop partitions\n```\nloop_dev\u003d$(sudo losetup -f --show disk.img)\nsudo partx -a \"$loop_dev\"\n```\n5. Prepare the root partition\n```\nsudo mkfs.f2fs -f -l mylable123 -i -O extra_attr,inode_checksum,\\\nsb_checksum,compression -e raw -E bin \"$loop_dev\"\n```\n6. Cleanup loop device\n```\npartx -d \"$loop_dev\"\nlosetup -d \"$loop_dev\"\n```\nIn log you can see that for ovp\u003d\u003d0.0 space calculation looks not necessary...\n```\na@Linux:~$ sudo mkfs.f2fs -f -l mylable123 -i -O extra_attr,inode_checksum,\\\nsb_checksum,compression -e raw -E bin \"$loop_dev\"\n\n    F2FS-tools: mkfs.f2fs Ver: 1.16.0 (2025-05-06)\n\nInfo: Debug level \u003d 0\nInfo: Add new cold file extension list\nInfo: Add new hot file extension list\nInfo: Label \u003d mylable123\nInfo: Trim is enabled\nInfo: Enable Compression\nInfo: Segments per section \u003d 1\nInfo: Sections per zone \u003d 1\nInfo: sector size \u003d 512\nInfo: total sectors \u003d 65536 (32 MB)\nInfo: zone aligned segment0 blkaddr: 512\novp\u003d429496728.700000 usable_main_segs\u003d8 reserved\u003d17 candidate\u003d10.000000\nspace\u003d-429496726.700000 max_space\u003d0.000000\novp\u003d644245093.650000 usable_main_segs\u003d8 reserved\u003d13 candidate\u003d15.000000\nspace\u003d-644245091.650000 max_space\u003d0.000000\novp\u003d858993458.400000 usable_main_segs\u003d8 reserved\u003d12 candidate\u003d20.000000\nspace\u003d-858993456.400000 max_space\u003d0.000000\novp\u003d1073741823.250000 usable_main_segs\u003d8 reserved\u003d11 candidate\u003d25.000000\nspace\u003d-1073741821.250000 max_space\u003d0.000000\novp\u003d1288490188.200000 usable_main_segs\u003d8 reserved\u003d10 candidate\u003d30.000000\nspace\u003d-1288490186.200000 max_space\u003d0.000000\novp\u003d1503238553.250000 usable_main_segs\u003d8 reserved\u003d9 candidate\u003d35.000000\nspace\u003d-1503238551.250000 max_space\u003d0.000000\novp\u003d1717986918.000000 usable_main_segs\u003d8 reserved\u003d9 candidate\u003d40.000000\nspace\u003d-1717986916.000000 max_space\u003d0.000000\novp\u003d1932735282.750000 usable_main_segs\u003d8 reserved\u003d9 candidate\u003d45.000000\nspace\u003d-1932735280.750000 max_space\u003d0.000000\novp\u003d2147483647.500000 usable_main_segs\u003d8 reserved\u003d9 candidate\u003d50.000000\nspace\u003d-2147483645.500000 max_space\u003d0.000000\novp\u003d0.000000 usable_main_segs\u003d8 reserved\u003d8 candidate\u003d55.000000\nspace\u003d-6.000000 max_space\u003d0.000000\novp\u003d0.000000 usable_main_segs\u003d8 reserved\u003d8 candidate\u003d60.000000\nspace\u003d-6.000000 max_space\u003d0.000000\novp\u003d0.000000 usable_main_segs\u003d8 reserved\u003d8 candidate\u003d65.000000\nspace\u003d-6.000000 max_space\u003d0.000000\novp\u003d0.000000 usable_main_segs\u003d8 reserved\u003d8 candidate\u003d70.000000\nspace\u003d-6.000000 max_space\u003d0.000000\novp\u003d0.000000 usable_main_segs\u003d8 reserved\u003d8 candidate\u003d75.000000\nspace\u003d-6.000000 max_space\u003d0.000000\novp\u003d0.000000 usable_main_segs\u003d8 reserved\u003d8 candidate\u003d80.000000\nspace\u003d-6.000000 max_space\u003d0.000000\novp\u003d0.000000 usable_main_segs\u003d8 reserved\u003d8 candidate\u003d85.000000\nspace\u003d-6.000000 max_space\u003d0.000000\novp\u003d0.000000 usable_main_segs\u003d8 reserved\u003d8 candidate\u003d90.000000\nspace\u003d-6.000000 max_space\u003d0.000000\novp\u003d0.000000 usable_main_segs\u003d8 reserved\u003d8 candidate\u003d95.000000\nspace\u003d-6.000000 max_space\u003d0.000000\n\tError: Device size is not sufficient for F2FS volume\n\tError: Failed to prepare a super block!!!\n\tError: Could not format the device!!!\n```\n\nSigned-off-by: Cherniaev Andrei \u003cdungeonlords789@naver.com\u003e\nSigned-off-by: Jaegeuk Kim \u003cjaegeuk@kernel.org\u003e\n"
    },
    {
      "commit": "2a16f24f24c47d35a663140d66273ee309e4a188",
      "tree": "314c3f76ca1eef2084b9a7e7973b02070b59903a",
      "parents": [
        "5502245eea3d913a8d62b552d2627e302e16724b"
      ],
      "author": {
        "name": "Chao Yu",
        "email": "chao@kernel.org",
        "time": "Fri Jul 25 13:52:04 2025 +0800"
      },
      "committer": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk@kernel.org",
        "time": "Wed Jul 30 17:53:08 2025 +0000"
      },
      "message": "fsck.f2fs: honor --linear-lookup\u003dX for Android case\n\nBehavior summary:\n\t\t\tAndroid\t\tDistro\nBy default\t\tdisabled\tenabled\n\nAndroid case:\n\n1) enabled -\u003e disabled\n- mkfs.f2fs -f -g android -O casefold -C utf8:nohashonly /dev/vdb\n- dump.f2fs -d3 /dev/vdb |grep s_encoding_flags\ns_encoding_flags                        [0x       0 : 0]\n- fsck.f2fs -g android --nolinear-lookup\u003d1 /dev/vdb\n- dump.f2fs -d3 /dev/vdb |grep s_encoding_flags\ns_encoding_flags                        [0x       2 : 2]\n\n- mkfs.f2fs -f -g android -O casefold -C utf8:nohashonly /dev/vdb\n- dump.f2fs -d3 /dev/vdb |grep s_encoding_flags\ns_encoding_flags                        [0x       0 : 0]\n- fsck.f2fs -g android /dev/vdb\n- dump.f2fs -d3 /dev/vdb |grep s_encoding_flags\ns_encoding_flags                        [0x       2 : 2]\n\n2) disabled -\u003e enabled\n- mkfs.f2fs -f -g android -O casefold -C utf8:hashonly /dev/vdb\n- dump.f2fs -d3 /dev/vdb |grep s_encoding_flags\ns_encoding_flags                        [0x       2 : 2]\n- fsck.f2fs -g android --nolinear-lookup\u003d0 /dev/vdb\n- dump.f2fs -d3 /dev/vdb |grep s_encoding_flags\ns_encoding_flags                        [0x       0 : 0]\n\nDistro case:\n\n1) enabled -\u003e disabled\n- mkfs.f2fs -f -O casefold -C utf8:nohashonly /dev/vdb\n- dump.f2fs -d3 /dev/vdb |grep s_encoding_flags\ns_encoding_flags                        [0x       0 : 0]\n- fsck.f2fs --nolinear-lookup\u003d1 /dev/vdb\n- dump.f2fs -d3 /dev/vdb |grep s_encoding_flags\ns_encoding_flags                        [0x       2 : 2]\n\n2) disabled -\u003e enabled\n- mkfs.f2fs -f -O casefold -C utf8:hashonly /dev/vdb\n- dump.f2fs -d3 /dev/vdb |grep s_encoding_flags\ns_encoding_flags                        [0x       2 : 2]\n- fsck.f2fs --nolinear-lookup\u003d0 /dev/vdb\n- dump.f2fs -d3 /dev/vdb |grep s_encoding_flags\ns_encoding_flags                        [0x       0 : 0]\n\n3) default\n- mkfs.f2fs -f -O casefold -C utf8:hashonly /dev/vdb\n- dump.f2fs -d3 /dev/vdb |grep s_encoding_flags\ns_encoding_flags                        [0x       2 : 2]\n- fsck.f2fs /dev/vdb\n- dump.f2fs -d3 /dev/vdb |grep s_encoding_flags\ns_encoding_flags                        [0x       2 : 2]\n\n- mkfs.f2fs -f -O casefold -C utf8:nohashonly /dev/vdb\n- dump.f2fs -d3 /dev/vdb |grep s_encoding_flags\ns_encoding_flags                        [0x       0 : 0]\n- fsck.f2fs /dev/vdb\n- dump.f2fs -d3 /dev/vdb |grep s_encoding_flags\ns_encoding_flags                        [0x       0 : 0]\n\nSigned-off-by: Chao Yu \u003cchao@kernel.org\u003e\nSigned-off-by: Jaegeuk Kim \u003cjaegeuk@kernel.org\u003e\n"
    },
    {
      "commit": "5502245eea3d913a8d62b552d2627e302e16724b",
      "tree": "04c77542c871b651c6eec7470937282ec14e146c",
      "parents": [
        "69d5e762d08e6e5a197aecfd8bfbb4c41c5747dd"
      ],
      "author": {
        "name": "Chao Yu",
        "email": "chao@kernel.org",
        "time": "Mon Jul 28 10:05:31 2025 +0800"
      },
      "committer": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk@kernel.org",
        "time": "Wed Jul 30 17:53:08 2025 +0000"
      },
      "message": "mkfs.f2fs: support -C [no]hashonly to control linear lookup fallback\n\nIt provides a way to disable linear lookup fallback during mkfs.\n\nBehavior summary:\n\t\t\tAndroid\t\tDistro\nBy default\t\tdisabled\tenabled\n\nAndroid case:\n\n1.1) Disable linear lookup:\n- mkfs.f2fs -f -g android -O casefold -C utf8:hashonly /dev/vdb\n- dump.f2fs -d3 /dev/vdb |grep s_encoding_flags\ns_encoding_flags                        [0x       2 : 2]\n\n1.2) Enable linear lookup:\n- mkfs.f2fs -f -g android -O casefold -C utf8:nohashonly /dev/vdb\n- dump.f2fs -d3 /dev/vdb |grep s_encoding_flags\ns_encoding_flags                        [0x       0 : 0]\n\n1.3) By default:\n- mkfs.f2fs -f -g android -O casefold -C utf8 /dev/vdb\nInfo: set default linear_lookup option: disable\n- dump.f2fs -d3 /dev/vdb |grep s_encoding_flags\ns_encoding_flags                        [0x       2 : 2]\n\nDistro case:\n\n2.1) Disable linear lookup:\n- mkfs.f2fs -f -O casefold -C utf8:hashonly /dev/vdb\n- dump.f2fs -d3 /dev/vdb |grep s_encoding_flags\ns_encoding_flags                        [0x       2 : 2]\n\n2.2) Enable linear lookup:\n- mkfs.f2fs -f -O casefold -C utf8:nohashonly /dev/vdb\n- dump.f2fs -d3 /dev/vdb |grep s_encoding_flags\ns_encoding_flags                        [0x       0 : 0]\n\n2.3) By default:\n- mkfs.f2fs -f -O casefold -C utf8 /dev/vdb\n- dump.f2fs -d3 /dev/vdb |grep s_encoding_flags\ns_encoding_flags                        [0x       0 : 0]\n\nReviewed-by: Zhiguo Niu \u003czhiguo.niu@unisoc.com\u003e\nSigned-off-by: Chao Yu \u003cchao@kernel.org\u003e\nSigned-off-by: Jaegeuk Kim \u003cjaegeuk@kernel.org\u003e\n"
    },
    {
      "commit": "69d5e762d08e6e5a197aecfd8bfbb4c41c5747dd",
      "tree": "bb46d28ab9b0db8584e754064665dff0a1937630",
      "parents": [
        "d22f243eb8b3c9128e9d5847cc2476617bf09d4c"
      ],
      "author": {
        "name": "Daniel Lee",
        "email": "chullee@google.com",
        "time": "Thu Jul 24 16:28:39 2025 -0700"
      },
      "committer": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk@kernel.org",
        "time": "Wed Jul 30 17:53:04 2025 +0000"
      },
      "message": "mkfs.f2fs: Fix zoned alignment check for multi-device setups\n\nCommit 84447ee7212e correctly relocated the zone alignment check to its\nproper location. However, this revealed that the original check\u0027s\ncondition was incorrect for multi-device setups.\n\nThis patch corrects the logic to check the alignment relative to the start\nof the segment0 and improves the error messages.\n\nSigned-off-by: Daniel Lee \u003cchullee@google.com\u003e\nReviewed-by: Chao Yu \u003cchao@kernel.org\u003e\n[Jaegeuk Kim: fix build error]\nSigned-off-by: Jaegeuk Kim \u003cjaegeuk@kernel.org\u003e\n"
    },
    {
      "commit": "d22f243eb8b3c9128e9d5847cc2476617bf09d4c",
      "tree": "565f5c95665ca8495b5d1c21b61481ffb229acea",
      "parents": [
        "35cc8f234a9134bb6f4dc87d5994a62e17fd2902"
      ],
      "author": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk@kernel.org",
        "time": "Wed Jul 23 00:09:24 2025 +0000"
      },
      "committer": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk@kernel.org",
        "time": "Wed Jul 23 00:09:24 2025 +0000"
      },
      "message": "Revert \"mkfs.f2fs: adjust zone alignment check to correct position\"\n\nThis reverts commit 84447ee7212ef4ae6c2c324cd56c83375abcc03e.\n"
    },
    {
      "commit": "35cc8f234a9134bb6f4dc87d5994a62e17fd2902",
      "tree": "372b9e2d503ccd68474878bfc210d49b27aa3d93",
      "parents": [
        "6382d916817b3f3a1be1278c09a20e96dcaa7057"
      ],
      "author": {
        "name": "Chao Yu",
        "email": "chao@kernel.org",
        "time": "Tue Jul 22 11:20:08 2025 +0800"
      },
      "committer": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk@kernel.org",
        "time": "Tue Jul 22 16:24:04 2025 +0000"
      },
      "message": "fsck.f2fs: disable linear lookup by default\n\nAs we know, Android is the only user of casefold feature, in casefolded\ndirectory, creating a filename w/ character has ignorable code points in\nbuggy kernel v6.12 is a very rare case, we don\u0027t get any report that user\ncan not access file w/ character has ignorable code points till now.\n\nLet\u0027s disable linear lookup in fsck for Android by default, once there is\nany related bug report of unicode code points, we can enable it again.\n\nmkfs.f2fs -f -O casefold -C utf8 /dev/vdb\ndump.f2fs -d3 /dev/vdb |grep s_encoding_flags\ns_encoding_flags                        [0x       0 : 0]\nfsck.f2fs /dev/vdb -g android\ndump.f2fs -d3 /dev/vdb |grep s_encoding_flags\ns_encoding_flags                        [0x       2 : 2]\n\nSigned-off-by: Chao Yu \u003cchao@kernel.org\u003e\nSigned-off-by: Jaegeuk Kim \u003cjaegeuk@kernel.org\u003e\n"
    },
    {
      "commit": "6382d916817b3f3a1be1278c09a20e96dcaa7057",
      "tree": "25a67044b49ff401dd24720e1b5243d8e432b296",
      "parents": [
        "d1854c898cac21a8fa6eec7bbf4eb327e196e8bd"
      ],
      "author": {
        "name": "Chao Yu",
        "email": "chao@kernel.org",
        "time": "Tue Jul 15 10:30:35 2025 +0800"
      },
      "committer": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk@kernel.org",
        "time": "Fri Jul 18 20:16:39 2025 +0000"
      },
      "message": "f2fs_io: fix doc of test_lookup_perf\n\nThis patch fixes wrong parameter in usage of test_lookup_perf.\n\nSigned-off-by: Chao Yu \u003cchao@kernel.org\u003e\nSigned-off-by: Jaegeuk Kim \u003cjaegeuk@kernel.org\u003e\n"
    },
    {
      "commit": "d1854c898cac21a8fa6eec7bbf4eb327e196e8bd",
      "tree": "98fcb1ad5f2ea5823b22dac12547181868498121",
      "parents": [
        "84447ee7212ef4ae6c2c324cd56c83375abcc03e"
      ],
      "author": {
        "name": "Daniel Lee",
        "email": "chullee@google.com",
        "time": "Mon Jul 14 10:51:03 2025 -0700"
      },
      "committer": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk@kernel.org",
        "time": "Fri Jul 18 20:16:28 2025 +0000"
      },
      "message": "man: add doc for test_create_perf/test_lookup_perf\n\nSigned-off-by: Daniel Lee \u003cchullee@google.com\u003e\nReviewed-by: Chao Yu \u003cchao@kernel.org\u003e\nSigned-off-by: Jaegeuk Kim \u003cjaegeuk@kernel.org\u003e\n"
    },
    {
      "commit": "84447ee7212ef4ae6c2c324cd56c83375abcc03e",
      "tree": "9cd024065900d4b559662c934ee07c5f6b05d76e",
      "parents": [
        "148fc2a2aa67faaab402b6d677e5a29951a59781"
      ],
      "author": {
        "name": "Zhiguo Niu",
        "email": "zhiguo.niu@unisoc.com",
        "time": "Mon Jul 14 17:51:45 2025 +0800"
      },
      "committer": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk@kernel.org",
        "time": "Fri Jul 18 20:15:42 2025 +0000"
      },
      "message": "mkfs.f2fs: adjust zone alignment check to correct position\n\nShould check these after c.devices[1].start_blkaddr is assigned\nwhen c.ndevs \u003e 1.\n\nFixes: 316e128fe3dc (\"mkfs.f2fs: adjust zone alignment when using multi-partitions\")\nSigned-off-by: Zhiguo Niu \u003czhiguo.niu@unisoc.com\u003e\nReviewed-by: Chao Yu \u003cchao@kernel.org\u003e\nSigned-off-by: Jaegeuk Kim \u003cjaegeuk@kernel.org\u003e\n"
    },
    {
      "commit": "148fc2a2aa67faaab402b6d677e5a29951a59781",
      "tree": "da1d30426b3baac4ea4e745785dfaabca4f7a497",
      "parents": [
        "8cff69c9a2c1c9778232732e809501cc3aad0ede"
      ],
      "author": {
        "name": "Daniel Lee",
        "email": "chullee@google.com",
        "time": "Thu Jul 17 11:20:57 2025 -0700"
      },
      "committer": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk@kernel.org",
        "time": "Fri Jul 18 20:09:39 2025 +0000"
      },
      "message": "f2fs_io: fix format mismatch for ino_t\n\nThe ino_t type can be defined as either \u0027unsigned long\u0027 or\n\u0027unsigned long long\u0027.\n\nSigned-off-by: Daniel Lee \u003cchullee@google.com\u003e\nSigned-off-by: Jaegeuk Kim \u003cjaegeuk@kernel.org\u003e\n"
    },
    {
      "commit": "8cff69c9a2c1c9778232732e809501cc3aad0ede",
      "tree": "478efe33d50a01d71a2128087262bb4ca470d3a0",
      "parents": [
        "47ad82e9881259065d907bfb2fb20cb6fa5d0ede"
      ],
      "author": {
        "name": "Chao Yu",
        "email": "chao@kernel.org",
        "time": "Fri Jul 11 15:45:51 2025 +0800"
      },
      "committer": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk@kernel.org",
        "time": "Fri Jul 11 16:19:39 2025 +0000"
      },
      "message": "fsck.f2fs: fix to use strncmp to avoid out-of-boundary access\n\nOtherwise, if length of main device path is equal to MAX_PATH_LEN,\nit will trigger assert() as below:\n\n[ASSERT] (init_sb_info:1264) !strcmp((char *)sb-\u003edevs[i].path, (char *)c.devices[i].path)\n\nThis is because there is no null character in the end of devcie\npath string, result in out-of-boundary access in devs.path[].\n\nLet\u0027s use strncmp instead of strcmp to compare device path to fix\nthis issue.\n\nSigned-off-by: Chao Yu \u003cchao@kernel.org\u003e\nSigned-off-by: Jaegeuk Kim \u003cjaegeuk@kernel.org\u003e\n"
    },
    {
      "commit": "47ad82e9881259065d907bfb2fb20cb6fa5d0ede",
      "tree": "9acf3b2a89f28cf1dea2a000ead0951f9eb6a468",
      "parents": [
        "24a9ddd21ce85cfcfe5014c2620883b9f790704d"
      ],
      "author": {
        "name": "Chao Yu",
        "email": "chao@kernel.org",
        "time": "Fri Jul 11 15:45:50 2025 +0800"
      },
      "committer": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk@kernel.org",
        "time": "Fri Jul 11 16:19:33 2025 +0000"
      },
      "message": "mkfs.f2fs: fix to limit length of main device path in f2fs_parse_options()\n\nOtherwise, mkfs.f2fs may persist truncated path of main device.\n\n- mkfs.f2fs /mnt/f2fs/0123456789012345678901234567890123456789012345678901234 \\\n  -c /mnt/f2fs/012345678901234567890123456789012345678901234567890123 -f\n- mount /mnt/f2fs/0123456789012345678901234567890123456789012345678901234\n  /mnt/f2fs/loop\n\nF2FS-fs (loop0): Mount Device [ 0]: /mnt/f2fs/012345678901234567890123456789012345678901234567890123,      511,        0 -    3ffff\nF2FS-fs (loop0): Failed to find devices\n\nSigned-off-by: Chao Yu \u003cchao@kernel.org\u003e\nSigned-off-by: Jaegeuk Kim \u003cjaegeuk@kernel.org\u003e\n"
    },
    {
      "commit": "24a9ddd21ce85cfcfe5014c2620883b9f790704d",
      "tree": "ecf29c5f094c84bafe5199591996c4b2d93d636e",
      "parents": [
        "b65797111cc55f29fd7ea56332a69d3384c1dd9a"
      ],
      "author": {
        "name": "Chao Yu",
        "email": "chao@kernel.org",
        "time": "Fri Jul 11 15:45:49 2025 +0800"
      },
      "committer": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk@kernel.org",
        "time": "Fri Jul 11 16:19:25 2025 +0000"
      },
      "message": "fsck.f2fs: allow to print more infos before assert() in init_sb_info()\n\nIt allows to print more informations once assert() is triggered\nin init_sb_info().\n\nSigned-off-by: Chao Yu \u003cchao@kernel.org\u003e\nSigned-off-by: Jaegeuk Kim \u003cjaegeuk@kernel.org\u003e\n"
    },
    {
      "commit": "b65797111cc55f29fd7ea56332a69d3384c1dd9a",
      "tree": "e926f705f0a81aec6a156fdfd5e81ca39205c1f0",
      "parents": [
        "9bd4f36ad9b30f7bf65117e30d28835c515fabed"
      ],
      "author": {
        "name": "Chao Yu",
        "email": "chao@kernel.org",
        "time": "Tue Jul 01 19:44:01 2025 +0800"
      },
      "committer": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk@kernel.org",
        "time": "Tue Jul 01 16:59:23 2025 +0000"
      },
      "message": "f2fs_io: measure readdir/stat performance\n\n- mkdir dir\n- f2fs_io test_lookup_perf -i /mnt/f2fs/dir 50000\n- sync\n- echo 3 \u003e /proc/sys/vm/drop_caches\n- f2fs_io test_lookup_perf /mnt/f2fs/dir\n\nOutput:\nMeasure readdir performance\nMeasure stat performance\nOperation: total_files, total_time_s, throughput_files_per_sec\nreaddir: 50000, 1.7781, 28120.08\nstat: 50000, 2.1665, 23079.19\n\n- f2fs_io test_lookup_perf -v /mnt/f2fs/dir 50000\n\nOutput:\ninode    file type  d_reclen  d_off    d_name\n6176     directory  24        1        .\n3        directory  24        2        ..\n6276     regular    32        4        test_file_0\n6285     regular    32        6        test_file_1\n6291     regular    32        8        test_file_2\n6295     regular    32        10       test_file_3\n....\n\nSigned-off-by: Chao Yu \u003cchao@kernel.org\u003e\nSigned-off-by: Jaegeuk Kim \u003cjaegeuk@kernel.org\u003e\n"
    },
    {
      "commit": "9bd4f36ad9b30f7bf65117e30d28835c515fabed",
      "tree": "da7494f689ebff0ae0ffc0d5d8a1ee56d988704d",
      "parents": [
        "0fa87268b7bea2601da0a833909120f5a1bc6602"
      ],
      "author": {
        "name": "Daniel Lee",
        "email": "chullee@google.com",
        "time": "Tue Jun 17 07:04:57 2025 -0700"
      },
      "committer": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk@kernel.org",
        "time": "Wed Jun 25 15:44:45 2025 +0000"
      },
      "message": "f2fs_io: add test_create_perf command\n\nA new command \u0027test_create_perf\u0027, has been introduced to measure\nthe performance of creating and deleting many files.\n\nSigned-off-by: Daniel Lee \u003cchullee@google.com\u003e\nReviewed-by: Chao Yu \u003cchao@kernel.org\u003e\nSigned-off-by: Jaegeuk Kim \u003cjaegeuk@kernel.org\u003e\n"
    },
    {
      "commit": "0fa87268b7bea2601da0a833909120f5a1bc6602",
      "tree": "91d23c0d59569d185226e563019671dc05405c4f",
      "parents": [
        "ab4df39dcddf84429060d47f63570ca5704104d4"
      ],
      "author": {
        "name": "Chao Yu",
        "email": "chao@kernel.org",
        "time": "Tue Jun 03 15:26:18 2025 +0800"
      },
      "committer": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk@kernel.org",
        "time": "Tue Jun 10 14:55:23 2025 +0000"
      },
      "message": "fsck.f2fs: fix to avoid using uninitialized buffer\n\nfsck.c: In function ‘chk_and_fix_wp_with_sit’:\nfsck.c:3529:17: error: variable-sized object may not be initialized\n 3529 |                 char buffer[F2FS_BLKSIZE] \u003d {};\n      |                 ^~~~\n\nThe reason is F2FS_BLKSIZE macro is defined w/ c.blksize, let\u0027s use\ncalloc() to allocate zeroed memory to fix this issue.\n\nCc: Daeho Jeong \u003cdaehojeong@google.com\u003e\nSigned-off-by: Chao Yu \u003cchao@kernel.org\u003e\nReviewed-by: Daeho Jeong \u003cdaehojeong@google.com\u003e\nSigned-off-by: Jaegeuk Kim \u003cjaegeuk@kernel.org\u003e\n"
    },
    {
      "commit": "ab4df39dcddf84429060d47f63570ca5704104d4",
      "tree": "26735c68e384634b4a965768de11277e63865edc",
      "parents": [
        "ce25217d6bde2c5e1d024c83f49918339153cb37"
      ],
      "author": {
        "name": "orbea",
        "email": "orbea@riseup.net",
        "time": "Tue Jun 03 06:59:05 2025 -0700"
      },
      "committer": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk@kernel.org",
        "time": "Tue Jun 10 14:55:09 2025 +0000"
      },
      "message": "mkfs: link using libf2fs.la\n\nWith slibtool the build will fail with \u0027cannot find -lf2fs\u0027.\n\nTo fix this it is better to use the canonical method of linking internal\ndependencies which is to use the generated .la files where the libtool\nimplementation will know what to do with it.\n\nGentoo-Issue: https://bugs.gentoo.org/929070\nSigned-off-by: orbea \u003corbea@riseup.net\u003e\nReviewed-by: Chao Yu \u003cchao@kernel.org\u003e\nSigned-off-by: Jaegeuk Kim \u003cjaegeuk@kernel.org\u003e\n"
    },
    {
      "commit": "ce25217d6bde2c5e1d024c83f49918339153cb37",
      "tree": "1bc802e2276d741bb34fef44a82a74f072cf5755",
      "parents": [
        "e837b2728e9e4f07c4bd56bb178a6f6bb984fab2"
      ],
      "author": {
        "name": "Daeho Jeong",
        "email": "daehojeong@google.com",
        "time": "Wed May 21 12:41:00 2025 -0700"
      },
      "committer": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk@kernel.org",
        "time": "Wed May 28 16:07:11 2025 +0000"
      },
      "message": "fsck.f2fs: fix null buffer error with dev_fill\n\nMake fsck use dev_fill_block() with zeroed buffer instead of dev_fill().\n\nSigned-off-by: Daeho Jeong \u003cdaehojeong@google.com\u003e\nReviewed-by: Chao Yu \u003cchao@kernel.org\u003e\nSigned-off-by: Jaegeuk Kim \u003cjaegeuk@kernel.org\u003e\n"
    },
    {
      "commit": "e837b2728e9e4f07c4bd56bb178a6f6bb984fab2",
      "tree": "c3b0e0f1d00e9c9c331d998fb61605ecbae8c496",
      "parents": [
        "2751cca35bf33105bdae4ac6411b3827e47e2164"
      ],
      "author": {
        "name": "Daeho Jeong",
        "email": "daehojeong@google.com",
        "time": "Tue May 27 09:54:11 2025 -0700"
      },
      "committer": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk@kernel.org",
        "time": "Wed May 28 15:57:30 2025 +0000"
      },
      "message": "mkfs.f2fs: ensure zone size is a multiple of segment size\n\nOtherwise, it doesn\u0027t work with a crash.\n\nSigned-off-by: Daeho Jeong \u003cdaehojeong@google.com\u003e\nReviewed-by: Chao Yu \u003cchao@kernel.org\u003e\nSigned-off-by: Jaegeuk Kim \u003cjaegeuk@kernel.org\u003e\n"
    },
    {
      "commit": "2751cca35bf33105bdae4ac6411b3827e47e2164",
      "tree": "7d7599f9bf109ce6b76aee598946a2d851a41e20",
      "parents": [
        "dcac79a598121df81d667b129b176699af8bd20c"
      ],
      "author": {
        "name": "Jianan Huang",
        "email": "huangjianan@xiaomi.com",
        "time": "Thu May 08 20:42:35 2025 +0800"
      },
      "committer": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk@kernel.org",
        "time": "Tue May 13 02:08:51 2025 +0000"
      },
      "message": "f2fs-tools: clean up dump.f2fs etc. when uninstall\n\nOtherwise, some lonely soft links will be left in /usr/local/bin.\n\nSigned-off-by: Jianan Huang \u003chuangjianan@xiaomi.com\u003e\nReviewed-by: Chao Yu \u003cchao@kernel.org\u003e\nSigned-off-by: Jaegeuk Kim \u003cjaegeuk@kernel.org\u003e\n"
    },
    {
      "commit": "dcac79a598121df81d667b129b176699af8bd20c",
      "tree": "e6eec7746ff8b1091ed88cdf251fc0297d37c5a3",
      "parents": [
        "35f7452c799a4098fd4b75487fff73b06aa9579b"
      ],
      "author": {
        "name": "Jianan Huang",
        "email": "huangjianan@xiaomi.com",
        "time": "Thu May 08 20:42:34 2025 +0800"
      },
      "committer": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk@kernel.org",
        "time": "Tue May 13 02:08:48 2025 +0000"
      },
      "message": "f2fs-tools: delete only if the libf2fs_format.so* exists\n\nOtherwise we will get the following error when executing make uninstall:\n\nmake  uninstall-hook\nmake[2]: Entering directory \u0027/home/huangjianan/code/f2fs-tools/mkfs\u0027\nrm /usr/local/lib/libf2fs_format.so*\nrm: cannot remove \u0027/usr/local/lib/libf2fs_format.so*\u0027: No such file or directory\nmake[2]: *** [Makefile:827: uninstall-hook] Error 1\nmake[2]: Leaving directory \u0027/home/huangjianan/code/f2fs-tools/mkfs\u0027\nmake[1]: *** [Makefile:790: uninstall-am] Error 2\nmake[1]: Leaving directory \u0027/home/huangjianan/code/f2fs-tools/mkfs\u0027\nmake: *** [Makefile:418: uninstall-recursive] Error 1\n\nFixes: b067004c92dc (\"add configure option --with-root-libdir\")\nSigned-off-by: Jianan Huang \u003chuangjianan@xiaomi.com\u003e\nReviewed-by: Chao Yu \u003cchao@kernel.org\u003e\nSigned-off-by: Jaegeuk Kim \u003cjaegeuk@kernel.org\u003e\n"
    },
    {
      "commit": "35f7452c799a4098fd4b75487fff73b06aa9579b",
      "tree": "620cc648fe06b9f5bbe9a99cb90163d82223f001",
      "parents": [
        "3163dbac28f6aa9c12a5281b0f9c18009bf234f3"
      ],
      "author": {
        "name": "Chao Yu",
        "email": "chao@kernel.org",
        "time": "Mon May 12 14:59:22 2025 +0800"
      },
      "committer": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk@kernel.org",
        "time": "Mon May 12 15:23:48 2025 +0000"
      },
      "message": "libf2fs: print block size\n\nnl6720 reported in [1], mkfs.f2fs doesn\u0027t report block size, instead,\nit prints sector size which is not used inside f2fs. Let\u0027s print block\nsize as well during mkfs as below:\n\noutput of mkfs.f2fs:\n\nInfo: sector size \u003d 512\nInfo: total sectors \u003d 16777216 (8192 MB)\nInfo: block size \u003d 4096\n\n[1] https://lore.kernel.org/linux-f2fs-devel/20250425013623.918150-1-devnull@nl6720.me\n\nReported-by: nl6720 \u003cdevnull@nl6720.me\u003e\nCloses: https://github.com/jaegeuk/f2fs-tools/issues/29\nSigned-off-by: Chao Yu \u003cchao@kernel.org\u003e\nSigned-off-by: Jaegeuk Kim \u003cjaegeuk@kernel.org\u003e\n"
    },
    {
      "commit": "3163dbac28f6aa9c12a5281b0f9c18009bf234f3",
      "tree": "d7c50a5dbe4c12bd8cf9ed3815ef63ace667bde7",
      "parents": [
        "d8eac1f8699541416afdf93333772ef2e0509773"
      ],
      "author": {
        "name": "Jianan Huang",
        "email": "huangjianan@xiaomi.com",
        "time": "Mon May 12 11:33:59 2025 +0800"
      },
      "committer": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk@kernel.org",
        "time": "Mon May 12 15:23:33 2025 +0000"
      },
      "message": "f2fs_io: print errno for flag operations\n\nSigned-off-by: Jianan Huang \u003chuangjianan@xiaomi.com\u003e\nReviewed-by: Chao Yu \u003cchao@kernel.org\u003e\nSigned-off-by: Jaegeuk Kim \u003cjaegeuk@kernel.org\u003e\n"
    },
    {
      "commit": "d8eac1f8699541416afdf93333772ef2e0509773",
      "tree": "a2ecd203e18fb06988bd846117b4fcc83189b929",
      "parents": [
        "29c1e18a0bc5d69cf2613660fff94a240ff074a7"
      ],
      "author": {
        "name": "Daeho Jeong",
        "email": "daehojeong@google.com",
        "time": "Wed Apr 30 11:35:30 2025 -0700"
      },
      "committer": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk@kernel.org",
        "time": "Tue May 06 20:40:15 2025 +0000"
      },
      "message": "f2fs-tools: introduce fault injection to fsck\n\nDue to the difficulty of intentionally corrupting specific metadata on\nsome storage devices like zoned storage devices, it is challenging to\neffectively verify fsck functionality. To facilitate this verification,\nit is necessary to add a fault injection mode.\n\nSigned-off-by: Daeho Jeong \u003cdaehojeong@google.com\u003e\nReviewed-by: Chao Yu \u003cchao@kernel.org\u003e\nSigned-off-by: Jaegeuk Kim \u003cjaegeuk@kernel.org\u003e\n"
    },
    {
      "commit": "29c1e18a0bc5d69cf2613660fff94a240ff074a7",
      "tree": "bdb6549adb8c7bc845eac1a0f1850c6197694ad8",
      "parents": [
        "f3baa190b46b3c0eef6f4263e1465abaaf84b46b"
      ],
      "author": {
        "name": "Chao Yu",
        "email": "chao@kernel.org",
        "time": "Mon Apr 28 16:50:09 2025 +0800"
      },
      "committer": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk@kernel.org",
        "time": "Wed Apr 30 01:34:33 2025 +0000"
      },
      "message": "fsck.f2fs: tune linear_lookup in f2fs_do_mount()\n\nIn order to avoid failing to tune linear_lookup if auto or\npreen mode is on.\n\nCc: Daniel Lee \u003cchullee@google.com\u003e\nSigned-off-by: Chao Yu \u003cchao@kernel.org\u003e\nSigned-off-by: Jaegeuk Kim \u003cjaegeuk@kernel.org\u003e\n"
    },
    {
      "commit": "f3baa190b46b3c0eef6f4263e1465abaaf84b46b",
      "tree": "59fef8927210d25b82913667888d88970f292d3d",
      "parents": [
        "f614bccc18cf57472b8132ebbb743052bd01cb8b"
      ],
      "author": {
        "name": "Chao Yu",
        "email": "chao@kernel.org",
        "time": "Tue Apr 22 19:57:00 2025 +0800"
      },
      "committer": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk@kernel.org",
        "time": "Wed Apr 23 15:02:52 2025 +0000"
      },
      "message": "fsck.f2fs: recognize STOP_CP_REASON_CORRUPTED_FREE_BITMAP\n\nLet fsck.f2fs recognize STOP_CP_REASON_CORRUPTED_FREE_BITMAP.\n\nSigned-off-by: Chao Yu \u003cchao@kernel.org\u003e\nSigned-off-by: Jaegeuk Kim \u003cjaegeuk@kernel.org\u003e\n"
    },
    {
      "commit": "f614bccc18cf57472b8132ebbb743052bd01cb8b",
      "tree": "c8de4a8003c598b447215b0b46ea2848907326db",
      "parents": [
        "bf4b5c4b130d43b4fbff1537109756e9df9781bf"
      ],
      "author": {
        "name": "Chao Yu",
        "email": "chao@kernel.org",
        "time": "Mon Apr 14 19:11:41 2025 +0800"
      },
      "committer": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk@kernel.org",
        "time": "Wed Apr 23 15:01:37 2025 +0000"
      },
      "message": "resize.f2fs: fix to always change metadata for expand resize\n\nw/ below testcase, resize will generate a corrupted image which\ncontains inconsistent metadata:\n\ntouch img\ntruncate -s $((512*1024*1024*1024)) img\nmkfs.f2fs -f img $((256*1024*1024))\nresize.f2fs -s img -t $((1024*1024*1024))\nmount img /mnt/f2fs\n\n[   31.725200] F2FS-fs (loop0): Wrong bitmap size: sit: 192, sit_blk_cnt:4762\n[   31.728441] F2FS-fs (loop0): Failed to get valid F2FS checkpoint\n\nThe root cause is safe mode (via -s option) is not compatible\nw/ expand resize, due to in safe mode, we will keep all parameters\nrelated to NAT, SIT, SSA area, e.g. sit_bitmap_size, however, we\nwill update segment_count_main according new partition size, result\nin there is no enough sit_bitmap and SIT blocks to address the\nentire block address of new partition.\n\nAdding a check condition to avoid expanding partition in safe\nmode, and change manual accordingly.\n\nSigned-off-by: Chao Yu \u003cchao@kernel.org\u003e\nSigned-off-by: Jaegeuk Kim \u003cjaegeuk@kernel.org\u003e\n"
    },
    {
      "commit": "bf4b5c4b130d43b4fbff1537109756e9df9781bf",
      "tree": "713432da43880d1efd68e5e97202ba67e8343aa3",
      "parents": [
        "42482e81248f2be7cba2e9a0b0590d2b5b0d6a16"
      ],
      "author": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk@kernel.org",
        "time": "Mon Apr 21 16:15:20 2025 +0000"
      },
      "committer": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk@kernel.org",
        "time": "Wed Apr 23 15:01:34 2025 +0000"
      },
      "message": "f2fs-tools: enable write hint by default\n\nIf the device support write hints, let\u0027s assign it in Android devices.\n\nReviewed-by: Chao Yu \u003cchao@kernel.org\u003e\nSigned-off-by: Jaegeuk Kim \u003cjaegeuk@kernel.org\u003e\n"
    },
    {
      "commit": "42482e81248f2be7cba2e9a0b0590d2b5b0d6a16",
      "tree": "97a826fc39ae721a875f7e26ee1139de3f3c1fac",
      "parents": [
        "b4394ae46bf817d13340ea727a55706b4e1f3e3a"
      ],
      "author": {
        "name": "Chao Yu",
        "email": "chao@kernel.org",
        "time": "Mon Apr 14 10:38:19 2025 +0800"
      },
      "committer": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk@kernel.org",
        "time": "Tue Apr 15 19:40:56 2025 +0000"
      },
      "message": "resize.f2fs: add caution message for resize\n\nresize.f2fs doesn\u0027t guarantee atomically resizing f2fs image,\nso that potential suddent power cut, IO error, out of memory,\nSIGKILL received or program exits due to other reasons may cause\ndata corruption.\n\nThis patch adds caution message for resize users to notice\npotential risk of using resizing tool, and remind them to backup\ndata before resize.\n\nresize.f2fs \u003cpartition\u003e\n\n\"Resize operation is currently experimental, please backup your data.\nDo you want to continue? [y/n]y\nProceeding to resize\"\n\nIf we want to force to use resize.f2fs, we can use -F option, let\u0027s\nenable -F option in Android by default to avoid breaking any usage.\n\nCc: Juhyung Park \u003cqkrwngud825@gmail.com\u003e\nSigned-off-by: Chao Yu \u003cchao@kernel.org\u003e\nSigned-off-by: Jaegeuk Kim \u003cjaegeuk@kernel.org\u003e\n"
    },
    {
      "commit": "b4394ae46bf817d13340ea727a55706b4e1f3e3a",
      "tree": "391a8f2c64dfeba8482dd265d5631e81ac079fd0",
      "parents": [
        "1102cc7a60164daef63f12ceaa8b0c0f4e1ba609"
      ],
      "author": {
        "name": "Chao Yu",
        "email": "chao@kernel.org",
        "time": "Mon Apr 14 10:38:18 2025 +0800"
      },
      "committer": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk@kernel.org",
        "time": "Tue Apr 15 19:40:41 2025 +0000"
      },
      "message": "Revert \"resize.f2fs: add option for large_nat_bitmap feature\"\n\nThis reverts commit daa0f8b9e9b1eea6c85e5c169b809254d9d7074e.\n\nAs Juhyung reported in [1]:\n\nHere\u0027s what I did:\n1. Remounted to checkpoint\u003ddisable\n2. Create a dm-snapshot of the current root device\n3. Mount snapshot to replay the log\n4. Unmount\n5. Resize sector 487248896 to 486539264\n// ./resize.f2fs -d 3 -s -i /dev/mapper/snap -t 486539264\n\nLatest f2fs-tools was used:\n33c5b9539af2 f2fs_io: add fragread command to evaluate fragmented\nbuffer for reads\n\nThis reproduced the mount and fsck failure.\n\nMount log:\n[442431.020594] F2FS-fs (dm-2): invalid crc_offset: 0\n[442431.130055] F2FS-fs (dm-2): SIT is corrupted node# 13615201 vs 13616290\n[442431.139684] F2FS-fs (dm-2): Failed to initialize F2FS segment manager (-117)\n\nI checked below testcases:\n\ntruncate -s $((512*1024*1024*1024)) img\nmkfs.f2fs -f img $((256*1024*1024))\n\nDescription\t\tTest command\t\t\t\t\tFSCK output\na) shrink w/ -s\t\tresize.f2fs -s -i img -t $((128*1024*1024))\tFine\nb) expand w/ -s\t\tresize.f2fs -s -i img -t $((1024*1024*1024))\tCorrupted\nc) shrink w/o -s\tresize.f2fs -i img -t $((128*1024*1024))\tNo run\nd) expand w/o -s\tresize.f2fs -i img -t $((1024*1024*1024))\tFine\n\nOutput from b):\n[ASSERT] (check_block_count:2299)  --\u003e Wrong SIT valid blocks: segno\u003d0x29400, 0 vs. 13\n\nThe root cause is: safe mode (-s option) is conflict w/ large nat bitmap feature\n(-i option), since once we enable large nat bitmap, layout of checkpoint will be\nchanged [2], we must relocate nat/sit_bitmap to the end of new location of\ncp_checksum, however in safe mode, we won\u0027t change metadata of checkpoint, so we\nneed to keep nat/sit_bitmap as it is, which includes checksum data in its old\nlocation.\n\nLet\u0027s revert -i support for resize.f2fs first, and then reenable it after\nfix and well tested.\n\nThanks a lot for the help from Juhyung, including providing reproducer and\nhints.\n\n[1] https://lore.kernel.org/linux-f2fs-devel/CAD14+f3D6iPOBxEgkZxxTsXCfwRKb9ph68JtUk3H9cn8ovLt9w@mail.gmail.com/\n[2] https://lore.kernel.org/linux-f2fs-devel/20190514093340.40217-2-yuchao0@huawei.com/\n\nFixes: daa0f8b (\"resize.f2fs: add option for large_nat_bitmap feature\")\nReported-by: Juhyung Park \u003cqkrwngud825@gmail.com\u003e\nSigned-off-by: Chao Yu \u003cchao@kernel.org\u003e\nSigned-off-by: Jaegeuk Kim \u003cjaegeuk@kernel.org\u003e\n"
    }
  ],
  "next": "1102cc7a60164daef63f12ceaa8b0c0f4e1ba609"
}
