)]}'
{
  "log": [
    {
      "commit": "2bcc0328c3a043880796a602c75fbeb1537aa1e1",
      "tree": "ed18c3244abeda587b56498ca5da5609f3555d99",
      "parents": [
        "7ca4be45a0255ac8f08c05491c6add2dd87dd4f8"
      ],
      "author": {
        "name": "Liu Bo",
        "email": "liubo2009@cn.fujitsu.com",
        "time": "Thu Mar 29 09:57:44 2012 -0400"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Thu Mar 29 09:57:44 2012 -0400"
      },
      "message": "Btrfs: show useful info in space reservation tracepoint\n\no For space info, the type of space info is useful for debug.\no For transaction handle, its transid is useful.\n\nSigned-off-by: Liu Bo \u003cliubo2009@cn.fujitsu.com\u003e\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "79787eaab46121d4713ed03c8fc63b9ec3eaec76",
      "tree": "ee6b17d0811ee54ab74a03aa4e0bb92769d2f12a",
      "parents": [
        "49b25e0540904be0bf558b84475c69d72e4de66e"
      ],
      "author": {
        "name": "Jeff Mahoney",
        "email": "jeffm@suse.com",
        "time": "Mon Mar 12 16:03:00 2012 +0100"
      },
      "committer": {
        "name": "David Sterba",
        "email": "dsterba@suse.cz",
        "time": "Thu Mar 22 11:52:54 2012 +0100"
      },
      "message": "btrfs: replace many BUG_ONs with proper error handling\n\n btrfs currently handles most errors with BUG_ON. This patch is a work-in-\n progress but aims to handle most errors other than internal logic\n errors and ENOMEM more gracefully.\n\n This iteration prevents most crashes but can run into lockups with\n the page lock on occasion when the timing \"works out.\"\n\nSigned-off-by: Jeff Mahoney \u003cjeffm@suse.com\u003e\n"
    },
    {
      "commit": "e77266e4c4be6f9dc91bf688bce015a8babd5fe0",
      "tree": "9ad1f7fa246188ac2f12088a8a1e354ffea63799",
      "parents": [
        "5500cdbe14d7435e04f66ff3cfb8ecd8b8e44ebf"
      ],
      "author": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Fri Feb 24 10:39:05 2012 -0500"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Fri Feb 24 10:39:05 2012 -0500"
      },
      "message": "Btrfs: fix compiler warnings on 32 bit systems\n\nThe enospc tracing code added some interesting uses of\nu64 pointer casts.\n\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "8c2a3ca20f6233677ac3222c6506174010eb414f",
      "tree": "88d1105c665d355b363929557ed0c5489795e348",
      "parents": [
        "90290e19820e3323ce6b9c2888eeb68bf29c278b"
      ],
      "author": {
        "name": "Josef Bacik",
        "email": "josef@redhat.com",
        "time": "Tue Jan 10 10:31:31 2012 -0500"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Mon Jan 16 15:29:43 2012 -0500"
      },
      "message": "Btrfs: space leak tracepoints\n\nThis in addition to a script in my btrfs-tracing tree will help track down space\nleaks when we\u0027re getting space left over in block groups on umount.  Thanks,\n\nSigned-off-by: Josef Bacik \u003cjosef@redhat.com\u003e\n"
    },
    {
      "commit": "ba38eb4de354d228f2792f93cde2c748a3a3f3b2",
      "tree": "c88a2903398eae9ccd7f0c755f70ca600bcc162b",
      "parents": [
        "924cd8fbe41851eda2b68bf2ed501b2777fd77b4"
      ],
      "author": {
        "name": "Miao Xie",
        "email": "miaox@cn.fujitsu.com",
        "time": "Thu Nov 10 20:45:04 2011 -0500"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Thu Nov 10 20:45:04 2011 -0500"
      },
      "message": "Btrfs: fix no reserved space for writing out inode cache\n\nI-node cache forgets to reserve the space when writing out it. And when\nwe do some stress test, such as synctest, it will trigger WARN_ON() in\nuse_block_rsv().\n\nWARNING: at fs/btrfs/extent-tree.c:5718 btrfs_alloc_free_block+0xbf/0x281 [btrfs]()\n...\nCall Trace:\n [\u003cffffffff8104df86\u003e] warn_slowpath_common+0x80/0x98\n [\u003cffffffff8104dfb3\u003e] warn_slowpath_null+0x15/0x17\n [\u003cffffffffa0369c60\u003e] btrfs_alloc_free_block+0xbf/0x281 [btrfs]\n [\u003cffffffff810cbcb8\u003e] ? __set_page_dirty_nobuffers+0xfe/0x108\n [\u003cffffffffa035c040\u003e] __btrfs_cow_block+0x118/0x3b5 [btrfs]\n [\u003cffffffffa035c7ba\u003e] btrfs_cow_block+0x103/0x14e [btrfs]\n [\u003cffffffffa035e4c4\u003e] btrfs_search_slot+0x249/0x6a4 [btrfs]\n [\u003cffffffffa036d086\u003e] btrfs_lookup_inode+0x2a/0x8a [btrfs]\n [\u003cffffffffa03788b7\u003e] btrfs_update_inode+0xaa/0x141 [btrfs]\n [\u003cffffffffa036d7ec\u003e] btrfs_save_ino_cache+0xea/0x202 [btrfs]\n [\u003cffffffffa03a761e\u003e] ? btrfs_update_reloc_root+0x17e/0x197 [btrfs]\n [\u003cffffffffa0373867\u003e] commit_fs_roots+0xaa/0x158 [btrfs]\n [\u003cffffffffa03746a6\u003e] btrfs_commit_transaction+0x405/0x731 [btrfs]\n [\u003cffffffff810690df\u003e] ? wake_up_bit+0x25/0x25\n [\u003cffffffffa039d652\u003e] ? btrfs_log_dentry_safe+0x43/0x51 [btrfs]\n [\u003cffffffffa0381c5f\u003e] btrfs_sync_file+0x16a/0x198 [btrfs]\n [\u003cffffffff81122806\u003e] ? mntput+0x21/0x23\n [\u003cffffffff8112d150\u003e] vfs_fsync_range+0x18/0x21\n [\u003cffffffff8112d170\u003e] vfs_fsync+0x17/0x19\n [\u003cffffffff8112d316\u003e] do_fsync+0x29/0x3e\n [\u003cffffffff8112d348\u003e] sys_fsync+0xb/0xf\n [\u003cffffffff81468352\u003e] system_call_fastpath+0x16/0x1b\n\nSometimes it causes BUG_ON() in the reservation code of the delayed inode\nis triggered.\n\nSo we must reserve enough space for inode cache.\n\nNote: If we can not reserve the enough space for inode cache, we will\ngive up writing out it.\n\nSigned-off-by: Miao Xie \u003cmiaox@cn.fujitsu.com\u003e\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "c09544e07f8cdc455ed8615d4c067d694c33bd18",
      "tree": "c9943e56457ac64e2223396841e043e4514462e0",
      "parents": [
        "300e4f8a56f263797568c95b71c949f9f02e4534"
      ],
      "author": {
        "name": "Josef Bacik",
        "email": "josef@redhat.com",
        "time": "Tue Aug 30 10:19:10 2011 -0400"
      },
      "committer": {
        "name": "Josef Bacik",
        "email": "josef@redhat.com",
        "time": "Wed Oct 19 15:12:42 2011 -0400"
      },
      "message": "Btrfs: handle enospc accounting for free space inodes\n\nSince free space inodes now use normal checksumming we need to make sure to\naccount for their metadata use.  So reserve metadata space, and then if we fail\nto write out the metadata we can just release it, otherwise it will be freed up\nwhen the io completes.  Thanks,\n\nSigned-off-by: Josef Bacik \u003cjosef@redhat.com\u003e\n"
    },
    {
      "commit": "7841cb2898f66a73062c64d0ef5733dde7279e46",
      "tree": "b7a94d96d44971845951a59e9fb7b5c2e30c46b3",
      "parents": [
        "4b9465cb9e3859186eefa1ca3b990a5849386320"
      ],
      "author": {
        "name": "David Sterba",
        "email": "dsterba@suse.cz",
        "time": "Tue May 31 18:07:27 2011 +0200"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Sat Jun 04 08:11:22 2011 -0400"
      },
      "message": "btrfs: add helper for fs_info-\u003eclosing\n\nwrap checking of filesystem \u0027closing\u0027 flag and fix a few missing memory\nbarriers.\n\nSigned-off-by: David Sterba \u003cdsterba@suse.cz\u003e\n"
    },
    {
      "commit": "4b9465cb9e3859186eefa1ca3b990a5849386320",
      "tree": "8fc06452fb75e52f6c1c2e2253c2ff6700e622fd",
      "parents": [
        "e7786c3ae517b2c433edc91714e86be770e9f1ce"
      ],
      "author": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Fri Jun 03 09:36:29 2011 -0400"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Sat Jun 04 08:03:47 2011 -0400"
      },
      "message": "Btrfs: add mount -o inode_cache\n\nThis makes the inode map cache default to off until we\nfix the overflow problem when the free space crcs don\u0027t fit\ninside a single page.\n\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "d132a538d258f8f52fd0cd8b5017755f4e915386",
      "tree": "bf3a5e67c8eff57425dd656778b40c5aaf858f80",
      "parents": [
        "5f3f302a6f4cb74906c05fad1d03fc5e95c7e5af"
      ],
      "author": {
        "name": "Josef Bacik",
        "email": "josef@redhat.com",
        "time": "Tue May 31 19:33:33 2011 +0000"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Sat Jun 04 08:03:45 2011 -0400"
      },
      "message": "Btrfs: don\u0027t save the inode cache if we are deleting this root\n\nWith xfstest 254 I can panic the box every time with the inode number caching\nstuff on.  This is because we clean the inodes out when we delete the subvolume,\nbut then we write out the inode cache which adds an inode to the subvolume inode\ntree, and then when it gets evicted again the root gets added back on the dead\nroots list and is deleted again, so we have a double free.  To stop this from\nhappening just return 0 if refs is 0 (and we\u0027re not the tree root since tree\nroot always has refs of 0).  With this fix 254 no longer panics.  Thanks,\n\nSigned-off-by: Josef Bacik \u003cjosef@redhat.com\u003e\nTested-by: David Sterba \u003cdsterba@suse.cz\u003e\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "ca456ae280c0646e1e571c3b9a3834c55e90adfe",
      "tree": "945f70453e07c59739c02808f69598f637d35dfa",
      "parents": [
        "211f96c24f117fcc6e9e2431e40d92f4de22625e"
      ],
      "author": {
        "name": "liubo",
        "email": "liubo2009@cn.fujitsu.com",
        "time": "Wed Jun 01 09:42:49 2011 +0000"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Sat Jun 04 08:03:44 2011 -0400"
      },
      "message": "Btrfs: don\u0027t save the inode cache in non-FS roots\n\nThis adds extra checks to make sure the inode map we are caching really\nbelongs to a FS root instead of a special relocation tree.  It\nprevents crashes during balancing operations.\n\nSigned-off-by: Liu Bo \u003cliubo2009@cn.fujitsu.com\u003e\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "a47d6b70e280401d553e7cac6f5750870de1ad21",
      "tree": "2874064c08ecc65cdfda9b2a9fd9895eb73a011e",
      "parents": [
        "00d01bc17cc2807292303961519d9c005794eb1d"
      ],
      "author": {
        "name": "Li Zefan",
        "email": "lizf@cn.fujitsu.com",
        "time": "Thu May 26 06:38:30 2011 +0000"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Thu May 26 17:53:04 2011 -0400"
      },
      "message": "Btrfs: setup free ino caching in a more asynchronous way\n\nFor a filesystem that has lots of files in it, the first time we mount\nit with free ino caching support, it can take quite a long time to\nsetup the caching before we can create new files.\n\nHere we fill the cache with [highest_ino, BTRFS_LAST_FREE_OBJECTID]\nbefore we start the caching thread to search through the extent tree.\n\nSigned-off-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "945d8962ceee6bb273365d0bdf42f763225b290f",
      "tree": "43f5617022c7c947c3c63664e49eb9575ab82f2f",
      "parents": [
        "0d0ca30f180906224be6279788f2b202cfd959d8",
        "4ea028859bbdad34b84c9951fbb832ae10c6a96c"
      ],
      "author": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Sun May 22 12:33:42 2011 -0400"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Sun May 22 12:33:42 2011 -0400"
      },
      "message": "Merge branch \u0027cleanups\u0027 of git://repo.or.cz/linux-2.6/btrfs-unstable into inode_numbers\n\nConflicts:\n\tfs/btrfs/extent-tree.c\n\tfs/btrfs/free-space-cache.c\n\tfs/btrfs/inode.c\n\tfs/btrfs/tree-log.c\n\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "82d5902d9c681be37ffa9d70482907f9f0b7ec1f",
      "tree": "c9c99f0b60004ac14d09d277d3216667df09c32d",
      "parents": [
        "33345d01522f8152f99dc84a3e7a1a45707f387f"
      ],
      "author": {
        "name": "Li Zefan",
        "email": "lizf@cn.fujitsu.com",
        "time": "Wed Apr 20 10:33:24 2011 +0800"
      },
      "committer": {
        "name": "Li Zefan",
        "email": "lizf@cn.fujitsu.com",
        "time": "Mon Apr 25 16:46:11 2011 +0800"
      },
      "message": "Btrfs: Support reading/writing on disk free ino cache\n\nThis is similar to block group caching.\n\nWe dedicate a special inode in fs tree to save free ino cache.\n\nAt the very first time we create/delete a file after mount, the free ino\ncache will be loaded from disk into memory. When the fs tree is commited,\nthe cache will be written back to disk.\n\nTo keep compatibility, we check the root generation against the generation\nof the special inode when loading the cache, so the loading will fail\nif the btrfs filesystem was mounted in an older kernel before.\n\nSigned-off-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\n"
    },
    {
      "commit": "581bb050941b4f220f84d3e5ed6dace3d42dd382",
      "tree": "5ebd56af5eb3612f508419b188dfc18e959e7c94",
      "parents": [
        "34d52cb6c50b5a43901709998f59fb1c5a43dc4a"
      ],
      "author": {
        "name": "Li Zefan",
        "email": "lizf@cn.fujitsu.com",
        "time": "Wed Apr 20 10:06:11 2011 +0800"
      },
      "committer": {
        "name": "Li Zefan",
        "email": "lizf@cn.fujitsu.com",
        "time": "Mon Apr 25 16:46:04 2011 +0800"
      },
      "message": "Btrfs: Cache free inode numbers in memory\n\nCurrently btrfs stores the highest objectid of the fs tree, and it always\nreturns (highest+1) inode number when we create a file, so inode numbers\nwon\u0027t be reclaimed when we delete files, so we\u0027ll run out of inode numbers\nas we keep create/delete files in 32bits machines.\n\nThis fixes it, and it works similarly to how we cache free space in block\ncgroups.\n\nWe start a kernel thread to read the file tree. By scanning inode items,\nwe know which chunks of inode numbers are free, and we cache them in\nan rb-tree.\n\nBecause we are searching the commit root, we have to carefully handle the\ncross-transaction case.\n\nThe rb-tree is a hybrid extent+bitmap tree, so if we have too many small\nchunks of inode numbers, we\u0027ll use bitmaps. Initially we allow 16K ram\nof extents, and a bitmap will be used if we exceed this threshold. The\nextents threshold is adjusted in runtime.\n\nSigned-off-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\n"
    },
    {
      "commit": "db5b493ac78e46c7b6bad22cd25d8041564cd8ea",
      "tree": "18f484c3d8194b80165e5400831931a3ac5c58ba",
      "parents": [
        "1abe9b8a138c9988ba8f7bfded6453649a31541f"
      ],
      "author": {
        "name": "Tsutomu Itoh",
        "email": "t-itoh@jp.fujitsu.com",
        "time": "Wed Mar 23 08:14:16 2011 +0000"
      },
      "committer": {
        "name": "root",
        "email": "Chris Mason chris.mason@oracle.com",
        "time": "Mon Mar 28 05:37:35 2011 -0400"
      },
      "message": "Btrfs: cleanup some BUG_ON()\n\nThis patch changes some BUG_ON() to the error return.\n(but, most callers still use BUG_ON())\n\nSigned-off-by: Tsutomu Itoh \u003ct-itoh@jp.fujitsu.com\u003e\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "13a8a7c8c47e542b3cdb45bec3f431f96af79361",
      "tree": "473f3cc94b4a93a0a5f6f19b1832ef2e6b7ecf62",
      "parents": [
        "1c4850e21df8b441164d910bc611ef46a01d5d75"
      ],
      "author": {
        "name": "Yan, Zheng",
        "email": "zheng.yan@oracle.com",
        "time": "Mon Sep 21 15:56:00 2009 -0400"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Mon Sep 21 15:56:00 2009 -0400"
      },
      "message": "Btrfs: do not reuse objectid of deleted snapshot/subvol\n\nThe new back reference format does not allow reusing objectid of\ndeleted snapshot/subvol. So we use ++highest_objectid to allocate\nobjectid for new snapshot/subvol.\n\nNow we use ++highest_objectid to allocate objectid for both new inode\nand new snapshot/subvolume, so this patch removes \u0027find hole\u0027 code in\nbtrfs_find_free_objectid.\n\nSigned-off-by: Yan Zheng \u003czheng.yan@oracle.com\u003e\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "e63b6a6c0ffa2ebd8617cc1a10969000296831aa",
      "tree": "bb8a5b4ad968c161c327e592e0302308e21573bb",
      "parents": [
        "45c06543afe2772c02f21efee0e2138b4e1c911e"
      ],
      "author": {
        "name": "Joel Becker",
        "email": "joel.becker@oracle.com",
        "time": "Tue Apr 21 12:38:30 2009 -0700"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Mon Apr 27 08:37:49 2009 -0400"
      },
      "message": "Btrfs: Fix a trivial warning using max() of u64 vs ULL.\n\nA small warning popped up on ia64 because inode-map.c was comparing a\nu64 object id with the ULL FIRST_FREE_OBJECTID.  My first thought was\nthat all the OBJECTID constants should contain the u64 cast because\nbtrfs code deals entirely in u64s.  But then I saw how large that was,\nand figured I\u0027d just fix the max() call.\n\nSigned-off-by: Joel Becker \u003cjoel.becker@oracle.com\u003e\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "e00f7308658622fbd483cb0d9fe41165bf9050d0",
      "tree": "5baeaee96a3d6789f4cce2ca17d7f4f8afb3431e",
      "parents": [
        "7951f3cefbd711f4429a0cd014aa83a844c399a0"
      ],
      "author": {
        "name": "Jeff Mahoney",
        "email": "jeffm@suse.com",
        "time": "Thu Feb 12 14:11:25 2009 -0500"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Thu Feb 12 14:11:25 2009 -0500"
      },
      "message": "Btrfs: remove btrfs_init_path\n\nbtrfs_init_path was initially used when the path objects were on the\nstack.  Now all the work is done by btrfs_alloc_path and btrfs_init_path\nisn\u0027t required.\n\nThis patch removes it, and just uses kmem_cache_zalloc to zero out the object.\n\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n\n"
    },
    {
      "commit": "d397712bcc6a759a560fd247e6053ecae091f958",
      "tree": "9da8daebb870d8b8b1843507c4621715e23dd31a",
      "parents": [
        "1f3c79a28c8837e8572b98f6d14142d9a6133c56"
      ],
      "author": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Mon Jan 05 21:25:51 2009 -0500"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Mon Jan 05 21:25:51 2009 -0500"
      },
      "message": "Btrfs: Fix checkpatch.pl warnings\n\nThere were many, most are fixed now.  struct-funcs.c generates some warnings\nbut these are bogus.\n\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "5b21f2ed3f2947b5195b65c9fdbdd9e52904cc03",
      "tree": "9af8f539ac487c163f3207bc065767c3c8b37ae7",
      "parents": [
        "e465768938f95388723b0fd3c50a0ae48173edb9"
      ],
      "author": {
        "name": "Zheng Yan",
        "email": "zheng.yan@oracle.com",
        "time": "Fri Sep 26 10:05:38 2008 -0400"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Fri Sep 26 10:05:38 2008 -0400"
      },
      "message": "Btrfs: extent_map and data\u003dordered fixes for space balancing\n\n* Add an EXTENT_BOUNDARY state bit to keep the writepage code\nfrom merging data extents that are in the process of being\nrelocated.  This allows us to do accounting for them properly.\n\n* The balancing code relocates data extents indepdent of the underlying\ninode.  The extent_map code was modified to properly account for\nthings moving around (invalidating extent_map caches in the inode).\n\n* Don\u0027t take the drop_mutex in the create_subvol ioctl.  It isn\u0027t\nrequired.\n\n* Fix walking of the ordered extent list to avoid races with sys_unlink\n\n* Change the lock ordering rules.  Transaction start goes outside\nthe drop_mutex.  This allows btrfs_commit_transaction to directly\ndrop the relocation trees.\n\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "6527cdbe68a27a2ee745f36d001aa32d0f46f370",
      "tree": "2525855633856050a854cabd6dc46b3c955d3b40",
      "parents": [
        "b214107eda845f9a5851ae198f5b972e0dc30c45"
      ],
      "author": {
        "name": "Zheng Yan",
        "email": "zheng.yan@oracle.com",
        "time": "Fri Sep 05 16:43:53 2008 -0400"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Thu Sep 25 11:04:07 2008 -0400"
      },
      "message": "Btrfs: Update find free objectid function for orphan cleanup code\n\nOrphan items use BTRFS_ORPHAN_OBJECTID (-5UUL) as key objectid. This\naffects the find free objectid functions, inode objectid can easily\noverflow after orphan file cleanup.\n\n---\n\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "a213501153fd66e2359e091b1612841305ba6551",
      "tree": "1f4c316c9d3cad0eb6d9be14cb0e67e46e815dce",
      "parents": [
        "925baeddc5b0764a53f2214a1253251bab0e0324"
      ],
      "author": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Wed Jun 25 16:01:30 2008 -0400"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Thu Sep 25 11:04:03 2008 -0400"
      },
      "message": "Btrfs: Replace the big fs_mutex with a collection of other locks\n\nExtent alloctions are still protected by a large alloc_mutex.\nObjectid allocations are covered by a objectid mutex\nOther btree operations are protected by a lock on individual btree nodes\n\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "b17854275cd297d40c6c5562fa44a472314c6c7f",
      "tree": "a8056de7cbc45dd927cf1220ff2dfc8f4e15dd17",
      "parents": [
        "e18e4809b10e6c9efb5fe10c1ddcb4ebb690d517"
      ],
      "author": {
        "name": "Yan",
        "email": "yanzheng@21cn.com",
        "time": "Tue Jan 22 12:46:56 2008 -0500"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Thu Sep 25 11:03:59 2008 -0400"
      },
      "message": "Fix for btrfs_find_free_objectid\n\nbtrfs_find_free_objectid may return a used objectid due to arithmetic\nunderflow. This bug may happen when parameter \u0027root\u0027 is tree root,  so\nit may cause serious problems when creating snapshot or sub-volume.\n\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "5f39d397dfbe140a14edecd4e73c34ce23c4f9ee",
      "tree": "280561e4b68d573590557dd27df656869eed8023",
      "parents": [
        "50b78c24d594e6985f36a9a8d8e2fb74e1664e90"
      ],
      "author": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Mon Oct 15 16:14:19 2007 -0400"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Thu Sep 25 11:03:56 2008 -0400"
      },
      "message": "Btrfs: Create extent_buffer interface for large blocksizes\n\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "ec6b910fb330f29e169c9f502c3ac209515af8d1",
      "tree": "1b9854ebbc2f3cae4e8fb43dde53527bc7d7eb09",
      "parents": [
        "f2fdf02406de9273ad27c3b73f70aee745173f7b"
      ],
      "author": {
        "name": "Zach Brown",
        "email": "zach.brown@oracle.com",
        "time": "Wed Jul 11 10:00:37 2007 -0400"
      },
      "committer": {
        "name": "David Woodhouse",
        "email": "dwmw2@hera.kernel.org",
        "time": "Wed Jul 11 10:00:37 2007 -0400"
      },
      "message": "Btrfs: trivial include fixups\n\nAlmost none of the files including module.h need to do so,\nremove them.\n\nInclude sched.h in extent-tree.c to silence a warning about cond_resched()\nbeing undeclared.\n\nSigned-off-by: Zach Brown \u003czach.brown@oracle.com\u003e\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "6cbd55707802b98843f953d1ae6d8f5bcd9a76c0",
      "tree": "5c2d9de53ab948c7aae31660dbabfb5a9fb649b5",
      "parents": [
        "8a712645c3fbbf43293af8640af337b7cf1fef01"
      ],
      "author": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Tue Jun 12 09:07:21 2007 -0400"
      },
      "committer": {
        "name": "David Woodhouse",
        "email": "dwmw2@hera.kernel.org",
        "time": "Tue Jun 12 09:07:21 2007 -0400"
      },
      "message": "Btrfs: add GPLv2\n\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "1b05da2ee6217e7d55460d04335813fec25be4ca",
      "tree": "250a3e789777c7a6d17dccf0bf5a57b00ef1bdac",
      "parents": [
        "c5739bba5260a59cebd20a51a55080592c8d3b07"
      ],
      "author": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Tue Apr 10 12:13:09 2007 -0400"
      },
      "committer": {
        "name": "David Woodhouse",
        "email": "dwmw2@hera.kernel.org",
        "time": "Tue Apr 10 12:13:09 2007 -0400"
      },
      "message": "Btrfs: drop the inode map tree\n\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "5be6f7f174146d91039a27ebb2f1b4ac599172b3",
      "tree": "2933d1e9e5cb50c4ca93f6e8c7e133d65a614461",
      "parents": [
        "7fcde0e3298c00ee18e2ae7f01c67f99133ef7be"
      ],
      "author": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Thu Apr 05 13:35:25 2007 -0400"
      },
      "committer": {
        "name": "David Woodhouse",
        "email": "dwmw2@hera.kernel.org",
        "time": "Thu Apr 05 13:35:25 2007 -0400"
      },
      "message": "Btrfs: dirindex optimizations\n\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "b1a4d96509a78ad234d94e0b914b289c60d2969d",
      "tree": "a6e9ff68dc1ff89097bf56355585f23bec70f847",
      "parents": [
        "e8f05c4508aed906146919f2efa89242a7f90a8b"
      ],
      "author": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Wed Apr 04 15:27:52 2007 -0400"
      },
      "committer": {
        "name": "David Woodhouse",
        "email": "dwmw2@hera.kernel.org",
        "time": "Wed Apr 04 15:27:52 2007 -0400"
      },
      "message": "Btrfs: tweak the inode-map and free extent search starts on cold mount\n\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "7cfcc17e7f2334a0503331264c1340de4e564c85",
      "tree": "4ce6ac8520382673006845ec20b2ad83abc9258a",
      "parents": [
        "5caf2a002901f0fde475371c4bf1c553b51884af"
      ],
      "author": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Mon Apr 02 14:53:59 2007 -0400"
      },
      "committer": {
        "name": "David Woodhouse",
        "email": "dwmw2@hera.kernel.org",
        "time": "Mon Apr 02 14:53:59 2007 -0400"
      },
      "message": "Btrfs: corruptions fixed\n\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "d6025579531b7ea170ba283b171ff7a6bf7d0e12",
      "tree": "c3b742fda3a6ac8541c06011bb3c26635db99212",
      "parents": [
        "22b0ebda6c63a1ad66b6a9e806bd226a4a03a049"
      ],
      "author": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Fri Mar 30 14:27:56 2007 -0400"
      },
      "committer": {
        "name": "David Woodhouse",
        "email": "dwmw2@hera.kernel.org",
        "time": "Fri Mar 30 14:27:56 2007 -0400"
      },
      "message": "Btrfs: corruption hunt continues\n\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "6407bf6d7c449cbfb0a39d985194e265eda3baf4",
      "tree": "29b7226d36b1fbbe2a6bed134ddc3f8d98853bb2",
      "parents": [
        "dee26a9f7aab7ffe1193cd1415b23a69426acc9f"
      ],
      "author": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Tue Mar 27 06:33:00 2007 -0400"
      },
      "committer": {
        "name": "David Woodhouse",
        "email": "dwmw2@hera.kernel.org",
        "time": "Tue Mar 27 06:33:00 2007 -0400"
      },
      "message": "Btrfs: reference counts on data extents\n\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "d571976292839cec05a2820b08f7629b145ed157",
      "tree": "6a3f2f5a9b9c70f61d00ac10edaaaa60d5043474",
      "parents": [
        "79154b1b5bcf87903db7ff16a30b360b78d6fe4f"
      ],
      "author": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Fri Mar 23 10:01:08 2007 -0400"
      },
      "committer": {
        "name": "David Woodhouse",
        "email": "dwmw2@hera.kernel.org",
        "time": "Fri Mar 23 10:01:08 2007 -0400"
      },
      "message": "btrfs_create, btrfs_write_super, btrfs_sync_fs\n\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "e20d96d64f9cf9288ffecc9ad4714e91c3b97ca8",
      "tree": "fbe07d48bc7997226075169118ffa2a2e63f5d51",
      "parents": [
        "2e635a278354a1a7951e16cfea4c247d6d0e7c99"
      ],
      "author": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Thu Mar 22 12:13:20 2007 -0400"
      },
      "committer": {
        "name": "David Woodhouse",
        "email": "dwmw2@hera.kernel.org",
        "time": "Thu Mar 22 12:13:20 2007 -0400"
      },
      "message": "Mountable btrfs, with readdir\n\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "2e635a278354a1a7951e16cfea4c247d6d0e7c99",
      "tree": "4b94d54ddcd7cb184681260738b68caef4edee81",
      "parents": [
        "1261ec42b3d3a3ad878bd172144940e3ac710749"
      ],
      "author": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Wed Mar 21 11:12:56 2007 -0400"
      },
      "committer": {
        "name": "David Woodhouse",
        "email": "dwmw2@hera.kernel.org",
        "time": "Wed Mar 21 11:12:56 2007 -0400"
      },
      "message": "Btrfs: initial move to kernel module land\n\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "9f5fae2fe6dc35b46bf56183f11398451851cb3f",
      "tree": "e72b03149662b8e5d4fe491c36f3cf66c5df5437",
      "parents": [
        "631d7d950a2f2706f5c86858402c1ec50b9801f1"
      ],
      "author": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Tue Mar 20 14:38:32 2007 -0400"
      },
      "committer": {
        "name": "David Woodhouse",
        "email": "dwmw2@hera.kernel.org",
        "time": "Tue Mar 20 14:38:32 2007 -0400"
      },
      "message": "Btrfs: Add inode map, and the start of file extent items\n\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    }
  ]
}
