)]}'
{
  "log": [
    {
      "commit": "d41dcbdf46dc3841cd0a0507e6573e38cb6c55bb",
      "tree": "e772d2dd35f5264cf88cd2debb25f5942fb2b150",
      "parents": [
        "bbfab0dd6b2704305589f500be31c6a10248fb4c"
      ],
      "author": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk@kernel.org",
        "time": "Mon Aug 24 14:55:54 2020 -0700"
      },
      "committer": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk@kernel.org",
        "time": "Mon Aug 24 14:55:54 2020 -0700"
      },
      "message": "f2fs-tools: release 1.14.0\n\nThis release includes mainly, but not limited to:\n - add IO cache to speed up fsck.f2fs run\n - support casefolding\n - support data compression\n - support zns zone-capacity\n - enhance fsck.f2fs for zoned device\n - enhance f2fs_io tool\n\nSigned-off-by: Jaegeuk Kim \u003cjaegeuk@kernel.org\u003e\n"
    },
    {
      "commit": "bbfab0dd6b2704305589f500be31c6a10248fb4c",
      "tree": "654f23e8af6cf4dd1a3f92bb7f0ce688ce9e8975",
      "parents": [
        "5c723d171340e0913e4de13cc1a330c60ed79cf0"
      ],
      "author": {
        "name": "Theotime Combes",
        "email": "tcombes@google.com",
        "time": "Tue Aug 18 11:18:07 2020 +0000"
      },
      "committer": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk@kernel.org",
        "time": "Thu Aug 20 09:22:57 2020 -0700"
      },
      "message": "mkfs.f2fs: add -r (fake_seed) flag\n\nr flag sets the checkpointing seed to 0 (initially used to\nremove randomness for apex generation)\n\nSigned-off-by: Theotime Combes \u003ctcombes@google.com\u003e\nReviewed-by: Chao Yu \u003cyuchao0@huawei.com\u003e\nSigned-off-by: Jaegeuk Kim \u003cjaegeuk@kernel.org\u003e\n"
    },
    {
      "commit": "5c723d171340e0913e4de13cc1a330c60ed79cf0",
      "tree": "16075ea9d96c75bf164ffc6cd27df206466d7654",
      "parents": [
        "f7029e2cf2723d13d49c0f6b55d239697ca1b59f"
      ],
      "author": {
        "name": "Theotime Combes",
        "email": "tcombes@google.com",
        "time": "Tue Aug 18 11:18:50 2020 +0000"
      },
      "committer": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk@kernel.org",
        "time": "Thu Aug 20 09:22:48 2020 -0700"
      },
      "message": "mkfs.f2fs: add -T flag\n\nT flag sets timestamps to a given value\n\nSigned-off-by: Theotime Combes \u003ctcombes@google.com\u003e\nReviewed-by: Chao Yu \u003cyuchao0@huawei.com\u003e\nSigned-off-by: Jaegeuk Kim \u003cjaegeuk@kernel.org\u003e\n"
    },
    {
      "commit": "f7029e2cf2723d13d49c0f6b55d239697ca1b59f",
      "tree": "9aca74376e96cda984fbba93ea911ba9b4afd029",
      "parents": [
        "f8410857b7a81b1b347253fcca713d8b105e9e7b"
      ],
      "author": {
        "name": "Daeho Jeong",
        "email": "daehojeong@google.com",
        "time": "Mon Aug 17 14:01:30 2020 +0900"
      },
      "committer": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk@kernel.org",
        "time": "Thu Aug 20 09:08:34 2020 -0700"
      },
      "message": "sload.f2fs: handle root mount point properly when setting file attribute\n\nNeed to remove \"/\" of mount point name from the file path name\nwhen mount point is \"/\". Otherwise, we will transfer file path\nname whose first two characters are like \"//\" to fs_config function.\n\nSigned-off-by: Daeho Jeong \u003cdaehojeong@google.com\u003e\nReviewed-by: Chao Yu \u003cyuchao0@huawei.com\u003e\nSigned-off-by: Jaegeuk Kim \u003cjaegeuk@kernel.org\u003e\n"
    },
    {
      "commit": "f8410857b7a81b1b347253fcca713d8b105e9e7b",
      "tree": "aeb1c1ab70c8d7c9b872d9bfe2846ca440e4d14b",
      "parents": [
        "1e3dd7ae5de14b641c6717cb462fd139351d41f3"
      ],
      "author": {
        "name": "Aravind Ramesh",
        "email": "aravind.ramesh@wdc.com",
        "time": "Tue Jul 21 22:08:11 2020 +0530"
      },
      "committer": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk@kernel.org",
        "time": "Thu Aug 20 09:08:34 2020 -0700"
      },
      "message": "f2fs-tools: zns zone-capacity support\n\nNVM Express Zoned Namespace (ZNS) devices can have zone-capacity(zc) less\nthan the zone-size. ZNS defines a per zone capacity which can be equal\nor less than the zone-size. Zone-capacity is the number of usable blocks\nin the zone. If zone-capacity is less than zone-size, then the segments\nwhich start at/after zone-capacity are considered unusable. Only those\nsegments which start before the zone-capacity are considered as usable\nand added to the free_segment_count and free_segment_bitmap of the kernel.\nIn such cases, the filesystem should not write/read beyond the\nzone-capacity.\n\nUpdate the super block with the usable number of blocks and free segment\ncount in the ZNS device zones, if zone-capacity is less than zone-size.\nSet reserved segment count and overprovision ratio based on the usable\nsegments in the zone.\n\nAllow fsck to find the free_segment_count based on the zone-capacity and\ncompare with checkpoint values.\n\nSigned-off-by: Aravind Ramesh \u003caravind.ramesh@wdc.com\u003e\nSigned-off-by: Shin\u0027ichiro Kawasaki \u003cshinichiro.kawasaki@wdc.com\u003e\n[Jaegeuk Kim: add UNUSED to is_usable_seg()]\nSigned-off-by: Jaegeuk Kim \u003cjaegeuk@kernel.org\u003e\n"
    },
    {
      "commit": "1e3dd7ae5de14b641c6717cb462fd139351d41f3",
      "tree": "f281c47904caac858ae644b91a071430b9889027",
      "parents": [
        "334047bdca2989ab1255f9b59ba2dd5915aea4c9"
      ],
      "author": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk@kernel.org",
        "time": "Thu Aug 13 12:46:29 2020 -0700"
      },
      "committer": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk@kernel.org",
        "time": "Thu Aug 20 09:08:31 2020 -0700"
      },
      "message": "f2fs_io: measure performance of write()\n\nReviewed-by: Chao Yu \u003cyuchao0@huawei.com\u003e\nSigned-off-by: Jaegeuk Kim \u003cjaegeuk@kernel.org\u003e\n"
    },
    {
      "commit": "334047bdca2989ab1255f9b59ba2dd5915aea4c9",
      "tree": "4938822315fd49056e9e8682a13888e09d5410a2",
      "parents": [
        "2579fe8099a8852e0793afdcc1131f1b30bebab4"
      ],
      "author": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk@kernel.org",
        "time": "Thu Aug 13 18:11:22 2020 -0700"
      },
      "committer": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk@kernel.org",
        "time": "Thu Aug 20 09:08:07 2020 -0700"
      },
      "message": "f2fs_io: add OSYNC option\n\nReviewed-by: Chao Yu \u003cyuchao0@huawei.com\u003e\nSigned-off-by: Jaegeuk Kim \u003cjaegeuk@kernel.org\u003e\n"
    },
    {
      "commit": "2579fe8099a8852e0793afdcc1131f1b30bebab4",
      "tree": "754e0f51c6196be04cdf30fff814dba340c15f90",
      "parents": [
        "5c92399f8fc157740165845a43aa178037c97b2e"
      ],
      "author": {
        "name": "Chao Yu",
        "email": "yuchao0@huawei.com",
        "time": "Fri Aug 07 10:02:31 2020 +0800"
      },
      "committer": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk@kernel.org",
        "time": "Mon Aug 17 23:52:38 2020 -0700"
      },
      "message": "fsck.f2fs: correct return value\n\nAs Norbert Lange reported:\n\n\"\n$ fsck.f2fs -a /dev/mmcblk0p5; echo $?\nInfo: Fix the reported corruption.\nInfo: Mounted device!\nInfo: Check FS only on RO mounted device\nError: Failed to open the device!\n255\n\"\n\nMichael Laß reminds:\n\n\"\nI think the return value is exactly the problem here. See fsck(8) (\nhttps://linux.die.net/man/8/fsck) which specifies the return values.\nSystemd looks at these and decides how to proceed:\n\nhttps://github.com/systemd/systemd/blob/a859abf062cef1511e4879c4ee39c6036ebeaec8/src/fsck/fsck.c#L407\n\nThat means, if fsck.f2fs returns 255, then\nthe FSCK_SYSTEM_SHOULD_REBOOT bit is set and systemd will reboot.\n\"\n\nSo the problem here is fsck.f2fs didn\u0027t return correct value to userspace\napps, result in later unexpected behavior of rebooting, let\u0027s fix this.\n\nReported-by: Norbert Lange \u003cnolange79@gmail.com\u003e\nReported-by: Michael Laß \u003cbevan@bi-co.net\u003e\nSigned-off-by: Chao Yu \u003cyuchao0@huawei.com\u003e\n[Jaegeuk Kim: fix FSCK_ERROR_CORRECTED]\nSigned-off-by: Jaegeuk Kim \u003cjaegeuk@kernel.org\u003e\n"
    },
    {
      "commit": "5c92399f8fc157740165845a43aa178037c97b2e",
      "tree": "8a9af6c012d5f2daa2b8fa29a17b8d31518c35c7",
      "parents": [
        "3aef9bc8209d0629322439fa2d97a8c0a79ba797"
      ],
      "author": {
        "name": "Daeho Jeong",
        "email": "daehojeong@google.com",
        "time": "Thu Jul 30 15:29:27 2020 +0900"
      },
      "committer": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk@kernel.org",
        "time": "Tue Aug 04 17:52:56 2020 -0700"
      },
      "message": "f2fs_io: open file in read only mode for pinning file\n\nTo use \"pinfile\" command even with read only file, changed open\nmode for it.\n\nSigned-off-by: Daeho Jeong \u003cdaehojeong@google.com\u003e\nSigned-off-by: Jaegeuk Kim \u003cjaegeuk@kernel.org\u003e\n"
    },
    {
      "commit": "3aef9bc8209d0629322439fa2d97a8c0a79ba797",
      "tree": "a6b4c3f1c20b32dd210b520a97b4c93a5cd7d172",
      "parents": [
        "ec0f3c910e7d6a7a8d443d83658a9e7cd997a4d8"
      ],
      "author": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk@kernel.org",
        "time": "Fri Jul 17 20:10:21 2020 -0700"
      },
      "committer": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk@kernel.org",
        "time": "Mon Jul 20 17:39:02 2020 -0700"
      },
      "message": "mkfs.f2fs: add casefolding and project quota config\n\nThis can be used for Android build support.\n\nSigned-off-by: Jaegeuk Kim \u003cjaegeuk@kernel.org\u003e\n"
    },
    {
      "commit": "ec0f3c910e7d6a7a8d443d83658a9e7cd997a4d8",
      "tree": "0636bc81a69d8f5370c31bd90854c79728f02d90",
      "parents": [
        "17463f9c4282b03a1309fe82de8d56284a6b0934"
      ],
      "author": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk@kernel.org",
        "time": "Fri Jul 17 19:58:22 2020 -0700"
      },
      "committer": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk@kernel.org",
        "time": "Mon Jul 20 17:39:02 2020 -0700"
      },
      "message": "mkfs.f2fs: should initialize sparse file in Windows\n\nOtherwise it fails to format in Windows.\n\nSigned-off-by: Jaegeuk Kim \u003cjaegeuk@kernel.org\u003e\n"
    },
    {
      "commit": "17463f9c4282b03a1309fe82de8d56284a6b0934",
      "tree": "c14aaca2c372880335a2421341a418d7405c2216",
      "parents": [
        "391e490a12edfdb0c6a3fc11a2b7c5cba564b1b1"
      ],
      "author": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk@kernel.org",
        "time": "Thu Jul 16 18:04:43 2020 -0700"
      },
      "committer": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk@kernel.org",
        "time": "Mon Jul 20 17:39:02 2020 -0700"
      },
      "message": "f2fs_io: add mmap read operation\n\nThis patch adds an option, mmap, when reading data.\n\nSigned-off-by: Jaegeuk Kim \u003cjaegeuk@kernel.org\u003e\n"
    },
    {
      "commit": "391e490a12edfdb0c6a3fc11a2b7c5cba564b1b1",
      "tree": "19da34a23b25b6c9274ebcc6ac3245acab4604ee",
      "parents": [
        "aac7f4cb42d79f8b621e0002f6818d8414d2db04"
      ],
      "author": {
        "name": "Theotime Combes",
        "email": "tcombes@google.com",
        "time": "Wed Jul 15 19:08:05 2020 +0000"
      },
      "committer": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk@kernel.org",
        "time": "Wed Jul 15 18:12:28 2020 -0700"
      },
      "message": "fsck.f2fs: avoid randomness in sum_blk\n\nThis patch removes random bytes in sum_blk when loading a new directory.\n\nSigned-off-by: Theotime Combes \u003ctcombes@google.com\u003e\nSigned-off-by: Jaegeuk Kim \u003cjaegeuk@kernel.org\u003e\n"
    },
    {
      "commit": "aac7f4cb42d79f8b621e0002f6818d8414d2db04",
      "tree": "0abe9f46497152ca3d6310a41179d52e054f2c57",
      "parents": [
        "e767223422deb8f209c84db7783b17d0497e61f4"
      ],
      "author": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk@kernel.org",
        "time": "Mon Jul 13 22:59:41 2020 -0700"
      },
      "committer": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk@kernel.org",
        "time": "Wed Jul 15 10:30:03 2020 -0700"
      },
      "message": "dump.f2fs: check block address first before reading the block\n\nThis should avoid to read out wrong block address.\n\nSigned-off-by: Jaegeuk Kim \u003cjaegeuk@kernel.org\u003e\n"
    },
    {
      "commit": "e767223422deb8f209c84db7783b17d0497e61f4",
      "tree": "ddb11d0951b44611c7da7f1c574649ec36a6d10d",
      "parents": [
        "31acef041716cd718b793dcd7c498c7e0522f67a"
      ],
      "author": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk@kernel.org",
        "time": "Tue Jun 30 14:41:38 2020 -0700"
      },
      "committer": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk@kernel.org",
        "time": "Wed Jul 15 10:29:57 2020 -0700"
      },
      "message": "sload.f2fs: fix missing fsck_init\n\nThis patch allocates some data structures that will be used for loading files\non existing image.\n\nSigned-off-by: Jaegeuk Kim \u003cjaegeuk@kernel.org\u003e\n"
    },
    {
      "commit": "31acef041716cd718b793dcd7c498c7e0522f67a",
      "tree": "e84d053fe51e261818729401f76453b9e90e6a1f",
      "parents": [
        "d03cab6c93d634fe746f55302bbcd28a9eb545a7"
      ],
      "author": {
        "name": "Zoltán Böszörményi",
        "email": "zboszor@pr.hu",
        "time": "Thu Jul 09 13:21:11 2020 +0200"
      },
      "committer": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk@kernel.org",
        "time": "Thu Jul 09 19:58:05 2020 -0700"
      },
      "message": "mkfs.f2fs: allow setting volume UUID manually\n\nThis patch adds an option to assign UUID manually.\n\nUsage:\n # mkfs.f2fs -U uuid_string\n\nSigned-off-by: Zoltán Böszörményi \u003czboszor@pr.hu\u003e\nSigned-off-by: Jaegeuk Kim \u003cjaegeuk@kernel.org\u003e\n"
    },
    {
      "commit": "d03cab6c93d634fe746f55302bbcd28a9eb545a7",
      "tree": "9e8c2748118c9b47810157d2feb33f5010b97755",
      "parents": [
        "e3c4e1f89a1e279cbb9e818c03ca29bd1425e58d"
      ],
      "author": {
        "name": "Robin Hsu",
        "email": "robinhsu@google.com",
        "time": "Wed Jul 01 16:23:29 2020 +0800"
      },
      "committer": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk@kernel.org",
        "time": "Thu Jul 09 18:16:58 2020 -0700"
      },
      "message": "fsck.f2fs: Split build_segment_manager() to speed up auto-fix\n\nSpeed up fsck in auto-fix mode by splitting\nbuild_segment_manager() into two disjoint parts:\n\tearly_build_segment_manager(), and\n\tlate_build_segment_manager(),\nwhere in some cases (when !need_fsync_data_record(), or cannot\nfind_fsync_inode()), late_build_segment_manager() won\u0027t be needed in\nauto-fix mode.  This speeds up a little bit in those cases.\n\nSigned-off-by: Robin Hsu \u003crobinhsu@google.com\u003e\nSigned-off-by: Jaegeuk Kim \u003cjaegeuk@kernel.org\u003e\n"
    },
    {
      "commit": "e3c4e1f89a1e279cbb9e818c03ca29bd1425e58d",
      "tree": "2d7a346e2fcdf9fa6c01d2d06a163f4e4c75bb97",
      "parents": [
        "0d0158cf23c50d130c3ce3b7b024868a029ab60e"
      ],
      "author": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk@kernel.org",
        "time": "Tue Jun 30 10:37:32 2020 -0700"
      },
      "committer": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk@kernel.org",
        "time": "Mon Jul 06 20:13:11 2020 -0700"
      },
      "message": "dump.f2fs: dump symlink contents in lost_found\n\nLet\u0027s allow to show symlink path.\n\nSigned-off-by: Jaegeuk Kim \u003cjaegeuk@kernel.org\u003e\n"
    },
    {
      "commit": "0d0158cf23c50d130c3ce3b7b024868a029ab60e",
      "tree": "3b0844ed417ec1ba99ecea602244d1930013c615",
      "parents": [
        "e66e4c1f3bd589a297c2a4e78bc67ac9d3a03032"
      ],
      "author": {
        "name": "Robin Hsu",
        "email": "robinhsu@google.com",
        "time": "Fri Jun 19 17:52:12 2020 +0800"
      },
      "committer": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk@kernel.org",
        "time": "Mon Jun 29 08:48:21 2020 -0700"
      },
      "message": "fsck.f2fs: Fix slow fsck in auto-fix mode\n\nSplit f2fs_init_nid_bitmap() into two disjoint parts:\n\tf2fs_early_init_nid_bitmap(), and\n\tf2fs_late_init_nid_bitmap(),\nwhere f2fs_late_init_nid_bitmap() won\u0027t be called in auto-fix mode, when\nno errors were found.\n\nf2fs_late_init_nid_bitmap() contains the loop to create NID bitmap from\nNAT. which is the main reason for slow fsck.\n\nSigned-off-by: Robin Hsu \u003crobinhsu@google.com\u003e\nSigned-off-by: Jaegeuk Kim \u003cjaegeuk@kernel.org\u003e\n"
    },
    {
      "commit": "e66e4c1f3bd589a297c2a4e78bc67ac9d3a03032",
      "tree": "f17a66c807f66647eed36c0124d973d98d48d5bd",
      "parents": [
        "712aca364f3820113d47686b33ddb2dbb542f7af"
      ],
      "author": {
        "name": "Robin Hsu",
        "email": "robinhsu@google.com",
        "time": "Wed Feb 05 15:41:57 2020 +0800"
      },
      "committer": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk@kernel.org",
        "time": "Tue Jun 23 16:58:44 2020 -0700"
      },
      "message": "fsck: prevent buffer overrun in quota code\n\nA maliciously corrupted file systems can trigger buffer overruns in\nthe quota code used by fsck.\n\nTo fix it, quota file sizes are checked against real allocated\nblock index tables (inode, direct nodes, indirect nodes, double\nindirect nodes).  If the size mismatches, the quota file is considered\ncorrupted and will be regenerated.\n\nSigned-off-by: Robin Hsu \u003crobinhsu@google.com\u003e\nSigned-off-by: Jaegeuk Kim \u003cjaegeuk@kernel.org\u003e\n"
    },
    {
      "commit": "712aca364f3820113d47686b33ddb2dbb542f7af",
      "tree": "c36f6a008b35a81570be64b0674f699683c30d4a",
      "parents": [
        "895b26e11848f4a1d00f6a4a19d42836a3e528b2"
      ],
      "author": {
        "name": "Wuyun Zhao",
        "email": "zhaowuyun@wingtech.com",
        "time": "Thu Jun 18 20:48:07 2020 +0800"
      },
      "committer": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk@kernel.org",
        "time": "Thu Jun 18 12:38:18 2020 -0700"
      },
      "message": "f2fs-tools: set cold flag for non-dir node\n\nSigned-off-by: Wuyun Zhao \u003czhaowuyun@wingtech.com\u003e\nSigned-off-by: Jaegeuk Kim \u003cjaegeuk@kernel.org\u003e\n"
    },
    {
      "commit": "895b26e11848f4a1d00f6a4a19d42836a3e528b2",
      "tree": "e577bfffeb8fb6494a1ffb5da81249321f7341ee",
      "parents": [
        "4b55c43828f06718657013269de5f052bf0c89dd"
      ],
      "author": {
        "name": "Rolf Eike Beer",
        "email": "eb@emlix.com",
        "time": "Fri Jun 12 10:31:25 2020 +0200"
      },
      "committer": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk@kernel.org",
        "time": "Thu Jun 18 12:34:29 2020 -0700"
      },
      "message": "lib: pass all needed include paths to libf2fs\n\nOtherwise the paths to uuid and blkid headers extracted from pkg-config are not\nrespected.\n\nSigned-off-by: Rolf Eike Beer \u003ceb@emlix.com\u003e\nReviewed-by: Chao Yu \u003cyuchao0@huawei.com\u003e\nSigned-off-by: Jaegeuk Kim \u003cjaegeuk@kernel.org\u003e\n"
    },
    {
      "commit": "4b55c43828f06718657013269de5f052bf0c89dd",
      "tree": "dd7b18c803d1bde068802a6aa843e3a898c3a370",
      "parents": [
        "1ceb06bfcc4f8ff51e7effed66c454cf7b43b39d"
      ],
      "author": {
        "name": "Rolf Eike Beer",
        "email": "eb@emlix.com",
        "time": "Fri Jun 12 10:14:10 2020 +0200"
      },
      "committer": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk@kernel.org",
        "time": "Thu Jun 18 12:34:23 2020 -0700"
      },
      "message": "lib: use ${libuuid_LIBS} instead of -luuid everywhere\n\nOtherwise linking will fail if the library is in an uncommon location or has a\nnon-standard name.\n\nSigned-off-by: Rolf Eike Beer \u003ceb@emlix.com\u003e\nReviewed-by: Chao Yu \u003cyuchao0@huawei.com\u003e\nSigned-off-by: Jaegeuk Kim \u003cjaegeuk@kernel.org\u003e\n"
    },
    {
      "commit": "1ceb06bfcc4f8ff51e7effed66c454cf7b43b39d",
      "tree": "82c69b41ae1ae48bfb1697d34b6538889b1cc888",
      "parents": [
        "59a37413f81295af90e983e7ed562eaa53b4141c"
      ],
      "author": {
        "name": "Rolf Eike Beer",
        "email": "eb@emlix.com",
        "time": "Fri Jun 12 10:12:24 2020 +0200"
      },
      "committer": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk@kernel.org",
        "time": "Thu Jun 18 12:34:13 2020 -0700"
      },
      "message": "lib: fix include path for blkid.h\n\n$ pkg-config --cflags blkid\n-I/usr/include/blkid\n\nThe \"blkid/\" directory is actually part of the include path. This usually still\nworks because most people have the path one level up in their default include\npath.\n\nSigned-off-by: Rolf Eike Beer \u003ceb@emlix.com\u003e\nReviewed-by: Chao Yu \u003cyuchao0@huawei.com\u003e\nSigned-off-by: Jaegeuk Kim \u003cjaegeuk@kernel.org\u003e\n"
    },
    {
      "commit": "59a37413f81295af90e983e7ed562eaa53b4141c",
      "tree": "cd2c7c436c2a3d4e4eda2855e1ca022602f653f1",
      "parents": [
        "a60cd1a3f96645326fd05d5ab4f72fe2ca9be2ff"
      ],
      "author": {
        "name": "Rolf Eike Beer",
        "email": "eb@emlix.com",
        "time": "Fri Jun 12 10:09:58 2020 +0200"
      },
      "committer": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk@kernel.org",
        "time": "Thu Jun 18 12:34:03 2020 -0700"
      },
      "message": "lib: fix include path for uuid.h\n\n$ pkg-config --cflags uuid\n-I/usr/include/uuid\n\nThe \"uuid/\" directory is actually part of the include path. This usually still\nworks because most people have the path one level up in their default include\npath.\n\nSigned-off-by: Rolf Eike Beer \u003ceb@emlix.com\u003e\nReviewed-by: Chao Yu \u003cyuchao0@huawei.com\u003e\nSigned-off-by: Jaegeuk Kim \u003cjaegeuk@kernel.org\u003e\n"
    },
    {
      "commit": "a60cd1a3f96645326fd05d5ab4f72fe2ca9be2ff",
      "tree": "3779592084beebd54dea8e8170b63f8dc3720e2e",
      "parents": [
        "e65d9c7adf52aae7d7e2eb132961c8373072c8c9"
      ],
      "author": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk@kernel.org",
        "time": "Mon Jun 08 11:37:28 2020 -0700"
      },
      "committer": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk@kernel.org",
        "time": "Mon Jun 08 11:37:28 2020 -0700"
      },
      "message": "libf2fs: fix build error on Windows\n\nWindows doesn\u0027t support S_ISREG, so let\u0027s avoid depedency.\n\nSigned-off-by: Jaegeuk Kim \u003cjaegeuk@kernel.org\u003e\n"
    },
    {
      "commit": "e65d9c7adf52aae7d7e2eb132961c8373072c8c9",
      "tree": "c80dedc80bd7282fe154798207014ffe6411d69b",
      "parents": [
        "b23b2b97a662168ee364bc67965de08ffc1455bc"
      ],
      "author": {
        "name": "Eric Biggers",
        "email": "ebiggers@google.com",
        "time": "Fri May 29 13:47:38 2020 -0700"
      },
      "committer": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk@kernel.org",
        "time": "Sat May 30 08:18:51 2020 -0700"
      },
      "message": "fsck.f2fs: fix dirent position check for encrypted+casefolded dentries\n\nfsck.f2fs reports corruption if the filesystem contains any encrypted +\ncasefolded directories with any substantial number of dentries:\n\n    [ASSERT] (f2fs_check_dirent_position:1374)  --\u003e Wrong position of dirent pino:8, name:۟�[I�^*�(�5~�}�D��#]7�8�ˎ�, level:1, dir_level:0, pgofs:4, correct range:[2, 3]\n\nThe problem is that f2fs_check_dirent_position() computes the wrong hash\nfor encrypted+casefolded dentries.  It\u0027s not actually possible for it to\ncompute the correct hash, because it would need the encryption key.\n\nHowever, the on-disk dentry already contains the hash code, and its\ncorrectness was already verified by f2fs_check_hash_code() if possible.\n\nSo, make f2fs_check_dirent_position() use the hash code from disk rather\nthan recompute it.\n\nAlso fix it to print the filename in human-readable form.\n\nThis bug was causing \u0027kvm-xfstests -c f2fs/encrypt -g casefold\u0027\nto fail with the test_dummy_encryption_v2 and encryption+casefolding\nkernel patches applied.\n\nFixes: 7f3767ee8dc5 (\"f2fs-tools: Casefolded Encryption support\")\nCc: Daniel Rosenberg \u003cdrosen@google.com\u003e\nSigned-off-by: Eric Biggers \u003cebiggers@google.com\u003e\nSigned-off-by: Jaegeuk Kim \u003cjaegeuk@kernel.org\u003e\n"
    },
    {
      "commit": "b23b2b97a662168ee364bc67965de08ffc1455bc",
      "tree": "10e46498d39c81ff02a88389404dd48283bbc763",
      "parents": [
        "e8d9f6d7b345c2a649dfc52ce3babc8f3770cb39"
      ],
      "author": {
        "name": "Daeho Jeong",
        "email": "daehojeong@google.com",
        "time": "Wed May 27 12:33:13 2020 +0900"
      },
      "committer": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk@kernel.org",
        "time": "Wed May 27 13:59:25 2020 -0700"
      },
      "message": "f2fs_io: add randread\n\nI\u0027ve added a new command to evaluate random read.\n\nSigned-off-by: Daeho Jeong \u003cdaehojeong@google.com\u003e\nSigned-off-by: Jaegeuk Kim \u003cjaegeuk@kernel.org\u003e\n"
    },
    {
      "commit": "e8d9f6d7b345c2a649dfc52ce3babc8f3770cb39",
      "tree": "c4f268319b9486e6d7fa48176da952d04153ee43",
      "parents": [
        "7a22451bc2b41eabf343c20512ad30bcdc7d3ba9"
      ],
      "author": {
        "name": "Chao Yu",
        "email": "yuchao0@huawei.com",
        "time": "Wed Apr 15 11:26:48 2020 +0800"
      },
      "committer": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk@kernel.org",
        "time": "Wed May 06 07:41:06 2020 -0700"
      },
      "message": "fsck.f2fs: fix to avoid overflow during print_inode_info()\n\nWhile dumping files during fsck, print_inode_info() didn\u0027t check\nsanity of inode, so insane i_extra_isize could cause overflow\nwhen printing i_addr, to avoid that, let\u0027s add a check condition.\n\nSigned-off-by: Chao Yu \u003cyuchao0@huawei.com\u003e\nSigned-off-by: Jaegeuk Kim \u003cjaegeuk@kernel.org\u003e\n"
    },
    {
      "commit": "7a22451bc2b41eabf343c20512ad30bcdc7d3ba9",
      "tree": "1fe17babb0d19005d474fecf22528a05a8a7f5e3",
      "parents": [
        "f73f222723af4a82febeae2a4661cbea7da3d487"
      ],
      "author": {
        "name": "Chao Yu",
        "email": "yuchao0@huawei.com",
        "time": "Tue Apr 07 18:01:07 2020 +0800"
      },
      "committer": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk@kernel.org",
        "time": "Wed May 06 07:41:06 2020 -0700"
      },
      "message": "fsck.f2fs: fix to check validation of i_xattr_nid\n\nOtherwise, fsck.f2fs will access invalid memory address as below:\n\n- fsck_verify\n - dump_node\n  - dump_file\n   - dump_inode_blk\n    - dump_xattr\n     - read_all_xattrs\n       - get_node_info\n        access \u0026(F2FS_FSCK(sbi)-\u003eentries[nid])\n\nSigned-off-by: Chao Yu \u003cyuchao0@huawei.com\u003e\nSigned-off-by: Jaegeuk Kim \u003cjaegeuk@kernel.org\u003e\n"
    },
    {
      "commit": "f73f222723af4a82febeae2a4661cbea7da3d487",
      "tree": "e53f4232f4f225ba7defd8540736b8b6c1dda25f",
      "parents": [
        "f8f14b9c0f8f6a7913b5fda0f01d4313ccb32852"
      ],
      "author": {
        "name": "Chao Yu",
        "email": "yuchao0@huawei.com",
        "time": "Tue Apr 07 18:01:06 2020 +0800"
      },
      "committer": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk@kernel.org",
        "time": "Wed May 06 07:41:06 2020 -0700"
      },
      "message": "fsck.f2fs: fix to check validation of block address\n\nOtherwise, if block address is invalid, we may access invalid\nmemory address in is_sit_bitmap_set().\n\nSigned-off-by: Chao Yu \u003cyuchao0@huawei.com\u003e\nSigned-off-by: Jaegeuk Kim \u003cjaegeuk@kernel.org\u003e\n"
    },
    {
      "commit": "f8f14b9c0f8f6a7913b5fda0f01d4313ccb32852",
      "tree": "215df376049f5f7f5596ab6778925536e35c54c2",
      "parents": [
        "88d1bd9615c2d3fb37ba45f30feba8b75d2e9307"
      ],
      "author": {
        "name": "Érico Nogueira",
        "email": "ericonr@disroot.org",
        "time": "Sun Apr 12 18:34:35 2020 -0300"
      },
      "committer": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk@kernel.org",
        "time": "Wed May 06 07:41:06 2020 -0700"
      },
      "message": "mkfs.f2fs: update manual and help message\n\nAdd options that were missing from the mkfs.f2fs man page, and explain\nthem more thoroughly when possible. Special care was given to document\nall the features that can be enabled during the creation of the\nfilesystem.\n\nSigned-off-by: Jaegeuk Kim \u003cjaegeuk@kernel.org\u003e\n"
    },
    {
      "commit": "88d1bd9615c2d3fb37ba45f30feba8b75d2e9307",
      "tree": "0d129d8cbdd19adff9bcb9a8f462d13af272d88d",
      "parents": [
        "a64fbe53c31bf0bb8cbd740da4203c88e8aefc8b"
      ],
      "author": {
        "name": "Chao Yu",
        "email": "yuchao0@huawei.com",
        "time": "Thu Mar 19 18:28:49 2020 +0800"
      },
      "committer": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk@kernel.org",
        "time": "Wed May 06 07:41:06 2020 -0700"
      },
      "message": "fsck.f2fs: fix wrong addrs_per_{inode,block}\n\ngeneric/339 reports below assertion on image w/ compression feature\nenabled.\n\n[ASSERT] (f2fs_check_dirent_position:1366)  --\u003e\nWrong position of dirent pino:4521, name:\"....\", level:9, dir_level:0,\npgofs:1880, correct range:[1882, 1883]\n\nThe root cause is we calculate blkaddr number in direct node\nincorrectly for directory inode, since during calculation, we only\nneed align blkaddr number to cluster size for regular inode rather\nthan directory inode, let\u0027s fix it.\n\nSigned-off-by: Chao Yu \u003cyuchao0@huawei.com\u003e\nSigned-off-by: Jaegeuk Kim \u003cjaegeuk@kernel.org\u003e\n"
    },
    {
      "commit": "a64fbe53c31bf0bb8cbd740da4203c88e8aefc8b",
      "tree": "6d37404417e39f6fb4e02ff7fef515548aa8ca9d",
      "parents": [
        "1ba0a74ef23692d2735cd15fa3841aea2797cc63"
      ],
      "author": {
        "name": "Chao Yu",
        "email": "yuchao0@huawei.com",
        "time": "Mon Mar 16 11:05:04 2020 +0800"
      },
      "committer": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk@kernel.org",
        "time": "Wed May 06 07:41:06 2020 -0700"
      },
      "message": "dump.f2fs: fix to print all blkaddr in .i_addr\n\nThere are totally ADDRS_PER_INODE() blkaddrs in .i_addr, fix to\nprint all of them.\n\nIn addition, use get_extra_isize() rather than __get_extra_isize()\n\nSigned-off-by: Chao Yu \u003cyuchao0@huawei.com\u003e\nSigned-off-by: Jaegeuk Kim \u003cjaegeuk@kernel.org\u003e\n"
    },
    {
      "commit": "1ba0a74ef23692d2735cd15fa3841aea2797cc63",
      "tree": "6a317627d9dbeaad79e5c2f3fc40b93b4d7de6ed",
      "parents": [
        "42f739c4c7c16d82c9c1f9e57adffa34f438cf5f"
      ],
      "author": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Fri Mar 13 11:28:54 2020 -0400"
      },
      "committer": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk@kernel.org",
        "time": "Wed May 06 07:41:06 2020 -0700"
      },
      "message": "man: add missing man page for f2fs_io\n\nSigned-off-by: Theodore Ts\u0027o \u003ctytso@mit.edu\u003e\n[Jaegeuk Kim: add missing entries and fix Makefile.am]\nSigned-off-by: Jaegeuk Kim \u003cjaegeuk@kernel.org\u003e\n"
    },
    {
      "commit": "42f739c4c7c16d82c9c1f9e57adffa34f438cf5f",
      "tree": "dcf501f64b3f9040db08d8096dfe54ad3d3f246b",
      "parents": [
        "d21dd9aacab5460ad34fc16ecd032b996fcbf3af"
      ],
      "author": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk@kernel.org",
        "time": "Fri May 01 16:02:28 2020 -0700"
      },
      "committer": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk@kernel.org",
        "time": "Wed May 06 07:37:55 2020 -0700"
      },
      "message": "f2fs_io: show more flags\n\nSigned-off-by: Jaegeuk Kim \u003cjaegeuk@kernel.org\u003e\n"
    },
    {
      "commit": "d21dd9aacab5460ad34fc16ecd032b996fcbf3af",
      "tree": "4b8ac8dddb0149c684737add73dcf44863f5423b",
      "parents": [
        "850861988fb5cafbab6e783deb4438803ee7fb8d"
      ],
      "author": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk@kernel.org",
        "time": "Fri May 01 15:59:02 2020 -0700"
      },
      "committer": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk@kernel.org",
        "time": "Wed May 06 07:37:50 2020 -0700"
      },
      "message": "f2fs_io: don\u0027t give garbage data in upper 32bits\n\nReviewed-by: Chao Yu \u003cyuchao0@huawei.com\u003e\nSigned-off-by: Jaegeuk Kim \u003cjaegeuk@kernel.org\u003e\n"
    },
    {
      "commit": "850861988fb5cafbab6e783deb4438803ee7fb8d",
      "tree": "b1142ac6cc3537027eceed72c8e31c8fbd9f6e86",
      "parents": [
        "46df2dff65deec915ae2a5643435da8250fd24ff"
      ],
      "author": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk@kernel.org",
        "time": "Fri May 01 14:50:24 2020 -0700"
      },
      "committer": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk@kernel.org",
        "time": "Fri May 01 17:29:07 2020 -0700"
      },
      "message": "f2fs_io: add fsync\n\nSigned-off-by: Jaegeuk Kim \u003cjaegeuk@kernel.org\u003e\n"
    },
    {
      "commit": "46df2dff65deec915ae2a5643435da8250fd24ff",
      "tree": "9b56cc33408c23097a4d7211f521467a3b52751b",
      "parents": [
        "9a31cefa29666a219f8b4d328074a6afe6265c4e"
      ],
      "author": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk@kernel.org",
        "time": "Wed Apr 01 13:24:38 2020 -0700"
      },
      "committer": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk@kernel.org",
        "time": "Wed Apr 15 13:56:29 2020 -0700"
      },
      "message": "fsck.f2fs: quick fix of CLOCK_BOOTTIME in mac\n\nThis fixes build error on mac.\n\nReviewed-by: Chao Yu \u003cyuchao0@huawei.com\u003e\nSigned-off-by: Jaegeuk Kim \u003cjaegeuk@kernel.org\u003e\n"
    },
    {
      "commit": "9a31cefa29666a219f8b4d328074a6afe6265c4e",
      "tree": "86c2b4480bed0b78c1ac7d907fbe44b741bc9451",
      "parents": [
        "11e4322127af8e47735d497f2b475f67ec937672"
      ],
      "author": {
        "name": "Sahitya Tummala",
        "email": "stummala@codeaurora.org",
        "time": "Tue Mar 24 14:42:50 2020 +0530"
      },
      "committer": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk@kernel.org",
        "time": "Tue Mar 24 08:47:52 2020 -0700"
      },
      "message": "fsck.f2fs: allow fsck to fix issues with online resize due to SPO\n\nAdd support for new CP flag CP_RESIZEFS_FLAG set during online\nresize FS. If SPO happens after SB is updated but CP isn\u0027t, then\nallow fsck to fix it.\n\nThe fsck errors without this fix -\n    Info: CKPT version \u003d 6ed7bccb\n            Wrong user_block_count(2233856)\n    [f2fs_do_mount:3365] Checkpoint is polluted\n\nThe subsequent mount failure without this fix -\n[   11.294650] F2FS-fs (sda8): Wrong user_block_count: 2233856\n[   11.300272] F2FS-fs (sda8): Failed to get valid F2FS checkpoint\n\nSigned-off-by: Sahitya Tummala \u003cstummala@codeaurora.org\u003e\nReviewed-by: Chao Yu \u003cyuchao0@huawei.com\u003e\nSigned-off-by: Jaegeuk Kim \u003cjaegeuk@kernel.org\u003e\n"
    },
    {
      "commit": "11e4322127af8e47735d497f2b475f67ec937672",
      "tree": "24f92d674005c9e2ca7a77c7f1adf0431f7b0211",
      "parents": [
        "596408fd82f709b2c1316df3a33d3ec8ab704394"
      ],
      "author": {
        "name": "Chao Yu",
        "email": "yuchao0@huawei.com",
        "time": "Thu Mar 05 16:12:49 2020 +0800"
      },
      "committer": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk@kernel.org",
        "time": "Tue Mar 24 08:47:42 2020 -0700"
      },
      "message": "fsck.f2fs: account COMPRESS_ADDR as reserved blocks correctly\n\nWe should not account COMPRESS_ADDR as reserved block once we\nreleased compress block on compress inode.\n\nSigned-off-by: Chao Yu \u003cyuchao0@huawei.com\u003e\nSigned-off-by: Jaegeuk Kim \u003cjaegeuk@kernel.org\u003e\n"
    },
    {
      "commit": "596408fd82f709b2c1316df3a33d3ec8ab704394",
      "tree": "8bee16bed61df385c9b476a250cbafbe8b2c8029",
      "parents": [
        "36053752e8f8f7ee4ff9cb1b1d96098a62f44010"
      ],
      "author": {
        "name": "Chao Yu",
        "email": "yuchao0@huawei.com",
        "time": "Fri Mar 06 14:38:25 2020 +0800"
      },
      "committer": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk@kernel.org",
        "time": "Wed Mar 18 18:07:18 2020 -0700"
      },
      "message": "f2fs_io: support compress blocks ioctls\n\nAdds to support below three commands to operate reserved blocks\nin compressed inode.\n- get_cblocks\n- release_cblocks\n- reserve_cblocks\n\nSigned-off-by: Chao Yu \u003cyuchao0@huawei.com\u003e\nSigned-off-by: Jaegeuk Kim \u003cjaegeuk@kernel.org\u003e\n"
    },
    {
      "commit": "36053752e8f8f7ee4ff9cb1b1d96098a62f44010",
      "tree": "b28ba7d9eed7226cd674c1589ce20d1ec038b06d",
      "parents": [
        "2b1dd732480f3b1d9549165cf57e6becd014977c"
      ],
      "author": {
        "name": "Wei Wang",
        "email": "wvw@google.com",
        "time": "Mon Mar 09 12:54:27 2020 -0700"
      },
      "committer": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk@kernel.org",
        "time": "Wed Mar 18 18:07:13 2020 -0700"
      },
      "message": "fsck.f2fs: report real wall time\n\nclock_t time is per-process time, which is not wall time. For example,\nif the CPU is shared by other processes, clock_t time may advance slower\nthan wall clock. On the other hand, if the current process is\nmultithreaded and more than one execution core is available, clock_t\ntime may advance faster than wall clock.\n\nthis CL changes it to use CLOCK_BOOTTIME (Linux-specific)\n\nSigned-off-by: Wei Wang \u003cwvw@google.com\u003e\nReviewed-by: Chao Yu \u003cyuchao0@huawei.com\u003e\nSigned-off-by: Jaegeuk Kim \u003cjaegeuk@kernel.org\u003e\n"
    },
    {
      "commit": "2b1dd732480f3b1d9549165cf57e6becd014977c",
      "tree": "ecf6a6d8541f654c7d416d5ae989c1b6bf0eb45d",
      "parents": [
        "7f3767ee8dc5297faab48e131af380300c8c14c6"
      ],
      "author": {
        "name": "Tom Cherry",
        "email": "tomcherry@google.com",
        "time": "Wed Mar 04 13:41:55 2020 -0800"
      },
      "committer": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk@kernel.org",
        "time": "Wed Mar 18 18:05:35 2020 -0700"
      },
      "message": "Include private/fs_config.h directly when needed\n\nThis is no longer a transitive include of android_filesystem_config.h\n\nSigned-off-by: Tom Cherry \u003ctomcherry@google.com\u003e\nReviewed-by: Chao Yu \u003cyuchao0@huawei.com\u003e\nSigned-off-by: Jaegeuk Kim \u003cjaegeuk@kernel.org\u003e\n"
    },
    {
      "commit": "7f3767ee8dc5297faab48e131af380300c8c14c6",
      "tree": "e0ae2e2826c8ccab05ac6b1e2221b79d3e73c96b",
      "parents": [
        "64750e90d63792ab457d7000b71aac62d6b9f6dd"
      ],
      "author": {
        "name": "Daniel Rosenberg",
        "email": "drosen@google.com",
        "time": "Tue Nov 19 20:21:33 2019 -0800"
      },
      "committer": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk@kernel.org",
        "time": "Mon Mar 09 14:17:41 2020 -0700"
      },
      "message": "f2fs-tools: Casefolded Encryption support\n\nThis adds support for casefolded and encrypted directories.\nFsck cannot check the hashes of such directories because it would\nrequire access to the encryption key to generate the siphash\n\nSigned-off-by: Daniel Rosenberg \u003cdrosen@google.com\u003e\nSigned-off-by: Jaegeuk Kim \u003cjaegeuk@kernel.org\u003e\n"
    },
    {
      "commit": "64750e90d63792ab457d7000b71aac62d6b9f6dd",
      "tree": "4ed65aebc144d4dcd1330d7958cdb7890a65ad4a",
      "parents": [
        "daa0f8b9e9b1eea6c85e5c169b809254d9d7074e"
      ],
      "author": {
        "name": "Chao Yu",
        "email": "yuchao0@huawei.com",
        "time": "Mon Feb 24 19:31:15 2020 +0800"
      },
      "committer": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk@kernel.org",
        "time": "Mon Feb 24 14:01:53 2020 -0800"
      },
      "message": "fsck.f2fs: allow --dry-run to check readonly mounted fs\n\nAs Ondřej Jirman \u003cmegi@xff.cz\u003e reported:\n\nI was trying to run: fsck.f2fs --dry-run /dev/mmcblk0p2 on a RO mounted device,\nand fsck refuses to run. Strace shows that it tries to open the block device\nwith O_EXCL even in RO mode, which will always fail if the block device\nis mounted.\n\nfsck.f2fs --dry-run /dev/mmcblk0p2\nInfo: Dry run\nInfo: Mounted device!\nInfo: Check FS only on RO mounted device\n\tError: Failed to open the device!\n\nI suggest not using O_EXCL for --dry-run check.\n\nLet\u0027s change to allow --dry-run to check readonly mounted fs.\n\nReported-by: Ondřej Jirman \u003cmegi@xff.cz\u003e\nSigned-off-by: Chao Yu \u003cyuchao0@huawei.com\u003e\nSigned-off-by: Jaegeuk Kim \u003cjaegeuk@kernel.org\u003e\n"
    },
    {
      "commit": "daa0f8b9e9b1eea6c85e5c169b809254d9d7074e",
      "tree": "8aec9e7e6f3411137bdc555c16eb89c1681a315b",
      "parents": [
        "d77bca8e16fe32c95fb1136ae6b8ef66c08d1b35"
      ],
      "author": {
        "name": "xiongping1",
        "email": "xiongping1@xiaomi.com",
        "time": "Mon Jan 13 14:52:30 2020 +0800"
      },
      "committer": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk@kernel.org",
        "time": "Tue Jan 14 07:43:05 2020 -0800"
      },
      "message": "resize.f2fs: add option for large_nat_bitmap feature\n\nresize.f2fs has already supported large_nat_bitmap feature, but has no\noption to turn on it.\n\nThis change add a new \u0027-i\u0027 option to control turning on it.\n\nSigned-off-by: xiongping1 \u003cxiongping1@xiaomi.com\u003e\nReviewed-by: Chao Yu \u003cyuchao0@huawei.com\u003e\nSigned-off-by: Jaegeuk Kim \u003cjaegeuk@kernel.org\u003e\n"
    },
    {
      "commit": "d77bca8e16fe32c95fb1136ae6b8ef66c08d1b35",
      "tree": "d6840e4c5daf1200267150cccdbdd7ae0de6135b",
      "parents": [
        "fdd47b2ea7677119328c32bd159b7c200fd70212"
      ],
      "author": {
        "name": "Chao Yu",
        "email": "yuchao0@huawei.com",
        "time": "Mon Mar 25 21:20:33 2019 +0800"
      },
      "committer": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk@kernel.org",
        "time": "Tue Jan 14 07:43:00 2020 -0800"
      },
      "message": "dump.f2fs: print more info of inode layout\n\nThis patch adds to print all valid blkaddrs in inode\u0027s i_addr field,\nbesides, it also adds to print meaning of specific blkaddr(flag).\n\nSigned-off-by: Chao Yu \u003cyuchao0@huawei.com\u003e\nSigned-off-by: Jaegeuk Kim \u003cjaegeuk@kernel.org\u003e\n"
    },
    {
      "commit": "fdd47b2ea7677119328c32bd159b7c200fd70212",
      "tree": "b3ad28a461fe63adcc95579a122301e6bd98e66a",
      "parents": [
        "cf7329e5b6274970a26054e275e5972b13f5b84f"
      ],
      "author": {
        "name": "Chao Yu",
        "email": "yuchao0@huawei.com",
        "time": "Mon Mar 25 21:19:35 2019 +0800"
      },
      "committer": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk@kernel.org",
        "time": "Tue Jan 14 07:42:54 2020 -0800"
      },
      "message": "f2fs-tools: support data compression\n\nThis patch adds to support compression, introducing \u0027-O compression\u0027\noption to enable this feature in image.\n\nSigned-off-by: Chao Yu \u003cyuchao0@huawei.com\u003e\nSigned-off-by: Jaegeuk Kim \u003cjaegeuk@kernel.org\u003e\n"
    },
    {
      "commit": "cf7329e5b6274970a26054e275e5972b13f5b84f",
      "tree": "5c0306d5c168ba3c7756d2dd2c41662900a329e2",
      "parents": [
        "70c5bab971ee9a7d5c0cd009b5c69ddd8d218ed4"
      ],
      "author": {
        "name": "Robin Hsu",
        "email": "robinhsu@google.com",
        "time": "Mon Nov 18 18:13:21 2019 +0800"
      },
      "committer": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk@kernel.org",
        "time": "Tue Jan 14 07:42:02 2020 -0800"
      },
      "message": "fsck.f2fs: Enable user-space cache\n\nAdded command line options -c \u003cnum_cache_entry\u003e and -m \u003cmax_hash_collision\u003e\nto activate cache for fsck.  It may significantly speed up fsck.\n\nSigned-off-by: Robin Hsu \u003crobinhsu@google.com\u003e\nSigned-off-by: Jaegeuk Kim \u003cjaegeuk@kernel.org\u003e\n"
    },
    {
      "commit": "70c5bab971ee9a7d5c0cd009b5c69ddd8d218ed4",
      "tree": "204537ebd1280fad9697fe1b8f5ab14144901533",
      "parents": [
        "75cf4ec7e73354689ee2bdb715fdd1290141adc0"
      ],
      "author": {
        "name": "Robin Hsu",
        "email": "robinhsu@google.com",
        "time": "Mon Nov 18 18:13:07 2019 +0800"
      },
      "committer": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk@kernel.org",
        "time": "Tue Jan 14 07:42:02 2020 -0800"
      },
      "message": "libf2fs_io: Add user-space cache\n\nImplemented cache options in F2FS configuration \u0027c\u0027 (i.e. user\noptions):\n    * use c.cache_config.num_cache_entry to set the number of\n      cache entries (in block), minimum 1024, or 0 to disable cache.\n    * use c.cache_config.max_hash_collision to set maximum hash\n      collision (max 16).\n    * use c.cavhe_config.dbg_en to enable printing of debug messages.\n\nCache properties:\n    * Per block save based (block size \u003d f2fs block size \u003d 4K Bytes)\n    * Device block indices are used to hash (simple modular hash\n      function) to cache indices.\n    * A hash collision (when a block is hashed to an already occupied\n      cache block) will trigger offset-based relocation to max 16\n      other places, at first empty slot found policy.\n    * A hash collision with all 17 possible relocating places occupied\n      will evict the oldest used one (replaced by the new read block).\n      A global \u0027use\u0027 tick is kept ticking-up per block read for this\n      purpose.\n    * On write cache hit, it will update the corresponding cached\n      block.\n    * On write cache miss, the data won\u0027t be cached.\n    * Write-through policy only: never delayed write.\n    * On read cache hit, it returns the cached block.\n    * On read cache miss, it issues an I/O read to the kernel, and\n      then caches and returns the block.\n    * Currently read ahead is not implemented.  Yet, the read ahead\n      logic is kept as before, i.e. using kernel\u0027s read ahead\n      mechanism.\n\nSigned-off-by: Robin Hsu \u003crobinhsu@google.com\u003e\n[Jaegeuk Kim: Fix one bug in dcache_update_rw()]\nSigned-off-by: Jaegeuk Kim \u003cjaegeuk@kernel.org\u003e\n"
    },
    {
      "commit": "75cf4ec7e73354689ee2bdb715fdd1290141adc0",
      "tree": "65af779866672f2171eeb3c9b6b6a769880dc450",
      "parents": [
        "1126e38155bf53c3a73a826c0d48d906b08774d0"
      ],
      "author": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk@kernel.org",
        "time": "Thu Jan 02 10:44:42 2020 -0800"
      },
      "committer": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk@kernel.org",
        "time": "Tue Jan 14 07:42:02 2020 -0800"
      },
      "message": "f2fs-tools: handle /sys is not mounted\n\nFormat a partition, even if /sys is not mounted.\n\nReported-by: David Heidelberg \u003cdavid@ixit.cz\u003e\nSigned-off-by: Jaegeuk Kim \u003cjaegeuk@kernel.org\u003e\n"
    },
    {
      "commit": "1126e38155bf53c3a73a826c0d48d906b08774d0",
      "tree": "6f9cdc5d1632dd497b37f45f558fbb9e00f83603",
      "parents": [
        "f0f29da92484c6a4faf059b48da3777f4f3f2c76"
      ],
      "author": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk@kernel.org",
        "time": "Mon Oct 14 10:10:31 2019 -0700"
      },
      "committer": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk@kernel.org",
        "time": "Tue Jan 14 07:42:02 2020 -0800"
      },
      "message": "fsck.f2fs: add --{no-}kernel-check to bypass kernel version diff or not\n\nGiven this option, fsck.f2fs does not run fsck forcefully, even if kernel\nis updated. Android devices will do --kernel-check by default, while others\nwill not.\n\nSigned-off-by: Jaegeuk Kim \u003cjaegeuk@kernel.org\u003e\n"
    },
    {
      "commit": "f0f29da92484c6a4faf059b48da3777f4f3f2c76",
      "tree": "3172a6bb87e532f12c51bfb2dd7562fe09e198b6",
      "parents": [
        "5d6d65d04b55ac9a60a8acd037ab67e23948709e"
      ],
      "author": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk@google.com",
        "time": "Mon Feb 11 18:21:30 2019 -0800"
      },
      "committer": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk@kernel.org",
        "time": "Tue Jan 14 07:42:02 2020 -0800"
      },
      "message": "f2fs_io: add set_fsverity\n\nf2fs_io set_verity [file]\n\nSigned-off-by: Jaegeuk Kim \u003cjaegeuk@google.com\u003e\n"
    },
    {
      "commit": "5d6d65d04b55ac9a60a8acd037ab67e23948709e",
      "tree": "feb4fb8ded0f5ef4c9a16cdc30515c20d533c1b2",
      "parents": [
        "59478d343a88ea1ec50bf733fbd59d663d3253b8"
      ],
      "author": {
        "name": "Ingo Prochaska",
        "email": "nvertigo67@gmail.com",
        "time": "Tue Dec 24 13:49:54 2019 +0100"
      },
      "committer": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk@kernel.org",
        "time": "Tue Jan 14 07:41:38 2020 -0800"
      },
      "message": "fsck.f2fs: fix typo\n\n  matcing-\u003ematching\n\nSigned-off-by: Nvertigo \u003cnvertigo67@gmail.com\u003e\nSigned-off-by: Jaegeuk Kim \u003cjaegeuk@kernel.org\u003e\n"
    },
    {
      "commit": "59478d343a88ea1ec50bf733fbd59d663d3253b8",
      "tree": "8225d555b7a3bd865f073ac27c22ba291f773ab4",
      "parents": [
        "27be95ee8f36224a195a076003422cdd293edf4f"
      ],
      "author": {
        "name": "Santiago Hormazabal",
        "email": "santiagohssl@gmail.com",
        "time": "Wed Dec 18 15:46:05 2019 -0300"
      },
      "committer": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk@kernel.org",
        "time": "Tue Jan 14 07:41:05 2020 -0800"
      },
      "message": "sg_write_buffer: fix sg_write_buffer build outside the source dir\n\nCurrent Makefile.am included the \u0027include\u0027 directory\ndirectly as -I./include, but this doesn\u0027t guarantee that\nsaid directory exists when building outside of the source\ndirectory.\nBy adding $(srcdir) instead of \u0027.\u0027 this gets fixed automatically.\n\nSigned-off-by: Santiago Hormazabal \u003csantiagohssl@gmail.com\u003e\nSigned-off-by: Jaegeuk Kim \u003cjaegeuk@kernel.org\u003e\n"
    },
    {
      "commit": "27be95ee8f36224a195a076003422cdd293edf4f",
      "tree": "d011cb92c4525e30642c26ea4b86d3aec905d27b",
      "parents": [
        "17a7e7e0f03227d5ae3b31a5c0a03657b20c287c"
      ],
      "author": {
        "name": "Robin Hsu",
        "email": "robinhsu@google.com",
        "time": "Thu Oct 31 21:57:59 2019 +0800"
      },
      "committer": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk@kernel.org",
        "time": "Thu Dec 19 09:39:14 2019 -0800"
      },
      "message": "f2fs-tools: reuse same pointer, exit on error without clean-up\n\nThis patch tries to fix memory leak problem reported in Android.\n\nFixed the following problems in fsck.f2fs, make_f2fs and sload_f2fs:\n    * reuse of same pointer without clean-up\n    * exit on error without clean-up\n\nSigned-off-by: Robin Hsu \u003crobinhsu@google.com\u003e\n[Jaegeuk Kim: add missing definition to avoid build error]\nSigned-off-by: Jaegeuk Kim \u003cjaegeuk@kernel.org\u003e\n"
    },
    {
      "commit": "17a7e7e0f03227d5ae3b31a5c0a03657b20c287c",
      "tree": "b469d0fbed7e5c5900919b25ce85de7666fa06c6",
      "parents": [
        "e6cd27722a2dffed04402dc20389253eab5b1412"
      ],
      "author": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk@kernel.org",
        "time": "Wed Dec 18 17:26:03 2019 -0800"
      },
      "committer": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk@kernel.org",
        "time": "Wed Dec 18 17:37:22 2019 -0800"
      },
      "message": "f2fs-tools: avoid unused parameter build errors\n\nThis patch specifies unused parameters explicitly to avoid build errors.\n\nSigned-off-by: Jaegeuk Kim \u003cjaegeuk@kernel.org\u003e\n"
    },
    {
      "commit": "e6cd27722a2dffed04402dc20389253eab5b1412",
      "tree": "020166d0230920142f825a88510d9e0988c39494",
      "parents": [
        "65e1898bbed8d08024628195408049210247e12e"
      ],
      "author": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk@kernel.org",
        "time": "Tue Oct 08 15:06:09 2019 -0700"
      },
      "committer": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk@kernel.org",
        "time": "Wed Dec 18 10:20:23 2019 -0800"
      },
      "message": "f2fs_io: accept fallocate to have bigger size\n\nSigned-off-by: Jaegeuk Kim \u003cjaegeuk@kernel.org\u003e\n"
    },
    {
      "commit": "65e1898bbed8d08024628195408049210247e12e",
      "tree": "ca9cbe52602008169699dfb92e1268d3a45dac3d",
      "parents": [
        "8c420512fcead6370ef2c8551411cc5ea671504c"
      ],
      "author": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk@kernel.org",
        "time": "Tue Dec 10 08:42:20 2019 -0800"
      },
      "committer": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk@kernel.org",
        "time": "Tue Dec 10 08:47:33 2019 -0800"
      },
      "message": "fsck.f2fs: do not access nat etnries in ckpt before initialization\n\nckpt-\u003eentries is initialized by fsck_init(), but we tried to access it during\nf2fs_do_mount().\n\nThe call sequence is:\n - f2fs_do_mount\n  - record_fsync_data\n    - traverse_dnodes\n     - do_record_fsync_data\n      - ADDRS_PER_PAGE\n       - get_node_info\n        - node_info_from_raw_nat(fsck-\u003eentries[nid])\n - do_fsck\n  - fsck_init\n   - build_nat_area_bitmap\n    - fsck-\u003eentries \u003d calloc(fsck-\u003enr_nat_entries);\n\nSigned-off-by: Jaegeuk Kim \u003cjaegeuk@kernel.org\u003e\n"
    },
    {
      "commit": "8c420512fcead6370ef2c8551411cc5ea671504c",
      "tree": "9c1ffb57e8028242bfe7edccee4ef62a1066e6ef",
      "parents": [
        "42326f61e944d9537828b5bbd3055ec661703d56"
      ],
      "author": {
        "name": "Shin\u0027ichiro Kawasaki",
        "email": "shinichiro.kawasaki@wdc.com",
        "time": "Thu Nov 28 16:59:30 2019 +0900"
      },
      "committer": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk@kernel.org",
        "time": "Mon Dec 09 17:23:19 2019 -0800"
      },
      "message": "fsck: Check write pointer consistency of non-open zones\n\nTo catch bugs in write pointer handling code for zoned block devices,\nhave fsck check consistency of write pointers of non-open zones, that\ncurrent segments do not point to. Check two items comparing write pointer\npositions with valid block maps in SIT.\n\nThe first item is check for zones with no valid blocks. When there is no\nvalid blocks in a zone, the write pointer should be at the start of the\nzone. If not, next write operation to the zone will cause unaligned write\nerror. If write pointer is not at the zone start, reset the zone to move\nthe write pointer to the zone start.\n\nThe second item is check between write pointer position and the last\nvalid block in the zone. It is unexpected that the last valid block\nposition is beyond the write pointer. In such a case, report as the bug.\nFix is not required for such zone, because the zone is not selected for\nnext write operation until the zone get discarded.\n\nIn the same manner as the consistency check for current segments, do the\ncheck and fix twice: at the beginning of do_fsck() to avoid unaligned\nwrite error during fsck, and at fsck_verify() to reflect meta data\nupdates by fsck.\n\nSigned-off-by: Shin\u0027ichiro Kawasaki \u003cshinichiro.kawasaki@wdc.com\u003e\nReviewed-by: Chao Yu \u003cyuchao0@huawei.com\u003e\nSigned-off-by: Jaegeuk Kim \u003cjaegeuk@kernel.org\u003e\n"
    },
    {
      "commit": "42326f61e944d9537828b5bbd3055ec661703d56",
      "tree": "1f591705bc23e80b0a37acbf13eb0c01029ce28a",
      "parents": [
        "75bdccdf0b7bd950f6c7fad8a0e6fea16376099e"
      ],
      "author": {
        "name": "Shin\u0027ichiro Kawasaki",
        "email": "shinichiro.kawasaki@wdc.com",
        "time": "Thu Nov 28 16:59:29 2019 +0900"
      },
      "committer": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk@kernel.org",
        "time": "Mon Dec 09 17:23:19 2019 -0800"
      },
      "message": "fsck: Check write pointer consistency of open zones\n\nOn sudden f2fs shutdown, write pointers of zoned block devices can go\nfurther but f2fs meta data keeps current segments at positions before the\nwrite operations. After remounting the f2fs, this inconsistency causes\nwrite operations not at write pointers and \"Unaligned write command\"\nerror is reported.\n\nTo avoid the error, have f2fs.fsck check consistency of write pointers\nof open zones that current segments point to. Compare each current\nsegment\u0027s position and the write pointer position of the open zone. If\ninconsistency is found and \u0027fix_on\u0027 flag is set, assign a new zone to the\ncurrent segment and check the newly assigned zone has write pointer at\nthe zone start. Leave the original zone as is to keep data recorded in\nit.\n\nTo care about fsync data, refer each seg_entry\u0027s ckpt_valid_map to get\nthe last valid block in the zone. If the last valid block is beyond the\ncurrent segments position, fsync data exits in the zone. In case fsync\ndata exists, do not assign a new zone to the current segment not to lose\nthe fsync data. It is expected that the kernel replay the fsync data and\nfix the write pointer inconsistency at mount time.\n\nAlso check consistency between write pointer of the zone the current\nsegment points to with valid block maps of the zone. If the last valid\nblock is beyond the write pointer position, report to indicate a bug. If\n\u0027fix_on\u0027 flag is set, assign a new zone to the current segment.\n\nWhen inconsistencies are found, turn on \u0027bug_on\u0027 flag in fsck_verify() to\nask users to fix them or not. When inconsistencies get fixed, turn on\n\u0027force\u0027 flag in fsck_verify() to enforce fixes in following checks.\n\nThis check and fix is done twice. The first is done at the beginning of\ndo_fsck() function so that other fixes can reflect the current segment\nmodification. The second is done in fsck_verify() to reflect updated meta\ndata by other fixes.\n\nSigned-off-by: Shin\u0027ichiro Kawasaki \u003cshinichiro.kawasaki@wdc.com\u003e\nReviewed-by: Chao Yu \u003cyuchao0@huawei.com\u003e\nSigned-off-by: Jaegeuk Kim \u003cjaegeuk@kernel.org\u003e\n"
    },
    {
      "commit": "75bdccdf0b7bd950f6c7fad8a0e6fea16376099e",
      "tree": "39bc939390ee4499f4feed674278013d4b0bafd2",
      "parents": [
        "7f6b9400147e69e7c523ab7a5efbf444aecbf8f5"
      ],
      "author": {
        "name": "Shin\u0027ichiro Kawasaki",
        "email": "shinichiro.kawasaki@wdc.com",
        "time": "Thu Nov 28 16:59:28 2019 +0900"
      },
      "committer": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk@kernel.org",
        "time": "Mon Dec 09 17:23:19 2019 -0800"
      },
      "message": "fsck: Check fsync data always for zoned block devices\n\nFsck checks fsync data when UMOUNT flag is not set. When the f2fs was not\ncleanly unmouted, UMOUNT flag is not recorded in meta data and fsync data\ncan be left in the f2fs. The first fsck run checks fsync data to reflect\nit on quota status recovery. After that, fsck writes UMOUNT flag in the\nf2fs meta data so that second fsck run can skip fsync data check.\n\nHowever, fsck for zoned block devices need to care fsync data for all\nfsck runs. The first fsck run checks fsync data, then fsck can check\nwrite pointer consistency with fsync data. However, since second fsck run\ndoes not check fsync data, fsck detects write pointer at fsync data end\nis not consistent with f2fs meta data. This results in meta data update\nby fsck and fsync data gets lost.\n\nTo have fsck check fsync data always for zoned block devices, introduce\nneed_fsync_data_record() helper function which returns boolean to tell\nif fsck needs fsync data check or not. For zoned block devices, always\nreturn true. Otherwise, return true if UMOUNT flag is not set in CP.\nReplace UMOUNT flag check codes for fsync data with the function call.\n\nSigned-off-by: Shin\u0027ichiro Kawasaki \u003cshinichiro.kawasaki@wdc.com\u003e\nReviewed-by: Chao Yu \u003cyuchao0@huawei.com\u003e\nSigned-off-by: Jaegeuk Kim \u003cjaegeuk@kernel.org\u003e\n"
    },
    {
      "commit": "7f6b9400147e69e7c523ab7a5efbf444aecbf8f5",
      "tree": "86bf1dc7059dd8decd51f824372e1f8dfceac8de",
      "parents": [
        "c0ce8e646c5c5454b74863496e0d0e6a66d7438f"
      ],
      "author": {
        "name": "Shin\u0027ichiro Kawasaki",
        "email": "shinichiro.kawasaki@wdc.com",
        "time": "Thu Nov 28 16:59:27 2019 +0900"
      },
      "committer": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk@kernel.org",
        "time": "Mon Dec 09 17:23:19 2019 -0800"
      },
      "message": "fsck: Introduce move_one_curseg_info() function\n\nWhen fsck updates one of the current segments, update_curseg_info() is\ncalled specifying a single current segment as its argument. However,\nupdate_curseg_info() calls move_curseg_info() function which updates all\nsix current segments. Then update_curseg_info() for a single current\nsegment moves all current segments.\n\nThis excessive current segment move causes an issue when a new zone is\nassigned to a current segment because of write pointer inconsistency.\nEven when a current segment has write pointer inconsistency, all other\ncurrent segments should not be moved because they may have fsync data\nat their positions.\n\nTo avoid the excessive current segment move, introduce\nmove_one_curseg_info() function which does same work as\nmove_curseg_info() only for a single current segment. Call\nmove_one_curseg_info() in place of move_curseg_info() from\nupdate_curseg_info().\n\nSigned-off-by: Shin\u0027ichiro Kawasaki \u003cshinichiro.kawasaki@wdc.com\u003e\nReviewed-by: Chao Yu \u003cyuchao0@huawei.com\u003e\nSigned-off-by: Jaegeuk Kim \u003cjaegeuk@kernel.org\u003e\n"
    },
    {
      "commit": "c0ce8e646c5c5454b74863496e0d0e6a66d7438f",
      "tree": "55ac251797b6ea98bdc9d5ba59a7f3fedeed768c",
      "parents": [
        "1d145cb86be519445a8b0968b50b47fe52dfed9d"
      ],
      "author": {
        "name": "Shin\u0027ichiro Kawasaki",
        "email": "shinichiro.kawasaki@wdc.com",
        "time": "Thu Nov 28 16:59:26 2019 +0900"
      },
      "committer": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk@kernel.org",
        "time": "Mon Dec 09 17:23:19 2019 -0800"
      },
      "message": "fsck: Find free zones instead of blocks to assign to current segments\n\nWhen fsck needs to assign a new area to a curreng segment, it calls\nfind_next_free_block() function to find a new block to assign. For zoned\nblock devices, fsck checks write pointer consistency with current\nsegments\u0027 positions. In case a curseg is inconsistent with the\nwrite pointer of the zone it points to, fsck should assign not a new free\nblock but a new free zone/section with write pointer at the zone start,\nso that next write to the current segment succeeds without error.\n\nTo extend find_next_free_block() function\u0027s capability to find not only\na block but also a zone/section, add new_sec flag to\nfind_next_free_block() function. When new_sec flag is true, skip check\nfor each block\u0027s availability so that the check is done with unit of\nsection. Note that it is ensured that one zone has one section for f2fs\non zoned block devices. Then the logic to find a new free section is good\nto find a new free zone.\n\nWhen fsck target devices have ZONED_HM model, set new_sec flag true to\ncall find_next_free_block() from move_curseg_info(). Set curseg\u0027s\nalloc_type not SSR but LFS for the devices with ZONED_HM model, because\nSSR block allocation is not allowed for zoned block devices. Also skip\nrelocate_curseg_offset() for the devices with ZONED_HM model for the\nsame reason.\n\nSigned-off-by: Shin\u0027ichiro Kawasaki \u003cshinichiro.kawasaki@wdc.com\u003e\nReviewed-by: Chao Yu \u003cyuchao0@huawei.com\u003e\nSigned-off-by: Jaegeuk Kim \u003cjaegeuk@kernel.org\u003e\n"
    },
    {
      "commit": "1d145cb86be519445a8b0968b50b47fe52dfed9d",
      "tree": "22b876ed85d1d53cd217731f537dcf25d0533004",
      "parents": [
        "6d7c7b785febcf9162dbfc607c50fb778983deb6"
      ],
      "author": {
        "name": "Shin\u0027ichiro Kawasaki",
        "email": "shinichiro.kawasaki@wdc.com",
        "time": "Thu Nov 28 16:59:25 2019 +0900"
      },
      "committer": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk@kernel.org",
        "time": "Mon Dec 09 17:23:19 2019 -0800"
      },
      "message": "libf2fs_zoned: Introduce f2fs_reset_zone() helper function\n\nTo prepare for write pointer consistency fix by fsck, add\nf2fs_reset_zone() helper function which calls RESET ZONE command. The\nfunction is added to lib/libf2fs_zoned which gathers zoned block device\nrelated functions.\n\nWhen f2fs-tools are built without blkzoned.h kernel header, the helper\nfunction f2fs_reset_zone() prints an error message as other helper\nfunctions in lib/libf2fs_zoned print. To make the message consistent\nthrough the all helper functions, modify message strings in\nf2fs_check_zones() and f2fs_reset_zones().\n\nSigned-off-by: Shin\u0027ichiro Kawasaki \u003cshinichiro.kawasaki@wdc.com\u003e\nReviewed-by: Chao Yu \u003cyuchao0@huawei.com\u003e\nSigned-off-by: Jaegeuk Kim \u003cjaegeuk@kernel.org\u003e\n"
    },
    {
      "commit": "6d7c7b785febcf9162dbfc607c50fb778983deb6",
      "tree": "710dd2f077292dcc91269aedeff10e6f0faa6f08",
      "parents": [
        "512b8426acf1f146cf2f07cf680f1155d886ef94"
      ],
      "author": {
        "name": "Shin\u0027ichiro Kawasaki",
        "email": "shinichiro.kawasaki@wdc.com",
        "time": "Thu Nov 28 16:59:24 2019 +0900"
      },
      "committer": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk@kernel.org",
        "time": "Mon Dec 09 17:23:19 2019 -0800"
      },
      "message": "libf2fs_zoned: Introduce f2fs_report_zone() helper function\n\nTo prepare for write pointer consistency check by fsck, add\nf2fs_report_zone() helper function which calls REPORT ZONE command to\nget write pointer status of a single zone. The function is added to\nlib/libf2fs_zoned which gathers zoned block device related functions.\n\nSigned-off-by: Shin\u0027ichiro Kawasaki \u003cshinichiro.kawasaki@wdc.com\u003e\nReviewed-by: Chao Yu \u003cyuchao0@huawei.com\u003e\nSigned-off-by: Jaegeuk Kim \u003cjaegeuk@kernel.org\u003e\n"
    },
    {
      "commit": "512b8426acf1f146cf2f07cf680f1155d886ef94",
      "tree": "0bb53fafe81101ae97549d6b9d19681c46b2ee55",
      "parents": [
        "05fee40110881bab81de649bdb8462dfbdd19220"
      ],
      "author": {
        "name": "Shin\u0027ichiro Kawasaki",
        "email": "shinichiro.kawasaki@wdc.com",
        "time": "Thu Nov 28 16:59:23 2019 +0900"
      },
      "committer": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk@kernel.org",
        "time": "Mon Dec 09 17:23:19 2019 -0800"
      },
      "message": "libf2fs_zoned: Introduce f2fs_report_zones() helper function\n\nTo prepare for write pointer consistency check by fsck, add\nf2fs_report_zones() helper function which calls REPORT ZONE command to\nget write pointer status. The function is added to lib/libf2fs_zoned\nwhich gathers zoned block device related functions.\n\nTo check write pointer consistency with f2fs meta data, fsck needs to\nrefer both of reported zone information and f2fs super block structure\n\"f2fs_sb_info\". However, libf2fs_zoned does not import f2fs_sb_info. To\nkeep f2fs_sb_info structure out of libf2fs_zoned, provide a callback\nfunction in fsck to f2fs_report_zones() and call it for each zone.\n\nAdd SECTOR_SHIFT definition in include/f2fs_fs.h to avoid a magic number\nto convert bytes into 512B sectors.\n\nSigned-off-by: Shin\u0027ichiro Kawasaki \u003cshinichiro.kawasaki@wdc.com\u003e\nReviewed-by: Chao Yu \u003cyuchao0@huawei.com\u003e\nSigned-off-by: Jaegeuk Kim \u003cjaegeuk@kernel.org\u003e\n"
    },
    {
      "commit": "05fee40110881bab81de649bdb8462dfbdd19220",
      "tree": "d0c06196140224832b2413b787e4888257fc0374",
      "parents": [
        "51e7d6dee33b1117875cc6628216af7b4aeba6ab"
      ],
      "author": {
        "name": "Qiuyang Sun",
        "email": "sunqiuyang@huawei.com",
        "time": "Mon Sep 23 12:24:59 2019 +0800"
      },
      "committer": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk@kernel.org",
        "time": "Mon Dec 09 17:23:19 2019 -0800"
      },
      "message": "fsck.f2fs: check total_segments from devices in raw_super\n\nFor multi-device F2FS, we should check if the sum of total_segments from\nall devices matches segment_count.\n\nSigned-off-by: Qiuyang Sun \u003csunqiuyang@huawei.com\u003e\nReviewed-by: Chao Yu \u003cyuchao0@huawei.com\u003e\nSigned-off-by: Jaegeuk Kim \u003cjaegeuk@kernel.org\u003e\n"
    },
    {
      "commit": "51e7d6dee33b1117875cc6628216af7b4aeba6ab",
      "tree": "bb2c9191bbebedfccd82decce8341ff5f6cd359f",
      "parents": [
        "e0e1c2a7909ab4dd619c6610fdff1382d2fe3136"
      ],
      "author": {
        "name": "Fabrice Fontaine",
        "email": "fontaine.fabrice@gmail.com",
        "time": "Sun Sep 22 20:41:37 2019 +0200"
      },
      "committer": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk@kernel.org",
        "time": "Mon Dec 09 17:23:19 2019 -0800"
      },
      "message": "mkfs/Makefile.am: fix build without blkid\n\nCommit d56232bc1640e2a3ffc412faff42cd8e77dbb8dd hardcoded -lblkid in\nlibf2fs_format_la_LDFLAGS which breaks the build with --without-blkid\noption so use ${libblkid_LIBS} instead\n\nSigned-off-by: Fabrice Fontaine \u003cfontaine.fabrice@gmail.com\u003e\nReviewed-by: Chao Yu \u003cyuchao0@huawei.com\u003e\nSigned-off-by: Jaegeuk Kim \u003cjaegeuk@kernel.org\u003e\n"
    },
    {
      "commit": "e0e1c2a7909ab4dd619c6610fdff1382d2fe3136",
      "tree": "b77f03e505a59ddf04c0a17056d1244dc0d45307",
      "parents": [
        "d5bc55f7c742b69a9c02f2dbb80ba8df7009de76"
      ],
      "author": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk@kernel.org",
        "time": "Mon Oct 07 09:31:48 2019 -0700"
      },
      "committer": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk@kernel.org",
        "time": "Tue Oct 22 09:33:13 2019 -0700"
      },
      "message": "tools/fibmap: fix build error\n\nfibmap.c:28:10: fatal error: \u0027sys/sysmacros.h\u0027 file not found\n         ^~~~~~~~~~~~~~~~~\n1 error generated.\nmake[3]: *** [fibmap.o] Error 1\nmake[3]: *** Waiting for unfinished jobs....\n\nFixes: ce64ea0815bf (\"f2fs-tools: Add support for Casefolding\")\nReviewed-by: Chao Yu \u003cyuchao0@huawei.com\u003e\nSigned-off-by: Jaegeuk Kim \u003cjaegeuk@kernel.org\u003e\n"
    },
    {
      "commit": "d5bc55f7c742b69a9c02f2dbb80ba8df7009de76",
      "tree": "27d875495196098515b7d487f1c2901a4d1e3059",
      "parents": [
        "7a9422f092ca727abff9c37dc133897405983038"
      ],
      "author": {
        "name": "Eric Biggers",
        "email": "ebiggers@google.com",
        "time": "Fri Oct 04 15:43:17 2019 -0700"
      },
      "committer": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk@kernel.org",
        "time": "Mon Oct 07 09:24:50 2019 -0700"
      },
      "message": "f2fs_io: add copy command\n\nAdd a copy command to f2fs_io, to allow testing direct I/O writes where\nthe source page is from a different file (mmap) or an internal kernel\npage (sendfile).  It could be useful for other tests in the future too.\n\nSigned-off-by: Eric Biggers \u003cebiggers@google.com\u003e\nSigned-off-by: Jaegeuk Kim \u003cjaegeuk@kernel.org\u003e\n"
    },
    {
      "commit": "7a9422f092ca727abff9c37dc133897405983038",
      "tree": "5d2c7ae4b49597a1bd3ee8002016e55d73c909f3",
      "parents": [
        "696bf1ea4000c2ff9161a4929d6bd5b27a698933"
      ],
      "author": {
        "name": "Eric Biggers",
        "email": "ebiggers@google.com",
        "time": "Fri Oct 04 15:43:16 2019 -0700"
      },
      "committer": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk@kernel.org",
        "time": "Mon Oct 07 09:24:44 2019 -0700"
      },
      "message": "f2fs_io: add helper functions for handling errors\n\nAdd and use helper functions for:\n\n- Printing an error message (optionally with errno) and exiting.\n- Allocating memory, exiting on error.\n- Opening a file, exiting on error.\n\nSigned-off-by: Eric Biggers \u003cebiggers@google.com\u003e\nSigned-off-by: Jaegeuk Kim \u003cjaegeuk@kernel.org\u003e\n"
    },
    {
      "commit": "696bf1ea4000c2ff9161a4929d6bd5b27a698933",
      "tree": "1317874f14a965d51ac16409d97a375b97bfed13",
      "parents": [
        "de7bcc843a0b86cd59924c44e146ce773cd879d0"
      ],
      "author": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk@kernel.org",
        "time": "Tue Sep 24 19:20:31 2019 -0700"
      },
      "committer": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk@kernel.org",
        "time": "Tue Sep 24 19:20:31 2019 -0700"
      },
      "message": "f2fs-tools: release 1.13.0\n\nThis release includes:\n - enable VERITY by default on Android\n - introduce some preen mode in fsck.f2fs\n - add f2fs_io tool\n - add casefolding support\n\nAnd, there are lots of bug fixes.\n\nSigned-off-by: Jaegeuk Kim \u003cjaegeuk@kernel.org\u003e\n"
    },
    {
      "commit": "de7bcc843a0b86cd59924c44e146ce773cd879d0",
      "tree": "6319b3d39de8f10d874b67f681c603caf6672488",
      "parents": [
        "aa374eff7e8baa174ec2882743b05c73d0760811"
      ],
      "author": {
        "name": "Chao Yu",
        "email": "yuchao0@huawei.com",
        "time": "Wed Aug 14 16:48:55 2019 +0800"
      },
      "committer": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk@kernel.org",
        "time": "Tue Aug 27 14:51:05 2019 -0700"
      },
      "message": "f2fs-tools: fix to skip block allocation for fsynced data\n\nPreviously, we don\u0027t allow block allocation on unclean umounted image,\nresult in failing to repair quota system file.\n\nIn this patch, we port most recovery codes from kernel to userspace\ntools, so that on unclean image, during fsck initialization, we will\nrecord all data/node block address we may recover in kernel, and\nthen during allocation of quota file repair, we can skip those blocks\nto avoid block use conflict.\n\nEventually, if free space is enough, we can repair the quota system\nfile on an unclean umounted image.\n\nSigned-off-by: Chao Yu \u003cyuchao0@huawei.com\u003e\n[Jaegeuk Kim: remove unnecessary parameter]\nSigned-off-by: Jaegeuk Kim \u003cjaegeuk@kernel.org\u003e\n"
    },
    {
      "commit": "aa374eff7e8baa174ec2882743b05c73d0760811",
      "tree": "734d0a77cacae593445d770dd30829854ccec934",
      "parents": [
        "156ac96e19c9e070143995a529a8cc5229478fbb"
      ],
      "author": {
        "name": "Chao Yu",
        "email": "yuchao0@huawei.com",
        "time": "Fri Aug 09 18:53:02 2019 +0800"
      },
      "committer": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk@kernel.org",
        "time": "Tue Aug 27 14:51:05 2019 -0700"
      },
      "message": "f2fs-tools: add missing newline symbol in log\n\nto show pretty log format.\n\nSigned-off-by: Chao Yu \u003cyuchao0@huawei.com\u003e\nSigned-off-by: Jaegeuk Kim \u003cjaegeuk@kernel.org\u003e\n"
    },
    {
      "commit": "156ac96e19c9e070143995a529a8cc5229478fbb",
      "tree": "da9541ea6f621757c9edb85970e11abe9fdc8a42",
      "parents": [
        "66087b1521047a55869c9cece55592edd594cd92"
      ],
      "author": {
        "name": "Chao Yu",
        "email": "yuchao0@huawei.com",
        "time": "Mon Aug 05 17:44:06 2019 +0800"
      },
      "committer": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk@kernel.org",
        "time": "Tue Aug 27 14:51:05 2019 -0700"
      },
      "message": "f2fs-tools: fix stat update in sload/fsck\n\nChange logic as below:\n- fix to account block/node/inode stats correctly in reserve_new_block()\n- check overflow in reserve_new_block()\n- move stat update from f2fs_alloc_nid() to reserve_new_block()\n- adjust write_checkpoint() to update stat for sload/fsck\n\nSigned-off-by: Chao Yu \u003cyuchao0@huawei.com\u003e\nSigned-off-by: Jaegeuk Kim \u003cjaegeuk@kernel.org\u003e\n"
    },
    {
      "commit": "66087b1521047a55869c9cece55592edd594cd92",
      "tree": "68462f5a3d02d6f21cc0cfaea97e6aebd945a2d5",
      "parents": [
        "121f29b7b9f2bb71ba73ef10819ad6de8ba70eab"
      ],
      "author": {
        "name": "Lihong Kou",
        "email": "koulihong@huawei.com",
        "time": "Mon Aug 05 15:26:21 2019 +0800"
      },
      "committer": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk@kernel.org",
        "time": "Tue Aug 27 14:51:05 2019 -0700"
      },
      "message": "fsck.f2fs: fix the bug in reserve_new_block\n\nif we new node block in fsck flow, we need to update\nthe valid_node_cnt at the same time.\n\nSigned-off-by: Lihong Kou \u003ckoulihong@huawei.com\u003e\nReviewed-by: Chao Yu \u003cyuchao0@huawei.com\u003e\nSigned-off-by: Jaegeuk Kim \u003cjaegeuk@kernel.org\u003e\n"
    },
    {
      "commit": "121f29b7b9f2bb71ba73ef10819ad6de8ba70eab",
      "tree": "d1f96df51a87a8b3823fb42e59767d4396068927",
      "parents": [
        "3ea1f0567db68794fe38e02e43d0da6a1b53d037"
      ],
      "author": {
        "name": "Chao Yu",
        "email": "yuchao0@huawei.com",
        "time": "Mon Aug 12 19:45:27 2019 +0800"
      },
      "committer": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk@kernel.org",
        "time": "Tue Aug 27 14:51:05 2019 -0700"
      },
      "message": "fsck.f2fs: fix symlink correctly\n\ninode.i_blocks includes inode, xnode and data block count, so, only\nfix in below condition:\n- i_blocks :\u003d 3 (inode + xnode + data_block)\n- i_blocks :\u003d 2 (inode + data_block)\n\nIn addition, it recovers symlink\u0027s i_size to 4k rather than i_blocks *\n4k.\n\nSigned-off-by: Chao Yu \u003cyuchao0@huawei.com\u003e\nSigned-off-by: Jaegeuk Kim \u003cjaegeuk@kernel.org\u003e\n"
    },
    {
      "commit": "3ea1f0567db68794fe38e02e43d0da6a1b53d037",
      "tree": "d4aeab5431ddbff13368f7def4acc0bcf3e4fa5e",
      "parents": [
        "b3c986cf6750a06de2c331faa106b329309403f8"
      ],
      "author": {
        "name": "Chao Yu",
        "email": "yuchao0@huawei.com",
        "time": "Mon Aug 12 19:45:26 2019 +0800"
      },
      "committer": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk@kernel.org",
        "time": "Tue Aug 27 14:51:05 2019 -0700"
      },
      "message": "fsck.f2fs: fix to show removed x_nid correctly\n\nOtherwise, we just show fixed zero x_nid value.\n\nSigned-off-by: Chao Yu \u003cyuchao0@huawei.com\u003e\nSigned-off-by: Jaegeuk Kim \u003cjaegeuk@kernel.org\u003e\n"
    },
    {
      "commit": "b3c986cf6750a06de2c331faa106b329309403f8",
      "tree": "49cc13cd1f4c6a2c7ebf4c48525c9a7b9612eac4",
      "parents": [
        "ab72bb1a42bf3db5800707263aab23a64fd0c77a"
      ],
      "author": {
        "name": "Chao Yu",
        "email": "yuchao0@huawei.com",
        "time": "Mon Aug 12 19:45:25 2019 +0800"
      },
      "committer": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk@kernel.org",
        "time": "Tue Aug 27 14:51:05 2019 -0700"
      },
      "message": "fsck.f2fs: fix to check c.fix_on before repair\n\nWe should always set c.bug_on whenever found a bug, then fix them\nif c.fix_on is on, otherwise, some bugs won\u0027t be shown unless we\nenable debug log.\n\nSigned-off-by: Chao Yu \u003cyuchao0@huawei.com\u003e\nSigned-off-by: Jaegeuk Kim \u003cjaegeuk@kernel.org\u003e\n"
    },
    {
      "commit": "ab72bb1a42bf3db5800707263aab23a64fd0c77a",
      "tree": "d0bc7929e0c3621cda17abfbd99cca921540fcdc",
      "parents": [
        "29e035d5c4cce2a95484224a26a41c9f83c20f3d"
      ],
      "author": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk@google.com",
        "time": "Fri Aug 02 17:02:26 2019 -0700"
      },
      "committer": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk@kernel.org",
        "time": "Tue Aug 27 14:51:05 2019 -0700"
      },
      "message": "f2fs_io: add get/setflags\n\nReviewed-by: Chao Yu \u003cyuchao0@huawei.com\u003e\nSigned-off-by: Jaegeuk Kim \u003cjaegeuk@google.com\u003e\n"
    },
    {
      "commit": "29e035d5c4cce2a95484224a26a41c9f83c20f3d",
      "tree": "89e57fce4ba20456bac7a0bc8b01ccb25d158509",
      "parents": [
        "33ac4ce48dcea5726b0f03bf5c921decfbf6fe18"
      ],
      "author": {
        "name": "Chao Yu",
        "email": "yuchao0@huawei.com",
        "time": "Fri Aug 09 18:53:01 2019 +0800"
      },
      "committer": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk@kernel.org",
        "time": "Tue Aug 27 14:51:05 2019 -0700"
      },
      "message": "fsck.f2fs: fix to propagate error of write_dquots()\n\nPropagate correct error number from write_dquots() to\nquota_write_inode().\n\nSigned-off-by: Chao Yu \u003cyuchao0@huawei.com\u003e\nSigned-off-by: Jaegeuk Kim \u003cjaegeuk@kernel.org\u003e\n"
    },
    {
      "commit": "33ac4ce48dcea5726b0f03bf5c921decfbf6fe18",
      "tree": "70eb7e8b5fc12406b8e5e5020c24b0dd3726ccbf",
      "parents": [
        "207e2d7a03d9f158d881d32bdc9fc103209663cd"
      ],
      "author": {
        "name": "Chao Yu",
        "email": "yuchao0@huawei.com",
        "time": "Fri Aug 09 18:53:00 2019 +0800"
      },
      "committer": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk@kernel.org",
        "time": "Tue Aug 27 14:51:05 2019 -0700"
      },
      "message": "f2fs-tools: advise to mount unclean image to replay journal\n\nFor defrag, resize, sload tools, let\u0027s advise to mount unclean\nimage to replay journal first in order to not lose any fsynced\ndata.\n\nSigned-off-by: Chao Yu \u003cyuchao0@huawei.com\u003e\nSigned-off-by: Jaegeuk Kim \u003cjaegeuk@kernel.org\u003e\n"
    },
    {
      "commit": "207e2d7a03d9f158d881d32bdc9fc103209663cd",
      "tree": "71a5618f2b34c4e3415016a20735737658711047",
      "parents": [
        "a624d790f202ba8a208ef221d638d76df4a49895"
      ],
      "author": {
        "name": "Chao Yu",
        "email": "yuchao0@huawei.com",
        "time": "Fri Aug 09 18:52:59 2019 +0800"
      },
      "committer": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk@kernel.org",
        "time": "Tue Aug 27 14:51:05 2019 -0700"
      },
      "message": "fsck.f2fs: fix to set large section type during allocation\n\nDuring block allocation in large free section, we need to change\nall sub segments\u0027 type in it, otherwise, we will fail to allocate\nblock in non-first segment due to mismatch seg-type.\n\nSigned-off-by: Chao Yu \u003cyuchao0@huawei.com\u003e\nSigned-off-by: Jaegeuk Kim \u003cjaegeuk@kernel.org\u003e\n"
    },
    {
      "commit": "a624d790f202ba8a208ef221d638d76df4a49895",
      "tree": "ae69bf82b40568e84981f042eb7228d29b75f536",
      "parents": [
        "9e64efe2765a0a847cf949c83add17ac1e625f51"
      ],
      "author": {
        "name": "Chao Yu",
        "email": "yuchao0@huawei.com",
        "time": "Fri Aug 09 18:52:58 2019 +0800"
      },
      "committer": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk@kernel.org",
        "time": "Tue Aug 27 14:51:05 2019 -0700"
      },
      "message": "dump.f2fs: introduce start_bidx_of_node() for cleanup\n\nJust cleanup, no logic change, besides, it can be reused by latter\npatch.\n\nSigned-off-by: Chao Yu \u003cyuchao0@huawei.com\u003e\nSigned-off-by: Jaegeuk Kim \u003cjaegeuk@kernel.org\u003e\n"
    },
    {
      "commit": "9e64efe2765a0a847cf949c83add17ac1e625f51",
      "tree": "361862e278c0b75db777e0f523dec3189b4c3570",
      "parents": [
        "cd7c5020cecd2ce4baae63155ec2481564236b1c"
      ],
      "author": {
        "name": "Chao Yu",
        "email": "yuchao0@huawei.com",
        "time": "Fri Aug 09 18:52:57 2019 +0800"
      },
      "committer": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk@kernel.org",
        "time": "Tue Aug 27 14:51:05 2019 -0700"
      },
      "message": "f2fs-tools: introduce f2fs_ra_meta_pages()\n\nIntroduce f2fs_ra_meta_pages() to readahead meta pages like we did\nin kernel.\n\nSigned-off-by: Chao Yu \u003cyuchao0@huawei.com\u003e\nSigned-off-by: Jaegeuk Kim \u003cjaegeuk@kernel.org\u003e\n"
    },
    {
      "commit": "cd7c5020cecd2ce4baae63155ec2481564236b1c",
      "tree": "5c30f2679f7a1dcd3df18044acce468900e9ba51",
      "parents": [
        "bf99ab9e273b1f30f44a7dc3a0e079fd20d4d0c0"
      ],
      "author": {
        "name": "Chao Yu",
        "email": "yuchao0@huawei.com",
        "time": "Fri Aug 09 18:52:56 2019 +0800"
      },
      "committer": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk@kernel.org",
        "time": "Tue Aug 27 14:51:05 2019 -0700"
      },
      "message": "fsck.f2fs: introduce current_sit_addr() for cleanup\n\nJust clean up, no logic change.\n\nSigned-off-by: Chao Yu \u003cyuchao0@huawei.com\u003e\nSigned-off-by: Jaegeuk Kim \u003cjaegeuk@kernel.org\u003e\n"
    },
    {
      "commit": "bf99ab9e273b1f30f44a7dc3a0e079fd20d4d0c0",
      "tree": "7063f77ba76e24f12519bdafa1f3c6a754e6e866",
      "parents": [
        "2183c65b7687a8de3328beaa9d5eb6dae70994dd"
      ],
      "author": {
        "name": "Chao Yu",
        "email": "yuchao0@huawei.com",
        "time": "Fri Aug 09 18:52:55 2019 +0800"
      },
      "committer": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk@kernel.org",
        "time": "Tue Aug 27 14:51:05 2019 -0700"
      },
      "message": "f2fs-tools: allocate memory in batch in build_sit_info()\n\nLike we did in kernel, allocating memory in batch will be more\nefficient.\n\nSigned-off-by: Chao Yu \u003cyuchao0@huawei.com\u003e\nSigned-off-by: Jaegeuk Kim \u003cjaegeuk@kernel.org\u003e\n"
    },
    {
      "commit": "2183c65b7687a8de3328beaa9d5eb6dae70994dd",
      "tree": "2cf5ca56aa52b453595fdfc5a76114182e5c3127",
      "parents": [
        "b7e0a624711e79c76ffc7eb24d4b6aad4a557071"
      ],
      "author": {
        "name": "Chao Yu",
        "email": "yuchao0@huawei.com",
        "time": "Fri Aug 09 18:52:54 2019 +0800"
      },
      "committer": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk@kernel.org",
        "time": "Tue Aug 27 14:51:05 2019 -0700"
      },
      "message": "f2fs-tools: fix to avoid memory leak of sit_i-\u003esentries\n\nWe missed to free sit_i-\u003esentries in f2fs_do_umount(), fix it.\n\nSigned-off-by: Chao Yu \u003cyuchao0@huawei.com\u003e\nSigned-off-by: Jaegeuk Kim \u003cjaegeuk@kernel.org\u003e\n"
    },
    {
      "commit": "b7e0a624711e79c76ffc7eb24d4b6aad4a557071",
      "tree": "7e2540386d009df947c2cbaafce4522836d77807",
      "parents": [
        "5eb2d8455992a302aa0b12caf68d8be807712c45"
      ],
      "author": {
        "name": "Chao Yu",
        "email": "yuchao0@huawei.com",
        "time": "Fri Aug 09 18:52:53 2019 +0800"
      },
      "committer": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk@kernel.org",
        "time": "Tue Aug 27 14:51:05 2019 -0700"
      },
      "message": "f2fs-tools: fix potential deadloop\n\nIn error path of build_sit_info(), start variable is unsigned int type,\nit should never be less than zero, fix it.\n\nbuild_sit_info()\n{\n...\n\tunsigned int start;\n...\nfree_validity_maps:\n\tfor (--start ; start \u003e\u003d 0; --start)\n\t\tfree(sit_i-\u003esentries[start].cur_valid_map);\n...\n}\n\nSigned-off-by: Chao Yu \u003cyuchao0@huawei.com\u003e\nSigned-off-by: Jaegeuk Kim \u003cjaegeuk@kernel.org\u003e\n"
    },
    {
      "commit": "5eb2d8455992a302aa0b12caf68d8be807712c45",
      "tree": "c4023ea4b4c3d9342b634b413fa01d01929f265b",
      "parents": [
        "ce64ea0815bfe953a1c94cc68e1b9e2bef547fc3"
      ],
      "author": {
        "name": "Chao Yu",
        "email": "yuchao0@huawei.com",
        "time": "Tue Aug 06 10:50:31 2019 +0800"
      },
      "committer": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk@kernel.org",
        "time": "Tue Aug 27 14:51:05 2019 -0700"
      },
      "message": "f2fs_io: support defrag_file\n\nSupport \u0027defrag_file\u0027 sub command to trigger file based defragment via\nioctl in f2fs.\n\nSigned-off-by: Chao Yu \u003cyuchao0@huawei.com\u003e\nSigned-off-by: Jaegeuk Kim \u003cjaegeuk@kernel.org\u003e\n"
    },
    {
      "commit": "ce64ea0815bfe953a1c94cc68e1b9e2bef547fc3",
      "tree": "85dc09a42aecb7a513c120b335ca19e66a6936ce",
      "parents": [
        "db84e73777c2656095d37c768a89923b2bc8e3d6"
      ],
      "author": {
        "name": "Daniel Rosenberg",
        "email": "drosen@google.com",
        "time": "Thu Jul 11 13:45:41 2019 -0700"
      },
      "committer": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk@kernel.org",
        "time": "Tue Aug 27 14:51:05 2019 -0700"
      },
      "message": "f2fs-tools: Add support for Casefolding\n\nThis adds support for f2fs casefolding. Similarly to ext4 casefolding,\nthis is controlled per-folder via the +F attribute. It can be toggled on\nempty directories only. It is not currently compatible with encryption,\nbut that will likely change.\n\nWhen enabling the casefold feature, use the -C flag. The format is:\n-C encoding[:flag1,flag2,etc]\n\nSigned-off-by: Daniel Rosenberg \u003cdrosen@google.com\u003e\n[Jaegeuk Kim: print \"casefold\" in sb-\u003efeature]\nSigned-off-by: Jaegeuk Kim \u003cjaegeuk@kernel.org\u003e\n"
    },
    {
      "commit": "db84e73777c2656095d37c768a89923b2bc8e3d6",
      "tree": "7c682193eab4f6de700529c8cc662a18a461eada",
      "parents": [
        "dd9c372646ed849f143b3bd9f40cf13c784675fe"
      ],
      "author": {
        "name": "Chao Yu",
        "email": "yuchao0@huawei.com",
        "time": "Wed Aug 14 16:44:26 2019 +0800"
      },
      "committer": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk@kernel.org",
        "time": "Tue Aug 27 14:51:05 2019 -0700"
      },
      "message": "fsck.f2fs: fix to recover out-of-border inline size\n\nIt tries to let fsck be noticed wrong inline size, and do the fix.\n\nSigned-off-by: Chao Yu \u003cyuchao0@huawei.com\u003e\nSigned-off-by: Jaegeuk Kim \u003cjaegeuk@kernel.org\u003e\n"
    },
    {
      "commit": "dd9c372646ed849f143b3bd9f40cf13c784675fe",
      "tree": "8b46722ee4357b52f5940e3bf961bc429e61efbc",
      "parents": [
        "8b624c337a03117596d085929eb018ec0ffeb77b"
      ],
      "author": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk@kernel.org",
        "time": "Thu Aug 08 15:29:25 2019 -0700"
      },
      "committer": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk@kernel.org",
        "time": "Tue Aug 27 14:51:05 2019 -0700"
      },
      "message": "mkfs.f2fs: check zeros in first 16MB for Android\n\nWe actually don\u0027t need to issue trim on entire disk by checking first\nblocks having zeros.\n\nSigned-off-by: Jaegeuk Kim \u003cjaegeuk@kernel.org\u003e\n"
    },
    {
      "commit": "8b624c337a03117596d085929eb018ec0ffeb77b",
      "tree": "e4eddeae210a56b1b9236c670b8316a8c8715567",
      "parents": [
        "3e9107dc0354091bd6f96ce06b5d0333fe2f5dc8"
      ],
      "author": {
        "name": "Chao Yu",
        "email": "yuchao0@huawei.com",
        "time": "Mon Aug 05 09:44:59 2019 +0800"
      },
      "committer": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk@kernel.org",
        "time": "Tue Aug 20 11:23:58 2019 -0700"
      },
      "message": "sload.f2fs: fix error path of build_directory\n\nThe error handling of build_directory is a mess, fix it.\n\nSigned-off-by: Chao Yu \u003cyuchao0@huawei.com\u003e\nSigned-off-by: Jaegeuk Kim \u003cjaegeuk@kernel.org\u003e\n"
    },
    {
      "commit": "3e9107dc0354091bd6f96ce06b5d0333fe2f5dc8",
      "tree": "0c8e8a6289f1fe05508d10dda6a7d59726511521",
      "parents": [
        "70ae867f965737e6c419108c8b15657ae1ebcc7b"
      ],
      "author": {
        "name": "Chao Yu",
        "email": "yuchao0@huawei.com",
        "time": "Mon Aug 05 09:44:58 2019 +0800"
      },
      "committer": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk@kernel.org",
        "time": "Tue Aug 20 11:23:58 2019 -0700"
      },
      "message": "sload.f2fs: fix memory leak of dentry.link\n\nWe forgot to release memory allocated in dentry.link, fix to release\nit after last use of it.\n\nSigned-off-by: Chao Yu \u003cyuchao0@huawei.com\u003e\nSigned-off-by: Jaegeuk Kim \u003cjaegeuk@kernel.org\u003e\n"
    },
    {
      "commit": "70ae867f965737e6c419108c8b15657ae1ebcc7b",
      "tree": "50e525282eeb9bf92072a884f600b973a267fc21",
      "parents": [
        "fe154d525044b9daa6ccc9e8fbd3cdcf9000adc3"
      ],
      "author": {
        "name": "Xiaojun Wang",
        "email": "wangxiaojun11@huawei.com",
        "time": "Mon Aug 05 09:44:57 2019 +0800"
      },
      "committer": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk@kernel.org",
        "time": "Tue Aug 20 11:23:58 2019 -0700"
      },
      "message": "sload.f2fs: fix memory leak in build_directory\n\nThis patch fix bug that variable dentries going out of scope leaks\nthe storage it points to.\n\nSigned-off-by: Xiaojun Wang \u003cwangxiaojun11@huawei.com\u003e\nReviewed-by: Chao Yu \u003cyuchao0@huawei.com\u003e\nSigned-off-by: Jaegeuk Kim \u003cjaegeuk@kernel.org\u003e\n"
    },
    {
      "commit": "fe154d525044b9daa6ccc9e8fbd3cdcf9000adc3",
      "tree": "3ab16b8e8ea63046819e4594271b82606887e31f",
      "parents": [
        "71a93cff40849d4918a17cdb60361697ddb0aad4"
      ],
      "author": {
        "name": "Surbhi Palande",
        "email": "csurbhi@gmail.com",
        "time": "Thu Aug 01 19:47:48 2019 -0700"
      },
      "committer": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk@kernel.org",
        "time": "Tue Aug 20 11:23:58 2019 -0700"
      },
      "message": "libf2fs: Throw an error when zone dev info not found\n\nWhen the -m option is specified to format a Zoned device,\ndo not fall back to the non-zoned mode in case information\nabout the device is not found.\n\nExplicitly specify this error to the user.\n\nSigned-off-by: Surbhi Palande \u003ccsurbhi@gmail.com\u003e\nReviewed-by: Chao Yu \u003cyuchao0@huawei.com\u003e\nReviewed-by: Damien Le Moal \u003cdamien.lemoal@wdc.com\u003e\nSigned-off-by: Jaegeuk Kim \u003cjaegeuk@kernel.org\u003e\n"
    },
    {
      "commit": "71a93cff40849d4918a17cdb60361697ddb0aad4",
      "tree": "57d8e43fc9d8d8d7427c87fd6ca13706b328bdc4",
      "parents": [
        "d2621d31c088df6d70bb31069df67c5d031afc33"
      ],
      "author": {
        "name": "Chao Yu",
        "email": "yuchao0@huawei.com",
        "time": "Wed Jul 31 21:01:05 2019 +0800"
      },
      "committer": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk@kernel.org",
        "time": "Tue Aug 20 11:23:58 2019 -0700"
      },
      "message": "fsck.f2fs: include f2fs_fs.h from local directory\n\nf2fs_fs.h locats in local directory rather than system one, fix it.\n\nSigned-off-by: Chao Yu \u003cyuchao0@huawei.com\u003e\nSigned-off-by: Jaegeuk Kim \u003cjaegeuk@kernel.org\u003e\n"
    }
  ],
  "next": "d2621d31c088df6d70bb31069df67c5d031afc33"
}
