)]}'
{
  "log": [
    {
      "commit": "0fd08c5545a806c960a6597fae4a2e656eb7ead9",
      "tree": "027dfcc65f600afe6a4b19ab72c472fe3f0f24fa",
      "parents": [
        "7921127e297ea203b794c4a1c3ef3eb0ee52acbf",
        "d1205f87bbb8040c1408bbd9e0a720310b2b0b9b"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Feb 01 09:41:02 2011 +1000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Feb 01 09:41:02 2011 +1000"
      },
      "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: NFSv4 readdir loses entries\n  NFS: Micro-optimize nfs4_decode_dirent()\n  NFS: Fix an NFS client lockdep issue\n  NFS construct consistent co_ownerid for v4.1\n  NFS: nfs_wcc_update_inode() should set nfsi-\u003eattr_gencount\n  NFS improve pnfs_put_deviceid_cache debug print\n  NFS fix cb_sequence error processing\n  NFS do not find client in NFSv4 pg_authenticate\n  NLM: Fix \"kernel BUG at fs/lockd/host.c:417!\" or \".../host.c:283!\"\n  NFS: Prevent memory allocation failure in nfsacl_encode()\n  NFS: nfsacl_{encode,decode} should return signed integer\n  NFS: Fix \"kernel BUG at fs/nfs/nfs3xdr.c:1338!\"\n  NFS: Fix \"kernel BUG at fs/aio.c:554!\"\n  NFS4: Avoid potential NULL pointer dereference in decode_and_add_ds().\n  NFS: fix handling of malloc failure during nfs_flush_multi()\n"
    },
    {
      "commit": "fb9f1f17e9c117c0bf7a8f1b7a0efe5db5bc1836",
      "tree": "21f544b7489aa2a4b5fb9c754f67dc8ff6e9fe66",
      "parents": [
        "2426ec8fe78884272a12a0a0f38b008a6195f094",
        "24446fc66fdebbdd8baca0f44fd2a47ad77ba580"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Feb 01 08:15:40 2011 +1000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Feb 01 08:15:40 2011 +1000"
      },
      "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: xfs_bmap_add_extent_delay_real should init br_startblock\n  xfs: fix dquot shaker deadlock\n  xfs: handle CIl transaction commit failures correctly\n  xfs: limit extsize to size of AGs and/or MAXEXTLEN\n  xfs: prevent extsize alignment from exceeding maximum extent size\n  xfs: limit extent length for allocation to AG size\n  xfs: speculative delayed allocation uses rounddown_power_of_2 badly\n  xfs: fix efi item leak on forced shutdown\n  xfs: fix log ticket leak on forced shutdown.\n"
    },
    {
      "commit": "af5eb745efe97d91d2cbe793029838b3311c15da",
      "tree": "c2e410318a3f38928255ebf9ab18332b871e17f0",
      "parents": [
        "9fbf0c08d441888b977f7c459c8aa57f2c0cb6ad"
      ],
      "author": {
        "name": "Anton Altaparmakov",
        "email": "anton@tuxera.com",
        "time": "Fri Jan 28 20:45:28 2011 +0000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jan 31 12:58:11 2011 +1000"
      },
      "message": "NTFS: Fix invalid pointer dereference in ntfs_mft_record_alloc().\n\nIn ntfs_mft_record_alloc() when mapping the new extent mft record with\nmap_extent_mft_record() we overwrite @m with the return value and on\nerror, we then try to use the old @m but that is no longer there as @m\nnow contains an error code instead so we crash when dereferencing the\nerror code as if it were a pointer.\n\nThe simple fix is to use a temporary variable to store the return value\nthus preserving the original @m for later use.  This is a backport from\nthe commercial Tuxera-NTFS driver and is well tested...\n\nThanks go to Julia Lawall for pointing this out (whilst I had fixed it\nin the commercial driver I had failed to fix it in the Linux kernel).\n\nSigned-off-by: Anton Altaparmakov \u003canton@tuxera.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "9fbf0c08d441888b977f7c459c8aa57f2c0cb6ad",
      "tree": "000bfa464562b2432e7f9e7c371a40f4f24e4c7a",
      "parents": [
        "4fda116852fe21a3897c478ce64b77bb1ec6b3d6",
        "ee2c9258501f83d3ed0fd09ce5df1cec53312cf0"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jan 31 12:56:27 2011 +1000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jan 31 12:56:27 2011 +1000"
      },
      "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: More crypto cleanup (try #2)\n  CIFS: Add strictcache mount option\n  CIFS: Implement cifs_strict_writev (try #4)\n  [CIFS] Replace cifs md5 hashing functions with kernel crypto APIs\n"
    },
    {
      "commit": "d1205f87bbb8040c1408bbd9e0a720310b2b0b9b",
      "tree": "0d2fec92960dafb86816642757278e8db31d20f3",
      "parents": [
        "c08e76d0cd4beb759a73c1835d98f5fccc126ed1"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Fri Jan 28 12:41:05 2011 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Jan 28 13:41:35 2011 -0500"
      },
      "message": "NFS: NFSv4 readdir loses entries\n\nOn recent 2.6.38-rc kernels, connectathon basic test 6 fails on\nNFSv4 mounts of OpenSolaris with something like:\n\n\u003e ./test6: readdir\n\u003e \t./test6: (/mnt/klimt/matisse.test) didn\u0027t read expected \u0027file.12\u0027 dir entry, pass 0\n\u003e \t./test6: (/mnt/klimt/matisse.test) didn\u0027t read expected \u0027file.82\u0027 dir entry, pass 0\n\u003e \t./test6: (/mnt/klimt/matisse.test) didn\u0027t read expected \u0027file.164\u0027 dir entry, pass 0\n\u003e \t./test6: (/mnt/klimt/matisse.test) Test failed with 3 errors\n\u003e basic tests failed\n\u003e Tests failed, leaving /mnt/klimt mounted\n\u003e [cel@matisse cthon04]$\n\nI narrowed the problem down to nfs4_decode_dirent() reporting that the\ndecode buffer had overflowed while decoding the entries for those\nmissing files.\n\nverify_attr_len() assumes both it\u0027s pointer arguments reside on the\nsame page.  When these arguments point to locations on two different\npages, verify_attr_len() can report false errors.  This can happen now\nthat a large NFSv4 readdir result can span pages.\n\nWe have reasonably good checking in nfs4_decode_dirent() anyway, so\nit should be safe to simply remove the extra checking.\n\nAt a guess, this was introduced by commit 6650239a, \"NFS: Don\u0027t use\nvm_map_ram() in readdir\".\n\nCc: stable@kernel.org [2.6.37]\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "c08e76d0cd4beb759a73c1835d98f5fccc126ed1",
      "tree": "e1cd5414a2aba7c4e414bf93473f599c40717d80",
      "parents": [
        "e00b8a24041f37e56b4b8415ce4eba1cbc238065"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Fri Jan 28 12:40:55 2011 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Jan 28 13:37:35 2011 -0500"
      },
      "message": "NFS: Micro-optimize nfs4_decode_dirent()\n\nMake the decoding of NFSv4 directory entries slightly more efficient\nby:\n\n  1.  Avoiding unnecessary byte swapping when checking XDR booleans,\n      and\n\n  2.  Not bumping \"p\" when its value will be immediately replaced by\n      xdr_inline_decode()\n\nThis commit makes nfs4_decode_dirent() consistent with similar logic\nin the other two decode_dirent() functions.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "e00b8a24041f37e56b4b8415ce4eba1cbc238065",
      "tree": "eb4fbb050e1d4afdd6d10b4b420420fa92ad92a8",
      "parents": [
        "c7a360b05b5430ac1d75dc7d53c586ada60a05cb"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Jan 27 14:55:39 2011 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Jan 28 13:37:09 2011 -0500"
      },
      "message": "NFS: Fix an NFS client lockdep issue\n\nThere is no reason to be freeing the delegation cred in the rcu callback,\nand doing so is resulting in a lockdep complaint that rpc_credcache_lock\nis being called from both softirq and non-softirq contexts.\n\nReported-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\nCc: stable@kernel.org\n"
    },
    {
      "commit": "24446fc66fdebbdd8baca0f44fd2a47ad77ba580",
      "tree": "98822ad25ac286f1bc6730ae47004bdc091f4461",
      "parents": [
        "0fbca4d1c3932c27c4794bf5c2b5fc961cf5a54f"
      ],
      "author": {
        "name": "bpm@sgi.com",
        "email": "bpm@sgi.com",
        "time": "Wed Jan 19 17:41:58 2011 +0000"
      },
      "committer": {
        "name": "Alex Elder",
        "email": "aelder@sgi.com",
        "time": "Fri Jan 28 09:13:29 2011 -0600"
      },
      "message": "xfs: xfs_bmap_add_extent_delay_real should init br_startblock\n\nWhen filling in the middle of a previous delayed allocation in\nxfs_bmap_add_extent_delay_real, set br_startblock of the new delay\nextent to the right to nullstartblock instead of 0 before inserting\nthe extent into the ifork (xfs_iext_insert), rather than setting\nbr_startblock afterward.\n\nAdding the extent into the ifork with br_startblock\u003d0 can lead to\nthe extent being copied into the btree by xfs_bmap_extent_to_btree\nif we happen to convert from extents format to btree format before\nupdating br_startblock with the correct value.  The unexpected\naddition of this delay extent to the btree can cause subsequent\nXFS_WANT_CORRUPTED_GOTO filesystem shutdown in several\nxfs_bmap_add_extent_delay_real cases where we are converting a delay\nextent to real and unexpectedly find an extent already inserted.\nFor example:\n\n911         case BMAP_LEFT_FILLING:\n912                 /*\n913                  * Filling in the first part of a previous delayed allocation.\n914                  * The left neighbor is not contiguous.\n915                  */\n916                 trace_xfs_bmap_pre_update(ip, idx, state, _THIS_IP_);\n917                 xfs_bmbt_set_startoff(ep, new_endoff);\n918                 temp \u003d PREV.br_blockcount - new-\u003ebr_blockcount;\n919                 xfs_bmbt_set_blockcount(ep, temp);\n920                 xfs_iext_insert(ip, idx, 1, new, state);\n921                 ip-\u003ei_df.if_lastex \u003d idx;\n922                 ip-\u003ei_d.di_nextents++;\n923                 if (cur \u003d\u003d NULL)\n924                         rval \u003d XFS_ILOG_CORE | XFS_ILOG_DEXT;\n925                 else {\n926                         rval \u003d XFS_ILOG_CORE;\n927                         if ((error \u003d xfs_bmbt_lookup_eq(cur, new-\u003ebr_startoff,\n928                                         new-\u003ebr_startblock, new-\u003ebr_blockcount,\n929                                         \u0026i)))\n930                                 goto done;\n931                         XFS_WANT_CORRUPTED_GOTO(i \u003d\u003d 0, done);\n\nWith the bogus extent in the btree we shutdown the filesystem at\n931.  The conversion from extents to btree format happens when the\nnumber of extents in the inode increases above ip-\u003ei_df.if_ext_max.\nxfs_bmap_extent_to_btree copies extents from the ifork into the\nbtree, ignoring all delalloc extents which are denoted by\nbr_startblock having some value of nullstartblock.\n\nSGI-PV: 1013221\n\nSigned-off-by: Ben Myers \u003cbpm@sgi.com\u003e\nReviewed-by: Dave Chinner \u003cdchinner@redhat.com\u003e\nSigned-off-by: Alex Elder \u003caelder@sgi.com\u003e\n"
    },
    {
      "commit": "0fbca4d1c3932c27c4794bf5c2b5fc961cf5a54f",
      "tree": "3c031847453c5222410e04e40d1152207a1c18a2",
      "parents": [
        "c6f990d1ff8e4e53b12f4175eb7d7ea710c3ca73"
      ],
      "author": {
        "name": "Dave Chinner",
        "email": "dchinner@redhat.com",
        "time": "Fri Jan 28 11:20:46 2011 +1100"
      },
      "committer": {
        "name": "Alex Elder",
        "email": "aelder@sgi.com",
        "time": "Fri Jan 28 09:05:36 2011 -0600"
      },
      "message": "xfs: fix dquot shaker deadlock\n\nCommit 368e136 (\"xfs: remove duplicate code from dquot reclaim\") fails\nto unlock the dquot freelist when the number of loop restarts is\nexceeded in xfs_qm_dqreclaim_one(). This causes hangs in memory\nreclaim.\n\nRework the loop control logic into an unwind stack that all the\ndifferent cases jump into. This means there is only one set of code\nthat processes the loop exit criteria, and simplifies the unlocking\nof all the items from different points in the loop. It also fixes a\ndouble increment of the restart counter from the qi_dqlist_lock\ncase.\n\nReported-by: Malcolm Scott \u003clkml@malc.org.uk\u003e\nSigned-off-by: Dave Chinner \u003cdchinner@redhat.com\u003e\nReviewed-by: Alex Elder \u003caelder@sgi.com\u003e\n"
    },
    {
      "commit": "c6f990d1ff8e4e53b12f4175eb7d7ea710c3ca73",
      "tree": "109e8d588a9a04ef52b97e751450fe0fffa88a23",
      "parents": [
        "5315837daee7ed76c31ef643915f7d76ef8c1aa3"
      ],
      "author": {
        "name": "Dave Chinner",
        "email": "dchinner@redhat.com",
        "time": "Thu Jan 27 13:23:28 2011 +1100"
      },
      "committer": {
        "name": "Alex Elder",
        "email": "aelder@sgi.com",
        "time": "Fri Jan 28 09:05:36 2011 -0600"
      },
      "message": "xfs: handle CIl transaction commit failures correctly\n\nFailure to commit a transaction into the CIL is not handled\ncorrectly. This currently can only happen when racing with a\nshutdown and requires an explicit shutdown check, so it rare and can\nbe avoided. Remove the shutdown check and make the CIL commit a void\nfunction to indicate it will always succeed, thereby removing the\nincorrectly handled failure case.\n\nSigned-off-by: Dave Chinner \u003cdchinner@redhat.com\u003e\nReviewed-by: Christoph Hellwig \u003chch@lst.de\u003e\nReviewed-by: Alex Elder \u003caelder@sgi.com\u003e\n"
    },
    {
      "commit": "5315837daee7ed76c31ef643915f7d76ef8c1aa3",
      "tree": "de92499a896cc5d6702be364c9c3339641d3ed93",
      "parents": [
        "4ce159890c00e2cc705e955a939bf1dca7b07ab8"
      ],
      "author": {
        "name": "Dave Chinner",
        "email": "dchinner@redhat.com",
        "time": "Thu Jan 27 12:18:18 2011 +1100"
      },
      "committer": {
        "name": "Alex Elder",
        "email": "aelder@sgi.com",
        "time": "Fri Jan 28 09:05:36 2011 -0600"
      },
      "message": "xfs: limit extsize to size of AGs and/or MAXEXTLEN\n\nThe extent size hint can be set to larger than an AG. This means\nthat the alignment process can push the range to be allocated\noutside the bounds of the AG, resulting in assert failures or\ncorrupted bmbt records. Similarly, if the extsize is larger than the\nmaximum extent size supported, the alignment process will produce\nextents that are too large to fit into the bmbt records, resulting\nin a different type of assert/corruption failure.\n\nFix this by limiting extsize at the time іt is set firstly to be\nless than MAXEXTLEN, then to be a maximum of half the size of the\nAGs in the filesystem for non-realtime inodes. Realtime inodes do\nnot allocate out of AGs, so don\u0027t have to be restricted by the size\nof AGs.\n\nSigned-off-by: Dave Chinner \u003cdchinner@redhat.com\u003e\nReviewed-by: Christoph Hellwig \u003chch@lst.de\u003e\nReviewed-by: Alex Elder \u003caelder@sgi.com\u003e\n"
    },
    {
      "commit": "4ce159890c00e2cc705e955a939bf1dca7b07ab8",
      "tree": "8b6351a4d577232c6c3e71c11c6533ce7ff0aa78",
      "parents": [
        "14b064ceaa6f51a7426cc45b4b43685b94380658"
      ],
      "author": {
        "name": "Dave Chinner",
        "email": "dchinner@redhat.com",
        "time": "Thu Jan 27 12:17:58 2011 +1100"
      },
      "committer": {
        "name": "Alex Elder",
        "email": "aelder@sgi.com",
        "time": "Fri Jan 28 09:05:36 2011 -0600"
      },
      "message": "xfs: prevent extsize alignment from exceeding maximum extent size\n\nWhen doing delayed allocation, if the allocation size is for a\nmaximally sized extent, extent size alignment can push it over this\nlimit. This results in an assert failure in xfs_bmbt_set_allf() as\nthe extent length is too large to find in the extent record.\n\nFix this by ensuring that we allow for space that extent size\nalignment requires (up to 2 * (extsize -1) blocks as we have to\nhandle both head and tail alignment) when limiting the maximum size\nof the extent.\n\nSigned-off-by: Dave Chinner \u003cdchinner@redhat.com\u003e\nReviewed-by: Christoph Hellwig \u003chch@lst.de\u003e\nReviewed-by: Alex Elder \u003caelder@sgi.com\u003e\n"
    },
    {
      "commit": "14b064ceaa6f51a7426cc45b4b43685b94380658",
      "tree": "acb620a958da7f3528acc04899c685591663fc24",
      "parents": [
        "b8fc82630ae289bb4e661567808afc59e3298dce"
      ],
      "author": {
        "name": "Dave Chinner",
        "email": "dchinner@redhat.com",
        "time": "Thu Jan 27 12:16:28 2011 +1100"
      },
      "committer": {
        "name": "Alex Elder",
        "email": "aelder@sgi.com",
        "time": "Fri Jan 28 09:05:35 2011 -0600"
      },
      "message": "xfs: limit extent length for allocation to AG size\n\nDelayed allocation extents can be larger than AGs, so when trying to\nconvert a large range we may scan every AG inside\nxfs_bmap_alloc_nullfb() trying to find an AG with a size larger than\nan AG. We should stop when we find the first AG with a maximum\npossible allocation size. This causes excessive CPU usage when there\nare lots of AGs.\n\nThe same problem occurs when doing preallocation of a range larger\nthan an AG.\n\nFix the problem by limiting real allocation lengths to the maximum\nthat an AG can support. This means if we have empty AGs, we\u0027ll stop\nthe search at the first of them. If there are no empty AGs, we\u0027ll\nstill scan them all, but that is a different problem....\n\nSigned-off-by: Dave Chinner \u003cdchinner@redhat.com\u003e\nReviewed-by: Christoph Hellwig \u003chch@lst.de\u003e\nReviewed-by: Alex Elder \u003caelder@sgi.com\u003e\n"
    },
    {
      "commit": "b8fc82630ae289bb4e661567808afc59e3298dce",
      "tree": "70e319ec3d804992c1dd11e5123547d0901a40a0",
      "parents": [
        "e34a314c5e49fe6b763568f6576b19f1299c33c2"
      ],
      "author": {
        "name": "Dave Chinner",
        "email": "dchinner@redhat.com",
        "time": "Thu Jan 27 12:14:12 2011 +1100"
      },
      "committer": {
        "name": "Alex Elder",
        "email": "aelder@sgi.com",
        "time": "Fri Jan 28 09:05:35 2011 -0600"
      },
      "message": "xfs: speculative delayed allocation uses rounddown_power_of_2 badly\n\nrounddown_power_of_2() returns an undefined result when passed a\nvalue of zero. The specualtive delayed allocation code is doing this\nwhen the inode is zero length. Hence occasionally the preallocation\nis much, much larger than is necessary (e.g. 8GB for a 270 _byte_\nfile). Ensure we don\u0027t even pass a zero value to this function so\nthe result of preallocation is always the desired size.\n\nSigned-off-by: Dave Chinner \u003cdchinner@redhat.com\u003e\nReviewed-by: Christoph Hellwig \u003chch@lst.de\u003e\nReviewed-by: Alex Elder \u003caelder@sgi.com\u003e\n"
    },
    {
      "commit": "e34a314c5e49fe6b763568f6576b19f1299c33c2",
      "tree": "25cd4abc329c68cdb268ae527e2319204d223d58",
      "parents": [
        "7db37c5e6575b229a5051be1d3ef15257ae0ba5d"
      ],
      "author": {
        "name": "Dave Chinner",
        "email": "dchinner@redhat.com",
        "time": "Thu Jan 27 12:13:35 2011 +1100"
      },
      "committer": {
        "name": "Alex Elder",
        "email": "aelder@sgi.com",
        "time": "Fri Jan 28 09:01:33 2011 -0600"
      },
      "message": "xfs: fix efi item leak on forced shutdown\n\nAfter test 139, kmemleak shows:\n\nunreferenced object 0xffff880078b405d8 (size 400):\n  comm \"xfs_io\", pid 4904, jiffies 4294909383 (age 1186.728s)\n  hex dump (first 32 bytes):\n    60 c1 17 79 00 88 ff ff 60 c1 17 79 00 88 ff ff  `..y....`..y....\n    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................\n  backtrace:\n    [\u003cffffffff81afb04d\u003e] kmemleak_alloc+0x2d/0x60\n    [\u003cffffffff8115c6cf\u003e] kmem_cache_alloc+0x13f/0x2b0\n    [\u003cffffffff814aaa97\u003e] kmem_zone_alloc+0x77/0xf0\n    [\u003cffffffff814aab2e\u003e] kmem_zone_zalloc+0x1e/0x50\n    [\u003cffffffff8147cd6b\u003e] xfs_efi_init+0x4b/0xb0\n    [\u003cffffffff814a4ee8\u003e] xfs_trans_get_efi+0x58/0x90\n    [\u003cffffffff81455fab\u003e] xfs_bmap_finish+0x8b/0x1d0\n    [\u003cffffffff814851b4\u003e] xfs_itruncate_finish+0x2c4/0x5d0\n    [\u003cffffffff814a970f\u003e] xfs_setattr+0x8df/0xa70\n    [\u003cffffffff814b5c7b\u003e] xfs_vn_setattr+0x1b/0x20\n    [\u003cffffffff8117dc00\u003e] notify_change+0x170/0x2e0\n    [\u003cffffffff81163bf6\u003e] do_truncate+0x66/0xa0\n    [\u003cffffffff81163d0b\u003e] sys_ftruncate+0xdb/0xe0\n    [\u003cffffffff8103a002\u003e] system_call_fastpath+0x16/0x1b\n    [\u003cffffffffffffffff\u003e] 0xffffffffffffffff\n\nThe cause of the leak is that the \"remove\" parameter of IOP_UNPIN()\nis never set when a CIL push is aborted. This means that the EFI\nitem is never freed if it was in the push being cancelled. The\nproblem is specific to delayed logging, but has uncovered a couple\nof problems with the handling of IOP_UNPIN(remove).\n\nFirstly, we cannot safely call xfs_trans_del_item() from IOP_UNPIN()\nin the CIL commit failure path or the iclog write failure path\nbecause for delayed loging we have no transaction context. Hence we\nmust only call xfs_trans_del_item() if the log item being unpinned\nhas an active log item descriptor.\n\nSecondly, xfs_trans_uncommit() does not handle log item descriptor\nfreeing during the traversal of log items on a transaction. It can\nreference a freed log item descriptor when unpinning an EFI item.\nHence it needs to use a safe list traversal method to allow items to\nbe removed from the transaction during IOP_UNPIN().\n\nSigned-off-by: Dave Chinner \u003cdchinner@redhat.com\u003e\nReviewed-by: Alex Elder \u003caelder@sgi.com\u003e\n"
    },
    {
      "commit": "b12ece7d852efbc8db45371c068900fcc62002d4",
      "tree": "6344b69d72415224f784ac3c0d855ae334a612d2",
      "parents": [
        "363aab29eb89b46d14d44e4a44a5fff57e30bcfc",
        "d66bbd441c08fe00ed2add1cf70cb243ebc2b27e"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 28 12:12:58 2011 +1000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 28 12:12:58 2011 +1000"
      },
      "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: avoid picking MDS that is not active\n  ceph: avoid immediate cap check after import\n  ceph: fix flushing of caps vs cap import\n  ceph: fix erroneous cap flush to non-auth mds\n  ceph: fix cap_wanted_delay_{min,max} mount option initialization\n  ceph: fix xattr rbtree search\n  ceph: fix getattr on directory when using norbytes\n"
    },
    {
      "commit": "ee2c9258501f83d3ed0fd09ce5df1cec53312cf0",
      "tree": "2690ab3e75343be23a4969846a0c71f0df842dc7",
      "parents": [
        "d39454ffe4a3c85428483b8a8a8e5e797b6363d5"
      ],
      "author": {
        "name": "Shirish Pargaonkar",
        "email": "shirishpargaonkar@gmail.com",
        "time": "Thu Jan 27 09:58:04 2011 -0600"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Thu Jan 27 19:58:13 2011 +0000"
      },
      "message": "cifs: More crypto cleanup (try #2)\n\nReplaced md4 hashing function local to cifs module with kernel crypto APIs.\nAs a result, md4 hashing function and its supporting functions in\nfile md4.c are not needed anymore.\n\nCleaned up function declarations, removed forward function declarations,\nand removed a header file that is being deleted from being included.\n\nVerified that sec\u003dntlm/i, sec\u003dntlmv2/i, and sec\u003dntlmssp/i work correctly.\n\nSigned-off-by: Shirish Pargaonkar \u003cshirishpargaonkar@gmail.com\u003e\nReviewed-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "7db37c5e6575b229a5051be1d3ef15257ae0ba5d",
      "tree": "9e14732b0afe1081d0225c4cf1b824c606a01955",
      "parents": [
        "c56eb8fb6dccb83d9fe62fd4dc00c834de9bc470"
      ],
      "author": {
        "name": "Dave Chinner",
        "email": "dchinner@redhat.com",
        "time": "Thu Jan 27 12:02:00 2011 +1100"
      },
      "committer": {
        "name": "Dave Chinner",
        "email": "david@fromorbit.com",
        "time": "Thu Jan 27 12:02:00 2011 +1100"
      },
      "message": "xfs: fix log ticket leak on forced shutdown.\n\nThe kmemleak detector shows this after test 139:\n\nunreferenced object 0xffff880079b88bb0 (size 264):\n  comm \"xfs_io\", pid 4904, jiffies 4294909382 (age 276.824s)\n  hex dump (first 32 bytes):\n    00 00 00 00 ad 4e ad de ff ff ff ff 00 00 00 00  .....N..........\n    ff ff ff ff ff ff ff ff 48 7b c9 82 ff ff ff ff  ........H{......\n  backtrace:\n    [\u003cffffffff81afb04d\u003e] kmemleak_alloc+0x2d/0x60\n    [\u003cffffffff8115c6cf\u003e] kmem_cache_alloc+0x13f/0x2b0\n    [\u003cffffffff814aaa97\u003e] kmem_zone_alloc+0x77/0xf0\n    [\u003cffffffff814aab2e\u003e] kmem_zone_zalloc+0x1e/0x50\n    [\u003cffffffff8148f394\u003e] xlog_ticket_alloc+0x34/0x170\n    [\u003cffffffff81494444\u003e] xlog_cil_push+0xa4/0x3f0\n    [\u003cffffffff81494eca\u003e] xlog_cil_force_lsn+0x15a/0x160\n    [\u003cffffffff814933a5\u003e] _xfs_log_force_lsn+0x75/0x2d0\n    [\u003cffffffff814a264d\u003e] _xfs_trans_commit+0x2bd/0x2f0\n    [\u003cffffffff8148bfdd\u003e] xfs_iomap_write_allocate+0x1ad/0x350\n    [\u003cffffffff814ac17f\u003e] xfs_map_blocks+0x21f/0x370\n    [\u003cffffffff814ad1b7\u003e] xfs_vm_writepage+0x1c7/0x550\n    [\u003cffffffff8112200a\u003e] __writepage+0x1a/0x50\n    [\u003cffffffff81122df2\u003e] write_cache_pages+0x1c2/0x4c0\n    [\u003cffffffff81123117\u003e] generic_writepages+0x27/0x30\n    [\u003cffffffff814aba5d\u003e] xfs_vm_writepages+0x5d/0x80\n\nBy inspection, the leak occurs when xlog_write() returns and error\nand we jump to the abort path without dropping the reference on the\nactive ticket.\n\nSigned-off-by: Dave Chinner \u003cdchinner@redhat.com\u003e\nReviewed-by: Christoph Hellwig \u003chch@lst.de\u003e\nReviewed-by: Alex Elder \u003caelder@sgi.com\u003e\n"
    },
    {
      "commit": "c7a360b05b5430ac1d75dc7d53c586ada60a05cb",
      "tree": "dceb33ea4e5fcc251fdbcb73f92786de99a83fcc",
      "parents": [
        "27dc1cd3ad9300f81e1219e5fc305d91d85353f8"
      ],
      "author": {
        "name": "Andy Adamson",
        "email": "andros@netapp.com",
        "time": "Tue Jan 25 19:15:32 2011 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Jan 25 22:49:14 2011 -0500"
      },
      "message": "NFS construct consistent co_ownerid for v4.1\n\nAs stated in section 2.4 of RFC 5661, subsequent instances of the client need\nto present the same co_ownerid. Concatinate the client\u0027s IP dot address,\nhost name, and the rpc_auth pseudoflavor to form the co_ownerid.\n\nSigned-off-by: Andy Adamson \u003candros@netapp.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "ac751efa6a0d70f2c9daef5c7e3a92270f5c2dff",
      "tree": "e2d3f799e20e2cbca80891ea17af7484f21d628f",
      "parents": [
        "3689456b4bd36027022b3215eb2acba51cd0e6b5"
      ],
      "author": {
        "name": "Torben Hohn",
        "email": "torbenh@gmx.de",
        "time": "Tue Jan 25 15:07:35 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jan 26 10:50:06 2011 +1000"
      },
      "message": "console: rename acquire/release_console_sem() to console_lock/unlock()\n\nThe -rt patches change the console_semaphore to console_mutex.  As a\nresult, a quite large chunk of the patches changes all\nacquire/release_console_sem() to acquire/release_console_mutex()\n\nThis commit makes things use more neutral function names which dont make\nimplications about the underlying lock.\n\nThe only real change is the return value of console_trylock which is\ninverted from try_acquire_console_sem()\n\nThis patch also paves the way to switching console_sem from a semaphore to\na mutex.\n\n[akpm@linux-foundation.org: coding-style fixes]\n[akpm@linux-foundation.org: make console_trylock return 1 on success, per Geert]\nSigned-off-by: Torben Hohn \u003ctorbenh@gmx.de\u003e\nCc: Thomas Gleixner \u003ctglx@tglx.de\u003e\nCc: Greg KH \u003cgregkh@suse.de\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Geert Uytterhoeven \u003cgeert@linux-m68k.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "3689456b4bd36027022b3215eb2acba51cd0e6b5",
      "tree": "8233856d31d744feacf6d91b0fb7dbe7fbcf2803",
      "parents": [
        "ac15ee691fe84cb46cbd2497ddcb10e246f7ee47"
      ],
      "author": {
        "name": "Phillip Lougher",
        "email": "phillip@lougher.demon.co.uk",
        "time": "Tue Jan 25 15:07:34 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jan 26 10:50:05 2011 +1000"
      },
      "message": "squashfs: fix use of uninitialised variable in zlib \u0026 xz decompressors\n\nFix potential use of uninitialised variable caused by recent\ndecompressor code optimisations.\n\nIn zlib_uncompress (zlib_wrapper.c) we have\n\n\tint zlib_err, zlib_init \u003d 0;\n\t...\n\tdo {\n\t\t...\n\t\t\tif (avail \u003d\u003d 0) {\n\t\t\t\toffset \u003d 0;\n\t\t\t\tput_bh(bh[k++]);\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t...\n\t\tzlib_err \u003d zlib_inflate(stream, Z_SYNC_FLUSH);\n\t\t...\n\t} while (zlib_err \u003d\u003d Z_OK);\n\nIf continue is executed (avail \u003d\u003d 0) then the while condition will be\nevaluated testing zlib_err, which is uninitialised first time around the\nloop.\n\nFix this by getting rid of the \u0027if (avail \u003d\u003d 0)\u0027 condition test, this\nedge condition should not be being handled in the decompressor code, and\ninstead handle it generically in the caller code.\n\nSimilarly for xz_wrapper.c.\n\nIncidentally, on most architectures (bar Mips and Parisc), no\nuninitialised variable warning is generated by gcc, this is because the\nwhile condition test on continue is optimised out and not performed\n(when executing continue zlib_err has not been changed since entering\nthe loop, and logically if the while condition was true previously, then\nit\u0027s still true).\n\nSigned-off-by: Phillip Lougher \u003cphillip@lougher.demon.co.uk\u003e\nReported-by: Jesper Juhl \u003cjj@chaosbits.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "3af03655e885ba7f48ca6318e231a7086a51082e",
      "tree": "8f7505063593208454184fb5608eadf80f78d122",
      "parents": [
        "01ed875a12eacd5ece370b20ccf8f51543feb172",
        "0ca7a5b9ac5d301845dd6382ff25a699b6263a81"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jan 26 09:03:36 2011 +1000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jan 26 09:03:36 2011 +1000"
      },
      "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 crash after one superblock became unavailable\n"
    },
    {
      "commit": "27dc1cd3ad9300f81e1219e5fc305d91d85353f8",
      "tree": "5f242e02274ce115154e2400b298b82b39302ed2",
      "parents": [
        "b2a2897dc4a59684321de425652061c62a0569d0"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Jan 25 15:28:21 2011 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Jan 25 15:28:21 2011 -0500"
      },
      "message": "NFS: nfs_wcc_update_inode() should set nfsi-\u003eattr_gencount\n\nIf the call to nfs_wcc_update_inode() results in an attribute update, we\nneed to ensure that the inode\u0027s attr_gencount gets bumped too, otherwise\nwe are not protected against races with other GETATTR calls.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "b2a2897dc4a59684321de425652061c62a0569d0",
      "tree": "c82399ed3ba4177b68b4606667c63fcf2fe52a4b",
      "parents": [
        "2c4cdf8f6d3cfb48036400952329555099c8c92c"
      ],
      "author": {
        "name": "Andy Adamson",
        "email": "andros@netapp.com",
        "time": "Tue Jan 25 15:38:03 2011 +0000"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Jan 25 15:26:51 2011 -0500"
      },
      "message": "NFS improve pnfs_put_deviceid_cache debug print\n\nWhat we really want to know is the ref count.\n\nSigned-off-by: Andy Adamson \u003candros@netapp.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "2c4cdf8f6d3cfb48036400952329555099c8c92c",
      "tree": "06a2c1d0ff7bfc959cb62eca51ef5d8e08781f4a",
      "parents": [
        "778be232a207e79088ba70d832ac25dfea6fbf1a"
      ],
      "author": {
        "name": "Andy Adamson",
        "email": "andros@netapp.com",
        "time": "Tue Jan 25 15:38:02 2011 +0000"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Jan 25 15:26:51 2011 -0500"
      },
      "message": "NFS fix cb_sequence error processing\n\nAlways assign the cb_process_state nfs_client pointer so a processing error\nin cb_sequence after the nfs_client is found and referenced returns\na non-NULL cb_process_state nfs_client and the matching nfs_put_client in\nnfs4_callback_compound dereferences the client.\n\nSigned-off-by: Andy Adamson \u003candros@netapp.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "778be232a207e79088ba70d832ac25dfea6fbf1a",
      "tree": "307249459e5ef45c4b3651c7fc5c454cdb3e0c92",
      "parents": [
        "80c30e8de4f81851b1f712bcc596e11d53bc76f1"
      ],
      "author": {
        "name": "Andy Adamson",
        "email": "andros@netapp.com",
        "time": "Tue Jan 25 15:38:01 2011 +0000"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Jan 25 15:26:51 2011 -0500"
      },
      "message": "NFS do not find client in NFSv4 pg_authenticate\n\nThe information required to find the nfs_client cooresponding to the incoming\nback channel request is contained in the NFS layer. Perform minimal checking\nin the RPC layer pg_authenticate method, and push more detailed checking into\nthe NFS layer where the nfs_client can be found.\n\nSigned-off-by: Andy Adamson \u003candros@netapp.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "80c30e8de4f81851b1f712bcc596e11d53bc76f1",
      "tree": "1adf291e8fe056e4a799b5292d7ff32988ebdbff",
      "parents": [
        "f61f6da0d53842e849bab7f69e1431bd3de1136d"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Mon Jan 24 20:50:26 2011 +0000"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Jan 25 15:24:47 2011 -0500"
      },
      "message": "NLM: Fix \"kernel BUG at fs/lockd/host.c:417!\" or \".../host.c:283!\"\n\nNick Bowler \u003cnbowler@elliptictech.com\u003e reports:\n\n\u003e We were just having some NFS server troubles, and my client machine\n\u003e running 2.6.38-rc1+ (specifically, commit 2b1caf6ed7b888c95) crashed\n\u003e hard (syslog output appended to this mail).\n\u003e\n\u003e I\u0027m not sure what the exact timeline was or how to reproduce this,\n\u003e but the server was rebooted during all this.  Since I\u0027ve never seen\n\u003e this happen before, it is possibly a regression from previous kernel\n\u003e releases.  However, I recently updated my nfs-utils (on the client) to\n\u003e version 1.2.3, so that might be related as well.\n\n  [ BUG output redacted ]\n\nWhen done searching, the for_each_host loop in next_host_state() falls\nthrough and returns the final host on the host chain without bumping\nit\u0027s reference count.\n\nSince the host\u0027s ref count is only one at that point, releasing the\nhost in nlm_host_rebooted() attempts to destroy the host prematurely,\nand therefore hits a BUG().\n\nLikely, the original intent of the for_each_host behavior in\nnext_host_state() was to handle the case when the host chain is empty.\nSearching the chain and finding no suitable host to return needs to be\nhandled as well.\n\nDefensively restructure next_host_state() always to return NULL when\nthe loop falls through.\n\nIntroduced by commit b10e30f6 \"lockd: reorganize nlm_host_rebooted\".\n\nCc: J. Bruce Fields \u003cbfields@fieldses.org\u003e\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "f61f6da0d53842e849bab7f69e1431bd3de1136d",
      "tree": "8433904f645695338b98d3dc831631ffd6f129e5",
      "parents": [
        "731f3f482ad3b2c58a1af2d0a9a634a82803706a"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Fri Jan 21 03:05:38 2011 +0000"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Jan 25 15:24:47 2011 -0500"
      },
      "message": "NFS: Prevent memory allocation failure in nfsacl_encode()\n\nnfsacl_encode() allocates memory in certain cases.  This of course\nis not guaranteed to work.\n\nSince commit 9f06c719 \"SUNRPC: New xdr_streams XDR encoder API\", the\nkernel\u0027s XDR encoders can\u0027t return a result indicating possibly a\nfailure, so a memory allocation failure in nfsacl_encode() has become\nfatal (ie, the XDR code Oopses) in some cases.\n\nHowever, the allocated memory is a tiny fixed amount, on the order\nof 40-50 bytes.  We can easily use a stack-allocated buffer for\nthis, with only a wee bit of nose-holding.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "731f3f482ad3b2c58a1af2d0a9a634a82803706a",
      "tree": "1425c239481309ffc68dd33a991fc13fc309226c",
      "parents": [
        "ee5dc7732bd557bae6d10873a0aac606d2c551fb"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Fri Jan 21 03:05:28 2011 +0000"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Jan 25 15:24:47 2011 -0500"
      },
      "message": "NFS: nfsacl_{encode,decode} should return signed integer\n\nClean up.\n\nThe nfsacl_encode() and nfsacl_decode() functions return negative\nerrno values, and each call site verifies that the returned value\nis not negative.  Change the synopsis of both of these functions\nto reflect this usage.\n\nDocument the synopsis and return values.\n\nReported-by: Trond Myklebust \u003ctrond.myklebust@netapp.com\u003e\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "ee5dc7732bd557bae6d10873a0aac606d2c551fb",
      "tree": "48b34875ec19b23dc4d8aab23488aeb224837df0",
      "parents": [
        "839f7ad6932d95f4d5ae7267b95c574714ff3d5b"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Fri Jan 21 03:05:18 2011 +0000"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Jan 25 15:24:47 2011 -0500"
      },
      "message": "NFS: Fix \"kernel BUG at fs/nfs/nfs3xdr.c:1338!\"\n\nMilan Broz \u003cmbroz@redhat.com\u003e reports:\n\n\u003e on today Linus\u0027 tree I get OOps if using nfs.\n\u003e\n\u003e server (2.6.36) exports dir:\n\u003e /dir   172.16.1.0/24(rw,async,all_squash,no_subtree_check,anonuid\u003d500,anongid\u003d500)\n\u003e\n\u003e on client it is mounted  in fstab\n\u003e server:/dir  /mnt/tst  nfs  rw,soft 0 0\n\u003e\n\u003e and these commands OOpses it (simplified from a configure script):\n\u003e\n\u003e cd /dir\n\u003e touch x\n\u003e install x y\n\u003e\n\u003e [  105.327701] ------------[ cut here ]------------\n\u003e [  105.327979] kernel BUG at fs/nfs/nfs3xdr.c:1338!\n\u003e [  105.328075] invalid opcode: 0000 [#1] PREEMPT SMP\n\u003e [  105.328223] last sysfs file: /sys/devices/virtual/bdi/0:16/uevent\n\u003e [  105.328349] Modules linked in: usbcore dm_mod\n\u003e [  105.328553]\n\u003e [  105.328678] Pid: 3710, comm: install Not tainted 2.6.37+ #423 440BX Desktop Reference Platform/VMware Virtual Platform\n\u003e [  105.328853] EIP: 0060:[\u003cc116c06c\u003e] EFLAGS: 00010282 CPU: 0\n\u003e [  105.329152] EIP is at nfs3_xdr_enc_setacl3args+0x61/0x98\n\u003e [  105.329249] EAX: ffffffea EBX: ce941d98 ECX: 00000000 EDX: 00000004\n\u003e [  105.329340] ESI: ce941cd0 EDI: 000000a4 EBP: ce941cc0 ESP: ce941cb4\n\u003e [  105.329431]  DS: 007b ES: 007b FS: 00d8 GS: 00e0 SS: 0068\n\u003e [  105.329525] Process install (pid: 3710, ti\u003dce940000 task\u003dced36f20 task.ti\u003dce940000)\n\u003e [  105.336600] Stack:\n\u003e [  105.336693]  ce941cd0 ce9dc000 00000000 ce941cf8 c12ecd02 c12f43e0 c116c00b cf754158\n\u003e [  105.336982]  ce9dc004 cf754284 ce9dc004 cf7ffee8 ceff9978 ce9dc000 cf7ffee8 ce9dc000\n\u003e [  105.337182]  ce9dc000 ce941d14 c12e698d cf75412c ce941d98 cf7ffee8 cf7fff20 00000000\n\u003e [  105.337405] Call Trace:\n\u003e [  105.337695]  [\u003cc12ecd02\u003e] rpcauth_wrap_req+0x75/0x7f\n\u003e [  105.337806]  [\u003cc12f43e0\u003e] ? xdr_encode_opaque+0x12/0x15\n\u003e [  105.337898]  [\u003cc116c00b\u003e] ? nfs3_xdr_enc_setacl3args+0x0/0x98\n\u003e [  105.337988]  [\u003cc12e698d\u003e] call_transmit+0x17e/0x1e8\n\u003e [  105.338072]  [\u003cc12ec307\u003e] __rpc_execute+0x6d/0x1a6\n\u003e [  105.338155]  [\u003cc12ec474\u003e] rpc_execute+0x34/0x37\n\u003e [  105.338235]  [\u003cc12e738d\u003e] rpc_run_task+0xb5/0xbd\n\u003e [  105.338316]  [\u003cc12e7474\u003e] rpc_call_sync+0x3d/0x58\n\u003e [  105.338402]  [\u003cc116d0c6\u003e] nfs3_proc_setacls+0x18e/0x24f\n\u003e [  105.338493]  [\u003cc10b3f76\u003e] ? __kmalloc+0x148/0x1c4\n\u003e [  105.338579]  [\u003cc10ecd01\u003e] ? posix_acl_alloc+0x12/0x22\n\u003e [  105.338665]  [\u003cc116d5c8\u003e] nfs3_proc_setacl+0xa0/0xca\n\u003e [  105.338748]  [\u003cc116d69c\u003e] nfs3_setxattr+0x62/0x88\n\u003e [  105.338834]  [\u003cc1317042\u003e] ? sub_preempt_count+0x7c/0x89\n\u003e [  105.338926]  [\u003cc116d63a\u003e] ? nfs3_setxattr+0x0/0x88\n\u003e [  105.339026]  [\u003cc10cfa79\u003e] __vfs_setxattr_noperm+0x26/0x95\n\u003e [  105.339114]  [\u003cc10cfb43\u003e] vfs_setxattr+0x5b/0x76\n\u003e [  105.339211]  [\u003cc10cfbfb\u003e] setxattr+0x9d/0xc3\n\u003e [  105.339298]  [\u003cc10a2ea8\u003e] ? handle_pte_fault+0x258/0x5cb\n\u003e [  105.339428]  [\u003cc1091ff6\u003e] ? __free_pages+0x1a/0x23\n\u003e [  105.339517]  [\u003cc10498ea\u003e] ? up_read+0x16/0x2c\n\u003e [  105.339599]  [\u003cc10b8365\u003e] ? fget+0x0/0xa3\n\u003e [  105.339677]  [\u003cc10b8365\u003e] ? fget+0x0/0xa3\n\u003e [  105.339760]  [\u003cc1025d23\u003e] ? get_parent_ip+0xb/0x31\n\u003e [  105.339843]  [\u003cc1317042\u003e] ? sub_preempt_count+0x7c/0x89\n\u003e [  105.339931]  [\u003cc10cfc72\u003e] sys_fsetxattr+0x51/0x79\n\u003e [  105.340014]  [\u003cc1002853\u003e] sysenter_do_call+0x12/0x32\n\u003e [  105.340133] Code: 2e 76 18 00 58 31 d2 8b 7f 28 f6 43 04 01 74 03 8b 53 08 6a 00 8b 46 04 6a 01 8b 0b 52 89 fa e8 85 10 f8 ff 83 c4 0c 85 c0 79 04 \u003c0f\u003e 0b eb fe 31 c9 f6 43 04 04 74 03 8b 4b 0c 68 00 10 00 00 8d\n\u003e [  105.350321] EIP: [\u003cc116c06c\u003e] nfs3_xdr_enc_setacl3args+0x61/0x98 SS:ESP 0068:ce941cb4\n\u003e [  105.364385] ---[ end trace 01fcfe7f0f7f6e4a ]---\n\nnfs3_xdr_enc_setacl3args() is not properly setting up the target\nbuffer before nfsacl_encode() attempts to encode the ACL.\n\nIntroduced by commit d9c407b1 \"NFS: Introduce new-style XDR encoding\nfunctions for NFSv3.\"\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "839f7ad6932d95f4d5ae7267b95c574714ff3d5b",
      "tree": "63dc2eec84a5ecb846145fd1dd70fe7cdd46fa7c",
      "parents": [
        "ad3d2eedf0ed3611f5f86b9e4d0d15cc76c63465"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Fri Jan 21 15:54:57 2011 +0000"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Jan 25 15:24:47 2011 -0500"
      },
      "message": "NFS: Fix \"kernel BUG at fs/aio.c:554!\"\n\nNick Piggin reports:\n\n\u003e I\u0027m getting use after frees in aio code in NFS\n\u003e\n\u003e [ 2703.396766] Call Trace:\n\u003e [ 2703.396858]  [\u003cffffffff8100b057\u003e] ? native_sched_clock+0x27/0x80\n\u003e [ 2703.396959]  [\u003cffffffff8108509e\u003e] ? put_lock_stats+0xe/0x40\n\u003e [ 2703.397058]  [\u003cffffffff81088348\u003e] ? lock_release_holdtime+0xa8/0x140\n\u003e [ 2703.397159]  [\u003cffffffff8108a2a5\u003e] lock_acquire+0x95/0x1b0\n\u003e [ 2703.397260]  [\u003cffffffff811627db\u003e] ? aio_put_req+0x2b/0x60\n\u003e [ 2703.397361]  [\u003cffffffff81039701\u003e] ? get_parent_ip+0x11/0x50\n\u003e [ 2703.397464]  [\u003cffffffff81612a31\u003e] _raw_spin_lock_irq+0x41/0x80\n\u003e [ 2703.397564]  [\u003cffffffff811627db\u003e] ? aio_put_req+0x2b/0x60\n\u003e [ 2703.397662]  [\u003cffffffff811627db\u003e] aio_put_req+0x2b/0x60\n\u003e [ 2703.397761]  [\u003cffffffff811647fe\u003e] do_io_submit+0x2be/0x7c0\n\u003e [ 2703.397895]  [\u003cffffffff81164d0b\u003e] sys_io_submit+0xb/0x10\n\u003e [ 2703.397995]  [\u003cffffffff8100307b\u003e] system_call_fastpath+0x16/0x1b\n\u003e\n\u003e Adding some tracing, it is due to nfs completing the request then\n\u003e returning something other than -EIOCBQUEUED, so aio.c\n\u003e also completes the request.\n\nTo address this, prevent the NFS direct I/O engine from completing\nasync iocbs when the forward path returns an error without starting\nany I/O.\n\nThis fix appears to survive ^C during both \"xfstest no. 208\" and \"fsx\n-Z.\"\n\nIt\u0027s likely this bug has existed for a very long while, as we are seeing\nvery similar symptoms in OEL 5.  Copying stable.\n\nCc: Stable \u003cstable@kernel.org\u003e\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "ad3d2eedf0ed3611f5f86b9e4d0d15cc76c63465",
      "tree": "f391bedf2b6ca950a6c41644f3b469457b4bc57b",
      "parents": [
        "0da2a4ac33c291728d8be5bdb865467dcb078d13"
      ],
      "author": {
        "name": "Jesper Juhl",
        "email": "jj@chaosbits.net",
        "time": "Mon Jan 17 18:41:50 2011 +0000"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Jan 25 15:24:46 2011 -0500"
      },
      "message": "NFS4: Avoid potential NULL pointer dereference in decode_and_add_ds().\n\nOn Mon, 17 Jan 2011, Mi Jinlong wrote:\n\n\u003e\n\u003e\n\u003e Jesper Juhl:\n\u003e \u003e strrchr() can return NULL if nothing is found. If this happens we\u0027ll\n\u003e \u003e dereference a NULL pointer in\n\u003e \u003e fs/nfs/nfs4filelayoutdev.c::decode_and_add_ds().\n\u003e \u003e\n\u003e \u003e I tried to find some other code that guarantees that this can never\n\u003e \u003e happen but I was unsuccessful. So, unless someone else can point to some\n\u003e \u003e code that ensures this can never be a problem, I believe this patch is\n\u003e \u003e needed.\n\u003e \u003e\n\u003e \u003e While I was changing this code I also noticed that all the dprintk()\n\u003e \u003e statements, except one, start with \"%s:\". The one missing the \":\" I added\n\u003e \u003e it to.\n\u003e\n\u003e   Maybe another one also should be changed at decode_and_add_ds() at line 243:\n\u003e\n\u003e    243  printk(\"%s Decoded address and port %s\\n\", __func__, buf);\n\u003e\nMissed that one. Thanks.\n\nSigned-off-by: Jesper Juhl \u003cjj@chaosbits.net\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "d39454ffe4a3c85428483b8a8a8e5e797b6363d5",
      "tree": "60d9762510ed6e1da338d5777827e18917e799bf",
      "parents": [
        "72432ffcf555decbbae47f1be338e1d2f210aa69"
      ],
      "author": {
        "name": "Pavel Shilovsky",
        "email": "piastryyy@gmail.com",
        "time": "Mon Jan 24 14:16:35 2011 -0500"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Tue Jan 25 19:31:38 2011 +0000"
      },
      "message": "CIFS: Add strictcache mount option\n\nUse for switching on strict cache mode. In this mode the\nclient reads from the cache all the time it has Oplock Level II,\notherwise - read from the server. As for write - the client stores\na data in the cache in Exclusive Oplock case, otherwise - write\ndirectly to the server.\n\nSigned-off-by: Pavel Shilovsky \u003cpiastryyy@gmail.com\u003e\nReviewed-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "72432ffcf555decbbae47f1be338e1d2f210aa69",
      "tree": "4293cb6e5b880071099756b7523f8f36bb7e16cc",
      "parents": [
        "93c100c0b423266c0ee28497e90fdf27c05e6b8e"
      ],
      "author": {
        "name": "Pavel Shilovsky",
        "email": "piastryyy@gmail.com",
        "time": "Mon Jan 24 14:16:35 2011 -0500"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Tue Jan 25 19:30:13 2011 +0000"
      },
      "message": "CIFS: Implement cifs_strict_writev (try #4)\n\nIf we don\u0027t have Exclusive oplock we write a data to the server.\nAlso set invalidate_mapping flag on the inode if we wrote something\nto the server. Add cifs_iovec_write to let the client write iovec\nbuffers through CIFSSMBWrite2.\n\nSigned-off-by: Pavel Shilovsky \u003cpiastryyy@gmail.com\u003e\nReviewed-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "93c100c0b423266c0ee28497e90fdf27c05e6b8e",
      "tree": "d62879296fdcb482ba4f3995e8e9177f6ec17599",
      "parents": [
        "c723fdab8aa728dc2bf0da6a0de8bb9c3f588d84"
      ],
      "author": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Tue Jan 25 19:28:43 2011 +0000"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Tue Jan 25 19:28:43 2011 +0000"
      },
      "message": "[CIFS] Replace cifs md5 hashing functions with kernel crypto APIs\n\nReplace remaining use of md5 hash functions local to cifs module\nwith kernel crypto APIs.\nRemove header and source file containing those local functions.\n\nSigned-off-by: Shirish Pargaonkar \u003cshirishpargaonkar@gmail.com\u003e\nReviewed-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "d66bbd441c08fe00ed2add1cf70cb243ebc2b27e",
      "tree": "bde3d1bf8d6a665b14e2b86e82506c8c7b3b0657",
      "parents": [
        "7e57b81c7688c762bc9e775bc83f9fc17946f527"
      ],
      "author": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Fri Jan 21 21:16:46 2011 -0800"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Tue Jan 25 08:16:37 2011 -0800"
      },
      "message": "ceph: avoid picking MDS that is not active\n\nIgnore replication or auth frag data if it indicates an MDS that is not\nactive.  This can happen if the MDS shuts down and the client has stale\ndata about the namespace distribution across the MDS cluster.  If that\u0027s\nthe case, fall back to directing the request based on the auth cap (which\nshould always be accurate).\n\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\n"
    },
    {
      "commit": "c723fdab8aa728dc2bf0da6a0de8bb9c3f588d84",
      "tree": "c79b7ddc475fc034d0e944c2a561a3bd5b2d5e9d",
      "parents": [
        "842d9b2c6a9189c8954d1d03dadde7403992baed",
        "f1d0c998653f1eeec60ee6420e550135b62dbab4"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 25 14:23:54 2011 +1000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 25 14:23:54 2011 +1000"
      },
      "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  Make CIFS mount work in a container.\n  CIFS: Remove pointless variable assignment in cifs_dfs_do_automount()\n"
    },
    {
      "commit": "f1d0c998653f1eeec60ee6420e550135b62dbab4",
      "tree": "1db07e198f4c0a86bca7160f9a6a3255f4b4f4a9",
      "parents": [
        "3f391c79b0686ce183668c6e2b7d02f3e716766c"
      ],
      "author": {
        "name": "Rob Landley",
        "email": "rlandley@parallels.com",
        "time": "Sat Jan 22 15:44:05 2011 -0600"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Mon Jan 24 04:28:51 2011 +0000"
      },
      "message": "Make CIFS mount work in a container.\n\nTeach cifs about network namespaces, so mounting uses adresses/routing\nvisible from the container rather than from init context.\n\nA container is a chroot on steroids that changes more than just the root\nfilesystem the new processes see.  One thing containers can isolate is\n\"network namespaces\", meaning each container can have its own set of\nethernet interfaces, each with its own own IP address and routing to the\noutside world.  And if you open a socket in _userspace_ from processes\nwithin such a container, this works fine.\n\nBut sockets opened from within the kernel still use a single global\nnetworking context in a lot of places, meaning the new socket\u0027s address\nand routing are correct for PID 1 on the host, but are _not_ what\nuserspace processes in the container get to use.\n\nSo when you mount a network filesystem from within in a container, the\nmount code in the CIFS driver uses the host\u0027s networking context and not\nthe container\u0027s networking context, so it gets the wrong address, uses\nthe wrong routing, and may even try to go out an interface that the\ncontainer can\u0027t even access...  Bad stuff.\n\nThis patch copies the mount process\u0027s network context into the CIFS\nstructure that stores the rest of the server information for that mount\npoint, and changes the socket open code to use the saved network context\ninstead of the global network context.  I.E. \"when you attempt to use\nthese addresses, do so relative to THIS set of network interfaces and\nrouting rules, not the old global context from back before we supported\ncontainers\".\n\nThe big long HOWTO sets up a test environment on the assumption you\u0027ve\nnever used ocntainers before.  It basically says:\n\n1) configure and build a new kernel that has container support\n2) build a new root filesystem that includes the userspace container\ncontrol package (LXC)\n3) package/run them under KVM (so you don\u0027t have to mess up your host\nsystem in order to play with containers).\n4) set up some containers under the KVM system\n5) set up contradictory routing in the KVM system and the container so\nthat the host and the container see different things for the same address\n6) try to mount a CIFS share from both contexts so you can both force it\nto work and force it to fail.\n\nFor a long drawn out test reproduction sequence, see:\n\n  http://landley.livejournal.com/47024.html\n  http://landley.livejournal.com/47205.html\n  http://landley.livejournal.com/47476.html\n\nSigned-off-by: Rob Landley \u003crlandley@parallels.com\u003e\nReviewed-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "3f391c79b0686ce183668c6e2b7d02f3e716766c",
      "tree": "304cdb0d55dd84fccfffaf281ff9f06c265a138c",
      "parents": [
        "1bae4ce27c9c90344f23c65ea6966c50ffeae2f5"
      ],
      "author": {
        "name": "Jesper Juhl",
        "email": "jj@chaosbits.net",
        "time": "Sat Jan 22 21:07:16 2011 +0100"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Mon Jan 24 03:32:01 2011 +0000"
      },
      "message": "CIFS: Remove pointless variable assignment in cifs_dfs_do_automount()\n\nIn fs/cifs/cifs_dfs_ref.c::cifs_dfs_do_automount() we have this code:\n\n\t...\n\tmnt \u003d ERR_PTR(-EINVAL);\n\tif (IS_ERR(tlink)) {\n\t\tmnt \u003d ERR_CAST(tlink);\n\t\tgoto free_full_path;\n\t}\n\tses \u003d tlink_tcon(tlink)-\u003eses;\n\n\trc \u003d get_dfs_path(xid, ses, full_path + 1, cifs_sb-\u003elocal_nls,\n\t\t\u0026num_referrals, \u0026referrals,\n\t\tcifs_sb-\u003emnt_cifs_flags \u0026 CIFS_MOUNT_MAP_SPECIAL_CHR);\n\n\tcifs_put_tlink(tlink);\n\n\tmnt \u003d ERR_PTR(-ENOENT);\n\t...\n\nThe assignment of \u0027mnt \u003d ERR_PTR(-EINVAL);\u0027 is completely pointless. If we\ntake the \u0027if (IS_ERR(tlink))\u0027 branch we\u0027ll set \u0027mnt\u0027 again and we\u0027ll also\ndo so if we do not take the branch. There is no way we\u0027ll ever use \u0027mnt\u0027\nwith the assigned \u0027ERR_PTR(-EINVAL)\u0027 value, so we may as well just remove\nthe pointless assignment.\n\nSigned-off-by: Jesper Juhl \u003cjj@chaosbits.net\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "ff5fdb61493d95332945630fcae249f896098652",
      "tree": "7a0ba7c65bbecaa5c5d98004d5c52cfb83d1ed77",
      "parents": [
        "9b310acc335cb0da7d743e2b60f999587beb6496"
      ],
      "author": {
        "name": "Randy Dunlap",
        "email": "randy.dunlap@oracle.com",
        "time": "Sat Jan 22 20:16:06 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Jan 22 20:32:38 2011 -0800"
      },
      "message": "fs: fix new dcache.c kernel-doc warnings\n\nFix new fs/dcache.c kernel-doc warnings:\n\n  Warning(fs/dcache.c:184): No description found for parameter \u0027dentry\u0027\n  Warning(fs/dcache.c:296): No description found for parameter \u0027parent\u0027\n  Warning(fs/dcache.c:1985): No description found for parameter \u0027dparent\u0027\n  Warning(fs/dcache.c:1985): Excess function parameter \u0027parent\u0027 description in \u0027d_validate\u0027\n\nSigned-off-by: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nCc:\tAlexander Viro \u003cviro@zeniv.linux.org.uk\u003e\nCc:\tNick Piggin \u003cnpiggin@kernel.dk\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "0ca7a5b9ac5d301845dd6382ff25a699b6263a81",
      "tree": "52d0ab285bd2dfabbba164a9df72468fdd92d29b",
      "parents": [
        "1bae4ce27c9c90344f23c65ea6966c50ffeae2f5"
      ],
      "author": {
        "name": "Ryusuke Konishi",
        "email": "konishi.ryusuke@lab.ntt.co.jp",
        "time": "Fri Jan 21 16:40:31 2011 +0900"
      },
      "committer": {
        "name": "Ryusuke Konishi",
        "email": "konishi.ryusuke@lab.ntt.co.jp",
        "time": "Sat Jan 22 15:22:36 2011 +0900"
      },
      "message": "nilfs2: fix crash after one superblock became unavailable\n\nFixes the following kernel oops in nilfs_setup_super() which could\narise if one of two super-blocks is unavailable.\n\n\u003e BUG: unable to handle kernel NULL pointer dereference at   (null)\n\u003e Pid: 3529, comm: mount.nilfs2 Not tainted 2.6.37 #1 /\n\u003e EIP: 0060:[\u003cc03196bc\u003e] EFLAGS: 00010202 CPU: 3\n\u003e EIP is at memcpy+0xc/0x1b\n\u003e Call Trace:\n\u003e  [\u003cf953720e\u003e] ? nilfs_setup_super+0x6c/0xa5 [nilfs2]\n\u003e  [\u003cf95369e9\u003e] ? nilfs_get_root_dentry+0x81/0xcb [nilfs2]\n\u003e  [\u003cf9537a08\u003e] ? nilfs_mount+0x4f9/0x62c [nilfs2]\n\u003e  [\u003cc02745cf\u003e] ? kstrdup+0x36/0x3f\n\u003e  [\u003cf953750f\u003e] ? nilfs_mount+0x0/0x62c [nilfs2]\n\u003e  [\u003cc0293940\u003e] ? vfs_kern_mount+0x4d/0x12c\n\u003e  [\u003cc02a5100\u003e] ? get_fs_type+0x76/0x8f\n\u003e  [\u003cc0293a68\u003e] ? do_kern_mount+0x33/0xbf\n\u003e  [\u003cc02a784a\u003e] ? do_mount+0x2ed/0x714\n\u003e  [\u003cc02a6171\u003e] ? copy_mount_options+0x28/0xfc\n\u003e  [\u003cc02a7ce3\u003e] ? sys_mount+0x72/0xaf\n\u003e  [\u003cc0473085\u003e] ? syscall_call+0x7/0xb\n\nReported-by: Wakko Warner \u003cwakko@animx.eu.org\u003e\nSigned-off-by: Ryusuke Konishi \u003ckonishi.ryusuke@lab.ntt.co.jp\u003e\nTested-by: Wakko Warner \u003cwakko@animx.eu.org\u003e\nCc: stable \u003cstable@kernel.org\u003e [2.6.37, 2.6.36]\nLKML-Reference: \u003c20110121024918.GA29598@animx.eu.org\u003e\n"
    },
    {
      "commit": "9093ba53b7f26dbb5210de1157769e59e34bbe23",
      "tree": "98b6fac2f483740828a58b8bbacaf9016d8e9278",
      "parents": [
        "ebe0d805071c318ebbc3b5857f8f4f94214c1a52",
        "99d86c8f1b7101d7c55dbf644b32bb1f0d7eb303"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 21 13:44:07 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 21 13:44:07 2011 -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 up CIFSSMBEcho for unaligned access\n  cifs: fix unaligned accesses in cifsConvertToUCS\n  cifs: clean up unaligned accesses in cifs_unicode.c\n  cifs: fix unaligned access in check2ndT2 and coalesce_t2\n  cifs: clean up unaligned accesses in validate_t2\n  cifs: use get/put_unaligned functions to access ByteCount\n  cifs: move time field in cifsInodeInfo\n  cifs: TCP_Server_Info diet\n  CIFS: Implement cifs_strict_readv (try #4)\n  CIFS: Implement cifs_file_strict_mmap (try #2)\n  CIFS: Implement cifs_strict_fsync\n  CIFS: Make cifsFileInfo_put work with strict cache mode\n"
    },
    {
      "commit": "4843456c5c341eb57f80f9224362a22665d14107",
      "tree": "5656b405a8b1d2596e8eb748b953ee677a261e3c",
      "parents": [
        "2b1caf6ed7b888c95a1909d343799672731651a5",
        "f00c9e44ad1a9660fe8cd3ca15b6cd9497172eab"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 21 07:33:37 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 21 07:33:37 2011 -0800"
      },
      "message": "Merge branch \u0027for_linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-fs-2.6\n\n* \u0027for_linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-fs-2.6:\n  quota: Fix deadlock during path resolution\n"
    },
    {
      "commit": "99d86c8f1b7101d7c55dbf644b32bb1f0d7eb303",
      "tree": "7ec07aeb365ea5f16dfd1ce1a2295e073d362ac6",
      "parents": [
        "bf67b9be97baea84386abca38b2503bb286571dc"
      ],
      "author": {
        "name": "Jeff Layton",
        "email": "jlayton@redhat.com",
        "time": "Thu Jan 20 21:19:25 2011 -0500"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Fri Jan 21 02:23:27 2011 +0000"
      },
      "message": "cifs: fix up CIFSSMBEcho for unaligned access\n\nMake sure that CIFSSMBEcho can handle unaligned fields. Also fix a minor\nbug that causes this warning:\n\nfs/cifs/cifssmb.c: In function \u0027CIFSSMBEcho\u0027:\nfs/cifs/cifssmb.c:740: warning: large integer implicitly truncated to unsigned type\n\n...WordCount is u8, not __le16, so no need to convert it.\n\nThis patch should apply cleanly on top of the rest of the patchset to\nclean up unaligned access.\n\nSigned-off-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "bf67b9be97baea84386abca38b2503bb286571dc",
      "tree": "576c32ee13dfec1a95d5a50cb2dc0aefbb72f49a",
      "parents": [
        "8d99641f6c1af806cd5d9e6badce91910219a161",
        "84cdf74e8096a10dd6acbb870dd404b92f07a756"
      ],
      "author": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Fri Jan 21 02:19:30 2011 +0000"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Fri Jan 21 02:19:30 2011 +0000"
      },
      "message": "Merge branch \u0027for-next\u0027\n"
    },
    {
      "commit": "8d99641f6c1af806cd5d9e6badce91910219a161",
      "tree": "ee841f807005a4a6234f6f502a13185d13a34870",
      "parents": [
        "fc887b15d935ead2a00aef5779a18034e7c69ee1",
        "225c8e010f2d17a62aef131e24c6e7c111f36f9b"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 20 17:02:14 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 20 17:02:14 2011 -0800"
      },
      "message": "Merge branch \u0027akpm\u0027\n\n* akpm:\n  kernel/smp.c: consolidate writes in smp_call_function_interrupt()\n  kernel/smp.c: fix smp_call_function_many() SMP race\n  memcg: correctly order reading PCG_USED and pc-\u003emem_cgroup\n  backlight: fix 88pm860x_bl macro collision\n  drivers/leds/ledtrig-gpio.c: make output match input, tighten input checking\n  MAINTAINERS: update Atmel AT91 entry\n  mm: fix truncate_setsize() comment\n  memcg: fix rmdir, force_empty with THP\n  memcg: fix LRU accounting with THP\n  memcg: fix USED bit handling at uncharge in THP\n  memcg: modify accounting function for supporting THP better\n  fs/direct-io.c: don\u0027t try to allocate more than BIO_MAX_PAGES in a bio\n  mm: compaction: prevent division-by-zero during user-requested compaction\n  mm/vmscan.c: remove duplicate include of compaction.h\n  memblock: fix memblock_is_region_memory()\n  thp: keep highpte mapped until it is no longer needed\n  kconfig: rename CONFIG_EMBEDDED to CONFIG_EXPERT\n"
    },
    {
      "commit": "20d9600cb407b0b55fef6ee814b60345c6f58264",
      "tree": "a023082339b33c55e8def552abecd441ffe92fb5",
      "parents": [
        "82478fb7bca28e3ca2f3c55c14e690f749dd4dbb"
      ],
      "author": {
        "name": "David Dillow",
        "email": "dillowda@ornl.gov",
        "time": "Thu Jan 20 14:44:22 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 20 17:02:05 2011 -0800"
      },
      "message": "fs/direct-io.c: don\u0027t try to allocate more than BIO_MAX_PAGES in a bio\n\nWhen using devices that support max_segments \u003e BIO_MAX_PAGES (256), direct\nIO tries to allocate a bio with more pages than allowed, which leads to an\noops in dio_bio_alloc().  Clamp the request to the supported maximum, and\nchange dio_bio_alloc() to reflect that bio_alloc() will always return a\nbio when called with __GFP_WAIT and a valid number of vectors.\n\n[akpm@linux-foundation.org: remove redundant BUG_ON()]\nSigned-off-by: David Dillow \u003cdillowda@ornl.gov\u003e\nReviewed-by: Jeff Moyer \u003cjmoyer@redhat.com\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": "6a108a14fa356ef607be308b68337939e56ea94e",
      "tree": "1bf260572bd8f95ed867307a2bcf5d881c8ae4a6",
      "parents": [
        "12fcdba1b7ae8b25696433f420b775aeb556d89b"
      ],
      "author": {
        "name": "David Rientjes",
        "email": "rientjes@google.com",
        "time": "Thu Jan 20 14:44:16 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 20 17:02:05 2011 -0800"
      },
      "message": "kconfig: rename CONFIG_EMBEDDED to CONFIG_EXPERT\n\nThe meaning of CONFIG_EMBEDDED has long since been obsoleted; the option\nis used to configure any non-standard kernel with a much larger scope than\nonly small devices.\n\nThis patch renames the option to CONFIG_EXPERT in init/Kconfig and fixes\nreferences to the option throughout the kernel.  A new CONFIG_EMBEDDED\noption is added that automatically selects CONFIG_EXPERT when enabled and\ncan be used in the future to isolate options that should only be\nconsidered for embedded systems (RISC architectures, SLOB, etc).\n\nCalling the option \"EXPERT\" more accurately represents its intention: only\nexpert users who understand the impact of the configuration changes they\nare making should enable it.\n\nReviewed-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nAcked-by: David Woodhouse \u003cdavid.woodhouse@intel.com\u003e\nSigned-off-by: David Rientjes \u003crientjes@google.com\u003e\nCc: Greg KH \u003cgregkh@suse.de\u003e\nCc: \"David S. Miller\" \u003cdavem@davemloft.net\u003e\nCc: Jens Axboe \u003caxboe@kernel.dk\u003e\nCc: Arnd Bergmann \u003carnd@arndb.de\u003e\nCc: Robin Holt \u003cholt@sgi.com\u003e\nCc: \u003clinux-arch@vger.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": "5cdec1fca2ff128ca0716dc1ef0fc0043e4ae8ab",
      "tree": "35dbfed2dc57b80d18276413361c34905fe8312c",
      "parents": [
        "e55fdbd7414a3ee991d7081a256153f61ea98b9f",
        "76dcc26f1d7f1c98c3f595379dcd9562f01bf38d"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 20 16:36:38 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 20 16:36:38 2011 -0800"
      },
      "message": "Merge branch \u0027master\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/sfrench/cifs-2.6\n\n* \u0027master\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/sfrench/cifs-2.6:\n  cifs: mangle existing header for SMB_COM_NT_CANCEL\n  cifs: remove code for setting timeouts on requests\n  [CIFS] cifs: reconnect unresponsive servers\n  cifs: set up recurring workqueue job to do SMB echo requests\n  cifs: add ability to send an echo request\n  cifs: add cifs_call_async\n  cifs: allow for different handling of received response\n  cifs: clean up sync_mid_result\n  cifs: don\u0027t reconnect server when we don\u0027t get a response\n  cifs: wait indefinitely for responses\n  cifs: Use mask of ACEs for SID Everyone to calculate all three permissions user, group, and other\n  cifs: Fix regression during share-level security mounts (Repost)\n  [CIFS] Update cifs version number\n  cifs: move mid result processing into common function\n  cifs: move locked sections out of DeleteMidQEntry and AllocMidQEntry\n  cifs: clean up accesses to midCount\n  cifs: make wait_for_free_request take a TCP_Server_Info pointer\n  cifs: no need to mark smb_ses_list as cifs_demultiplex_thread is exiting\n  cifs: don\u0027t fail writepages on -EAGAIN errors\n  CIFS: Fix oplock break handling (try #2)\n"
    },
    {
      "commit": "b06ae1ead2915860bb49331e0588aab326801f71",
      "tree": "4c4861d2212261223915e80d90f10da1c89e2f72",
      "parents": [
        "e589501cb928b482c3c399444f788e1af35deee2",
        "24d9765fc18c7838ccdbb0d71fb706321d9b824c"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 20 16:29:04 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 20 16:29:04 2011 -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 error path in gfs2_lookup_by_inum()\n  GFS2: remove iopen glocks from cache on failed deletes\n"
    },
    {
      "commit": "28e58ee8ce1f0e69c207f747b7b9054b071e328d",
      "tree": "b9191d7e213ad6e8ceb43d45e3306ced085b04f7",
      "parents": [
        "d7b9935a347ae954be907ea3d5eb4564ff124c53"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 20 16:21:59 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 20 16:21:59 2011 -0800"
      },
      "message": "Fix broken \"pipe: use event aware wakeups\" optimization\n\nCommit e462c448fdc8 (\"pipe: use event aware wakeups\") optimized the pipe\nevent wakeup calls to avoid wakeups if the events do not match the\nrequested set.\n\nHowever, the optimization was buggy, in that it didn\u0027t actually use the\ncorrect sets for the events: when we make room for more data to be\nwritten, the pipe poll() routine will return both the POLLOUT _and_\nPOLLWRNORM bits.  Similarly for read.\n\nAnd most critically, when a pipe is released, that will potentially\nresult in POLLHUP|POLLERR (depending on whether it was the last reader\nor writer), not just the regular POLLIN|POLLOUT.\n\nThis bug showed itself as a hung gnome-screensaver-dialog process, stuck\nforever (or at least until it was poked by a signal or by being traced)\nin a poll() system call.\n\nCc: Davide Libenzi \u003cdavidel@xmailserver.org\u003e\nCc: David S. Miller \u003cdavem@davemloft.net\u003e\nCc: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nCc: Jens Axboe \u003caxboe@kernel.dk\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "84cdf74e8096a10dd6acbb870dd404b92f07a756",
      "tree": "3cae46e567fab0649bb5696f4097d8072b0f9645",
      "parents": [
        "ba2dbf30df210b519bdd8d34ac2ecaaeeef34c44"
      ],
      "author": {
        "name": "Jeff Layton",
        "email": "jlayton@redhat.com",
        "time": "Thu Jan 20 13:36:51 2011 -0500"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Thu Jan 20 21:48:00 2011 +0000"
      },
      "message": "cifs: fix unaligned accesses in cifsConvertToUCS\n\nMove cifsConvertToUCS to cifs_unicode.c where all of the other unicode\nrelated functions live. Have it store mapped characters in \u0027temp\u0027 and\nthen use put_unaligned_le16 to copy it to the target buffer. Also fix\nthe comments to match kernel coding style.\n\nSigned-off-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nAcked-by: Pavel Shilovsky \u003cpiastryyy@gmail.com\u003e\nReviewed-by: Shirish Pargaonkar \u003cshirishpargaonkar@gmail.com\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "ba2dbf30df210b519bdd8d34ac2ecaaeeef34c44",
      "tree": "6272ffcad087a8bcda2a00a061094f32a175aab4",
      "parents": [
        "26ec254869c0158ea8db6de83b7644e2d93cac2a"
      ],
      "author": {
        "name": "Jeff Layton",
        "email": "jlayton@redhat.com",
        "time": "Thu Jan 20 13:36:51 2011 -0500"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Thu Jan 20 21:47:57 2011 +0000"
      },
      "message": "cifs: clean up unaligned accesses in cifs_unicode.c\n\nMake sure we use get/put_unaligned routines when accessing wide\ncharacter strings.\n\nSigned-off-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nAcked-by: Pavel Shilovsky \u003cpiastryyy@gmail.com\u003e\nReviewed-by: Shirish Pargaonkar \u003cshirishpargaonkar@gmail.com\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "26ec254869c0158ea8db6de83b7644e2d93cac2a",
      "tree": "c011b56ea2b519f8988b7965ab318e480a6c4fc9",
      "parents": [
        "12df83c9b901cfe8ca7a66fbe0effc6d873cbbb9"
      ],
      "author": {
        "name": "Jeff Layton",
        "email": "jlayton@redhat.com",
        "time": "Thu Jan 20 13:36:51 2011 -0500"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Thu Jan 20 21:47:54 2011 +0000"
      },
      "message": "cifs: fix unaligned access in check2ndT2 and coalesce_t2\n\nSigned-off-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nAcked-by: Pavel Shilovsky \u003cpiastryyy@gmail.com\u003e\nReviewed-by: Shirish Pargaonkar \u003cshirishpargaonkar@gmail.com\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "12df83c9b901cfe8ca7a66fbe0effc6d873cbbb9",
      "tree": "12f8fd9382257b6c8824258d90624cd6ce0be7a8",
      "parents": [
        "690c522fa5a62825af880775e3ef1e55755667b2"
      ],
      "author": {
        "name": "Jeff Layton",
        "email": "jlayton@redhat.com",
        "time": "Thu Jan 20 13:36:51 2011 -0500"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Thu Jan 20 21:46:33 2011 +0000"
      },
      "message": "cifs: clean up unaligned accesses in validate_t2\n\n...and clean up function to reduce indentation.\n\nSigned-off-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nAcked-by: Pavel Shilovsky \u003cpiastryyy@gmail.com\u003e\nReviewed-by: Shirish Pargaonkar \u003cshirishpargaonkar@gmail.com\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "690c522fa5a62825af880775e3ef1e55755667b2",
      "tree": "ff953bba1050b54cc9be452a599ac1faf580c3b7",
      "parents": [
        "aae62fdb6b9a6605abdea7370c4a0e005e6c1cd7"
      ],
      "author": {
        "name": "Jeff Layton",
        "email": "jlayton@redhat.com",
        "time": "Thu Jan 20 13:36:51 2011 -0500"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Thu Jan 20 21:46:29 2011 +0000"
      },
      "message": "cifs: use get/put_unaligned functions to access ByteCount\n\nIt\u0027s possible that when we access the ByteCount that the alignment\nwill be off. Most CPUs deal with that transparently, but there\u0027s\nusually some performance impact. Some CPUs raise an exception on\nunaligned accesses.\n\nFix this by accessing the byte count using the get_unaligned and\nput_unaligned inlined functions. While we\u0027re at it, fix the types\nof some of the variables that end up getting returns from these\nfunctions.\n\nAcked-by: Pavel Shilovsky \u003cpiastryyy@gmail.com\u003e\nSigned-off-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "aae62fdb6b9a6605abdea7370c4a0e005e6c1cd7",
      "tree": "61f061006acfac97aa65872d2e2efbb5ad1c0919",
      "parents": [
        "c3dccf48174e50668b7c63544ac8c60c07a45978"
      ],
      "author": {
        "name": "Jeff Layton",
        "email": "jlayton@redhat.com",
        "time": "Thu Jan 20 13:36:50 2011 -0500"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Thu Jan 20 21:46:26 2011 +0000"
      },
      "message": "cifs: move time field in cifsInodeInfo\n\n...and remove length qualifiers from bools.\n\nBefore:\n\n\t/* size: 1176, cachelines: 19, members: 13 */\n\t/* sum members: 1165, holes: 2, sum holes: 11 */\n\t/* bit holes: 1, sum bit holes: 4 bits */\n\t/* last cacheline: 24 bytes */\n\nAfter:\n\n\t/* size: 1168, cachelines: 19, members: 13 */\n\t/* last cacheline: 16 bytes */\n\n...savings of 8 bytes per inode.\n\nSigned-off-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nReviewed-by: Pavel Shilovsky \u003cpiastryyy@gmail.com\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "c3dccf48174e50668b7c63544ac8c60c07a45978",
      "tree": "9197f69ef539330373d609b334bfdd67fd4aa207",
      "parents": [
        "a70307eeeb25b89f6b2baf3cf3f0cef83c96ba12"
      ],
      "author": {
        "name": "Jeff Layton",
        "email": "jlayton@redhat.com",
        "time": "Thu Jan 20 13:36:50 2011 -0500"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Thu Jan 20 21:46:22 2011 +0000"
      },
      "message": "cifs: TCP_Server_Info diet\n\nRemove fields that are completely unused, and rearrange struct\naccording to recommendations by \"pahole\".\n\nBefore:\n\n\t/* size: 1112, cachelines: 18, members: 49 */\n\t/* sum members: 1086, holes: 8, sum holes: 26 */\n\t/* bit holes: 1, sum bit holes: 7 bits */\n\t/* last cacheline: 24 bytes */\n\nAfter:\n\n\t/* size: 1072, cachelines: 17, members: 42 */\n\t/* sum members: 1065, holes: 3, sum holes: 7 */\n\t/* last cacheline: 48 bytes */\n\n...savings of 40 bytes per struct on x86_64. 21 bytes by field removal,\nand 19 by reorganizing to eliminate holes.\n\nSigned-off-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "a70307eeeb25b89f6b2baf3cf3f0cef83c96ba12",
      "tree": "f96abbc5d22884fd4c15fdc834c769b7fcf790c4",
      "parents": [
        "7a6a19b17ab9103ec708c18befd28f2a3908d4c1"
      ],
      "author": {
        "name": "Pavel Shilovsky",
        "email": "piastryyy@gmail.com",
        "time": "Tue Dec 14 11:50:41 2010 +0300"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Thu Jan 20 21:42:29 2011 +0000"
      },
      "message": "CIFS: Implement cifs_strict_readv (try #4)\n\nRead from the cache if we have at least Level II oplock - otherwise\nread from the server. Add cifs_user_readv to let the client read into\niovec buffers.\n\nReviewed-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nSigned-off-by: Pavel Shilovsky \u003cpiastryyy@gmail.com\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "7a6a19b17ab9103ec708c18befd28f2a3908d4c1",
      "tree": "3b781bf11b2a25c93ce20dbd80876e7e01c730e6",
      "parents": [
        "8be7e6ba142423e6ad98fed293c96f196f685229"
      ],
      "author": {
        "name": "Pavel Shilovsky",
        "email": "piastryyy@gmail.com",
        "time": "Tue Dec 14 11:29:51 2010 +0300"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Thu Jan 20 21:42:25 2011 +0000"
      },
      "message": "CIFS: Implement cifs_file_strict_mmap (try #2)\n\nInvalidate inode mapping if we don\u0027t have at least Level II oplock.\n\nReviewed-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nSigned-off-by: Pavel Shilovsky \u003cpiastryyy@gmail.com\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "8be7e6ba142423e6ad98fed293c96f196f685229",
      "tree": "25bd7ce4aed4740082f0a472a8eed35127d9d61e",
      "parents": [
        "4f8ba8a0c095933dd54a2c281750c8a85b329b26"
      ],
      "author": {
        "name": "Pavel Shilovsky",
        "email": "piastryyy@gmail.com",
        "time": "Sun Dec 12 13:11:13 2010 +0300"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Thu Jan 20 21:42:21 2011 +0000"
      },
      "message": "CIFS: Implement cifs_strict_fsync\n\nInvalidate inode mapping if we don\u0027t have at least Level II oplock in\ncifs_strict_fsync. Also remove filemap_write_and_wait call from cifs_fsync\nbecause it is previously called from vfs_fsync_range. Add file operations\u0027\nstructures for strict cache mode.\n\nReviewed-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nSigned-off-by: Pavel Shilovsky \u003cpiastryyy@gmail.com\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "4f8ba8a0c095933dd54a2c281750c8a85b329b26",
      "tree": "511da3f47059fc575a5af4128b76997f67f3a1fe",
      "parents": [
        "76dcc26f1d7f1c98c3f595379dcd9562f01bf38d"
      ],
      "author": {
        "name": "Pavel Shilovsky",
        "email": "piastryyy@gmail.com",
        "time": "Sun Nov 21 22:36:12 2010 +0300"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Thu Jan 20 21:42:17 2011 +0000"
      },
      "message": "CIFS: Make cifsFileInfo_put work with strict cache mode\n\nOn strict cache mode when we close the last file handle of the inode we\nshould set invalid_mapping flag on this inode to prevent data coherency\nproblem when we open it again but it has been modified on the server.\n\nReviewed-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nSigned-off-by: Pavel Shilovsky \u003cpiastryyy@gmail.com\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "76dcc26f1d7f1c98c3f595379dcd9562f01bf38d",
      "tree": "98ff38d579542700ef79dd2e0b0f331524e7c1a6",
      "parents": [
        "7749981ec31aa40e28a1ef5687e46bc1aa278fae"
      ],
      "author": {
        "name": "Jeff Layton",
        "email": "jlayton@redhat.com",
        "time": "Tue Jan 11 07:24:24 2011 -0500"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Thu Jan 20 18:08:36 2011 +0000"
      },
      "message": "cifs: mangle existing header for SMB_COM_NT_CANCEL\n\nThe NT_CANCEL command looks just like the original command, except for a\nfew small differences. The send_nt_cancel function however currently takes\na tcon, which we don\u0027t have in SendReceive and SendReceive2.\n\nInstead of \"respinning\" the entire header for an NT_CANCEL, just mangle\nthe existing header by replacing just the fields we need. This means we\ndon\u0027t need a tcon and allows us to call it from other places.\n\nReviewed-by: Pavel Shilovsky \u003cpiastryyy@gmail.com\u003e\nReviewed-by: Suresh Jayaraman \u003csjayaraman@suse.de\u003e\nSigned-off-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "7749981ec31aa40e28a1ef5687e46bc1aa278fae",
      "tree": "7c5f75916f55cfe5130e88534c48678155974adf",
      "parents": [
        "fda3594362184383e73f0a2a5fa5b38ac0e04fd8"
      ],
      "author": {
        "name": "Jeff Layton",
        "email": "jlayton@redhat.com",
        "time": "Tue Jan 11 07:24:23 2011 -0500"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Thu Jan 20 18:07:55 2011 +0000"
      },
      "message": "cifs: remove code for setting timeouts on requests\n\nSince we don\u0027t time out individual requests anymore, remove the code\nthat we used to use for setting timeouts on different requests.\n\nReviewed-by: Pavel Shilovsky \u003cpiastryyy@gmail.com\u003e\nReviewed-by: Suresh Jayaraman \u003csjayaraman@suse.de\u003e\nSigned-off-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "fda3594362184383e73f0a2a5fa5b38ac0e04fd8",
      "tree": "c196d4a5211044760debd89eec810053f0025e45",
      "parents": [
        "c74093b694998d30105d9904686da5e3576497c4"
      ],
      "author": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Thu Jan 20 18:06:34 2011 +0000"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Thu Jan 20 18:06:34 2011 +0000"
      },
      "message": "[CIFS] cifs: reconnect unresponsive servers\n\nIf the server isn\u0027t responding to echoes, we don\u0027t want to leave tasks\nhung waiting for it to reply. At that point, we\u0027ll want to reconnect\nso that soft mounts can return an error to userspace quickly.\n\nIf the client hasn\u0027t received a reply after a specified number of echo\nintervals, assume that the transport is down and attempt to reconnect\nthe socket.\n\nThe number of echo_intervals to wait before attempting to reconnect is\ntunable via a module parameter. Setting it to 0, means that the client\nwill never attempt to reconnect. The default is 5.\n\nSigned-off-by: Jeff Layton \u003cjlayton@redhat.com\u003e\n"
    },
    {
      "commit": "c74093b694998d30105d9904686da5e3576497c4",
      "tree": "2f4758b3d24ea2a1647a7402c8c49ffb515b388d",
      "parents": [
        "766fdbb57fdb1e53bc34c431103e95383d7f13ba"
      ],
      "author": {
        "name": "Jeff Layton",
        "email": "jlayton@redhat.com",
        "time": "Tue Jan 11 07:24:23 2011 -0500"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Thu Jan 20 17:48:10 2011 +0000"
      },
      "message": "cifs: set up recurring workqueue job to do SMB echo requests\n\nReviewed-by: Suresh Jayaraman \u003csjayaraman@suse.de\u003e\nSigned-off-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "766fdbb57fdb1e53bc34c431103e95383d7f13ba",
      "tree": "9e681dc6513441017603f90f45b9ffcdb5640719",
      "parents": [
        "a6827c184ea9f5452e4aaa7c799dd3c7cc9ba05e"
      ],
      "author": {
        "name": "Jeff Layton",
        "email": "jlayton@redhat.com",
        "time": "Tue Jan 11 07:24:21 2011 -0500"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Thu Jan 20 17:46:44 2011 +0000"
      },
      "message": "cifs: add ability to send an echo request\n\nReviewed-by: Suresh Jayaraman \u003csjayaraman@suse.de\u003e\nSigned-off-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "a6827c184ea9f5452e4aaa7c799dd3c7cc9ba05e",
      "tree": "21773e1cd69796f0d6d8ff6e4bf54e165b001891",
      "parents": [
        "2b84a36c5529da136d28b268e75268892d09869c"
      ],
      "author": {
        "name": "Jeff Layton",
        "email": "jlayton@redhat.com",
        "time": "Tue Jan 11 07:24:21 2011 -0500"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Thu Jan 20 17:46:04 2011 +0000"
      },
      "message": "cifs: add cifs_call_async\n\nAdd a function that will send a request, and set up the mid for an\nasync reply.\n\nReviewed-by: Suresh Jayaraman \u003csjayaraman@suse.de\u003e\nSigned-off-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "2b84a36c5529da136d28b268e75268892d09869c",
      "tree": "7977fad1c4a8ae8926184c00a3e7ccd30b398e5e",
      "parents": [
        "74dd92a881b62014ca3c754db6868e1f142f2fb9"
      ],
      "author": {
        "name": "Jeff Layton",
        "email": "jlayton@redhat.com",
        "time": "Tue Jan 11 07:24:21 2011 -0500"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Thu Jan 20 17:43:59 2011 +0000"
      },
      "message": "cifs: allow for different handling of received response\n\nIn order to incorporate async requests, we need to allow for a more\ngeneral way to do things on receive, rather than just waking up a\nprocess.\n\nTurn the task pointer in the mid_q_entry into a callback function and a\ngeneric data pointer. When a response comes in, or the socket is\nreconnected, cifsd can call the callback function in order to wake up\nthe process.\n\nThe default is to just wake up the current process which should mean no\nchange in behavior for existing code.\n\nAlso, clean up the locking in cifs_reconnect. There doesn\u0027t seem to be\nany need to hold both the srv_mutex and GlobalMid_Lock when walking the\nlist of mids.\n\nReviewed-by: Suresh Jayaraman \u003csjayaraman@suse.de\u003e\nSigned-off-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "74dd92a881b62014ca3c754db6868e1f142f2fb9",
      "tree": "c6e8c0ad9a722602d55511d11e8353f67bfb80f6",
      "parents": [
        "dad255b182363db1d1124458cd3fb0a4deac0d0f"
      ],
      "author": {
        "name": "Jeff Layton",
        "email": "jlayton@redhat.com",
        "time": "Tue Jan 11 07:24:02 2011 -0500"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Thu Jan 20 17:41:02 2011 +0000"
      },
      "message": "cifs: clean up sync_mid_result\n\nMake it use a switch statement based on the value of the midStatus. If\nthe resp_buf is set, then MID_RESPONSE_RECEIVED is too.\n\nSigned-off-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "dad255b182363db1d1124458cd3fb0a4deac0d0f",
      "tree": "9b49fba2d6249200cce538b6a53bd22dd3a0aac8",
      "parents": [
        "0ade640e9cda805692dbf688f4bb69e94719275a"
      ],
      "author": {
        "name": "Jeff Layton",
        "email": "jlayton@redhat.com",
        "time": "Tue Jan 11 07:24:02 2011 -0500"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Thu Jan 20 17:08:50 2011 +0000"
      },
      "message": "cifs: don\u0027t reconnect server when we don\u0027t get a response\n\nWe only want to force a reconnect to the server under very limited and\nspecific circumstances. Now that we have processes waiting indefinitely\nfor responses, we shouldn\u0027t reach this point unless a reconnect is\nalready in process. Thus, there\u0027s no reason to re-mark the server for\nreconnect here.\n\nReviewed-by: Suresh Jayaraman \u003csjayaraman@suse.de\u003e\nReviewed-by:  Pavel Shilovsky \u003cpiastryyy@gmail.com\u003e\nSigned-off-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "0ade640e9cda805692dbf688f4bb69e94719275a",
      "tree": "79676b2553e1d7c6a49dd31fb455c0c3ef27b5a0",
      "parents": [
        "2fbc2f1729e785a7b2faf9d8d60926bb1ff62af0"
      ],
      "author": {
        "name": "Jeff Layton",
        "email": "jlayton@redhat.com",
        "time": "Tue Jan 11 07:24:02 2011 -0500"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Thu Jan 20 17:07:49 2011 +0000"
      },
      "message": "cifs: wait indefinitely for responses\n\nThe client should not be timing out on individual SMB requests. Too much\nof the state between client and server is tied to the state of the\nsocket. If we time out requests and issue spurious disconnects then that\ncomprimises data integrity.\n\nInstead of doing this complicated dance where we try to decide how long\nto wait for a response for particular requests, have the client instead\nwait indefinitely for a response. Also, use a TASK_KILLABLE sleep here\nso that fatal signals will break out of this waiting.\n\nLater patches will add support for detecting dead peers and forcing\nreconnects based on that.\n\nReviewed-by: Suresh Jayaraman \u003csjayaraman@suse.de\u003e\nReviewed-by:  Pavel Shilovsky \u003cpiastryyy@gmail.com\u003e\nSigned-off-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "2fbc2f1729e785a7b2faf9d8d60926bb1ff62af0",
      "tree": "4665c741041553259b626df604e617879440fb53",
      "parents": [
        "540b2e377797d8715469d408b887baa9310c5f3e"
      ],
      "author": {
        "name": "Shirish Pargaonkar",
        "email": "shirishpargaonkar@gmail.com",
        "time": "Mon Dec 06 14:56:46 2010 -0600"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Wed Jan 19 21:25:58 2011 +0000"
      },
      "message": "cifs: Use mask of ACEs for SID Everyone to calculate all three permissions user, group, and other\n\nIf a DACL has entries for ACEs for SID Everyone and Authenticated Users,\nfactor in mask in respective entries during calculation of permissions\nfor all three, user, group, and other.\n\nhttp://technet.microsoft.com/en-us/library/bb463216.aspx\n\nSigned-off-by: Shirish Pargaonkar \u003cshirishpargaonkar@gmail.com\u003e\nReviewed-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "0da2a4ac33c291728d8be5bdb865467dcb078d13",
      "tree": "7f6af191fa9020a8d4bd0cdb828fd15fecd39411",
      "parents": [
        "c56eb8fb6dccb83d9fe62fd4dc00c834de9bc470"
      ],
      "author": {
        "name": "Fred Isaman",
        "email": "iisaman@netapp.com",
        "time": "Wed Jan 19 14:18:50 2011 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Jan 19 15:37:49 2011 -0500"
      },
      "message": "NFS: fix handling of malloc failure during nfs_flush_multi()\n\nCleanup of the allocated list entries should not call\nput_nfs_open_context() on each entry, as the context will\nalways be NULL, causing an oops.\n\nSigned-off-by: Fred Isaman \u003ciisaman@netapp.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "540b2e377797d8715469d408b887baa9310c5f3e",
      "tree": "50f37a5ffc2bd27d70f59a9b592ba0d29e22bfda",
      "parents": [
        "1cd3508d5eab6a88fa643119cedd34b04215cffe"
      ],
      "author": {
        "name": "Shirish Pargaonkar",
        "email": "shirishpargaonkar@gmail.com",
        "time": "Tue Jan 18 22:33:54 2011 -0600"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Wed Jan 19 18:11:18 2011 +0000"
      },
      "message": "cifs: Fix regression during share-level security mounts (Repost)\n\nNTLM response length was changed to 16 bytes instead of 24 bytes\nthat are sent in Tree Connection Request during share-level security\nshare mounts.  Revert it back to 24 bytes.\n\nReported-and-Tested-by: Grzegorz Ozanski \u003cgrzegorz.ozanski@intel.com\u003e\nAcked-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nSigned-off-by: Shirish Pargaonkar \u003cshirishpargaonkar@gmail.com\u003e\nAcked-by: Suresh Jayaraman \u003csjayaraman@suse.de\u003e\nCc: stable@kernel.org\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "1cd3508d5eab6a88fa643119cedd34b04215cffe",
      "tree": "484baf4852675eeded188d985acf03a1cc1edc89",
      "parents": [
        "053d50344568e5a4054266b44040297531125281"
      ],
      "author": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Wed Jan 19 17:53:44 2011 +0000"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Wed Jan 19 17:53:44 2011 +0000"
      },
      "message": "[CIFS] Update cifs version number\n\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "053d50344568e5a4054266b44040297531125281",
      "tree": "9cb0ef0379e18235ad527b8f1ab265e252e99851",
      "parents": [
        "ddc8cf8fc718587a3788330bf4f32b379f08b250"
      ],
      "author": {
        "name": "Jeff Layton",
        "email": "jlayton@redhat.com",
        "time": "Tue Jan 11 07:24:02 2011 -0500"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Wed Jan 19 17:52:45 2011 +0000"
      },
      "message": "cifs: move mid result processing into common function\n\nReviewed-by: Suresh Jayaraman \u003csjayaraman@suse.de\u003e\nReviewed-by: Pavel Shilovsky \u003cpiastryyy@gmail.com\u003e\nSigned-off-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "ddc8cf8fc718587a3788330bf4f32b379f08b250",
      "tree": "16d19dfa8f98404ab453e8bb2ef765ec4d67a467",
      "parents": [
        "8097531a5cb55c6472118da094dc88caf9be66ac"
      ],
      "author": {
        "name": "Jeff Layton",
        "email": "jlayton@redhat.com",
        "time": "Tue Jan 11 07:24:02 2011 -0500"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Wed Jan 19 17:52:42 2011 +0000"
      },
      "message": "cifs: move locked sections out of DeleteMidQEntry and AllocMidQEntry\n\nIn later patches, we\u0027re going to need to have finer-grained control\nover the addition and removal of these structs from the pending_mid_q\nand we\u0027ll need to be able to call the destructor while holding the\nspinlock. Move the locked sections out of both routines and into\nthe callers. Fix up current callers of DeleteMidQEntry to call a new\nroutine that dequeues the entry and then destroys it.\n\nReviewed-by: Suresh Jayaraman \u003csjayaraman@suse.de\u003e\nReviewed-by: Pavel Shilovsky \u003cpiastryyy@gmail.com\u003e\nSigned-off-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "8097531a5cb55c6472118da094dc88caf9be66ac",
      "tree": "77707f0bc5fe63e08844426ffe878a0191f4faef",
      "parents": [
        "c5797a945cac4c470f0113fc839c521aab0d799d"
      ],
      "author": {
        "name": "Jeff Layton",
        "email": "jlayton@redhat.com",
        "time": "Tue Jan 11 07:24:02 2011 -0500"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Wed Jan 19 17:52:38 2011 +0000"
      },
      "message": "cifs: clean up accesses to midCount\n\nIt\u0027s an atomic_t and the code accesses the \"counter\" field in it directly\ninstead of using atomic_read(). It also is sometimes accessed under a\nspinlock and sometimes not. Move it out of the spinlock since we don\u0027t need\nbelt-and-suspenders for something that\u0027s just informational.\n\nReviewed-by: Suresh Jayaraman \u003csjayaraman@suse.de\u003e\nReviewed-by: Pavel Shilovsky \u003cpiastryyy@gmail.com\u003e\nSigned-off-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "c5797a945cac4c470f0113fc839c521aab0d799d",
      "tree": "e54271a77265dce9ac6a10e5c6f15d9fe7886e4c",
      "parents": [
        "9d78315b03fc91228306db42edc533efa69cb518"
      ],
      "author": {
        "name": "Jeff Layton",
        "email": "jlayton@redhat.com",
        "time": "Tue Jan 11 07:24:01 2011 -0500"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Wed Jan 19 17:52:30 2011 +0000"
      },
      "message": "cifs: make wait_for_free_request take a TCP_Server_Info pointer\n\nThe cifsSesInfo pointer is only used to get at the server.\n\nReviewed-by: Suresh Jayaraman \u003csjayaraman@suse.de\u003e\nReviewed-by:  Pavel Shilovsky \u003cpiastryyy@gmail.com\u003e\nSigned-off-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "9d78315b03fc91228306db42edc533efa69cb518",
      "tree": "a68f2e8c812309a361fd1fa7b2ceeff877d3133c",
      "parents": [
        "941b853d779de3298e39f1eb4e252984464eaea8"
      ],
      "author": {
        "name": "Jeff Layton",
        "email": "jlayton@redhat.com",
        "time": "Tue Jan 11 07:24:01 2011 -0500"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Wed Jan 19 17:52:30 2011 +0000"
      },
      "message": "cifs: no need to mark smb_ses_list as cifs_demultiplex_thread is exiting\n\nThe TCP_Server_Info is refcounted and every SMB session holds a\nreference to it. Thus, smb_ses_list is always going to be empty when\ncifsd is coming down. This is dead code.\n\nReviewed-by: Suresh Jayaraman \u003csjayaraman@suse.de\u003e\nReviewed-by: Pavel Shilovsky \u003cpiastryyy@gmail.com\u003e\nSigned-off-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "941b853d779de3298e39f1eb4e252984464eaea8",
      "tree": "a1e41bb06debf22349f010a1c9427c9b89bb79b4",
      "parents": [
        "12fed00de963433128b5366a21a55808fab2f756"
      ],
      "author": {
        "name": "Jeff Layton",
        "email": "jlayton@redhat.com",
        "time": "Tue Jan 11 07:24:01 2011 -0500"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Wed Jan 19 17:52:29 2011 +0000"
      },
      "message": "cifs: don\u0027t fail writepages on -EAGAIN errors\n\nIf CIFSSMBWrite2 returns -EAGAIN, then the error should be considered\ntemporary. CIFS should retry the write instead of setting an error on\nthe mapping and returning.\n\nFor WB_SYNC_ALL, just retry the write immediately. In the WB_SYNC_NONE\ncase, call redirty_page_for_writeback on all of the pages that didn\u0027t\nget written out and then move on.\n\nAlso, fix up the handling of a short write with a successful return\ncode. MS-CIFS says that 0 bytes_written means ENOSPC or EFBIG. It\ndoesn\u0027t mention what a short, but non-zero write means, so for now\ntreat it as we would an -EAGAIN return.\n\nReviewed-by: Suresh Jayaraman \u003csjayaraman@suse.de\u003e\nReviewed-by: Pavel Shilovsky \u003cpiastryyy@gmail.com\u003e\nSigned-off-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "12fed00de963433128b5366a21a55808fab2f756",
      "tree": "2898690f5853027b70eda1bd7f3aeb78fe9af74d",
      "parents": [
        "c56eb8fb6dccb83d9fe62fd4dc00c834de9bc470"
      ],
      "author": {
        "name": "Pavel Shilovsky",
        "email": "piastryyy@gmail.com",
        "time": "Mon Jan 17 20:15:44 2011 +0300"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Wed Jan 19 17:52:29 2011 +0000"
      },
      "message": "CIFS: Fix oplock break handling (try #2)\n\nWhen we get oplock break notification we should set the appropriate\nvalue of OplockLevel field in oplock break acknowledge according to\nthe oplock level held by the client in this time. As we only can have\nlevel II oplock or no oplock in the case of oplock break, we should be\naware only about clientCanCacheRead field in cifsInodeInfo structure.\n\nAlso fix bug connected with wrong interpretation of OplockLevel field\nduring oplock break notification processing.\n\nSigned-off-by: Pavel Shilovsky \u003cpiastryyy@gmail.com\u003e\nCc: \u003cstable@kernel.org\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "7e57b81c7688c762bc9e775bc83f9fc17946f527",
      "tree": "d50dada5f348a9e9137a631e525c63f57e0cb796",
      "parents": [
        "088b3f5e9ee2649f5cfc2f08d8ce654e3eeba310"
      ],
      "author": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Tue Jan 18 09:00:01 2011 -0800"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Wed Jan 19 09:23:26 2011 -0800"
      },
      "message": "ceph: avoid immediate cap check after import\n\nThe NODELAY flag avoids the heuristics that delay cap (issued/wanted)\nrelease.  There\u0027s no reason for that after we import a cap, and it kills\nwhatever benefit we get from those delays.\n\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\n"
    },
    {
      "commit": "088b3f5e9ee2649f5cfc2f08d8ce654e3eeba310",
      "tree": "ca61373ee6eccd99a2af9a58ef492e099bacce3d",
      "parents": [
        "24be0c481067560b11441e794e27f166a3568863"
      ],
      "author": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Tue Jan 18 08:56:01 2011 -0800"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Wed Jan 19 09:23:25 2011 -0800"
      },
      "message": "ceph: fix flushing of caps vs cap import\n\nIf we are mid-flush and a cap is migrated to another node, we need to\nresend the cap flush message to the new MDS, and do so with the original\nflush_seq to avoid leaking across a sync boundary.  Previously we didn\u0027t\nredo the flush (we only flushed newly dirty data), which would cause a\nlater sync to hang forever.\n\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\n"
    },
    {
      "commit": "24be0c481067560b11441e794e27f166a3568863",
      "tree": "e91a8f77b8ecdacf747e5418c30a1c18dbdc38a3",
      "parents": [
        "50aac4fec503960380ab594a93a6fbfdf3f8915f"
      ],
      "author": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Tue Jan 18 08:48:06 2011 -0800"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Wed Jan 19 09:23:24 2011 -0800"
      },
      "message": "ceph: fix erroneous cap flush to non-auth mds\n\nThe int flushing is global and not clear on each iteration of the loop,\nwhich can cause a second flush of caps to any MDSs with ids greater than\nthe auth.\n\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\n"
    },
    {
      "commit": "50aac4fec503960380ab594a93a6fbfdf3f8915f",
      "tree": "31a4cc787284ce14bc06548e750bc045e0aa2c8b",
      "parents": [
        "17db143fc091238c43ab9f373974ca2224a4c3f8"
      ],
      "author": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Tue Jan 18 07:59:40 2011 -0800"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Wed Jan 19 09:23:22 2011 -0800"
      },
      "message": "ceph: fix cap_wanted_delay_{min,max} mount option initialization\n\nThese were initialized to 0 instead of the default, fallout from the RBD\nrefactor in 3d14c5d2b6e15c21d8e5467dc62d33127c23a644.\n\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\n"
    },
    {
      "commit": "24d9765fc18c7838ccdbb0d71fb706321d9b824c",
      "tree": "75875b69c1bb694d2ad5e1ab19f278bf7d3a8acc",
      "parents": [
        "23c3010808de86f21436eb822aacfa551bfc17e4"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Tue Jan 18 14:49:08 2011 +0000"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Tue Jan 18 14:49:08 2011 +0000"
      },
      "message": "GFS2: Fix error path in gfs2_lookup_by_inum()\n\nIn the (impossible, except if there is fs corruption) error path\nin gfs2_lookup_by_inum() if the call to gfs2_inode_refresh()\nfails, it was leaving the function by calling iput() rather\nthan iget_failed(). This would cause future lookups of the same\ninode to block forever.\n\nThis patch fixes the problem by moving the call to gfs2_inode_refresh()\ninto gfs2_inode_lookup() where iget_failed() is part of the error path\nalready. Also this cleans up some unreachable code and makes\ngfs2_set_iop() static.\n\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "23c3010808de86f21436eb822aacfa551bfc17e4",
      "tree": "56b7176fdeb0dd453b88969dbecba7afcc39883f",
      "parents": [
        "e6f597a1425b5af64917be3448b29e2d5a585ac8"
      ],
      "author": {
        "name": "Benjamin Marzinski",
        "email": "bmarzins@redhat.com",
        "time": "Fri Jan 14 22:39:16 2011 -0600"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Tue Jan 18 14:28:29 2011 +0000"
      },
      "message": "GFS2: remove iopen glocks from cache on failed deletes\n\nWhen a file gets deleted on GFS2, if a node can\u0027t get an exclusive lock on the\nfile\u0027s iopen glock, it punts on actually freeing up the space, because another\nnode is using the file.  When it does this, it needs to drop the iopen glock\nfrom its cache so that the other node can get an exclusive lock on it. Now,\ngfs2_delete_inode() sets GL_NOCACHE before dropping the shared lock on the\niopen glock in preparation for grabbing it in the exclusive state.  Since the\nnode needs the glock in the exclusive state, dropping the shared lock from the\ncache doesn\u0027t slow down the case where no other nodes are using the file.\n\nSigned-off-by: Benjamin Marzinski \u003cbmarzins@redhat.com\u003e\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n\n"
    },
    {
      "commit": "b89b12b46211d971d75e5ca8249817bc9e11c453",
      "tree": "3b846ec3daa6ce9e301668121b8c335b0d879470",
      "parents": [
        "26e6c910670171410577c7df2aebe94cef76e150"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sun Jan 16 21:42:32 2011 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Jan 18 01:21:29 2011 -0500"
      },
      "message": "autofs4: clean -\u003ed_release() and autofs4_free_ino() up\n\nThe latter is called only when both ino and dentry are about to\nbe freed, so cleaning -\u003ed_fsdata and -\u003edentry is pointless.\n\nAcked-by: Ian Kent \u003craven@themaw.net\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "26e6c910670171410577c7df2aebe94cef76e150",
      "tree": "407ecb012b91efce80be76f0191b2efc43689b7f",
      "parents": [
        "5a37db302e698a83209eff22ca8f3fd05eb1d84b"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sun Jan 16 18:43:40 2011 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Jan 18 01:21:28 2011 -0500"
      },
      "message": "autofs4: split autofs4_init_ino()\n\nsplit init_ino into new_ino and clean_ino; the former is\nwhat used to be init_ino(NULL, sbi), the latter is for cases\nwhere we passed non-NULL ino.  Lose unused arguments.\n\nAcked-by: Ian Kent \u003craven@themaw.net\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "5a37db302e698a83209eff22ca8f3fd05eb1d84b",
      "tree": "0ffef4412676c8b1814a2965b150168fcb9cfb03",
      "parents": [
        "726a5e0688fd344110d8f2979d87f243a4ba1a48"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sun Jan 16 18:29:35 2011 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Jan 18 01:21:28 2011 -0500"
      },
      "message": "autofs4: mkdir and symlink always get a dentry that had passed lookup\n\n... so -\u003ed_fsdata will have been set up before we get there\n\nAcked-by: Ian Kent \u003craven@themaw.net\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "726a5e0688fd344110d8f2979d87f243a4ba1a48",
      "tree": "c554b40ff5619dfd491b4890e89c8ee9c3131efd",
      "parents": [
        "0bf71d4d005176f6b6587ba64a377f9798213f21"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sun Jan 16 17:43:52 2011 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Jan 18 01:21:28 2011 -0500"
      },
      "message": "autofs4: autofs4_get_inode() doesn\u0027t need autofs_info * argument anymore\n\nAcked-by: Ian Kent \u003craven@themaw.net\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "0bf71d4d005176f6b6587ba64a377f9798213f21",
      "tree": "4814d73e0201e92e7aca19b0a45f64b9a9644698",
      "parents": [
        "09f12c03fa699ce7d030c47add60577138927d4f"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sun Jan 16 17:39:15 2011 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Jan 18 01:21:28 2011 -0500"
      },
      "message": "autofs4: kill -\u003esize in autofs_info\n\nIt\u0027s used only to pass the length of symlink body to\nautofs4_get_inode() in autofs4_dir_symlink().  We can\nbloody well set inode-\u003ei_size in autofs4_dir_symlink()\ndirectly and be done with that.\n\nAcked-by: Ian Kent \u003craven@themaw.net\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "09f12c03fa699ce7d030c47add60577138927d4f",
      "tree": "b9ef52e197a38579799ba9b62f78bf0c35efa4cc",
      "parents": [
        "14a2f00bde7668fe18d1c8355d26c7c96961e1f7"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sun Jan 16 17:20:23 2011 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Jan 18 01:21:27 2011 -0500"
      },
      "message": "autofs4: pass mode to autofs4_get_inode() explicitly\n\nIn all cases we\u0027d set inf-\u003emode to know value just before\npassing it to autofs4_get_inode().  That kills the need\nto store it in autofs_info and pass it to autofs_init_ino()\n\nAcked-by: Ian Kent \u003craven@themaw.net\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "14a2f00bde7668fe18d1c8355d26c7c96961e1f7",
      "tree": "c14da20ae3c32474c52d49bec43e046b583b8d9d",
      "parents": [
        "292c5ee802e9b969b84ee671a5e3001d94230f5b"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sun Jan 16 17:13:33 2011 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Jan 18 01:21:27 2011 -0500"
      },
      "message": "autofs4: autofs4_mkroot() is not different from autofs4_init_ino()\n\nKill it.  Mind you, it\u0027s been an obfuscated call of autofs4_init_ino()\never since 2.3.99pre6-4...\n\nAcked-by: Ian Kent \u003craven@themaw.net\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "292c5ee802e9b969b84ee671a5e3001d94230f5b",
      "tree": "616b0a583d17c50aedbb87082943248333d63c2b",
      "parents": [
        "c0bcc9d55252012805300ca01b9b7a143b4daf85"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Jan 17 00:47:38 2011 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Jan 18 01:21:27 2011 -0500"
      },
      "message": "autofs4: keep symlink body in inode-\u003ei_private\n\ngets rid of all -\u003efree()/-\u003eu.symlink machinery in autofs; we simply\nkeep symlink bodies in inode-\u003ei_private and free them in -\u003eevict_inode().\n\nAcked-by: Ian Kent \u003craven@themaw.net\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "c0bcc9d55252012805300ca01b9b7a143b4daf85",
      "tree": "af83d0afe51156377032608242ae24ee0c24e860",
      "parents": [
        "8931221411f9ff950de8fd686dc5ab881394cb9a"
      ],
      "author": {
        "name": "Ian Kent",
        "email": "raven@themaw.net",
        "time": "Tue Jan 18 12:06:15 2011 +0800"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Jan 18 01:21:27 2011 -0500"
      },
      "message": "autofs4 - fix debug print in autofs4_lookup()\n\noz_mode isn\u0027t defined any more, use autofs4_oz_mode(sbi) instead.\n\nSigned-off-by: Ian Kent \u003craven@themaw.net\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "8931221411f9ff950de8fd686dc5ab881394cb9a",
      "tree": "63d97668bae62d1034002cc7778adde2aa18b346",
      "parents": [
        "c14cc63a63e94d490ac6517a555113c30d420db4"
      ],
      "author": {
        "name": "Ian Kent",
        "email": "raven@themaw.net",
        "time": "Tue Jan 18 12:06:10 2011 +0800"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Jan 18 01:21:26 2011 -0500"
      },
      "message": "vfs - fix dentry ref count in do_lookup()\n\nThere is a ref count problem in fs/namei.c:do_lookup().\n\nWhen walking in ref-walk mode, if follow_managed() returns a fail we\nneed to drop dentry and possibly vfsmount.  Clean up properly,\nas we do in the other caller of follow_managed().\n\nSigned-off-by: Ian Kent \u003craven@themaw.net\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "c14cc63a63e94d490ac6517a555113c30d420db4",
      "tree": "4769517c39eedbbeaedc7a73636d7c65c0de5a38",
      "parents": [
        "6845a44a314c0c626549de373131bf108f9cc1f1"
      ],
      "author": {
        "name": "Ian Kent",
        "email": "raven@themaw.net",
        "time": "Tue Jan 18 12:06:04 2011 +0800"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Jan 18 01:21:26 2011 -0500"
      },
      "message": "autofs4 - fix get_next_positive_dentry()\n\nThe initialization condition in fs/autofs4/expire.c:get_next_positive_dentry()\nappears to be incorrect. If prev \u003d\u003d NULL I believe that root should be\nreturned.\n\nFurther down, at the current dentry check for it being simple_positive()\nit looks like the d_lock for dentry p should be dropped instead of dentry\nret, otherwise when p is assinged to ret we end up with no lock on p and\na lost lock on ret, which leads to a deadlock.\n\nSigned-off-by: Ian Kent \u003craven@themaw.net\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    }
  ],
  "next": "eee2a817df7c5a6e569f353f8be78cc1b3604bb6"
}
