)]}'
{
  "log": [
    {
      "commit": "0c4d2d95d06e920e0c61707e62c7fffc9c57f63a",
      "tree": "5d6fa736c7fea0a0afd60eda8e6e0586df6fb606",
      "parents": [
        "a25c75d5ad04df0a7abd09585231b4021a91a358"
      ],
      "author": {
        "name": "Josef Bacik",
        "email": "josef@redhat.com",
        "time": "Thu Apr 05 15:03:02 2012 -0400"
      },
      "committer": {
        "name": "Josef Bacik",
        "email": "josef@redhat.com",
        "time": "Wed May 30 10:23:27 2012 -0400"
      },
      "message": "Btrfs: use i_version instead of our own sequence\n\nWe\u0027ve been keeping around the inode sequence number in hopes that somebody\nwould use it, but nobody uses it and people actually use i_version which\nserves the same purpose, so use i_version where we used the incore inode\u0027s\nsequence number and that way the sequence is updated properly across the\nboard, and not just in file write.  Thanks,\n\nSigned-off-by: Josef Bacik \u003cjosef@redhat.com\u003e\n"
    },
    {
      "commit": "7ad85bb76a61801362701b77c5cee5aa09f35369",
      "tree": "e03f4ced4f7c84e9828e4f4a4cbe894369300800",
      "parents": [
        "c126dea771be1b3c370c0ffc4a09e6a82d492a49"
      ],
      "author": {
        "name": "Josef Bacik",
        "email": "josef@redhat.com",
        "time": "Thu Jan 12 19:10:12 2012 -0500"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Mon Jan 16 15:28:54 2012 -0500"
      },
      "message": "Btrfs: do not use btrfs_end_transaction_throttle everywhere\n\nA user reported a problem where things like open with O_CREAT would take up to\n30 seconds when he had nfs activity on the same mount.  This is because all of\nour quick metadata operations, like create, symlink etc all do\nbtrfs_end_transaction_throttle, which if the transaction is blocked will wait\nfor the commit to complete before it returns.  This adds a ridiculous amount of\nlatency and isn\u0027t really needed.  The normal btrfs_end_transaction will mark the\ntransaction as blocked and wake the transaction kthread up if it thinks the\ntransaction needs to end (this being in the running out of global reserve space\nscenario), and this is all that is really needed since we\u0027ve already done\neverything we\u0027re going to do, we just need to return.  This should help people\nwith the latency they were seeing when using synchronous heavy workloads.\nThanks,\n\nSigned-off-by: Josef Bacik \u003cjosef@redhat.com\u003e\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "6a6662ced4153f6dbcfc40d7225c3cc45416039c",
      "tree": "77ad5d577333f02cd854e44827a407dd0388d4eb",
      "parents": [
        "32aaeffbd4a7457bf2f7448b33b5946ff2a960eb",
        "7c7e82a77fe3d89ae50824aa7c897454675eb4c4"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Nov 06 20:03:41 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Nov 06 20:03:41 2011 -0800"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/mason/linux-btrfs\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/mason/linux-btrfs: (114 commits)\n  Btrfs: check for a null fs root when writing to the backup root log\n  Btrfs: fix race during transaction joins\n  Btrfs: fix a potential btrfs_bio leak on scrub fixups\n  Btrfs: rename btrfs_bio multi -\u003e bbio for consistency\n  Btrfs: stop leaking btrfs_bios on readahead\n  Btrfs: stop the readahead threads on failed mount\n  Btrfs: fix extent_buffer leak in the metadata IO error handling\n  Btrfs: fix the new inspection ioctls for 32 bit compat\n  Btrfs: fix delayed insertion reservation\n  Btrfs: ClearPageError during writepage and clean_tree_block\n  Btrfs: be smarter about committing the transaction in reserve_metadata_bytes\n  Btrfs: make a delayed_block_rsv for the delayed item insertion\n  Btrfs: add a log of past tree roots\n  btrfs: separate superblock items out of fs_info\n  Btrfs: use the global reserve when truncating the free space cache inode\n  Btrfs: release metadata from global reserve if we have to fallback for unlink\n  Btrfs: make sure to flush queued bios if write_cache_pages waits\n  Btrfs: fix extent pinning bugs in the tree log\n  Btrfs: make sure btrfs_remove_free_space doesn\u0027t leak EAGAIN\n  Btrfs: don\u0027t wait as long for more batches during SSD log commit\n  ...\n"
    },
    {
      "commit": "36b8d186e6cc8e32cb5227f5645a58e1bc0af190",
      "tree": "1000ad26e189e6ff2c53fb7eeff605f59c7ad94e",
      "parents": [
        "cd85b557414fe4cd44ea6608825e96612a5fe2b2",
        "c45ed235abf1b0b6666417e3c394f18717976acd"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Oct 25 09:45:31 2011 +0200"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Oct 25 09:45:31 2011 +0200"
      },
      "message": "Merge branch \u0027next\u0027 of git://selinuxproject.org/~jmorris/linux-security\n\n* \u0027next\u0027 of git://selinuxproject.org/~jmorris/linux-security: (95 commits)\n  TOMOYO: Fix incomplete read after seek.\n  Smack: allow to access /smack/access as normal user\n  TOMOYO: Fix unused kernel config option.\n  Smack: fix: invalid length set for the result of /smack/access\n  Smack: compilation fix\n  Smack: fix for /smack/access output, use string instead of byte\n  Smack: domain transition protections (v3)\n  Smack: Provide information for UDS getsockopt(SO_PEERCRED)\n  Smack: Clean up comments\n  Smack: Repair processing of fcntl\n  Smack: Rule list lookup performance\n  Smack: check permissions from user space (v2)\n  TOMOYO: Fix quota and garbage collector.\n  TOMOYO: Remove redundant tasklist_lock.\n  TOMOYO: Fix domain transition failure warning.\n  TOMOYO: Remove tomoyo_policy_memory_lock spinlock.\n  TOMOYO: Simplify garbage collector.\n  TOMOYO: Fix make namespacecheck warnings.\n  target: check hex2bin result\n  encrypted-keys: check hex2bin result\n  ...\n"
    },
    {
      "commit": "ed3ee9f44ba55eb6acfbfc8caa881e0253710d2a",
      "tree": "c628f4056728e7c42a3a9360f8cb002a159eb6e3",
      "parents": [
        "e70bea5fe0e3d6355fd95674eaff5aa5a32f0564"
      ],
      "author": {
        "name": "Josef Bacik",
        "email": "josef@redhat.com",
        "time": "Thu Oct 13 13:09:22 2011 -0400"
      },
      "committer": {
        "name": "Josef Bacik",
        "email": "josef@redhat.com",
        "time": "Wed Oct 19 15:12:56 2011 -0400"
      },
      "message": "Btrfs: fix regression in re-setting a large xattr\n\nRecently I changed the xattr stuff to unconditionally set the xattr first in\ncase the xattr didn\u0027t exist yet.  This has introduced a regression when setting\nan xattr that already exists with a large value.  If we find the key we are\nlooking for split_leaf will assume that we\u0027re extending that item.  The problem\nis the size we pass down to btrfs_search_slot includes the size of the item\nalready, so if we have the largest xattr we can possibly have plus the size of\nthe xattr item plus the xattr item that btrfs_search_slot we\u0027d overflow the\nleaf.  Thankfully this is not what we\u0027re doing, but split_leaf doesn\u0027t know this\nso it just returns EOVERFLOW.  So in the xattr code we need to check and see if\nwe got back EOVERFLOW and treat it like EEXIST since that\u0027s really what\nhappened.  Thanks,\n\nSigned-off-by: Josef Bacik \u003cjosef@redhat.com\u003e\n"
    },
    {
      "commit": "4815053aba7f2304055745df820cd74a39fdaab2",
      "tree": "30a936c6ebe75af2e8f9c92f7922989ad7b2e111",
      "parents": [
        "a39f75214358d715efa21e2bccf5a709d8649144"
      ],
      "author": {
        "name": "David Sterba",
        "email": "dsterba@suse.cz",
        "time": "Sun Sep 11 10:52:25 2011 -0400"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Sun Sep 11 10:52:25 2011 -0400"
      },
      "message": "btrfs: xattr: fix attribute removal\n\nAn attribute is not removed by \u0027setfattr -x attr file\u0027 and remains\nvisible in attr list. This makes xfstests/062 pass again.\n\nSigned-off-by: David Sterba \u003cdsterba@suse.cz\u003e\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "5a2f3a02aea164f4f59c0c3497772090a411b462",
      "tree": "d3ebe03d4f97575290087843960baa01de3acd0a",
      "parents": [
        "1d568ab068c021672d6cd7f50f92a3695a921ffb",
        "817b54aa45db03437c6d09a7693fc6926eb8e822"
      ],
      "author": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Tue Aug 09 10:31:03 2011 +1000"
      },
      "committer": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Tue Aug 09 10:31:03 2011 +1000"
      },
      "message": "Merge branch \u0027next-evm\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/zohar/ima-2.6 into next\n\nConflicts:\n\tfs/attr.c\n\nResolve conflict manually.\n\nSigned-off-by: James Morris \u003cjmorris@namei.org\u003e\n"
    },
    {
      "commit": "9d8f13ba3f4833219e50767b022b82cd0da930eb",
      "tree": "3ba2367380d009111ea17696162a62320c88d144",
      "parents": [
        "0f2a55d5bb2372058275b0b343d90dd5d640d045"
      ],
      "author": {
        "name": "Mimi Zohar",
        "email": "zohar@linux.vnet.ibm.com",
        "time": "Mon Jun 06 15:29:25 2011 -0400"
      },
      "committer": {
        "name": "Mimi Zohar",
        "email": "zohar@linux.vnet.ibm.com",
        "time": "Mon Jul 18 12:29:38 2011 -0400"
      },
      "message": "security: new security_inode_init_security API adds function callback\n\nThis patch changes the security_inode_init_security API by adding a\nfilesystem specific callback to write security extended attributes.\nThis change is in preparation for supporting the initialization of\nmultiple LSM xattrs and the EVM xattr.  Initially the callback function\nwalks an array of xattrs, writing each xattr separately, but could be\noptimized to write multiple xattrs at once.\n\nFor existing security_inode_init_security() calls, which have not yet\nbeen converted to use the new callback function, such as those in\nreiserfs and ocfs2, this patch defines security_old_inode_init_security().\n\nSigned-off-by: Mimi Zohar \u003czohar@us.ibm.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": "ff5714cca971848963b87d6b477c16ca8abbaa54",
      "tree": "17ee34b9b5e00804df4059503f82f6f1d94383a9",
      "parents": [
        "174ba50915b08dcfd07c8b5fb795b46a165fa09a",
        "d90c732122a1f6d0efe388a8a204f67f144b2eb3"
      ],
      "author": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Sat May 28 07:00:39 2011 -0400"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Sat May 28 07:00:39 2011 -0400"
      },
      "message": "Merge branch \u0027for-chris\u0027 of\ngit://git.kernel.org/pub/scm/linux/kernel/git/josef/btrfs-work into for-linus\n\nConflicts:\n\tfs/btrfs/disk-io.c\n\tfs/btrfs/extent-tree.c\n\tfs/btrfs/free-space-cache.c\n\tfs/btrfs/inode.c\n\tfs/btrfs/transaction.c\n\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "d82a6f1d7e8b61ed5996334d0db66651bb43641d",
      "tree": "5738ec75f7679bdc1b97aecbc5cad3464cc65541",
      "parents": [
        "7e2355ba1a11649f0b212a29fdb9f47476f1248e"
      ],
      "author": {
        "name": "Josef Bacik",
        "email": "josef@redhat.com",
        "time": "Wed May 11 15:26:06 2011 -0400"
      },
      "committer": {
        "name": "Josef Bacik",
        "email": "josef@redhat.com",
        "time": "Mon May 23 13:03:12 2011 -0400"
      },
      "message": "Btrfs: kill BTRFS_I(inode)-\u003eblock_group\n\nOriginally this was going to be used as a way to give hints to the allocator,\nbut frankly we can get much better hints elsewhere and it\u0027s not even used at all\nfor anything usefull.  In addition to be completely useless, when we initialize\nan inode we try and find a freeish block group to set as the inodes block group,\nand with a completely full 40gb fs this takes _forever_, so I imagine with say\n1tb fs this is just unbearable.  So just axe the thing altoghether, we don\u0027t\nneed it and it saves us 8 bytes in the inode and saves us 500 microseconds per\ninode lookup in my testcase.  Thanks,\n\nSigned-off-by: Josef Bacik \u003cjosef@redhat.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": "0965537308ac3b267ea16e731bd73870a51c53b8",
      "tree": "7b52288b7272b2391f736dd82a313cbbaad68570",
      "parents": [
        "61c4f2c81c61f73549928dfd9f3e8f26aa36a8cf",
        "82d5902d9c681be37ffa9d70482907f9f0b7ec1f"
      ],
      "author": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Sat May 21 09:27:38 2011 -0400"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Sat May 21 09:27:38 2011 -0400"
      },
      "message": "Merge branch \u0027ino-alloc\u0027 of git://repo.or.cz/linux-btrfs-devel into inode_numbers\n\nConflicts:\n\tfs/btrfs/free-space-cache.c\n\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": "33345d01522f8152f99dc84a3e7a1a45707f387f",
      "tree": "6a978702dc4421768e63501fa15bc8fedd5bff32",
      "parents": [
        "0414efae7989a2183fb2cc000ab285c4c2836a00"
      ],
      "author": {
        "name": "Li Zefan",
        "email": "lizf@cn.fujitsu.com",
        "time": "Wed Apr 20 10:31:50 2011 +0800"
      },
      "committer": {
        "name": "Li Zefan",
        "email": "lizf@cn.fujitsu.com",
        "time": "Mon Apr 25 16:46:09 2011 +0800"
      },
      "message": "Btrfs: Always use 64bit inode number\n\nThere\u0027s a potential problem in 32bit system when we exhaust 32bit inode\nnumbers and start to allocate big inode numbers, because btrfs uses\ninode-\u003ei_ino in many places.\n\nSo here we always use BTRFS_I(inode)-\u003elocation.objectid, which is an\nu64 variable.\n\nThere are 2 exceptions that BTRFS_I(inode)-\u003elocation.objectid !\u003d\ninode-\u003ei_ino: the btree inode (0 vs 1) and empty subvol dirs (256 vs 2),\nand inode-\u003ei_ino will be used in those cases.\n\nAnother reason to make this change is I\u0027m going to use a special inode\nto save free ino cache, and the inode number must be \u003e (u64)-256.\n\nSigned-off-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\n"
    },
    {
      "commit": "adff377bb1010ec65aada1f94ef2be7c7805c711",
      "tree": "83742ebd4de5c043b2f58969ef4d6634a301bfe7",
      "parents": [
        "d8bdc59f215e62098bc5b4256fd9928bf27053a1",
        "f65647c29b14f5a32ff6f3237b0ef3b375ed5a79"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 18 12:24:05 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 18 12:24:05 2011 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/mason/btrfs-unstable\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/mason/btrfs-unstable: (24 commits)\n  Btrfs: fix free space cache leak\n  Btrfs: avoid taking the chunk_mutex in do_chunk_alloc\n  Btrfs end_bio_extent_readpage should look for locked bits\n  Btrfs: don\u0027t force chunk allocation in find_free_extent\n  Btrfs: Check validity before setting an acl\n  Btrfs: Fix incorrect inode nlink in btrfs_link()\n  Btrfs: Check if btrfs_next_leaf() returns error in btrfs_real_readdir()\n  Btrfs: Check if btrfs_next_leaf() returns error in btrfs_listxattr()\n  Btrfs: make uncache_state unconditional\n  btrfs: using cached extent_state in set/unlock combinations\n  Btrfs: avoid taking the trans_mutex in btrfs_end_transaction\n  Btrfs: fix subvolume mount by name problem when default mount subvolume is set\n  fix user annotation in ioctl.c\n  Btrfs: check for duplicate iov_base\u0027s when doing dio reads\n  btrfs: properly handle overlapping areas in memmove_extent_buffer\n  Btrfs: fix memory leaks in btrfs_new_inode()\n  Btrfs: check for duplicate iov_base\u0027s when doing dio reads\n  Btrfs: reuse the extent_map we found when calling btrfs_get_extent\n  Btrfs: do not use async submit for small DIO io\u0027s\n  Btrfs: don\u0027t split dio bios if we don\u0027t have to\n  ...\n"
    },
    {
      "commit": "2e6a00356a066d34cd00872b067589549169ad48",
      "tree": "3fb780843d0f88b4e2939e33796eee5b96ae1716",
      "parents": [
        "109b36a2bb3eebf5c9994980e724958a5b2b62b6"
      ],
      "author": {
        "name": "Li Zefan",
        "email": "lizf@cn.fujitsu.com",
        "time": "Thu Mar 17 15:17:59 2011 +0800"
      },
      "committer": {
        "name": "Li Zefan",
        "email": "lizf@cn.fujitsu.com",
        "time": "Wed Apr 13 14:25:28 2011 +0800"
      },
      "message": "Btrfs: Check if btrfs_next_leaf() returns error in btrfs_listxattr()\n\nbtrfs_next_leaf() can return -errno, and we should propagate\nit to userspace.\n\nThis also simplifies how we walk the btree path.\n\nSigned-off-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\n"
    },
    {
      "commit": "212a17ab878305600e607f637d2d8a49d9f7ef25",
      "tree": "64ad97fcc3d5c49ebd735f5508643c798aeecddf",
      "parents": [
        "baaca1a61497d97cec595fedce03b0a23b983e64",
        "d9d04879321af570ea7285c6dad92d9c3cd108a1"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Mar 28 15:31:05 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Mar 28 15:31:05 2011 -0700"
      },
      "message": "Merge branch \u0027for-linus-unmerged\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/mason/btrfs-unstable\n\n* \u0027for-linus-unmerged\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/mason/btrfs-unstable: (45 commits)\n  Btrfs: fix __btrfs_map_block on 32 bit machines\n  btrfs: fix possible deadlock by clearing __GFP_FS flag\n  btrfs: check link counter overflow in link(2)\n  btrfs: don\u0027t mess with i_nlink of unlocked inode in rename()\n  Btrfs: check return value of btrfs_alloc_path()\n  Btrfs: fix OOPS of empty filesystem after balance\n  Btrfs: fix memory leak of empty filesystem after balance\n  Btrfs: fix return value of setflags ioctl\n  Btrfs: fix uncheck memory allocations\n  btrfs: make inode ref log recovery faster\n  Btrfs: add btrfs_trim_fs() to handle FITRIM\n  Btrfs: adjust btrfs_discard_extent() return errors and trimmed bytes\n  Btrfs: make btrfs_map_block() return entire free extent for each device of RAID0/1/10/DUP\n  Btrfs: make update_reserved_bytes() public\n  btrfs: return EXDEV when linking from different subvolumes\n  Btrfs: Per file/directory controls for COW and compression\n  Btrfs: add datacow flag in inode flag\n  btrfs: use GFP_NOFS instead of GFP_KERNEL\n  Btrfs: check return value of read_tree_block()\n  btrfs: properly access unaligned checksum buffer\n  ...\n\nFix up trivial conflicts in fs/btrfs/volumes.c due to plug removal in\nthe block layer.\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": "fe3fa43039d47ee4e22caf460b79b62a14937f79",
      "tree": "9eab8d00f1227b9fe0959f32a62d892ed35803ba",
      "parents": [
        "ee009e4a0d4555ed522a631bae9896399674f064",
        "026eb167ae77244458fa4b4b9fc171209c079ba7"
      ],
      "author": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Tue Mar 08 11:38:10 2011 +1100"
      },
      "committer": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Tue Mar 08 11:38:10 2011 +1100"
      },
      "message": "Merge branch \u0027master\u0027 of git://git.infradead.org/users/eparis/selinux into next\n"
    },
    {
      "commit": "2a7dba391e5628ad665ce84ef9a6648da541ebab",
      "tree": "ba0722bd74d2c883dbda7ff721850bab411cac04",
      "parents": [
        "821404434f3324bf23f545050ff64055a149766e"
      ],
      "author": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Tue Feb 01 11:05:39 2011 -0500"
      },
      "committer": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Tue Feb 01 11:12:29 2011 -0500"
      },
      "message": "fs/vfs/security: pass last path component to LSM on inode creation\n\nSELinux would like to implement a new labeling behavior of newly created\ninodes.  We currently label new inodes based on the parent and the creating\nprocess.  This new behavior would also take into account the name of the\nnew object when deciding the new label.  This is not the (supposed) full path,\njust the last component of the path.\n\nThis is very useful because creating /etc/shadow is different than creating\n/etc/passwd but the kernel hooks are unable to differentiate these\noperations.  We currently require that userspace realize it is doing some\ndifficult operation like that and than userspace jumps through SELinux hoops\nto get things set up correctly.  This patch does not implement new\nbehavior, that is obviously contained in a seperate SELinux patch, but it\ndoes pass the needed name down to the correct LSM hook.  If no such name\nexists it is fine to pass NULL.\n\nSigned-off-by: Eric Paris \u003ceparis@redhat.com\u003e\n"
    },
    {
      "commit": "b83cc9693f39689490970c19f6c5b866f6719a70",
      "tree": "b86d09884015fce195a4ac5ff1e8ec5f6ec00677",
      "parents": [
        "fa0d2b9bd717340e0bc4850a80ac0eb344e9a7fb"
      ],
      "author": {
        "name": "Li Zefan",
        "email": "lizf@cn.fujitsu.com",
        "time": "Mon Dec 20 16:04:08 2010 +0800"
      },
      "committer": {
        "name": "Li Zefan",
        "email": "lizf@cn.fujitsu.com",
        "time": "Thu Dec 23 08:49:17 2010 +0800"
      },
      "message": "Btrfs: Add readonly snapshots support\n\nUsage:\n\nSet BTRFS_SUBVOL_RDONLY of btrfs_ioctl_vol_arg_v2-\u003eflags, and call\nioctl(BTRFS_I0CTL_SNAP_CREATE_V2).\n\nImplementation:\n\n- Set readonly bit of btrfs_root_item-\u003eflags.\n- Add readonly checks in btrfs_permission (inode_permission),\nbtrfs_setattr, btrfs_set/remove_xattr and some ioctls.\n\nChangelog for v3:\n\n- Eliminate btrfs_root-\u003ereadonly, but check btrfs_root-\u003eroot_item.flags.\n- Rename BTRFS_ROOT_SNAP_RDONLY to BTRFS_ROOT_SUBVOL_RDONLY.\n\nSigned-off-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\n"
    },
    {
      "commit": "559af8211433b8c0b20e6c43c61409cb9c9c2996",
      "tree": "702ebd4c4f5b610daa36f65d814a518356a9a46b",
      "parents": [
        "411fc6bcef54f828a5458f4730c68abdf13c6bf0"
      ],
      "author": {
        "name": "Andi Kleen",
        "email": "andi@firstfloor.org",
        "time": "Fri Oct 29 15:14:37 2010 -0400"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Fri Oct 29 15:14:37 2010 -0400"
      },
      "message": "Btrfs: cleanup warnings from gcc 4.6 (nonbugs)\n\nThese are all the cases where a variable is set, but not read which are\nnot bugs as far as I can see, but simply leftovers.\n\nStill needs more review.\n\nFound by gcc 4.6\u0027s new warnings\n\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": "105a048a4f35f7a74c7cc20b36dd83658b6ec232",
      "tree": "043b1110cda0042ba35d8aae59382bb094d0af3f",
      "parents": [
        "00b9b0af5887fed54e899e3b7f5c2ccf5e739def",
        "9aeead73782c4b8e2a91def36dbf95db28605c95"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 27 10:43:44 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 27 10:43:44 2010 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/mason/btrfs-unstable\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/mason/btrfs-unstable: (27 commits)\n  Btrfs: add more error checking to btrfs_dirty_inode\n  Btrfs: allow unaligned DIO\n  Btrfs: drop verbose enospc printk\n  Btrfs: Fix block generation verification race\n  Btrfs: fix preallocation and nodatacow checks in O_DIRECT\n  Btrfs: avoid ENOSPC errors in btrfs_dirty_inode\n  Btrfs: move O_DIRECT space reservation to btrfs_direct_IO\n  Btrfs: rework O_DIRECT enospc handling\n  Btrfs: use async helpers for DIO write checksumming\n  Btrfs: don\u0027t walk around with task-\u003estate !\u003d TASK_RUNNING\n  Btrfs: do aio_write instead of write\n  Btrfs: add basic DIO read/write support\n  direct-io: do not merge logically non-contiguous requests\n  direct-io: add a hook for the fs to provide its own submit_bio function\n  fs: allow short direct-io reads to be completed via buffered IO\n  Btrfs: Metadata ENOSPC handling for balance\n  Btrfs: Pre-allocate space for data relocation\n  Btrfs: Metadata ENOSPC handling for tree log\n  Btrfs: Metadata reservation for orphan inodes\n  Btrfs: Introduce global metadata reservation\n  ...\n"
    },
    {
      "commit": "a22285a6a32390195235171b89d157ed1a1fe932",
      "tree": "3fabc88a029e1af4f2fdcc708e7b62ef3cf3703a",
      "parents": [
        "f0486c68e4bd9a06a5904d3eeb3a0d73a83befb8"
      ],
      "author": {
        "name": "Yan, Zheng",
        "email": "zheng.yan@oracle.com",
        "time": "Sun May 16 10:48:46 2010 -0400"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Tue May 25 10:34:50 2010 -0400"
      },
      "message": "Btrfs: Integrate metadata reservation with start_transaction\n\nBesides simplify the code, this change makes sure all metadata\nreservation for normal metadata operations are released after\ncommitting transaction.\n\nChanges since V1:\n\nAdd code that check if unlink and rmdir will free space.\n\nAdd ENOSPC handling for clone ioctl.\n\nSigned-off-by: Yan Zheng \u003czheng.yan@oracle.com\u003e\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "f01cbd3f8148f2056567f829e07c157b28b2dd1e",
      "tree": "18d4a35bf25c9e17e11ce7a42015fae8ca5d009e",
      "parents": [
        "bb4354538eb7b92f32cfedbad68c7be266c0b467"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "shemminger@vyatta.com",
        "time": "Thu May 13 17:53:15 2010 -0700"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Fri May 21 18:31:18 2010 -0400"
      },
      "message": "btrfs: constify xattr_handler\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\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": "0eda294dfc980c1cbe4f8a0564bf543f86a01ddb",
      "tree": "478b0abfda753196fcb8842d002e5bb600051618",
      "parents": [
        "690587d109ffe19d6743e4cc80c18b0906b7f9ff"
      ],
      "author": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Tue Oct 13 13:50:18 2009 -0400"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Tue Oct 13 13:51:39 2009 -0400"
      },
      "message": "Btrfs: fix btrfs acl #ifdef checks\n\nThe btrfs acl code was #ifdefing for a define\nthat didn\u0027t exist.  This correctly matches it\nto the values used by the Kconfig file.\n\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "3baf0bed0a5adab95c7599d2f27124c74692ef28",
      "tree": "fff0aae377d71743ab4d95449bf57419280555b3",
      "parents": [
        "fd2696f399e45347c07f1f7f340e8515cace5657"
      ],
      "author": {
        "name": "Chris Ball",
        "email": "cjb@laptop.org",
        "time": "Tue Sep 29 13:51:05 2009 -0400"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Tue Sep 29 13:51:05 2009 -0400"
      },
      "message": "Btrfs: Use CONFIG_BTRFS_POSIX_ACL to enable ACL code\n\nWe\u0027ve already defined CONFIG_BTRFS_POSIX_ACL in Kconfig, but we\u0027re\ncurrently not using it and are testing CONFIG_FS_POSIX_ACL instead.\nCONFIG_FS_POSIX_ACL states \"Never use this symbol for ifdefs\".\n\nSigned-off-by: Chris Ball \u003ccjb@laptop.org\u003e\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "811449496b3e3caa9a8cf43feacbade0153324f2",
      "tree": "b5d5afe2d629b3cf19f27d19445ad9998c6c3b1a",
      "parents": [
        "8c087b5183adab186a298f2d6ed39aefdcae413c"
      ],
      "author": {
        "name": "Josef Bacik",
        "email": "jbacik@redhat.com",
        "time": "Wed Feb 04 09:18:33 2009 -0500"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Wed Feb 04 09:18:33 2009 -0500"
      },
      "message": "Btrfs: join the transaction in __btrfs_setxattr\n\nWith selinux on we end up calling __btrfs_setxattr when we create an inode,\nwhich calls btrfs_start_transaction().  The problem is we\u0027ve already called\nthat in btrfs_new_inode, and in btrfs_start_transaction we end up doing a\nwait_current_trans().  If btrfs-transaction has started committing it will wait\nfor all handles to finish, while the other process is waiting for the\ntransaction to commit.  This is fixed by using btrfs_join_transaction, which\nwon\u0027t wait for the transaction to commit.  Thanks,\n\nSigned-off-by: Josef Bacik \u003cjbacik@redhat.com\u003e\n\n\n"
    },
    {
      "commit": "0279b4cd86685b5eea467c1b74ce94f0add2c0a3",
      "tree": "54caafd4c6b31e2bc9861217627297c00af89066",
      "parents": [
        "bef62ef339c15d7721da88958b03f7b544464722"
      ],
      "author": {
        "name": "Jim Owens",
        "email": "jowens@hp.com",
        "time": "Wed Feb 04 09:29:13 2009 -0500"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Wed Feb 04 09:29:13 2009 -0500"
      },
      "message": "Btrfs: selinux support\nAdd call to LSM security initialization and save\nresulting security xattr for new inodes.\n\nAdd xattr support to symlink inode ops.\n\nSet inode-\u003ei_op for existing special files.\n\nSigned-off-by: jim owens \u003cjowens@hp.com\u003e\n"
    },
    {
      "commit": "070604040b86511cc2df0f25f98e26c5529bd928",
      "tree": "bb51306dee575e10d758117e9b2e951073fa154b",
      "parents": [
        "eb1eb04fdfbd9e1c9c40d072ab1b82fe593eeb0f"
      ],
      "author": {
        "name": "Josef Bacik",
        "email": "jbacik@redhat.com",
        "time": "Wed Jan 21 10:49:16 2009 -0500"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Wed Jan 21 10:49:16 2009 -0500"
      },
      "message": "Btrfs: cleanup xattr code\n\nAndrew\u0027s review of the xattr code revealed some minor issues that this patch\naddresses.  Just an error return fix, got rid of a useless statement and\ncommented one of the trickier parts of __btrfs_getxattr.\n\nSigned-off-by: Josef Bacik \u003cjbacik@redhat.com\u003e\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": "b16281c30c841c6d999ff36c8d903f42a69315f2",
      "tree": "df7ae4e2c7d948bae276c7c489158a58368a0ec5",
      "parents": [
        "cad321ad529400c6ab24c501a67c3be720a0744c"
      ],
      "author": {
        "name": "Yehuda Sadeh Weinraub",
        "email": "yehudasa@gmail.com",
        "time": "Wed Dec 17 10:21:26 2008 -0500"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Wed Dec 17 10:21:26 2008 -0500"
      },
      "message": "Btrfs: fix return value from btrfs_listxattr when buffer size is too small\n\nThe return value was being overwritten.\n\nSigned-off-by: Yehuda Sadeh \u003cyehuda@hq.newdream.net\u003e\n\n"
    },
    {
      "commit": "95819c05732c511338b43c115ffbcee978c02888",
      "tree": "4622f326207c53e42e7c9e8e8d14960e17190a30",
      "parents": [
        "eaa47d8612783807ef9703ebc9bf0d0f0455bf62"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Thu Aug 28 06:21:17 2008 -0400"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Thu Sep 25 11:04:07 2008 -0400"
      },
      "message": "Btrfs: optimize btrget/set/removexattr\n\nbtrfs actually stores the whole xattr name, including the prefix ondisk,\nso using the generic resolver that strips off the prefix is not very\nhelpful.  Instead do the real ondisk xattrs manually and only use the\ngeneric resolver for synthetic xattrs like ACLs.\n\n(Sorry Josef for guiding you towards the wrong direction here intially)\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "eaa47d8612783807ef9703ebc9bf0d0f0455bf62",
      "tree": "aae589fac6573e2974935b357bfa687dbab2e718",
      "parents": [
        "eab922ec8907b8c506e799785e7e2d16eabe50e4"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Thu Aug 28 06:21:16 2008 -0400"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Thu Sep 25 11:04:07 2008 -0400"
      },
      "message": "btrfs: optmize listxattr\n\nThe -\u003elist handler is really not useful at all, because we always call\nbtrfs_xattr_generic_list anyway.  After this is done\nfind_btrfs_xattr_handler becomes unused, and it becomes obvious that the\ntemporary name buffer allocation isn\u0027t needed but we can directly copy\ninto the supplied buffer.\n\nTested with various getfattr -d calls on varying xattr lists.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "33268eaf0b3db5e2bd12c0ada81a8e8f87a46d68",
      "tree": "93b6d00a73402b59c2ea7ae7434138feecefc085",
      "parents": [
        "6099afe88fe64b2f47c43a8a71c13be3a416bbf7"
      ],
      "author": {
        "name": "Josef Bacik",
        "email": "jbacik@redhat.com",
        "time": "Thu Jul 24 12:16:36 2008 -0400"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Thu Sep 25 11:04:05 2008 -0400"
      },
      "message": "Btrfs: Add ACL support\n\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "6099afe88fe64b2f47c43a8a71c13be3a416bbf7",
      "tree": "bc53d1311f7338758f22d6a676e3f80376042284",
      "parents": [
        "aec7477b3b0e8ec93f6d274f25ba40b0665134d4"
      ],
      "author": {
        "name": "Josef Bacik",
        "email": "jbacik@redhat.com",
        "time": "Thu Jul 24 12:16:03 2008 -0400"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Thu Sep 25 11:04:05 2008 -0400"
      },
      "message": "Btrfs: Remove unused xattr code\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": "eba12c7bfcb4855fc757357e5e5b0b9a474499ba",
      "tree": "ef5e0b1ca6b2998bd781fb1a0c70c886d4b8aa5d",
      "parents": [
        "51ebc0d3d5cd1a2728068499a8fc1bdb0a581ab5"
      ],
      "author": {
        "name": "Yan",
        "email": "yanzheng@21cn.com",
        "time": "Mon Jun 09 22:21:46 2008 -0400"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Thu Sep 25 11:04:03 2008 -0400"
      },
      "message": "Btrfs: Dislable acl xattr handlers\n\nThe acl code is not yet complete, and the xattr handlers are causing\nproblems for cp -p on some distros.\n\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "caaca38b8fdcf63a17647fddae2195b189e19e37",
      "tree": "635bceedd564afcf56f26b139dd85d0f88a5ef8e",
      "parents": [
        "4d5e74bc0aec3f54b7e429d77b7c35de042c507d"
      ],
      "author": {
        "name": "Yan",
        "email": "yanzheng@21cn.com",
        "time": "Thu Jan 17 11:59:48 2008 -0500"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Thu Sep 25 11:03:59 2008 -0400"
      },
      "message": "Btrfs: Fix compile on kernel without ACLs enabled\n\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "69a32ac5175ec9bcfb407e8619a024e5eaea87b7",
      "tree": "0571a43258ce7417d1eb9cb5bcb50f53a10fb9e9",
      "parents": [
        "fdebe2bd70047e057827cba85ba31b2545e31900"
      ],
      "author": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Mon Jan 14 14:33:35 2008 -0500"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Thu Sep 25 11:03:59 2008 -0400"
      },
      "message": "Btrfs: Change magic string to reflect new format\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": "3acd7ee876c508973eb4722de5b00b3dff4c7372",
      "tree": "a30b5a08ddc5c7aee20d364c139756765f30ebd4",
      "parents": [
        "1caf9342fc71d020e788a59598a44d4ea0136b36"
      ],
      "author": {
        "name": "Josef Bacik",
        "email": "jbacik@redhat.com",
        "time": "Mon Nov 19 10:18:19 2007 -0500"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Thu Sep 25 11:03:57 2008 -0400"
      },
      "message": "Btrfs: xattr fixes\n\nThis fixes two typos that Yan pointed out to me.  Thanks much,\n\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "1caf9342fc71d020e788a59598a44d4ea0136b36",
      "tree": "e54d756bd124515b262f56b22cd9c169b8b00027",
      "parents": [
        "5cf664263b05beb080bf95037e4c3bd50c80b096"
      ],
      "author": {
        "name": "Josef Bacik",
        "email": "jbacik@redhat.com",
        "time": "Mon Nov 19 10:18:17 2007 -0500"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Thu Sep 25 11:03:57 2008 -0400"
      },
      "message": "Btrfs: Make ACLs return EOPNOTSUPP for now\n\nThere was a slight problem with ACL\u0027s returning EINVAL when you tried to set an\nACL.  This isn\u0027t correct, we should be returning EOPNOTSUPP, so I did a very\nugly thing and just commented everybody out and made them return EOPNOTSUPP.\nThis is only temporary, I\u0027m going back to implement ACL\u0027s, but Chris wants to\npush out a release so this will suffice for now.\n\nAlso Yan suggested setting reada to -1 in the delete case to enable backwards\nreadahead, and in the listxattr case I moved path-\u003ereada \u003d 2; to after the if\n(!path) check so we can avoid a possible null dereference.  Thank you,\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"
    }
  ]
}
