)]}'
{
  "log": [
    {
      "commit": "d995053d045d777e78ba7eba71a6a0733f3aa726",
      "tree": "35cb9e017f55034534b3fdf944e6f263785c49ac",
      "parents": [
        "be8db0b843d4eef193e996c3e31aabf15b2d7004",
        "945526846a84c00adac1efd1c6befdaa77039623"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Oct 22 08:28:28 2009 +0900"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Oct 22 08:28:28 2009 +0900"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.infradead.org/users/eparis/notify\n\n* \u0027for-linus\u0027 of git://git.infradead.org/users/eparis/notify:\n  dnotify: ignore FS_EVENT_ON_CHILD\n  inotify: fix coalesce duplicate events into a single event in special case\n  inotify: deprecate the inotify kernel interface\n  fsnotify: do not set group for a mark before it is on the i_list\n"
    },
    {
      "commit": "4223a4a155f245d41c350ed9eba4fc32e965c4da",
      "tree": "521f5a2c9e3ae1e17415e93489da015b9b5b2c5d",
      "parents": [
        "ad3960243e55320d74195fb85c975e0a8cc4466c"
      ],
      "author": {
        "name": "Yinghai Lu",
        "email": "yinghai@kernel.org",
        "time": "Tue Oct 20 14:13:46 2009 +0900"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Oct 22 08:15:23 2009 +0900"
      },
      "message": "nfs: Fix nfs_parse_mount_options() kfree() leak\n\nFix a (small) memory leak in one of the error paths of the NFS mount\noptions parsing code.\n\nRegression introduced in 2.6.30 by commit a67d18f (NFS: load the\nrpc/rdma transport module automatically).\n\nReported-by: Yinghai Lu \u003cyinghai@kernel.org\u003e\nReported-by: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\nCc: stable@kernel.org\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "ad3960243e55320d74195fb85c975e0a8cc4466c",
      "tree": "e17b79f2bc7a2fd76d8598fb0075f8c78cd5714a",
      "parents": [
        "2fdc246aaf9a7fa088451ad2a72e9119b5f7f029"
      ],
      "author": {
        "name": "Earl Chew",
        "email": "earl_chew@agilent.com",
        "time": "Mon Oct 19 15:55:41 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Oct 22 08:11:44 2009 +0900"
      },
      "message": "fs: pipe.c null pointer dereference\n\nThis patch fixes a null pointer exception in pipe_rdwr_open() which\ngenerates the stack trace:\n\n\u003e Unable to handle kernel NULL pointer dereference at 0000000000000028 RIP:\n\u003e  [\u003cffffffff802899a5\u003e] pipe_rdwr_open+0x35/0x70\n\u003e  [\u003cffffffff8028125c\u003e] __dentry_open+0x13c/0x230\n\u003e  [\u003cffffffff8028143d\u003e] do_filp_open+0x2d/0x40\n\u003e  [\u003cffffffff802814aa\u003e] do_sys_open+0x5a/0x100\n\u003e  [\u003cffffffff8021faf3\u003e] sysenter_do_call+0x1b/0x67\n\nThe failure mode is triggered by an attempt to open an anonymous\npipe via /proc/pid/fd/* as exemplified by this script:\n\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\nwhile : ; do\n   { echo y ; sleep 1 ; } | { while read ; do echo z$REPLY; done ; } \u0026\n   PID\u003d$!\n   OUT\u003d$(ps -efl | grep \u0027sleep 1\u0027 | grep -v grep |\n        { read PID REST ; echo $PID; } )\n   OUT\u003d\"${OUT%% *}\"\n   DELAY\u003d$((RANDOM * 1000 / 32768))\n   usleep $((DELAY * 1000 + RANDOM % 1000 ))\n   echo n \u003e /proc/$OUT/fd/1                 # Trigger defect\ndone\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n\nNote that the failure window is quite small and I could only\nreliably reproduce the defect by inserting a small delay\nin pipe_rdwr_open(). For example:\n\n static int\n pipe_rdwr_open(struct inode *inode, struct file *filp)\n {\n       msleep(100);\n       mutex_lock(\u0026inode-\u003ei_mutex);\n\nAlthough the defect was observed in pipe_rdwr_open(), I think it\nmakes sense to replicate the change through all the pipe_*_open()\nfunctions.\n\nThe core of the change is to verify that inode-\u003ei_pipe has not\nbeen released before attempting to manipulate it. If inode-\u003ei_pipe\nis no longer present, return ENOENT to indicate so.\n\nThe comment about potentially using atomic_t for i_pipe-\u003ereaders\nand i_pipe-\u003ewriters has also been removed because it is no longer\nrelevant in this context. The inode-\u003ei_mutex lock must be used so\nthat inode-\u003ei_pipe can be dealt with correctly.\n\nSigned-off-by: Earl Chew \u003cearl_chew@agilent.com\u003e\nCc: stable@kernel.org\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "945526846a84c00adac1efd1c6befdaa77039623",
      "tree": "36a3ca9188af8d1154af8684f541f3abbf2cd3c7",
      "parents": [
        "3de0ef4f2067da58fa5126d821a56dcb98cdb565"
      ],
      "author": {
        "name": "Andreas Gruenbacher",
        "email": "agruen@suse.de",
        "time": "Thu Oct 15 00:13:23 2009 +0200"
      },
      "committer": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Tue Oct 20 18:02:33 2009 -0400"
      },
      "message": "dnotify: ignore FS_EVENT_ON_CHILD\n\nMask off FS_EVENT_ON_CHILD in dnotify_handle_event().  Otherwise, when there\nis more than one watch on a directory and dnotify_should_send_event()\nsucceeds, events with FS_EVENT_ON_CHILD set will trigger all watches and cause\nspurious events.\n\nThis case was overlooked in commit e42e2773.\n\n\t#define _GNU_SOURCE\n\n\t#include \u003cstdio.h\u003e\n\t#include \u003cstdlib.h\u003e\n\t#include \u003cunistd.h\u003e\n\t#include \u003csignal.h\u003e\n\t#include \u003csys/types.h\u003e\n\t#include \u003csys/stat.h\u003e\n\t#include \u003cfcntl.h\u003e\n\t#include \u003cstring.h\u003e\n\n\tstatic void create_event(int s, siginfo_t* si, void* p)\n\t{\n\t\tprintf(\"create\\n\");\n\t}\n\n\tstatic void delete_event(int s, siginfo_t* si, void* p)\n\t{\n\t\tprintf(\"delete\\n\");\n\t}\n\n\tint main (void) {\n\t\tstruct sigaction action;\n\t\tchar *tmpdir, *file;\n\t\tint fd1, fd2;\n\n\t\tsigemptyset (\u0026action.sa_mask);\n\t\taction.sa_flags \u003d SA_SIGINFO;\n\n\t\taction.sa_sigaction \u003d create_event;\n\t\tsigaction (SIGRTMIN + 0, \u0026action, NULL);\n\n\t\taction.sa_sigaction \u003d delete_event;\n\t\tsigaction (SIGRTMIN + 1, \u0026action, NULL);\n\n\t#\tdefine TMPDIR \"/tmp/test.XXXXXX\"\n\t\ttmpdir \u003d malloc(strlen(TMPDIR) + 1);\n\t\tstrcpy(tmpdir, TMPDIR);\n\t\tmkdtemp(tmpdir);\n\n\t#\tdefine TMPFILE \"/file\"\n\t\tfile \u003d malloc(strlen(tmpdir) + strlen(TMPFILE) + 1);\n\t\tsprintf(file, \"%s/%s\", tmpdir, TMPFILE);\n\n\t\tfd1 \u003d open (tmpdir, O_RDONLY);\n\t\tfcntl(fd1, F_SETSIG, SIGRTMIN);\n\t\tfcntl(fd1, F_NOTIFY, DN_MULTISHOT | DN_CREATE);\n\n\t\tfd2 \u003d open (tmpdir, O_RDONLY);\n\t\tfcntl(fd2, F_SETSIG, SIGRTMIN + 1);\n\t\tfcntl(fd2, F_NOTIFY, DN_MULTISHOT | DN_DELETE);\n\n\t\tif (fork()) {\n\t\t\t/* This triggers a create event */\n\t\t\tcreat(file, 0600);\n\t\t\t/* This triggers a create and delete event (!) */\n\t\t\tunlink(file);\n\t\t} else {\n\t\t\tsleep(1);\n\t\t\trmdir(tmpdir);\n\t\t}\n\n\t\treturn 0;\n\t}\n\nSigned-off-by: Andreas Gruenbacher \u003cagruen@suse.de\u003e\nSigned-off-by: Eric Paris \u003ceparis@redhat.com\u003e\n"
    },
    {
      "commit": "3de0ef4f2067da58fa5126d821a56dcb98cdb565",
      "tree": "d88103aaf3e5ed019afef5b11d4241ecf3eb1cea",
      "parents": [
        "cdc321ff0af78e818c97d4787f62bf52bdf9db2a"
      ],
      "author": {
        "name": "Wei Yongjun",
        "email": "yjwei@cn.fujitsu.com",
        "time": "Wed Oct 14 20:54:03 2009 +0800"
      },
      "committer": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Sun Oct 18 15:49:38 2009 -0400"
      },
      "message": "inotify: fix coalesce duplicate events into a single event in special case\n\nIf we do rename a dir entry, like this:\n\n  rename(\"/tmp/ino7UrgoJ.rename1\", \"/tmp/ino7UrgoJ.rename2\")\n  rename(\"/tmp/ino7UrgoJ.rename2\", \"/tmp/ino7UrgoJ\")\n\nThe duplicate events should be coalesced into a single event. But those two\nevents do not be coalesced into a single event, due to some bad check in\nevent_compare(). It can not match the two NULL inodes as the same event.\n\nSigned-off-by: Wei Yongjun \u003cyjwei@cn.fujitsu.com\u003e\nSigned-off-by: Eric Paris \u003ceparis@redhat.com\u003e\n"
    },
    {
      "commit": "9f0d793b52eb2266359661369ef6303838904855",
      "tree": "c884f59a4ad9ce50b033710d47894bc96c214a6c",
      "parents": [
        "2fdc246aaf9a7fa088451ad2a72e9119b5f7f029"
      ],
      "author": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Fri Sep 11 13:03:19 2009 -0400"
      },
      "committer": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Sun Oct 18 15:49:38 2009 -0400"
      },
      "message": "fsnotify: do not set group for a mark before it is on the i_list\n\nfsnotify_add_mark is supposed to add a mark to the g_list and i_list and to\nset the group and inode for the mark.  fsnotify_destroy_mark_by_entry uses\nthe fact that -\u003egroup !\u003d NULL to know if this group should be destroyed or\nif it\u0027s already been done.\n\nBut fsnotify_add_mark sets the group and inode before it actually adds the\nmark to the i_list and g_list.  This can result in a race in inotify, it\nrequires 3 threads.\n\nsys_inotify_add_watch(\"file\")\tsys_inotify_add_watch(\"file\")\tsys_inotify_rm_watch([a])\ninotify_update_watch()\ninotify_new_watch()\ninotify_add_to_idr()\n   ^--- returns wd \u003d [a]\n\t\t\t\tinotfiy_update_watch()\n\t\t\t\tinotify_new_watch()\n\t\t\t\tinotify_add_to_idr()\n\t\t\t\tfsnotify_add_mark()\n\t\t\t\t   ^--- returns wd \u003d [b]\n\t\t\t\treturns to userspace;\n\t\t\t\t\t\t\t\tinotify_idr_find([a])\n\t\t\t\t\t\t\t\t   ^--- gives us the pointer from task 1\nfsnotify_add_mark()\n   ^--- this is going to set the mark-\u003egroup and mark-\u003einode fields, but will\nreturn -EEXIST because of the race with [b].\n\t\t\t\t\t\t\t\tfsnotify_destroy_mark()\n\t\t\t\t\t\t\t\t   ^--- since -\u003egroup !\u003d NULL we call back\n\t\t\t\t\t\t\t\t\tinto inotify_freeing_mark() which calls\n\t\t\t\t\t\t\t\tinotify_remove_from_idr([a])\n\nsince fsnotify_add_mark() failed we call:\ninotify_remove_from_idr([a])     \u003c------WHOOPS it\u0027s not in the idr, this could\n\t\t\t\t\thave been any entry added later!\n\nThe fix is to make sure we don\u0027t set mark-\u003egroup until we are sure the mark is\non the inode and fsnotify_add_mark will return success.\n\nSigned-off-by: Eric Paris \u003ceparis@redhat.com\u003e\n"
    },
    {
      "commit": "8e7768d3f40d4ab79e6af58462e173cdbfad9cc6",
      "tree": "5f47b220e4232d6483fff490290f6491d34a2a74",
      "parents": [
        "36d6f3ecbd0bedfbda8b9f7c5fc36edb62a417ad",
        "6861f350785bf476c2d4e3b9cb69ee36b78df2fc"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Oct 15 15:21:20 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Oct 15 15:21:20 2009 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/teigland/dlm\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/teigland/dlm:\n  dlm: fix socket fd translation\n  dlm: fix lowcomms_connect_node for sctp\n"
    },
    {
      "commit": "dcbeb0bec5f2695c3ff53f174efb8e03c209f3f3",
      "tree": "30d223a3a3c7470c657284ef030657bd1753d4d3",
      "parents": [
        "2b650df2cea96e487f2fd9ecaa68e533ea9b5ed7",
        "444528b3e614f7f2391488d9bca8e0b872db909b"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Oct 15 15:06:37 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Oct 15 15:06:37 2009 -0700"
      },
      "message": "Merge branch \u0027master\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/mason/btrfs-unstable\n\n* \u0027master\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/mason/btrfs-unstable:\n  Btrfs: always pin metadata in discard mode\n  Btrfs: enable discard support\n  Btrfs: add -o discard option\n  Btrfs: properly wait log writers during log sync\n  Btrfs: fix possible ENOSPC problems with truncate\n  Btrfs: fix btrfs acl #ifdef checks\n  Btrfs: streamline tree-log btree block writeout\n  Btrfs: avoid tree log commit when there are no changes\n  Btrfs: only write one super copy during fsync\n"
    },
    {
      "commit": "83db93f4de2d9ae441a491d1dc61c2204f0195de",
      "tree": "13fb296040c8284cf09f318923aa170212cc245d",
      "parents": [
        "a6a8357788d6a37f8ad0f7eb46b0a386b613abb9"
      ],
      "author": {
        "name": "Neil Brown",
        "email": "neilb@suse.de",
        "time": "Tue Sep 15 16:05:51 2009 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Wed Oct 14 15:16:25 2009 -0700"
      },
      "message": "sysfs: Allow sysfs_notify_dirent to be called from interrupt context.\n\nsysfs_notify_dirent is a simple atomic operation that can be used to\nalert user-space that new data can be read from a sysfs attribute.\n\nUnfortunately it cannot currently be called from non-process context\nbecause of its use of spin_lock which is sometimes taken with\ninterrupts enabled.\n\nSo change all lockers of sysfs_open_dirent_lock to disable interrupts,\nthus making sysfs_notify_dirent safe to be called from non-process\ncontext (as drivers/md does in md_safemode_timeout).\n\nsysfs_get_open_dirent is (documented as being) only called from\nprocess context, so it uses spin_lock_irq.  Other places\nuse spin_lock_irqsave.\n\nThe usage for sysfs_notify_dirent in md_safemode_timeout was\nintroduced in 2.6.28, so this patch is suitable for that and more\nrecent kernels.\n\nReported-by: Joel Andres Granados \u003cjgranado@redhat.com\u003e\nSigned-off-by: NeilBrown \u003cneilb@suse.de\u003e\nSigned-off-by: Dan Williams \u003cdan.j.williams@intel.com\u003e\nCc: stable \u003cstable@kernel.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "a6a8357788d6a37f8ad0f7eb46b0a386b613abb9",
      "tree": "b8505a5394bc7f825753e0451f421b8333388e37",
      "parents": [
        "80f506918fdaaca6b574ba931536a58ce015c7be"
      ],
      "author": {
        "name": "Cornelia Huck",
        "email": "cornelia.huck@de.ibm.com",
        "time": "Tue Oct 06 15:33:35 2009 +0200"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Wed Oct 14 15:16:25 2009 -0700"
      },
      "message": "sysfs: Allow sysfs_move_dir(..., NULL) again.\n\nAs device_move() and kobject_move() both handle a NULL destination,\nsysfs_move_dir() should do this as well (again) and fall back to\nsysfs_root in that case.\n\nSigned-off-by: Cornelia Huck \u003ccornelia.huck@de.ibm.com\u003e\nCc: Phil Carmody \u003cext-phil.2.carmody@nokia.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "444528b3e614f7f2391488d9bca8e0b872db909b",
      "tree": "5326be87610ed3fc7a14d0f28e96e5e22207cf5f",
      "parents": [
        "0634857488ec6e28fa22920cd0bee3c2ac07ccfd"
      ],
      "author": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Wed Oct 14 09:38:28 2009 -0400"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Wed Oct 14 10:32:50 2009 -0400"
      },
      "message": "Btrfs: always pin metadata in discard mode\n\nWe have an optimization in btrfs to allow blocks to be\nimmediately freed if they were allocated in this transaction and never\nwritten.  Otherwise they are pinned and freed when the transaction\ncommits.\n\nThis isn\u0027t optimal for discard mode because immediately freeing\nthem means immediately discarding them.  It is better to give the\nblock to the pinning code and letting the (slow) discard happen later.\n\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "0634857488ec6e28fa22920cd0bee3c2ac07ccfd",
      "tree": "6cfa348aea76f39b658d3a36ab51807a4ac7bcf7",
      "parents": [
        "e244a0aeb6a599c19a7c802cda6e2d67c847b154"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Wed Oct 14 09:24:59 2009 -0400"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Wed Oct 14 10:32:49 2009 -0400"
      },
      "message": "Btrfs: enable discard support\n\nThe discard support code in btrfs currently is guarded by ifdefs for\nBIO_RW_DISCARD, which is never defines as it\u0027s the name of an enum\nmemeber.  Just remove the useless ifdefs to actually enable the code.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "e244a0aeb6a599c19a7c802cda6e2d67c847b154",
      "tree": "392d8d48c4e6676a552230135ad448d522007ece",
      "parents": [
        "86df7eb921a009515285e7171363fa57dd2d7d31"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Wed Oct 14 09:24:59 2009 -0400"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Wed Oct 14 10:32:49 2009 -0400"
      },
      "message": "Btrfs: add -o discard option\n\nEnable discard by default is not a good idea given the the trim speed\nof SSD prototypes we\u0027ve seen, and the carecteristics for many high-end\narrays.  Turn of discards by default and require the -o discard option\nto enable them on.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "86df7eb921a009515285e7171363fa57dd2d7d31",
      "tree": "884e8cda2535dc43cf57ce9fa273381b827d2f4f",
      "parents": [
        "5d5e103a70f74ae98e3965a4add1ab951d0651d1"
      ],
      "author": {
        "name": "Yan, Zheng",
        "email": "zheng.yan@oracle.com",
        "time": "Wed Oct 14 09:24:59 2009 -0400"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Wed Oct 14 10:32:48 2009 -0400"
      },
      "message": "Btrfs: properly wait log writers during log sync\n\nA recently fsync optimization make btrfs_sync_log skip calling\nwait_for_writer in the single log writer case. This is incorrect\nsince the writer count can also be increased by btrfs_pin_log.\n\nSigned-off-by: Yan Zheng \u003czheng.yan@oracle.com\u003e\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "5d5e103a70f74ae98e3965a4add1ab951d0651d1",
      "tree": "83b1cc73830f72f592aa804207a679912beef101",
      "parents": [
        "0eda294dfc980c1cbe4f8a0564bf543f86a01ddb"
      ],
      "author": {
        "name": "Josef Bacik",
        "email": "josef@redhat.com",
        "time": "Tue Oct 13 16:46:49 2009 -0400"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Wed Oct 14 10:32:47 2009 -0400"
      },
      "message": "Btrfs: fix possible ENOSPC problems with truncate\n\nThere\u0027s a problem where we don\u0027t do any space reservation for truncates, which\ncan cause you to OOPs because you will be allowed to go off in the weeds a bit\nsince we don\u0027t account for the delalloc bytes that are created as a result of\nthe truncate.\n\nSigned-off-by: Josef Bacik \u003cjbacik@redhat.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": "690587d109ffe19d6743e4cc80c18b0906b7f9ff",
      "tree": "788acd32c4ed1463d0166d0c45b233d96bb102e0",
      "parents": [
        "257c62e1bce03e5b9f3f069fd52ad73a56de71fd"
      ],
      "author": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Tue Oct 13 13:29:19 2009 -0400"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Tue Oct 13 13:35:12 2009 -0400"
      },
      "message": "Btrfs: streamline tree-log btree block writeout\n\nSyncing the tree log is a 3 phase operation.\n\n1) write and wait for all the tree log blocks for a given root.\n\n2) write and wait for all the tree log blocks for the\ntree of tree log roots.\n\n3) write and wait for the super blocks (barriers here)\n\nThis isn\u0027t as efficient as it could be because there is\nno requirement to wait for the blocks from step one to hit the disk\nbefore we start writing the blocks from step two.  This commit\nchanges the sequence so that we don\u0027t start waiting until\nall the tree blocks from both steps one and two have been sent\nto disk.\n\nWe do this by breaking up btrfs_write_wait_marked_extents into\ntwo functions, which is trivial because it was already broken\nup into two parts.\n\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "257c62e1bce03e5b9f3f069fd52ad73a56de71fd",
      "tree": "ad047fe5796156aa88e3f3600111bf2b8d12759f",
      "parents": [
        "4722607db6a78bd7748c51fa4c8d7371da797254"
      ],
      "author": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Tue Oct 13 13:21:08 2009 -0400"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Tue Oct 13 13:35:12 2009 -0400"
      },
      "message": "Btrfs: avoid tree log commit when there are no changes\n\nrpm has a habit of running fdatasync when the file hasn\u0027t\nchanged.  We already detect if a file hasn\u0027t been changed\nin the current transaction but it might have been sent to\nthe tree-log in this transaction and not changed since\nthe last call to fsync.\n\nIn this case, we want to avoid a tree log sync, which includes\na number of synchronous writes and barriers.  This commit\nextends the existing tracking of the last transaction to change\na file to also track the last sub-transaction.\n\nThe end result is that rpm -ivh and -Uvh are roughly twice as fast,\nand on par with ext3.\n\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "4722607db6a78bd7748c51fa4c8d7371da797254",
      "tree": "83c483a3f55d3f024863e1e33c3ac123e688c868",
      "parents": [
        "ac6889cbb254be1ffea376bea4a96ce9be0e0ed0"
      ],
      "author": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Tue Oct 13 12:55:09 2009 -0400"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Tue Oct 13 13:35:11 2009 -0400"
      },
      "message": "Btrfs: only write one super copy during fsync\n\nDuring a tree-log commit for fsync, we\u0027ve been writing at least\ntwo copies of the super block and forcing them to disk.\n\nThe other filesystems write only one, and this change brings us on\npar with them.  A full transaction commit will write all the super\ncopies, so we still have redundant info written on a regular\nbasis.\n\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "80f506918fdaaca6b574ba931536a58ce015c7be",
      "tree": "938bddf32e8c5dca114cb1a5f3ca2a62960accc8",
      "parents": [
        "a3bafbbbb5ac49355aa35e6a722eac6ef1dff19a",
        "2ec24ff1d1875defa742c76c9c7d74dca06b7e1f"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Oct 13 10:21:33 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Oct 13 10:21:33 2009 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.dk/linux-2.6-block\n\n* \u0027for-linus\u0027 of git://git.kernel.dk/linux-2.6-block:\n  cciss: Add cciss_allow_hpsa module parameter\n  cciss: Fix multiple calls to pci_release_regions\n  blk-settings: fix function parameter kernel-doc notation\n  writeback: kill space in debugfs item name\n  writeback: account IO throttling wait as iowait\n  elv_iosched_store(): fix strstrip() misuse\n  cfq-iosched: avoid probable slice overrun when idling\n  cfq-iosched: apply bool value where we return 0/1\n  cfq-iosched: fix think time allowed for seekers\n  cfq-iosched: fix the slice residual sign\n  cfq-iosched: abstract out the \u0027may this cfqq dispatch\u0027 logic\n  block: use proper BLK_RW_ASYNC in blk_queue_start_tag()\n  block: Seperate read and write statistics of in_flight requests v2\n  block: get rid of kblock_schedule_delayed_work()\n  cfq-iosched: fix possible problem with jiffies wraparound\n  cfq-iosched: fix issue with rq-rq merging and fifo list ordering\n"
    },
    {
      "commit": "96ec2e0a719fd61791dd2b0dd01325c5d20e1233",
      "tree": "b68be3b6d76ee13dbd80f4877c7b9e45b8926e02",
      "parents": [
        "2caa731819a633bec5a56736e64c562b7e193666"
      ],
      "author": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Wed Sep 16 11:21:13 2009 -0400"
      },
      "committer": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Tue Oct 13 00:06:43 2009 +0200"
      },
      "message": "ext3: Don\u0027t update superblock write time when filesystem is read-only\n\nThis avoids updating the superblock write time when we are mounting\nthe root file system read/only but we need to replay the journal; at\nthat point, for people who are east of GMT and who make their clock\ntick in localtime for Windows bug-for-bug compatibility, and this will\ncause e2fsck to complain and force a full file system check.\n\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\n"
    },
    {
      "commit": "a1be9eee2996fd9969625e7b5e2f2bc2032fd3cb",
      "tree": "b2f9bd708207a4013605320487b480a3a1ba56f8",
      "parents": [
        "eea7e17e0eb23729d58368420659f8e7c357d82e"
      ],
      "author": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Mon Oct 12 11:26:12 2009 -0400"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 12 10:25:12 2009 -0700"
      },
      "message": "NFS: suppress a build warning\n\nstruct sockaddr_storage * can safely be used as struct sockaddr *.\nSuppress an \"incompatible pointer type\" warning.\n\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "ef1f7a7e878e4ae37b3a78ebdeef9f911bae59df",
      "tree": "e73d6e0e852d370effdb9e6fb624e696321683ac",
      "parents": [
        "c6c599272374a358b4171d50ffd605e6cf7b481c"
      ],
      "author": {
        "name": "Bernd Schmidt",
        "email": "bernds_cb1@t-online.de",
        "time": "Tue Oct 06 09:55:26 2009 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Oct 11 11:33:56 2009 -0700"
      },
      "message": "ROMFS: fix length used with romfs_dev_strnlen() function\n\nAn interestingly corrupted romfs file system exposed a problem with the\nromfs_dev_strnlen function: it\u0027s passing the wrong value to its helpers.\nRather than limit the string to the length passed in by the callers, it\nuses the size of the device as the limit.\n\nSigned-off-by: Bernd Schmidt \u003cbernds_cb1@t-online.de\u003e\nSigned-off-by: Mike Frysinger \u003cvapier@gentoo.org\u003e\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "474a503d4bf77ae0cbe484dd0842a2648c0b1c28",
      "tree": "70e3e4023209e741546491a58622bd45fb13e308",
      "parents": [
        "d43c36dc6b357fa1806800f18aa30123c747a6d1",
        "ac6889cbb254be1ffea376bea4a96ce9be0e0ed0"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Oct 11 11:23:13 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Oct 11 11:23:13 2009 -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:\n  Btrfs: fix file clone ioctl for bookend extents\n  Btrfs: fix uninit compiler warning in cow_file_range_nocow\n  Btrfs: constify dentry_operations\n  Btrfs: optimize back reference update during btrfs_drop_snapshot\n  Btrfs: remove negative dentry when deleting subvolumne\n  Btrfs: optimize fsync for the single writer case\n  Btrfs: async delalloc flushing under space pressure\n  Btrfs: release delalloc reservations on extent item insertion\n  Btrfs: delay clearing EXTENT_DELALLOC for compressed extents\n  Btrfs: cleanup extent_clear_unlock_delalloc flags\n  Btrfs: fix possible softlockup in the allocator\n  Btrfs: fix deadlock on async thread startup\n"
    },
    {
      "commit": "d43c36dc6b357fa1806800f18aa30123c747a6d1",
      "tree": "339ce510073ecbe9b3592008f7dece7b277035ef",
      "parents": [
        "69585dd69e663a40729492c7b52eb82477a2027a"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Wed Oct 07 17:09:06 2009 +0400"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Oct 11 11:20:58 2009 -0700"
      },
      "message": "headers: remove sched.h from interrupt.h\n\nAfter m68k\u0027s task_thread_info() doesn\u0027t refer to current,\nit\u0027s possible to remove sched.h from interrupt.h and not break m68k!\nMany thanks to Heiko Carstens for allowing this.\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\n"
    },
    {
      "commit": "4047df09a1581284218cb378208a87eaa36f2d2c",
      "tree": "16e0f13b10d68f645b545a1c919714c66f75b863",
      "parents": [
        "a372bf8b6a12f23f68e716113ccaea4bf646dd0f",
        "36520be8e32b49bd85a63b7b8b40cd07c3da59a5"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Oct 09 13:30:14 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Oct 09 13:30:14 2009 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/ecryptfs/ecryptfs-2.6\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/ecryptfs/ecryptfs-2.6:\n  ima: ecryptfs fix imbalance message\n  eCryptfs: Remove Kconfig NET dependency and select MD5\n  ecryptfs: depends on CRYPTO\n"
    },
    {
      "commit": "a372bf8b6a12f23f68e716113ccaea4bf646dd0f",
      "tree": "3852e11c78e5dea779f49e9a94288c8ac827e821",
      "parents": [
        "0d5d1aadc8e299874a6a014d65b6bb903b12424d",
        "e09d39968bd8befa087f10f970fa236e8694b643"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Oct 09 13:29:42 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Oct 09 13:29:42 2009 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://oss.sgi.com/xfs/xfs\n\n* \u0027for-linus\u0027 of git://oss.sgi.com/xfs/xfs:\n  xfs: stop calling filemap_fdatawait inside -\u003efsync\n  fix readahead calculations in xfs_dir2_leaf_getdents()\n  xfs: make sure xfs_sync_fsdata covers the log\n  xfs: mark inodes dirty before issuing I/O\n  xfs: cleanup -\u003esync_fs\n  xfs: fix xfs_quiesce_data\n  xfs: implement -\u003edirty_inode to fix timestamp handling\n"
    },
    {
      "commit": "ac6889cbb254be1ffea376bea4a96ce9be0e0ed0",
      "tree": "8f0e073af940b1bdfb134b945a03a1b43b614352",
      "parents": [
        "e9061e214810c9534381a705a1b46533e09f2676"
      ],
      "author": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Fri Oct 09 11:29:53 2009 -0400"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Fri Oct 09 11:29:53 2009 -0400"
      },
      "message": "Btrfs: fix file clone ioctl for bookend extents\n\nThe file clone ioctl was incorrectly taking the offset into the\nextent on disk into account when calculating the length of the\ncloned extent.\n\nThe length never changes based on the offset into the physical extent.\n\nTest case:\n\nfallocate -l 1g image\nmke2fs image\nbcp image image2\ne2fsck -f image2\n\n(errors on image2)\n\nThe math bug ends up wrapping the length of the extent, and things\ngo wrong from there.\n\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "e9061e214810c9534381a705a1b46533e09f2676",
      "tree": "7eed17ffbfc2eeb06da70dafe8087855c4b22a60",
      "parents": [
        "82d339d9b3a6395f17d3253887653250b693b74b"
      ],
      "author": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Fri Oct 09 09:57:45 2009 -0400"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Fri Oct 09 09:57:45 2009 -0400"
      },
      "message": "Btrfs: fix uninit compiler warning in cow_file_range_nocow\n\nThe extent_type variable was exposed uninit via a goto.  It should be\nimpossible to trigger because it is protected by a check on another\nvariable, but this makes sure.\n\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "82d339d9b3a6395f17d3253887653250b693b74b",
      "tree": "04671df82289708192bd650c67eaa2f8a999132b",
      "parents": [
        "94fcca9f8999e7828d5f4dc181daa39cad2af38a"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Fri Oct 09 09:54:36 2009 -0400"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Fri Oct 09 09:54:36 2009 -0400"
      },
      "message": "Btrfs: constify dentry_operations\n\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "94fcca9f8999e7828d5f4dc181daa39cad2af38a",
      "tree": "68842517a4d10d080bc4f70abae19e480d2ac049",
      "parents": [
        "efefb1438be269897585934fc6c05deb4dfa01ce"
      ],
      "author": {
        "name": "Yan, Zheng",
        "email": "zheng.yan@oracle.com",
        "time": "Fri Oct 09 09:25:16 2009 -0400"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Fri Oct 09 09:25:16 2009 -0400"
      },
      "message": "Btrfs: optimize back reference update during btrfs_drop_snapshot\n\nThis patch reading level 0 tree blocks that already use full backrefs.\n\nSigned-off-by: Yan Zheng \u003czheng.yan@oracle.com\u003e\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "efefb1438be269897585934fc6c05deb4dfa01ce",
      "tree": "41d3bf63789bc656421dfbd651bf38caf580ec03",
      "parents": [
        "ff782e0a131c7f669445c07fe5c7ba91e043b7ed"
      ],
      "author": {
        "name": "Yan, Zheng",
        "email": "zheng.yan@oracle.com",
        "time": "Fri Oct 09 09:25:16 2009 -0400"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Fri Oct 09 09:25:16 2009 -0400"
      },
      "message": "Btrfs: remove negative dentry when deleting subvolumne\n\nThe use of btrfs_dentry_delete is removing dentries from the\ndcache when deleting subvolumne. btrfs_dentry_delete ignores\nnegative dentries. This is incorrect since if we don\u0027t remove\nthe negative dentry, its parent dentry can\u0027t be removed.\n\nSigned-off-by: Yan Zheng \u003czheng.yan@oracle.com\u003e\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "32b7a567c8d860b2d79067129ac2db4c4d2df3a0",
      "tree": "82c2ec3d29c66fd65fa5770fa126ae3ee86c4ae6",
      "parents": [
        "36a07902c2134649c4af7f07980413ffb1a56085",
        "3050141bae57984dd660e6861632ccf9b8bca77e"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Oct 08 14:15:19 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Oct 08 14:15:19 2009 -0700"
      },
      "message": "Merge branch \u0027bugfixes\u0027 of git://git.linux-nfs.org/projects/trondmy/nfs-2.6\n\n* \u0027bugfixes\u0027 of git://git.linux-nfs.org/projects/trondmy/nfs-2.6:\n  NFSv4: Kill nfs4_renewd_prepare_shutdown()\n  NFSv4: Fix the referral mount code\n  nfs: Avoid overrun when copying client IP address string\n  NFS: Fix port initialisation in nfs_remount()\n  NFS: Fix port and mountport display in /proc/self/mountinfo\n  NFS: Fix a default mount regression...\n"
    },
    {
      "commit": "ff782e0a131c7f669445c07fe5c7ba91e043b7ed",
      "tree": "ff7773e6ce60bf977ed29897c13605f257647684",
      "parents": [
        "e3ccfa989752c083ceb23c823a84f7ce3a081e61"
      ],
      "author": {
        "name": "Josef Bacik",
        "email": "josef@redhat.com",
        "time": "Thu Oct 08 15:30:04 2009 -0400"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Thu Oct 08 15:30:04 2009 -0400"
      },
      "message": "Btrfs: optimize fsync for the single writer case\n\nThis patch optimizes the tree logging stuff so it doesn\u0027t always wait 1 jiffie\nfor new people to join the logging transaction if there is only ever 1 writer.\nThis helps a little bit with latency where we have something like RPM where it\nwill fdatasync every file it writes, and so waiting the 1 jiffie for every\nfdatasync really starts to add up.\n\nSigned-off-by: Josef Bacik \u003cjbacik@redhat.com\u003e\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "e3ccfa989752c083ceb23c823a84f7ce3a081e61",
      "tree": "197558cbee7b773b8270cd861f882a37beacd2ed",
      "parents": [
        "32c00aff718bb54a214b39146bdd9ac01511cd25"
      ],
      "author": {
        "name": "Josef Bacik",
        "email": "josef@redhat.com",
        "time": "Wed Oct 07 20:44:34 2009 -0400"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Thu Oct 08 15:21:23 2009 -0400"
      },
      "message": "Btrfs: async delalloc flushing under space pressure\n\nThis patch moves the delalloc flushing that occurs when we are under space\npressure off to a async thread pool.  This helps since we only free up\nmetadata space when we actually insert the extent item, which means it takes\nquite a while for space to be free\u0027ed up if we wait on all ordered extents.\nHowever, if space is freed up due to inline extents being inserted, we can\nwake people who are waiting up early, and they can finish their work.\n\nSigned-off-by: Josef Bacik \u003cjbacik@redhat.com\u003e\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "32c00aff718bb54a214b39146bdd9ac01511cd25",
      "tree": "c094ee494723a9ebc9d83cb95607f06351665639",
      "parents": [
        "a3429ab70b04363c6190964e82f04f44f3e34cf0"
      ],
      "author": {
        "name": "Josef Bacik",
        "email": "josef@redhat.com",
        "time": "Thu Oct 08 13:34:05 2009 -0400"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Thu Oct 08 15:21:10 2009 -0400"
      },
      "message": "Btrfs: release delalloc reservations on extent item insertion\n\nThis patch fixes an issue with the delalloc metadata space reservation\ncode.  The problem is we used to free the reservation as soon as we\nallocated the delalloc region.  The problem with this is if we are not\ninserting an inline extent, we don\u0027t actually insert the extent item until\nafter the ordered extent is written out.  This patch does 3 things,\n\n1) It moves the reservation clearing stuff into the ordered code, so when\nwe remove the ordered extent we remove the reservation.\n2) It adds a EXTENT_DO_ACCOUNTING flag that gets passed when we clear\ndelalloc bits in the cases where we want to clear the metadata reservation\nwhen we clear the delalloc extent, in the case that we do an inline extent\nor we invalidate the page.\n3) It adds another waitqueue to the space info so that when we start a fs\nwide delalloc flush, anybody else who also hits that area will simply wait\nfor the flush to finish and then try to make their allocation.\n\nThis has been tested thoroughly to make sure we did not regress on\nperformance.\n\nSigned-off-by: Josef Bacik \u003cjbacik@redhat.com\u003e\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "a3429ab70b04363c6190964e82f04f44f3e34cf0",
      "tree": "f9aa5104699fdb82a3dfa327948241aa3e0022d5",
      "parents": [
        "a791e35e12ff672e8a0e140abeeaf900c3b2ea77"
      ],
      "author": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Thu Oct 08 12:30:20 2009 -0400"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Thu Oct 08 15:11:50 2009 -0400"
      },
      "message": "Btrfs: delay clearing EXTENT_DELALLOC for compressed extents\n\nWhen compression is on, the cow_file_range code is farmed off to\nworker threads.  This allows us to do significant CPU work in parallel\non SMP machines.\n\nBut it is a delicate balance around when we clear flags and how.  In\nthe past we cleared the delalloc flag immediately, which was safe\nbecause the pages stayed locked.\n\nBut this is causing problems with the newest ENOSPC code, and with the\nrecent extent state cleanups we can now clear the delalloc bit at the\nsame time the uncompressed code does.\n\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "a791e35e12ff672e8a0e140abeeaf900c3b2ea77",
      "tree": "f03b99451619c0425f3c93fbef3940c2b08c1bd3",
      "parents": [
        "1cdda9b81ac0e6ee986f034fa02f221679e1c11a"
      ],
      "author": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Thu Oct 08 11:27:10 2009 -0400"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Thu Oct 08 15:11:49 2009 -0400"
      },
      "message": "Btrfs: cleanup extent_clear_unlock_delalloc flags\n\nextent_clear_unlock_delalloc has a growing set of ugly parameters\nthat is very difficult to read and maintain.\n\nThis switches to a flag field and well named flag defines.\n\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "e09d39968bd8befa087f10f970fa236e8694b643",
      "tree": "393f4cdd32504ed435b7a5f728cf74855378459d",
      "parents": [
        "fdec29c5fcd2705d61c1d14a1d4c74be03e9627c",
        "d0800703febc04827b8fa91921aa4e254d01e8d1"
      ],
      "author": {
        "name": "Alex Elder",
        "email": "aelder@sgi.com",
        "time": "Thu Oct 08 13:53:44 2009 -0500"
      },
      "committer": {
        "name": "Alex Elder",
        "email": "aelder@sgi.com",
        "time": "Thu Oct 08 13:53:44 2009 -0500"
      },
      "message": "Merge branch \u0027master\u0027 into for-linus\n"
    },
    {
      "commit": "d0800703febc04827b8fa91921aa4e254d01e8d1",
      "tree": "814c8d76966873d5cc683ba9de14ef2226897f48",
      "parents": [
        "8e69ce147127a0235e8d1f2b75ea214be78c61b3"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Sat Sep 26 19:55:04 2009 +0000"
      },
      "committer": {
        "name": "Alex Elder",
        "email": "aelder@sgi.com",
        "time": "Thu Oct 08 12:02:48 2009 -0500"
      },
      "message": "xfs: stop calling filemap_fdatawait inside -\u003efsync\n\nNow that the VFS actually waits for the data I/O to complete before\ncalling into -\u003efsync we can stop doing it ourselves.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nReviewed-by: Alex Elder \u003caelder@sgi.com\u003e\nSigned-off-by: Alex Elder \u003caelder@sgi.com\u003e\n"
    },
    {
      "commit": "8e69ce147127a0235e8d1f2b75ea214be78c61b3",
      "tree": "9de85d2c0e0527e7821f6844b03ef8ca47ed00f8",
      "parents": [
        "dce5065a57c158e0ca5db8e63c50118b2ecf4ac5"
      ],
      "author": {
        "name": "Eric Sandeen",
        "email": "sandeen@sandeen.net",
        "time": "Fri Sep 25 19:42:26 2009 +0000"
      },
      "committer": {
        "name": "Alex Elder",
        "email": "aelder@sgi.com",
        "time": "Thu Oct 08 12:02:12 2009 -0500"
      },
      "message": "fix readahead calculations in xfs_dir2_leaf_getdents()\n\nThis is for bug #850,\nhttp://oss.sgi.com/bugzilla/show_bug.cgi?id\u003d850\nXFS file system segfaults , repeatedly and 100% reproducable in 2.6.30 , 2.6.31\n\nThe above only showed up on a CONFIG_XFS_DEBUG\u003dy kernel, because\nxfs_bmapi() ASSERTs that it has been asked for at least one map,\n\nand it was getting 0.\n\nThe root cause is that our guesstimated \"bufsize\" from xfs_file_readdir\nwas fairly small, and the\n\n\t\tbufsize -\u003d length;\n\nin the loop was going negative - except bufsize is a size_t, so it\nwas wrapping to a very large number.\n\nThen when we did\n\t\tra_want \u003d howmany(bufsize + mp-\u003em_dirblksize,\n\t\t\t\t  mp-\u003em_sb.sb_blocksize) - 1;\n\nwith that very large number, the (int) ra_want was coming out\nnegative, and a subsequent compare:\n\n\t\tif (1 + ra_want \u003e map_blocks ...\n\nwas coming out -true- (negative int compare w/ uint) and we went\nback to xfs_bmapi() for more, even though we did not need more,\nand asked for 0 maps, and hit the ASSERT.\n\nWe have kind of a type mess here, but just keeping bufsize from\ngoing negative is probably sufficient to avoid the problem.\n\nSigned-off-by: Eric Sandeen \u003csandeen@sandeen.net\u003e\nReviewed-by: Christoph Hellwig \u003chch@lst.de\u003e\nReviewed-by: Alex Elder \u003caelder@sgi.com\u003e\nSigned-off-by: Alex Elder \u003caelder@sgi.com\u003e\n"
    },
    {
      "commit": "dce5065a57c158e0ca5db8e63c50118b2ecf4ac5",
      "tree": "3cd53a5fd21551585e0c01febbf9daebed8d5749",
      "parents": [
        "932640e8adaff3d0c28ee32d4863c7a7a74df055"
      ],
      "author": {
        "name": "Dave Chinner",
        "email": "david@fromorbit.com",
        "time": "Tue Oct 06 20:29:30 2009 +0000"
      },
      "committer": {
        "name": "Alex Elder",
        "email": "aelder@sgi.com",
        "time": "Thu Oct 08 12:01:49 2009 -0500"
      },
      "message": "xfs: make sure xfs_sync_fsdata covers the log\n\nWe want to always cover the log after writing out the superblock, and\nin case of a synchronous writeout make sure we actually wait for the\nlog to be covered.  That way a filesystem that has been sync()ed can\nbe considered clean by log recovery.\n\nSigned-off-by: Dave Chinner \u003cdavid@fromorbit.com\u003e\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nReviewed-by: Eric Sandeen \u003csandeen@sandeen.net\u003e\nReviewed-by: Alex Elder \u003caelder@sgi.com\u003e\nSigned-off-by: Alex Elder \u003caelder@sgi.com\u003e\n"
    },
    {
      "commit": "932640e8adaff3d0c28ee32d4863c7a7a74df055",
      "tree": "14c1bd418ca5a5c7234946eee17386ce6df68e3a",
      "parents": [
        "69961a26b82931601e07c9e3656bd90c598f2395"
      ],
      "author": {
        "name": "Dave Chinner",
        "email": "david@fromorbit.com",
        "time": "Tue Oct 06 20:29:29 2009 +0000"
      },
      "committer": {
        "name": "Alex Elder",
        "email": "aelder@sgi.com",
        "time": "Thu Oct 08 12:01:26 2009 -0500"
      },
      "message": "xfs: mark inodes dirty before issuing I/O\n\nTo make sure they get properly waited on in sync when I/O is in flight and\nwe latter need to update the inode size.  Requires a new helper to check if an\nioend structure is beyond the current EOF.\n\nSigned-off-by: Dave Chinner \u003cdavid@fromorbit.com\u003e\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nReviewed-by: Alex Elder \u003caelder@sgi.com\u003e\nSigned-off-by: Alex Elder \u003caelder@sgi.com\u003e\n"
    },
    {
      "commit": "69961a26b82931601e07c9e3656bd90c598f2395",
      "tree": "0798e1feac2cebe0327affef4a63bdf6fd11ff02",
      "parents": [
        "c90b07e8dd9f263d2e2af1d9648ba269f4d0d8fd"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Tue Oct 06 20:29:28 2009 +0000"
      },
      "committer": {
        "name": "Alex Elder",
        "email": "aelder@sgi.com",
        "time": "Thu Oct 08 12:01:03 2009 -0500"
      },
      "message": "xfs: cleanup -\u003esync_fs\n\nSort out -\u003esync_fs to not perform a superblock writeback for the wait \u003d 0 case\nas that is just an optional first pass and the superblock will be written back\nproperly in the next call with wait \u003d 1.  Instead perform an opportunistic\nquota writeback to have less work later.  Also remove the freeze special case\nas we do a proper wait \u003d 1 call in the freeze code anyway.\n\nAlso rename the function to xfs_fs_sync_fs to match the normal naming\nconvention, update comments and avoid calling into the laptop_mode logic on\nan error.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nReviewed-by: Alex Elder \u003caelder@sgi.com\u003e\nSigned-off-by: Alex Elder \u003caelder@sgi.com\u003e\n"
    },
    {
      "commit": "c90b07e8dd9f263d2e2af1d9648ba269f4d0d8fd",
      "tree": "a2dd23b15d74f1ea338394c545ae5d569a1fb557",
      "parents": [
        "f9581b1443abac50c90168301d40a7734b13a5dc"
      ],
      "author": {
        "name": "Dave Chinner",
        "email": "david@fromorbit.com",
        "time": "Tue Oct 06 20:29:27 2009 +0000"
      },
      "committer": {
        "name": "Alex Elder",
        "email": "aelder@sgi.com",
        "time": "Thu Oct 08 12:00:36 2009 -0500"
      },
      "message": "xfs: fix xfs_quiesce_data\n\nWe need to do a synchronous xfs_sync_fsdata to make sure the superblock\nactually is on disk when we return.\n\nAlso remove SYNC_BDFLUSH flag to xfs_sync_inodes because that particular\nflag is never checked.\n\nMove xfs_filestream_flush call later to only release inodes after they\nhave been written out.\n\nSigned-off-by: Dave Chinner \u003cdavid@fromorbit.com\u003e\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nReviewed-by: Alex Elder \u003caelder@sgi.com\u003e\nSigned-off-by: Alex Elder \u003caelder@sgi.com\u003e\n"
    },
    {
      "commit": "f9581b1443abac50c90168301d40a7734b13a5dc",
      "tree": "1ffecb2a1be9f0be55d9307fa93910ba24f8ed56",
      "parents": [
        "9ef96da6ec5e1b4cf7eb8e30852cd88ec7d5fdc0"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Tue Oct 06 20:29:26 2009 +0000"
      },
      "committer": {
        "name": "Alex Elder",
        "email": "aelder@sgi.com",
        "time": "Thu Oct 08 12:00:03 2009 -0500"
      },
      "message": "xfs: implement -\u003edirty_inode to fix timestamp handling\n\nThis is picking up on Felix\u0027s repost of Dave\u0027s patch to implement a\n.dirty_inode method.  We really need this notification because\nthe VFS keeps writing directly into the inode structure instead\nof going through methods to update this state.  In addition to\nthe long-known atime issue we now also have a caller in VM code\nthat updates c/mtime that way for shared writeable mmaps.  And\nI found another one that no one has noticed in practice in the FIFO\ncode.\n\nSo implement -\u003edirty_inode to set i_update_core whenever the\ninode gets externally dirtied, and switch the c/mtime handling to\nthe same scheme we already use for atime (always picking up\nthe value from the Linux inode).\n\nNote that this patch also removes the xfs_synchronize_atime call\nin xfs_reclaim it was superflous as we already synchronize the time\nwhen writing the inode via the log (xfs_inode_item_format) or the\nnormal buffers (xfs_iflush_int).\n\nIn addition also remove the I_CLEAR check before copying the Linux\ntimestamps - now that we always have the Linux inode available\nwe can always use the timestamps in it.\n\nAlso switch to just using file_update_time for regular reads/writes -\nthat will get us all optimization done to it for free and make\nsure we notice early when it breaks.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nReviewed-by: Felix Blyakher \u003cfelixb@sgi.com\u003e\nReviewed-by: Alex Elder \u003caelder@sgi.com\u003e\nSigned-off-by: Alex Elder \u003caelder@sgi.com\u003e\n"
    },
    {
      "commit": "36520be8e32b49bd85a63b7b8b40cd07c3da59a5",
      "tree": "09adf04fad980a8024de3c01d3560a0f263708cd",
      "parents": [
        "ed1f21857e76a92a006e0f890a3d7f72953b1469"
      ],
      "author": {
        "name": "Mimi Zohar",
        "email": "zohar@linux.vnet.ibm.com",
        "time": "Mon Oct 05 14:25:44 2009 -0400"
      },
      "committer": {
        "name": "Tyler Hicks",
        "email": "tyhicks@linux.vnet.ibm.com",
        "time": "Thu Oct 08 11:31:38 2009 -0500"
      },
      "message": "ima: ecryptfs fix imbalance message\n\nThe unencrypted files are being measured.  Update the counters to get\nrid of the ecryptfs imbalance message. (http://bugzilla.redhat.com/519737)\n\nReported-by: Sachin Garg\nCc: Eric Paris \u003ceparis@redhat.com\u003e\nCc: Dustin Kirkland \u003ckirkland@canonical.com\u003e\nCc: James Morris \u003cjmorris@namei.org\u003e\nCc: David Safford \u003csafford@watson.ibm.com\u003e\nCc: stable@kernel.org\nSigned-off-by: Mimi Zohar \u003czohar@us.ibm.com\u003e\nSigned-off-by: Tyler Hicks \u003ctyhicks@linux.vnet.ibm.com\u003e\n"
    },
    {
      "commit": "ed1f21857e76a92a006e0f890a3d7f72953b1469",
      "tree": "21645c57e1011e86fe803fa99544b2314e231cec",
      "parents": [
        "664fc5a4e7d0d7f3487e5c856b79f7dac79567fd"
      ],
      "author": {
        "name": "Tyler Hicks",
        "email": "tyhicks@linux.vnet.ibm.com",
        "time": "Tue Sep 29 02:33:59 2009 -0500"
      },
      "committer": {
        "name": "Tyler Hicks",
        "email": "tyhicks@linux.vnet.ibm.com",
        "time": "Thu Oct 08 11:31:36 2009 -0500"
      },
      "message": "eCryptfs: Remove Kconfig NET dependency and select MD5\n\neCryptfs no longer uses a netlink interface to communicate with\necryptfsd, so NET is not a valid dependency anymore.\n\nMD5 is required and must be built for eCryptfs to be of any use.\n\nSigned-off-by: Tyler Hicks \u003ctyhicks@linux.vnet.ibm.com\u003e\n"
    },
    {
      "commit": "664fc5a4e7d0d7f3487e5c856b79f7dac79567fd",
      "tree": "9413c8d73c86ce091ab16bce2acadc4397bffba0",
      "parents": [
        "0eca52a92735f43462165efe00a7e394345fb38e"
      ],
      "author": {
        "name": "Randy Dunlap",
        "email": "randy.dunlap@oracle.com",
        "time": "Mon Sep 28 13:34:20 2009 -0700"
      },
      "committer": {
        "name": "Tyler Hicks",
        "email": "tyhicks@linux.vnet.ibm.com",
        "time": "Thu Oct 08 11:21:12 2009 -0500"
      },
      "message": "ecryptfs: depends on CRYPTO\n\necryptfs uses crypto APIs so it should depend on CRYPTO.\nOtherwise many build errors occur. [63 lines not pasted]\n\nSigned-off-by: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nCc: ecryptfs-devel@lists.launchpad.net\nSigned-off-by: Tyler Hicks \u003ctyhicks@linux.vnet.ibm.com\u003e\n"
    },
    {
      "commit": "3050141bae57984dd660e6861632ccf9b8bca77e",
      "tree": "01d0829c1f46885543f93785190d55a3d6ef3203",
      "parents": [
        "517be09def6cd7bc231222ee756fde8ea245a6fe"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Oct 08 11:50:55 2009 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Oct 08 11:50:55 2009 -0400"
      },
      "message": "NFSv4: Kill nfs4_renewd_prepare_shutdown()\n\nThe NFSv4 renew daemon is shared between all active super blocks that refer\nto a particular NFS server, so it is wrong to be shutting it down in\nnfs4_kill_super every time a super block is destroyed.\n\nThis patch therefore kills nfs4_renewd_prepare_shutdown altogether, and\nleaves it up to nfs4_shutdown_client() to also shut down the renew daemon\nby means of the existing call to nfs4_kill_renewd().\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "253fb02d62571e5455eedc9e39b9d660e86a40f0",
      "tree": "f52fc8f0d792148d43e4e38ed48dc3666ef50b75",
      "parents": [
        "7823da36ce8e42d66941887eb922768d259763f2"
      ],
      "author": {
        "name": "Wu Fengguang",
        "email": "fengguang.wu@intel.com",
        "time": "Wed Oct 07 16:32:27 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Oct 08 07:36:39 2009 -0700"
      },
      "message": "pagemap: export KPF_HWPOISON\n\nThis flag indicates a hardware detected memory corruption on the page.\nAny future access of the page data may bring down the machine.\n\nSigned-off-by: Wu Fengguang \u003cfengguang.wu@intel.com\u003e\nCc: Andi Kleen \u003candi@firstfloor.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "4055e97318809638a57fbe1746b93bc7a90ef0d3",
      "tree": "8dedb30f4e9f2da35447a88d7a906427e48eb310",
      "parents": [
        "3700c155af56b54adfc737ba3164a41de2c59d41"
      ],
      "author": {
        "name": "Jaswinder Singh Rajput",
        "email": "jaswinder@kernel.org",
        "time": "Wed Oct 07 16:32:24 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Oct 08 07:36:38 2009 -0700"
      },
      "message": "fs: includecheck fix: proc, kcore.c\n\nfix the following \u0027make includecheck\u0027 warning:\n\n  fs/proc/kcore.c: linux/mm.h is included more than once.\n\nSigned-off-by: Jaswinder Singh Rajput \u003cjaswinderrajput@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "517be09def6cd7bc231222ee756fde8ea245a6fe",
      "tree": "a1ef080c8cddd9e766590cbede7d9310f6e02e53",
      "parents": [
        "f4373bf9e67e4a653c8854acd7b02dac9714c98a"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Oct 06 15:42:20 2009 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Oct 06 15:42:20 2009 -0400"
      },
      "message": "NFSv4: Fix the referral mount code\n\nFix a typo which causes try_location() to use the wrong length argument\nwhen calling nfs_parse_server_name(). This again, causes the initialisation\nof the mount\u0027s sockaddr structure to fail.\n\nAlso ensure that if nfs4_pathname_string() returns an error, then we pass\nthat error back up the stack instead of ENOENT.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "f4373bf9e67e4a653c8854acd7b02dac9714c98a",
      "tree": "d0371ed7638c0939550a2a43aef5b384d2e96b48",
      "parents": [
        "bcd2ea17da6a329a7276cde7286d802f009af332"
      ],
      "author": {
        "name": "Ben Hutchings",
        "email": "ben@decadent.org.uk",
        "time": "Tue Oct 06 15:42:18 2009 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Oct 06 15:42:18 2009 -0400"
      },
      "message": "nfs: Avoid overrun when copying client IP address string\n\nAs seen in \u003chttp://bugs.debian.org/549002\u003e, nfs4_init_client() can\noverrun the source string when copying the client IP address from\nnfs_parsed_mount_data::client_address to nfs_client::cl_ipaddr.  Since\nthese are both treated as null-terminated strings elsewhere, the copy\nshould be done with strlcpy() not memcpy().\n\nSigned-off-by: Ben Hutchings \u003cben@decadent.org.uk\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "bcd2ea17da6a329a7276cde7286d802f009af332",
      "tree": "11344feb0c0c23175844b0cb86da589146e21370",
      "parents": [
        "f5855fecda65c1965c894915ace1e086d4925154"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Oct 06 15:41:22 2009 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Oct 06 15:41:22 2009 -0400"
      },
      "message": "NFS: Fix port initialisation in nfs_remount()\n\nThe recent changeset 53a0b9c4c99ab0085a06421f71592722e5b3fd5f (NFS: Replace\nnfs_parse_ip_address() with rpc_pton()) broke nfs_remount, since the call\nto rpc_pton() will zero out the port number in data-\u003enfs_server.address.\n\nThis is actually due to a bug in nfs_remount: it should be looking at the\nport number in nfs_server.port instead...\n\nThis fixes bug\n   http://bugzilla.kernel.org/show_bug.cgi?id\u003d14276\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "f5855fecda65c1965c894915ace1e086d4925154",
      "tree": "320de50837519abcd62580b3f7f1ae43a6503832",
      "parents": [
        "c5811dbdd26284d63c19fca618bd740dd10ad53d"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Oct 06 15:40:37 2009 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Oct 06 15:40:37 2009 -0400"
      },
      "message": "NFS: Fix port and mountport display in /proc/self/mountinfo\n\nCurrently, the port and mount port will both display as 65535 if you do not\nspecify a port number. That would be wrong...\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "c5811dbdd26284d63c19fca618bd740dd10ad53d",
      "tree": "e41cdb8f267340cd78e5955523c14353b96cb714",
      "parents": [
        "0eca52a92735f43462165efe00a7e394345fb38e"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Oct 06 15:40:15 2009 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Oct 06 15:40:15 2009 -0400"
      },
      "message": "NFS: Fix a default mount regression...\n\nWith the recent spate of changes, the nfs protocol version will now default\nto 2 instead of 3, while the mount protocol version defaults to 3.\n\nThe following patch should ensure the defaults are consistent with the\nprevious defaults of vers\u003d3,proto\u003dtcp,mountvers\u003d3,mountproto\u003dtcp.\n\nThis fixes the bug\n   http://bugzilla.kernel.org/show_bug.cgi?id\u003d14259\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "316d315bffa4026f28085f6b24ebcebede370ac7",
      "tree": "10b6b057fec2382536371d2e14f9d4c0d6cf9eea",
      "parents": [
        "23e018a1b083ecb4b8bb2fb43d58e7c19b5d7959"
      ],
      "author": {
        "name": "Nikanth Karthikesan",
        "email": "knikanth@suse.de",
        "time": "Tue Oct 06 20:16:55 2009 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Oct 06 20:16:55 2009 +0200"
      },
      "message": "block: Seperate read and write statistics of in_flight requests v2\n\nCommit a9327cac440be4d8333bba975cbbf76045096275 added seperate read\nand write statistics of in_flight requests. And exported the number\nof read and write requests in progress seperately through sysfs.\n\nBut  Corrado Zoccolo \u003cczoccolo@gmail.com\u003e reported getting strange\noutput from \"iostat -kx 2\". Global values for service time and\nutilization were garbage. For interval values, utilization was always\n100%, and service time is higher than normal.\n\nSo this was reverted by commit 0f78ab9899e9d6acb09d5465def618704255963b\n\nThe problem was in part_round_stats_single(), I missed the following:\n        if (now \u003d\u003d part-\u003estamp)\n                return;\n\n-       if (part-\u003ein_flight) {\n+       if (part_in_flight(part)) {\n                __part_stat_add(cpu, part, time_in_queue,\n                                part_in_flight(part) * (now - part-\u003estamp));\n                __part_stat_add(cpu, part, io_ticks, (now - part-\u003estamp));\n\nWith this chunk included, the reported regression gets fixed.\n\nSigned-off-by: Nikanth Karthikesan \u003cknikanth@suse.de\u003e\n\n--\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "1cdda9b81ac0e6ee986f034fa02f221679e1c11a",
      "tree": "ae9394e50bc2418e8c3054de12ed44962d6f261a",
      "parents": [
        "61d92c328c16419fc96dc50dd16f8b8c695409ec"
      ],
      "author": {
        "name": "Josef Bacik",
        "email": "josef@redhat.com",
        "time": "Tue Oct 06 10:04:28 2009 -0400"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Tue Oct 06 10:04:28 2009 -0400"
      },
      "message": "Btrfs: fix possible softlockup in the allocator\n\nLike the cluster allocating stuff, we can lockup the box with the normal\nallocation path.  This happens when we\n\n1) Start to cache a block group that is severely fragmented, but has a decent\namount of free space.\n2) Start to commit a transaction\n3) Have the commit try and empty out some of the delalloc inodes with extents\nthat are relatively large.\n\nThe inodes will not be able to make the allocations because they will ask for\nallocations larger than a contiguous area in the free space cache.  So we will\nwait for more progress to be made on the block group, but since we\u0027re in a\ncommit the caching kthread won\u0027t make any more progress and it already has\nenough free space that wait_block_group_cache_progress will just return.  So,\nif we wait and fail to make the allocation the next time around, just loop and\ngo to the next block group.  This keeps us from getting stuck in a softlockup.\nThanks,\n\nSigned-off-by: Josef Bacik \u003cjbacik@redhat.com\u003e\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "61d92c328c16419fc96dc50dd16f8b8c695409ec",
      "tree": "e9cd82eb56ff5f38f64d9f35229d15496e5d53de",
      "parents": [
        "fbf190874407f23d2891b53ffdf7d3c6be8d47ff"
      ],
      "author": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Fri Oct 02 19:11:56 2009 -0400"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Mon Oct 05 09:44:45 2009 -0400"
      },
      "message": "Btrfs: fix deadlock on async thread startup\n\nThe btrfs async worker threads are used for a wide variety of things,\nincluding processing bio end_io functions.  This means that when\nthe endio threads aren\u0027t running, the rest of the FS isn\u0027t\nable to do the final processing required to clear PageWriteback.\n\nThe endio threads also try to exit as they become idle and\nstart more as the work piles up.  The problem is that starting more\nthreads means kthreadd may need to allocate ram, and that allocation\nmay wait until the global number of writeback pages on the system is\nbelow a certain limit.\n\nThe result of that throttling is that end IO threads wait on\nkthreadd, who is waiting on IO to end, which will never happen.\n\nThis commit fixes the deadlock by handing off thread startup to a\ndedicated thread.  It also fixes a bug where the on-demand thread\ncreation was creating far too many threads because it didn\u0027t take into\naccount threads being started by other procs.\n\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "a99bbaf5ee6bad1aca0c88ea65ec6e5373e86184",
      "tree": "2b0314d68b9e0a76e8f4fb60865a1d56e138833a",
      "parents": [
        "5e5027bd26ed4df735d29e66cd5c1c9b5959a587"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Sun Oct 04 16:11:37 2009 +0400"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Oct 04 15:05:10 2009 -0700"
      },
      "message": "headers: remove sched.h from poll.h\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "58e57fbd1c7e8833314459555e337364fe5521f3",
      "tree": "242a3859387588889c9dcc45915b0dec951f84c3",
      "parents": [
        "8a0382f6fceaf0c6479e582e1054f36333ea3d24",
        "0f78ab9899e9d6acb09d5465def618704255963b"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Oct 04 12:39:14 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Oct 04 12:39:14 2009 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.dk/linux-2.6-block\n\n* \u0027for-linus\u0027 of git://git.kernel.dk/linux-2.6-block: (41 commits)\n  Revert \"Seperate read and write statistics of in_flight requests\"\n  cfq-iosched: don\u0027t delay async queue if it hasn\u0027t dispatched at all\n  block: Topology ioctls\n  cfq-iosched: use assigned slice sync value, not default\n  cfq-iosched: rename \u0027desktop\u0027 sysfs entry to \u0027low_latency\u0027\n  cfq-iosched: implement slower async initiate and queue ramp up\n  cfq-iosched: delay async IO dispatch, if sync IO was just done\n  cfq-iosched: add a knob for desktop interactiveness\n  Add a tracepoint for block request remapping\n  block: allow large discard requests\n  block: use normal I/O path for discard requests\n  swapfile: avoid NULL pointer dereference in swapon when s_bdev is NULL\n  fs/bio.c: move EXPORT* macros to line after function\n  Add missing blk_trace_remove_sysfs to be in pair with blk_trace_init_sysfs\n  cciss: fix build when !PROC_FS\n  block: Do not clamp max_hw_sectors for stacking devices\n  block: Set max_sectors correctly for stacking devices\n  cciss: cciss_host_attr_groups should be const\n  cciss: Dynamically allocate the drive_info_struct for each logical drive.\n  cciss: Add usage_count attribute to each logical drive in /sys\n  ...\n"
    },
    {
      "commit": "0f78ab9899e9d6acb09d5465def618704255963b",
      "tree": "b92832da61ae4f4d712a33ae524c482e979be5ba",
      "parents": [
        "e00c54c36ac2024c3a8a37432e2e2698ff849594"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Sun Oct 04 21:04:38 2009 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Sun Oct 04 21:04:38 2009 +0200"
      },
      "message": "Revert \"Seperate read and write statistics of in_flight requests\"\n\nThis reverts commit a9327cac440be4d8333bba975cbbf76045096275.\n\nCorrado Zoccolo \u003cczoccolo@gmail.com\u003e reports:\n\n\"with 2.6.32-rc1 I started getting the following strange output from\n\"iostat -kx 2\":\nLinux 2.6.31bisect (et2) \t04/10/2009 \t_i686_\t(2 CPU)\n\navg-cpu:  %user   %nice %system %iowait  %steal   %idle\n          10,70    0,00    3,16   15,75    0,00   70,38\n\nDevice:         rrqm/s   wrqm/s     r/s     w/s    rkB/s    wkB/s\navgrq-sz avgqu-sz   await  svctm  %util\nsda              18,22     0,00    0,67    0,01    14,77     0,02\n43,94     0,01   10,53 39043915,03 2629219,87\nsdb              60,89     9,68   50,79    3,04  1724,43    50,52\n65,95     0,70   13,06 488437,47 2629219,87\n\navg-cpu:  %user   %nice %system %iowait  %steal   %idle\n           2,72    0,00    0,74    0,00    0,00   96,53\n\nDevice:         rrqm/s   wrqm/s     r/s     w/s    rkB/s    wkB/s\navgrq-sz avgqu-sz   await  svctm  %util\nsda               0,00     0,00    0,00    0,00     0,00     0,00\n0,00     0,00    0,00   0,00 100,00\nsdb               0,00     0,00    0,00    0,00     0,00     0,00\n0,00     0,00    0,00   0,00 100,00\n\navg-cpu:  %user   %nice %system %iowait  %steal   %idle\n           6,68    0,00    0,99    0,00    0,00   92,33\n\nDevice:         rrqm/s   wrqm/s     r/s     w/s    rkB/s    wkB/s\navgrq-sz avgqu-sz   await  svctm  %util\nsda               0,00     0,00    0,00    0,00     0,00     0,00\n0,00     0,00    0,00   0,00 100,00\nsdb               0,00     0,00    0,00    0,00     0,00     0,00\n0,00     0,00    0,00   0,00 100,00\n\navg-cpu:  %user   %nice %system %iowait  %steal   %idle\n           4,40    0,00    0,73    1,47    0,00   93,40\n\nDevice:         rrqm/s   wrqm/s     r/s     w/s    rkB/s    wkB/s\navgrq-sz avgqu-sz   await  svctm  %util\nsda               0,00     0,00    0,00    0,00     0,00     0,00\n0,00     0,00    0,00   0,00 100,00\nsdb               0,00     4,00    0,00    3,00     0,00    28,00\n18,67     0,06   19,50 333,33 100,00\n\nGlobal values for service time and utilization are garbage. For\ninterval values, utilization is always 100%, and service time is\nhigher than normal.\n\nI bisected it down to:\n[a9327cac440be4d8333bba975cbbf76045096275] Seperate read and write\nstatistics of in_flight requests\nand verified that reverting just that commit indeed solves the issue\non 2.6.32-rc1.\"\n\nSo until this is debugged, revert the bad commit.\n\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "9117703fabe4141dae566d683eeb728f638c9e49",
      "tree": "efe85f18c6fe5f7d1513d19b01183d050a6b130f",
      "parents": [
        "a037a79dceaf717409fbf42f4ad209b9c15f435c",
        "fbbf69456619de5d251cb9f1df609069178c62d5"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Oct 03 11:24:19 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Oct 03 11:24:19 2009 -0700"
      },
      "message": "Merge branch \u0027for_linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4\n\n* \u0027for_linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4:\n  [PATCH] ext4: retry failed direct IO allocations\n  ext4: Fix build warning in ext4_dirty_inode()\n  ext4: drop ext4dev compat\n  ext4: fix a BUG_ON crash by checking that page has buffers attached to it\n"
    },
    {
      "commit": "fbbf69456619de5d251cb9f1df609069178c62d5",
      "tree": "e0a5bc75a02dda7f46ba4d0e838c54f39b1fe4f6",
      "parents": [
        "74072d0a63553720dd3c70a8b8e9407eb2027dbe"
      ],
      "author": {
        "name": "Eric Sandeen",
        "email": "sandeen@redhat.com",
        "time": "Fri Oct 02 21:20:55 2009 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Fri Oct 02 21:20:55 2009 -0400"
      },
      "message": "[PATCH] ext4: retry failed direct IO allocations\n\nOn a 256M filesystem, doing this in a loop:\n\n        xfs_io -F -f -d -c \u0027pwrite 0 64m\u0027 test\n        rm -f test\n\neventually leads to ENOSPC.  (the xfs_io command does a\n64m direct IO write to the file \"test\")\n\nAs with other block allocation callers, it looks like we need to\npotentially retry the allocations on the initial ENOSPC.\n\nSigned-off-by: Eric Sandeen \u003csandeen@redhat.com\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "74072d0a63553720dd3c70a8b8e9407eb2027dbe",
      "tree": "9895fcb17d44980a82b4daa7688c17da082b4d88",
      "parents": [
        "f0e2dfa7f3e1361ca8fc91c25e67fc4e92613cc9"
      ],
      "author": {
        "name": "Curt Wohlgemuth",
        "email": "curtw@google.com",
        "time": "Fri Oct 02 21:08:32 2009 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Fri Oct 02 21:08:32 2009 -0400"
      },
      "message": "ext4: Fix build warning in ext4_dirty_inode()\n\nThis fixes the following warning:\n\nfs/ext4/inode.c: In function \u0027ext4_dirty_inode\u0027:\nfs/ext4/inode.c:5615: warning: unused variable \u0027current_handle\u0027\n\nWe remove the jbd_debug() statement which does use current_handle, as\nit\u0027s not terribly important in the grand scheme of things.\n\nThanks to Stephen Rothwell for pointing this out.\n\nSigned-off-by: Curt Wohlgemuth \u003ccurtw@google.com\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "0efe5e32c8729ef44b00d9a7203e4c99a6378b27",
      "tree": "8df3309198b2ab87f549c82c59125d2b106bcdbe",
      "parents": [
        "e6a0a8bfef1094084e53bfaad6d512c23da7a6dd",
        "9c2693c9243b81802c6860570557165e874779a7"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Oct 01 20:23:15 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Oct 01 20:23:15 2009 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/mason/btrfs-unstable\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/mason/btrfs-unstable:\n  Btrfs: fix data space leak fix\n  Btrfs: remove duplicates of filemap_ helpers\n  Btrfs: take i_mutex before generic_write_checks\n  Btrfs: fix arguments to btrfs_wait_on_page_writeback_range\n  Btrfs: fix deadlock with free space handling and user transactions\n  Btrfs: fix error cases for ioctl transactions\n  Btrfs: Use CONFIG_BTRFS_POSIX_ACL to enable ACL code\n  Btrfs: introduce missing kfree\n  Btrfs: Fix setting umask when POSIX ACLs are not enabled\n  Btrfs: proper -ENOSPC handling\n"
    },
    {
      "commit": "80e50be4220e1244fcf6d5f75b997f8586ae1300",
      "tree": "29045a3bbfd165dae5096c3c884e2c2a87f0933f",
      "parents": [
        "8fccae2c95506270f74ee8429c273b0924e89c83"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Thu Oct 01 15:44:27 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Oct 01 16:11:16 2009 -0700"
      },
      "message": "afs: remove cache.h\n\nIt\u0027s just a wrapper for \u003clinux/fscache.h\u003e, so remove it.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "828c09509b9695271bcbdc53e9fc9a6a737148d2",
      "tree": "072ffad6f02db7bf4095e07e2b90247cfa042998",
      "parents": [
        "1c4115e595dec42aa0e81ba47ef46e35b34ed428"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Thu Oct 01 15:43:56 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Oct 01 16:11:11 2009 -0700"
      },
      "message": "const: constify remaining file_operations\n\n[akpm@linux-foundation.org: fix KVM]\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nAcked-by: Mike Frysinger \u003cvapier@gentoo.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "9c2693c9243b81802c6860570557165e874779a7",
      "tree": "c857a96a78cdc9fcd640ea4279e7214d6c9713b3",
      "parents": [
        "8aa38c31b7659e338fee4d9af4c3805acbd9806f",
        "fbf190874407f23d2891b53ffdf7d3c6be8d47ff"
      ],
      "author": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Thu Oct 01 17:24:44 2009 -0400"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Thu Oct 01 17:24:44 2009 -0400"
      },
      "message": "Merge branch \u0027master\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/mason/btrfs-unstable into for-linus\n"
    },
    {
      "commit": "fbf190874407f23d2891b53ffdf7d3c6be8d47ff",
      "tree": "c60ab388e2b19b02fd3bbcef76498a3520f9dcbd",
      "parents": [
        "ab93dbecfba72bbc04b7036343d180aaff1b61a3"
      ],
      "author": {
        "name": "Josef Bacik",
        "email": "josef@redhat.com",
        "time": "Thu Oct 01 17:10:23 2009 -0400"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Thu Oct 01 17:10:23 2009 -0400"
      },
      "message": "Btrfs: fix data space leak fix\n\nThere is a problem where page_mkwrite can be called on a dirtied page that\nalready has a delalloc range associated with it.  The fix is to clear any\ndelalloc bits for the range we are dirtying so the space accounting gets\nhandled properly.  This is the same thing we do in the normal write case, so we\nare consistent across the board.  With this patch we no longer leak reserved\nspace.\n\nSigned-off-by: Josef Bacik \u003cjbacik@redhat.com\u003e\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "a112a71d45b5e40c3cf07371d20a4a5079a72610",
      "tree": "7e55b5d47be8d3c8189ff7d0bece65b46c8bd0e5",
      "parents": [
        "48c0d4d4c04dd520c55e0fd756fa4e7c83de3d13"
      ],
      "author": {
        "name": "H Hartley Sweeten",
        "email": "hsweeten@visionengravers.com",
        "time": "Sat Sep 26 16:19:21 2009 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Thu Oct 01 21:15:46 2009 +0200"
      },
      "message": "fs/bio.c: move EXPORT* macros to line after function\n\nAs mentioned in Documentation/CodingStyle, move EXPORT* macro\u0027s\nto the line immediately after the closing function brace line.\n\nSigned-off-by: H Hartley Sweeten \u003chsweeten@visionengravers.com\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "8aa38c31b7659e338fee4d9af4c3805acbd9806f",
      "tree": "44d20f44a432ba05cfcfcd093428e777e4d3fd9e",
      "parents": [
        "25472b880c69c0daa485c4f80a6550437ed1149f"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Thu Oct 01 12:58:30 2009 -0400"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Thu Oct 01 12:58:30 2009 -0400"
      },
      "message": "Btrfs: remove duplicates of filemap_ helpers\n\nUse filemap_fdatawrite_range and filemap_fdatawait_range instead of\nlocal copies of the functions.  For filemap_fdatawait_range that\nalso means replacing the awkward old wait_on_page_writeback_range\ncalling convention with the regular filemap byte offsets.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "25472b880c69c0daa485c4f80a6550437ed1149f",
      "tree": "d12bc091e8991513db0d2891111ba773eb5c52e2",
      "parents": [
        "17d857be649a21ca90008c6dc425d849fa83db5c",
        "ab93dbecfba72bbc04b7036343d180aaff1b61a3"
      ],
      "author": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Thu Oct 01 12:58:13 2009 -0400"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Thu Oct 01 12:58:13 2009 -0400"
      },
      "message": "Merge branch \u0027master\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/mason/btrfs-unstable into for-linus\n"
    },
    {
      "commit": "ab93dbecfba72bbc04b7036343d180aaff1b61a3",
      "tree": "6bb523dcf9be0885b6fa9cb6cc9ac694ee089028",
      "parents": [
        "35d62a942db5ae03104929fe7397835b572c4bc4"
      ],
      "author": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Thu Oct 01 12:29:10 2009 -0400"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Thu Oct 01 12:29:10 2009 -0400"
      },
      "message": "Btrfs: take i_mutex before generic_write_checks\n\nbtrfs_file_write was incorrectly calling generic_write_checks without\ntaking i_mutex.  This lead to problems with racing around i_size when\ndoing O_APPEND writes.\n\nThe fix here is to move i_mutex higher.\n\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "35d62a942db5ae03104929fe7397835b572c4bc4",
      "tree": "91ea5b0a79e898f57cd644e1ff0437748aa0781b",
      "parents": [
        "dd7e0b7b02ccff73b87032e20fc5b4f2c1cfcc14"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Wed Sep 30 16:47:08 2009 -0400"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Thu Oct 01 10:27:01 2009 -0400"
      },
      "message": "Btrfs: fix arguments to btrfs_wait_on_page_writeback_range\n\nwait_on_page_writeback_range/btrfs_wait_on_page_writeback_range takes\na pagecache offset, not a byte offset into the file.  Shift the arguments\naround to wait for the correct range\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "f0e2dfa7f3e1361ca8fc91c25e67fc4e92613cc9",
      "tree": "8fa5be2f535b00140b0c6330c92b20584e87cb9e",
      "parents": [
        "1f94533d9cd75f6d2826018d54a971b9cc085992"
      ],
      "author": {
        "name": "Eric Sandeen",
        "email": "sandeen@redhat.com",
        "time": "Thu Oct 01 02:21:07 2009 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Thu Oct 01 02:21:07 2009 -0400"
      },
      "message": "ext4: drop ext4dev compat\n\nKconfig \u0026 super.c promised it\u0027d be gone by 2.6.31, so it\u0027s\nabout time to drop it.\n\nSigned-off-by: Eric Sandeen \u003csandeen@redhat.com\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "1f94533d9cd75f6d2826018d54a971b9cc085992",
      "tree": "16c85061eabfcdece2487909bc08c45d2c01d84f",
      "parents": [
        "c1fccc0696bcaff6008c11865091f5ec4b0937ab"
      ],
      "author": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Wed Sep 30 22:57:41 2009 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Wed Sep 30 22:57:41 2009 -0400"
      },
      "message": "ext4: fix a BUG_ON crash by checking that page has buffers attached to it\n\nIn ext4_num_dirty_pages() we were calling page_buffers() before\nchecking to see if the page actually had pages attached to it; this\nwould cause a BUG check crash in the inline function page_buffers().\n\nThanks to Markus Trippelsdorf for reporting this bug.\n\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "6861f350785bf476c2d4e3b9cb69ee36b78df2fc",
      "tree": "99cb1eb3cb5ac2084077fae9eec7e1f3e9d2cdc5",
      "parents": [
        "04bedd79a7037ee7af816b06c60c738144475c4a"
      ],
      "author": {
        "name": "David Teigland",
        "email": "teigland@redhat.com",
        "time": "Thu Sep 24 15:58:23 2009 -0500"
      },
      "committer": {
        "name": "David Teigland",
        "email": "teigland@redhat.com",
        "time": "Wed Sep 30 12:19:44 2009 -0500"
      },
      "message": "dlm: fix socket fd translation\n\nThe code to set up sctp sockets was not using the sockfd_lookup()\nand sockfd_put() routines to translate an fd to a socket.  The\ndirect fget and fput calls were resulting in error messages from\nalloc_fd().\n\nAlso clean up two log messages and remove a third, related to\nsetting up sctp associations.\n\nSigned-off-by: David Teigland \u003cteigland@redhat.com\u003e\n"
    },
    {
      "commit": "04bedd79a7037ee7af816b06c60c738144475c4a",
      "tree": "e68657f25eda860333a5dc37eb64181e1c686f35",
      "parents": [
        "9c1fe834c1bd7725b411055c66886b64c928083d"
      ],
      "author": {
        "name": "David Teigland",
        "email": "teigland@redhat.com",
        "time": "Fri Sep 18 14:31:47 2009 -0500"
      },
      "committer": {
        "name": "David Teigland",
        "email": "teigland@redhat.com",
        "time": "Wed Sep 30 12:19:44 2009 -0500"
      },
      "message": "dlm: fix lowcomms_connect_node for sctp\n\nThe recently added dlm_lowcomms_connect_node() from\n391fbdc5d527149578490db2f1619951d91f3561 does not work\nwhen using SCTP instead of TCP.  The sctp connection code\nhas nothing to do without data to send.  Check for no data\nin the sctp connection code and do nothing instead of\ntriggering a BUG.  Also have connect_node() do nothing\nwhen the protocol is sctp.\n\nSigned-off-by: David Teigland \u003cteigland@redhat.com\u003e\n"
    },
    {
      "commit": "9abf47f11b38f5ecf411b9a44437cad5016631ad",
      "tree": "3b8cec7d5f98cb037c904bf30a9fad639aad0530",
      "parents": [
        "9f44fdc5188bc1a0bbcc3453d57f01e49ba868d9",
        "3cc811bffdf35ebaf1467fbec71a49b57800fc74"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Sep 30 09:42:24 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Sep 30 09:42:24 2009 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/ryusuke/nilfs2\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/ryusuke/nilfs2:\n  nilfs2: fix missing initialization of i_dir_start_lookup member\n  nilfs2: fix missing zero-fill initialization of btree node cache\n"
    },
    {
      "commit": "9f44fdc5188bc1a0bbcc3453d57f01e49ba868d9",
      "tree": "a636c14f741e662814fe95bf35f22659411f1733",
      "parents": [
        "4c8f1cb266cba4d1052f524d04df839d8f732ace",
        "c1fccc0696bcaff6008c11865091f5ec4b0937ab"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Sep 30 09:32:30 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Sep 30 09:32:30 2009 -0700"
      },
      "message": "Merge branch \u0027for_linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4\n\n* \u0027for_linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4:\n  ext4: Fix time encoding with extra epoch bits\n  ext4: Add a stub for mpage_da_data in the trace header\n  jbd2: Use tracepoints for history file\n  ext4: Use tracepoints for mb_history trace file\n  ext4, jbd2: Drop unneeded printks at mount and unmount time\n  ext4: Handle nested ext4_journal_start/stop calls without a journal\n  ext4: Make sure ext4_dirty_inode() updates the inode in no journal mode\n  ext4: Avoid updating the inode table bh twice in no journal mode\n  ext4: EXT4_IOC_MOVE_EXT: Check for different original and donor inodes first\n  ext4: async direct IO for holes and fallocate support\n  ext4: Use end_io callback to avoid direct I/O fallback to buffered I/O\n  ext4: Split uninitialized extents for direct I/O\n  ext4: release reserved quota when block reservation for delalloc retry\n  ext4: Adjust ext4_da_writepages() to write out larger contiguous chunks\n  ext4: Fix hueristic which avoids group preallocation for closed files\n  ext4: Use ext4_msg() for ext4_da_writepage() errors\n  ext4: Update documentation about quota mount options\n"
    },
    {
      "commit": "4c8f1cb266cba4d1052f524d04df839d8f732ace",
      "tree": "4bf2e6bcc56dcce2c919bca969f6626c8f18b7e6",
      "parents": [
        "9c1fe834c1bd7725b411055c66886b64c928083d",
        "ed248b290da7297c9b9a3ff180f5eee4db016224"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Sep 30 09:31:14 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Sep 30 09:31:14 2009 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/hirofumi/fatfs-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/hirofumi/fatfs-2.6:\n  fat: Check s_dirt in fat_sync_fs()\n  vfat: change the default from shortname\u003dlower to shortname\u003dmixed\n  fat/nls: Fix handling of utf8 invalid char\n"
    },
    {
      "commit": "c1fccc0696bcaff6008c11865091f5ec4b0937ab",
      "tree": "0e8269e07d40278c136b7f93aba7ab118f75f532",
      "parents": [
        "0ef122494020521309be855bfdeeb41f34bf8c94"
      ],
      "author": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Wed Sep 30 01:13:55 2009 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Wed Sep 30 01:13:55 2009 -0400"
      },
      "message": "ext4: Fix time encoding with extra epoch bits\n\n\"Looking at ext4.h, I think the setting of extra time fields forgets to\nmask the epoch bits so the epoch part overwrites nsec part. The second\nchange is only for coherency (2 -\u003e EXT4_EPOCH_BITS).\"\n\nThanks to Damien Guibouret for pointing out this problem.\n\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "bf6993276f74d46776f35c45ddef29b981b1d1c6",
      "tree": "5c9cb128fed29a83add1932b12443edaa6fd06cc",
      "parents": [
        "296c355cd6443d89fa251885a8d78778fe111dc4"
      ],
      "author": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Wed Sep 30 00:32:06 2009 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Wed Sep 30 00:32:06 2009 -0400"
      },
      "message": "jbd2: Use tracepoints for history file\n\nThe /proc/fs/jbd2/\u003cdev\u003e/history was maintained manually; by using\ntracepoints, we can get all of the existing functionality of the /proc\nfile plus extra capabilities thanks to the ftrace infrastructure.  We\nsave memory as a bonus.\n\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "296c355cd6443d89fa251885a8d78778fe111dc4",
      "tree": "5cf7c8b115617dc3829a16a5969894d37b73173c",
      "parents": [
        "90576c0b9a0b5323fc4bd7f23f49be0d234f36d1"
      ],
      "author": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Wed Sep 30 00:32:42 2009 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Wed Sep 30 00:32:42 2009 -0400"
      },
      "message": "ext4: Use tracepoints for mb_history trace file\n\nThe /proc/fs/ext4/\u003cdev\u003e/mb_history was maintained manually, and had a\nnumber of problems: it required a largish amount of memory to be\nallocated for each ext4 filesystem, and the s_mb_history_lock\nintroduced a CPU contention problem.  \n\nBy ripping out the mb_history code and replacing it with ftrace\ntracepoints, and we get more functionality: timestamps, event\nfiltering, the ability to correlate mballoc history with other ext4\ntracepoints, etc.\n\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "dd7e0b7b02ccff73b87032e20fc5b4f2c1cfcc14",
      "tree": "2168da63d84f05106b2aa8eb8f5cdc8859f1e176",
      "parents": [
        "1ab86aedbc7845a946b4ba4edf37762629970708"
      ],
      "author": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Tue Sep 29 18:38:44 2009 -0400"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Tue Sep 29 19:50:07 2009 -0400"
      },
      "message": "Btrfs: fix deadlock with free space handling and user transactions\n\nIf an ioctl-initiated transaction is open, we can\u0027t force a commit during\nthe free space checks in order to free up pinned extents or else we\ndeadlock.  Just ENOSPC instead.\n\nA more satisfying solution that reserves space for the entire user\ntransaction up front is forthcoming...\n\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "1ab86aedbc7845a946b4ba4edf37762629970708",
      "tree": "1a3ad19d12a807d76d5700abc6415e1535c88312",
      "parents": [
        "3baf0bed0a5adab95c7599d2f27124c74692ef28"
      ],
      "author": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Tue Sep 29 18:38:44 2009 -0400"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Tue Sep 29 18:38:44 2009 -0400"
      },
      "message": "Btrfs: fix error cases for ioctl transactions\n\nFix leak of vfsmount write reference and open_ioctl_trans reference on\nENOMEM.  Clean up the error paths while we\u0027re at it.\n\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "90576c0b9a0b5323fc4bd7f23f49be0d234f36d1",
      "tree": "d4a1ab6f923f1c9c7c87f13a828db72c1f4412c1",
      "parents": [
        "d3d1faf6a74496ea4435fd057c6a2cad49f3e523"
      ],
      "author": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Tue Sep 29 15:51:30 2009 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Tue Sep 29 15:51:30 2009 -0400"
      },
      "message": "ext4, jbd2: Drop unneeded printks at mount and unmount time\n\nThere are a number of kernel printk\u0027s which are printed when an ext4\nfilesystem is mounted and unmounted.  Disable them to economize space\nin the system logs.  In addition, disabling the mballoc stats by\ndefault saves a number of unneeded atomic operations for every block\nallocation or deallocation.\n\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n\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": "fd2696f399e45347c07f1f7f340e8515cace5657",
      "tree": "bd1a1c1907b5a344257673761bdf69629fd7cdba",
      "parents": [
        "49cf6f4529b7945ef51b8e39f0bac630726f8c96"
      ],
      "author": {
        "name": "Julia Lawall",
        "email": "julia@diku.dk",
        "time": "Tue Sep 29 13:51:04 2009 -0400"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Tue Sep 29 13:51:04 2009 -0400"
      },
      "message": "Btrfs: introduce missing kfree\n\nError handling code following a kzalloc should free the allocated data.\n\nThe semantic match that finds the problem is as follows:\n(http://www.emn.fr/x-info/coccinelle/)\n\n// \u003csmpl\u003e\n@r exists@\nlocal idexpression x;\nstatement S;\nexpression E;\nidentifier f,f1,l;\nposition p1,p2;\nexpression *ptr !\u003d NULL;\n@@\n\nx@p1 \u003d \\(kmalloc\\|kzalloc\\|kcalloc\\)(...);\n...\nif (x \u003d\u003d NULL) S\n\u003c... when !\u003d x\n     when !\u003d if (...) { \u003c+...x...+\u003e }\n(\nx-\u003ef1 \u003d E\n|\n (x-\u003ef1 \u003d\u003d NULL || ...)\n|\n f(...,x-\u003ef1,...)\n)\n...\u003e\n(\n return \\(0\\|\u003c+...x...+\u003e\\|ptr\\);\n|\n return@p2 ...;\n)\n\n@script:python@\np1 \u003c\u003c r.p1;\np2 \u003c\u003c r.p2;\n@@\n\nprint \"* file: %s kmalloc %s return %s\" % (p1[0].file,p1[0].line,p2[0].line)\n// \u003c/smpl\u003e\n\nSigned-off-by: Julia Lawall \u003cjulia@diku.dk\u003e\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "49cf6f4529b7945ef51b8e39f0bac630726f8c96",
      "tree": "27c91f6bb1ac0e4862286e78d1365e2890754cef",
      "parents": [
        "9ed74f2dba6ebf9f30b80554290bfc73cc3ef083"
      ],
      "author": {
        "name": "Chris Ball",
        "email": "cjb@laptop.org",
        "time": "Tue Sep 29 13:51:04 2009 -0400"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Tue Sep 29 13:51:04 2009 -0400"
      },
      "message": "Btrfs: Fix setting umask when POSIX ACLs are not enabled\n\nWe currently set sb-\u003es_flags |\u003d MS_POSIXACL unconditionally, which is\nincorrect -- it tells the VFS that it shouldn\u0027t set umask because we\nwill, yet we don\u0027t set it ourselves if we aren\u0027t using POSIX ACLs, so\nthe umask ends up ignored.\n\nSigned-off-by: Chris Ball \u003ccjb@laptop.org\u003e\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "d3d1faf6a74496ea4435fd057c6a2cad49f3e523",
      "tree": "9f1cc0e2efb9a4fe42bb6b57c087d8450a854dc1",
      "parents": [
        "f3dc272fd5e2ae08244796bb39e7e1ce4b25d3b3"
      ],
      "author": {
        "name": "Curt Wohlgemuth",
        "email": "curtw@google.com",
        "time": "Tue Sep 29 11:01:03 2009 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Tue Sep 29 11:01:03 2009 -0400"
      },
      "message": "ext4: Handle nested ext4_journal_start/stop calls without a journal\n\nThis patch fixes a problem with handling nested calls to\next4_journal_start/ext4_journal_stop, when there is no journal present.\n\nSigned-off-by: Curt Wohlgemuth \u003ccurtw@google.com\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "f3dc272fd5e2ae08244796bb39e7e1ce4b25d3b3",
      "tree": "795edae4030352dfea7cb79ed5a5b0b5ef3d3afb",
      "parents": [
        "830156c79b0a99ddf0f62496bcf4de640f9f52cd"
      ],
      "author": {
        "name": "Curt Wohlgemuth",
        "email": "curtw@google.com",
        "time": "Tue Sep 29 16:06:01 2009 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Tue Sep 29 16:06:01 2009 -0400"
      },
      "message": "ext4: Make sure ext4_dirty_inode() updates the inode in no journal mode\n\nThis patch a problem that ext4_dirty_inode() was not calling\next4_mark_inode_dirty() if the current_handle is not valid, which it\nis the case in no journal mode.\n\nIt also removes a test for non-matching transaction which can never\nhappen.\n\nSigned-off-by: Curt Wohlgemuth \u003ccurtw@google.com\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "830156c79b0a99ddf0f62496bcf4de640f9f52cd",
      "tree": "7af8e969f359afd8a4738e22b0374b567041a1fd",
      "parents": [
        "f3ce8064b388ccf420012c5a4907aae4f13fe9d0"
      ],
      "author": {
        "name": "Frank Mayhar",
        "email": "fmayhar@google.com",
        "time": "Tue Sep 29 10:07:47 2009 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Tue Sep 29 10:07:47 2009 -0400"
      },
      "message": "ext4: Avoid updating the inode table bh twice in no journal mode\n\nThis is a cleanup of commit 91ac6f4.  Since ext4_mark_inode_dirty()\nhas already called ext4_mark_iloc_dirty(), which in turn calls\next4_do_update_inode(), it\u0027s not necessary to have ext4_write_inode()\ncall ext4_do_update_inode() in no journal mode.  Indeed, it would be\nduplicated work.\n\nReviewed-by: \"Aneesh Kumar K.V\" \u003caneesh.kumar@linux.vnet.ibm.com\u003e\nSigned-off-by: Frank Mayhar \u003cfmayhar@google.com\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "3cc811bffdf35ebaf1467fbec71a49b57800fc74",
      "tree": "b00abe8ad3687faeacf9b543492f0b91c7abc600",
      "parents": [
        "1f28fcd925b2b3157411bbd08f0024b55b70d8dd"
      ],
      "author": {
        "name": "Ryusuke Konishi",
        "email": "konishi.ryusuke@lab.ntt.co.jp",
        "time": "Mon Sep 28 13:02:46 2009 +0900"
      },
      "committer": {
        "name": "Ryusuke Konishi",
        "email": "konishi.ryusuke@lab.ntt.co.jp",
        "time": "Tue Sep 29 20:32:13 2009 +0900"
      },
      "message": "nilfs2: fix missing initialization of i_dir_start_lookup member\n\nThe i_dir_start_lookup field in nilfs_inode_info objects should be\ncleared when the objects are allocated, but the the initialization was\nmissing in case of reading from disk.  This adds the initialization.\n\nSince the variable just gives a start page on directory lookups, the\nbug was nonfatal until now.\n\nSigned-off-by: Ryusuke Konishi \u003ckonishi.ryusuke@lab.ntt.co.jp\u003e\n"
    },
    {
      "commit": "1f28fcd925b2b3157411bbd08f0024b55b70d8dd",
      "tree": "339976516f9d8c25f4efb3ba8bbffcc395d58c83",
      "parents": [
        "17d857be649a21ca90008c6dc425d849fa83db5c"
      ],
      "author": {
        "name": "Ryusuke Konishi",
        "email": "konishi.ryusuke@lab.ntt.co.jp",
        "time": "Mon Sep 28 01:46:11 2009 +0900"
      },
      "committer": {
        "name": "Ryusuke Konishi",
        "email": "konishi.ryusuke@lab.ntt.co.jp",
        "time": "Tue Sep 29 20:12:56 2009 +0900"
      },
      "message": "nilfs2: fix missing zero-fill initialization of btree node cache\n\nThis will fix file system corruption which infrequently happens after\nmount.  The problem was reported from users with the title \"[NILFS\nusers] Fail to mount NILFS.\" (Message-ID:\n\u003c200908211918.34720.yuri@itinteg.net\u003e), and so forth.  I\u0027ve also\nexperienced the corruption multiple times on kernel 2.6.30 and 2.6.31.\n\nThe problem turned out to be caused due to discordance between\nmapping-\u003enrpages of a btree node cache and the actual number of pages\nhung on the cache; if the mapping-\u003enrpages becomes zero even as it has\npages, truncate_inode_pages() returns without doing anything.  Usually\nthis is harmless except it may cause page leak, but garbage collection\nfairly infrequently sees a stale page remained in the btree node cache\nof DAT (i.e. disk address translation file of nilfs), and induces the\ncorruption.\n\nI identified a missing initialization in btree node caches was the\nroot cause.  This corrects the bug.\n\nI\u0027ve tested this for kernel 2.6.30 and 2.6.31.\n\nReported-by: Yuri Chislov \u003cyuri@itinteg.net\u003e\nSigned-off-by: Ryusuke Konishi \u003ckonishi.ryusuke@lab.ntt.co.jp\u003e\nCc: stable \u003cstable@kernel.org\u003e\n"
    },
    {
      "commit": "9ed74f2dba6ebf9f30b80554290bfc73cc3ef083",
      "tree": "763d58a4a11ceca26dcdaedefb1fd662c4e2fa8b",
      "parents": [
        "c65ddb52dc412c9b67681b1aa16cd1bac8434e24"
      ],
      "author": {
        "name": "Josef Bacik",
        "email": "josef@redhat.com",
        "time": "Fri Sep 11 16:12:44 2009 -0400"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Mon Sep 28 16:29:42 2009 -0400"
      },
      "message": "Btrfs: proper -ENOSPC handling\n\nAt the start of a transaction we do a btrfs_reserve_metadata_space() and\nspecify how many items we plan on modifying.  Then once we\u0027ve done our\nmodifications and such, just call btrfs_unreserve_metadata_space() for\nthe same number of items we reserved.\n\nFor keeping track of metadata needed for data I\u0027ve had to add an extent_io op\nfor when we merge extents.  This lets us track space properly when we are doing\nsequential writes, so we don\u0027t end up reserving way more metadata space than\nwhat we need.\n\nThe only place where the metadata space accounting is not done is in the\nrelocation code.  This is because Yan is going to be reworking that code in the\nnear future, so running btrfs-vol -b could still possibly result in a ENOSPC\nrelated panic.  This patch also turns off the metadata_ratio stuff in order to\nallow users to more efficiently use their disk space.\n\nThis patch makes it so we track how much metadata we need for an inode\u0027s\ndelayed allocation extents by tracking how many extents are currently\nwaiting for allocation.  It introduces two new callbacks for the\nextent_io tree\u0027s, merge_extent_hook and split_extent_hook.  These help\nus keep track of when we merge delalloc extents together and split them\nup.  Reservations are handled prior to any actually dirty\u0027ing occurs,\nand then we unreserve after we dirty.\n\nbtrfs_unreserve_metadata_for_delalloc() will make the appropriate\nunreservations as needed based on the number of reservations we\ncurrently have and the number of extents we currently have.  Doing the\nreservation outside of doing any of the actual dirty\u0027ing lets us do\nthings like filemap_flush() the inode to try and force delalloc to\nhappen, or as a last resort actually start allocation on all delalloc\ninodes in the fs.  This has survived dbench, fs_mark and an fsx torture\ntest.\n\nSigned-off-by: Josef Bacik \u003cjbacik@redhat.com\u003e\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "f3ce8064b388ccf420012c5a4907aae4f13fe9d0",
      "tree": "3d0cbfffc75ea698726d71c06c9b0be82982d6eb",
      "parents": [
        "8d5d02e6b176565c77ff03604908b1453a22044d"
      ],
      "author": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Mon Sep 28 15:58:29 2009 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Mon Sep 28 15:58:29 2009 -0400"
      },
      "message": "ext4: EXT4_IOC_MOVE_EXT: Check for different original and donor inodes first\n\nMove the check to make sure the original and donor inodes are\ndifferent earlier, to avoid a potential deadlock by trying to lock the\nsame inode twice.\n\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "8d5d02e6b176565c77ff03604908b1453a22044d",
      "tree": "0d29e4f28233f24960c7921c1c0a7608077bf713",
      "parents": [
        "4c0425ff68b1b87b802ffeda7b6a46ff7da7241c"
      ],
      "author": {
        "name": "Mingming Cao",
        "email": "cmm@us.ibm.com",
        "time": "Mon Sep 28 15:48:29 2009 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Mon Sep 28 15:48:29 2009 -0400"
      },
      "message": "ext4: async direct IO for holes and fallocate support\n\nFor async direct IO that covers holes or fallocate, the end_io\ncallback function now queued the convertion work on workqueue but\ndon\u0027t flush the work rightaway as it might take too long to afford.\n\nBut when fsync is called after all the data is completed, user expects\nthe metadata also being updated before fsync returns.\n\nThus we need to flush the conversion work when fsync() is called.\nThis patch keep track of a listed of completed async direct io that\nhas a work queued on workqueue.  When fsync() is called, it will go\nthrough the list and do the conversion.\n\nSigned-off-by: Mingming Cao \u003ccmm@us.ibm.com\u003e\n"
    }
  ],
  "next": "4c0425ff68b1b87b802ffeda7b6a46ff7da7241c"
}
