)]}'
{
  "log": [
    {
      "commit": "0aded708d125a3ff7e5abaea9c2d9c6d7ebbfdcd",
      "tree": "124bb3e0e1cd8104f9310f7df224ca00301c10c7",
      "parents": [
        "22a5b566c8c442b0b35b3b106795e2f2b3578096"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Nov 30 21:56:32 2010 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Dec 01 08:16:16 2010 -0500"
      },
      "message": "NFS: Ensure we use the correct cookie in nfs_readdir_xdr_filler\n\nWe need to use the cookie from the previous array entry, not the\nactual cookie that we are searching for (except for the case of\nuncached_readdir).\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "114279be2120a916e8a04feeb2ac976a10016f2f",
      "tree": "866a5dfab411d18941d58f8796edab6da760213e",
      "parents": [
        "3c77f845722158206a7209c45ccddc264d19319c"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@redhat.com",
        "time": "Tue Nov 30 20:56:02 2010 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Nov 30 17:56:38 2010 -0800"
      },
      "message": "exec: copy-and-paste the fixes into compat_do_execve() paths\n\nNote: this patch targets 2.6.37 and tries to be as simple as possible.\nThat is why it adds more copy-and-paste horror into fs/compat.c and\nuglifies fs/exec.c, this will be cleanuped later.\n\ncompat_copy_strings() plays with bprm-\u003evma/mm directly and thus has\ntwo problems: it lacks the RLIMIT_STACK check and argv/envp memory\nis not visible to oom killer.\n\nExport acct_arg_size() and get_arg_page(), change compat_copy_strings()\nto use get_arg_page(), change compat_do_execve() to do acct_arg_size(0)\nas do_execve() does.\n\nAdd the fatal_signal_pending/cond_resched checks into compat_count() and\ncompat_copy_strings(), this matches the code in fs/exec.c and certainly\nmakes sense.\n\nSigned-off-by: Oleg Nesterov \u003coleg@redhat.com\u003e\nCc: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nCc: stable@kernel.org\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "3c77f845722158206a7209c45ccddc264d19319c",
      "tree": "9eace97a8b88eb68b7d5d3127041b14c202421ae",
      "parents": [
        "37a09f07459753e7c98d4e21f1c61e8756923f81"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@redhat.com",
        "time": "Tue Nov 30 20:55:34 2010 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Nov 30 17:56:37 2010 -0800"
      },
      "message": "exec: make argv/envp memory visible to oom-killer\n\nBrad Spengler published a local memory-allocation DoS that\nevades the OOM-killer (though not the virtual memory RLIMIT):\nhttp://www.grsecurity.net/~spender/64bit_dos.c\n\nexecve()-\u003ecopy_strings() can allocate a lot of memory, but\nthis is not visible to oom-killer, nobody can see the nascent\nbprm-\u003emm and take it into account.\n\nWith this patch get_arg_page() increments current\u0027s MM_ANONPAGES\ncounter every time we allocate the new page for argv/envp. When\ndo_execve() succeds or fails, we change this counter back.\n\nTechnically this is not 100% correct, we can\u0027t know if the new\npage is swapped out and turn MM_ANONPAGES into MM_SWAPENTS, but\nI don\u0027t think this really matters and everything becomes correct\nonce exec changes -\u003emm or fails.\n\nReported-by: Brad Spengler \u003cspender@grsecurity.net\u003e\nReviewed-and-discussed-by: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nSigned-off-by: Oleg Nesterov \u003coleg@redhat.com\u003e\nCc: stable@kernel.org\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "37a09f07459753e7c98d4e21f1c61e8756923f81",
      "tree": "eecab05dc4b4c2de61f4b31f51d301fdcf210737",
      "parents": [
        "e8a7e48bb248a1196484d3f8afa53bded2b24e71"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Nov 30 12:42:34 2010 -0500"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Nov 30 10:18:49 2010 -0800"
      },
      "message": "NFS: Fix a readdirplus bug\n\nWhen comparing filehandles in the helper nfs_same_file(), we should not be\nusing \u0027strncmp()\u0027: filehandles are not null terminated strings.\n\nInstead, we should just use the existing helper nfs_compare_fh().\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "aa3fc52546b847f590d86a093afd863ff9081628",
      "tree": "9d8b35a700287ae19fb3baa0e9f2c93462795d11",
      "parents": [
        "555bdaefd52c386e79f98591810ceb8bab780398",
        "5a92bc88cef279261d3f138e25850c122df67045"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Nov 29 14:11:08 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Nov 29 14:11:08 2010 -0800"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/mason/btrfs-unstable\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/mason/btrfs-unstable: (24 commits)\n  Btrfs: don\u0027t use migrate page without CONFIG_MIGRATION\n  Btrfs: deal with DIO bios that span more than one ordered extent\n  Btrfs: setup blank root and fs_info for mount time\n  Btrfs: fix fiemap\n  Btrfs - fix race between btrfs_get_sb() and umount\n  Btrfs: update inode ctime when using links\n  Btrfs: make sure new inode size is ok in fallocate\n  Btrfs: fix typo in fallocate to make it honor actual size\n  Btrfs: avoid NULL pointer deref in try_release_extent_buffer\n  Btrfs: make btrfs_add_nondir take parent inode as an argument\n  Btrfs: hold i_mutex when calling btrfs_log_dentry_safe\n  Btrfs: use dget_parent where we can UPDATED\n  Btrfs: fix more ESTALE problems with NFS\n  Btrfs: handle NFS lookups properly\n  btrfs: make 1-bit signed fileds unsigned\n  btrfs: Show device attr correctly for symlinks\n  btrfs: Set file size correctly in file clone\n  btrfs: Check if dest_offset is block-size aligned before cloning file\n  Btrfs: handle the space_cache option properly\n  btrfs: Fix early enospc because \u0027unused\u0027 calculated with wrong sign.\n  ...\n"
    },
    {
      "commit": "1bfe4eefe530f97c1625982d754908f33acf308d",
      "tree": "53e1692220dd88309dfd564f6f5b06ec29650669",
      "parents": [
        "72083646528d4887b920deb71b37e09bc7d227bb",
        "14870b457524e745f1a118e17873d104b1a47b70"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Nov 29 14:10:22 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Nov 29 14:10:22 2010 -0800"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/steve/gfs2-2.6-fixes\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/steve/gfs2-2.6-fixes:\n  GFS2: Userland expects quota limit/warn/usage in 512b blocks\n"
    },
    {
      "commit": "5a92bc88cef279261d3f138e25850c122df67045",
      "tree": "22bc186bda2d2a61343bed473c3e606b43a49a18",
      "parents": [
        "163cf09c2a0ee5cac6285f9347975bd1e97725da"
      ],
      "author": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Mon Nov 29 09:49:11 2010 -0500"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Mon Nov 29 09:49:11 2010 -0500"
      },
      "message": "Btrfs: don\u0027t use migrate page without CONFIG_MIGRATION\n\nFixes compile error\n\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "163cf09c2a0ee5cac6285f9347975bd1e97725da",
      "tree": "5a83cd42d57fcc4d92d12965b5eafdb472e89b02",
      "parents": [
        "450ba0ea06b6ed3612d27f2b7127a9de4160f285"
      ],
      "author": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Sun Nov 28 19:56:33 2010 -0500"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Sun Nov 28 19:56:33 2010 -0500"
      },
      "message": "Btrfs: deal with DIO bios that span more than one ordered extent\n\nThe new DIO bio splitting code has problems when the bio\nspans more than one ordered extent.  This will happen as the\ngeneric DIO code merges our get_blocks calls together into\na bigger single bio.\n\nThis fixes things by walking forward in the ordered extent\ncode finding all the overlapping ordered extents and completing them\nall at once.\n\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "72083646528d4887b920deb71b37e09bc7d227bb",
      "tree": "84a650b474530ae2d2d72614899532757d4bb961",
      "parents": [
        "c66fb347946ebdd5b10908866ecc9fa05ee2cf3d"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Nov 28 16:27:19 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Nov 28 16:27:19 2010 -0800"
      },
      "message": "Un-inline get_pipe_info() helper function\n\nThis avoids some include-file hell, and the function isn\u0027t really\nimportant enough to be inlined anyway.\n\nReported-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "c66fb347946ebdd5b10908866ecc9fa05ee2cf3d",
      "tree": "1891142352d75dcf58a1e90d8dde4d4a99c6e266",
      "parents": [
        "71993e62a47dabddf10302807d6aa260455503f4"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Nov 28 14:09:57 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Nov 28 14:09:57 2010 -0800"
      },
      "message": "Export \u0027get_pipe_info()\u0027 to other users\n\nAnd in particular, use it in \u0027pipe_fcntl()\u0027.\n\nThe other pipe functions do not need to use the \u0027careful\u0027 version, since\nthey are only ever called for things that are already known to be pipes.\n\nThe normal read/write/ioctl functions are called through the file\noperations structures, so if a file isn\u0027t a pipe, they\u0027d never get\ncalled.  But pipe_fcntl() is special, and called directly from the\ngeneric fcntl code, and needs to use the same careful function that the\nsplice code is using.\n\nCc: Jens Axboe \u003cjaxboe@fusionio.com\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nCc: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nCc: Dave Jones \u003cdavej@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "71993e62a47dabddf10302807d6aa260455503f4",
      "tree": "f898f046fdfeab8f329b030614d36a3d4bc490fe",
      "parents": [
        "a9e40a2493d805224f900d839b06188639b7ccd6"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Nov 28 13:56:09 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Nov 28 13:56:09 2010 -0800"
      },
      "message": "Rename \u0027pipe_info()\u0027 to \u0027get_pipe_info()\u0027\n\n.. and change it to take the \u0027file\u0027 pointer instead of an inode, since\nthat\u0027s what all users want anyway.\n\nThe renaming is preparatory to exporting it to other users.  The old\n\u0027pipe_info()\u0027 name was too generic and is already used elsewhere, so\nbefore making the function public we need to use a more specific name.\n\nCc: Jens Axboe \u003cjaxboe@fusionio.com\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nCc: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nCc: Dave Jones \u003cdavej@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "450ba0ea06b6ed3612d27f2b7127a9de4160f285",
      "tree": "2276ddbcb65d7656416cdce69432a5858b35c413",
      "parents": [
        "975f84fee2e8a77ee5f41bfe7c5682bf29366b10"
      ],
      "author": {
        "name": "Josef Bacik",
        "email": "josef@redhat.com",
        "time": "Fri Nov 19 14:59:15 2010 -0500"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Sat Nov 27 13:37:51 2010 -0500"
      },
      "message": "Btrfs: setup blank root and fs_info for mount time\n\nThere is a problem with how we use sget, it searches through the list of supers\nattached to the fs_type looking for a super with the same fs_devices as what\nwe\u0027re trying to mount.  This depends on sb-\u003es_fs_info being filled, but we don\u0027t\nfill that in until we get to btrfs_fill_super, so we could hit supers on the\nfs_type super list that have a null s_fs_info.  In order to fix that we need to\ngo ahead and setup a blank root with a blank fs_info to hold fs_devices, that\nway our test will work out right and then we can set s_fs_info in\nbtrfs_set_super, and then open_ctree will simply use our pre-allocated root and\nfs_info when setting everything up.  Thanks,\n\nSigned-off-by: Josef Bacik \u003cjosef@redhat.com\u003e\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "975f84fee2e8a77ee5f41bfe7c5682bf29366b10",
      "tree": "e7e20e775fa4c126273c28d0c7f0ee05b5bb7f5b",
      "parents": [
        "619c8c763928841b1112e1d417f88bc1d44daecb"
      ],
      "author": {
        "name": "Josef Bacik",
        "email": "josef@redhat.com",
        "time": "Tue Nov 23 19:36:57 2010 +0000"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Sat Nov 27 13:37:50 2010 -0500"
      },
      "message": "Btrfs: fix fiemap\n\nThere are two big problems currently with FIEMAP\n\n1) We return extents for holes.  This isn\u0027t supposed to happen, we just don\u0027t\nreturn extents for holes and then userspace interprets the lack of an extent as\na hole.\n\n2) We sometimes don\u0027t set FIEMAP_EXTENT_LAST properly.  This is because we wait\nto see a EXTENT_FLAG_VACANCY flag on the em, but this won\u0027t happen if say we ask\nfiemap to map up to the last extent in a file, and there is nothing but holes up\nto the i_size.  To fix this we need to lookup the last extent in this file and\nsave the logical offset, so if we happen to try and map that extent we can be\nsure to set FIEMAP_EXTENT_LAST.\n\nWith this patch we now pass xfstest 225, which we never have before.\n\nSigned-off-by: Josef Bacik \u003cjosef@redhat.com\u003e\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "619c8c763928841b1112e1d417f88bc1d44daecb",
      "tree": "23fc73cf043faac2cdb15a0b22e6e9e29a69797a",
      "parents": [
        "bc1cbf1f86aa2501efa9ca637c736fce6bcc4b1d"
      ],
      "author": {
        "name": "Ian Kent",
        "email": "raven@themaw.net",
        "time": "Mon Nov 22 02:21:38 2010 +0000"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Sat Nov 27 13:37:44 2010 -0500"
      },
      "message": "Btrfs - fix race between btrfs_get_sb() and umount\n\nWhen mounting a btrfs file system btrfs_test_super() may attempt to\nuse sb-\u003es_fs_info, the btrfs root, of a super block that is going away\nand that has had the btrfs root set to NULL in its -\u003eput_super(). But\nif the super block is going away it cannot be an existing super block\nso we can return false in this case.\n\nSigned-off-by: Ian Kent \u003craven@themaw.net\u003e\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "bc1cbf1f86aa2501efa9ca637c736fce6bcc4b1d",
      "tree": "af17fcd439f67eafc534e894168b397c563e2366",
      "parents": [
        "0ed42a63f3edb144b091d9528401fce95c3c4d8d"
      ],
      "author": {
        "name": "Josef Bacik",
        "email": "josef@redhat.com",
        "time": "Tue Nov 23 19:50:59 2010 +0000"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Sat Nov 27 13:00:07 2010 -0500"
      },
      "message": "Btrfs: update inode ctime when using links\n\nCurrently we fail xfstest 236 because we\u0027re not updating the inode ctime on\nlink.  This is a simple fix, and makes it so we pass 236 now.\n\nSigned-off-by: Josef Bacik \u003cjosef@redhat.com\u003e\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "0ed42a63f3edb144b091d9528401fce95c3c4d8d",
      "tree": "d98573473d916eecbeb949d45f8ac9b530440080",
      "parents": [
        "55a61d1d06a3dc443d0db8aaa613365dcb83b98a"
      ],
      "author": {
        "name": "Josef Bacik",
        "email": "josef@redhat.com",
        "time": "Mon Nov 22 18:55:39 2010 +0000"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Sat Nov 27 13:00:07 2010 -0500"
      },
      "message": "Btrfs: make sure new inode size is ok in fallocate\n\nWe have been failing xfstest 228 forever, because we don\u0027t check to make sure\nthe new inode size is acceptable as far as RLIMIT is concerned.  Just check to\nmake sure it\u0027s ok to create a inode with this new size and error out if not.\nWith this patch we now pass 228.\n\nSigned-off-by: Josef Bacik \u003cjosef@redhat.com\u003e\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "55a61d1d06a3dc443d0db8aaa613365dcb83b98a",
      "tree": "39f59ec200674081b086f9e25393401d08848ffd",
      "parents": [
        "45f49bce99d008d6864a20324548f35936ba46fb"
      ],
      "author": {
        "name": "Josef Bacik",
        "email": "josef@redhat.com",
        "time": "Mon Nov 22 18:50:32 2010 +0000"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Sat Nov 27 12:59:16 2010 -0500"
      },
      "message": "Btrfs: fix typo in fallocate to make it honor actual size\n\nThere is a typo in __btrfs_prealloc_file_range() where we set the i_size to\nactual_len/cur_offset, and then just set it to cur_offset again, and do the same\nwith btrfs_ordered_update_i_size().  This fixes it back to keeping i_size in a\nlocal variable and then updating i_size properly.  Tested this with\n\nxfs_io -F -f -c \"falloc 0 1\" -c \"pwrite 0 1\" foo\n\nstat\u0027ing foo gives us a size of 1 instead of 4096 like it was.  Thanks,\n\nSigned-off-by: Josef Bacik \u003cjosef@redhat.com\u003e\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "19650e8580987c0ffabc2fe2cbc16b944789df8b",
      "tree": "cf0cfb390a128e3b2d47daa46f59de0a62a8ff04",
      "parents": [
        "1eb4c6362cb7d6a2f904c555c10dc45caeeefc31",
        "0b26a0bf6ff398185546432420bb772bcfdf8d94"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Nov 27 07:30:30 2010 +0900"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Nov 27 07:30:30 2010 +0900"
      },
      "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  NFS: Ensure we return the dirent-\u003ed_type when it is known\n  NFS: Correct the array bound calculation in nfs_readdir_add_to_array\n  NFS: Don\u0027t ignore errors from nfs_do_filldir()\n  NFS: Fix the error handling in \"uncached_readdir()\"\n  NFS: Fix a page leak in uncached_readdir()\n  NFS: Fix a page leak in nfs_do_filldir()\n  NFS: Assume eof if the server returns no readdir records\n  NFS: Buffer overflow in -\u003edecode_dirent() should not be fatal\n  Pure nfs client performance using odirect.\n  SUNRPC: Fix an infinite loop in call_refresh/call_refreshresult\n"
    },
    {
      "commit": "78daa87b1d332e4ac963c793a4157533d57501c7",
      "tree": "c133840b219a446c11fa2391bb0d887e71f5809f",
      "parents": [
        "d4d2ad948e9a9c316e72fdc09d7490dfda4773da",
        "bbe425cd9ae83eacd0c9f09df2bf56dc911a54cd"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Nov 27 07:17:50 2010 +0900"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Nov 27 07:17:50 2010 +0900"
      },
      "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: fix build for PROC_FS disabled\n  block: fix amiga and atari floppy driver compile warning\n  blk-throttle: Fix calculation of max number of WRITES to be dispatched\n  ioprio: grab rcu_read_lock in sys_ioprio_{set,get}()\n  xen/blkfront: cope with backend that fail empty BLKIF_OP_WRITE_BARRIER requests\n  xen/blkfront: Implement FUA with BLKIF_OP_WRITE_BARRIER\n  xen/blkfront: change blk_shadow.request to proper pointer\n  xen/blkfront: map REQ_FLUSH into a full barrier\n"
    },
    {
      "commit": "0a66a59649f8d3f09a0ca77f1a232ec77adeeda2",
      "tree": "b5ff28c25204a40d8080e8adb28093c6926b5102",
      "parents": [
        "698fd6a2c3ca05ec796072defb5c415289a86cdc",
        "f6c26ec5085be805c9dc72d074ef5f504b9cd7df"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Nov 27 07:14:00 2010 +0900"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Nov 27 07:14:00 2010 +0900"
      },
      "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 typo in comment of nilfs_dat_move function\n  nilfs2: nilfs_iget_for_gc() returns ERR_PTR\n"
    },
    {
      "commit": "da905873effecd1c0166e578bc4b5006f041b18b",
      "tree": "ba6e699a028ce1e0625a01a3e6f82d83dad04aca",
      "parents": [
        "d1d73578e053b981c3611e5a211534290d24a5eb"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Wed Nov 24 12:57:15 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Nov 25 06:50:48 2010 +0900"
      },
      "message": "reiserfs: fix inode mutex - reiserfs lock misordering\n\nreiserfs_unpack() locks the inode mutex with reiserfs_mutex_lock_safe()\nto protect against reiserfs lock dependency.  However this protection\nrequires to have the reiserfs lock to be locked.\n\nThis is the case if reiserfs_unpack() is called by reiserfs_ioctl but\nnot from reiserfs_quota_on() when it tries to unpack tails of quota\nfiles.\n\nFix the ordering of the two locks in reiserfs_unpack() to fix this\nissue.\n\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nReported-by: Markus Gapp \u003cmarkus.gapp@gmx.net\u003e\nReported-by: Jan Kara \u003cjack@suse.cz\u003e\nCc: Jeff Mahoney \u003cjeffm@suse.com\u003e\nCc: \u003cstable@kernel.org\u003e\t\t[2.6.36.x]\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "ea251c1d5c481cda1cf6b0c9e4965f04a6cf2ffc",
      "tree": "989753f439461fb333432761b8bf39d408572c62",
      "parents": [
        "5f0af70a25593a9d53b87bc8d31902fb7cc63e40"
      ],
      "author": {
        "name": "Naoya Horiguchi",
        "email": "n-horiguchi@ah.jp.nec.com",
        "time": "Wed Nov 24 12:57:13 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Nov 25 06:50:46 2010 +0900"
      },
      "message": "pagemap: set pagemap walk limit to PMD boundary\n\nCurrently one pagemap_read() call walks in PAGEMAP_WALK_SIZE bytes (\u003d\u003d 512\npages.) But there is a corner case where walk_pmd_range() accidentally\nruns over a VMA associated with a hugetlbfs file.\n\nFor example, when a process has mappings to VMAs as shown below:\n\n  # cat /proc/\u003cpid\u003e/maps\n  ...\n  3a58f6d000-3a58f72000 rw-p 00000000 00:00 0\n  7fbd51853000-7fbd51855000 rw-p 00000000 00:00 0\n  7fbd5186c000-7fbd5186e000 rw-p 00000000 00:00 0\n  7fbd51a00000-7fbd51c00000 rw-s 00000000 00:12 8614   /hugepages/test\n\nthen pagemap_read() goes into walk_pmd_range() path and walks in the range\n0x7fbd51853000-0x7fbd51a53000, but the hugetlbfs VMA should be handled by\nwalk_hugetlb_range().  Otherwise PMD for the hugepage is considered bad\nand cleared, which causes undesirable results.\n\nThis patch fixes it by separating pagemap walk range into one PMD.\n\nSigned-off-by: Naoya Horiguchi \u003cn-horiguchi@ah.jp.nec.com\u003e\nCc: Jun\u0027ichi Nomura \u003cj-nomura@ce.jp.nec.com\u003e\nAcked-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: Matt Mackall \u003cmpm@selenic.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "a0822c55779d9319939eac69f00bb729ea9d23da",
      "tree": "a12ff25e7718bb04ac2f85c672c9f9c370a8b167",
      "parents": [
        "c22c7aeff69796f46ae0fcec141538e28f50b24e"
      ],
      "author": {
        "name": "Ken Sumrall",
        "email": "ksumrall@android.com",
        "time": "Wed Nov 24 12:57:00 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Nov 25 06:50:41 2010 +0900"
      },
      "message": "fuse: fix attributes after open(O_TRUNC)\n\nThe attribute cache for a file was not being cleared when a file is opened\nwith O_TRUNC.\n\nIf the filesystem\u0027s open operation truncates the file (\"atomic_o_trunc\"\nfeature flag is set) then the kernel should invalidate the cached st_mtime\nand st_ctime attributes.\n\nAlso i_size should be explicitly be set to zero as it is used sometimes\nwithout refreshing the cache.\n\nSigned-off-by: Ken Sumrall \u003cksumrall@android.com\u003e\nCc: Anfei \u003canfei.zhou@gmail.com\u003e\nCc: \"Anand V. Avati\" \u003cavati@gluster.com\u003e\nSigned-off-by: Miklos Szeredi \u003cmiklos@szeredi.hu\u003e\nCc: \u003cstable@kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "f6c26ec5085be805c9dc72d074ef5f504b9cd7df",
      "tree": "4b7e1439d62a409a4589a46ae71b6bf07ba57881",
      "parents": [
        "103cfcf522cefe00d8c322c6beac9a711acbf235"
      ],
      "author": {
        "name": "Ryusuke Konishi",
        "email": "konishi.ryusuke@lab.ntt.co.jp",
        "time": "Wed Nov 24 02:18:59 2010 +0900"
      },
      "committer": {
        "name": "Ryusuke Konishi",
        "email": "konishi.ryusuke@lab.ntt.co.jp",
        "time": "Wed Nov 24 12:51:48 2010 +0900"
      },
      "message": "nilfs2: fix typo in comment of nilfs_dat_move function\n\nFixes a typo: \"uncommited\" -\u003e \"uncommitted\".\n\nSigned-off-by: Ryusuke Konishi \u003ckonishi.ryusuke@lab.ntt.co.jp\u003e\n"
    },
    {
      "commit": "103cfcf522cefe00d8c322c6beac9a711acbf235",
      "tree": "92199ed8ad67cd128f9899e644361a7c4504467a",
      "parents": [
        "3561d43fd289f590fdae672e5eb831b8d5cf0bf6"
      ],
      "author": {
        "name": "Dan Carpenter",
        "email": "error27@gmail.com",
        "time": "Tue Nov 23 09:26:02 2010 +0300"
      },
      "committer": {
        "name": "Ryusuke Konishi",
        "email": "konishi.ryusuke@lab.ntt.co.jp",
        "time": "Tue Nov 23 16:32:19 2010 +0900"
      },
      "message": "nilfs2: nilfs_iget_for_gc() returns ERR_PTR\n\nnilfs_iget_for_gc() returns an ERR_PTR() on failure and doesn\u0027t return\nNULL.\n\nSigned-off-by: Dan Carpenter \u003cerror27@gmail.com\u003e\nSigned-off-by: Ryusuke Konishi \u003ckonishi.ryusuke@lab.ntt.co.jp\u003e\n"
    },
    {
      "commit": "0b26a0bf6ff398185546432420bb772bcfdf8d94",
      "tree": "705b94c8662cf18cf8cd18c6b8c68d751d87acb7",
      "parents": [
        "3020093f578fb6c9acc6914dfd887a1ebd1db659"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sat Nov 20 14:26:44 2010 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Nov 22 13:24:48 2010 -0500"
      },
      "message": "NFS: Ensure we return the dirent-\u003ed_type when it is known\n\nStore the dirent-\u003ed_type in the struct nfs_cache_array_entry so that we\ncan use it in getdents() calls.\n\nThis fixes a regression with the new readdir code.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "3020093f578fb6c9acc6914dfd887a1ebd1db659",
      "tree": "473af4f139dcb3975b20bcd9d2e04fb1cadc97b3",
      "parents": [
        "ece0b4233b6b915d1f63add2bd9f2733aec6317a"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sat Nov 20 15:18:22 2010 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Nov 22 13:24:47 2010 -0500"
      },
      "message": "NFS: Correct the array bound calculation in nfs_readdir_add_to_array\n\nIt looks as if the array size calculation in MAX_READDIR_ARRAY does not\ntake the alignment of struct nfs_cache_array_entry into account.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "ece0b4233b6b915d1f63add2bd9f2733aec6317a",
      "tree": "f0f9a2ec50079ccd0c95ddce082648ab25923cfe",
      "parents": [
        "85f8607e163f8d281fb407357279cb4ac6df12e6"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sat Nov 20 13:55:33 2010 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Nov 22 13:24:47 2010 -0500"
      },
      "message": "NFS: Don\u0027t ignore errors from nfs_do_filldir()\n\nWe should ignore the errors from the filldir callback, and just interpret\nthem as meaning we should exit, however we should definitely pass back\nENOMEM errors.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "85f8607e163f8d281fb407357279cb4ac6df12e6",
      "tree": "abfa44658e17b4c3522aac999c7736f5d4782ff6",
      "parents": [
        "7a8e1dc34f52fd2927dbf7e520d7cd8eadc51336"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sat Nov 20 13:24:49 2010 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Nov 22 13:24:46 2010 -0500"
      },
      "message": "NFS: Fix the error handling in \"uncached_readdir()\"\n\nCurrently, uncached_readdir() is broken because if fails to handle\nthe results from nfs_readdir_xdr_to_array() correctly.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "7a8e1dc34f52fd2927dbf7e520d7cd8eadc51336",
      "tree": "de5e01e628e0fec4a20e335ef5a3163e307ba3fa",
      "parents": [
        "e7c58e974a0318fcca5368e7b3570e10e9ae9028"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sat Nov 20 13:24:46 2010 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Nov 22 13:24:45 2010 -0500"
      },
      "message": "NFS: Fix a page leak in uncached_readdir()\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "e7c58e974a0318fcca5368e7b3570e10e9ae9028",
      "tree": "de7c5bf4d565ce0365af6fe1d82bd035deb37024",
      "parents": [
        "5c346854d8ce6ca91931f8fc9177934257a667d0"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sat Nov 20 13:22:24 2010 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Nov 22 13:24:44 2010 -0500"
      },
      "message": "NFS: Fix a page leak in nfs_do_filldir()\n\nnfs_do_filldir() must always free desc-\u003epage when it is done, otherwise\nwe end up leaking the page.\n\nAlso remove unused variable \u0027dentry\u0027.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "5c346854d8ce6ca91931f8fc9177934257a667d0",
      "tree": "de10054f20a2bc3a2fc58ca394854d40aebc8654",
      "parents": [
        "463a376eae1c92a66c912af539bfd4bbefa37673"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sat Nov 20 12:43:45 2010 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Nov 22 13:24:44 2010 -0500"
      },
      "message": "NFS: Assume eof if the server returns no readdir records\n\nSome servers are known to be buggy w.r.t. this. Deal with them...\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "463a376eae1c92a66c912af539bfd4bbefa37673",
      "tree": "b6bc0eb099669ead19ef97f27c7e0b65d38bdb82",
      "parents": [
        "b47d19de2c714020ba8f5545a6e7d4968f37eb45"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sat Nov 20 12:22:20 2010 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Nov 22 13:24:43 2010 -0500"
      },
      "message": "NFS: Buffer overflow in -\u003edecode_dirent() should not be fatal\n\nOverflowing the buffer in the readdir -\u003edecode_dirent() should not lead to\na fatal error, but rather to an attempt to reread the record in question.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "b47d19de2c714020ba8f5545a6e7d4968f37eb45",
      "tree": "546161934b37b1dd4901f2752387fee6542a224a",
      "parents": [
        "5fc43978a79e8021c189660ab63249fd29c5fb32"
      ],
      "author": {
        "name": "Arun Bharadwaj",
        "email": "arun@linux.vnet.ibm.com",
        "time": "Thu Nov 18 10:36:43 2010 +0000"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Nov 22 13:24:42 2010 -0500"
      },
      "message": "Pure nfs client performance using odirect.\n\nWhen an application opens a file with O_DIRECT flag, if the size of\nthe data that is written is equal to wsize, the client sends a\nWRITE RPC with stable flag set to UNSTABLE followed by a single\nCOMMIT RPC rather than sending a single WRITE RPC with the stable\nflag set to FILE_SYNC. This a bug.\n\nPatch to fix this.\n\nSigned-off-by: Arun R Bharadwaj \u003carun@linux.vnet.ibm.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "45f49bce99d008d6864a20324548f35936ba46fb",
      "tree": "9bae14a5fa0b68573758dcc1aaaa176f4a62c6b8",
      "parents": [
        "a1b075d28da563c5e2325577f282c042494254ba"
      ],
      "author": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Sun Nov 21 22:27:44 2010 -0500"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Sun Nov 21 22:27:44 2010 -0500"
      },
      "message": "Btrfs: avoid NULL pointer deref in try_release_extent_buffer\n\nIf we fail to find a pointer in the radix tree, don\u0027t try\nto deref the NULL one we do have.\n\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "a1b075d28da563c5e2325577f282c042494254ba",
      "tree": "0699a0490e11efb6fc2b1a2e99fa6419e9e568fa",
      "parents": [
        "495e86779f4f319828bc10dfc0c9ac2161868077"
      ],
      "author": {
        "name": "Josef Bacik",
        "email": "josef@redhat.com",
        "time": "Fri Nov 19 20:36:11 2010 +0000"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Sun Nov 21 22:26:10 2010 -0500"
      },
      "message": "Btrfs: make btrfs_add_nondir take parent inode as an argument\n\nEverybody who calls btrfs_add_nondir just passes in the dentry of the new file\nand then dereference dentry-\u003ed_parent-\u003ed_inode, but everybody who calls\nbtrfs_add_nondir() are already passed the parent\u0027s inode.  So instead of\ndereferencing dentry-\u003ed_parent, just make btrfs_add_nondir take the dir inode as\nan argument and pass that along so we don\u0027t have to worry about d_parent.\nThanks,\n\nSigned-off-by: Josef Bacik \u003cjosef@redhat.com\u003e\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "495e86779f4f319828bc10dfc0c9ac2161868077",
      "tree": "62729f2b65c9565fadb551bd8d343d6c57d7cb85",
      "parents": [
        "6a912213046ecb6511fdf35531a0c7de3de963c9"
      ],
      "author": {
        "name": "Josef Bacik",
        "email": "josef@redhat.com",
        "time": "Fri Nov 19 20:36:10 2010 +0000"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Sun Nov 21 22:26:09 2010 -0500"
      },
      "message": "Btrfs: hold i_mutex when calling btrfs_log_dentry_safe\n\nSince we walk up the path logging all of the parts of the inode\u0027s path, we need\nto hold i_mutex to make sure that the inode is not renamed while we\u0027re logging\neverything.  btrfs_log_dentry_safe does dget_parent and all of that jazz, but we\nmay get unexpected results if the rename changes the inode\u0027s location while\nwe\u0027re higher up the path logging those dentries, so do this for safety reasons.\nThanks,\n\nSigned-off-by: Josef Bacik \u003cjosef@redhat.com\u003e\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "6a912213046ecb6511fdf35531a0c7de3de963c9",
      "tree": "b745a07d0ad5c5bedf68c55739200093f9d96c1b",
      "parents": [
        "76195853903ca613ba722203db9b747d70478fc7"
      ],
      "author": {
        "name": "Josef Bacik",
        "email": "josef@redhat.com",
        "time": "Sat Nov 20 09:48:00 2010 +0000"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Sun Nov 21 22:26:09 2010 -0500"
      },
      "message": "Btrfs: use dget_parent where we can UPDATED\n\nThere are lots of places where we do dentry-\u003ed_parent-\u003ed_inode without holding\nthe dentry-\u003ed_lock.  This could cause problems with rename.  So instead we need\nto use dget_parent() and hold the reference to the parent as long as we are\ngoing to use it\u0027s inode and then dput it at the end.\n\nSigned-off-by: Josef Bacik \u003cjosef@redhat.com\u003e\nCc: raven@themaw.net\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "76195853903ca613ba722203db9b747d70478fc7",
      "tree": "d3c7af7f141566a1ca2acfdf1efccd374b5e349f",
      "parents": [
        "2ede0daf01549cecf4bb0962c46dc47382047523"
      ],
      "author": {
        "name": "Josef Bacik",
        "email": "josef@redhat.com",
        "time": "Fri Nov 19 02:18:02 2010 +0000"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Sun Nov 21 22:26:08 2010 -0500"
      },
      "message": "Btrfs: fix more ESTALE problems with NFS\n\nWhen creating new inodes we don\u0027t setup inode-\u003ei_generation.  So if we generate\nan fh with a newly created inode we save the generation of 0, but if we flush\nthe inode to disk and have to read it back when getting the inode on the server\nwe\u0027ll have the right i_generation, so gens wont match and we get ESTALE.  This\npatch properly sets inode-\u003ei_generation when we create the new inode and now I\u0027m\nno longer getting ESTALE.  Thanks,\n\nSigned-off-by: Josef Bacik \u003cjosef@redhat.com\u003e\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "2ede0daf01549cecf4bb0962c46dc47382047523",
      "tree": "3d02b4445b8657ac402a64772dd80ca517967557",
      "parents": [
        "0410c94aff109c02b6774a0ed00114987cda7ce5"
      ],
      "author": {
        "name": "Josef Bacik",
        "email": "josef@redhat.com",
        "time": "Wed Nov 17 18:54:54 2010 +0000"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Sun Nov 21 22:26:08 2010 -0500"
      },
      "message": "Btrfs: handle NFS lookups properly\n\nPeople kept reporting NFS issues, specifically getting ESTALE alot.  I figured\nout how to reproduce the problem\n\nSERVER\nmkfs.btrfs /dev/sda1\nmount /dev/sda1 /mnt/btrfs-test\n\u003cadd /mnt/btrfs-test to /etc/exports\u003e\nbtrfs subvol create /mnt/btrfs-test/foo\nservice nfs start\n\nCLIENT\nmount server:/mnt/btrfs /mnt/test\ncd /mnt/test/foo\nls\n\nSERVER\necho 3 \u003e /proc/sys/vm/drop_caches\n\nCLIENT\nls\t\t\t\u003c-- get an ESTALE here\n\nThis is because the standard way to lookup a name in nfsd is to use readdir, and\nwhat it does is do a readdir on the parent directory looking for the inode of\nthe child.  So in this case the parent being / and the child being foo.  Well\nsubvols all have the same inode number, so doing a readdir of / looking for\ninode 256 will return \u0027.\u0027, which obviously doesn\u0027t match foo.  So instead we\nneed to have our own .get_name so that we can find the right name.\n\nOur .get_name will either lookup the inode backref or the root backref,\nwhichever we\u0027re looking for, and return the name we find.  Running the above\nreproducer with this patch results in everything acting the way its supposed to.\nThanks,\n\nSigned-off-by: Josef Bacik \u003cjosef@redhat.com\u003e\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "0410c94aff109c02b6774a0ed00114987cda7ce5",
      "tree": "d36f25febc48d836420acfa93f2b4b97b63c9ceb",
      "parents": [
        "f209561ad83c5ffd561dc4bc3a3c90b704fe9231"
      ],
      "author": {
        "name": "Mariusz Kozlowski",
        "email": "mk@lab.zgora.pl",
        "time": "Sat Nov 20 12:03:07 2010 +0000"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Sun Nov 21 22:26:07 2010 -0500"
      },
      "message": "btrfs: make 1-bit signed fileds unsigned\n\nFixes these sparse warnings:\nfs/btrfs/ctree.h:811:17: error: dubious one-bit signed bitfield\nfs/btrfs/ctree.h:812:20: error: dubious one-bit signed bitfield\nfs/btrfs/ctree.h:813:19: error: dubious one-bit signed bitfield\n\nSigned-off-by: Mariusz Kozlowski \u003cmk@lab.zgora.pl\u003e\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "f209561ad83c5ffd561dc4bc3a3c90b704fe9231",
      "tree": "9241e4251c8e73cdbb8b9e4abf279afd61694a8d",
      "parents": [
        "5f3888ff6f0b9dce60705765752b788a92557644"
      ],
      "author": {
        "name": "Li Zefan",
        "email": "lizf@cn.fujitsu.com",
        "time": "Fri Nov 19 02:05:24 2010 +0000"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Sun Nov 21 22:26:07 2010 -0500"
      },
      "message": "btrfs: Show device attr correctly for symlinks\n\nSymlinks and files of other types show different device numbers, though\nthey are on the same partition:\n\n $ touch tmp; ln -s tmp tmp2; stat tmp tmp2\n   File: `tmp\u0027\n   Size: 0         \tBlocks: 0          IO Block: 4096   regular empty file\n Device: 15h/21d\tInode: 984027      Links: 1\n --- snip ---\n   File: `tmp2\u0027 -\u003e `tmp\u0027\n   Size: 3         \tBlocks: 0          IO Block: 4096   symbolic link\n Device: 13h/19d\tInode: 984028      Links: 1\n\nReported-by: Toke Høiland-Jørgensen \u003ctoke@toke.dk\u003e\nSigned-off-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "5f3888ff6f0b9dce60705765752b788a92557644",
      "tree": "c7745507d85f68b188f0c9b11cc6f783f0d0cb86",
      "parents": [
        "2a6b8daedaf3682bed3fc1d4e2390491f6e19c49"
      ],
      "author": {
        "name": "Li Zefan",
        "email": "lizf@cn.fujitsu.com",
        "time": "Fri Nov 19 01:36:34 2010 +0000"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Sun Nov 21 22:26:06 2010 -0500"
      },
      "message": "btrfs: Set file size correctly in file clone\n\nSet src_offset \u003d 0, src_length \u003d 20K, dest_offset \u003d 20K. And the\noriginal filesize of the dest file \u0027file2\u0027 is 30K:\n\n  # ls -l /mnt/file2\n  -rw-r--r-- 1 root root 30720 Nov 18 16:42 /mnt/file2\n\nNow clone file1 to file2, the dest file should be 40K, but it\nstill shows 30K:\n\n  # ls -l /mnt/file2\n  -rw-r--r-- 1 root root 30720 Nov 18 16:42 /mnt/file2\n\nSigned-off-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "2a6b8daedaf3682bed3fc1d4e2390491f6e19c49",
      "tree": "76f418aa17a1e3e690d5c1fb164e0c4b96ca1e8d",
      "parents": [
        "0de90876c6cb774d4a424dafc1fc9ec50071b81b"
      ],
      "author": {
        "name": "Li Zefan",
        "email": "lizf@cn.fujitsu.com",
        "time": "Fri Nov 19 01:36:10 2010 +0000"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Sun Nov 21 22:26:05 2010 -0500"
      },
      "message": "btrfs: Check if dest_offset is block-size aligned before cloning file\n\nWe\u0027ve done the check for src_offset and src_length, and We should\nalso check dest_offset, otherwise we\u0027ll corrupt the destination\nfile:\n\n  (After cloning file1 to file2 with unaligned dest_offset)\n  # cat /mnt/file2\n  cat: /mnt/file2: Input/output error\n\nSigned-off-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "0de90876c6cb774d4a424dafc1fc9ec50071b81b",
      "tree": "a3edae0a3873c959a94f45ee035de83bb85c379c",
      "parents": [
        "6f33434850ed87dc5e56b60ebbad3d3cf405f296"
      ],
      "author": {
        "name": "Josef Bacik",
        "email": "josef@redhat.com",
        "time": "Fri Nov 19 13:40:41 2010 +0000"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Sun Nov 21 22:26:05 2010 -0500"
      },
      "message": "Btrfs: handle the space_cache option properly\n\nWhen I added the clear_cache option I screwed up and took the break out of\nthe space_cache case statement, so whenever you mount with space_cache you also\nget clear_cache, which does you no good if you say set space_cache in fstab so\nit always gets set.  This patch adds the break back in properly.\n\nSigned-off-by: Josef Bacik \u003cjosef@redhat.com\u003e\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "6f33434850ed87dc5e56b60ebbad3d3cf405f296",
      "tree": "e70433c2c1fe59180bb8a92341f73931eff7ddb0",
      "parents": [
        "e65e1535542931e51189832264cd282e5899e4b9"
      ],
      "author": {
        "name": "Arne Jansen",
        "email": "sensille@gmx.net",
        "time": "Fri Nov 12 23:17:56 2010 +0000"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Sun Nov 21 22:26:04 2010 -0500"
      },
      "message": "btrfs: Fix early enospc because \u0027unused\u0027 calculated with wrong sign.\n\n\u0027unused\u0027 calculated with wrong sign in reserve_metadata_bytes().\nThis might have lead to unwanted over-reservations.\n\nSigned-off-by: Arne Jansen \u003csensille@gmx.net\u003e\nReviewed-by: Josef Bacik \u003cjosef@redhat.com\u003e\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "e65e1535542931e51189832264cd282e5899e4b9",
      "tree": "cc3cda0f658cad9f69c351d0735150958a1b0147",
      "parents": [
        "88f794ede7fadd4b63135b94d1561c1f2d5eb5f5"
      ],
      "author": {
        "name": "Miao Xie",
        "email": "miaox@cn.fujitsu.com",
        "time": "Mon Nov 22 03:04:43 2010 +0000"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Sun Nov 21 22:26:04 2010 -0500"
      },
      "message": "btrfs: fix panic caused by direct IO\n\nbtrfs paniced when we write \u003e64KB data by direct IO at one time.\n\nReproduce steps:\n # mkfs.btrfs /dev/sda5 /dev/sda6\n # mount /dev/sda5 /mnt\n # dd if\u003d/dev/zero of\u003d/mnt/tmpfile bs\u003d100K count\u003d1 oflag\u003ddirect\n\nThen btrfs paniced:\nmapping failed logical 1103155200 bio len 69632 len 12288\n------------[ cut here ]------------\nkernel BUG at fs/btrfs/volumes.c:3010!\n[SNIP]\nPid: 1992, comm: btrfs-worker-0 Not tainted 2.6.37-rc1 #1 D2399/PRIMERGY\nRIP: 0010:[\u003cffffffffa03d1462\u003e]  [\u003cffffffffa03d1462\u003e] btrfs_map_bio+0x202/0x210 [btrfs]\n[SNIP]\nCall Trace:\n [\u003cffffffffa03ab3eb\u003e] __btrfs_submit_bio_done+0x1b/0x20 [btrfs]\n [\u003cffffffffa03a35ff\u003e] run_one_async_done+0x9f/0xb0 [btrfs]\n [\u003cffffffffa03d3d20\u003e] run_ordered_completions+0x80/0xc0 [btrfs]\n [\u003cffffffffa03d45a4\u003e] worker_loop+0x154/0x5f0 [btrfs]\n [\u003cffffffffa03d4450\u003e] ? worker_loop+0x0/0x5f0 [btrfs]\n [\u003cffffffffa03d4450\u003e] ? worker_loop+0x0/0x5f0 [btrfs]\n [\u003cffffffff81083216\u003e] kthread+0x96/0xa0\n [\u003cffffffff8100cec4\u003e] kernel_thread_helper+0x4/0x10\n [\u003cffffffff81083180\u003e] ? kthread+0x0/0xa0\n [\u003cffffffff8100cec0\u003e] ? kernel_thread_helper+0x0/0x10\n\nWe fix this problem by splitting bios when we submit bios.\n\nReported-by: Tsutomu Itoh \u003ct-itoh@jp.fujitsu.com\u003e\nSigned-off-by: Miao Xie \u003cmiaox@cn.fujitsu.com\u003e\nTested-by: Tsutomu Itoh \u003ct-itoh@jp.fujitsu.com\u003e\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "88f794ede7fadd4b63135b94d1561c1f2d5eb5f5",
      "tree": "04e4fede4aa520bd4dfb7de7ab28f5ad38d215cc",
      "parents": [
        "0c56fa9662927354255f2f64617d1de61fc03db9"
      ],
      "author": {
        "name": "Miao Xie",
        "email": "miaox@cn.fujitsu.com",
        "time": "Mon Nov 22 03:02:55 2010 +0000"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Sun Nov 21 22:26:03 2010 -0500"
      },
      "message": "btrfs: cleanup duplicate bio allocating functions\n\nextent_bio_alloc() and compressed_bio_alloc() are similar, cleanup\nsimilar source code.\n\nSigned-off-by: Miao Xie \u003cmiaox@cn.fujitsu.com\u003e\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "0c56fa9662927354255f2f64617d1de61fc03db9",
      "tree": "d3e4afe5596c6ac844b8f84fbb5cd89c9a8d0cf8",
      "parents": [
        "784b4e29a26617589edd290dd2919735e190c06e"
      ],
      "author": {
        "name": "Miao Xie",
        "email": "miaox@cn.fujitsu.com",
        "time": "Mon Nov 22 03:01:39 2010 +0000"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Sun Nov 21 22:26:02 2010 -0500"
      },
      "message": "btrfs: fix free dip and dip-\u003ecsums twice\n\nbio_endio() will free dip and dip-\u003ecsums, so dip and dip-\u003ecsums twice will\nbe freed twice. Fix it.\n\nSigned-off-by: Miao Xie \u003cmiaox@cn.fujitsu.com\u003e\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "784b4e29a26617589edd290dd2919735e190c06e",
      "tree": "1c1806afb3aa5a7f82b272b8b38dc1e13e45d16b",
      "parents": [
        "6418c96107a2b399848bb8cfc6e29f11ca74fb94"
      ],
      "author": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Sun Nov 21 22:20:49 2010 -0500"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Sun Nov 21 22:26:02 2010 -0500"
      },
      "message": "Btrfs: add migrate page for metadata inode\n\nMigrate page will directly call the btrfs btree writepage function,\nwhich isn\u0027t actually allowed.\n\nOur writepage assumes that you have locked the extent_buffer and\nflagged the block as written.  Without doing these steps, we can\ncorrupt metadata blocks.\n\nA later commit will remove the btree writepage function since\nit is really only safely used internally by btrfs.  We\nuse writepages for everything else.\n\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "b86db4744230c94e480de56f1b7f31117edbf193",
      "tree": "e94240a428f525c11c8758ebdd50398cec95e7be",
      "parents": [
        "76db8ac45fc738f7d7664fe9b56d15c594a45228",
        "e681c047e47c0abe67bf95857f23814372793cb0"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Nov 19 19:46:45 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Nov 19 19:46:45 2010 -0800"
      },
      "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: Add EXT4_IOC_TRIM ioctl to handle batched discard\n  fs: Do not dispatch FITRIM through separate super_operation\n  ext4: ext4_fill_super shouldn\u0027t return 0 on corruption\n  jbd2: fix /proc/fs/jbd2/\u003cdev\u003e when using an external journal\n  ext4: missing unlock in ext4_clear_request_list()\n  ext4: fix setting random pages PageUptodate\n"
    },
    {
      "commit": "e681c047e47c0abe67bf95857f23814372793cb0",
      "tree": "b82d1e75d2b7774c05e0c224464286c570d5d624",
      "parents": [
        "93bb41f4f8b89ac8b4d0a734bc59634cb0a29a89"
      ],
      "author": {
        "name": "Lukas Czerner",
        "email": "lczerner@redhat.com",
        "time": "Fri Nov 19 21:47:07 2010 -0500"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Fri Nov 19 21:47:07 2010 -0500"
      },
      "message": "ext4: Add EXT4_IOC_TRIM ioctl to handle batched discard\n\nFilesystem independent ioctl was rejected as not common enough to be in\ncore vfs ioctl. Since we still need to access to this functionality this\ncommit adds ext4 specific ioctl EXT4_IOC_TRIM to dispatch\next4_trim_fs().\n\nIt takes fstrim_range structure as an argument. fstrim_range is definec in\nthe include/linux/fs.h and its definition is as follows.\n\nstruct fstrim_range {\n\t__u64 start;\n\t__u64 len;\n\t__u64 minlen;\n}\n\nstart\t- first Byte to trim\nlen\t- number of Bytes to trim from start\nminlen\t- minimum extent length to trim, free extents shorter than this\n  number of Bytes will be ignored. This will be rounded up to fs\n  block size.\n\nAfter the FITRIM is done, the number of actually discarded Bytes is stored\nin fstrim_range.len to give the user better insight on how much storage\nspace has been really released for wear-leveling.\n\nSigned-off-by: Lukas Czerner \u003clczerner@redhat.com\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "93bb41f4f8b89ac8b4d0a734bc59634cb0a29a89",
      "tree": "16ed3163dbbdb5b46ed0f3a12d059b4c2c467e95",
      "parents": [
        "5a9ae68a349aa076bc8557ee2fcf865574459282"
      ],
      "author": {
        "name": "Lukas Czerner",
        "email": "lczerner@redhat.com",
        "time": "Fri Nov 19 21:18:35 2010 -0500"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Fri Nov 19 21:18:35 2010 -0500"
      },
      "message": "fs: Do not dispatch FITRIM through separate super_operation\n\nThere was concern that FITRIM ioctl is not common enough to be included\nin core vfs ioctl, as Christoph Hellwig pointed out there\u0027s no real point\nin dispatching this out to a separate vector instead of just through\n-\u003eioctl.\n\nSo this commit removes ioctl_fstrim() from vfs ioctl and trim_fs\nfrom super_operation structure.\n\nSigned-off-by: Lukas Czerner \u003clczerner@redhat.com\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "76db8ac45fc738f7d7664fe9b56d15c594a45228",
      "tree": "eca23feab074d505b375e27714473f4ad337bd85",
      "parents": [
        "caf8394524fdc039b090cd3af99157e9e76f4f06",
        "3105c19c450ac7c18ab28c19d364b588767261b3"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Nov 19 15:32:22 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Nov 19 15:32:22 2010 -0800"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/sage/ceph-client\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/sage/ceph-client:\n  ceph: fix readdir EOVERFLOW on 32-bit archs\n  ceph: fix frag offset for non-leftmost frags\n  ceph: fix dangling pointer\n  ceph: explicitly specify page alignment in network messages\n  ceph: make page alignment explicit in osd interface\n  ceph: fix comment, remove extraneous args\n  ceph: fix update of ctime from MDS\n  ceph: fix version check on racing inode updates\n  ceph: fix uid/gid on resent mds requests\n  ceph: fix rdcache_gen usage and invalidate\n  ceph: re-request max_size if cap auth changes\n  ceph: only let auth caps update max_size\n  ceph: fix open for write on clustered mds\n  ceph: fix bad pointer dereference in ceph_fill_trace\n  ceph: fix small seq message skipping\n  Revert \"ceph: update issue_seq on cap grant\"\n"
    },
    {
      "commit": "5a9ae68a349aa076bc8557ee2fcf865574459282",
      "tree": "484c26f74f13a0c5962ac634c90462d98dea8e1a",
      "parents": [
        "0587aa3d11f9769a301b21bff2c3ed8365606b8d"
      ],
      "author": {
        "name": "Darrick J. Wong",
        "email": "djwong@us.ibm.com",
        "time": "Fri Nov 19 09:56:44 2010 -0500"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Fri Nov 19 09:56:44 2010 -0500"
      },
      "message": "ext4: ext4_fill_super shouldn\u0027t return 0 on corruption\n\nAt the start of ext4_fill_super, ret is set to -EINVAL, and any failure path\nout of that function returns ret.  However, the generic_check_addressable\nclause sets ret \u003d 0 (if it passes), which means that a subsequent failure (e.g.\na group checksum error) returns 0 even though the mount should fail.  This\ncauses vfs_kern_mount in turn to think that the mount succeeded, leading to an\noops.\n\nA simple fix is to avoid using ret for the generic_check_addressable check,\nwhich was last changed in commit 30ca22c70e3ef0a96ff84de69cd7e8561b416cb2.\n\nSigned-off-by: Darrick J. Wong \u003cdjwong@us.ibm.com\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "14870b457524e745f1a118e17873d104b1a47b70",
      "tree": "db7a3d2c20ada60c8bbbc14d71481b036a082b9f",
      "parents": [
        "e53beacd23d9cb47590da6a7a7f6d417b941a994"
      ],
      "author": {
        "name": "Abhijith Das",
        "email": "adas@redhat.com",
        "time": "Thu Nov 18 11:24:24 2010 -0500"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Fri Nov 19 11:20:29 2010 +0000"
      },
      "message": "GFS2: Userland expects quota limit/warn/usage in 512b blocks\n\nUserland programs using the quotactl() syscall assume limit/warn/usage\nblock counts in 512b basic blocks which were instead being read/written\nin fs blocksize in gfs2. With this patch, gfs2 correctly interacts with\nthe syscall using 512b blocks.\n\nSigned-off-by: Abhi Das \u003cadas@redhat.com\u003e\nReviewed-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "3105c19c450ac7c18ab28c19d364b588767261b3",
      "tree": "2b306fb3b8536f5f92f085993bbd966d9eb3929a",
      "parents": [
        "7b88dadc13e0004947de52df128dbd5b0754ed0a"
      ],
      "author": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Thu Nov 18 09:15:07 2010 -0800"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Thu Nov 18 09:15:07 2010 -0800"
      },
      "message": "ceph: fix readdir EOVERFLOW on 32-bit archs\n\nOne of the readdir filldir_t callers was passing the raw ceph 64-bit ino\ninstead of the hashed 32-bit one, producing an EOVERFLOW in the filler\ncallback.  Fix this by calling the ceph_vino_to_ino() helper to do the\nconversion.\n\nReported-by: Jan Smets \u003cjan.smets@alcatel-lucent.com\u003e\nTested-by: Jan Smets \u003cjan.smets@alcatel-lucent.com\u003e\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\n"
    },
    {
      "commit": "0587aa3d11f9769a301b21bff2c3ed8365606b8d",
      "tree": "c02512f57fc11b37da4764c10a5e2ef42cc5ecbe",
      "parents": [
        "f4c8cc652d9f70680dd91be60a7a455040d0a282"
      ],
      "author": {
        "name": "yangsheng",
        "email": "sheng.yang@oracle.com",
        "time": "Wed Nov 17 21:46:26 2010 -0500"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Wed Nov 17 21:46:26 2010 -0500"
      },
      "message": "jbd2: fix /proc/fs/jbd2/\u003cdev\u003e when using an external journal\n\nIn jbd2_journal_init_dev(), we need make sure the journal structure is\nfully initialzied before calling jbd2_stats_proc_init().\n\nReviewed-by: Andreas Dilger \u003candreas.dilger@oracle.com\u003e\nSigned-off-by: yangsheng \u003csheng.yang@oracle.com\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "f4c8cc652d9f70680dd91be60a7a455040d0a282",
      "tree": "15464ab1cfa63b2e7b7c83006aa09e605aa7099a",
      "parents": [
        "08da1193d2c8c7a25d0cef7f85d0b9f1ad7c583a"
      ],
      "author": {
        "name": "Dan Carpenter",
        "email": "error27@gmail.com",
        "time": "Wed Nov 17 21:46:25 2010 -0500"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Wed Nov 17 21:46:25 2010 -0500"
      },
      "message": "ext4: missing unlock in ext4_clear_request_list()\n\nIf the the li_request_list was empty then it returned with the lock\nheld.  Instead of adding a \"goto unlock\" I just removed that special\ncase and let it go past the empty list_for_each_safe().\n\nSigned-off-by: Dan Carpenter \u003cerror27@gmail.com\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "08da1193d2c8c7a25d0cef7f85d0b9f1ad7c583a",
      "tree": "5a288945b73bc0ea79ca26e556f8061b51a85c1d",
      "parents": [
        "e53beacd23d9cb47590da6a7a7f6d417b941a994"
      ],
      "author": {
        "name": "Markus Trippelsdorf",
        "email": "markus@trippelsdorf.de",
        "time": "Wed Nov 17 21:46:06 2010 -0500"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Wed Nov 17 21:46:06 2010 -0500"
      },
      "message": "ext4: fix setting random pages PageUptodate\n\next4_end_bio calls put_page and kmem_cache_free before calling\nSetPageUpdate(). This can result in setting the PageUptodate bit on\nrandom pages and causes the following BUG:\n\n BUG: Bad page state in process rm  pfn:52e54\n page:ffffea0001222260 count:0 mapcount:0 mapping:          (null) index:0x0\n arch kernel: page flags: 0x4000000000000008(uptodate)\n\nFix the problem by moving put_io_page() after the SetPageUpdate() call.\n\nThanks to Hugh Dickins for analyzing this problem.\n\nReported-by: Markus Trippelsdorf \u003cmarkus@trippelsdorf.de\u003e\nTested-by: Markus Trippelsdorf \u003cmarkus@trippelsdorf.de\u003e\nSigned-off-by: Markus Trippelsdorf \u003cmarkus@trippelsdorf.de\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "460781b54253e3ed10a0a2a433bdc548ec952269",
      "tree": "8dc676887724ecebead6f0c2cb67b530017c0b2e",
      "parents": [
        "451a3c24b0135bce54542009b5fde43846c7cf67"
      ],
      "author": {
        "name": "Arnd Bergmann",
        "email": "arnd@arndb.de",
        "time": "Wed Nov 17 16:26:56 2010 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Nov 17 08:59:32 2010 -0800"
      },
      "message": "BKL: remove references to lock_kernel from comments\n\nLock_kernel is gone from the code, so the comments should be updated,\ntoo.  nfsd now uses lock_flocks instead of lock_kernel to protect\nagainst posix file locks.\n\nSigned-off-by: Arnd Bergmann \u003carnd@arndb.de\u003e\nAcked-by: J. Bruce Fields \u003cbfields@redhat.com\u003e\nCc: linux-nfs@vger.kernel.org\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "451a3c24b0135bce54542009b5fde43846c7cf67",
      "tree": "f0fbbcc155aef2a1ffcb8aa593fe7a966d0e6900",
      "parents": [
        "55f6561c6941713ab5ae9180525b026dd40b7d14"
      ],
      "author": {
        "name": "Arnd Bergmann",
        "email": "arnd@arndb.de",
        "time": "Wed Nov 17 16:26:55 2010 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Nov 17 08:59:32 2010 -0800"
      },
      "message": "BKL: remove extraneous #include \u003csmp_lock.h\u003e\n\nThe big kernel lock has been removed from all these files at some point,\nleaving only the #include.\n\nRemove this too as a cleanup.\n\nSigned-off-by: Arnd Bergmann \u003carnd@arndb.de\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "04e4bd1c67f941d81bff78a3b6b94194f081b7df",
      "tree": "7f6cd633219bc19d7a716a0c2af4eaae2b5170ba",
      "parents": [
        "94f58df8e545657f0b2d16eca1ac7a4ec39ed6be"
      ],
      "author": {
        "name": "Catalin Marinas",
        "email": "catalin.marinas@arm.com",
        "time": "Thu Nov 11 12:53:47 2010 +0000"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Nov 16 12:03:14 2010 -0500"
      },
      "message": "nfs: Ignore kmemleak false positive in nfs_readdir_make_qstr\n\nStrings allocated via kmemdup() in nfs_readdir_make_qstr() are\nreferenced from the nfs_cache_array which is stored in a page cache\npage. Kmemleak does not scan such pages and it reports several false\npositives. This patch annotates the string-\u003ename pointer so that\nkmemleak does not consider it a real leak.\n\nSigned-off-by: Catalin Marinas \u003ccatalin.marinas@arm.com\u003e\nCc: Bryan Schumaker \u003cbjschuma@netapp.com\u003e\nCc: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "ac39612824e1fad8baf82c2841e42b2142af3445",
      "tree": "12a841ca751a50f324dc97963579002943d0c3c9",
      "parents": [
        "8cd51a0ccd1beda4482507769887c0be9d70f8c1"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Nov 15 20:26:22 2010 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Nov 15 20:44:29 2010 -0500"
      },
      "message": "NFS: readdir shouldn\u0027t read beyond the reply returned by the server\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "8cd51a0ccd1beda4482507769887c0be9d70f8c1",
      "tree": "3fe5c05dcc6e532641d1be4e797ab869c71c36ad",
      "parents": [
        "23ebbd9acf5756b6eb783df84403e3ab668a6bce"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Nov 15 20:26:22 2010 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Nov 15 20:44:28 2010 -0500"
      },
      "message": "NFS: Fix a couple of regressions in readdir.\n\nFix up the issue that array-\u003eeof_index needs to be able to be set\neven if array-\u003esize \u003d\u003d 0.\n\nEnsure that we catch all important memory allocation error conditions\nand/or kmap() failures.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "23ebbd9acf5756b6eb783df84403e3ab668a6bce",
      "tree": "11f632c35ccd0569b70811ad7b78c14831697041",
      "parents": [
        "1e657bd51f313d87fbbb22d1edf625dba87ef353"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Nov 03 10:24:16 2010 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Nov 15 20:44:27 2010 -0500"
      },
      "message": "Revert \"NFSv4: Fall back to ordinary lookup if nfs4_atomic_open() returns EISDIR\"\n\nThis reverts commit 80e60639f1b7c121a7fea53920c5a4b94009361a.\n\nThis change requires further fixes to ensure that the open doesn\u0027t\nsucceed if the lookup later results in a regular file being created.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "1e657bd51f313d87fbbb22d1edf625dba87ef353",
      "tree": "e693b41296e5da158971ae7df9d73dc6e69cd4be",
      "parents": [
        "8e35f8e7c61c88f9a979a4e6f7f4ffd4c158a88a"
      ],
      "author": {
        "name": "Paulius Zaleckas",
        "email": "paulius.zaleckas@gmail.com",
        "time": "Sun Oct 31 18:21:05 2010 +0200"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Nov 15 20:44:27 2010 -0500"
      },
      "message": "Regression: fix mounting NFS when NFSv3 support is not compiled\n\nTrying to mount NFS (root partition in my case) fails if CONFIG_NFS_V3\nis not selected. nfs_validate_mount_data() returns EPROTONOSUPPORT,\nbecause of this check:\n\n#ifndef CONFIG_NFS_V3\n\tif (args-\u003eversion \u003d\u003d 3)\n\t\tgoto out_v3_not_compiled;\n#endif /* !CONFIG_NFS_V3 */\n\nand args-\u003eversion was always initialized to 3.\n\nIt was working in 2.6.36\n\nSigned-off-by: Paulius Zaleckas \u003cpaulius.zaleckas@gmail.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "8e35f8e7c61c88f9a979a4e6f7f4ffd4c158a88a",
      "tree": "1da21fa631fe471f6eae604dcbd3a416220de25a",
      "parents": [
        "6800e4c0ea3e96cf78953b8b5743381cb1bb9e37"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Nov 02 09:11:55 2010 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Nov 15 20:44:26 2010 -0500"
      },
      "message": "NLM: Fix a regression in lockd\n\nNick Bowler reports:\nThere are no unusual messages on the client... but I just logged into\nthe server and I see lots of messages of the following form:\n\n  nfsd: request from insecure port (192.168.8.199:35766)!\n  nfsd: request from insecure port (192.168.8.199:35766)!\n  nfsd: request from insecure port (192.168.8.199:35766)!\n  nfsd: request from insecure port (192.168.8.199:35766)!\n  nfsd: request from insecure port (192.168.8.199:35766)!\n\nBisected to commit 9247685088398cf21bcb513bd2832b4cd42516c4 (SUNRPC:\nProperly initialize sock_xprt.srcaddr in all cases)\n\nApparently, removing the \u0027transport-\u003esrcaddr.ss_family \u003d family\u0027 from\nxs_create_sock() triggers this due to nlmclnt_lookup_host() incorrectly\ninitialising the srcaddr family to AF_UNSPEC.\n\nReported-by: Nick Bowler \u003cnbowler@elliptictech.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "620751a25964582595c6e7935777af954b24cb96",
      "tree": "3dc0192da57b1490665ce69cae21d73da29f4170",
      "parents": [
        "f187a4514f54382ab017e8630d7d1f51732dabd8",
        "044b9414c7caf9a26192c73a5b88fa1a8a32a1c1"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Nov 15 08:43:29 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Nov 15 08:43:29 2010 -0800"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/steve/gfs2-2.6-fixes\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/steve/gfs2-2.6-fixes:\n  GFS2: Fix inode deallocation race\n"
    },
    {
      "commit": "044b9414c7caf9a26192c73a5b88fa1a8a32a1c1",
      "tree": "9596bb669a68b04eebc40864c3b3fd71d3d1e273",
      "parents": [
        "0143832cc96d0bf78486297aad5c8fb2c2ead02a"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Wed Nov 03 20:01:07 2010 +0000"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Mon Nov 15 12:44:42 2010 +0000"
      },
      "message": "GFS2: Fix inode deallocation race\n\nThis area of the code has always been a bit delicate due to the\nsubtleties of lock ordering. The problem is that for \"normal\"\nalloc/dealloc, we always grab the inode locks first and the rgrp lock\nlater.\n\nIn order to ensure no races in looking up the unlinked, but still\nallocated inodes, we need to hold the rgrp lock when we do the lookup,\nwhich means that we can\u0027t take the inode glock.\n\nThe solution is to borrow the technique already used by NFS to solve\nwhat is essentially the same problem (given an inode number, look up\nthe inode carefully, checking that it really is in the expected\nstate).\n\nWe cannot do that directly from the allocation code (lock ordering\nagain) so we give the job to the pre-existing delete workqueue and\ncarry on with the allocation as normal.\n\nIf we find there is no space, we do a journal flush (required anyway\nif space from a deallocation is to be released) which should block\nagainst the pending deallocations, so we should always get the space\nback.\n\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "d69b78ba1deaaa95ffa8dac5a9ca819ce454d52e",
      "tree": "75b6df8731e08a102d54163b196835e189978fc1",
      "parents": [
        "1ff5125fb85a46279421350eeaf812f728784d35"
      ],
      "author": {
        "name": "Greg Thelen",
        "email": "gthelen@google.com",
        "time": "Mon Nov 15 10:20:52 2010 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jaxboe@fusionio.com",
        "time": "Mon Nov 15 10:23:31 2010 +0100"
      },
      "message": "ioprio: grab rcu_read_lock in sys_ioprio_{set,get}()\n\nUsing:\n- CONFIG_LOCKUP_DETECTOR\u003dy\n- CONFIG_PREEMPT\u003dy\n- CONFIG_LOCKDEP\u003dy\n- CONFIG_PROVE_LOCKING\u003dy\n- CONFIG_PROVE_RCU\u003dy\nfound a missing rcu lock during boot on a 512 MiB x86_64 ubuntu vm:\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\n  [ INFO: suspicious rcu_dereference_check() usage. ]\n  ---------------------------------------------------\n  kernel/pid.c:419 invoked rcu_dereference_check() without protection!\n\n  other info that might help us debug this:\n\n  rcu_scheduler_active \u003d 1, debug_locks \u003d 0\n  1 lock held by ureadahead/1355:\n   #0:  (tasklist_lock){.+.+..}, at: [\u003cffffffff8115bc09\u003e] sys_ioprio_set+0x7f/0x29e\n\n  stack backtrace:\n  Pid: 1355, comm: ureadahead Not tainted 2.6.37-dbg-DEV #1\n  Call Trace:\n   [\u003cffffffff8109c10c\u003e] lockdep_rcu_dereference+0xaa/0xb3\n   [\u003cffffffff81088cbf\u003e] find_task_by_pid_ns+0x44/0x5d\n   [\u003cffffffff81088cfa\u003e] find_task_by_vpid+0x22/0x24\n   [\u003cffffffff8115bc3e\u003e] sys_ioprio_set+0xb4/0x29e\n   [\u003cffffffff8147cf21\u003e] ? trace_hardirqs_off_thunk+0x3a/0x3c\n   [\u003cffffffff8105c409\u003e] sysenter_dispatch+0x7/0x2c\n   [\u003cffffffff8147cee2\u003e] ? trace_hardirqs_on_thunk+0x3a/0x3f\n\nThe fix is to:\na) grab rcu lock in sys_ioprio_{set,get}() and\nb) avoid grabbing tasklist_lock.\nDiscussion in: http://marc.info/?l\u003dlinux-kernel\u0026m\u003d128951324702889\n\nSigned-off-by: Greg Thelen \u003cgthelen@google.com\u003e\nAcked-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nReviewed-by: Oleg Nesterov \u003coleg@redhat.com\u003e\n\nModified by Jens to remove the now redundant inner rcu lock and\nunlock since they are now protected by the outer lock.\n\nSigned-off-by: Jens Axboe \u003cjaxboe@fusionio.com\u003e\n"
    },
    {
      "commit": "1ca7318cacdac5262492149cf46abc06c95693fa",
      "tree": "c8532b1cd52ab4858a7550b8e2dd0cb1f5a1eb03",
      "parents": [
        "0143832cc96d0bf78486297aad5c8fb2c2ead02a",
        "1c66b360fe26204e2aa14e45086b4a6b8890b1a2"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Nov 14 13:04:53 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Nov 14 13:04:53 2010 -0800"
      },
      "message": "Merge branch \u0027upstream-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jlbec/ocfs2\n\n* \u0027upstream-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jlbec/ocfs2:\n  ocfs2: Change some lock status member in ocfs2_lock_res to char.\n"
    },
    {
      "commit": "1c66b360fe26204e2aa14e45086b4a6b8890b1a2",
      "tree": "d2608809e0985e4aff7bdc9f5673a8c39d7eb916",
      "parents": [
        "2d3b07c07b39c4b7d9b6641052a02d996cd5d87c"
      ],
      "author": {
        "name": "Tao Ma",
        "email": "tao.ma@oracle.com",
        "time": "Sat Nov 13 16:22:02 2010 +0800"
      },
      "committer": {
        "name": "Joel Becker",
        "email": "joel.becker@oracle.com",
        "time": "Sat Nov 13 03:15:08 2010 -0800"
      },
      "message": "ocfs2: Change some lock status member in ocfs2_lock_res to char.\n\nCommit 83fd9c7 changes l_level, l_requested and l_blocking of\nocfs2_lock_res from int to unsigned char. But actually it is\ninitially as -1(ocfs2_lock_res_init_common) which\ncorrespoding to 255 for unsigned char. So the whole dlm lock\nmechanism doesn\u0027t work now which means a disaster to ocfs2.\n\nCc: Goldwyn Rodrigues \u003crgoldwyn@suse.de\u003e\nSigned-off-by: Tao Ma \u003ctao.ma@oracle.com\u003e\nSigned-off-by: Joel Becker \u003cjoel.becker@oracle.com\u003e\n"
    },
    {
      "commit": "8a9f772c14f85e2a580baadc50c194835da2d4e5",
      "tree": "4ac04e465fa8295944f997fb517dc9904bb8e4f3",
      "parents": [
        "25a34554d600b799cbf5159bef372b02d3b4e1c6",
        "cedb4a7d9f6aedb0dce94d6285b69dcb3c10fa05"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Nov 12 08:52:47 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Nov 12 08:52:47 2010 -0800"
      },
      "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: (27 commits)\n  block: remove unused copy_io_context()\n  Documentation: remove anticipatory scheduler info\n  block: remove REQ_HARDBARRIER\n  ioprio: rcu_read_lock/unlock protect find_task_by_vpid call (V2)\n  ioprio: fix RCU locking around task dereference\n  block: ioctl: fix information leak to userland\n  block: read i_size with i_size_read()\n  cciss: fix proc warning on attempt to remove non-existant directory\n  bio: take care not overflow page count when mapping/copying user data\n  block: limit vec count in bio_kmalloc() and bio_alloc_map_data()\n  block: take care not to overflow when calculating total iov length\n  block: check for proper length of iov entries in blk_rq_map_user_iov()\n  cciss: remove controllers supported by hpsa\n  cciss: use usleep_range not msleep for small sleeps\n  cciss: limit commands allocated on reset_devices\n  cciss: Use kernel provided PCI state save and restore functions\n  cciss: fix board status waiting code\n  drbd: Removed checks for REQ_HARDBARRIER on incomming BIOs\n  drbd: REQ_HARDBARRIER -\u003e REQ_FUA transition for meta data accesses\n  drbd: Removed the BIO_RW_BARRIER support form the receiver/epoch code\n  ...\n"
    },
    {
      "commit": "fb1cb7b27bba3446bed377c173dbdd2d288e3992",
      "tree": "914c2211472ab86696319e729290a1ad786621be",
      "parents": [
        "fe7e96f66b2622d8492ee9dd7fc08b811086caca",
        "ece413f59f257682de4a2e2e42af33b016af53f3"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Nov 12 08:11:03 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Nov 12 08:11:03 2010 -0800"
      },
      "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: remove incorrect assert in xfs_vm_writepage\n  xfs: use hlist_add_fake\n  xfs: fix a few compiler warnings with CONFIG_XFS_QUOTA\u003dn\n  xfs: tell lockdep about parent iolock usage in filestreams\n  xfs: move delayed write buffer trace\n  xfs: fix per-ag reference counting in inode reclaim tree walking\n  xfs: xfs_ioctl: fix information leak to userland\n  xfs: remove experimental tag from the delaylog option\n"
    },
    {
      "commit": "0f90933c477c061df6daf42d814ff2012aea43cc",
      "tree": "10c1e1ec16a1874416f9aa18e44a31a6d3087952",
      "parents": [
        "e2b348354112df63a9c2ea4219a6867c6c7ea100",
        "8896b93f42459b18b145c69d399b62870df48061"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Nov 12 07:59:41 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Nov 12 07:59:41 2010 -0800"
      },
      "message": "Merge branch \u0027for-2.6.37\u0027 of git://linux-nfs.org/~bfields/linux\n\n* \u0027for-2.6.37\u0027 of git://linux-nfs.org/~bfields/linux:\n  locks: remove dead lease error-handling code\n  locks: fix leak on merging leases\n  nfsd4: fix 4.1 connection registration race\n"
    },
    {
      "commit": "52ca0e84b05595cf74f1ff772b3f9807256b1b27",
      "tree": "365c7118481f79b12b31939e897dc85c4b27e8f6",
      "parents": [
        "27d20fddc8af539464fc3ba499d6a830054c3bd6"
      ],
      "author": {
        "name": "Dave Jones",
        "email": "davej@redhat.com",
        "time": "Thu Nov 11 14:05:20 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Nov 12 07:55:32 2010 -0800"
      },
      "message": "hugetlbfs: lessen the impact of a deprecation warning\n\nWARN_ONCE is a bit strong for a deprecation warning, given that it spews a\nhuge backtrace.\n\nSigned-off-by: Dave Jones \u003cdavej@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": "7b88dadc13e0004947de52df128dbd5b0754ed0a",
      "tree": "9a2fd203b382b5922dfd1be5cb3adf055ff50c2d",
      "parents": [
        "a1629c3b24f26ec1b0f534874af674a6b4c1540b"
      ],
      "author": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Thu Nov 11 16:48:59 2010 -0800"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Thu Nov 11 16:48:59 2010 -0800"
      },
      "message": "ceph: fix frag offset for non-leftmost frags\n\nWe start at offset 2 for the leftmost frag, and 0 for subsequent frags.\nWhen we reach the end (rightmost), we go back to 2.  This fixes readdir on\nfragmented (large) directories.\n\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\n"
    },
    {
      "commit": "a1629c3b24f26ec1b0f534874af674a6b4c1540b",
      "tree": "7b40b54486f68189cde9753aca31d8e3d8af61a2",
      "parents": [
        "c5c6b19d4b8f5431fca05f28ae9e141045022149"
      ],
      "author": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Thu Nov 11 15:24:06 2010 -0800"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Thu Nov 11 15:24:06 2010 -0800"
      },
      "message": "ceph: fix dangling pointer\n\nClear fi-\u003elast_name when it\u0027s freed.  The only caller is rewinddir() (or\nequivalent lseek).\n\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\n"
    },
    {
      "commit": "ece413f59f257682de4a2e2e42af33b016af53f3",
      "tree": "fe26d60458a4bfbd39e7e319e41c0ceca011914d",
      "parents": [
        "c6f6cd0608b1826ee1797cf57a808416e4bdb806"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Wed Nov 10 21:39:11 2010 +0000"
      },
      "committer": {
        "name": "Alex Elder",
        "email": "aelder@sgi.com",
        "time": "Wed Nov 10 15:51:10 2010 -0600"
      },
      "message": "xfs: remove incorrect assert in xfs_vm_writepage\n\nIn commit 20cb52ebd1b5ca6fa8a5d9b6b1392292f5ca8a45, titled\n\"xfs: simplify xfs_vm_writepage\" I added an assert that any !mapped and\nuptodate buffers are not dirty.  That asserts turns out to trigger a lot\nwhen running fsx on filesystems with small block sizes.  The reason for\nthat is that the assert is simply incorrect.  !mapped and uptodate\njust mean this buffer covers a hole, and whenever we do a set_page_dirty\nwe mark all blocks in the page dirty, no matter if they have data or\nnot.  So remove the assert, and update the comment above the condition\nto match reality.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Alex Elder \u003caelder@sgi.com\u003e\n"
    },
    {
      "commit": "8896b93f42459b18b145c69d399b62870df48061",
      "tree": "661b82f867391d16345c75b693f29b24c062d478",
      "parents": [
        "3df057ac9afe83c4af84016df3baf3a0eb1d3d33"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Wed Nov 03 18:09:18 2010 -0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Wed Nov 10 14:31:29 2010 -0500"
      },
      "message": "locks: remove dead lease error-handling code\n\nA minor oversight from f7347ce4ee7c65415f84be915c018473e7076f31,\n\"fasync: re-organize fasync entry insertion to allow it under a\nspinlock\": this cleanup-on-error was only needed to handle -ENOMEM.  Now\nthat we\u0027re preallocating it\u0027s unneeded.\n\nSigned-off-by: J. Bruce Fields \u003cbfields@redhat.com\u003e\n"
    },
    {
      "commit": "3df057ac9afe83c4af84016df3baf3a0eb1d3d33",
      "tree": "ae1d30a596abef618d2913cbead649253fa7acfc",
      "parents": [
        "21b75b019983dfa5c2dda588f4b60b4ca69844a4"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Wed Nov 03 16:49:44 2010 -0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Wed Nov 10 14:31:23 2010 -0500"
      },
      "message": "locks: fix leak on merging leases\n\nWe must also free the passed-in lease in the case it wasn\u0027t used because\nan existing lease was upgrade/downgraded or already existed.\n\nNote the nfsd caller doesn\u0027t care because it\u0027s fl_change callback\nreturns an error in those cases.\n\nSigned-off-by: J. Bruce Fields \u003cbfields@redhat.com\u003e\n"
    },
    {
      "commit": "c6f6cd0608b1826ee1797cf57a808416e4bdb806",
      "tree": "4c82ec811ef359f71c83f2a68c46498f0b59618b",
      "parents": [
        "5d2bf8a55e03b0e59ed5a4ac2ff7f9ee3ba7e40d"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Sat Nov 06 11:43:08 2010 +0000"
      },
      "committer": {
        "name": "Alex Elder",
        "email": "aelder@sgi.com",
        "time": "Wed Nov 10 12:00:48 2010 -0600"
      },
      "message": "xfs: use hlist_add_fake\n\nXFS does not need it\u0027s inodes to actuall be hashed in the VFS inode\ncache, but we require the inode to be marked hashed for the\nwriteback code to work.\n\nInsted of using insert_inode_hash, which requires a second\ninode_lock roundtrip after the partial merge of the inode\nscalability patches in 2.6.37-rc simply use the new hlist_add_fake\nhelper to mark it hashed without requiring a lock or touching a\nglobal cache line.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Alex Elder \u003caelder@sgi.com\u003e\n"
    },
    {
      "commit": "5d2bf8a55e03b0e59ed5a4ac2ff7f9ee3ba7e40d",
      "tree": "fc46c4d8f0504fd64504a30e4590267d1bfed9fe",
      "parents": [
        "785ce41805ea7b6a9b2775ed9f4cf10cd7a90c03"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Sat Nov 06 11:42:56 2010 +0000"
      },
      "committer": {
        "name": "Alex Elder",
        "email": "aelder@sgi.com",
        "time": "Wed Nov 10 12:00:48 2010 -0600"
      },
      "message": "xfs: fix a few compiler warnings with CONFIG_XFS_QUOTA\u003dn\n\nAndi Kleen reported that gcc-4.5 gives lots of warnings for him\ninside the XFS code.  It turned out most of them are due to the\nquota stubs beeing macros, and gcc now complaining about macros\nevaluating to 0 that are not assigned to variables.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Alex Elder \u003caelder@sgi.com\u003e\n"
    },
    {
      "commit": "785ce41805ea7b6a9b2775ed9f4cf10cd7a90c03",
      "tree": "8b56f215db003db8984465697cebf2ce9aa119c9",
      "parents": [
        "bfe2741967eaa3434fa9b3d8f24b1422d4540e7d"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Sat Nov 06 11:42:44 2010 +0000"
      },
      "committer": {
        "name": "Alex Elder",
        "email": "aelder@sgi.com",
        "time": "Wed Nov 10 12:00:48 2010 -0600"
      },
      "message": "xfs: tell lockdep about parent iolock usage in filestreams\n\nThe filestreams code may take the iolock on the parent inode while\nholding it on a child.  This is the only place in XFS where we take\nboth the child and parent iolock, so just telling lockdep about it\nis enough.  The lock flag required for that was already added as\npart of the ilock lockdep annotations and unused so far.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Alex Elder \u003caelder@sgi.com\u003e\n"
    },
    {
      "commit": "bfe2741967eaa3434fa9b3d8f24b1422d4540e7d",
      "tree": "d012589ede1f1d7e571d7dc75868f445531cccf8",
      "parents": [
        "f83282a8ef799c0bdcb0c32971487087da1bc216"
      ],
      "author": {
        "name": "Dave Chinner",
        "email": "dchinner@redhat.com",
        "time": "Mon Nov 08 08:55:05 2010 +0000"
      },
      "committer": {
        "name": "Alex Elder",
        "email": "aelder@sgi.com",
        "time": "Wed Nov 10 12:00:48 2010 -0600"
      },
      "message": "xfs: move delayed write buffer trace\n\nThe delayed write buffer split trace currently issues a trace for\nevery buffer it scans. These buffers are not necessarily queued for\ndelayed write. Indeed, when buffers are pinned, there can be\nthousands of traces of buffers that aren\u0027t actually queued for\ndelayed write and the ones that are are lost in the noise. Move the\ntrace point to record only buffers that are split out for IO to be\nissued on.\n\nSigned-off-by: Dave Chinner \u003cdchinner@redhat.com\u003e\nReviewed-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Alex Elder \u003caelder@sgi.com\u003e\n"
    },
    {
      "commit": "f83282a8ef799c0bdcb0c32971487087da1bc216",
      "tree": "953c706c4c96a85348cc6e1404436411919b6d80",
      "parents": [
        "6762b938eac878a30a90e770ac655874c36bc642"
      ],
      "author": {
        "name": "Dave Chinner",
        "email": "dchinner@redhat.com",
        "time": "Mon Nov 08 08:55:04 2010 +0000"
      },
      "committer": {
        "name": "Alex Elder",
        "email": "aelder@sgi.com",
        "time": "Wed Nov 10 12:00:48 2010 -0600"
      },
      "message": "xfs: fix per-ag reference counting in inode reclaim tree walking\n\nThe walk fails to decrement the per-ag reference count when the\nnon-blocking walk fails to obtain the per-ag reclaim lock, leading\nto an assert failure on debug kernels when unmounting a filesystem.\n\nSigned-off-by: Dave Chinner \u003cdchinner@redhat.com\u003e\nReviewed-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Alex Elder \u003caelder@sgi.com\u003e\n"
    },
    {
      "commit": "6762b938eac878a30a90e770ac655874c36bc642",
      "tree": "424b9893aa5494104b8d93de2b9c52fbdce37b75",
      "parents": [
        "5d0af85cd0964bb845b63d5059bb20e8f7731e65"
      ],
      "author": {
        "name": "Kulikov Vasiliy",
        "email": "segooon@gmail.com",
        "time": "Sat Oct 30 14:26:17 2010 +0000"
      },
      "committer": {
        "name": "Alex Elder",
        "email": "aelder@sgi.com",
        "time": "Wed Nov 10 12:00:47 2010 -0600"
      },
      "message": "xfs: xfs_ioctl: fix information leak to userland\n\nal_hreq is copied from userland.  If al_hreq.buflen is not properly aligned\nthen xfs_attr_list will ignore the last bytes of kbuf.  These bytes are\nunitialized.  It leads to leaking of contents of kernel stack memory.\n\nSigned-off-by: Vasiliy Kulikov \u003csegooon@gmail.com\u003e\nSigned-off-by: Alex Elder \u003caelder@sgi.com\u003e\n"
    },
    {
      "commit": "5d0af85cd0964bb845b63d5059bb20e8f7731e65",
      "tree": "8c3bb47546b361be20e972cf6069ccd29f38ba41",
      "parents": [
        "f6614b7bb405a9b35dd28baea989a749492c46b2"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Thu Oct 28 21:37:10 2010 +0000"
      },
      "committer": {
        "name": "Alex Elder",
        "email": "aelder@sgi.com",
        "time": "Wed Nov 10 12:00:47 2010 -0600"
      },
      "message": "xfs: remove experimental tag from the delaylog option\n\nWe promised to do this for 2.6.37, and the code looks stable enough to\nkeep that promise.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nReviewed-by: Dave Chinner \u003cdchinner@redhat.com\u003e\nSigned-off-by: Alex Elder \u003caelder@sgi.com\u003e\n"
    },
    {
      "commit": "f85acd81aa623e3dcf268c90e5cd8ecf36830984",
      "tree": "cb6baded85812573ad2f42bfe47b9d185b61918b",
      "parents": [
        "1447399b3e34af016c368b4178db7ef0e04e15b0"
      ],
      "author": {
        "name": "Sergey Senozhatsky",
        "email": "sergey.senozhatsky@gmail.com",
        "time": "Tue Nov 09 21:26:56 2010 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jaxboe@fusionio.com",
        "time": "Wed Nov 10 14:40:53 2010 +0100"
      },
      "message": "ioprio: rcu_read_lock/unlock protect find_task_by_vpid call (V2)\n\nCommit 4221a9918e38b7494cee341dda7b7b4bb8c04bde \"Add RCU check for\nfind_task_by_vpid()\" introduced rcu_lockdep_assert to find_task_by_pid_ns\u003d\n\nAssertion failed in sys_ioprio_get. The patch is fixing assertion\nfailure in ioprio_set as well.\n\n kernel/pid.c:419 invoked rcu_dereference_check() without protection!\n\n stack backtrace:\n Pid: 4254, comm: iotop Not tainted\n Call Trace:\n [\u003cffffffff810656f2\u003e] lockdep_rcu_dereference+0xaa/0xb2\n [\u003cffffffff81053c67\u003e] find_task_by_pid_ns+0x4f/0x68\n [\u003cffffffff81053c9d\u003e] find_task_by_vpid+0x1d/0x1f\n [\u003cffffffff811104e2\u003e] sys_ioprio_get+0x50/0x2da\n [\u003cffffffff81002182\u003e] system_call_fastpath+0x16/0x1b\n\nV2: rcu critical section expanded according to comment by Paul E. McKenney\n\nSigned-off-by: Sergey Senozhatsky \u003csergey.senozhatsky@gmail.com\u003e\nAcked-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nSigned-off-by: Jens Axboe \u003cjaxboe@fusionio.com\u003e\n"
    },
    {
      "commit": "1447399b3e34af016c368b4178db7ef0e04e15b0",
      "tree": "e5de50c5520b2c20359c2afbf903e052b88bb995",
      "parents": [
        "a014741c0adfb8fb79952939ca087cf03d272bb9"
      ],
      "author": {
        "name": "Daniel J Blueman",
        "email": "daniel.blueman@gmail.com",
        "time": "Tue Nov 09 21:33:02 2010 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jaxboe@fusionio.com",
        "time": "Wed Nov 10 14:40:53 2010 +0100"
      },
      "message": "ioprio: fix RCU locking around task dereference\n\nWith 2.6.37-rc1, I observe sys_ioprio_set not taking the RCU lock [1]\nacross access to the task credentials.\n\nInspecting the code in fs/ioprio.c, the tasklist_lock is held for read\nacross the __task_cred call, which is presumably sufficient to prevent\nthe task credentials becoming stale.\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\n\n[ INFO: suspicious rcu_dereference_check() usage. ]\n\n---------------------------------------------------\n\nkernel/pid.c:419 invoked rcu_dereference_check() without protection!\n\nother info that might help us debug this:\n\nrcu_scheduler_active \u003d 1, debug_locks \u003d 1\n\n1 lock held by start-stop-daem/2246:\n\n #0:  (tasklist_lock){.?.?..}, at: [\u003cffffffff811a2dfa\u003e]\nsys_ioprio_set+0x8a/0x400\n\nstack backtrace:\n\nPid: 2246, comm: start-stop-daem Not tainted 2.6.37-rc1-330cd+ #2\n\nCall Trace:\n\n [\u003cffffffff8109f5f4\u003e] lockdep_rcu_dereference+0xa4/0xc0\n\n [\u003cffffffff81085651\u003e] find_task_by_pid_ns+0x81/0x90\n\n [\u003cffffffff8108567d\u003e] find_task_by_vpid+0x1d/0x20\n\n [\u003cffffffff811a3160\u003e] sys_ioprio_set+0x3f0/0x400\n\n [\u003cffffffff816efa79\u003e] ? trace_hardirqs_on_thunk+0x3a/0x3f\n\n [\u003cffffffff81003482\u003e] system_call_fastpath+0x16/0x1b\n\nTake the RCU lock for read across acquiring the pointer to the task\ncredentials and dereferencing it.\n\nSigned-off-by: Daniel J Blueman \u003cdaniel.blueman@gmail.com\u003e\n\nFixed up by Jens to fix missing rcu_read_unlock() on mismatches.\n\nSigned-off-by: Jens Axboe \u003cjaxboe@fusionio.com\u003e\n"
    },
    {
      "commit": "cb4644cac4a2797afc847e6c92736664d4b0ea34",
      "tree": "14170d74d5040be49af14b484f252d888141a99f",
      "parents": [
        "f3f63c1c28bc861a931fac283b5bc3585efb8967"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jaxboe@fusionio.com",
        "time": "Wed Nov 10 14:36:25 2010 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jaxboe@fusionio.com",
        "time": "Wed Nov 10 14:40:43 2010 +0100"
      },
      "message": "bio: take care not overflow page count when mapping/copying user data\n\nIf the iovec is being set up in a way that causes uaddr + PAGE_SIZE\nto overflow, we could end up attempting to map a huge number of\npages. Check for this invalid input type.\n\nReported-by: Dan Rosenberg \u003cdrosenberg@vsecurity.com\u003e\nCc: stable@kernel.org\nSigned-off-by: Jens Axboe \u003cjaxboe@fusionio.com\u003e\n"
    },
    {
      "commit": "f3f63c1c28bc861a931fac283b5bc3585efb8967",
      "tree": "79c05b76488d9595bbb365b8185842357f8b3eec",
      "parents": [
        "9f864c80913467312c7b8690e41fb5ebd1b50e92"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jaxboe@fusionio.com",
        "time": "Fri Oct 29 11:46:56 2010 -0600"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jaxboe@fusionio.com",
        "time": "Wed Nov 10 14:40:42 2010 +0100"
      },
      "message": "block: limit vec count in bio_kmalloc() and bio_alloc_map_data()\n\nReported-by: Dan Rosenberg \u003cdrosenberg@vsecurity.com\u003e\nCc: stable@kernel.org\nSigned-off-by: Jens Axboe \u003cjaxboe@fusionio.com\u003e\n"
    },
    {
      "commit": "b7495fc2ff941db6a118a93ab8d61149e3f4cef8",
      "tree": "231c339d74760e2fa13e5e6f41c10bc28cea51b3",
      "parents": [
        "e98b6fed84d0f0155d7b398e0dfeac74c792f2d0"
      ],
      "author": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Tue Nov 09 12:43:12 2010 -0800"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Tue Nov 09 12:43:12 2010 -0800"
      },
      "message": "ceph: make page alignment explicit in osd interface\n\nWe used to infer alignment of IOs within a page based on the file offset,\nwhich assumed they matched.  This broke with direct IO that was not aligned\nto pages (e.g., 512-byte aligned IO).  We were also trusting the alignment\nspecified in the OSD reply, which could have been adjusted by the server.\n\nExplicitly specify the page alignment when setting up OSD IO requests.\n\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\n"
    },
    {
      "commit": "e98b6fed84d0f0155d7b398e0dfeac74c792f2d0",
      "tree": "0762cba398c39329dc5f056ddfccebf6768d2555",
      "parents": [
        "d8672d64b88cdb7aa8139fb6d218f40b8cbf60af"
      ],
      "author": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Tue Nov 09 12:24:53 2010 -0800"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Tue Nov 09 12:24:53 2010 -0800"
      },
      "message": "ceph: fix comment, remove extraneous args\n\nThe offset/length arguments aren\u0027t used.\n\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\n"
    },
    {
      "commit": "f6614b7bb405a9b35dd28baea989a749492c46b2",
      "tree": "3a6bc580d98fb191ff44a374b61a3a55641f94ac",
      "parents": [
        "63bfd7384b119409685a17d5c58f0b56e5dc03da",
        "3565bd46b1c6a3dbf1f670d3275aa4018a4c65ae"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Nov 09 10:34:48 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Nov 09 10:34:48 2010 -0800"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/sfrench/cifs-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/sfrench/cifs-2.6:\n  cifs: fix a memleak in cifs_setattr_nounix()\n  cifs: make cifs_ioctl handle NULL filp-\u003eprivate_data correctly\n"
    },
    {
      "commit": "3565bd46b1c6a3dbf1f670d3275aa4018a4c65ae",
      "tree": "76e5a4468175b5ca45e674abf5bd87d4fc6ec704",
      "parents": [
        "618763958b2291a09057dbfa553da6ded93dcfad"
      ],
      "author": {
        "name": "Suresh Jayaraman",
        "email": "sjayaraman@suse.de",
        "time": "Tue Nov 09 12:27:41 2010 +0530"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Tue Nov 09 15:17:53 2010 +0000"
      },
      "message": "cifs: fix a memleak in cifs_setattr_nounix()\n\nAndrew Hendry reported a kmemleak warning in 2.6.37-rc1 while editing a\ntext file with gedit over cifs.\n\nunreferenced object 0xffff88022ee08b40 (size 32):\n  comm \"gedit\", pid 2524, jiffies 4300160388 (age 2633.655s)\n  hex dump (first 32 bytes):\n    5c 2e 67 6f 75 74 70 75 74 73 74 72 65 61 6d 2d  \\.goutputstream-\n    35 42 41 53 4c 56 00 de 09 00 00 00 2c 26 78 ee  5BASLV......,\u0026x.\n  backtrace:\n    [\u003cffffffff81504a4d\u003e] kmemleak_alloc+0x2d/0x60\n    [\u003cffffffff81136e13\u003e] __kmalloc+0xe3/0x1d0\n    [\u003cffffffffa0313db0\u003e] build_path_from_dentry+0xf0/0x230 [cifs]\n    [\u003cffffffffa031ae1e\u003e] cifs_setattr+0x9e/0x770 [cifs]\n    [\u003cffffffff8115fe90\u003e] notify_change+0x170/0x2e0\n    [\u003cffffffff81145ceb\u003e] sys_fchmod+0x10b/0x140\n    [\u003cffffffff8100c172\u003e] system_call_fastpath+0x16/0x1b\n    [\u003cffffffffffffffff\u003e] 0xffffffffffffffff\n\nThe commit 1025774c that removed inode_setattr() seems to have introduced this\nmemleak by returning early without freeing \u0027full_path\u0027.\n\nReported-by: Andrew Hendry \u003candrew.hendry@gmail.com\u003e\nCc: Christoph Hellwig \u003chch@lst.de\u003e\nReviewed-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nSigned-off-by: Suresh Jayaraman \u003csjayaraman@suse.de\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "0e15482566b752718e7225168380904f1d0cdfa3",
      "tree": "5f7f6b774b0d6d35606dd5ef755f8f9ef6b3738a",
      "parents": [
        "a7bcf21e60c73cb7f7c13fad928967d7e47c3cac"
      ],
      "author": {
        "name": "Meelis Roos",
        "email": "mroos@linux.ee",
        "time": "Mon Nov 08 13:38:14 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Nov 08 14:29:39 2010 -0800"
      },
      "message": "sparc: fix openpromfs compile\n\nFix openpromfs compilation by adding a missing semicolon in\nfs/openpromfs/inode.c openprom_mount().\n\nSigned-off-by: Meelis Roos \u003cmroos@linux.ee\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "a7bcf21e60c73cb7f7c13fad928967d7e47c3cac",
      "tree": "e24ae9d2c35508f68016b8cde848b7608e737b32",
      "parents": [
        "5398a64c63a69a0ac33dbae458ea4aab0dc23f14",
        "7ff9c073dd4d7200399076554f7ab9b876f196f6"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Nov 08 11:54:53 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Nov 08 11:54:53 2010 -0800"
      },
      "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: Add new ext4 inode tracepoints\n  ext4: Don\u0027t call sb_issue_discard() in ext4_free_blocks()\n  ext4: do not try to grab the s_umount semaphore in ext4_quota_off\n  ext4: fix potential race when freeing ext4_io_page structures\n  ext4: handle writeback of inodes which are being freed\n  ext4: initialize the percpu counters before replaying the journal\n  ext4: \"ret\" may be used uninitialized in ext4_lazyinit_thread()\n  ext4: fix lazyinit hang after removing request\n"
    },
    {
      "commit": "618763958b2291a09057dbfa553da6ded93dcfad",
      "tree": "985c2e8eba7e0b63f0c9ac314fa1bf6c311aee73",
      "parents": [
        "151f52f09c5728ecfdd0c289da1a4b30bb416f2c"
      ],
      "author": {
        "name": "Jeff Layton",
        "email": "jlayton@redhat.com",
        "time": "Mon Nov 08 07:28:32 2010 -0500"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Mon Nov 08 18:56:36 2010 +0000"
      },
      "message": "cifs: make cifs_ioctl handle NULL filp-\u003eprivate_data correctly\n\nCommit 13cfb7334e made cifs_ioctl use the tlink attached to the\ncifsFileInfo for a filp. This ignores the case of an open directory\nhowever, which in CIFS can have a NULL private_data until a readdir\nis done on it.\n\nThis patch re-adds the NULL pointer checks that were removed in commit\n50ae28f01 and moves the setting of tcon and \"caps\" variables lower.\n\nLong term, a better fix would be to establish a f_op-\u003eopen routine for\ndirectories that populates that field at open time, but that requires\nsome other changes to how readdir calls are handled.\n\nReported-by: Kjell Rune Skaaraas \u003ckjella79@yahoo.no\u003e\nReviewed-and-Tested-by: Suresh Jayaraman \u003csjayaraman@suse.de\u003e\nSigned-off-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    }
  ],
  "next": "7ff9c073dd4d7200399076554f7ab9b876f196f6"
}
