)]}'
{
  "log": [
    {
      "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": "143bede527b054a271053f41bfaca2b57baa9408",
      "tree": "95c71d3705c73bf98e7a1547da35e70a44703c1e",
      "parents": [
        "ffd7b33944f4573a063af7a55f8a5199c8185665"
      ],
      "author": {
        "name": "Jeff Mahoney",
        "email": "jeffm@suse.com",
        "time": "Thu Mar 01 14:56:26 2012 +0100"
      },
      "committer": {
        "name": "David Sterba",
        "email": "dsterba@suse.cz",
        "time": "Thu Mar 22 01:45:34 2012 +0100"
      },
      "message": "btrfs: return void in functions without error conditions\n\nSigned-off-by: Jeff Mahoney \u003cjeffm@suse.com\u003e\n"
    },
    {
      "commit": "85d85a743da894029723e002eb556ceeebc03658",
      "tree": "fb9cc28ea108c85785ac38f92a16a60467452dd1",
      "parents": [
        "9b89d95a143bb0a9abc4ba0fdcdda78211930f1a"
      ],
      "author": {
        "name": "Li Zefan",
        "email": "lizf@cn.fujitsu.com",
        "time": "Thu Jul 14 03:17:52 2011 +0000"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Mon Aug 01 14:30:48 2011 -0400"
      },
      "message": "Btrfs: remove redundant code for dir item lookup\n\nWhen we search a dir item with a specific hash code, we can\njust return NULL without further checking if btrfs_search_slot()\nreturns 1.\n\nSigned-off-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "fa09200b8334f9a6af3f656edae924a98d85630f",
      "tree": "9213ac48212f70d86fb60834beb464d68be332ba",
      "parents": [
        "149e2d76b4886c4c7ff5e077646a8ba3563c8026"
      ],
      "author": {
        "name": "Josef Bacik",
        "email": "josef@redhat.com",
        "time": "Fri May 27 12:06:11 2011 -0400"
      },
      "committer": {
        "name": "Josef Bacik",
        "email": "josef@redhat.com",
        "time": "Mon Jul 11 09:58:45 2011 -0400"
      },
      "message": "Btrfs: try to only do one btrfs_search_slot in do_setxattr\n\nI\u0027ve been watching how many btrfs_search_slot()\u0027s we do and I noticed that when\nwe create a file with selinux enabled we were doing 2 each time we initialize\nthe security context.  That\u0027s because we lookup the xattr first so we can delete\nit if we\u0027re setting a new value to an existing xattr.  But in the create case we\ndon\u0027t have any xattrs, so it is completely useless to have the extra lookup.  So\nre-arrange things so that we only lookup first if we specifically have\nXATTR_REPLACE.  That way in the basic case we only do 1 search, and in the more\ncomplicated case we do the normal 2 lookups.  Thanks,\n\nSigned-off-by: Josef Bacik \u003cjosef@redhat.com\u003e\n"
    },
    {
      "commit": "d6c0cb379c5198487e4ac124728cbb2346d63b1f",
      "tree": "167a97ac58c7a2fbf7c4e94b6abbfe1e03af014a",
      "parents": [
        "8e531cdfeb75269c6c5aae33651cca39707848da",
        "1f78160ce1b1b8e657e2248118c4d91f881763f0"
      ],
      "author": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Mon May 23 14:37:47 2011 -0400"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Mon May 23 14:37:47 2011 -0400"
      },
      "message": "Merge branch \u0027cleanups_and_fixes\u0027 into inode_numbers\n\nConflicts:\n\tfs/btrfs/tree-log.c\n\tfs/btrfs/volumes.c\n\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "1cd307990d6e2b4965620e339a92e0d7ae853e13",
      "tree": "cd3cc9c06e2c7bbbeda4d38bbcc00d44bfd98a02",
      "parents": [
        "65a246c5ffe3b487a001de025816326939e63362"
      ],
      "author": {
        "name": "Tsutomu Itoh",
        "email": "t-itoh@jp.fujitsu.com",
        "time": "Thu May 19 05:19:08 2011 +0000"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Mon May 23 13:24:39 2011 -0400"
      },
      "message": "Btrfs: BUG_ON is deleted from the caller of btrfs_truncate_item \u0026 btrfs_extend_item\n\nCurrently, btrfs_truncate_item and btrfs_extend_item returns only 0.\nSo, the check by BUG_ON in the caller is unnecessary.\n\nSigned-off-by: Tsutomu Itoh \u003ct-itoh@jp.fujitsu.com\u003e\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "9694b3fcbb0f5dd498fdf53c82f22fcc37989152",
      "tree": "8bb8c1f095c1ac5fcca7a32c3695cd8a2f530bda",
      "parents": [
        "c4f675cd40d955d539180506c09515c90169b15b"
      ],
      "author": {
        "name": "Sergei Trofimovich",
        "email": "slyfox@gentoo.org",
        "time": "Fri May 20 20:20:31 2011 +0000"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Mon May 23 13:24:25 2011 -0400"
      },
      "message": "btrfs: typo: \u0027btrfS\u0027 -\u003e \u0027btrfs\u0027\n\nSigned-off-by: Sergei Trofimovich \u003cslyfox@gentoo.org\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": "0d0ca30f180906224be6279788f2b202cfd959d8",
      "tree": "a0e35c968410f3f08f2a215ed5b4d6449d8bd11f",
      "parents": [
        "dcc6d073225b6b732a52477c91bd4edc9b4d5502"
      ],
      "author": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Sun May 22 07:11:22 2011 -0400"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Sun May 22 07:11:22 2011 -0400"
      },
      "message": "Btrfs: update the delayed inode code to use the btrfs_ino helper.\n\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "16cdcec736cd214350cdb591bf1091f8beedefa0",
      "tree": "5598d4561660c4d7a1d4de8b3703d6dd3cc7f9e7",
      "parents": [
        "61c4f2c81c61f73549928dfd9f3e8f26aa36a8cf"
      ],
      "author": {
        "name": "Miao Xie",
        "email": "miaox@cn.fujitsu.com",
        "time": "Fri Apr 22 18:12:22 2011 +0800"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Sat May 21 09:30:56 2011 -0400"
      },
      "message": "btrfs: implement delayed inode items operation\n\nChangelog V5 -\u003e V6:\n- Fix oom when the memory load is high, by storing the delayed nodes into the\n  root\u0027s radix tree, and letting btrfs inodes go.\n\nChangelog V4 -\u003e V5:\n- Fix the race on adding the delayed node to the inode, which is spotted by\n  Chris Mason.\n- Merge Chris Mason\u0027s incremental patch into this patch.\n- Fix deadlock between readdir() and memory fault, which is reported by\n  Itaru Kitayama.\n\nChangelog V3 -\u003e V4:\n- Fix nested lock, which is reported by Itaru Kitayama, by updating space cache\n  inode in time.\n\nChangelog V2 -\u003e V3:\n- Fix the race between the delayed worker and the task which does delayed items\n  balance, which is reported by Tsutomu Itoh.\n- Modify the patch address David Sterba\u0027s comment.\n- Fix the bug of the cpu recursion spinlock, reported by Chris Mason\n\nChangelog V1 -\u003e V2:\n- break up the global rb-tree, use a list to manage the delayed nodes,\n  which is created for every directory and file, and used to manage the\n  delayed directory name index items and the delayed inode item.\n- introduce a worker to deal with the delayed nodes.\n\nCompare with Ext3/4, the performance of file creation and deletion on btrfs\nis very poor. the reason is that btrfs must do a lot of b+ tree insertions,\nsuch as inode item, directory name item, directory name index and so on.\n\nIf we can do some delayed b+ tree insertion or deletion, we can improve the\nperformance, so we made this patch which implemented delayed directory name\nindex insertion/deletion and delayed inode update.\n\nImplementation:\n- introduce a delayed root object into the filesystem, that use two lists to\n  manage the delayed nodes which are created for every file/directory.\n  One is used to manage all the delayed nodes that have delayed items. And the\n  other is used to manage the delayed nodes which is waiting to be dealt with\n  by the work thread.\n- Every delayed node has two rb-tree, one is used to manage the directory name\n  index which is going to be inserted into b+ tree, and the other is used to\n  manage the directory name index which is going to be deleted from b+ tree.\n- introduce a worker to deal with the delayed operation. This worker is used\n  to deal with the works of the delayed directory name index items insertion\n  and deletion and the delayed inode update.\n  When the delayed items is beyond the lower limit, we create works for some\n  delayed nodes and insert them into the work queue of the worker, and then\n  go back.\n  When the delayed items is beyond the upper bound, we create works for all\n  the delayed nodes that haven\u0027t been dealt with, and insert them into the work\n  queue of the worker, and then wait for that the untreated items is below some\n  threshold value.\n- When we want to insert a directory name index into b+ tree, we just add the\n  information into the delayed inserting rb-tree.\n  And then we check the number of the delayed items and do delayed items\n  balance. (The balance policy is above.)\n- When we want to delete a directory name index from the b+ tree, we search it\n  in the inserting rb-tree at first. If we look it up, just drop it. If not,\n  add the key of it into the delayed deleting rb-tree.\n  Similar to the delayed inserting rb-tree, we also check the number of the\n  delayed items and do delayed items balance.\n  (The same to inserting manipulation)\n- When we want to update the metadata of some inode, we cached the data of the\n  inode into the delayed node. the worker will flush it into the b+ tree after\n  dealing with the delayed insertion and deletion.\n- We will move the delayed node to the tail of the list after we access the\n  delayed node, By this way, we can cache more delayed items and merge more\n  inode updates.\n- If we want to commit transaction, we will deal with all the delayed node.\n- the delayed node will be freed when we free the btrfs inode.\n- Before we log the inode items, we commit all the directory name index items\n  and the delayed inode update.\n\nI did a quick test by the benchmark tool[1] and found we can improve the\nperformance of file creation by ~15%, and file deletion by ~20%.\n\nBefore applying this patch:\nCreate files:\n        Total files: 50000\n        Total time: 1.096108\n        Average time: 0.000022\nDelete files:\n        Total files: 50000\n        Total time: 1.510403\n        Average time: 0.000030\n\nAfter applying this patch:\nCreate files:\n        Total files: 50000\n        Total time: 0.932899\n        Average time: 0.000019\nDelete files:\n        Total files: 50000\n        Total time: 1.215732\n        Average time: 0.000024\n\n[1] http://marc.info/?l\u003dlinux-btrfs\u0026m\u003d128212635122920\u0026q\u003dp3\n\nMany thanks for Kitayama-san\u0027s help!\n\nSigned-off-by: Miao Xie \u003cmiaox@cn.fujitsu.com\u003e\nReviewed-by: David Sterba \u003cdave@jikos.cz\u003e\nTested-by: Tsutomu Itoh \u003ct-itoh@jp.fujitsu.com\u003e\nTested-by: Itaru Kitayama \u003ckitayama@cl.bb4u.ne.jp\u003e\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "b3b4aa74b58bded927f579fff787fb6fa1c0393c",
      "tree": "30dab4ab26558992dd8b6b212bef805de11c4c29",
      "parents": [
        "ba14419264684b290f0d0b7f48d26eafb11fc0c6"
      ],
      "author": {
        "name": "David Sterba",
        "email": "dsterba@suse.cz",
        "time": "Thu Apr 21 01:20:15 2011 +0200"
      },
      "committer": {
        "name": "David Sterba",
        "email": "dsterba@suse.cz",
        "time": "Mon May 02 13:57:22 2011 +0200"
      },
      "message": "btrfs: drop unused parameter from btrfs_release_path\n\nparameter tree root it\u0027s not used since commit\n5f39d397dfbe140a14edecd4e73c34ce23c4f9ee (\"Btrfs: Create extent_buffer\ninterface for large blocksizes\")\n\nSigned-off-by: David Sterba \u003cdsterba@suse.cz\u003e\n"
    },
    {
      "commit": "c2db1073fdf9757e6fd8b4a59d15b6ecc7a2af8a",
      "tree": "024264b2d27f75b967efbde01060ebb8626fa39d",
      "parents": [
        "c59021f846881a957ac5afe456d0f59d6a517b61"
      ],
      "author": {
        "name": "Tsutomu Itoh",
        "email": "t-itoh@jp.fujitsu.com",
        "time": "Tue Mar 01 06:48:31 2011 +0000"
      },
      "committer": {
        "name": "root",
        "email": "Chris Mason chris.mason@oracle.com",
        "time": "Mon Mar 28 05:37:54 2011 -0400"
      },
      "message": "Btrfs: check return value of btrfs_alloc_path()\n\nAdding the check on the return value of btrfs_alloc_path() to several places.\nAnd, some of callers are modified by this change.\n\nSigned-off-by: Tsutomu Itoh \u003ct-itoh@jp.fujitsu.com\u003e\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "22a94d44bd6876a90630338229da6c0436d46593",
      "tree": "50e5c7dd52ccf9292240de995e5b42b1619bcd82",
      "parents": [
        "41415730a1050499fbd63b3f7dd59b3a4c3bb91a"
      ],
      "author": {
        "name": "Josef Bacik",
        "email": "josef@redhat.com",
        "time": "Wed Mar 16 16:47:17 2011 -0400"
      },
      "committer": {
        "name": "Josef Bacik",
        "email": "josef@redhat.com",
        "time": "Thu Mar 17 14:21:41 2011 -0400"
      },
      "message": "Btrfs: add checks to verify dir items are correct\n\nWe need to make sure the dir items we get are valid dir items.  So any time we\ntry and read one check it with verify_dir_item, which will do various sanity\nchecks to make sure it looks sane.  Thanks,\n\nSigned-off-by: Josef Bacik \u003cjosef@redhat.com\u003e\n"
    },
    {
      "commit": "411fc6bcef54f828a5458f4730c68abdf13c6bf0",
      "tree": "89b91cd7e0d7633e9d6e386e388bd0493165f66c",
      "parents": [
        "d0b678cb0a26783ab7238784f1e7e608e5caafa3"
      ],
      "author": {
        "name": "Andi Kleen",
        "email": "andi@firstfloor.org",
        "time": "Fri Oct 29 15:14:31 2010 -0400"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Fri Oct 29 15:14:31 2010 -0400"
      },
      "message": "Btrfs: Fix variables set but not read (bugs found by gcc 4.6)\n\nThese are all the cases where a variable is set, but not\nread which are really bugs.\n\n- Couple of incorrect error handling fixed.\n- One incorrect use of a allocation policy\n- Some other things\n\nStill needs more review.\n\nFound by gcc 4.6\u0027s new warnings.\n\n[akpm@linux-foundation.org: fix build.  Might have been bitrot]\nSigned-off-by: Andi Kleen \u003cak@linux.intel.com\u003e\nCc: Chris Mason \u003cchris.mason@oracle.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "f34f57a3ab4e73304d78c125682f1a53cd3975f2",
      "tree": "359aff6491d3e92b3901ea78dc164d41209d3eea",
      "parents": [
        "8082510e7124cc50d728f1b875639cb4e22312cc"
      ],
      "author": {
        "name": "Yan, Zheng",
        "email": "zheng.yan@oracle.com",
        "time": "Thu Nov 12 09:35:27 2009 +0000"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Thu Dec 17 12:33:34 2009 -0500"
      },
      "message": "Btrfs: Pass transaction handle to security and ACL initialization functions\n\nPass transaction handle down to security and ACL initialization\nfunctions, so we can avoid starting nested transactions\n\nSigned-off-by: Yan Zheng \u003czheng.yan@oracle.com\u003e\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "4df27c4d5cc1dda54ed7d0a8389347f2df359cf9",
      "tree": "2008f348d28c6c19e31924ae4fb414ca929a01f1",
      "parents": [
        "13a8a7c8c47e542b3cdb45bec3f431f96af79361"
      ],
      "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: change how subvolumes are organized\n\nbtrfs allows subvolumes and snapshots anywhere in the directory tree.\nIf we snapshot a subvolume that contains a link to other subvolume\ncalled subvolA, subvolA can be accessed through both the original\nsubvolume and the snapshot. This is similar to creating hard link to\ndirectory, and has the very similar problems.\n\nThe aim of this patch is enforcing there is only one access point to\neach subvolume. Only the first directory entry (the one added when\nthe subvolume/snapshot was created) is treated as valid access point.\nThe first directory entry is distinguished by checking root forward\nreference. If the corresponding root forward reference is missing,\nwe know the entry is not the first one.\n\nThis patch also adds snapshot/subvolume rename support, the code\nallows rename subvolume link across subvolumes.\n\nSigned-off-by: Yan Zheng \u003czheng.yan@oracle.com\u003e\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "b9473439d3e84d9fc1a0a83faca69cc1b7566341",
      "tree": "bef8321b80589026b617d61d0fabaf545d459269",
      "parents": [
        "89573b9c516b24af8a3b9958dd5afca8fa874e3d"
      ],
      "author": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Fri Mar 13 11:00:37 2009 -0400"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Tue Mar 24 16:14:28 2009 -0400"
      },
      "message": "Btrfs: leave btree locks spinning more often\n\nbtrfs_mark_buffer dirty would set dirty bits in the extent_io tree\nfor the buffers it was dirtying.  This may require a kmalloc and it\nwas not atomic.  So, anyone who called btrfs_mark_buffer_dirty had to\nset any btree locks they were holding to blocking first.\n\nThis commit changes dirty tracking for extent buffers to just use a flag\nin the extent buffer.  Now that we have one and only one extent buffer\nper page, this can be safely done without losing dirty bits along the way.\n\nThis also introduces a path-\u003eleave_spinning flag that callers of\nbtrfs_search_slot can use to indicate they will properly deal with a\npath returned where all the locks are spinning instead of blocking.\n\nMany of the btree search callers now expect spinning paths,\nresulting in better btree concurrency overall.\n\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\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": "d352ac68148b69937d39ca5d48bcc4478e118dbf",
      "tree": "7951dd7311999d9e77766acdc7f8e93de97874d8",
      "parents": [
        "9a5e1ea1e1e539e244a54afffc330fc368376ab9"
      ],
      "author": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Mon Sep 29 15:18:18 2008 -0400"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Mon Sep 29 15:18:18 2008 -0400"
      },
      "message": "Btrfs: add and improve comments\n\nThis improves the comments at the top of many functions.  It didn\u0027t\ndive into the guts of functions because I was trying to\navoid merging problems with the new allocator and back reference work.\n\nextent-tree.c and volumes.c were both skipped, and there is definitely\nmore work todo in cleaning and commenting the code.\n\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "e02119d5a7b4396c5a872582fddc8bd6d305a70a",
      "tree": "825efe2a79dbca8d61256183f3526a5b5dc40dc6",
      "parents": [
        "a1b32a5932cfac7c38b442582285f3da2a09dfd8"
      ],
      "author": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Fri Sep 05 16:13:11 2008 -0400"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Thu Sep 25 11:04:07 2008 -0400"
      },
      "message": "Btrfs: Add a write ahead tree log to optimize synchronous operations\n\nFile syncs and directory syncs are optimized by copying their\nitems into a special (copy-on-write) log tree.  There is one log tree per\nsubvolume and the btrfs super block points to a tree of log tree roots.\n\nAfter a crash, items are copied out of the log tree and back into the\nsubvolume.  See tree-log.c for all the details.\n\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "bcc63abbf3e9bf948a1b0129b3e6120ec7d7f698",
      "tree": "1c66dc210f948f79c86786368d2c75b57482875d",
      "parents": [
        "33958dc6d38fb4ca7e62273855fcb2db7e616263"
      ],
      "author": {
        "name": "Yan",
        "email": "zheng.yan@oracle.com",
        "time": "Wed Jul 30 16:29:20 2008 -0400"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Thu Sep 25 11:04:05 2008 -0400"
      },
      "message": "Btrfs: implement memory reclaim for leaf reference cache\n\nThe memory reclaiming issue happens when snapshot exists. In that\ncase, some cache entries may not be used during old snapshot dropping,\nso they will remain in the cache until umount.\n\nThe patch adds a field to struct btrfs_leaf_ref to record create time. Besides,\nthe patch makes all dead roots of a given snapshot linked together in order of\ncreate time. After a old snapshot was completely dropped, we check the dead\nroot list and remove all cache entries created before the oldest dead root in\nthe list.\n\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "aec7477b3b0e8ec93f6d274f25ba40b0665134d4",
      "tree": "2f689681e2f1b48d1c42b2242e21cbf456ec4c55",
      "parents": [
        "3eaa2885276fd6dac7b076a793932428b7168e74"
      ],
      "author": {
        "name": "Josef Bacik",
        "email": "jbacik@redhat.com",
        "time": "Thu Jul 24 12:12:38 2008 -0400"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Thu Sep 25 11:04:05 2008 -0400"
      },
      "message": "Btrfs: Implement new dir index format\n\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "df68b8a7ad4a18c9e63f1c12015a59c3b7031adb",
      "tree": "f2e6569b5f4843a01f23068fdfd3b450c8258459",
      "parents": [
        "39b5637f6f195852259004bb27b58e2dcf9fb378"
      ],
      "author": {
        "name": "David Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Feb 15 10:40:52 2008 -0500"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Thu Sep 25 11:04:00 2008 -0400"
      },
      "message": "Btrfs: unaligned access fixes\n\nBtrfs set/get macros lose type information needed to avoid\nunaligned accesses on sparc64.\nere is a patch for the kernel bits which fixes most of the\nunaligned accesses on sparc64.\n\nbtrfs_name_hash is modified to return the hash value instead\nof getting a return location via a (potentially unaligned)\npointer.\n\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "744f52f997b21de2a01931f79cf6c198bf688120",
      "tree": "903f0d91560b139bc7167f424e34664ddb7c0b72",
      "parents": [
        "b3a0d8d28c607cb2531a68742afc2b967b1f6083"
      ],
      "author": {
        "name": "Yan",
        "email": "yanzheng@21cn.com",
        "time": "Mon Jan 14 13:26:08 2008 -0500"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Thu Sep 25 11:03:59 2008 -0400"
      },
      "message": "Btrfs: Implement ACLs setting and getting\n\nACLs are stored but not used for permission checks (yet)\n\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "5103e947b9b7ac18ddb21a04ee3486e94c6504d7",
      "tree": "5d7c0c9ce1d57b988165f87c7bae304cb339589c",
      "parents": [
        "0591fb56fb732c7bf500d1446d0bf927046d7002"
      ],
      "author": {
        "name": "Josef Bacik",
        "email": "jbacik@redhat.com",
        "time": "Fri Nov 16 11:45:54 2007 -0500"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Thu Sep 25 11:03:57 2008 -0400"
      },
      "message": "xattr support for btrfs\n\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "179e29e488cc74f1e9bd67bc45f70b832740e9ec",
      "tree": "aa055d77b8d3f2b4bc59b1bb8a5b98ec0b223fb5",
      "parents": [
        "35ebb934bd7fcc7ca991b155b7980c3c4ff9f1a5"
      ],
      "author": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Thu Nov 01 11:28:41 2007 -0400"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Thu Sep 25 11:03:57 2008 -0400"
      },
      "message": "Btrfs: Fix a number of inline extent problems that Yan Zheng reported.\n\nThe fixes do a number of things:\n\n1) Most btrfs_drop_extent callers will try to leave the inline extents in\nplace.  It can truncate bytes off the beginning of the inline extent if\nrequired.\n\n2) writepage can now update the inline extent, allowing mmap writes to\ngo directly into the inline extent.\n\n3) btrfs_truncate_in_transaction truncates inline extents\n\n4) extent_map.c fixed to not merge inline extent mappings and hole\nmappings together\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": "54aa1f4dfdacd60a19c4471220b24e581be6f774",
      "tree": "1462277822cc63c00ad31b522457363a5c6be6ab",
      "parents": [
        "11bd143fc8243cf48c934dc1c4479a5aacf58ce3"
      ],
      "author": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Fri Jun 22 14:16:25 2007 -0400"
      },
      "committer": {
        "name": "David Woodhouse",
        "email": "dwmw2@hera.kernel.org",
        "time": "Fri Jun 22 14:16:25 2007 -0400"
      },
      "message": "Btrfs: Audit callers and return codes to make sure -ENOSPC gets up the stack\n\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "f1ace244c8c1e16eaa5c8b3b5339849651e31ede",
      "tree": "f1a84930a17a6803072f390bab28eb43f6e95f5b",
      "parents": [
        "b79ab950f57c3260ee609ba41779019d21b8eb88"
      ],
      "author": {
        "name": "Aneesh",
        "email": "aneesh.kumar@linux.vnet.ibm.com",
        "time": "Wed Jun 13 16:18:26 2007 -0400"
      },
      "committer": {
        "name": "David Woodhouse",
        "email": "dwmw2@hera.kernel.org",
        "time": "Wed Jun 13 16:18:26 2007 -0400"
      },
      "message": "btrfs: Code cleanup\nAttaching below is some of the code cleanups that i came across while\nreading the code.\n\na) alloc_path already calls init_path.\nb) Mention that btrfs_inode is the in memory copy.Ext4 have ext4_inode_info as\nthe in memory copy ext4_inode as the disk copy\n\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": "e06afa839e726959be2166bec4cb85c117e213f1",
      "tree": "f2acae733ce4c4368e3368cf912b1c76462aa0f7",
      "parents": [
        "f9f3c6b666f717510b67036c314ec915b9059eaa"
      ],
      "author": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Wed May 23 15:44:28 2007 -0400"
      },
      "committer": {
        "name": "David Woodhouse",
        "email": "dwmw2@hera.kernel.org",
        "time": "Wed May 23 15:44:28 2007 -0400"
      },
      "message": "Btrfs: rename\n\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "35b7e476107e3d54f03384e0f2fa3dfd68933353",
      "tree": "51a7e7cffad309b0aa0d3d054d7ecc5b8be72298",
      "parents": [
        "090d18753c7fb73f7d846c3a89a50cd35136d144"
      ],
      "author": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Wed May 02 15:53:43 2007 -0400"
      },
      "committer": {
        "name": "David Woodhouse",
        "email": "dwmw2@hera.kernel.org",
        "time": "Wed May 02 15:53:43 2007 -0400"
      },
      "message": "Btrfs: fix page cache memory leak\n\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "7e38180e207c8707691c12395e990a5d583c5e71",
      "tree": "50fc0973873f7bc9455a1faf536a5a5b4681fe56",
      "parents": [
        "236454dfffb64a95ee01c50a215153f5de61c475"
      ],
      "author": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Thu Apr 19 15:36:27 2007 -0400"
      },
      "committer": {
        "name": "David Woodhouse",
        "email": "dwmw2@hera.kernel.org",
        "time": "Thu Apr 19 15:36:27 2007 -0400"
      },
      "message": "Btrfs: directory inode index is back\n\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "a429e51371eee3c989160c003ee40bc3947c6a76",
      "tree": "863b55de8823be579264260a51407cd90aac103d",
      "parents": [
        "70b2befd0c8a4064715d8b340270650cc9d15af8"
      ],
      "author": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Wed Apr 18 16:15:28 2007 -0400"
      },
      "committer": {
        "name": "David Woodhouse",
        "email": "dwmw2@hera.kernel.org",
        "time": "Wed Apr 18 16:15:28 2007 -0400"
      },
      "message": "Btrfs: working file_write, reorganized key flags\n\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "70b2befd0c8a4064715d8b340270650cc9d15af8",
      "tree": "81171607c9ddf501e5c0233dc24d20d1a5b19858",
      "parents": [
        "b18c6685810af8e6763760711aece31ccc7a8ea8"
      ],
      "author": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Tue Apr 17 15:39:32 2007 -0400"
      },
      "committer": {
        "name": "David Woodhouse",
        "email": "dwmw2@hera.kernel.org",
        "time": "Tue Apr 17 15:39:32 2007 -0400"
      },
      "message": "Btrfs: rework csums and extent item ordering\n\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "c5739bba5260a59cebd20a51a55080592c8d3b07",
      "tree": "ff33f7acddcfc60e7395209ff949bb9d90afda32",
      "parents": [
        "0f7d52f4431c530b4f39c524448c688bb7754de5"
      ],
      "author": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Tue Apr 10 09:27:04 2007 -0400"
      },
      "committer": {
        "name": "David Woodhouse",
        "email": "dwmw2@hera.kernel.org",
        "time": "Tue Apr 10 09:27:04 2007 -0400"
      },
      "message": "Btrfs: snapshot progress\n\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "d6e4a428eb8f92bbb3537ccabadfb1195efb432b",
      "tree": "ca408dbd20b38728412b58db5a6ec29aebbc0fe7",
      "parents": [
        "3eb0314dc1053b1ae617dcc8d6d93f776c5baa31"
      ],
      "author": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Fri Apr 06 15:37:36 2007 -0400"
      },
      "committer": {
        "name": "David Woodhouse",
        "email": "dwmw2@hera.kernel.org",
        "time": "Fri Apr 06 15:37:36 2007 -0400"
      },
      "message": "Btrfs: start of support for many FS volumes\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": "7fcde0e3298c00ee18e2ae7f01c67f99133ef7be",
      "tree": "61aea37ce9e0e78762459e6fd4b3a2155d892e7f",
      "parents": [
        "5f26f772e5c4e833ffcb0599f54deda466d2a3e5"
      ],
      "author": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Thu Apr 05 12:13:21 2007 -0400"
      },
      "committer": {
        "name": "David Woodhouse",
        "email": "dwmw2@hera.kernel.org",
        "time": "Thu Apr 05 12:13:21 2007 -0400"
      },
      "message": "Btrfs: finish off inode indexing in dirs, add overflows\n\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "5f26f772e5c4e833ffcb0599f54deda466d2a3e5",
      "tree": "2ef0183b42e2bd51feff52c2e6f97570514907b9",
      "parents": [
        "bae45de03c4d54a9893dedf8a015beb2608b896a"
      ],
      "author": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Thu Apr 05 10:38:44 2007 -0400"
      },
      "committer": {
        "name": "David Woodhouse",
        "email": "dwmw2@hera.kernel.org",
        "time": "Thu Apr 05 10:38:44 2007 -0400"
      },
      "message": "Btrfs: more inode indexed directory work\n\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "bae45de03c4d54a9893dedf8a015beb2608b896a",
      "tree": "14e8a63492b1ff09fa1851bb3964638331303b99",
      "parents": [
        "b1a4d96509a78ad234d94e0b914b289c60d2969d"
      ],
      "author": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Wed Apr 04 21:22:22 2007 -0400"
      },
      "committer": {
        "name": "David Woodhouse",
        "email": "dwmw2@hera.kernel.org",
        "time": "Wed Apr 04 21:22:22 2007 -0400"
      },
      "message": "Btrfs: add dir inode index\n\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "5caf2a002901f0fde475371c4bf1c553b51884af",
      "tree": "1c262f723307fe924ea4e960761354f194f3843e",
      "parents": [
        "2c90e5d658424bc71b111eb5a972240d5d06fe86"
      ],
      "author": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Mon Apr 02 11:20:42 2007 -0400"
      },
      "committer": {
        "name": "David Woodhouse",
        "email": "dwmw2@hera.kernel.org",
        "time": "Mon Apr 02 11:20:42 2007 -0400"
      },
      "message": "Btrfs: dynamic allocation of path struct\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": "22b0ebda6c63a1ad66b6a9e806bd226a4a03a049",
      "tree": "391d141c7c143914969a98409e72e615cdcac226",
      "parents": [
        "f254e52c1ce550fdaa0d31f5e068f0d67c2485d4"
      ],
      "author": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Fri Mar 30 08:47:31 2007 -0400"
      },
      "committer": {
        "name": "David Woodhouse",
        "email": "dwmw2@hera.kernel.org",
        "time": "Fri Mar 30 08:47:31 2007 -0400"
      },
      "message": "Btrfs: hunting slab corruption\n\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "7f5c15160e1436a53d01f9190db11c2a3a4d788a",
      "tree": "ae9894ab743aca4ff4c1f50ada5a5ed665a88c21",
      "parents": [
        "df2ce34c8801af8e00c7f82435fcb1e4b45a2759"
      ],
      "author": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Fri Mar 23 15:56:19 2007 -0400"
      },
      "committer": {
        "name": "David Woodhouse",
        "email": "dwmw2@hera.kernel.org",
        "time": "Fri Mar 23 15:56:19 2007 -0400"
      },
      "message": "Add generation number to btrfs_header, readdir fixes, hash collision fixes\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": "e089f05c18ab36ed5fa7e2319052e03ab800d518",
      "tree": "f20d727233bb23fa5a37fc050cf0cc5c9d5e7b48",
      "parents": [
        "88fd146c27da0f34c512f47e2b3776a0762ecd81"
      ],
      "author": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Fri Mar 16 16:20:31 2007 -0400"
      },
      "committer": {
        "name": "David Woodhouse",
        "email": "dwmw2@hera.kernel.org",
        "time": "Fri Mar 16 16:20:31 2007 -0400"
      },
      "message": "Btrfs: transaction handles everywhere\n\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "a8a2ee0c600a213d13170c2f4d7bd0b304bbec19",
      "tree": "91c98147b03657985b386a1bad74a9d0095d2606",
      "parents": [
        "1e1d27017c5986c1ea81181506042cf9cba3f6ea"
      ],
      "author": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Fri Mar 16 08:46:49 2007 -0400"
      },
      "committer": {
        "name": "David Woodhouse",
        "email": "dwmw2@hera.kernel.org",
        "time": "Fri Mar 16 08:46:49 2007 -0400"
      },
      "message": "Btrfs: add a name_len to dir items, reorder key\n\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "1d4f6404de26df49eb8452f8fdf7672b59f407fc",
      "tree": "9bbc9fdd45f8e9fc5444e8c84f4777a607c13e2b",
      "parents": [
        "24af03ea5e765d57860c975efcdcd41ec7f63fd9"
      ],
      "author": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Thu Mar 15 15:18:43 2007 -0400"
      },
      "committer": {
        "name": "David Woodhouse",
        "email": "dwmw2@hera.kernel.org",
        "time": "Thu Mar 15 15:18:43 2007 -0400"
      },
      "message": "Btrfs: directory testing code and dir item fixes\n\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "62e2749e03a855d98855f9ce032dbe72d5fad148",
      "tree": "ed12521d1bde4ac7eda7f917b57b3cab1e76539d",
      "parents": [
        "a1516c8921ce2c148b69493e858d95bc79c92f01"
      ],
      "author": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Thu Mar 15 12:56:47 2007 -0400"
      },
      "committer": {
        "name": "David Woodhouse",
        "email": "dwmw2@hera.kernel.org",
        "time": "Thu Mar 15 12:56:47 2007 -0400"
      },
      "message": "Btrfs: Use a chunk of the key flags to record the item type.\nAdd (untested and simple) directory item code\nFix comp_keys to use the new key ordering\nAdd btrfs_insert_empty_item\n\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    }
  ]
}
