)]}'
{
  "log": [
    {
      "commit": "9ca03b997f71787e345951e6267fbd8eba14d49f",
      "tree": "f18ecb730a66d542ae1c29e2c3438b78ca40859c",
      "parents": [
        "860a7a0c321ce0267fdb6ebdcd03aa63c5fcb31d"
      ],
      "author": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Tue Jan 06 09:38:55 2009 -0500"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Tue Jan 06 09:38:55 2009 -0500"
      },
      "message": "Btrfs: drop remaining LINUX_KERNEL_VERSION checks and compat code\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": "4b4e25f2a6ddb070bab7f7dd2bd2926fb8db9e04",
      "tree": "b4417e03a187efd6a88da75a41a94020a2bb76ac",
      "parents": [
        "79683f2d685cfb6ef9c97c5194e3ce3319e80cac"
      ],
      "author": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Thu Nov 20 10:22:27 2008 -0500"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Thu Nov 20 10:22:27 2008 -0500"
      },
      "message": "Btrfs: compat code fixes\n\nThe btrfs git kernel trees is used to build a standalone tree for\ncompiling against older kernels.  This commit makes the standalone tree\nwork with 2.6.27\n\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "15916de835a683bd8133a0d1ac0c982b795ab4ff",
      "tree": "20603c2e0cade00d2e40a3b5390f5def36a02711",
      "parents": [
        "ae20a6afec1cf21919d97303f2d8b737eac5acc7"
      ],
      "author": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Wed Nov 19 21:17:22 2008 -0500"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Wed Nov 19 21:17:22 2008 -0500"
      },
      "message": "Btrfs: Fixes for 2.6.28-rc API changes\n\n* open/close_bdev_excl -\u003e open/close_bdev_exclusive\n* blkdev_issue_discard takes a GFP mask now\n* Fix blkdev_issue_discard usage now that it is enabled\n\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "2b1f55b0f0d0d1a66470ef4ea2696cd5dd741a12",
      "tree": "980019fac9b0891e682bc7d9a8c8a58284b467fc",
      "parents": [
        "9b49c9b9f93e148815f2544d0c91f43b6d72eea9"
      ],
      "author": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Wed Sep 24 11:48:04 2008 -0400"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Thu Sep 25 15:41:59 2008 -0400"
      },
      "message": "Remove Btrfs compat code for older kernels\n\nBtrfs had compatibility code for kernels back to 2.6.18.  These have\nbeen removed, and will be maintained in a separate backport\ngit tree from now on.\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": "be6e8dc0ba84029997075a1ec77b4ddb863cbe15",
      "tree": "ba65e49acd8bc55bfd2719a9d6ce65a81ee037c6",
      "parents": [
        "1a54ef8c11a0eaef59ff418089f109c27f8bd48d"
      ],
      "author": {
        "name": "Balaji Rao",
        "email": "balajirrao@gmail.com",
        "time": "Mon Jul 21 02:01:56 2008 +0530"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Thu Sep 25 11:04:06 2008 -0400"
      },
      "message": "NFS support for btrfs - v3\n\nDate: Mon, 21 Jul 2008 02:01:56 +0530\nHere\u0027s an implementation of NFS support for btrfs. It relies on the\nfixes which are going in to 2.6.28 for the NFS readdir/lookup deadlock.\n\nThis uses the btrfs_iget helper introduced previously.\n\n[dwmw2: Tidy up a little, switch to d_obtain_alias() w/compat routine,\n\tchange fh_type,\tstore parent\u0027s root object ID where needed,\n\tfix some get_parent() and fs_to_dentry() bugs]\n\nSigned-off-by: Balaji Rao \u003cbalajirrao@gmail.com\u003e\nSigned-off-by: David Woodhouse \u003cDavid.Woodhouse@intel.com\u003e\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "2db04966ae9a3eeb57f28df9aac4e77d5b287cb1",
      "tree": "12f42fdef9b5965c7e9970f875a6bf33ed5090f1",
      "parents": [
        "5036f53868ae943704ae69a192d21225dc914c35"
      ],
      "author": {
        "name": "David Woodhouse",
        "email": "dwmw2@infradead.org",
        "time": "Thu Aug 07 11:19:43 2008 -0400"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Thu Sep 25 11:04:06 2008 -0400"
      },
      "message": "Btrfs: Change TestSetPageLocked() to trylock_page()\n\nAdd backwards compatibility in compat.h\n\nSigned-off-by: David Woodhouse \u003cDavid.Woodhouse@intel.com\u003e\n---\n compat.h    |    3 +++\n extent_io.c |    3 ++-\n 2 files changed, 5 insertions(+), 1 deletions(-)\n\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "12fa8ec64f445aa932ba154053fe95432f30f2c6",
      "tree": "bcc8b5799bfb81da13bc6ce7a65b281e7374dd5e",
      "parents": [
        "bb8885cc0aa6b1606143d92c70762b16026016a5"
      ],
      "author": {
        "name": "Jeff Mahoney",
        "email": "jeffm@suse.com",
        "time": "Fri May 02 15:03:58 2008 -0400"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Thu Sep 25 11:04:02 2008 -0400"
      },
      "message": "Btrfs: Add workaround for AppArmor changing remove_suid()\n\nIn openSUSE 10.3, AppArmor modifies remove_suid to take a struct path\nrather than just a dentry. This patch tests that the kernel is openSUSE\n10.3 or newer and adjusts the call accordingly.\n\nDebian/Ubuntu with AppArmor applied will also need a similar patch.\nMaintainers of btrfs under those distributions should build on this\npatch or, alternatively, alter their package descriptions to add\n-DREMOVE_SUID_PATH to the compiler command line.\n\nSigned-off-by: Jeff Mahoney \u003cjeffm@suse.com\u003e\n- --- /dev/null\t1970-01-01 00:00:00.000000000 +0000\n+++ b/compat.h\t2008-02-06 16:46:13.000000000 -0500\n@@ -0,0 +1,15 @@\n+#ifndef _COMPAT_H_\n+#define _COMPAT_H_\n+\n+\n+/*\n+ * Even if AppArmor isn\u0027t enabled, it still has different prototypes.\n+ * Add more distro/version pairs here to declare which has AppArmor applied.\n+ */\n+#if defined(CONFIG_SUSE_KERNEL)\n+# if LINUX_VERSION_CODE \u003e\u003d KERNEL_VERSION(2,6,22)\n+# define REMOVE_SUID_PATH 1\n+# endif\n+#endif\n+\n+#endif /* _COMPAT_H_ */\n- --- a/file.c\t2008-02-06 11:37:39.000000000 -0500\n+++ b/file.c\t2008-02-06 16:46:23.000000000 -0500\n@@ -37,6 +37,7 @@\n #include \"ordered-data.h\"\n #include \"ioctl.h\"\n #include \"print-tree.h\"\n+#include \"compat.h\"\n\n static int btrfs_copy_from_user(loff_t pos, int num_pages, int write_bytes,\n@@ -790,7 +791,11 @@ static ssize_t btrfs_file_write(struct f\n \t\tgoto out_nolock;\n \tif (count \u003d\u003d 0)\n \t\tgoto out_nolock;\n+#ifdef REMOVE_SUID_PATH\n+\terr \u003d remove_suid(\u0026file-\u003ef_path);\n+#else\n \terr \u003d remove_suid(fdentry(file));\n+#endif\n \tif (err)\n \t\tgoto out_nolock;\n \tfile_update_time(file);\n\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    }
  ]
}
