)]}'
{
  "log": [
    {
      "commit": "086b17046c068ef3fa6e69c03c786b39ca617a0a",
      "tree": "027f1aac84c1c8eb990a027be963821643cf4d7f",
      "parents": [
        "da8f2e246183ae109f87694ee3f06e8fcca2931b",
        "226291aa4641fa13cb5dec3bcb3379faa83009e2"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Dec 06 20:08:25 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Dec 06 20:08:25 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_connection_find() returns pointer to bad structure\n  ocfs2: char is not always signed\n  Ocfs2: Stop tracking a negative dentry after dentry_iput().\n  ocfs2: fix memory leak\n  fs/ocfs2/dlm: Use GFP_ATOMIC under spin_lock\n"
    },
    {
      "commit": "7b2a69ba7055da9a04eb96aa7b38c8e3280aaaa5",
      "tree": "50b564e78fcb708a35ded72ed5cbd58cc12ce5c5",
      "parents": [
        "11e8896474495dec7ce19a542f67def847ec208f"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Sun Dec 05 15:51:21 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Dec 05 16:39:45 2010 -0800"
      },
      "message": "Revert \"vfs: show unreachable paths in getcwd and proc\"\n\nBecause it caused a chroot ttyname regression in 2.6.36.\n\nAs of 2.6.36 ttyname does not work in a chroot.  It has already been\nreported that screen breaks, and for me this breaks an automated\ndistribution testsuite, that I need to preserve the ability to run the\nexisting binaries on for several more years.  glibc 2.11.3 which has a\nfix for this is not an option.\n\nThe root cause of this breakage is:\n\n    commit 8df9d1a4142311c084ffeeacb67cd34d190eff74\n    Author: Miklos Szeredi \u003cmszeredi@suse.cz\u003e\n    Date:   Tue Aug 10 11:41:41 2010 +0200\n\n    vfs: show unreachable paths in getcwd and proc\n\n    Prepend \"(unreachable)\" to path strings if the path is not reachable\n    from the current root.\n\n    Two places updated are\n     - the return string from getcwd()\n     - and symlinks under /proc/$PID.\n\n    Other uses of d_path() are left unchanged (we know that some old\n    software crashes if /proc/mounts is changed).\n\n    Signed-off-by: Miklos Szeredi \u003cmszeredi@suse.cz\u003e\n    Signed-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n\nSo remove the nice sounding, but ultimately ill advised change to how\n/proc/fd symlinks work.\n\nSigned-off-by: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "238af8751f64a75f8b638193353b1c31ea32e738",
      "tree": "8b314e79791f07596640d45053f0486b45f737d9",
      "parents": [
        "0bae35e14b68f5e7075bc96e5ea608b42bdf8f59"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Thu Dec 02 14:31:16 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Dec 02 14:51:15 2010 -0800"
      },
      "message": "reiserfs: don\u0027t acquire lock recursively in reiserfs_acl_chmod\n\nreiserfs_acl_chmod() can be called by reiserfs_set_attr() and then take\nthe reiserfs lock a second time.  Thereafter it may call journal_begin()\nthat definitely requires the lock not to be nested in order to release\nit before taking the journal mutex because the reiserfs lock depends on\nthe journal mutex already.\n\nSo, aviod nesting the lock in reiserfs_acl_chmod().\n\nReported-by: Pawel Zawora \u003cpzawora@gmail.com\u003e\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nTested-by: Pawel Zawora \u003cpzawora@gmail.com\u003e\nCc: Jeff Mahoney \u003cjeffm@suse.com\u003e\nCc: \u003cstable@kernel.org\u003e\t\t[2.6.32.x+]\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "8cb280c90f9cfaab3ba3afbace0b1711dee80d0c",
      "tree": "b98d29b0159dd763afab1670d58019b6cb58cfa0",
      "parents": [
        "8fed709f343346a77888c2eef8f2d41bc637bef6",
        "c76febef574fd86566bbdf1a73a547a439115c25"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Dec 02 09:13:36 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Dec 02 09:13:36 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: only run xfs_error_test if error injection is active\n  xfs: avoid moving stale inodes in the AIL\n  xfs: delayed alloc blocks beyond EOF are valid after writeback\n  xfs: push stale, pinned buffers on trylock failures\n  xfs: fix failed write truncation handling.\n"
    },
    {
      "commit": "8520eeaa1235ee78d32558b6a57e02b236c9e588",
      "tree": "88f7e6b134cda921f8c9246c56baf2de899d1f89",
      "parents": [
        "fb82155d5c401a5cf2bc2f555cb807f0bed035bb",
        "ba03864872691c0bb580a7fb47388da337ef4aa2"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Dec 02 08:04:21 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Dec 02 08:04:21 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 parsing of hostname in dfs referrals\n  cifs: display fsc in /proc/mounts\n  cifs: enable fscache iff fsc mount option is used explicitly\n  cifs: allow fsc mount option only if CONFIG_CIFS_FSCACHE is set\n  cifs: Handle extended attribute name cifs_acl to generate cifs acl blob (try #4)\n  cifs: Misc. cleanup in cifsacl handling [try #4]\n  cifs: trivial comment fix for cifs_invalidate_mapping\n  [CIFS] fs/cifs/Kconfig: CIFS depends on CRYPTO_HMAC\n  cifs: don\u0027t take extra tlink reference in initiate_cifs_search\n  cifs: Percolate error up to the caller during get/set acls [try #4]\n  cifs: fix another memleak, in cifs_root_iget\n  cifs: fix potential use-after-free in cifs_oplock_break_put\n"
    },
    {
      "commit": "c76febef574fd86566bbdf1a73a547a439115c25",
      "tree": "bdfb67e30f7c55f54413c2bee79049bbbefff805",
      "parents": [
        "de25c1818c44f580ff556cb9e0f7a1c687ed870b"
      ],
      "author": {
        "name": "Dave Chinner",
        "email": "dchinner@redhat.com",
        "time": "Tue Nov 30 15:15:31 2010 +1100"
      },
      "committer": {
        "name": "Alex Elder",
        "email": "aelder@sgi.com",
        "time": "Wed Dec 01 07:40:20 2010 -0600"
      },
      "message": "xfs: only run xfs_error_test if error injection is active\n\nRecent tests writing lots of small files showed the flusher thread\nbeing CPU bound and taking a long time to do allocations on a debug\nkernel. perf showed this as the prime reason:\n\n             samples  pcnt function                    DSO\n             _______ _____ ___________________________ _________________\n\n           224648.00 36.8% xfs_error_test              [kernel.kallsyms]\n            86045.00 14.1% xfs_btree_check_sblock      [kernel.kallsyms]\n            39778.00  6.5% prandom32                   [kernel.kallsyms]\n            37436.00  6.1% xfs_btree_increment         [kernel.kallsyms]\n            29278.00  4.8% xfs_btree_get_rec           [kernel.kallsyms]\n            27717.00  4.5% random32                    [kernel.kallsyms]\n\nWalking btree blocks during allocation checking them requires each\nblock (a cache hit, so no I/O) call xfs_error_test(), which then\ndoes a random32() call as the first operation.  IOWs, ~50% of the\nCPU is being consumed just testing whether we need to inject an\nerror, even though error injection is not active.\n\nKill this overhead when error injection is not active by adding a\nglobal counter of active error traps and only calling into\nxfs_error_test when fault injection is active.\n\nSigned-off-by: Dave Chinner \u003cdchinner@redhat.com\u003e\nReviewed-by: Christoph Hellwig \u003chch@lst.de\u003e\n"
    },
    {
      "commit": "de25c1818c44f580ff556cb9e0f7a1c687ed870b",
      "tree": "a8fafd9317cf4841b6004119f6e84ddbece73af3",
      "parents": [
        "309c848002052edbec650075a1eb098b17c17f35"
      ],
      "author": {
        "name": "Dave Chinner",
        "email": "dchinner@redhat.com",
        "time": "Tue Nov 30 15:15:46 2010 +1100"
      },
      "committer": {
        "name": "Alex Elder",
        "email": "aelder@sgi.com",
        "time": "Wed Dec 01 07:40:20 2010 -0600"
      },
      "message": "xfs: avoid moving stale inodes in the AIL\n\nWhen an inode has been marked stale because the cluster is being\nfreed, we don\u0027t want to (re-)insert this inode into the AIL. There\nis a race condition where the cluster buffer may be unpinned before\nthe inode is inserted into the AIL during transaction committed\nprocessing. If the buffer is unpinned before the inode item has been\ncommitted and inserted, then it is possible for the buffer to be\nreleased and hence processthe stale inode callbacks before the inode\nis inserted into the AIL.\n\nIn this case, we then insert a clean, stale inode into the AIL which\nwill never get removed by an IO completion. It will, however, get\nreclaimed and that triggers an assert in xfs_inode_free()\ncomplaining about freeing an inode still in the AIL.\n\nThis race can be avoided by not moving stale inodes forward in the AIL\nduring transaction commit completion processing. This closes the\nrace condition by ensuring we never insert clean stale inodes into\nthe AIL. It is safe to do this because a dirty stale inode, by\ndefinition, must already be in the AIL.\n\nSigned-off-by: Dave Chinner \u003cdchinner@redhat.com\u003e\nReviewed-by: Christoph Hellwig \u003chch@lst.de\u003e\n"
    },
    {
      "commit": "309c848002052edbec650075a1eb098b17c17f35",
      "tree": "7e3e38c9ebcfa539716298c0f8a0000b45cffd8e",
      "parents": [
        "90810b9e82a36c3c57c1aeb8b2918b242a130b26"
      ],
      "author": {
        "name": "Dave Chinner",
        "email": "dchinner@redhat.com",
        "time": "Tue Nov 30 15:16:02 2010 +1100"
      },
      "committer": {
        "name": "Alex Elder",
        "email": "aelder@sgi.com",
        "time": "Wed Dec 01 07:40:20 2010 -0600"
      },
      "message": "xfs: delayed alloc blocks beyond EOF are valid after writeback\n\nThere is an assumption in the parts of XFS that flushing a dirty\nfile will make all the delayed allocation blocks disappear from an\ninode. That is, that after calling xfs_flush_pages() then\nip-\u003ei_delayed_blks will be zero.\n\nThis is an invalid assumption as we may have specualtive\npreallocation beyond EOF and they are recorded in\nip-\u003ei_delayed_blks. A flush of the dirty pages of an inode will not\nchange the state of these blocks beyond EOF, so a non-zero\ndeeelalloc block count after a flush is valid.\n\nThe bmap code has an invalid ASSERT() that needs to be removed, and\nthe swapext code has a bug in that while it swaps the data forks\naround, it fails to swap the i_delayed_blks counter associated with\nthe fork and hence can get the block accounting wrong.\n\nSigned-off-by: Dave Chinner \u003cdchinner@redhat.com\u003e\nReviewed-by: Christoph Hellwig \u003chch@lst.de\u003e\n"
    },
    {
      "commit": "90810b9e82a36c3c57c1aeb8b2918b242a130b26",
      "tree": "2fdb8bd75866fc3d61cb7fe2f2cc26f0e6895641",
      "parents": [
        "c726de4409a8d3a03877b1ef4342bfe8a15f5e5e"
      ],
      "author": {
        "name": "Dave Chinner",
        "email": "dchinner@redhat.com",
        "time": "Tue Nov 30 15:16:16 2010 +1100"
      },
      "committer": {
        "name": "Alex Elder",
        "email": "aelder@sgi.com",
        "time": "Wed Dec 01 07:40:20 2010 -0600"
      },
      "message": "xfs: push stale, pinned buffers on trylock failures\n\nAs reported by Nick Piggin, XFS is suffering from long pauses under\nhighly concurrent workloads when hosted on ramdisks. The problem is\nthat an inode buffer is stuck in the pinned state in memory and as a\nresult either the inode buffer or one of the inodes within the\nbuffer is stopping the tail of the log from being moved forward.\n\nThe system remains in this state until a periodic log force issued\nby xfssyncd causes the buffer to be unpinned. The main problem is\nthat these are stale buffers, and are hence held locked until the\ntransaction/checkpoint that marked them state has been committed to\ndisk. When the filesystem gets into this state, only the xfssyncd\ncan cause the async transactions to be committed to disk and hence\nunpin the inode buffer.\n\nThis problem was encountered when scaling the busy extent list, but\nonly the blocking lock interface was fixed to solve the problem.\nExtend the same fix to the buffer trylock operations - if we fail to\nlock a pinned, stale buffer, then force the log immediately so that\nwhen the next attempt to lock it comes around, it will have been\nunpinned.\n\nSigned-off-by: Dave Chinner \u003cdchinner@redhat.com\u003e\nReviewed-by: Christoph Hellwig \u003chch@lst.de\u003e\n"
    },
    {
      "commit": "c726de4409a8d3a03877b1ef4342bfe8a15f5e5e",
      "tree": "f1212b8f61f6dcdb52206842e8436a45f878a9e9",
      "parents": [
        "e8a7e48bb248a1196484d3f8afa53bded2b24e71"
      ],
      "author": {
        "name": "Dave Chinner",
        "email": "dchinner@redhat.com",
        "time": "Tue Nov 30 15:14:39 2010 +1100"
      },
      "committer": {
        "name": "Alex Elder",
        "email": "aelder@sgi.com",
        "time": "Wed Dec 01 07:40:19 2010 -0600"
      },
      "message": "xfs: fix failed write truncation handling.\n\nSince the move to the new truncate sequence we call xfs_setattr to\ntruncate down excessively instanciated blocks.  As shown by the testcase\nin kernel.org BZ #22452 that doesn\u0027t work too well.  Due to the confusion\nof the internal inode size, and the VFS inode i_size it zeroes data that\nit shouldn\u0027t.\n\nBut full blown truncate seems like overkill here.  We only instanciate\ndelayed allocations in the write path, and given that we never released\nthe iolock we can\u0027t have converted them to real allocations yet either.\n\nThe only nasty case is pre-existing preallocation which we need to skip.\nWe already do this for page discard during writeback, so make the delayed\nallocation block punching a generic function and call it from the failed\nwrite path as well as xfs_aops_discard_page. The callers are\nresponsible for ensuring that partial blocks are not truncated away,\nand that they hold the ilock.\n\nBased on a fix originally from Christoph Hellwig. This version used\nfilesystem blocks as the range unit.\n\nSigned-off-by: Dave Chinner \u003cdchinner@redhat.com\u003e\nReviewed-by: Christoph Hellwig \u003chch@lst.de\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": "ba03864872691c0bb580a7fb47388da337ef4aa2",
      "tree": "05584dc9061390fedf5caa749a2f7d728324b232",
      "parents": [
        "476428f8c3bb6679f8f52bf2b935ac40bc9c7358"
      ],
      "author": {
        "name": "Jeff Layton",
        "email": "jlayton@redhat.com",
        "time": "Tue Nov 30 15:14:48 2010 -0500"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Tue Nov 30 20:44:05 2010 +0000"
      },
      "message": "cifs: fix parsing of hostname in dfs referrals\n\nThe DFS referral parsing code does a memchr() call to find the \u0027\\\\\u0027\ndelimiter that separates the hostname in the referral UNC from the\nsharename. It then uses that value to set the length of the hostname via\npointer subtraction.  Instead of subtracting the start of the hostname\nhowever, it subtracts the start of the UNC, which causes the code to\npass in a hostname length that is 2 bytes too long.\n\nRegression introduced in commit 1a4240f4.\n\nReported-and-Tested-by: Robbert Kouprie \u003crobbert@exx.nl\u003e\nSigned-off-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nCc: Wang Lei \u003cwang840925@gmail.com\u003e\nCc: David Howells \u003cdhowells@redhat.com\u003e\nCc: stable@kernel.org\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\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": "476428f8c3bb6679f8f52bf2b935ac40bc9c7358",
      "tree": "64957af79b5f0f5ba5111381650bc3854be18b69",
      "parents": [
        "b81209de2455c6051cf67f2acd8ec26ccb8caf83"
      ],
      "author": {
        "name": "Suresh Jayaraman",
        "email": "sjayaraman@suse.de",
        "time": "Wed Nov 24 17:49:07 2010 +0530"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Tue Nov 30 05:51:49 2010 +0000"
      },
      "message": "cifs: display fsc in /proc/mounts\n\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": "b81209de2455c6051cf67f2acd8ec26ccb8caf83",
      "tree": "2f2b3ffcdbd2448342615bbd5bd45de3eafaa49f",
      "parents": [
        "607a569da4cf289fd8eb3887080ed3b212e3112d"
      ],
      "author": {
        "name": "Suresh Jayaraman",
        "email": "sjayaraman@suse.de",
        "time": "Wed Nov 24 17:49:06 2010 +0530"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Tue Nov 30 05:49:32 2010 +0000"
      },
      "message": "cifs: enable fscache iff fsc mount option is used explicitly\n\nCurrently, if CONFIG_CIFS_FSCACHE is set, fscache is enabled on files opened\nas read-only irrespective of the \u0027fsc\u0027 mount option. Fix this by enabling\nfscache only if \u0027fsc\u0027 mount option is specified explicitly.\n\nRemove an extraneous cFYI debug message and fix a typo while at it.\n\nReported-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nAcked-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": "607a569da4cf289fd8eb3887080ed3b212e3112d",
      "tree": "9e8e54738ebe1c80718ba67d44a7f736ba0af879",
      "parents": [
        "fbeba8bb16d7c50362e28f3f91a79fb414903199"
      ],
      "author": {
        "name": "Suresh Jayaraman",
        "email": "sjayaraman@suse.de",
        "time": "Wed Nov 24 17:49:05 2010 +0530"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Tue Nov 30 05:49:28 2010 +0000"
      },
      "message": "cifs: allow fsc mount option only if CONFIG_CIFS_FSCACHE is set\n\nCurrently, it is possible to specify \u0027fsc\u0027 mount option even if\nCONFIG_CIFS_FSCACHE has not been set. The option is being ignored silently\nwhile the user fscache functionality to work. Fix this by raising error when\nthe CONFIG option is not set.\n\nReported-by: Jeff Layton \u003cjlayton@redhat.com\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": "fbeba8bb16d7c50362e28f3f91a79fb414903199",
      "tree": "8ec770c15edfd25c83c70434cbf1c966b91e325d",
      "parents": [
        "78415d2d306bfed0a0ac351aec6c69759d007224"
      ],
      "author": {
        "name": "Shirish Pargaonkar",
        "email": "shirishpargaonkar@gmail.com",
        "time": "Sat Nov 27 11:37:54 2010 -0600"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Tue Nov 30 05:49:24 2010 +0000"
      },
      "message": "cifs: Handle extended attribute name cifs_acl to generate cifs acl blob (try #4)\n\nAdd extended attribute name system.cifs_acl\n\nGet/generate cifs/ntfs acl blob and hand over to the invoker however\nit wants to parse/process it under experimental configurable option CIFS_ACL.\n\nDo not get CIFS/NTFS ACL for xattr for attribute system.posix_acl_access\n\nSigned-off-by: Shirish Pargaonkar \u003cshirishpargaonkar@gmail.com\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "78415d2d306bfed0a0ac351aec6c69759d007224",
      "tree": "761fd93aafa6d90f9b3b18af0a4157072190519f",
      "parents": [
        "523fb8c867650196bef830d5dd9315d9975a9b7e"
      ],
      "author": {
        "name": "Shirish Pargaonkar",
        "email": "shirishpargaonkar@gmail.com",
        "time": "Sat Nov 27 11:37:26 2010 -0600"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Tue Nov 30 05:49:17 2010 +0000"
      },
      "message": "cifs: Misc. cleanup in cifsacl handling [try #4]\n\nChange the name of function mode_to_acl to mode_to_cifs_acl.\n\nHandle return code in functions mode_to_cifs_acl and\ncifs_acl_to_fattr.\n\nSigned-off-by: Shirish Pargaonkar \u003cshirishpargaonkar@gmail.com\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\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": "523fb8c867650196bef830d5dd9315d9975a9b7e",
      "tree": "7697f22640a3281649e2445a58f1e0d5f431d1f2",
      "parents": [
        "362d31297fafb150676f4d564ecc7f7f3e3b7fd4"
      ],
      "author": {
        "name": "Suresh Jayaraman",
        "email": "sjayaraman@suse.de",
        "time": "Mon Nov 29 22:39:47 2010 +0530"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Mon Nov 29 17:48:16 2010 +0000"
      },
      "message": "cifs: trivial comment fix for cifs_invalidate_mapping\n\nOnly the callers check whether the invalid_mapping flag is set and not\ncifs_invalidate_mapping().\n\nSigned-off-by: Suresh Jayaraman \u003csjayaraman@suse.de\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\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": "226291aa4641fa13cb5dec3bcb3379faa83009e2",
      "tree": "2a8da4030cfbc530d9249a51a8b4bfc2a4363c55",
      "parents": [
        "a2a2f55291918f6cf9287d7beaecc7bc007a9f1c"
      ],
      "author": {
        "name": "dann frazier",
        "email": "dann.frazier@canonical.com",
        "time": "Thu Nov 18 15:03:09 2010 -0700"
      },
      "committer": {
        "name": "Joel Becker",
        "email": "joel.becker@oracle.com",
        "time": "Thu Nov 18 15:41:41 2010 -0800"
      },
      "message": "ocfs2_connection_find() returns pointer to bad structure\n\nIf ocfs2_live_connection_list is empty, ocfs2_connection_find() will return\na pointer to the LIST_HEAD, cast as a ocfs2_live_connection. This can cause\nan oops when ocfs2_control_send_down() dereferences c-\u003eoc_conn:\n\nCall Trace:\n  [\u003cffffffffa00c2a3c\u003e] ocfs2_control_message+0x28c/0x2b0 [ocfs2_stack_user]\n  [\u003cffffffffa00c2a95\u003e] ocfs2_control_write+0x35/0xb0 [ocfs2_stack_user]\n  [\u003cffffffff81143a88\u003e] vfs_write+0xb8/0x1a0\n  [\u003cffffffff8155cc13\u003e] ? do_page_fault+0x153/0x3b0\n  [\u003cffffffff811442f1\u003e] sys_write+0x51/0x80\n  [\u003cffffffff810121b2\u003e] system_call_fastpath+0x16/0x1b\n\nFix by explicitly returning NULL if no match is found.\n\nSigned-off-by: dann frazier \u003cdann.frazier@canonical.com\u003e\nSigned-off-by: Joel Becker \u003cjoel.becker@oracle.com\u003e\n"
    },
    {
      "commit": "a2a2f55291918f6cf9287d7beaecc7bc007a9f1c",
      "tree": "8fd82a27d2a90e302edcb0ce443b12913615cab2",
      "parents": [
        "1989a80a60d2f620bad99196d6c1801c2afd7c71"
      ],
      "author": {
        "name": "Milton Miller",
        "email": "miltonm@bga.com",
        "time": "Wed Nov 17 22:20:11 2010 -0600"
      },
      "committer": {
        "name": "Joel Becker",
        "email": "joel.becker@oracle.com",
        "time": "Thu Nov 18 14:10:56 2010 -0800"
      },
      "message": "ocfs2: char is not always signed\n\nCommit 1c66b360fe262 (Change some lock status member in ocfs2_lock_res\nto char.)  states that these fields need to be signed due to comparision\nto -1, but only changed the type from unsigned char to char.   However, it\nis a compiler option if char is a signed or unsigned type.  Change these\nfields to signed char so the code will work with all compilers.\n\nSigned-off-by: Milton Miller \u003cmiltonm@bga.com\u003e\nSigned-off-by: Joel Becker \u003cjoel.becker@oracle.com\u003e\n"
    },
    {
      "commit": "1989a80a60d2f620bad99196d6c1801c2afd7c71",
      "tree": "896ce5206a1a767a38a74669a7237853e791c4f3",
      "parents": [
        "1cf257f511918ba5b2eabd64d9acd40f1d7866ef"
      ],
      "author": {
        "name": "Tristan Ye",
        "email": "tristan.ye@oracle.com",
        "time": "Mon Nov 15 21:39:09 2010 +0800"
      },
      "committer": {
        "name": "Joel Becker",
        "email": "joel.becker@oracle.com",
        "time": "Thu Nov 18 14:10:56 2010 -0800"
      },
      "message": "Ocfs2: Stop tracking a negative dentry after dentry_iput().\n\nI suddenly hit the problem during 2.6.37-rc1 regression test, which was\nintroduced by commit \u00275e98d492406818e6a94c0ba54c61f59d40cefa4a\u0027(Track\nnegative entries v3), following scenario reproduces the issue easily:\n\nNode A\t\t\tNode B\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\t\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n$touch \ttestfile\n\t\t\t$ls testfile\n$rm -rf testfile\n$touch \ttestfile\n\t\t\t$ls testfile\n\t\t\tls: cannot access testfile: No such file or directory\n\nThis patch stops tracking the dentry which was negativated by a inode deletion,\nso as to force the revaliation in next lookup, in case we\u0027ll touch the inode\nagain in the same node.\n\nIt didn\u0027t hurt the performance of multiple lookup for none-existed files anyway,\nwhile regresses a bit in the first try after a file deletion.\n\nSigned-off-by: Tristan Ye \u003ctristan.ye@oracle.com\u003e\nSigned-off-by: Joel Becker \u003cjoel.becker@oracle.com\u003e\n"
    },
    {
      "commit": "1cf257f511918ba5b2eabd64d9acd40f1d7866ef",
      "tree": "7ba566c24e910eb87b112e1560b294ab5779036c",
      "parents": [
        "a48a982a6bd3896274dd643397c72da9258411e2"
      ],
      "author": {
        "name": "Jiri Slaby",
        "email": "jslaby@suse.cz",
        "time": "Sat Nov 06 10:06:52 2010 +0100"
      },
      "committer": {
        "name": "Joel Becker",
        "email": "joel.becker@oracle.com",
        "time": "Thu Nov 18 14:10:56 2010 -0800"
      },
      "message": "ocfs2: fix memory leak\n\nStanse found that o2hb_heartbeat_group_make_item leaks some memory on\nfail paths. Fix the paths by adding a new label and jump there.\n\nSigned-off-by: Jiri Slaby \u003cjslaby@suse.cz\u003e\nCc: Mark Fasheh \u003cmfasheh@suse.com\u003e\nCc: Joel Becker \u003cjoel.becker@oracle.com\u003e\nCc: ocfs2-devel@oss.oracle.com\nCc: Alexander Viro \u003cviro@zeniv.linux.org.uk\u003e\nCc: linux-fsdevel@vger.kernel.org\nSigned-off-by: Joel Becker \u003cjoel.becker@oracle.com\u003e\n"
    },
    {
      "commit": "a48a982a6bd3896274dd643397c72da9258411e2",
      "tree": "d94208ff3ec315325eef3eaf365a9d71451ba3b2",
      "parents": [
        "2811036a19624168ff9342bb85421dbbb1d2ac0d"
      ],
      "author": {
        "name": "David Sterba",
        "email": "dsterba@suse.cz",
        "time": "Tue Nov 02 23:36:02 2010 +0100"
      },
      "committer": {
        "name": "Joel Becker",
        "email": "joel.becker@oracle.com",
        "time": "Thu Nov 18 14:10:55 2010 -0800"
      },
      "message": "fs/ocfs2/dlm: Use GFP_ATOMIC under spin_lock\n\ncoccinelle check scripts/coccinelle/locks/call_kern.cocci found that\nin fs/ocfs2/dlm/dlmdomain.c an allocation with GFP_KERNEL is done\nwith locks held:\n\ndlm_query_region_handler\n  spin_lock(dlm_domain_lock)\n    dlm_match_regions\n      kmalloc(GFP_KERNEL)\n\nChange it to GFP_ATOMIC.\n\nSigned-off-by: David Sterba \u003cdsterba@suse.cz\u003e\nCC: Joel Becker \u003cjoel.becker@oracle.com\u003e\nCC: Mark Fasheh \u003cmfasheh@suse.com\u003e\nCC: ocfs2-devel@oss.oracle.com\n\n--\nExists in v2.6.37-rc1 and current linux-next.\nSigned-off-by: Joel Becker \u003cjoel.becker@oracle.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": "362d31297fafb150676f4d564ecc7f7f3e3b7fd4",
      "tree": "b210a4dc7c36b3177a0677e2d47e57fadd87cf4d",
      "parents": [
        "59c55ba1fba61ae13fbfff094a674e73407201f1"
      ],
      "author": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Sun Nov 14 03:34:30 2010 +0000"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Sun Nov 14 03:34:30 2010 +0000"
      },
      "message": "[CIFS] fs/cifs/Kconfig: CIFS depends on CRYPTO_HMAC\n\nlinux-2.6.37-rc1: I compiled a kernel with CIFS which subsequently\nfailed with an error indicating it couldn\u0027t initialize crypto module\n\"hmacmd5\".  CONFIG_CRYPTO_HMAC\u003dy fixed the problem.\n\nThis patch makes CIFS depend on CRYPTO_HMAC in kconfig.\n\nSigned-off-by: Jody Bruchon\u003cjody@nctritech.com\u003e\nCC: Shirish Pargaonkar \u003cshirishp@us.ibm.com\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\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": "59c55ba1fba61ae13fbfff094a674e73407201f1",
      "tree": "0ab51709f8115e4bbd8bed8302175e7d4be5ce3c",
      "parents": [
        "987b21d7d91d0335e164a41a312174851c58f333"
      ],
      "author": {
        "name": "Jeff Layton",
        "email": "jlayton@redhat.com",
        "time": "Fri Nov 12 06:30:29 2010 -0500"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Sat Nov 13 03:26:17 2010 +0000"
      },
      "message": "cifs: don\u0027t take extra tlink reference in initiate_cifs_search\n\nIt\u0027s possible for initiate_cifs_search to be called on a filp that\nalready has private_data attached. If this happens, we\u0027ll end up\ncalling cifs_sb_tlink, taking an extra reference to the tlink and\nattaching that to the cifsFileInfo. This leads to refcount leaks\nthat manifest as a \"stuck\" cifsd at umount time.\n\nFix this by only looking up the tlink for the cifsFile on the filp\u0027s\nfirst pass through this function. When called on a filp that already\nhas cifsFileInfo associated with it, just use the tlink reference\nthat it already owns.\n\nThis patch fixes samba.org bug 7792:\n\n    https://bugzilla.samba.org/show_bug.cgi?id\u003d7792\n\nSigned-off-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nReviewed-and-Tested-by: Suresh Jayaraman \u003csjayaraman@suse.de\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.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"
    }
  ],
  "next": "7b88dadc13e0004947de52df128dbd5b0754ed0a"
}
