)]}'
{
  "log": [
    {
      "commit": "bccaeafd7c117acee36e90d37c7e05c19be9e7bf",
      "tree": "d784e96c416ce5d2f47ecae6c0bb2a2aa8f5d1f3",
      "parents": [
        "68d0080f1e222757c85606d3eaf81b5c4aa7719f",
        "ecc90462b428db2ad2ee5081c45496ed10f3a633"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jun 22 21:49:07 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jun 22 21:49:07 2011 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/shaggy/jfs-2.6\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/shaggy/jfs-2.6:\n  jfs: agstart field must be 64 bits\n  JFS: Don\u0027t save agno in the inode\n  jfs: Update agstart when resizing volume\n  jfs: old_agsize should be 64 bits in jfs_extendfs\n"
    },
    {
      "commit": "2992c4bd5742b31a0ee00a76eee9c1c284507418",
      "tree": "b2af7d776ec6a4ae69b5f245ee0586359a99eabd",
      "parents": [
        "e08f6d4131ab964420f0bcabecc68d75fb49df79",
        "1650add23578b5ca35c1f1e863987180a8c03779"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jun 21 18:20:55 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jun 21 18:20:55 2011 -0700"
      },
      "message": "Merge branch \u0027bugfixes\u0027 of git://git.linux-nfs.org/projects/trondmy/nfs-2.6\n\n* \u0027bugfixes\u0027 of git://git.linux-nfs.org/projects/trondmy/nfs-2.6:\n  NFS: Fix decode_secinfo_maxsz\n  NFSv4.1: Fix an off-by-one error in pnfs_generic_pg_test\n  NFSv4.1: Fix some issues with pnfs_generic_pg_test\n  NFSv4.1: file layout must consider pg_bsize for coalescing\n  pnfs-obj: No longer needed to take an extra ref at add_device\n  SUNRPC: Ensure the RPC client only quits on fatal signals\n  NFSv4: Fix a readdir regression\n  nfs4.1: mark layout as bad on error path in _pnfs_return_layout\n  nfs4.1: prevent race that allowed use of freed layout in _pnfs_return_layout\n  NFSv4.1: need to put_layout_hdr on _pnfs_return_layout error path\n  NFS: (d)printks should use %zd for ssize_t arguments\n  NFSv4.1: fix break condition in pnfs_find_lseg\n  nfs4.1: fix several problems with _pnfs_return_layout\n  NFSv4.1: allow zero fh array in filelayout decode layout\n  NFSv4.1: allow nfs_fhget to succeed with mounted on fileid\n  NFSv4.1: Fix a refcounting issue in the pNFS device id cache\n  NFSv4.1: deprecate headerpadsz in CREATE_SESSION\n  NFS41: do not update isize if inode needs layoutcommit\n  NLM: Don\u0027t hang forever on NLM unlock requests\n  NFS: fix umount of pnfs filesystems\n"
    },
    {
      "commit": "890879cfa08f5ceaa09810611f46e890f7d57ff6",
      "tree": "c8898ae7a5bf00f315cfaa13d58a08aafa5002f9",
      "parents": [
        "56299378726d5f2ba8d3c8cbbd13cb280ba45e4f",
        "de1b794130b130e77ffa975bb58cb843744f9ae5"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jun 21 10:22:35 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jun 21 10:22:35 2011 -0700"
      },
      "message": "Merge branch \u0027for_linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4\n\n* \u0027for_linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4:\n  jbd2: Fix oops in jbd2_journal_remove_journal_head()\n  jbd2: Remove obsolete parameters in the comments for some jbd2 functions\n  ext4: fixed tracepoints cleanup\n  ext4: use FIEMAP_EXTENT_LAST flag for last extent in fiemap\n  ext4: Fix max file size and logical block counting of extent format file\n  ext4: correct comments for ext4_free_blocks()\n"
    },
    {
      "commit": "1650add23578b5ca35c1f1e863987180a8c03779",
      "tree": "886647bf9928ff27f25d0de82c356c1f238738c3",
      "parents": [
        "19982ba8562e33083cb5bbb59a74855d8a9624ea"
      ],
      "author": {
        "name": "Bryan Schumaker",
        "email": "bjschuma@netapp.com",
        "time": "Thu Jun 02 15:07:35 2011 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Jun 21 11:54:07 2011 -0400"
      },
      "message": "NFS: Fix decode_secinfo_maxsz\n\nI initially did the calculation in bytes, and not words\n\nSigned-off-by: Bryan Schumaker \u003cbjschuma@netapp.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "19982ba8562e33083cb5bbb59a74855d8a9624ea",
      "tree": "51656f4ff6252a0207a0f42feea147c736474171",
      "parents": [
        "8f7d5efbef8718a774ac5e347b4ec069f17fd9b4"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Jun 10 13:30:23 2011 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Jun 21 11:54:06 2011 -0400"
      },
      "message": "NFSv4.1: Fix an off-by-one error in pnfs_generic_pg_test\n\nAnd document what is going on there...\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "8f7d5efbef8718a774ac5e347b4ec069f17fd9b4",
      "tree": "aa95020eb43fe3cdb45ce96c9ec024b92f5c7621",
      "parents": [
        "19345cb299e8234006c5125151ab723e851a1d24"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Jun 10 13:30:22 2011 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Jun 21 11:54:05 2011 -0400"
      },
      "message": "NFSv4.1: Fix some issues with pnfs_generic_pg_test\n\n1. If the intention is to coalesce requests \u0027prev\u0027 and \u0027req\u0027 then we\n   have to ensure at least that we have a layout starting at\n   req_offset(prev).\n\n2. If we\u0027re only requesting a minimal layout of length desc-\u003epg_count,\n   we need to test the length actually returned by the server before\n   we allow the coalescing to occur.\n\n3. We need to deal correctly with (pgio-\u003elseg \u003d\u003d NULL)\n\n4. Fixup the test guarding the pnfs_update_layout.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "eda0841094a3a232357ca10a24b40da461db3fcf",
      "tree": "08f6ffd17275e6fab7bd8014d849d2fce46632d9",
      "parents": [
        "6e158d21986fa15d21fd32cf241d167d4d741ae3",
        "105f4622104848ff1ee1f644d661bef9dec3eb27"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jun 20 20:10:52 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jun 20 20:10:52 2011 -0700"
      },
      "message": "Merge branch \u0027for-2.6.40\u0027 of git://linux-nfs.org/~bfields/linux\n\n* \u0027for-2.6.40\u0027 of git://linux-nfs.org/~bfields/linux:\n  nfsd4: fix break_lease flags on nfsd open\n  nfsd: link returns nfserr_delay when breaking lease\n  nfsd: v4 support requires CRYPTO\n  nfsd: fix dependency of nfsd on auth_rpcgss\n"
    },
    {
      "commit": "36698206504fca9198b8563f1fc2c9e38e063e11",
      "tree": "f02b63c9b35a7962786b5dcdb1af15a63f5de1cf",
      "parents": [
        "ef46222e7b56e728e423527d430cb2013c595491",
        "482e0cd3dbaa70f2a2bead4b5f2c0d203ef654ba"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jun 20 20:09:15 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jun 20 20:09:15 2011 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6:\n  devcgroup_inode_permission: take \"is it a device node\" checks to inlined wrapper\n  fix comment in generic_permission()\n  kill obsolete comment for follow_down()\n  proc_sys_permission() is OK in RCU mode\n  reiserfs_permission() doesn\u0027t need to bail out in RCU mode\n  proc_fd_permission() is doesn\u0027t need to bail out in RCU mode\n  nilfs2_permission() doesn\u0027t need to bail out in RCU mode\n  logfs doesn\u0027t need -\u003epermission() at all\n  coda_ioctl_permission() is safe in RCU mode\n  cifs_permission() doesn\u0027t need to bail out in RCU mode\n  bad_inode_permission() is safe from RCU mode\n  ubifs: dereferencing an ERR_PTR in ubifs_mount()\n"
    },
    {
      "commit": "ecc90462b428db2ad2ee5081c45496ed10f3a633",
      "tree": "58421f6cb08fcd3375f2fa3af13fccc9b0f0ee97",
      "parents": [
        "d31b53e3cd069e02290ed8a648aa8c7618d6fe77"
      ],
      "author": {
        "name": "Dave Kleikamp",
        "email": "dave.kleikamp@oracle.com",
        "time": "Mon Jun 20 17:53:24 2011 -0500"
      },
      "committer": {
        "name": "Dave Kleikamp",
        "email": "dave.kleikamp@oracle.com",
        "time": "Mon Jun 20 17:53:24 2011 -0500"
      },
      "message": "jfs: agstart field must be 64 bits\n\nThe previous patch added the agstart field to jfs_ip, but declared\nit a long.  We need to make sure its 64 bits on every platform.\n\nSigned-off-by: Dave Kleikamp \u003cdave.kleikamp@oracle.com\u003e\n"
    },
    {
      "commit": "19345cb299e8234006c5125151ab723e851a1d24",
      "tree": "43bde1db751eb50afbdabfbd26814431c8be573c",
      "parents": [
        "df18d127f4fed7a0284bcfa8d2843800cdb63b72"
      ],
      "author": {
        "name": "Benny Halevy",
        "email": "benny@tonian.com",
        "time": "Sun Jun 19 18:33:46 2011 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Jun 20 16:12:26 2011 -0400"
      },
      "message": "NFSv4.1: file layout must consider pg_bsize for coalescing\n\nOtherwise we end up overflowing the rpc buffer size on the receive end.\n\nSigned-off-by: Benny Halevy \u003cbenny@tonian.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "90a800de0a29426ea900ecd53f2929d5f4bc4578",
      "tree": "22b4ec6119e438c73d695522042669b601672579",
      "parents": [
        "10e18e62309a882c513b4f516527055b6a60d668",
        "e999376f094162aa425ae749aa1df95ab928d010"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jun 20 08:58:53 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jun 20 08:58:53 2011 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/mason/btrfs-unstable\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/mason/btrfs-unstable:\n  Btrfs: avoid delayed metadata items during commits\n  btrfs: fix uninitialized return value\n  btrfs: fix wrong reservation when doing delayed inode operations\n  btrfs: Remove unused sysfs code\n  btrfs: fix dereference of ERR_PTR value\n  Btrfs: fix relocation races\n  Btrfs: set no_trans_join after trying to expand the transaction\n  Btrfs: protect the pending_snapshots list with trans_lock\n  Btrfs: fix path leakage on subvol deletion\n  Btrfs: drop the delalloc_bytes check in shrink_delalloc\n  Btrfs: check the return value from set_anon_super\n"
    },
    {
      "commit": "d31b53e3cd069e02290ed8a648aa8c7618d6fe77",
      "tree": "529f1fab64d7b525e1a77510f3c9b02d24597c65",
      "parents": [
        "28e0fa894cd5996d3007ce82f07226f79beb7286"
      ],
      "author": {
        "name": "Dave Kleikamp",
        "email": "dave.kleikamp@oracle.com",
        "time": "Mon Jun 20 10:53:46 2011 -0500"
      },
      "committer": {
        "name": "Dave Kleikamp",
        "email": "dave.kleikamp@oracle.com",
        "time": "Mon Jun 20 10:53:46 2011 -0500"
      },
      "message": "JFS: Don\u0027t save agno in the inode\n\nResizing the file system can result in an in-memory inode being remapped\nto a different aggregate group (AG). A cached AG number can cause\nproblems when trying to free or allocate inodes. Instead, save the IAG\u0027s\nagstart address and calculate the agno when we need it.\n\nSigned-off-by: Dave Kleikamp \u003cdave.kleikamp@oracle.com\u003e\n"
    },
    {
      "commit": "28e0fa894cd5996d3007ce82f07226f79beb7286",
      "tree": "cb6d92f311c70c106d9623505b4a038d7a827319",
      "parents": [
        "206b6310fd0268a6ca50cf36f03b0f4eee5602ec"
      ],
      "author": {
        "name": "Dave Kleikamp",
        "email": "dave.kleikamp@oracle.com",
        "time": "Mon Jun 20 10:32:46 2011 -0500"
      },
      "committer": {
        "name": "Dave Kleikamp",
        "email": "dave.kleikamp@oracle.com",
        "time": "Mon Jun 20 10:32:46 2011 -0500"
      },
      "message": "jfs: Update agstart when resizing volume\n\nA comment indicates that the IAG\u0027s agstart does not need to be updated\nsince it will always point to a block in the same aggregate group, but\njfs_fsck isn\u0027t so forgiving and reports it as an error.\n\nI\u0027m fixing this in jfsutils as well, so either a new kernel or new\nutilities will be sufficient to fix the problem.\n\nSigned-off-by: Dave Kleikamp \u003cdave.kleikamp@oracle.com\u003e\n"
    },
    {
      "commit": "206b6310fd0268a6ca50cf36f03b0f4eee5602ec",
      "tree": "c7fc6c233577a6634f4d3f490b0f876b3ebbad43",
      "parents": [
        "3c25fa740e2084a3950f581378ec29a3c307ddfc"
      ],
      "author": {
        "name": "Dave Kleikamp",
        "email": "dave.kleikamp@oracle.com",
        "time": "Mon Jun 20 10:30:04 2011 -0500"
      },
      "committer": {
        "name": "Dave Kleikamp",
        "email": "dave.kleikamp@oracle.com",
        "time": "Mon Jun 20 10:30:04 2011 -0500"
      },
      "message": "jfs: old_agsize should be 64 bits in jfs_extendfs\n\nSigned-off-by: Dave Kleikamp \u003cdave.kleikamp@oracle.com\u003e\n"
    },
    {
      "commit": "8e833fd2e1f0107ee7a4b6bc4de3c9f0e9b0ed41",
      "tree": "adf3e53b81e9e52874fc1f38eeb09065fae5cf02",
      "parents": [
        "6291176bcd71a2766a19a10cbd9bab07d289e1d7"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sun Jun 19 01:56:53 2011 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Jun 20 10:45:56 2011 -0400"
      },
      "message": "fix comment in generic_permission()\n\nCAP_DAC_OVERRIDE is enough for MAY_EXEC on directory, even if\nno exec bits are set.\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "6291176bcd71a2766a19a10cbd9bab07d289e1d7",
      "tree": "123ca2c96c0614b94ad2065174f5c1c77db45c12",
      "parents": [
        "1aec7036d0c2996c86ce483ca0a28f3b20807b43"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Fri Jun 17 19:20:48 2011 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Jun 20 10:45:49 2011 -0400"
      },
      "message": "kill obsolete comment for follow_down()\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "1aec7036d0c2996c86ce483ca0a28f3b20807b43",
      "tree": "718103f35e7882593ec9ad8994a6e004b3757381",
      "parents": [
        "1d29b5a2ed7eb8862c9b66daf475f3e4c1a40299"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat Jun 18 20:42:00 2011 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Jun 20 10:45:25 2011 -0400"
      },
      "message": "proc_sys_permission() is OK in RCU mode\n\nnothing blocking there, since all instances of sysctl\n-\u003epermissions() method are non-blocking - both of them,\nthat is.\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "1d29b5a2ed7eb8862c9b66daf475f3e4c1a40299",
      "tree": "3829dfe2e49732bd3db1b6232ff71d8e7a32c5ea",
      "parents": [
        "cf1279111686d9742cbc4145bc9d526c83f59fea"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat Jun 18 20:37:33 2011 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Jun 20 10:45:21 2011 -0400"
      },
      "message": "reiserfs_permission() doesn\u0027t need to bail out in RCU mode\n\nnothing blocking other than generic_permission() (and\ncheck_acl callback does bail out in RCU mode).\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "cf1279111686d9742cbc4145bc9d526c83f59fea",
      "tree": "3247223a8bef912896418bd07475cec2658fc212",
      "parents": [
        "730e908f3539066d4aa01f4720ebfc750ce4d045"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat Jun 18 20:35:23 2011 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Jun 20 10:44:50 2011 -0400"
      },
      "message": "proc_fd_permission() is doesn\u0027t need to bail out in RCU mode\n\nnothing blocking except generic_permission()\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "730e908f3539066d4aa01f4720ebfc750ce4d045",
      "tree": "de7b93574d60071b5d2c428cc3ff1a524eac3cd0",
      "parents": [
        "a63ab94d67879bc0630ea9821c582ddf58ba5527"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat Jun 18 20:21:44 2011 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Jun 20 10:44:33 2011 -0400"
      },
      "message": "nilfs2_permission() doesn\u0027t need to bail out in RCU mode\n\nNothing blocking except for generic_permission().  Which will DTRT.\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "a63ab94d67879bc0630ea9821c582ddf58ba5527",
      "tree": "006f1cfb1262e256cc8af1d5f51bea92247f5e58",
      "parents": [
        "6b419951f1e44c8a46fccfc6551eca9a9980acd6"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat Jun 18 20:17:22 2011 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Jun 20 10:44:26 2011 -0400"
      },
      "message": "logfs doesn\u0027t need -\u003epermission() at all\n\n... and never did, what with its -\u003epermission() being what we do by default\nwhen -\u003epermission is NULL...\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "6b419951f1e44c8a46fccfc6551eca9a9980acd6",
      "tree": "2961649a0e2f31a43218d1f677c177fab244e12a",
      "parents": [
        "ec12781f192568f7ea860f440f890389ba393df7"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat Jun 18 20:11:43 2011 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Jun 20 10:44:19 2011 -0400"
      },
      "message": "coda_ioctl_permission() is safe in RCU mode\n\nreturn (mask \u0026 MAY_EXEC) ? -EACCES : 0; is non-blocking...\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "ec12781f192568f7ea860f440f890389ba393df7",
      "tree": "5261d0f1e2f5c6e6a903838133f7bc8929c672a3",
      "parents": [
        "1712c20dae7b770b62b2e3272100b3b40af0157c"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat Jun 18 20:03:36 2011 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Jun 20 10:44:07 2011 -0400"
      },
      "message": "cifs_permission() doesn\u0027t need to bail out in RCU mode\n\nnothing potentially blocking except generic_permission(), which\nwill DTRT\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "1712c20dae7b770b62b2e3272100b3b40af0157c",
      "tree": "33dd9e2728421ab0ac14f2c30c07f91c7295d208",
      "parents": [
        "185bf87393afe6b966881e36c459949d90930a7a"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat Jun 18 19:59:04 2011 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Jun 20 10:44:00 2011 -0400"
      },
      "message": "bad_inode_permission() is safe from RCU mode\n\nreturn -EIO; is *not* a blocking operation, thank you very much.\nNick, what the hell have you been smoking?\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "185bf87393afe6b966881e36c459949d90930a7a",
      "tree": "203f91dbfdb21f29de119cf79ccfed3bf2b15d31",
      "parents": [
        "8b97b21e0f4f59801d05a5c536417f04ecfb5603"
      ],
      "author": {
        "name": "Dan Carpenter",
        "email": "error27@gmail.com",
        "time": "Mon Jun 20 10:10:24 2011 +0300"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Jun 20 10:42:34 2011 -0400"
      },
      "message": "ubifs: dereferencing an ERR_PTR in ubifs_mount()\n\nd251ed271d5 \"ubifs: fix sget races\" left out the goto from this\nerror path so the static checkers complain that we\u0027re dereferencing\n\"sb\" when it\u0027s an ERR_PTR.\n\nSigned-off-by: Dan Carpenter \u003cerror27@gmail.com\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "105f4622104848ff1ee1f644d661bef9dec3eb27",
      "tree": "b50b0fb47e9530b8d67cb8cfd717f7bbd7559138",
      "parents": [
        "7d751f6f8c679f51b73d01a1b5269347a929004c"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Tue Jun 07 11:50:23 2011 -0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Mon Jun 20 10:38:01 2011 -0400"
      },
      "message": "nfsd4: fix break_lease flags on nfsd open\n\nThanks to Casey Bodley for pointing out that on a read open we pass 0,\ninstead of O_RDONLY, to break_lease, with the result that a read open is\ntreated like a write open for the purposes of lease breaking!\n\nReported-by: Casey Bodley \u003ccbodley@citi.umich.edu\u003e\nCc: stable@kernel.org\nSigned-off-by: J. Bruce Fields \u003cbfields@redhat.com\u003e\n"
    },
    {
      "commit": "df18d127f4fed7a0284bcfa8d2843800cdb63b72",
      "tree": "a3083c18d3370fd959cbb6d1a654823a2c612068",
      "parents": [
        "5afa9133cfe67f1bfead6049a9640c9262a7101c"
      ],
      "author": {
        "name": "Boaz Harrosh",
        "email": "bharrosh@panasas.com",
        "time": "Fri Jun 17 16:25:51 2011 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sun Jun 19 14:49:51 2011 -0400"
      },
      "message": "pnfs-obj: No longer needed to take an extra ref at add_device\n\nAndy\u0027s last device_cache patches, already take an extra\nreference on the newly inserted device_id. So we can remove it\nfrom obj-io.\n\nWithout this patch the device_ids are leaked.\n\nAndy\u0027s patches are not in Linus tree yet. So I\u0027m not sure if they are\nscheduled for this Kernel or the next. This patch should be added as\npart of these.\n\nCC: Andy Adamson \u003candros@netapp.com\u003e\nSigned-off-by: Boaz Harrosh \u003cbharrosh@panasas.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "8816ead9d8e7c2745788e0684797e1912b504f33",
      "tree": "2a619a821024d31be2ce6ff422f287792379fe5b",
      "parents": [
        "357ed6b1a110048ff8106f99092d6c4a7aadb45a",
        "203db2952bc87f5d610c9ad53a7d02b85897721f",
        "d8ad7d1123a960cc9f276bd499f9325c6f5e1bd1",
        "b5199515c25cca622495eb9c6a8a1d275e775088",
        "c1f5c54b57341e872a9d375dccef7257f86033ef"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Jun 19 09:00:18 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Jun 19 09:00:18 2011 -0700"
      },
      "message": "Merge branches \u0027perf-urgent-for-linus\u0027, \u0027sched-urgent-for-linus\u0027, \u0027timers-urgent-for-linus\u0027 and \u0027x86-urgent-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027perf-urgent-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  tools/perf: Fix static build of perf tool\n  tracing: Fix regression in printk_formats file\n\n* \u0027sched-urgent-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  generic-ipi: Fix kexec boot crash by initializing call_single_queue before enabling interrupts\n\n* \u0027timers-urgent-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  clocksource: Make watchdog robust vs. interruption\n  timerfd: Fix wakeup of processes when timer is cancelled on clock change\n\n* \u0027x86-urgent-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  x86, MAINTAINERS: Add x86 MCE people\n  x86, efi: Do not reserve boot services regions within reserved areas\n"
    },
    {
      "commit": "c11760c6d80ab6aa20e383cf378a7287305f591c",
      "tree": "91f5c65f5b1bf57bba5774c87767f93549f6bec5",
      "parents": [
        "a6c0a392622702fc9f47ddcea5684414d44a5d3b"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jun 08 10:30:03 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Jun 18 07:25:42 2011 -0700"
      },
      "message": "isofs: fix bh leak in isofs_fill_super() error case\n\nIn isofs_fill_super(), when an iso_primary_descriptor is found, it is\nkept in pri_bh.  The error cases don\u0027t properly release it.  Fix it.\n\nReported-and-tested-by: 김원석 \u003cstanley.will.kim@gmail.com\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "e999376f094162aa425ae749aa1df95ab928d010",
      "tree": "080d4a2a20d8d7e7ea8b36f63150827b970da715",
      "parents": [
        "35a30d7ce54e087d8025a725d4e5a2fdee723a9f"
      ],
      "author": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Fri Jun 17 16:14:09 2011 -0400"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Fri Jun 17 16:38:47 2011 -0400"
      },
      "message": "Btrfs: avoid delayed metadata items during commits\n\nSnapshot creation has two phases.  One is the initial snapshot setup,\nand the second is done during commit, while nobody is allowed to modify\nthe root we are snapshotting.\n\nThe delayed metadata insertion code can break that rule, it does a\ndelayed inode update on the inode of the parent of the snapshot,\nand delayed directory item insertion.\n\nThis makes sure to run the pending delayed operations before we\nrecord the snapshot root, which avoids corruptions.\n\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "35a30d7ce54e087d8025a725d4e5a2fdee723a9f",
      "tree": "ba7ab5023cde23bb0d7e0ea2e23400db8de80668",
      "parents": [
        "19fd294957e426bfdd8e19085096467ec18df5c4"
      ],
      "author": {
        "name": "David Sterba",
        "email": "dsterba@suse.cz",
        "time": "Mon Jun 13 15:18:23 2011 +0000"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Fri Jun 17 14:54:18 2011 -0400"
      },
      "message": "btrfs: fix uninitialized return value\n\nWhen allocation fails in btrfs_read_fs_root_no_name, ret is not set\nalthough it is returned, holding a garbage value.\n\nSigned-off-by: David Sterba \u003cdsterba@suse.cz\u003e\nReviewed-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "19fd294957e426bfdd8e19085096467ec18df5c4",
      "tree": "47c3ee705ac9d591d2f9497d3dfc3d1426a881a2",
      "parents": [
        "9fe6a50fb764f508dd2de47a66e62e51388791fb"
      ],
      "author": {
        "name": "Miao Xie",
        "email": "miaox@cn.fujitsu.com",
        "time": "Wed Jun 15 10:47:30 2011 +0000"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Fri Jun 17 14:54:18 2011 -0400"
      },
      "message": "btrfs: fix wrong reservation when doing delayed inode operations\n\nWe have migrated the space for the delayed inode items from\ntrans_block_rsv to global_block_rsv, but we forgot to set trans-\u003eblock_rsv to\nglobal_block_rsv when we doing delayed inode operations, and the following Oops\nhappened:\n\n[ 9792.654889] ------------[ cut here ]------------\n[ 9792.654898] WARNING: at fs/btrfs/extent-tree.c:5681\nbtrfs_alloc_free_block+0xca/0x27c [btrfs]()\n[ 9792.654899] Hardware name: To Be Filled By O.E.M.\n[ 9792.654900] Modules linked in: btrfs zlib_deflate libcrc32c\nip6t_REJECT nf_conntrack_ipv6 nf_defrag_ipv6 ip6table_filter ip6_tables\narc4 rt61pci rt2x00pci rt2x00lib snd_hda_codec_hdmi mac80211\nsnd_hda_codec_realtek cfg80211 snd_hda_intel edac_core snd_seq rfkill\npcspkr serio_raw snd_hda_codec eeprom_93cx6 edac_mce_amd sp5100_tco\ni2c_piix4 k10temp snd_hwdep snd_seq_device snd_pcm floppy r8169 xhci_hcd\nmii snd_timer snd soundcore snd_page_alloc ipv6 firewire_ohci pata_acpi\nata_generic firewire_core pata_via crc_itu_t radeon ttm drm_kms_helper\ndrm i2c_algo_bit i2c_core [last unloaded: scsi_wait_scan]\n[ 9792.654919] Pid: 2762, comm: rm Tainted: G        W   2.6.39+ #1\n[ 9792.654920] Call Trace:\n[ 9792.654922]  [\u003cffffffff81053c4a\u003e] warn_slowpath_common+0x83/0x9b\n[ 9792.654925]  [\u003cffffffff81053c7c\u003e] warn_slowpath_null+0x1a/0x1c\n[ 9792.654933]  [\u003cffffffffa038e747\u003e] btrfs_alloc_free_block+0xca/0x27c [btrfs]\n[ 9792.654945]  [\u003cffffffffa03b8562\u003e] ? map_extent_buffer+0x6e/0xa8 [btrfs]\n[ 9792.654953]  [\u003cffffffffa038189b\u003e] __btrfs_cow_block+0xfc/0x30c [btrfs]\n[ 9792.654963]  [\u003cffffffffa0396aa6\u003e] ? btrfs_buffer_uptodate+0x47/0x58 [btrfs]\n[ 9792.654970]  [\u003cffffffffa0382e48\u003e] ? read_block_for_search+0x94/0x368 [btrfs]\n[ 9792.654978]  [\u003cffffffffa0381ba9\u003e] btrfs_cow_block+0xfe/0x146 [btrfs]\n[ 9792.654986]  [\u003cffffffffa03848b0\u003e] btrfs_search_slot+0x14d/0x4b6 [btrfs]\n[ 9792.654997]  [\u003cffffffffa03b8562\u003e] ? map_extent_buffer+0x6e/0xa8 [btrfs]\n[ 9792.655022]  [\u003cffffffffa03938e8\u003e] btrfs_lookup_inode+0x2f/0x8f [btrfs]\n[ 9792.655025]  [\u003cffffffff8147afac\u003e] ? _cond_resched+0xe/0x22\n[ 9792.655027]  [\u003cffffffff8147b892\u003e] ? mutex_lock+0x29/0x50\n[ 9792.655039]  [\u003cffffffffa03d41b1\u003e] btrfs_update_delayed_inode+0x72/0x137 [btrfs]\n[ 9792.655051]  [\u003cffffffffa03d4ea2\u003e] btrfs_run_delayed_items+0x90/0xdb [btrfs]\n[ 9792.655062]  [\u003cffffffffa039a69b\u003e] btrfs_commit_transaction+0x228/0x654 [btrfs]\n[ 9792.655064]  [\u003cffffffff8106e8da\u003e] ? remove_wait_queue+0x3a/0x3a\n[ 9792.655075]  [\u003cffffffffa03a2fa5\u003e] btrfs_evict_inode+0x14d/0x202 [btrfs]\n[ 9792.655077]  [\u003cffffffff81132bd6\u003e] evict+0x71/0x111\n[ 9792.655079]  [\u003cffffffff81132de0\u003e] iput+0x12a/0x132\n[ 9792.655081]  [\u003cffffffff8112aa3a\u003e] do_unlinkat+0x106/0x155\n[ 9792.655083]  [\u003cffffffff81127b83\u003e] ? path_put+0x1f/0x23\n[ 9792.655085]  [\u003cffffffff8109c53c\u003e] ? audit_syscall_entry+0x145/0x171\n[ 9792.655087]  [\u003cffffffff81128410\u003e] ? putname+0x34/0x36\n[ 9792.655090]  [\u003cffffffff8112b441\u003e] sys_unlinkat+0x29/0x2b\n[ 9792.655092]  [\u003cffffffff81482c42\u003e] system_call_fastpath+0x16/0x1b\n[ 9792.655093] ---[ end trace 02b696eb02b3f768 ]---\n\nThis patch fix it by setting the reservation of the transaction handle to the\ncorrect one.\n\nReported-by: Josef Bacik \u003cjosef@redhat.com\u003e\nSigned-off-by: Miao Xie \u003cmiaox@cn.fujitsu.com\u003e\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "9fe6a50fb764f508dd2de47a66e62e51388791fb",
      "tree": "3efe5de8ba7289f6e0971ddcd2a80ada98e413ca",
      "parents": [
        "3ed4498caf381a73d6259d3ffacc914b17a507ec"
      ],
      "author": {
        "name": "Maarten Lankhorst",
        "email": "m.b.lankhorst@gmail.com",
        "time": "Thu Jun 16 09:04:57 2011 +0000"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Fri Jun 17 14:54:18 2011 -0400"
      },
      "message": "btrfs: Remove unused sysfs code\n\nRemoves code no longer used. The sysfs file itself is kept, because the\nbtrfs developers expressed interest in putting new entries to sysfs.\n\nSigned-off-by: Maarten Lankhorst \u003cm.b.lankhorst@gmail.com\u003e\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "3ed4498caf381a73d6259d3ffacc914b17a507ec",
      "tree": "cfa41f477e31b26a602d5d2e81c52a032071e01d",
      "parents": [
        "e038dca803423bb7a3fa9a162b7dcc225efe9bf9"
      ],
      "author": {
        "name": "David Sterba",
        "email": "dsterba@suse.cz",
        "time": "Mon Jun 13 17:54:22 2011 +0000"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Fri Jun 17 14:54:17 2011 -0400"
      },
      "message": "btrfs: fix dereference of ERR_PTR value\n\nsmatch reports:\n\nbtrfs_recover_log_trees error: \u0027wc.replay_dest\u0027 dereferencing\npossible ERR_PTR()\n\nSigned-off-by: David Sterba \u003cdsterba@suse.cz\u003e\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "e038dca803423bb7a3fa9a162b7dcc225efe9bf9",
      "tree": "efd5d76b77f21b4a9e570f2cb5bed9f95970f7a0",
      "parents": [
        "7585717f304f5ed005cc4ad933a69aab3efbd136",
        "ed0ca14021e5ae3147602128641aa7f742ab227c"
      ],
      "author": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Fri Jun 17 14:16:13 2011 -0400"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Fri Jun 17 14:16:13 2011 -0400"
      },
      "message": "Merge branch \u0027for-chris\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/josef/btrfs-work into for-linus\n\nConflicts:\n\tfs/btrfs/transaction.c\n\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "01eff85b094044c72c9dcbbc16f6cdb0a6757c3f",
      "tree": "f8278072d75b5081550140319c91dac71e219f83",
      "parents": [
        "d9cbf022bb75497fa2ecd7ae166fc92b000ad46e",
        "a27a263bae072a499acc77b632238a6dacccf888"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jun 17 10:37:41 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jun 17 10:37:41 2011 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://oss.sgi.com/xfs/xfs\n\n* \u0027for-linus\u0027 of git://oss.sgi.com/xfs/xfs:\n  xfs: make log devices with write back caches work\n  xfs: fix -\u003emknod() return value on xfs_get_acl() failure\n"
    },
    {
      "commit": "7585717f304f5ed005cc4ad933a69aab3efbd136",
      "tree": "2bbef7f61c61b125778d3631237094594b408e0a",
      "parents": [
        "f4c44016218a6fce357715b9bbabbbbe1f69853c"
      ],
      "author": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Mon Jun 13 20:00:16 2011 -0400"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Fri Jun 17 13:36:58 2011 -0400"
      },
      "message": "Btrfs: fix relocation races\n\nThe recent commit to get rid of our trans_mutex introduced\nsome races with block group relocation.  The problem is that relocation\nneeds to do some record keeping about each root, and it was relying\non the transaction mutex to coordinate things in subtle ways.\n\nThis fix adds a mutex just for the relocation code and makes sure\nit doesn\u0027t have a big impact on normal operations.  The race is\nreally fixed in btrfs_record_root_in_trans, which is where we\nstep back and wait for the relocation code to finish accounting\nsetup.\n\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "879669961b11e7f40b518784863a259f735a72bf",
      "tree": "9bff5392e365caf656c9dd9be38f7471c182278c",
      "parents": [
        "eb96c925152fc289311e5d7e956b919e9b60ab53"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Fri Jun 17 11:25:59 2011 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jun 17 09:40:48 2011 -0700"
      },
      "message": "KEYS/DNS: Fix ____call_usermodehelper() to not lose the session keyring\n\n____call_usermodehelper() now erases any credentials set by the\nsubprocess_inf::init() function.  The problem is that commit\n17f60a7da150 (\"capabilites: allow the application of capability limits\nto usermode helpers\") creates and commits new credentials with\nprepare_kernel_cred() after the call to the init() function.  This wipes\nall keyrings after umh_keys_init() is called.\n\nThe best way to deal with this is to put the init() call just prior to\nthe commit_creds() call, and pass the cred pointer to init().  That\nmeans that umh_keys_init() and suchlike can modify the credentials\n_before_ they are published and potentially in use by the rest of the\nsystem.\n\nThis prevents request_key() from working as it is prevented from passing\nthe session keyring it set up with the authorisation token to\n/sbin/request-key, and so the latter can\u0027t assume the authority to\ninstantiate the key.  This causes the in-kernel DNS resolver to fail\nwith ENOKEY unconditionally.\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nAcked-by: Eric Paris \u003ceparis@redhat.com\u003e\nTested-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "8b97b21e0f4f59801d05a5c536417f04ecfb5603",
      "tree": "47c95c95a4f93a4596dc57204176ceb432234eba",
      "parents": [
        "99a15e21d96f6857dafab1e5167e5e8183215c9c",
        "793925334f32e9026c22baee5c3c340f47d4ef7e"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jun 16 15:02:20 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jun 16 15:02:20 2011 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/ebiederm/linux-2.6-nsfd\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/ebiederm/linux-2.6-nsfd:\n  proc: Fix Oops on stat of /proc/\u003czombie pid\u003e/ns/net\n"
    },
    {
      "commit": "ee7b75fc4f3ae49e1f25bf56219bb5de3c29afaf",
      "tree": "929f8cb07d4e974f5cfa8952a8d6643edfb5a2f5",
      "parents": [
        "9e2dfdb3081edfae66a49013517e80dd8a0469fa"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Jun 16 13:15:41 2011 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Jun 16 13:24:47 2011 -0400"
      },
      "message": "NFSv4: Fix a readdir regression\n\nCommit 7ebb9315 (NFS: use secinfo when crossing mountpoints) introduces\na regression when decoding an NFSv4 readdir entry that sets the\nrdattr_error field.\nBy treating the resulting value as if it is a decoding error, the current\ncode may cause us to skip valid readdir entries.\n\nReported-by: Andy Adamson \u003candros@netapp.com\u003e\nCc: stable@kernel.org [2.6.39]\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "8dac6bee32425dd5145b40fa2307648cb7fb4d4a",
      "tree": "b7165517729b755686f336b3066ebc982c8793ea",
      "parents": [
        "f8f44f09eaa2bfb40651e7fc6054d65c8091499a",
        "d6e43f751f252c68ca69fa6d18665d88d69ef8b7"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jun 16 10:21:59 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jun 16 10:21:59 2011 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6:\n  AFS: Use i_generation not i_version for the vnode uniquifier\n  AFS: Set s_id in the superblock to the volume name\n  vfs: Fix data corruption after failed write in __block_write_begin()\n  afs: afs_fill_page reads too much, or wrong data\n  VFS: Fix vfsmount overput on simultaneous automount\n  fix wrong iput on d_inode introduced by e6bc45d65d\n  Delay struct net freeing while there\u0027s a sysfs instance refering to it\n  afs: fix sget() races, close leak on umount\n  ubifs: fix sget races\n  ubifs: split allocation of ubifs_info into a separate function\n  fix leak in proc_set_super()\n"
    },
    {
      "commit": "a27a263bae072a499acc77b632238a6dacccf888",
      "tree": "b2728b2900c3926cba5833e171b56bc7371dbc07",
      "parents": [
        "c46a131c0c0f4c2457e6b1e430c578a5cb057334"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Thu Jun 16 12:02:23 2011 +0000"
      },
      "committer": {
        "name": "Alex Elder",
        "email": "aelder@sgi.com",
        "time": "Thu Jun 16 10:52:39 2011 -0500"
      },
      "message": "xfs: make log devices with write back caches work\n\nThere\u0027s no reason not to support cache flushing on external log devices.\nThe only thing this really requires is flushing the data device first\nboth in fsync and log commits.  A side effect is that we also have to\nremove the barrier write test during mount, which has been superflous\nsince the new FLUSH+FUA code anyway.  Also use the chance to flush the\nRT subvolume write cache before the fsync commit, which is required\nfor correct semantics.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Alex Elder \u003caelder@sgi.com\u003e\n"
    },
    {
      "commit": "d6e43f751f252c68ca69fa6d18665d88d69ef8b7",
      "tree": "6da6f811e89a6d975661bde86244d7751932d762",
      "parents": [
        "2e41ae225f742ded5b7d9847cd8bd605f27daba8"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Tue Jun 14 00:45:44 2011 +0100"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Thu Jun 16 11:44:48 2011 -0400"
      },
      "message": "AFS: Use i_generation not i_version for the vnode uniquifier\n\nStore the AFS vnode uniquifier in the i_generation field, not the i_version\nfield of the inode struct.  i_version can then be given the AFS data version\nnumber.\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "2e41ae225f742ded5b7d9847cd8bd605f27daba8",
      "tree": "3ac2eb6cc9c00d5e8c8ecbd6997f8bd8c713225e",
      "parents": [
        "f9f07b6c1372b1436aa6b45333445b443ffd8c95"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Tue Jun 14 00:38:44 2011 +0100"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Thu Jun 16 11:44:47 2011 -0400"
      },
      "message": "AFS: Set s_id in the superblock to the volume name\n\nSet s_id in the superblock to the name of the AFS volume that this superblock\ncorresponds to.\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "f9f07b6c1372b1436aa6b45333445b443ffd8c95",
      "tree": "b8bd034260b2c1eee2ca585397ee598079ac261b",
      "parents": [
        "5e7f23373bf9a853e9256e81e86724cdd0a33c29"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Tue Jun 14 00:58:27 2011 +0200"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Thu Jun 16 11:44:46 2011 -0400"
      },
      "message": "vfs: Fix data corruption after failed write in __block_write_begin()\n\nI\u0027ve got a report of a file corruption from fsxlinux on ext3. The important\noperations to the page were:\nmapwrite to a hole\npartial write to the page\nread - found the page zeroed from the end of the normal write\n\nThe culprit seems to be that if get_block() fails in __block_write_begin()\n(e.g. transient ENOSPC in ext3), the function does ClearPageUptodate(page).\nThus when we retry the write, the logic in __block_write_begin() thinks zeroing\nof the page is needed and overwrites old data.  In fact, I don\u0027t see why we\nshould ever need to zero the uptodate bit here - either the page was uptodate\nwhen we entered __block_write_begin() and it should stay so when we leave it,\nor it was not uptodate and noone had right to set it uptodate during\n__block_write_begin() so it remains !uptodate when we leave as well. So just\nremove clearing of the bit.\n\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "5e7f23373bf9a853e9256e81e86724cdd0a33c29",
      "tree": "4e49311429c995889853d0ec0f43a3023869c227",
      "parents": [
        "8aef18845266f5c05904c610088f2d1ed58f6be3"
      ],
      "author": {
        "name": "Anton Blanchard",
        "email": "anton@samba.org",
        "time": "Mon Jun 13 22:31:12 2011 +0100"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Thu Jun 16 11:44:46 2011 -0400"
      },
      "message": "afs: afs_fill_page reads too much, or wrong data\n\nafs_fill_page should read the page that is about to be written but\nthe current implementation has a number of issues. If we aren\u0027t\nextending the file we always read PAGE_CACHE_SIZE at offset 0. If we\nare extending the file we try to read the entire file.\n\nChange afs_fill_page to read PAGE_CACHE_SIZE at the right offset,\nclamped to i_size.\n\nWhile here, avoid calling afs_fill_page when we are doing a\nPAGE_CACHE_SIZE write.\n\nSigned-off-by: Anton Blanchard \u003canton@samba.org\u003e\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "8aef18845266f5c05904c610088f2d1ed58f6be3",
      "tree": "fbdecafcd5e5d15445af18119cc8ee2e9b2cb850",
      "parents": [
        "50338b889dc504c69e0cb316ac92d1b9e51f3c8a"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@ZenIV.linux.org.uk",
        "time": "Thu Jun 16 15:10:06 2011 +0100"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Thu Jun 16 11:28:16 2011 -0400"
      },
      "message": "VFS: Fix vfsmount overput on simultaneous automount\n\n[Kudos to dhowells for tracking that crap down]\n\nIf two processes attempt to cause automounting on the same mountpoint at the\nsame time, the vfsmount holding the mountpoint will be left with one too few\nreferences on it, causing a BUG when the kernel tries to clean up.\n\nThe problem is that lock_mount() drops the caller\u0027s reference to the\nmountpoint\u0027s vfsmount in the case where it finds something already mounted on\nthe mountpoint as it transits to the mounted filesystem and replaces path-\u003emnt\nwith the new mountpoint vfsmount.\n\nDuring a pathwalk, however, we don\u0027t take a reference on the vfsmount if it is\nthe same as the one in the nameidata struct, but do_add_mount() doesn\u0027t know\nthis.\n\nThe fix is to make sure we have a ref on the vfsmount of the mountpoint before\ncalling do_add_mount().  However, if lock_mount() doesn\u0027t transit, we\u0027re then\nleft with an extra ref on the mountpoint vfsmount which needs releasing.\nWe can handle that in follow_managed() by not making assumptions about what\nwe can and what we cannot get from lookup_mnt() as the current code does.\n\nThe callers of follow_managed() expect that reference to path-\u003emnt will be\ngrabbed iff path-\u003emnt has been changed.  follow_managed() and follow_automount()\nkeep track of whether such reference has been grabbed and assume that it\u0027ll\nhappen in those and only those cases that\u0027ll have us return with changed\npath-\u003emnt.  That assumption is almost correct - it breaks in case of\nracing automounts and in even harder to hit race between following a mountpoint\nand a couple of mount --move.  The thing is, we don\u0027t need to make that\nassumption at all - after the end of loop in follow_manage() we can check\nif path-\u003emnt has ended up unchanged and do mntput() if needed.\n\nThe BUG can be reproduced with the following test program:\n\n\t#include \u003cstdio.h\u003e\n\t#include \u003csys/types.h\u003e\n\t#include \u003csys/stat.h\u003e\n\t#include \u003cunistd.h\u003e\n\t#include \u003csys/wait.h\u003e\n\tint main(int argc, char **argv)\n\t{\n\t\tint pid, ws;\n\t\tstruct stat buf;\n\t\tpid \u003d fork();\n\t\tstat(argv[1], \u0026buf);\n\t\tif (pid \u003e 0) wait(\u0026ws);\n\t\treturn 0;\n\t}\n\nand the following procedure:\n\n (1) Mount an NFS volume that on the server has something else mounted on a\n     subdirectory.  For instance, I can mount / from my server:\n\n\tmount warthog:/ /mnt -t nfs4 -r\n\n     On the server /data has another filesystem mounted on it, so NFS will see\n     a change in FSID as it walks down the path, and will mark /mnt/data as\n     being a mountpoint.  This will cause the automount code to be triggered.\n\n     !!! Do not look inside the mounted fs at this point !!!\n\n (2) Run the above program on a file within the submount to generate two\n     simultaneous automount requests:\n\n\t/tmp/forkstat /mnt/data/testfile\n\n (3) Unmount the automounted submount:\n\n\tumount /mnt/data\n\n (4) Unmount the original mount:\n\n\tumount /mnt\n\n     At this point the kernel should throw a BUG with something like the\n     following:\n\n\tBUG: Dentry ffff880032e3c5c0{i\u003d2,n\u003d} still in use (1) [unmount of nfs4 0:12]\n\nNote that the bug appears on the root dentry of the original mount, not the\nmountpoint and not the submount because sys_umount() hasn\u0027t got to its final\nmntput_no_expire() yet, but this isn\u0027t so obvious from the call trace:\n\n [\u003cffffffff8117cd82\u003e] shrink_dcache_for_umount+0x69/0x82\n [\u003cffffffff8116160e\u003e] generic_shutdown_super+0x37/0x15b\n [\u003cffffffffa00fae56\u003e] ? nfs_super_return_all_delegations+0x2e/0x1b1 [nfs]\n [\u003cffffffff811617f3\u003e] kill_anon_super+0x1d/0x7e\n [\u003cffffffffa00d0be1\u003e] nfs4_kill_super+0x60/0xb6 [nfs]\n [\u003cffffffff81161c17\u003e] deactivate_locked_super+0x34/0x83\n [\u003cffffffff811629ff\u003e] deactivate_super+0x6f/0x7b\n [\u003cffffffff81186261\u003e] mntput_no_expire+0x18d/0x199\n [\u003cffffffff811862a8\u003e] mntput+0x3b/0x44\n [\u003cffffffff81186d87\u003e] release_mounts+0xa2/0xbf\n [\u003cffffffff811876af\u003e] sys_umount+0x47a/0x4ba\n [\u003cffffffff8109e1ca\u003e] ? trace_hardirqs_on_caller+0x1fd/0x22f\n [\u003cffffffff816ea86b\u003e] system_call_fastpath+0x16/0x1b\n\nas do_umount() is inlined.  However, you can see release_mounts() in there.\n\nNote also that it may be necessary to have multiple CPU cores to be able to\ntrigger this bug.\n\nTested-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nTested-by: Ian Kent \u003craven@themaw.net\u003e\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "50338b889dc504c69e0cb316ac92d1b9e51f3c8a",
      "tree": "8e353de07b21b350664eff5d69f3a67014d01bcd",
      "parents": [
        "a685e08987d1edf1995b76511d4c98ea0e905377"
      ],
      "author": {
        "name": "Török Edwin",
        "email": "edwintorok@gmail.com",
        "time": "Thu Jun 16 00:06:14 2011 +0300"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Thu Jun 16 11:27:39 2011 -0400"
      },
      "message": "fix wrong iput on d_inode introduced by e6bc45d65d\n\nGit bisection shows that commit e6bc45d65df8599fdbae73be9cec4ceed274db53 causes\nBUG_ONs under high I/O load:\n\nkernel BUG at fs/inode.c:1368!\n[ 2862.501007] Call Trace:\n[ 2862.501007]  [\u003cffffffff811691d8\u003e] d_kill+0xf8/0x140\n[ 2862.501007]  [\u003cffffffff81169c19\u003e] dput+0xc9/0x190\n[ 2862.501007]  [\u003cffffffff8115577f\u003e] fput+0x15f/0x210\n[ 2862.501007]  [\u003cffffffff81152171\u003e] filp_close+0x61/0x90\n[ 2862.501007]  [\u003cffffffff81152251\u003e] sys_close+0xb1/0x110\n[ 2862.501007]  [\u003cffffffff814c14fb\u003e] system_call_fastpath+0x16/0x1b\n\nA reliable way to reproduce this bug is:\nLogin to KDE, run \u0027rsnapshot sync\u0027, and apt-get install openjdk-6-jdk,\nand apt-get remove openjdk-6-jdk.\n\nThe buggy part of the patch is this:\n\tstruct inode *inode \u003d NULL;\n.....\n-               if (nd.last.name[nd.last.len])\n-                       goto slashes;\n                inode \u003d dentry-\u003ed_inode;\n-               if (inode)\n-                       ihold(inode);\n+               if (nd.last.name[nd.last.len] || !inode)\n+                       goto slashes;\n+               ihold(inode)\n...\n\tif (inode)\n\t\tiput(inode);\t/* truncate the inode here */\n\nIf nd.last.name[nd.last.len] is nonzero (and thus goto slashes branch is taken),\nand dentry-\u003ed_inode is non-NULL, then this code now does an additional iput on\nthe inode, which is wrong.\n\nFix this by only setting the inode variable if nd.last.name[nd.last.len] is 0.\n\nReference: https://lkml.org/lkml/2011/6/15/50\nReported-by: Norbert Preining \u003cpreining@logic.at\u003e\nReported-by: Török Edwin \u003cedwintorok@gmail.com\u003e\nCc: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\nCc: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: Török Edwin \u003cedwintorok@gmail.com\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "13fca640bb8ab611a50e0ba120b186faa2994d6c",
      "tree": "0a40a28e498b2e9abdef8c86aa0aef7f82096f00",
      "parents": [
        "67de0162fbb78713fcb23cb2502b380faa8bde73"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jun 15 21:53:52 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jun 15 21:53:52 2011 -0700"
      },
      "message": "Revert \"fs/exec.c: use BUILD_BUG_ON for VM_STACK_FLAGS \u0026 VM_STACK_INCOMPLETE_SETUP\"\n\nThis reverts commit 7f81c8890c15a10f5220bebae3b6dfae4961962a.\n\nIt turns out that it\u0027s not actually a build-time check on x86-64 UML,\nwhich does some seriously crazy stuff with VM_STACK_FLAGS.\n\nThe VM_STACK_FLAGS define depends on the arch-supplied\nVM_STACK_DEFAULT_FLAGS value, and on x86-64 UML we have\n\n  arch/um/sys-x86_64/shared/sysdep/vm-flags.h:\n\n\t#define VM_STACK_DEFAULT_FLAGS \\\n\t\t(test_thread_flag(TIF_IA32) ? vm_stack_flags32 : vm_stack_flags)\n\n\t#define VM_STACK_DEFAULT_FLAGS vm_stack_flags\n\n(yes, seriously: two different #define\u0027s for that thing, with the first\none being inside an \"#ifdef TIF_IA32\")\n\nIt\u0027s possible that it is UML that should just be fixed in this area, but\nfor now let\u0027s just undo the (very small) optimization.\n\nReported-by: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nAcked-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nCc: Michal Hocko \u003cmhocko@suse.cz\u003e\nCc: Richard Weinberger \u003crichard@nod.at\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "7f81c8890c15a10f5220bebae3b6dfae4961962a",
      "tree": "264cb58ffbadb340ce713420a44c00d59fda4e7a",
      "parents": [
        "b0825ee3a8c570df4873ee397fa453e67fdad5d7"
      ],
      "author": {
        "name": "Michal Hocko",
        "email": "mhocko@suse.cz",
        "time": "Wed Jun 15 15:08:11 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jun 15 20:03:59 2011 -0700"
      },
      "message": "fs/exec.c: use BUILD_BUG_ON for VM_STACK_FLAGS \u0026 VM_STACK_INCOMPLETE_SETUP\n\nCommit a8bef8ff6ea1 (\"mm: migration: avoid race between shift_arg_pages()\nand rmap_walk() during migration by not migrating temporary stacks\")\nintroduced a BUG_ON() to ensure that VM_STACK_FLAGS and\nVM_STACK_INCOMPLETE_SETUP do not overlap.  The check is a compile time\none, so BUILD_BUG_ON is more appropriate.\n\nSigned-off-by: Michal Hocko \u003cmhocko@suse.cz\u003e\nCc: Mel Gorman \u003cmel@csn.ul.ie\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "793925334f32e9026c22baee5c3c340f47d4ef7e",
      "tree": "56682059a84cf6ee12b664ac32b42d431f8c4be8",
      "parents": [
        "2c53b436a30867eb6b47dd7bab23ba638d1fb0d2"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Wed Jun 15 12:47:04 2011 -0700"
      },
      "committer": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Wed Jun 15 14:35:29 2011 -0700"
      },
      "message": "proc: Fix Oops on stat of /proc/\u003czombie pid\u003e/ns/net\n\nDon\u0027t call iput with the inode half setup to be a namespace filedescriptor.\nInstead rearrange the code so that we don\u0027t initialize ei-\u003ens_ops until\nafter I ns_ops-\u003eget succeeds, preventing us from invoking ns_ops-\u003eput\nwhen ns_ops-\u003eget failed.\n\nReported-by: Ingo Saitz \u003cIngo.Saitz@stud.uni-hannover.de\u003e\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\n"
    },
    {
      "commit": "9e2dfdb3081edfae66a49013517e80dd8a0469fa",
      "tree": "8b919ceb047bb75a4525ba64ba930026e4e148c4",
      "parents": [
        "ea0ded748bdea78f9e2fefb571f7d6ce9edb4f89"
      ],
      "author": {
        "name": "Fred Isaman",
        "email": "iisaman@netapp.com",
        "time": "Wed Jun 15 14:32:02 2011 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Jun 15 14:36:33 2011 -0400"
      },
      "message": "nfs4.1: mark layout as bad on error path in _pnfs_return_layout\n\nSigned-off-by: Fred Isaman \u003ciisaman@netapp.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "ed0ca14021e5ae3147602128641aa7f742ab227c",
      "tree": "22f9a66f0f99770edb483963ff308982424f2e53",
      "parents": [
        "8351583e3f6e430ce8f71913909a96ad5cc6a2f6"
      ],
      "author": {
        "name": "Josef Bacik",
        "email": "josef@redhat.com",
        "time": "Tue Jun 14 16:22:15 2011 -0400"
      },
      "committer": {
        "name": "Josef Bacik",
        "email": "josef@redhat.com",
        "time": "Wed Jun 15 13:24:47 2011 -0400"
      },
      "message": "Btrfs: set no_trans_join after trying to expand the transaction\n\nWe can lockup if we try to allow new writers join the transaction and we have\nflushoncommit set or have a pending snapshot.  This is because we set\nno_trans_join and then loop around and try to wait for ordered extents again.\nThe problem is the ordered endio stuff needs to join the transaction, which it\ncan\u0027t do because no_trans_join is set.  So instead wait until after this loop to\nset no_trans_join and then make sure to wait for num_writers \u003d\u003d 1 in case\nanybody got started in between us exiting the loop and setting no_trans_join.\nThis could easily be reproduced by mounting -o flushoncommit and running xfstest\n13.  It cannot be reproduced with this patch.  Thanks,\n\nReported-by: Jim Schutt \u003cjaschut@sandia.gov\u003e\nSigned-off-by: Josef Bacik \u003cjosef@redhat.com\u003e\n"
    },
    {
      "commit": "8351583e3f6e430ce8f71913909a96ad5cc6a2f6",
      "tree": "f345f40f94d12ffe090735f19aebc96c72be44bd",
      "parents": [
        "71d7aed014457147e8f71a843d5fbf03235e4a85"
      ],
      "author": {
        "name": "Josef Bacik",
        "email": "josef@redhat.com",
        "time": "Tue Jun 14 15:16:14 2011 -0400"
      },
      "committer": {
        "name": "Josef Bacik",
        "email": "josef@redhat.com",
        "time": "Wed Jun 15 13:24:46 2011 -0400"
      },
      "message": "Btrfs: protect the pending_snapshots list with trans_lock\n\nCurrently there is nothing protecting the pending_snapshots list on the\ntransaction.  We only hold the directory mutex that we are snapshotting and a\nread lock on the subvol_sem, so we could race with somebody else creating a\nsnapshot in a different directory and end up with list corruption.  So protect\nthis list with the trans_lock.  Thanks,\n\nSigned-off-by: Josef Bacik \u003cjosef@redhat.com\u003e\n"
    },
    {
      "commit": "71d7aed014457147e8f71a843d5fbf03235e4a85",
      "tree": "bdcb1845959bf6f7ca7f5382a7b53712eefe822a",
      "parents": [
        "30b4caf5d73af5c99cf1b2b46496d8bc35330992"
      ],
      "author": {
        "name": "Josef Bacik",
        "email": "josef@redhat.com",
        "time": "Tue Jun 14 14:24:32 2011 -0400"
      },
      "committer": {
        "name": "Josef Bacik",
        "email": "josef@redhat.com",
        "time": "Wed Jun 15 13:24:45 2011 -0400"
      },
      "message": "Btrfs: fix path leakage on subvol deletion\n\nThe delayed ref patch accidently removed the btrfs_free_path in\nbtrfs_unlink_subvol, this puts it back and means we don\u0027t leak a path.  Thanks,\n\nSigned-off-by: Josef Bacik \u003cjosef@redhat.com\u003e\n"
    },
    {
      "commit": "ea0ded748bdea78f9e2fefb571f7d6ce9edb4f89",
      "tree": "ce4589aecc27e8936529ce1cbc4d8a129a1f43b2",
      "parents": [
        "1ed3a8539af7b36aa5c977f304e80f7fc8d27bfc"
      ],
      "author": {
        "name": "Fred Isaman",
        "email": "iisaman@netapp.com",
        "time": "Wed Jun 15 12:31:02 2011 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Jun 15 12:39:23 2011 -0400"
      },
      "message": "nfs4.1: prevent race that allowed use of freed layout in _pnfs_return_layout\n\nmark_matching_lsegs_invalid could put the last ref to the layout, so\nthe get_layout_hdr needs to be called first.\n\nSigned-off-by: Fred Isaman \u003ciisaman@netapp.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "1ed3a8539af7b36aa5c977f304e80f7fc8d27bfc",
      "tree": "2e4f96dccc79f57a9afb0cd0bc89add38d311d94",
      "parents": [
        "c7fd06228b994190d8369a2a0acf5224e4e13d1a"
      ],
      "author": {
        "name": "Benny Halevy",
        "email": "benny@tonian.com",
        "time": "Wed Jun 15 11:39:57 2011 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Jun 15 11:52:15 2011 -0400"
      },
      "message": "NFSv4.1: need to put_layout_hdr on _pnfs_return_layout error path\n\nWe always get a reference on the layout header and we rely on\nnfs4_layoutreturn_release to put it.  If we hit an allocation error\nbefore starting the rpc proc we bail out early without dereferncing\nthe layout header properly.\n\nSigned-off-by: Benny Halevy \u003cbenny@tonian.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "c7fd06228b994190d8369a2a0acf5224e4e13d1a",
      "tree": "984982b02e8e890b5805ec7ed6605bc2afc86635",
      "parents": [
        "d771e3a43e23a37398b7e05a9d1b1036d698263c"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Wed Jun 15 00:55:44 2011 +0100"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Jun 15 11:24:31 2011 -0400"
      },
      "message": "NFS: (d)printks should use %zd for ssize_t arguments\n\n(d)printks should use %zd for ssize_t arguments not %ld, otherwise they might\nget a warning.  I see the following with MN10300.\n\nfs/nfs/objlayout/objlayout.c: In function \u0027objlayout_read_done\u0027:\nfs/nfs/objlayout/objlayout.c:294: warning: format \u0027%ld\u0027 expects type \u0027long int\u0027, but argument 3 has type \u0027ssize_t\u0027\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\ncc: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\ncc: linux-nfs@vger.kernel.org\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "d771e3a43e23a37398b7e05a9d1b1036d698263c",
      "tree": "60bdf8b0722527c7d48a76abc1f57dddc6d0ddc5",
      "parents": [
        "a2e1d4f2e5ed83850de92a491ef225824cb457bd"
      ],
      "author": {
        "name": "Benny Halevy",
        "email": "benny@tonian.com",
        "time": "Tue Jun 14 16:30:16 2011 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Jun 15 11:24:31 2011 -0400"
      },
      "message": "NFSv4.1: fix break condition in pnfs_find_lseg\n\nThe break condition to skip out of the loop got broken when cmp_layout\nwas change.  Essentially, we want to stop looking once we know no layout\non the remainder of the list can match the first byte of the looked-up\nrange.\n\nReported-by: Peng Tao \u003cpeng_tao@emc.com\u003e\nSigned-off-by: Benny Halevy \u003cbenny@tonian.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "a2e1d4f2e5ed83850de92a491ef225824cb457bd",
      "tree": "a97ec1b7e83b254e9b7179425e848d72cd6c3db3",
      "parents": [
        "cec765cf5891c7fc3d905832b481bfb6fd55825d"
      ],
      "author": {
        "name": "Fred Isaman",
        "email": "iisaman@netapp.com",
        "time": "Mon Jun 13 18:54:53 2011 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Jun 15 11:24:30 2011 -0400"
      },
      "message": "nfs4.1: fix several problems with _pnfs_return_layout\n\n_pnfs_return_layout had the following problems:\n\n- it did not call pnfs_free_lseg_list on all paths\n- it unintentionally did a forgetful return when there was no outstanding io\n- it raced with concurrent LAYOUTGETS\n\nSigned-off-by: Fred Isaman \u003ciisaman@netapp.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "cec765cf5891c7fc3d905832b481bfb6fd55825d",
      "tree": "ae3ec9371f7aedfcebb96a02887d5550c4ba5e26",
      "parents": [
        "533eb4611c9eea53072eb6a61d5a6393b6a77ed7"
      ],
      "author": {
        "name": "Andy Adamson",
        "email": "andros@netapp.com",
        "time": "Mon Jun 13 18:36:17 2011 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Jun 15 11:24:30 2011 -0400"
      },
      "message": "NFSv4.1: allow zero fh array in filelayout decode layout\n\nSigned-off-by: Andy Adamson \u003candros@netapp.com\u003e\ncc:stable@kernel.org [2.6.39]\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "533eb4611c9eea53072eb6a61d5a6393b6a77ed7",
      "tree": "adb2b4cbfe85689979d2cf971b65ebcd0d383d56",
      "parents": [
        "1d92a08da23848a38eece4df7eaa4e8ec0e6c699"
      ],
      "author": {
        "name": "Andy Adamson",
        "email": "andros@netapp.com",
        "time": "Mon Jun 13 18:25:56 2011 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Jun 15 11:24:29 2011 -0400"
      },
      "message": "NFSv4.1: allow nfs_fhget to succeed with mounted on fileid\n\nCommit 28331a46d88459788c8fca72dbb0415cd7f514c9 \"Ensure we request the\nordinary fileid when doing readdirplus\"\nchanged the meaning of NFS_ATTR_FATTR_FILEID which used to be set when\nFATTR4_WORD1_MOUNTED_ON_FILED was requested.\n\nAllow nfs_fhget to succeed with only a mounted on fileid when crossing\na mountpoint or a referral.\n\nAsk for the fileid of the absent file system if mounted_on_fileid is not\nsupported.\n\nSigned-off-by: Andy Adamson \u003candros@netapp.com\u003e\ncc:stable@kernel.org [2.6.39]\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "1d92a08da23848a38eece4df7eaa4e8ec0e6c699",
      "tree": "17da4ebe1aba9da32990a7fa5bbe3f2ff6f60941",
      "parents": [
        "c9c30dd5f73dccaa326a54dfcf490316946aea87"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Jun 14 12:07:38 2011 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Jun 15 11:24:29 2011 -0400"
      },
      "message": "NFSv4.1: Fix a refcounting issue in the pNFS device id cache\n\nWhen we add something to the global device id cache, we need to bump the\nreference count, so that the cache itself holds a reference.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "c9c30dd5f73dccaa326a54dfcf490316946aea87",
      "tree": "b7e4f9488c805cf5e29f93b25a75713f3922e823",
      "parents": [
        "0f66b5984df2fe1617c05900a39a7ef493ca9de9"
      ],
      "author": {
        "name": "Benny Halevy",
        "email": "benny@tonian.com",
        "time": "Sat Jun 11 17:08:39 2011 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Jun 15 11:24:28 2011 -0400"
      },
      "message": "NFSv4.1: deprecate headerpadsz in CREATE_SESSION\n\nWe don\u0027t support header padding yet so better off ditching it\n\nReported-by: Sid Moore \u003clearnmost@gmail.com\u003e\nSigned-off-by: Benny Halevy \u003cbenny@tonian.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "0f66b5984df2fe1617c05900a39a7ef493ca9de9",
      "tree": "682ad324d9cfab94ffde805c6ca0372f7f40d3d3",
      "parents": [
        "0b760113a3a155269a3fba93a409c640031dd68f"
      ],
      "author": {
        "name": "Peng Tao",
        "email": "bergwolf@gmail.com",
        "time": "Sat Oct 16 22:07:46 2010 -0700"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Jun 15 11:24:28 2011 -0400"
      },
      "message": "NFS41: do not update isize if inode needs layoutcommit\n\nnfs_update_inode will update isize if there is no queued pages. For pNFS,\nlayoutcommit is supposed to change file size on server, the same effect as queued\npages. nfs_update_inode may be called when dirty pages are written back (nfsi-\u003enpages\u003d\u003d0)\nbut layoutcommit is not sent, and it will change client file size according to server\nfile size. Then client ends up losing what it just writes back in pNFS path.\nSo we should skip updating client file size if file needs layoutcommit.\n\nSigned-off-by: Peng Tao \u003cpeng_tao@emc.com\u003e\nCc: stable@kernel.org   [2.6.39]\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "0b760113a3a155269a3fba93a409c640031dd68f",
      "tree": "699dc3e0ebe2df11b0c67045c046deafdb56282d",
      "parents": [
        "9e3bd4e24e94d60d2e0762e919aab6c9a7fc0c5b"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue May 31 15:15:34 2011 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Jun 15 11:24:27 2011 -0400"
      },
      "message": "NLM: Don\u0027t hang forever on NLM unlock requests\n\nIf the NLM daemon is killed on the NFS server, we can currently end up\nhanging forever on an \u0027unlock\u0027 request, instead of aborting. Basically,\nif the rpcbind request fails, or the server keeps returning garbage, we\nreally want to quit instead of retrying.\n\nTested-by: Vasily Averin \u003cvvs@sw.ru\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\nCc: stable@kernel.org\n"
    },
    {
      "commit": "9e3bd4e24e94d60d2e0762e919aab6c9a7fc0c5b",
      "tree": "61ac70f49e793494dee1196dae55ac0c19036410",
      "parents": [
        "3f303103b884ca577908d3e5c0650ad12e40c586"
      ],
      "author": {
        "name": "Weston Andros Adamson",
        "email": "dros@netapp.com",
        "time": "Tue May 31 21:46:50 2011 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Jun 15 11:23:02 2011 -0400"
      },
      "message": "NFS: fix umount of pnfs filesystems\n\nUnmounting a pnfs filesystem hangs using filelayout and possibly others.\nThis fixes the use of the rcu protected node by making use of a new \u0027tmpnode\u0027\nfor the temporary purge list. Also, the spinlock shouldn\u0027t be held when calling\nsynchronize_rcu().\n\nSigned-off-by: Weston Andros Adamson \u003cdros@netapp.com\u003e\nSigned-off-by: Andy Adamson \u003candros@netapp.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "1252b3013b790c77e1c4f077a40542f86df37fb4",
      "tree": "dd830c22c120672e80c1f4f69e6c7ab255ea3c9b",
      "parents": [
        "040d15c86747cf44fcf6b8ee19d805d4ef20caf3"
      ],
      "author": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Tue Jun 14 16:19:54 2011 +0000"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Tue Jun 14 16:19:54 2011 +0000"
      },
      "message": "[CIFS] update cifs version to 1.73\n\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "c46a131c0c0f4c2457e6b1e430c578a5cb057334",
      "tree": "82a85e1ca871aa1c953f25659c4db8963bf7cc13",
      "parents": [
        "59c5f46fbe01a00eedf54a23789634438bb80603"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@ZenIV.linux.org.uk",
        "time": "Sun Jun 05 11:12:31 2011 +0000"
      },
      "committer": {
        "name": "Alex Elder",
        "email": "aelder@sgi.com",
        "time": "Tue Jun 14 11:02:13 2011 -0500"
      },
      "message": "xfs: fix -\u003emknod() return value on xfs_get_acl() failure\n\n-\u003emknod() should return negative on errors and PTR_ERR() gives\nalready negative value...\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nReviewed-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Alex Elder \u003caelder@sgi.com\u003e\n"
    },
    {
      "commit": "040d15c86747cf44fcf6b8ee19d805d4ef20caf3",
      "tree": "a4ef01d1071920975bc64f132abdabac9af56c8c",
      "parents": [
        "8d1bca328b7c17af33bcf966d799c556ecbf370f"
      ],
      "author": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Tue Jun 14 15:51:18 2011 +0000"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Tue Jun 14 15:51:18 2011 +0000"
      },
      "message": "[CIFS] trivial cleanup fscache cFYI and cERROR messages\n\n... for uniformity and cleaner debug logs.\n\nSigned-off-by: Suresh Jayaraman \u003csjayaraman@suse.de\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "1123d93963cbd2546449d4d9f0c568e323cb0ac6",
      "tree": "f8d9a07c85bab7e82c8e0b55c98dff9d8dff94db",
      "parents": [
        "2c53b436a30867eb6b47dd7bab23ba638d1fb0d2"
      ],
      "author": {
        "name": "Max Asbock",
        "email": "masbock@linux.vnet.ibm.com",
        "time": "Mon Jun 13 10:18:32 2011 -0700"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Tue Jun 14 11:46:14 2011 +0200"
      },
      "message": "timerfd: Fix wakeup of processes when timer is cancelled on clock change\n\nCurrently processes waiting with poll on cancelable timerfd timers are\nnot woken up when the timers are canceled. When the system time is set\nthe clock_was_set() function calls timerfd_clock_was_set() to cancel\nand wake up processes waiting on potential cancelable timerfd\ntimers. However the wake up currently has no effect because in the\ncase of timerfd_read it is dependent on ctx-\u003eticks not being\n0. timerfd_poll also requires ctx-\u003eticks being non zero. As a\nconsequence processes waiting on cancelable timers only get woken up\nwhen the timers expire. This patch fixes this by incrementing\nctx-\u003eticks before calling wake_up.\n\nSigned-off-by: Max Asbock \u003cmasbock@linux.vnet.ibm.com\u003e\nCc: kay.sievers@vrfy.org\nCc: virtuoso@slind.org\nCc: johnstul \u003cjohnstul@linux.vnet.ibm.com\u003e\nLink: http://lkml.kernel.org/r/1307985512.4710.41.camel@w-amax.beaverton.ibm.com\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "8d1bca328b7c17af33bcf966d799c556ecbf370f",
      "tree": "734c3909bd750f8de39d04ee656eae6d31d2e24a",
      "parents": [
        "3e715513643f0207c8f3c22010b54954cd697474"
      ],
      "author": {
        "name": "Jeff Layton",
        "email": "jlayton@redhat.com",
        "time": "Sat Jun 11 21:17:10 2011 -0400"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Mon Jun 13 20:34:34 2011 +0000"
      },
      "message": "cifs: correctly handle NULL tcon pointer in CIFSTCon\n\nLong ago (in commit 00e485b0), I added some code to handle share-level\npasswords in CIFSTCon. That code ignored the fact that it\u0027s legit to\npass in a NULL tcon pointer when connecting to the IPC$ share on the\nserver.\n\nThis wasn\u0027t really a problem until recently as we only called CIFSTCon\nthis way when the server returned -EREMOTE. With the introduction of\ncommit c1508ca2 however, it gets called this way on every mount, causing\nan oops when share-level security is in effect.\n\nFix this by simply treating a NULL tcon pointer as if user-level\nsecurity were in effect. I\u0027m not aware of any servers that protect the\nIPC$ share with a specific password anyway. Also, add a comment to the\ntop of CIFSTCon to ensure that we don\u0027t make the same mistake again.\n\nCc: \u003cstable@kernel.org\u003e\nReported-by: Martijn Uffing \u003cmp3project@sarijopen.student.utwente.nl\u003e\nSigned-off-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "3e715513643f0207c8f3c22010b54954cd697474",
      "tree": "7f35f4bc196fff989bb2a17fb22a86e348b03cf9",
      "parents": [
        "7fdbaa1b8daa1009b705985b903e3d2ebccad456"
      ],
      "author": {
        "name": "Jeff Layton",
        "email": "jlayton@redhat.com",
        "time": "Mon Jun 13 11:50:41 2011 -0400"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Mon Jun 13 20:34:34 2011 +0000"
      },
      "message": "cifs: show sec\u003d option in /proc/mounts\n\nSigned-off-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "7fdbaa1b8daa1009b705985b903e3d2ebccad456",
      "tree": "46097ff74b491655845753f8a09216822653c77d",
      "parents": [
        "cd51875d53ae1459a2b09b4338166a218c0635a7"
      ],
      "author": {
        "name": "Jeff Layton",
        "email": "jlayton@redhat.com",
        "time": "Fri Jun 10 16:14:57 2011 -0400"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Mon Jun 13 20:34:33 2011 +0000"
      },
      "message": "cifs: don\u0027t allow cifs_reconnect to exit with NULL socket pointer\n\nIt\u0027s possible for the following set of events to happen:\n\ncifsd calls cifs_reconnect which reconnects the socket. A userspace\nprocess then calls cifs_negotiate_protocol to handle the NEGOTIATE and\ngets a reply. But, while processing the reply, cifsd calls\ncifs_reconnect again.  Eventually the GlobalMid_Lock is dropped and the\nreply from the earlier NEGOTIATE completes and the tcpStatus is set to\nCifsGood. cifs_reconnect then goes through and closes the socket and sets the\npointer to zero, but because the status is now CifsGood, the new socket\nis not created and cifs_reconnect exits with the socket pointer set to\nNULL.\n\nFix this by only setting the tcpStatus to CifsGood if the tcpStatus is\nCifsNeedNegotiate, and by making sure that generic_ip_connect is always\ncalled at least once in cifs_reconnect.\n\nNote that this is not a perfect fix for this issue. It\u0027s still possible\nthat the NEGOTIATE reply is handled after the socket has been closed and\nreconnected. In that case, the socket state will look correct but it no\nNEGOTIATE was performed on it be for the wrong socket. In that situation\nthough the server should just shut down the socket on the next attempted\nsend, rather than causing the oops that occurs today.\n\nCc: \u003cstable@kernel.org\u003e # .38.x: fd88ce9: [CIFS] cifs: clarify the meaning of tcpStatus \u003d\u003d CifsGood\nReported-and-Tested-by: Ben Greear \u003cgreearb@candelatech.com\u003e\nSigned-off-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "cd51875d53ae1459a2b09b4338166a218c0635a7",
      "tree": "701511e617549ae84de010d6849ef544fac0afd0",
      "parents": [
        "40779859de0f73b40390c6401a024d06cf024290"
      ],
      "author": {
        "name": "Pavel Shilovsky",
        "email": "piastryyy@gmail.com",
        "time": "Thu Jun 09 12:58:53 2011 +0400"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Mon Jun 13 20:34:33 2011 +0000"
      },
      "message": "CIFS: Fix sparse error\n\ncifs_sb_master_tlink was declared as inline, but without a definition.\nRemove the declaration and move the definition up.\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": "de1b794130b130e77ffa975bb58cb843744f9ae5",
      "tree": "8c4b37582128dc36c2b7385294fba58d017ce3e8",
      "parents": [
        "1fb74cda1b5e9c6207225fda5ef7504e815ce0e0"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Mon Jun 13 15:38:22 2011 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Mon Jun 13 15:38:22 2011 -0400"
      },
      "message": "jbd2: Fix oops in jbd2_journal_remove_journal_head()\n\njbd2_journal_remove_journal_head() can oops when trying to access\njournal_head returned by bh2jh(). This is caused for example by the\nfollowing race:\n\n\tTASK1\t\t\t\t\tTASK2\n  jbd2_journal_commit_transaction()\n    ...\n    processing t_forget list\n      __jbd2_journal_refile_buffer(jh);\n      if (!jh-\u003eb_transaction) {\n        jbd_unlock_bh_state(bh);\n\t\t\t\t\tjbd2_journal_try_to_free_buffers()\n\t\t\t\t\t  jbd2_journal_grab_journal_head(bh)\n\t\t\t\t\t  jbd_lock_bh_state(bh)\n\t\t\t\t\t  __journal_try_to_free_buffer()\n\t\t\t\t\t  jbd2_journal_put_journal_head(jh)\n        jbd2_journal_remove_journal_head(bh);\n\njbd2_journal_put_journal_head() in TASK2 sees that b_jcount \u003d\u003d 0 and\nbuffer is not part of any transaction and thus frees journal_head\nbefore TASK1 gets to doing so. Note that even buffer_head can be\nreleased by try_to_free_buffers() after\njbd2_journal_put_journal_head() which adds even larger opportunity for\noops (but I didn\u0027t see this happen in reality).\n\nFix the problem by making transactions hold their own journal_head\nreference (in b_jcount). That way we don\u0027t have to remove journal_head\nexplicitely via jbd2_journal_remove_journal_head() and instead just\nremove journal_head when b_jcount drops to zero. The result of this is\nthat [__]jbd2_journal_refile_buffer(),\n[__]jbd2_journal_unfile_buffer(), and\n__jdb2_journal_remove_checkpoint() can free journal_head which needs\nmodification of a few callers. Also we have to be careful because once\njournal_head is removed, buffer_head might be freed as well. So we\nhave to get our own buffer_head reference where it matters.\n\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "ffdb8f1bfbd9cef1394f5d3c4a774015d4ac0f97",
      "tree": "4c7b06a4df4e3fc18e63df33230080a419f7c606",
      "parents": [
        "80dadf86d607bc5f25cc384ac590ef8b49ae523a",
        "0c1f91f27140cf3b6e38dc4e892adac241c73a20"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jun 13 11:21:50 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jun 13 11:21:50 2011 -0700"
      },
      "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: unwind canceled flock state\n  ceph: fix ENOENT logic in striped_read\n  ceph: fix short sync reads from the OSD\n  ceph: fix sync vs canceled write\n  ceph: use ihold when we already have an inode ref\n"
    },
    {
      "commit": "c78a9b9b8e36b8de302eddbe7a1688af3d9650ff",
      "tree": "3857996cf30ae6a60b5afe2e1e3e30f75fbca05e",
      "parents": [
        "842c895d140a75e5d67fa346213deb3ca2b460f8",
        "5f127133ee432d0b83ee26e8e3a3d7828ab5f2b1"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jun 13 10:45:49 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jun 13 10:45:49 2011 -0700"
      },
      "message": "Merge branch \u0027perf-urgent-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027perf-urgent-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  ftrace: Revert 8ab2b7efd ftrace: Remove unnecessary disabling of irqs\n  kprobes/trace: Fix kprobe selftest for gcc 4.6\n  ftrace: Fix possible undefined return code\n  oprofile, dcookies: Fix possible circular locking dependency\n  oprofile: Fix locking dependency in sync_start()\n  oprofile: Free potentially owned tasks in case of errors\n  oprofile, x86: Add comments to IBS LVT offset initialization\n"
    },
    {
      "commit": "33a538833f1dc46965d11cff1efa756702a9b138",
      "tree": "7d3c91618422f263356d28ade3c179c92c3c02c1",
      "parents": [
        "3c25fa740e2084a3950f581378ec29a3c307ddfc",
        "071d73cfe5c38cf62338b952bd350ff3de541b75"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jun 13 10:32:24 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jun 13 10:32:24 2011 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/ryusuke/nilfs2\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/ryusuke/nilfs2:\n  nilfs2: fix problem in setting checkpoint interval\n  nilfs2: fix missing block address termination in btree node shrinking\n  nilfs2: fix incorrect block address termination in node concatenation\n"
    },
    {
      "commit": "f4c44016218a6fce357715b9bbabbbbe1f69853c",
      "tree": "eb091e38b620a174d14e194964707c530bacbd0e",
      "parents": [
        "ac08aedfa5d3de0dcb3825b598d16c2e57991f54"
      ],
      "author": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Mon Jun 13 11:30:47 2011 -0400"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Mon Jun 13 11:30:47 2011 -0400"
      },
      "message": "Btrfs: drop the delalloc_bytes check in shrink_delalloc\n\nEven when delalloc_bytes is zero, we may need to sleep while waiting\nfor delalloc space.\n\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "ac08aedfa5d3de0dcb3825b598d16c2e57991f54",
      "tree": "c5b72fd5837524e60e14d0f3dfd4afc67b53c4da",
      "parents": [
        "30b4caf5d73af5c99cf1b2b46496d8bc35330992"
      ],
      "author": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Mon Jun 13 11:28:50 2011 -0400"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Mon Jun 13 11:28:50 2011 -0400"
      },
      "message": "Btrfs: check the return value from set_anon_super\n\nAl Viro noticed we weren\u0027t checking for set_anon_super failures.  This\nadds the required checks.\n\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "1fb74cda1b5e9c6207225fda5ef7504e815ce0e0",
      "tree": "9a4d05e917f6204e5edf6cd4044715847e0ba6b3",
      "parents": [
        "a9c667f8f0656631ee5438baaf21bf30d5f67375"
      ],
      "author": {
        "name": "Tao Ma",
        "email": "boyu.mt@taobao.com",
        "time": "Sun Jun 12 22:44:10 2011 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Sun Jun 12 22:44:10 2011 -0400"
      },
      "message": "jbd2: Remove obsolete parameters in the comments for some jbd2 functions\n\ncredits isn\u0027t a parameter for jbd2_journal_get_write_access and\njbd2_journal_get_undo_access. So remove the corresponding comments.\n\nAcked-by: Jan Kara \u003cjack@suse.cz\u003e\nCc: Randy Dunlap \u003crdunlap@xenotime.net\u003e\nSigned-off-by: Tao Ma \u003cboyu.mt@taobao.com\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "a685e08987d1edf1995b76511d4c98ea0e905377",
      "tree": "1d42593e2bc320f8d93b98851b2df0fd432e3859",
      "parents": [
        "dde194a64bb5c3fd05d965775dc92e8a4920a53a"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Wed Jun 08 21:13:01 2011 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sun Jun 12 17:45:41 2011 -0400"
      },
      "message": "Delay struct net freeing while there\u0027s a sysfs instance refering to it\n\n\t* new refcount in struct net, controlling actual freeing of the memory\n\t* new method in kobj_ns_type_operations (-\u003edrop_ns())\n\t* -\u003ecurrent_ns() semantics change - it\u0027s supposed to be followed by\ncorresponding -\u003edrop_ns().  For struct net in case of CONFIG_NET_NS it bumps\nthe new refcount; net_drop_ns() decrements it and calls net_free() if the\nlast reference has been dropped.  Method renamed to -\u003egrab_current_ns().\n\t* old net_free() callers call net_drop_ns() instead.\n\t* sysfs_exit_ns() is gone, along with a large part of callchain\nleading to it; now that the references stored in -\u003ens[...] stay valid we\ndo not need to hunt them down and replace them with NULL.  That fixes\nproblems in sysfs_lookup() and sysfs_readdir(), along with getting rid\nof sb-\u003es_instances abuse.\n\n\tNote that struct net *shutdown* logics has not changed - net_cleanup()\nis called exactly when it used to be called.  The only thing postponed by\nhaving a sysfs instance refering to that struct net is actual freeing of\nmemory occupied by struct net.\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "dde194a64bb5c3fd05d965775dc92e8a4920a53a",
      "tree": "2de96109524026f5e3b2bf6d9e3a6999716c8bde",
      "parents": [
        "d251ed271d528afb407cc2ede30923e34cb209a5"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sun Jun 12 16:01:21 2011 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sun Jun 12 17:45:36 2011 -0400"
      },
      "message": "afs: fix sget() races, close leak on umount\n\n* set -\u003es_fs_info in set() callback passed to sget()\n* allocate the thing and set it up enough for afs_test_super() before\nmaking it visible\n* have it freed in -\u003ekill_sb() (current tree simply leaks it)\n* have -\u003eput_super() leave -\u003es_fs_info-\u003evolume alone; it\u0027s too early for\ndropping it; do that from -\u003ekill_sb() after having called kill_anon_super().\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "d251ed271d528afb407cc2ede30923e34cb209a5",
      "tree": "b77e0133453057821ee50956c560013acb467c4c",
      "parents": [
        "b1c27ab3f93daede979f804afc38b189c2f17c60"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sun Jun 12 10:24:33 2011 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sun Jun 12 17:45:34 2011 -0400"
      },
      "message": "ubifs: fix sget races\n\n* allocate ubifs_info in -\u003emount(), fill it enough for sb_test() and\nset -\u003es_fs_info to it in set() callback passed to sget().\n* do *not* free it in -\u003eput_super(); do that in -\u003ekill_sb() after we\u0027d\ndone kill_anon_super().\n* don\u0027t free it in ubifs_fill_super() either - deactivate_locked_super()\ndone by caller when ubifs_fill_super() returns an error will take care\nof that sucker.\n* get rid of kludge with passing ubi to ubifs_fill_super() in -\u003es_fs_info;\nwe only need it in alloc_ubifs_info(), so ubifs_fill_super() will need\nonly ubifs_info.  Which it will find in -\u003es_fs_info just fine, no need to\nreassign anything...\n\nAs the result, sb_test() becomes safe to apply to all superblocks that\ncan be found by sget() (and a kludge with temporary use of -\u003es_fs_info\nto store a pointer to very different structure goes away).\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "b1c27ab3f93daede979f804afc38b189c2f17c60",
      "tree": "469479c334b7e346708b17e269e399e073a8098f",
      "parents": [
        "ff78fca2a03c08436535d3f7152a30752d8131d1"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sun Jun 12 10:07:03 2011 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sun Jun 12 17:45:32 2011 -0400"
      },
      "message": "ubifs: split allocation of ubifs_info into a separate function\n\npreparation to ubifs sget() race fixes\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "ff78fca2a03c08436535d3f7152a30752d8131d1",
      "tree": "314de976604243449825241d814fb80b9a1e89b4",
      "parents": [
        "b99ca60c83a631adaba9c2fff8f2dd14d3517a61"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sun Jun 12 09:42:17 2011 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sun Jun 12 17:45:28 2011 -0400"
      },
      "message": "fix leak in proc_set_super()\n\nset_anon_super() can fail...\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "3c25fa740e2084a3950f581378ec29a3c307ddfc",
      "tree": "0d41fe11789be7a406e4d29c111713f75548fbc1",
      "parents": [
        "9d6fa8fa7042622f8ed9c0988de665464d4584a6",
        "30b4caf5d73af5c99cf1b2b46496d8bc35330992"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Jun 12 11:06:36 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Jun 12 11:06:36 2011 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/mason/btrfs-unstable\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/mason/btrfs-unstable:\n  Btrfs: use join_transaction in btrfs_evict_inode()\n  Btrfs - use %pU to print fsid\n  Btrfs: fix extent state leak on failed nodatasum reads\n  btrfs: fix unlocked access of delalloc_inodes\n  Btrfs: avoid stack bloat in btrfs_ioctl_fs_info()\n  btrfs: remove 64bit alignment padding to allow extent_buffer to fit into one fewer cacheline\n  Btrfs: clear current-\u003ejournal_info on async transaction commit\n  Btrfs: make sure to recheck for bitmaps in clusters\n  btrfs: remove unneeded includes from scrub.c\n  btrfs: reinitialize scrub workers\n  btrfs: scrub: errors in tree enumeration\n  Btrfs: don\u0027t map extent buffer if path-\u003eskip_locking is set\n  Btrfs: unlock the trans lock properly\n  Btrfs: don\u0027t map extent buffer if path-\u003eskip_locking is set\n  Btrfs: fix duplicate checking logic\n  Btrfs: fix the allocator loop logic\n  Btrfs: fix bitmap regression\n  Btrfs: don\u0027t commit the transaction if we dont have enough pinned bytes\n  Btrfs: noinline the cluster searching functions\n  Btrfs: cache bitmaps when searching for a cluster\n"
    },
    {
      "commit": "30b4caf5d73af5c99cf1b2b46496d8bc35330992",
      "tree": "009c4e72049ec03e6e7254b8b8c15e5af7c7e1ad",
      "parents": [
        "22b63a2971c5657dfc1bf4514f9410fc90c8b2c2"
      ],
      "author": {
        "name": "Li Zefan",
        "email": "lizf@cn.fujitsu.com",
        "time": "Wed Jun 08 03:56:44 2011 +0000"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Sat Jun 11 08:31:55 2011 -0400"
      },
      "message": "Btrfs: use join_transaction in btrfs_evict_inode()\n\nThe WARN_ON() in start_transaction() was triggered while balancing.\n\nThe cause is btrfs_relocate_chunk() started a transaction and\nthen called iput() on the inode that stores free space cache,\nand iput() called btrfs_start_transaction() again.\n\nReported-by: Tsutomu Itoh \u003ct-itoh@jp.fujitsu.com\u003e\nSigned-off-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nReviewed-by: Josef Bacik \u003cjosef@redhat.com\u003e\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "071d73cfe5c38cf62338b952bd350ff3de541b75",
      "tree": "cf917178d850e458a7091d00cba30c2b54696d48",
      "parents": [
        "d40990537c9ea85dfe75dbe0ffba5e1002dfdf3f"
      ],
      "author": {
        "name": "Ryusuke Konishi",
        "email": "konishi.ryusuke@lab.ntt.co.jp",
        "time": "Fri Jun 10 00:33:06 2011 +0900"
      },
      "committer": {
        "name": "Ryusuke Konishi",
        "email": "konishi.ryusuke@lab.ntt.co.jp",
        "time": "Sat Jun 11 15:51:15 2011 +0900"
      },
      "message": "nilfs2: fix problem in setting checkpoint interval\n\nCheckpoint generation interval of nilfs goes wrong after user has\nchanged the interval parameter with nilfs-tune tool.\n\n segctord starting. Construction interval \u003d 5 seconds,\n CP frequency \u003c 30 seconds\n segctord starting. Construction interval \u003d 0 seconds,\n CP frequency \u003c 30 seconds\n\nThis turned out to be caused by a trivial bug in initialization code\nof log writer.  This will fix it.\n\nReported-by: Andrea Gelmini \u003candrea.gelmini@gmail.com\u003e\nSigned-off-by: Ryusuke Konishi \u003ckonishi.ryusuke@lab.ntt.co.jp\u003e\n"
    },
    {
      "commit": "d40990537c9ea85dfe75dbe0ffba5e1002dfdf3f",
      "tree": "3db27e3e911428502942c95b9f8f52e2a041bd54",
      "parents": [
        "fe744fdb74f2417d8571faefa45f72b0ead25f89"
      ],
      "author": {
        "name": "Ryusuke Konishi",
        "email": "konishi.ryusuke@lab.ntt.co.jp",
        "time": "Wed May 25 23:00:27 2011 +0900"
      },
      "committer": {
        "name": "Ryusuke Konishi",
        "email": "konishi.ryusuke@lab.ntt.co.jp",
        "time": "Sat Jun 11 15:51:15 2011 +0900"
      },
      "message": "nilfs2: fix missing block address termination in btree node shrinking\n\nnilfs_btree_delete function does not terminate part of virtual block\naddresses when shrinking the last remaining child node into the root\nnode.  The missing address termination causes that dead btree node\nblocks persist and chip away free disk space.\n\nThis fixes the leak bug on the btree node deletion.\n\nSigned-off-by: Ryusuke Konishi \u003ckonishi.ryusuke@lab.ntt.co.jp\u003e\n"
    },
    {
      "commit": "fe744fdb74f2417d8571faefa45f72b0ead25f89",
      "tree": "516655aad7800018483724cce93c24c2418fc1f4",
      "parents": [
        "59c5f46fbe01a00eedf54a23789634438bb80603"
      ],
      "author": {
        "name": "Ryusuke Konishi",
        "email": "konishi.ryusuke@lab.ntt.co.jp",
        "time": "Wed May 25 23:00:27 2011 +0900"
      },
      "committer": {
        "name": "Ryusuke Konishi",
        "email": "konishi.ryusuke@lab.ntt.co.jp",
        "time": "Sat Jun 11 15:51:15 2011 +0900"
      },
      "message": "nilfs2: fix incorrect block address termination in node concatenation\n\nnilfs_btree_delete function wrongly terminates virtual block address\nof the btree node held by its parent at index 0.  When concatenating\nthe index-0 node with its right sibling node, nilfs_btree_delete\nterminates the block address of index-0 node instead of the right\nsibling node which should be deleted.\n\nThis bug not only wears disk space in the long run, but also causes\nfile system corruption.  This will fix it.\n\nSigned-off-by: Ryusuke Konishi \u003ckonishi.ryusuke@lab.ntt.co.jp\u003e\n"
    },
    {
      "commit": "22b63a2971c5657dfc1bf4514f9410fc90c8b2c2",
      "tree": "f1a81297c5c7af311ab0cadce13cd83b2d6a32d2",
      "parents": [
        "08d2f347e877e489ca098c87a6fd2e872fef9767"
      ],
      "author": {
        "name": "Ilya Dryomov",
        "email": "idryomov@gmail.com",
        "time": "Wed Feb 09 16:05:31 2011 +0200"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Fri Jun 10 19:02:04 2011 -0400"
      },
      "message": "Btrfs - use %pU to print fsid\n\nGet rid of FIXME comment.  Uuids from dmesg are now the same as uuids\ngiven by btrfs-progs.\n\nSigned-off-by: Ilya Dryomov \u003cidryomov@gmail.com\u003e\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "08d2f347e877e489ca098c87a6fd2e872fef9767",
      "tree": "1bbe77e283afcc22afa1510fbf42aa27529cbadd",
      "parents": [
        "0e735872fb4b157a2fc94d4443f367e9aeb533a6"
      ],
      "author": {
        "name": "Jan Schmidt",
        "email": "list.btrfs@jan-o-sch.net",
        "time": "Wed May 04 16:18:50 2011 +0200"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Fri Jun 10 19:00:53 2011 -0400"
      },
      "message": "Btrfs: fix extent state leak on failed nodatasum reads\n\nWhen encountering an EIO while reading from a nodatasum extent, we\ninsert an error record into the inode\u0027s failure tree.\nbtrfs_readpage_end_io_hook returns early for nodatasum inodes. We\u0027d\nbetter clear the failure tree in that case, otherwise the kernel\ncomplains about\n\n\tBUG extent_state: Objects remaining on kmem_cache_close()\n\non rmmod.\n\nSigned-off-by: Jan Schmidt \u003clist.btrfs@jan-o-sch.net\u003e\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "0e735872fb4b157a2fc94d4443f367e9aeb533a6",
      "tree": "03f7fa9a950f4c48050c445297493bb4dc75045f",
      "parents": [
        "5be76758f35ec6578e5b9b150aa513ac26bd9c54",
        "6eef3125886df260ca0e8758d141308152226f6a"
      ],
      "author": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Fri Jun 10 18:58:08 2011 -0400"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Fri Jun 10 18:58:08 2011 -0400"
      },
      "message": "Merge branch \u0027for-chris\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/arne/btrfs-unstable-arne into for-linus\n"
    },
    {
      "commit": "5be76758f35ec6578e5b9b150aa513ac26bd9c54",
      "tree": "071251fb002ec06e3db5848e9385386aa04f9197",
      "parents": [
        "027ed2f0044e95a97ed34db2d55a9ca95ba84385"
      ],
      "author": {
        "name": "David Sterba",
        "email": "dsterba@suse.cz",
        "time": "Thu Jun 09 10:02:51 2011 +0000"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Fri Jun 10 18:57:11 2011 -0400"
      },
      "message": "btrfs: fix unlocked access of delalloc_inodes\n\nlist_splice_init will make delalloc_inodes empty, but without a spinlock\naround, this may produce corrupted list head, accessed in many placess,\nThe race window is very tight and nobody seems to have hit it so far.\n\nSigned-off-by: David Sterba \u003cdsterba@suse.cz\u003e\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "027ed2f0044e95a97ed34db2d55a9ca95ba84385",
      "tree": "7bcdb6d542e5adbbe8cfd59c9ddc36be868f1238",
      "parents": [
        "9eb9104c665aae2401a1723c044669eb10240072"
      ],
      "author": {
        "name": "Li Zefan",
        "email": "lizf@cn.fujitsu.com",
        "time": "Wed Jun 08 08:27:56 2011 +0000"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Fri Jun 10 18:57:10 2011 -0400"
      },
      "message": "Btrfs: avoid stack bloat in btrfs_ioctl_fs_info()\n\nThe size of struct btrfs_ioctl_fs_info_args is as big as 1KB, so\ndon\u0027t declare the variable on stack.\n\nSigned-off-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nReviewed-by: Josef Bacik \u003cjosef@redhat.com\u003e\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "9eb9104c665aae2401a1723c044669eb10240072",
      "tree": "21b3395270516a4978b10090fe8d9bd4bce8203b",
      "parents": [
        "38e880540f983045da7a00fbc50daad238207fc5"
      ],
      "author": {
        "name": "richard kennedy",
        "email": "richard@rsk.demon.co.uk",
        "time": "Tue Jun 07 10:46:32 2011 +0000"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Fri Jun 10 18:57:10 2011 -0400"
      },
      "message": "btrfs: remove 64bit alignment padding to allow extent_buffer to fit into one fewer cacheline\n\nReorder extent_buffer to remove 8 bytes of alignment padding on 64 bit\nbuilds. This shrinks its size to 128 bytes allowing it to fit into one\nfewer cache lines and allows more objects per slab in its kmem_cache.\n\nslabinfo extent_buffer reports :-\n\n before:-\n    Sizes (bytes)     Slabs\n    ----------------------------------\n    Object :     136  Total  :     123\n    SlabObj:     136  Full   :     121\n    SlabSiz:    4096  Partial:       0\n    Loss   :       0  CpuSlab:       2\n    Align  :       8  Objects:      30\n\n after :-\n    Object :     128  Total  :       4\n    SlabObj:     128  Full   :       2\n    SlabSiz:    4096  Partial:       0\n    Loss   :       0  CpuSlab:       2\n    Align  :       8  Objects:      32\n\nSigned-off-by: Richard Kennedy \u003crichard@rsk.demon.co.uk\u003e\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "38e880540f983045da7a00fbc50daad238207fc5",
      "tree": "3221e77ecf07f3a25037fccc304788aab33e0724",
      "parents": [
        "38e87880666091fe9c572a7a2ed2e771d97ca5aa"
      ],
      "author": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Fri Jun 10 18:43:13 2011 +0000"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Fri Jun 10 16:42:29 2011 -0400"
      },
      "message": "Btrfs: clear current-\u003ejournal_info on async transaction commit\n\nNormally current-\u003ejouranl_info is cleared by commit_transaction.  For an\nasync snap or subvol creation, though, it runs in a work queue.  Clear\nit in btrfs_commit_transaction_async() to avoid leaking a non-NULL\njournal_info when we return to userspace.  When the actual commit runs in\nthe other thread it won\u0027t care that it\u0027s current-\u003ejournal_info is already\nNULL.\n\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\nTested-by: Jim Schutt \u003cjaschut@sandia.gov\u003e\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "38e87880666091fe9c572a7a2ed2e771d97ca5aa",
      "tree": "5e48b7ce7220a2b99f60574f6b02b6b41286d5de",
      "parents": [
        "3473f3c06a36865ae05993041fff35ee928342a7"
      ],
      "author": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Fri Jun 10 16:36:57 2011 -0400"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Fri Jun 10 16:36:57 2011 -0400"
      },
      "message": "Btrfs: make sure to recheck for bitmaps in clusters\n\nJosef recently changed the free extent cache to look in\nthe block group cluster for any bitmaps before trying to\nadd a new bitmap for the same offset.  This avoids BUG_ON()s due\ncovering duplicate ranges.\n\nBut it didn\u0027t go quite far enough.  A given free range might span\nbetween one or more bitmaps or free space entries.  The code has\nlooping to cover this, but it doesn\u0027t check for clustered bitmaps\nevery time.\n\nThis shuffles our gotos to check for a bitmap in the cluster\nfor every new bitmap entry we try to add.\n\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    }
  ],
  "next": "6eef3125886df260ca0e8758d141308152226f6a"
}
