)]}'
{
  "log": [
    {
      "commit": "94c8a984ae2adbd9a9626fb42e0f2faf3e36e86f",
      "tree": "a4beddd64501ef00ad41c8fd5974340bec2fcf73",
      "parents": [
        "f9fa0bc1fabe1d861e46d80ecbe7e85da359195c",
        "37adb89fadd65ce47f7e5cfd564938a76b351948"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 08 11:47:35 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 08 11:47:35 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: Change initial mount authflavor only when server returns NFS4ERR_WRONGSEC\n  NFS: Fix a signed vs. unsigned secinfo bug\n  Revert \"net/sunrpc: Use static const char arrays\"\n"
    },
    {
      "commit": "0867659fa3c245bf203d837a82e0f6ea5079c2c5",
      "tree": "b4055632e89463046fd32ba20d3a691fd798da95",
      "parents": [
        "6221f222c0ebf1acdf7abcf927178f40e1a65e2a"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Apr 06 10:13:32 2011 -0700"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Apr 06 11:18:17 2011 -0700"
      },
      "message": "Revert \"net/sunrpc: Use static const char arrays\"\n\nThis reverts commit 411b5e05617593efebc06241dbc56f42150f2abe.\n\nOlga Kornievskaia reports:\n\nProblem: linux client mounting linux server using rc4-hmac-md5\nenctype. gssd fails with create a context after receiving a reply from\nthe server.\n\nDiagnose: putting printout statements in the server kernel and\nkerberos libraries revealed that client and server derived different\nintegrity keys.\n\nServer kernel code was at fault due the the commit\n\n[aglo@skydive linux-pnfs]$ git show 411b5e05617593efebc06241dbc56f42150f2abe\n\nTrond: The problem is that since it relies on virt_to_page(), you cannot\ncall sg_set_buf() for data in the const section.\n\nReported-by: Olga Kornievskaia \u003caglo@citi.umich.edu\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\nCc: stable@kernel.org\t[2.6.36+]\n"
    },
    {
      "commit": "25985edcedea6396277003854657b5f3cb31a628",
      "tree": "f026e810210a2ee7290caeb737c23cb6472b7c38",
      "parents": [
        "6aba74f2791287ec407e0f92487a725a25908067"
      ],
      "author": {
        "name": "Lucas De Marchi",
        "email": "lucas.demarchi@profusion.mobi",
        "time": "Wed Mar 30 22:57:33 2011 -0300"
      },
      "committer": {
        "name": "Lucas De Marchi",
        "email": "lucas.demarchi@profusion.mobi",
        "time": "Thu Mar 31 11:26:23 2011 -0300"
      },
      "message": "Fix common misspellings\n\nFixes generated by \u0027codespell\u0027 and manually reviewed.\n\nSigned-off-by: Lucas De Marchi \u003clucas.demarchi@profusion.mobi\u003e\n"
    },
    {
      "commit": "a271c5a0dea418931b6a903ef85adc30ad4c54be",
      "tree": "1f2e926c8d7c4f635d703bc2c2470120408a0738",
      "parents": [
        "a0e7e3cf7932d6c77de0dc79a40dbaeb8060b544"
      ],
      "author": {
        "name": "OGAWA Hirofumi",
        "email": "hirofumi@mail.parknet.co.jp",
        "time": "Sun Mar 27 17:48:57 2011 +0200"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sun Mar 27 17:55:36 2011 +0200"
      },
      "message": "NFS: Ensure that rpc_release_resources_task() can be called twice.\n\nBUG: atomic_dec_and_test(): -1: atomic counter underflow at:\nPid: 2827, comm: mount.nfs Not tainted 2.6.38 #1\nCall Trace:\n [\u003cffffffffa02223a0\u003e] ? put_rpccred+0x44/0x14e [sunrpc]\n [\u003cffffffffa021bbe9\u003e] ? rpc_ping+0x4e/0x58 [sunrpc]\n [\u003cffffffffa021c4a5\u003e] ? rpc_create+0x481/0x4fc [sunrpc]\n [\u003cffffffffa022298a\u003e] ? rpcauth_lookup_credcache+0xab/0x22d [sunrpc]\n [\u003cffffffffa028be8c\u003e] ? nfs_create_rpc_client+0xa6/0xeb [nfs]\n [\u003cffffffffa028c660\u003e] ? nfs4_set_client+0xc2/0x1f9 [nfs]\n [\u003cffffffffa028cd3c\u003e] ? nfs4_create_server+0xf2/0x2a6 [nfs]\n [\u003cffffffffa0295d07\u003e] ? nfs4_remote_mount+0x4e/0x14a [nfs]\n [\u003cffffffff810dd570\u003e] ? vfs_kern_mount+0x6e/0x133\n [\u003cffffffffa029605a\u003e] ? nfs_do_root_mount+0x76/0x95 [nfs]\n [\u003cffffffffa029643d\u003e] ? nfs4_try_mount+0x56/0xaf [nfs]\n [\u003cffffffffa0297434\u003e] ? nfs_get_sb+0x435/0x73c [nfs]\n [\u003cffffffff810dd59b\u003e] ? vfs_kern_mount+0x99/0x133\n [\u003cffffffff810dd693\u003e] ? do_kern_mount+0x48/0xd8\n [\u003cffffffff810f5b75\u003e] ? do_mount+0x6da/0x741\n [\u003cffffffff810f5c5f\u003e] ? sys_mount+0x83/0xc0\n [\u003cffffffff8100293b\u003e] ? system_call_fastpath+0x16/0x1b\n\nWell, so, I think this is real bug of nfs codes somewhere. With some\nreview, the code\n\nrpc_call_sync()\n    rpc_run_task\n        rpc_execute()\n            __rpc_execute()\n                rpc_release_task()\n                    rpc_release_resources_task()\n                        put_rpccred()                \u003c\u003d release cred\n    rpc_put_task\n        rpc_do_put_task()\n            rpc_release_resources_task()\n                put_rpccred()                        \u003c\u003d release cred again\n\nseems to be release cred unintendedly.\n\nSigned-off-by: OGAWA Hirofumi \u003chirofumi@mail.parknet.co.jp\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "40471856f2e38e9bfa8d605295e8234421110dd6",
      "tree": "9757e42e40bdbfcff7c52ab133e32b5c2203153b",
      "parents": [
        "ae005cbed12d0b340b04b59d6f5c56e710b3895d",
        "0acd2201920d0968919f4f5797d63f7b6f2b19d4"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 25 10:03:28 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 25 10:03:28 2011 -0700"
      },
      "message": "Merge branch \u0027nfs-for-2.6.39\u0027 of git://git.linux-nfs.org/projects/trondmy/nfs-2.6\n\n* \u0027nfs-for-2.6.39\u0027 of git://git.linux-nfs.org/projects/trondmy/nfs-2.6: (28 commits)\n  Cleanup XDR parsing for LAYOUTGET, GETDEVICEINFO\n  NFSv4.1 convert layoutcommit sync to boolean\n  NFSv4.1 pnfs_layoutcommit_inode fixes\n  NFS: Determine initial mount security\n  NFS: use secinfo when crossing mountpoints\n  NFS: Add secinfo procedure\n  NFS: lookup supports alternate client\n  NFS: convert call_sync() to a function\n  NFSv4.1 remove temp code that prevented ds commits\n  NFSv4.1: layoutcommit\n  NFSv4.1: filelayout driver specific code for COMMIT\n  NFSv4.1: remove GETATTR from ds commits\n  NFSv4.1: add generic layer hooks for pnfs COMMIT\n  NFSv4.1: alloc and free commit_buckets\n  NFSv4.1: shift filelayout_free_lseg\n  NFSv4.1: pull out code from nfs_commit_release\n  NFSv4.1: pull error handling out of nfs_commit_list\n  NFSv4.1: add callback to nfs4_commit_done\n  NFSv4.1: rearrange nfs_commit_rpcsetup\n  NFSv4.1: don\u0027t send COMMIT to ds for data sync writes\n  ...\n"
    },
    {
      "commit": "0acd2201920d0968919f4f5797d63f7b6f2b19d4",
      "tree": "9b241d264f42eff3ff4eeffb67616fca0490e460",
      "parents": [
        "8f70e95f9f4159184f557a1db60c909d7c1bd2e3",
        "35124a0994fc02545b14b9fa3aad000b3331f1c0"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Mar 24 17:03:14 2011 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Mar 24 17:03:14 2011 -0400"
      },
      "message": "Merge branch \u0027nfs-for-2.6.39\u0027 into nfs-for-next\n"
    },
    {
      "commit": "8f70e95f9f4159184f557a1db60c909d7c1bd2e3",
      "tree": "80acf6fa7d35d29ba03798fb6745ad9791f965c9",
      "parents": [
        "7ebb931598cd95cccea10d4bc4c0123a464ea565"
      ],
      "author": {
        "name": "Bryan Schumaker",
        "email": "bjschuma@netapp.com",
        "time": "Thu Mar 24 17:12:31 2011 +0000"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Mar 24 13:52:42 2011 -0400"
      },
      "message": "NFS: Determine initial mount security\n\nWhen sec\u003d\u003csomething\u003e is not presented as a mount option,\nwe should attempt to determine what security flavor the\nserver is using.\n\nSigned-off-by: Bryan Schumaker \u003cbjschuma@netapp.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "7ebb931598cd95cccea10d4bc4c0123a464ea565",
      "tree": "dec1af6eefdbbc3ce42346d7c6d407088eaf509e",
      "parents": [
        "5a5ea0d485c9715c86bf858bbdc5f6d373b3db88"
      ],
      "author": {
        "name": "Bryan Schumaker",
        "email": "bjschuma@netapp.com",
        "time": "Thu Mar 24 17:12:30 2011 +0000"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Mar 24 13:52:42 2011 -0400"
      },
      "message": "NFS: use secinfo when crossing mountpoints\n\nA submount may use different security than the parent\nmount does.  We should figure out what sec flavor the\nsubmount uses at mount time.\n\nSigned-off-by: Bryan Schumaker \u003cbjschuma@netapp.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "dc87c55120b0a5b0c4d731183f8bb348981aba65",
      "tree": "c5a4f94ed6cc1678072c125f2cae08f04ce4f2b8",
      "parents": [
        "5818fcc8bd1b27af4d40b8357b91a56cc3fae6a4",
        "4be34b9d69c97211ff4eb00d79078f3c1593804d"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Mar 24 08:20:39 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Mar 24 08:20:39 2011 -0700"
      },
      "message": "Merge branch \u0027for-2.6.39\u0027 of git://linux-nfs.org/~bfields/linux\n\n* \u0027for-2.6.39\u0027 of git://linux-nfs.org/~bfields/linux:\n  SUNRPC: Remove resource leak in svc_rdma_send_error()\n  nfsd: wrong index used in inner loop\n  nfsd4: fix comment and remove unused nfsd4_file fields\n  nfs41: make sure nfs server return right ca_maxresponsesize_cached\n  nfsd: fix compile error\n  svcrpc: fix bad argument in unix_domain_find\n  nfsd4: fix struct file leak\n  nfsd4: minor nfs4state.c reshuffling\n  svcrpc: fix rare race on unix_domain creation\n  nfsd41: modify the members value of nfsd4_op_flags\n  nfsd: add proc file listing kernel\u0027s gss_krb5 enctypes\n  gss:krb5 only include enctype numbers in gm_upcall_enctypes\n  NFSD, VFS: Remove dead code in nfsd_rename()\n  nfsd: kill unused macro definition\n  locks: use assign_type()\n"
    },
    {
      "commit": "246408dcd5dfeef2df437ccb0ef4d6ee87805f58",
      "tree": "681179a81ef914616f33edf83129a716081b9054",
      "parents": [
        "b8413f98f997bb3ed7327e6d7117e7e91ce010c3"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Mar 22 18:40:10 2011 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Mar 22 18:42:33 2011 -0400"
      },
      "message": "SUNRPC: Never reuse the socket port after an xs_close()\n\nIf we call xs_close(), we\u0027re in one of two situations:\n - Autoclose, which means we don\u0027t expect to resend a request\n - bind+connect failed, which probably means the port is in use\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\nCc: stable@kernel.org\n"
    },
    {
      "commit": "179198373cf374f0ef793f1023c1cdd83b53674d",
      "tree": "9c7f9e82b936864b9d8cf91b3d4121a3c8d2671c",
      "parents": [
        "374e55251cacfb68d331bb8a574b2de8160aacc2",
        "8e26de238fd794c8ea56a5c98bf67c40cfeb051d"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Mar 17 17:40:00 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Mar 17 17:40:00 2011 -0700"
      },
      "message": "Merge branch \u0027nfs-for-2.6.39\u0027 of git://git.linux-nfs.org/projects/trondmy/nfs-2.6\n\n* \u0027nfs-for-2.6.39\u0027 of git://git.linux-nfs.org/projects/trondmy/nfs-2.6: (54 commits)\n  RPC: killing RPC tasks races fixed\n  xprt: remove redundant check\n  SUNRPC: Convert struct rpc_xprt to use atomic_t counters\n  SUNRPC: Ensure we always run the tk_callback before tk_action\n  sunrpc: fix printk format warning\n  xprt: remove redundant null check\n  nfs: BKL is no longer needed, so remove the include\n  NFS: Fix a warning in fs/nfs/idmap.c\n  Cleanup: Factor out some cut-and-paste code.\n  cleanup: save 60 lines/100 bytes by combining two mostly duplicate functions.\n  NFS: account direct-io into task io accounting\n  gss:krb5 only include enctype numbers in gm_upcall_enctypes\n  RPCRDMA: Fix FRMR registration/invalidate handling.\n  RPCRDMA: Fix to XDR page base interpretation in marshalling logic.\n  NFSv4: Send unmapped uid/gids to the server when using auth_sys\n  NFSv4: Propagate the error NFS4ERR_BADOWNER to nfs4_do_setattr\n  NFSv4: cleanup idmapper functions to take an nfs_server argument\n  NFSv4: Send unmapped uid/gids to the server if the idmapper fails\n  NFSv4: If the server sends us a numeric uid/gid then accept it\n  NFSv4.1: reject zero layout with zeroed stripe unit\n  ...\n"
    },
    {
      "commit": "4be34b9d69c97211ff4eb00d79078f3c1593804d",
      "tree": "2e6b53f9b195829a7f02ea4b834b817f568426f3",
      "parents": [
        "5a02ab7c3c4580f94d13c683721039855b67cda6"
      ],
      "author": {
        "name": "Jesper Juhl",
        "email": "jj@chaosbits.net",
        "time": "Sat Jan 22 22:40:20 2011 +0100"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Thu Mar 17 14:38:03 2011 -0400"
      },
      "message": "SUNRPC: Remove resource leak in svc_rdma_send_error()\n\nWe leak the memory allocated to \u0027ctxt\u0027 when we return after\n\u0027ib_dma_mapping_error()\u0027 returns !\u003d0.\n\nSigned-off-by: Jesper Juhl \u003cjj@chaosbits.net\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@redhat.com\u003e\n"
    },
    {
      "commit": "8e26de238fd794c8ea56a5c98bf67c40cfeb051d",
      "tree": "3c8d0e6b1e6e0782b13221ee6c39e5be09552dd9",
      "parents": [
        "ba3c578de274a5438bafbce03f9225936698051c"
      ],
      "author": {
        "name": "Stanislav Kinsbursky",
        "email": "skinsbursky@parallels.com",
        "time": "Thu Mar 17 18:54:23 2011 +0300"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Mar 17 12:39:00 2011 -0400"
      },
      "message": "RPC: killing RPC tasks races fixed\n\nRPC task RPC_TASK_QUEUED bit is set must be checked before trying to wake up\ntask rpc_killall_tasks() because task-\u003etk_waitqueue can not be set (equal to\nNULL).\nAlso, as Trond Myklebust mentioned, such approach (instead of checking\ntk_waitqueue to NULL) allows us to \"optimise away the call to\nrpc_wake_up_queued_task() altogether for those\ntasks that aren\u0027t queued\".\n\nHere is an example of dereferencing of tk_waitqueue equal to NULL:\n\nCPU 0               \tCPU 1\t\t\t\tCPU 2\n--------------------\t---------------------\t--------------------------\nnfs4_run_open_task\nrpc_run_task\nrpc_execute\nrpc_set_active\nrpc_make_runnable\n(waiting)\n\t\t\trpc_async_schedule\n\t\t\tnfs4_open_prepare\n\t\t\tnfs_wait_on_sequence\n\t\t\t\t\t\tnfs_umount_begin\n\t\t\t\t\t\trpc_killall_tasks\n\t\t\t\t\t\trpc_wake_up_task\n\t\t\t\t\t\trpc_wake_up_queued_task\n\t\t\t\t\t\tspin_lock(tk_waitqueue \u003d\u003d NULL)\n\t\t\t\t\t\tBUG()\n\t\t\trpc_sleep_on\n\t\t\tspin_lock(\u0026q-\u003elock)\n\t\t\t__rpc_sleep_on\n\t\t\ttask-\u003etk_waitqueue \u003d q\n\nSigned-off-by: Stanislav Kinsbursky \u003cskinsbursky@openvz.org\u003e\nCc: stable@kernel.org\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "ba3c578de274a5438bafbce03f9225936698051c",
      "tree": "fd7b7f821334806583d76104995c126485bce5c6",
      "parents": [
        "a8de240a9074b72b156d9e6d53f00076e6cd5f03"
      ],
      "author": {
        "name": "j223yang@asset.uwaterloo.ca",
        "email": "j223yang@asset.uwaterloo.ca",
        "time": "Wed Mar 16 11:16:22 2011 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Mar 17 12:39:00 2011 -0400"
      },
      "message": "xprt: remove redundant check\n\nremove redundant check.\n\nSigned-off-by: Jinqiu Yang \u003ccrindy646@gmail.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "a8de240a9074b72b156d9e6d53f00076e6cd5f03",
      "tree": "9436ca858870ce89af75703b61a2c25889db354e",
      "parents": [
        "e020c6800c9621a77223bf2c1ff68180e41e8ebf"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Mar 15 19:56:30 2011 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Mar 17 12:38:59 2011 -0400"
      },
      "message": "SUNRPC: Convert struct rpc_xprt to use atomic_t counters\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "e020c6800c9621a77223bf2c1ff68180e41e8ebf",
      "tree": "80e6ede1f189ad1a666fe5ad3c0aa1679b95ac47",
      "parents": [
        "986d4abbddf9e76184f6cabf66654ea8e61bcde5"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Mar 15 19:56:30 2011 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Mar 17 12:38:41 2011 -0400"
      },
      "message": "SUNRPC: Ensure we always run the tk_callback before tk_action\n\nThis fixes a race in which the task-\u003etk_callback() puts the rpc_task\nto sleep, setting a new callback. Under certain circumstances, the current\ncode may end up executing the task-\u003etk_action before it gets round to the\ncallback.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\nCc: stable@kernel.org\n"
    },
    {
      "commit": "7a6362800cb7d1d618a697a650c7aaed3eb39320",
      "tree": "087f9bc6c13ef1fad4b392c5cf9325cd28fa8523",
      "parents": [
        "6445ced8670f37cfc2c5e24a9de9b413dbfc788d",
        "ceda86a108671294052cbf51660097b6534672f5"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 16 16:29:25 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 16 16:29:25 2011 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next-2.6: (1480 commits)\n  bonding: enable netpoll without checking link status\n  xfrm: Refcount destination entry on xfrm_lookup\n  net: introduce rx_handler results and logic around that\n  bonding: get rid of IFF_SLAVE_INACTIVE netdev-\u003epriv_flag\n  bonding: wrap slave state work\n  net: get rid of multiple bond-related netdevice-\u003epriv_flags\n  bonding: register slave pointer for rx_handler\n  be2net: Bump up the version number\n  be2net: Copyright notice change. Update to Emulex instead of ServerEngines\n  e1000e: fix kconfig for crc32 dependency\n  netfilter ebtables: fix xt_AUDIT to work with ebtables\n  xen network backend driver\n  bonding: Improve syslog message at device creation time\n  bonding: Call netif_carrier_off after register_netdevice\n  bonding: Incorrect TX queue offset\n  net_sched: fix ip_tos2prio\n  xfrm: fix __xfrm_route_forward()\n  be2net: Fix UDP packet detected status in RX compl\n  Phonet: fix aligned-mode pipe socket buffer header reserve\n  netxen: support for GbE port settings\n  ...\n\nFix up conflicts in drivers/staging/brcm80211/brcmsmac/wl_mac80211.c\nwith the staging updates.\n"
    },
    {
      "commit": "bd2895eeade5f11f3e5906283c630bbdb4b57454",
      "tree": "4d98f4fcd80c7d062afce28823d08aee53e66f82",
      "parents": [
        "016aa2ed1cc9cf704cf76d8df07751b6daa9750f",
        "24d51add7438f9696a7205927bf9de3c5c787a58"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 16 08:20:19 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 16 08:20:19 2011 -0700"
      },
      "message": "Merge branch \u0027for-2.6.39\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tj/wq\n\n* \u0027for-2.6.39\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tj/wq:\n  workqueue: fix build failure introduced by s/freezeable/freezable/\n  workqueue: add system_freezeable_wq\n  rds/ib: use system_wq instead of rds_ib_fmr_wq\n  net/9p: replace p9_poll_task with a work\n  net/9p: use system_wq instead of p9_mux_wq\n  xfs: convert to alloc_workqueue()\n  reiserfs: make commit_wq use the default concurrency level\n  ocfs2: use system_wq instead of ocfs2_quota_wq\n  ext4: convert to alloc_workqueue()\n  scsi/scsi_tgt_lib: scsi_tgtd isn\u0027t used in memory reclaim path\n  scsi/be2iscsi,qla2xxx: convert to alloc_workqueue()\n  misc/iwmc3200top: use system_wq instead of dedicated workqueues\n  i2o: use alloc_workqueue() instead of create_workqueue()\n  acpi: kacpi*_wq don\u0027t need WQ_MEM_RECLAIM\n  fs/aio: aio_wq isn\u0027t used in memory reclaim path\n  input/tps6507x-ts: use system_wq instead of dedicated workqueue\n  cpufreq: use system_wq instead of dedicated workqueues\n  wireless/ipw2x00: use system_wq instead of dedicated workqueues\n  arm/omap: use system_wq in mailbox\n  workqueue: use WQ_MEM_RECLAIM instead of WQ_RESCUER\n"
    },
    {
      "commit": "986d4abbddf9e76184f6cabf66654ea8e61bcde5",
      "tree": "911372f76d30665c08957ee5422cc408137c43b7",
      "parents": [
        "4d4a76f3309edc671918a767b336492fbc80a16d"
      ],
      "author": {
        "name": "Randy Dunlap",
        "email": "randy.dunlap@oracle.com",
        "time": "Tue Mar 15 17:11:59 2011 -0700"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Mar 15 20:17:32 2011 -0400"
      },
      "message": "sunrpc: fix printk format warning\n\nFix printk format build warning:\n\nnet/sunrpc/xprtrdma/verbs.c:1463: warning: format \u0027%llx\u0027 expects type \u0027long long unsigned int\u0027, but argument 3 has type \u0027dma_addr_t\u0027\n\nSigned-off-by: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "4d4a76f3309edc671918a767b336492fbc80a16d",
      "tree": "d35e5df0599c095c69bbcae6b5a3207623da07a0",
      "parents": [
        "8f68cd42d85f31fb58dd2cabf3ff4aad0a2bafd9"
      ],
      "author": {
        "name": "j223yang@asset.uwaterloo.ca",
        "email": "j223yang@asset.uwaterloo.ca",
        "time": "Thu Mar 10 12:40:28 2011 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Mar 15 20:16:14 2011 -0400"
      },
      "message": "xprt: remove redundant null check\n\n\u0027req\u0027 is dereferenced before checked for NULL.\nThe patch simply removes the check.\n\nSigned-off-by: Jinqiu Yang\u003ccrindy646@gmail.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "f8628220bb395104697be9c447c1085846dfc97c",
      "tree": "3d62b0b7082ddc18b8a191f5e353a02a645dc4e0",
      "parents": [
        "5c635e09cec0feeeb310968e51dad01040244851"
      ],
      "author": {
        "name": "Kevin Coffman",
        "email": "kwc@citi.umich.edu",
        "time": "Thu Mar 03 00:51:41 2011 +0000"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Mar 11 15:39:27 2011 -0500"
      },
      "message": "gss:krb5 only include enctype numbers in gm_upcall_enctypes\n\nMake the value in gm_upcall_enctypes just the enctype values.\nThis allows the values to be used more easily elsewhere.\n\nSigned-off-by: Kevin Coffman \u003ckwc@citi.umich.edu\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "5c635e09cec0feeeb310968e51dad01040244851",
      "tree": "6f776276df4d20b221c02f776a677f8719f9a0aa",
      "parents": [
        "bd7ea31b9e8a342be76e0fe8d638343886c2d8c5"
      ],
      "author": {
        "name": "Tom Tucker",
        "email": "tom@ogc.us",
        "time": "Wed Feb 09 19:45:34 2011 +0000"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Mar 11 15:39:27 2011 -0500"
      },
      "message": "RPCRDMA: Fix FRMR registration/invalidate handling.\n\nWhen the rpc_memreg_strategy is 5, FRMR are used to map RPC data.\nThis mode uses an FRMR to map the RPC data, then invalidates\n(i.e. unregisers) the data in xprt_rdma_free. These FRMR are used\nacross connections on the same mount, i.e. if the connection goes\naway on an idle timeout and reconnects later, the FRMR are not\ndestroyed and recreated.\n\nThis creates a problem for transport errors because the WR that\ninvalidate an FRMR may be flushed (i.e. fail) leaving the\nFRMR valid. When the FRMR is later used to map an RPC it will fail,\ntearing down the transport and starting over. Over time, more and\nmore of the FRMR pool end up in the wrong state resulting in\nseemingly random disconnects.\n\nThis fix keeps track of the FRMR state explicitly by setting it\u0027s\nstate based on the successful completion of a reg/inv WR. If the FRMR\nis ever used and found to be in the wrong state, an invalidate WR\nis prepended, re-syncing the FRMR state and avoiding the connection loss.\n\nSigned-off-by: Tom Tucker \u003ctom@ogc.us\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "bd7ea31b9e8a342be76e0fe8d638343886c2d8c5",
      "tree": "bc56c61372dcd6ff08cca605f4eb7359ce025048",
      "parents": [
        "b064eca2cf6440bf9d5843b24cc4010624031694"
      ],
      "author": {
        "name": "Tom Tucker",
        "email": "tom@ogc.us",
        "time": "Wed Feb 09 19:45:28 2011 +0000"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Mar 11 15:39:27 2011 -0500"
      },
      "message": "RPCRDMA: Fix to XDR page base interpretation in marshalling logic.\n\nThe RPCRDMA marshalling logic assumed that xdr-\u003epage_base was an\noffset into the first page of xdr-\u003epage_list. It is in fact an\noffset into the xdr-\u003epage_list itself, that is, it selects the\nfirst page in the page_list and the offset into that page.\n\nThe symptom depended in part on the rpc_memreg_strategy, if it was\nFRMR, or some other one-shot mapping mode, the connection would get\ntorn down on a base and bounds error. When the badly marshalled RPC\nwas retransmitted it would reconnect, get the error, and tear down the\nconnection again in a loop forever. This resulted in a hung-mount. For\nthe other modes, it would result in silent data corruption. This bug is\nmost easily reproduced by writing more data than the filesystem\nhas space for.\n\nThis fix corrects the page_base assumption and otherwise simplifies\nthe iov mapping logic.\n\nSigned-off-by: Tom Tucker \u003ctom@ogc.us\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "cbdabc7f8bf14ca1d40ab1cb86f64b3bc09716e8",
      "tree": "16939b96996e8380d91d7e2743e811cf5c49f629",
      "parents": [
        "dc70d7b3189597f313df7bd2da849cfc39063b15"
      ],
      "author": {
        "name": "Andy Adamson",
        "email": "andros@netapp.com",
        "time": "Tue Mar 01 01:34:20 2011 +0000"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Mar 11 15:38:43 2011 -0500"
      },
      "message": "NFSv4.1: filelayout async error handler\n\nUse our own async error handler.\nMark the layout as failed and retry i/o through the MDS on specified errors.\n\nUpdate the mds_offset in nfs_readpage_retry so that a failed short-read retry\nto a DS gets correctly resent through the MDS.\n\nSigned-off-by: Andy Adamson \u003candros@netapp.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "eabf5baaaaf41b6a0273043cfb06d53dca67acef",
      "tree": "d3af759bccd76ecb3b1f1b5ec027193051b55734",
      "parents": [
        "cee6a5372f8804f58acc87f07816f64db36718e2"
      ],
      "author": {
        "name": "Fred Isaman",
        "email": "iisaman@netapp.com",
        "time": "Fri Feb 11 15:42:36 2011 +0000"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Mar 11 15:38:40 2011 -0500"
      },
      "message": "RPC: clarify rpc_run_task error handling\n\nrpc_run_task can only fail if it is not passed in a preallocated task.\nHowever, that is not at all clear with the current code.  So\nremove several impossible to occur failure checks.\n\nSigned-off-by: Fred Isaman \u003ciisaman@netapp.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "cee6a5372f8804f58acc87f07816f64db36718e2",
      "tree": "66e07d4404e95fe7abcf60a9c72286328dd6a07f",
      "parents": [
        "f49f9baac8f63de9cbc17a0a84e04060496e8e76"
      ],
      "author": {
        "name": "Fred Isaman",
        "email": "iisaman@netapp.com",
        "time": "Fri Feb 11 15:42:35 2011 +0000"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Mar 11 15:38:40 2011 -0500"
      },
      "message": "RPC: remove check for impossible condition in rpc_make_runnable\n\nqueue_work() only returns 0 or 1, never a negative value.\n\nSigned-off-by: Fred Isaman \u003ciisaman@netapp.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "4cea288aaf0e11647880cc487350b1dc45d9febc",
      "tree": "6ea19d6d0b7b833f39077941a795f83b81448b36",
      "parents": [
        "3fa0b4e201d254b52a251fa348bd53e53000cff6"
      ],
      "author": {
        "name": "Ben Hutchings",
        "email": "bhutchings@solarflare.com",
        "time": "Tue Feb 22 21:54:34 2011 +0000"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Mar 10 15:04:58 2011 -0500"
      },
      "message": "sunrpc: Propagate errors from xs_bind() through xs_create_sock()\n\nxs_create_sock() is supposed to return a pointer or an ERR_PTR-encoded\nerror, but it currently returns 0 if xs_bind() fails.\n\nSigned-off-by: Ben Hutchings \u003cbhutchings@solarflare.com\u003e\nCc: stable@kernel.org [v2.6.37]\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "a5e502681007779d4762fb3ef7e80a3ecd1cfe6b",
      "tree": "bfa3e8658e93fd8c64eff33cca5904c9f32ae055",
      "parents": [
        "d2224e7afbf2a6556f4f8f25bc0e96d99ec4d2bd"
      ],
      "author": {
        "name": "Jesper Juhl",
        "email": "jj@chaosbits.net",
        "time": "Sat Jan 22 21:40:20 2011 +0000"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Mar 10 15:04:54 2011 -0500"
      },
      "message": "SUNRPC: Remove resource leak in svc_rdma_send_error()\n\nWe leak the memory allocated to \u0027ctxt\u0027 when we return after\n\u0027ib_dma_mapping_error()\u0027 returns !\u003d0.\n\nSigned-off-by: Jesper Juhl \u003cjj@chaosbits.net\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "bf294b41cefcb22fc3139e0f42c5b3f06728bd5e",
      "tree": "250251c040a2d2e278b5a2ddd03c8d20a27be129",
      "parents": [
        "214d93b02c4fe93638ad268613c9702a81ed9192"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Feb 21 11:05:41 2011 -0800"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Mar 10 15:04:52 2011 -0500"
      },
      "message": "SUNRPC: Close a race in __rpc_wait_for_completion_task()\n\nAlthough they run as rpciod background tasks, under normal operation\n(i.e. no SIGKILL), functions like nfs_sillyrename(), nfs4_proc_unlck()\nand nfs4_do_close() want to be fully synchronous. This means that when we\nexit, we want all references to the rpc_task to be gone, and we want\nany dentry references etc. held by that task to be released.\n\nFor this reason these functions call __rpc_wait_for_completion_task(),\nfollowed by rpc_put_task() in the expectation that the latter will be\nreleasing the last reference to the rpc_task, and thus ensuring that the\ncallback_ops-\u003erpc_release() has been called synchronously.\n\nThis patch fixes a race which exists due to the fact that\nrpciod calls rpc_complete_task() (in order to wake up the callers of\n__rpc_wait_for_completion_task()) and then subsequently calls\nrpc_put_task() without ensuring that these two steps are done atomically.\n\nIn order to avoid adding new spin locks, the patch uses the existing\nwaitqueue spin lock to order the rpc_task reference count releases between\nthe waiting process and rpciod.\nThe common case where nobody is waiting for completion is optimised for by\nchecking if the RPC_TASK_ASYNC flag is cleared and/or if the rpc_task\nreference count is 1: in those cases we drop trying to grab the spin lock,\nand immediately free up the rpc_task.\n\nThose few processes that need to put the rpc_task from inside an\nasynchronous context and that do not care about ordering are given a new\nhelper: rpc_put_task_async().\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "352b5d13c0684ba8cd103aa20cb74f105334562a",
      "tree": "a54ffeec78ed69035c4c99faa61e472230d14076",
      "parents": [
        "0997b173609b9229ece28941c118a2a9b278796e"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Wed Mar 09 22:40:30 2011 -0500"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Wed Mar 09 22:40:30 2011 -0500"
      },
      "message": "svcrpc: fix bad argument in unix_domain_find\n\n\"After merging the nfsd tree, today\u0027s linux-next build (powerpc\nppc64_defconfig) produced this warning:\n\nnet/sunrpc/svcauth_unix.c: In function \u0027unix_domain_find\u0027:\nnet/sunrpc/svcauth_unix.c:58: warning: passing argument 1 of\n+\u0027svcauth_unix_domain_release\u0027 from incompatible pointer type\nnet/sunrpc/svcauth_unix.c:41: note: expected \u0027struct auth_domain *\u0027 but\nargument\n+is of type \u0027struct unix_domain *\u0027\n\nIntroduced by commit 8b3e07ac908d (\"svcrpc: fix rare race on unix_domain\ncreation\").\"\n\nReported-by: Stephen Rothwell \u003csfr@canb.auug.org.au\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@redhat.com\u003e\n"
    },
    {
      "commit": "8b3e07ac908d005bb791410f594cce8744f6806a",
      "tree": "8b1d3cf7295110738dc8a59e3f44f443ded97859",
      "parents": [
        "5ece3cafbd88d4da5c734e1810c4a2e6474b57b2"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Mon Mar 07 22:50:47 2011 -0500"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Tue Mar 08 11:51:29 2011 -0500"
      },
      "message": "svcrpc: fix rare race on unix_domain creation\n\nNote that \"new\" here is not yet fully initialized; auth_domain_put\nshould be called only on auth_domains that have actually been added to\nthe hash.\n\nBefore this fix, two attempts to add the same domain at once could\ncause the hlist_del in auth_domain_put to fail.\n\nSigned-off-by: J. Bruce Fields \u003cbfields@redhat.com\u003e\n"
    },
    {
      "commit": "540c8cb6a576f34a9a0b04467f46bb6e67a1f852",
      "tree": "583e162558ea9515e58318e03f8f637bedfb9ac4",
      "parents": [
        "46d4cef9cf54f2f8b15216e3f6dad69750c69e0c"
      ],
      "author": {
        "name": "Kevin Coffman",
        "email": "kwc@citi.umich.edu",
        "time": "Wed Mar 02 19:51:41 2011 -0500"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Mon Mar 07 12:06:48 2011 -0500"
      },
      "message": "gss:krb5 only include enctype numbers in gm_upcall_enctypes\n\nMake the value in gm_upcall_enctypes just the enctype values.\nThis allows the values to be used more easily elsewhere.\n\nSigned-off-by: Kevin Coffman \u003ckwc@citi.umich.edu\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@redhat.com\u003e\n"
    },
    {
      "commit": "eaefd1105bc431ef329599e307a07f2a36ae7872",
      "tree": "658eeed417654c8f6015d4d5f957f5a1b5e9521f",
      "parents": [
        "04cfa852ff8dab923640500ee850d19e75bacabc"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Fri Feb 18 03:26:36 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Feb 22 10:19:31 2011 -0800"
      },
      "message": "net: add __rcu annotations to sk_wq and wq\n\nAdd proper RCU annotations/verbs to sk_wq and wq members\n\nFix __sctp_write_space() sk_sleep() abuse (and sock-\u003ewq access)\n\nFix sunrpc sk_sleep() abuse too\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "43d133c18b44e7d82d82ef0dcc2bddd55d5dfe81",
      "tree": "8de75c837b55874cc8a81a29bdedbc62668d4481",
      "parents": [
        "4149efb22da66e326fc48baf80d628834509f7f0",
        "6f576d57f1fa0d6026b495d8746d56d949989161"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Mon Feb 21 09:43:56 2011 +0100"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Mon Feb 21 09:43:56 2011 +0100"
      },
      "message": "Merge branch \u0027master\u0027 into for-2.6.39\n"
    },
    {
      "commit": "778be232a207e79088ba70d832ac25dfea6fbf1a",
      "tree": "307249459e5ef45c4b3651c7fc5c454cdb3e0c92",
      "parents": [
        "80c30e8de4f81851b1f712bcc596e11d53bc76f1"
      ],
      "author": {
        "name": "Andy Adamson",
        "email": "andros@netapp.com",
        "time": "Tue Jan 25 15:38:01 2011 +0000"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Jan 25 15:26:51 2011 -0500"
      },
      "message": "NFS do not find client in NFSv4 pg_authenticate\n\nThe information required to find the nfs_client cooresponding to the incoming\nback channel request is contained in the NFS layer. Perform minimal checking\nin the RPC layer pg_authenticate method, and push more detailed checking into\nthe NFS layer where the nfs_client can be found.\n\nSigned-off-by: Andy Adamson \u003candros@netapp.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "ada609ee2ac2e03bd8abb07f9b3e92cd2e650f19",
      "tree": "ccc1051a961b12448420428b5a400a6333d3e821",
      "parents": [
        "c723fdab8aa728dc2bf0da6a0de8bb9c3f588d84"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Tue Jan 25 14:35:54 2011 +0100"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Tue Jan 25 14:35:54 2011 +0100"
      },
      "message": "workqueue: use WQ_MEM_RECLAIM instead of WQ_RESCUER\n\nWQ_RESCUER is now an internal flag and should only be used in the\nworkqueue implementation proper.  Use WQ_MEM_RECLAIM instead.\n\nThis doesn\u0027t introduce any functional difference.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nCc: dm-devel@redhat.com\nCc: Neil Brown \u003cneilb@suse.de\u003e\n"
    },
    {
      "commit": "18bce371ae09af6c20ee62c1092a4d1d0e84dd49",
      "tree": "f3467fafd8e49392e3f6efef7b88a7b4dd3b7b06",
      "parents": [
        "ec08bdb148767f1193f5f3028749ed865ac27181",
        "a8f2800b4f7b76cecb7209cb6a7d2b14904fc711"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 14 13:17:26 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 14 13:17:26 2011 -0800"
      },
      "message": "Merge branch \u0027for-2.6.38\u0027 of git://linux-nfs.org/~bfields/linux\n\n* \u0027for-2.6.38\u0027 of git://linux-nfs.org/~bfields/linux: (62 commits)\n  nfsd4: fix callback restarting\n  nfsd: break lease on unlink, link, and rename\n  nfsd4: break lease on nfsd setattr\n  nfsd: don\u0027t support msnfs export option\n  nfsd4: initialize cb_per_client\n  nfsd4: allow restarting callbacks\n  nfsd4: simplify nfsd4_cb_prepare\n  nfsd4: give out delegations more quickly in 4.1 case\n  nfsd4: add helper function to run callbacks\n  nfsd4: make sure sequence flags are set after destroy_session\n  nfsd4: re-probe callback on connection loss\n  nfsd4: set sequence flag when backchannel is down\n  nfsd4: keep finer-grained callback status\n  rpc: allow xprt_class-\u003esetup to return a preexisting xprt\n  rpc: keep backchannel xprt as long as server connection\n  rpc: move sk_bc_xprt to svc_xprt\n  nfsd4: allow backchannel recovery\n  nfsd4: support BIND_CONN_TO_SESSION\n  nfsd4: modify session list under cl_lock\n  Documentation: fl_mylease no longer exists\n  ...\n\nFix up conflicts in fs/nfsd/vfs.c with the vfs-scale work.  The\nvfs-scale work touched some msnfs cases, and this merge removes support\nfor that entirely, so the conflict was trivial to resolve.\n"
    },
    {
      "commit": "b9d919a4ac6cf031b8e065f82ad8f1b0c9ed74b1",
      "tree": "3139b066396956fd3794df0cb1aa74dcc9f1cb28",
      "parents": [
        "7c955fca3e1d8132982148267d9efcafae849bb6",
        "357f54d6b38252737116a6d631f6ac28ded018ed"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 11 15:11:56 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 11 15:11:56 2011 -0800"
      },
      "message": "Merge branch \u0027nfs-for-2.6.38\u0027 of git://git.linux-nfs.org/projects/trondmy/nfs-2.6\n\n* \u0027nfs-for-2.6.38\u0027 of git://git.linux-nfs.org/projects/trondmy/nfs-2.6: (89 commits)\n  NFS fix the setting of exchange id flag\n  NFS: Don\u0027t use vm_map_ram() in readdir\n  NFSv4: Ensure continued open and lockowner name uniqueness\n  NFS: Move cl_delegations to the nfs_server struct\n  NFS: Introduce nfs_detach_delegations()\n  NFS: Move cl_state_owners and related fields to the nfs_server struct\n  NFS: Allow walking nfs_client.cl_superblocks list outside client.c\n  pnfs: layout roc code\n  pnfs: update nfs4_callback_recallany to handle layouts\n  pnfs: add CB_LAYOUTRECALL handling\n  pnfs: CB_LAYOUTRECALL xdr code\n  pnfs: change lo refcounting to atomic_t\n  pnfs: check that partial LAYOUTGET return is ignored\n  pnfs: add layout to client list before sending rpc\n  pnfs: serialize LAYOUTGET(openstateid)\n  pnfs: layoutget rpc code cleanup\n  pnfs: change how lsegs are removed from layout list\n  pnfs: change layout state seqlock to a spinlock\n  pnfs: add prefix to struct pnfs_layout_hdr fields\n  pnfs: add prefix to struct pnfs_layout_segment fields\n  ...\n"
    },
    {
      "commit": "f0418aa4b1103f959d64dc18273efa04ee0140e9",
      "tree": "01457cfe70d614dcdb12759247212602c2c2c008",
      "parents": [
        "99de8ea962bbc11a51ad4c52e3dc93bee5f6ba70"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Wed Dec 08 13:48:19 2010 -0500"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Tue Jan 11 15:04:10 2011 -0500"
      },
      "message": "rpc: allow xprt_class-\u003esetup to return a preexisting xprt\n\nThis allows us to reuse the xprt associated with a server connection if\none has already been set up.\n\nSigned-off-by: J. Bruce Fields \u003cbfields@redhat.com\u003e\n"
    },
    {
      "commit": "99de8ea962bbc11a51ad4c52e3dc93bee5f6ba70",
      "tree": "1cda6aaeabe8fc4e3502104005c06a3888bb0bf4",
      "parents": [
        "d75faea330dbd1873c9094e9926ae306590c0998"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Wed Dec 08 12:45:44 2010 -0500"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Tue Jan 11 15:04:10 2011 -0500"
      },
      "message": "rpc: keep backchannel xprt as long as server connection\n\nMultiple backchannels can share the same tcp connection; from rfc 5661 section\n2.10.3.1:\n\n\tA connection\u0027s association with a session is not exclusive.  A\n\tconnection associated with the channel(s) of one session may be\n\tsimultaneously associated with the channel(s) of other sessions\n\tincluding sessions associated with other client IDs.\n\nHowever, multiple backchannels share a connection, they must all share\nthe same xid stream (hence the same rpc_xprt); the only way we have to\nmatch replies with calls at the rpc layer is using the xid.\n\nSo, keep the rpc_xprt around as long as the connection lasts, in case\nwe\u0027re asked to use the connection as a backchannel again.\n\nRequests to create new backchannel clients over a given server\nconnection should results in creating new clients that reuse the\nexisting rpc_xprt.\n\nBut to start, just reject attempts to associate multiple rpc_xprt\u0027s with\nthe same underlying bc_xprt.\n\nSigned-off-by: J. Bruce Fields \u003cbfields@redhat.com\u003e\n"
    },
    {
      "commit": "d75faea330dbd1873c9094e9926ae306590c0998",
      "tree": "36b8e50ad2d94c75e77dacd98ff02036ddd0f65f",
      "parents": [
        "dcbeaa68dbbdacbbb330a86c7fc95a28473fc209"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Tue Nov 30 19:15:01 2010 -0500"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Tue Jan 11 15:04:10 2011 -0500"
      },
      "message": "rpc: move sk_bc_xprt to svc_xprt\n\nThis seems obviously transport-level information even if it\u0027s currently\nused only by the server socket code.\n\nSigned-off-by: J. Bruce Fields \u003cbfields@redhat.com\u003e\n"
    },
    {
      "commit": "68c404b18f6fba404b2753622d0459c68ee128ae",
      "tree": "c1ec0bb12f19d91071b461cc2831d9d3dd4c74f3",
      "parents": [
        "d035c36c58dd9183ad6aa7875dea89893faedb55",
        "6650239a4b01077e80d5a4468562756d77afaa59"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Jan 10 14:48:02 2011 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Jan 10 14:48:02 2011 -0500"
      },
      "message": "Merge branch \u0027bugfixes\u0027 into nfs-for-2.6.38\n\nConflicts:\n\tfs/nfs/nfs2xdr.c\n\tfs/nfs/nfs3xdr.c\n\tfs/nfs/nfs4xdr.c\n"
    },
    {
      "commit": "6650239a4b01077e80d5a4468562756d77afaa59",
      "tree": "505c9a1dc26c26608ce6a5981093a6357d4f3638",
      "parents": [
        "3c0eee3fe6a3a1c745379547c7e7c904aa64f6d5"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sat Jan 08 17:45:38 2011 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Jan 10 14:45:01 2011 -0500"
      },
      "message": "NFS: Don\u0027t use vm_map_ram() in readdir\n\nvm_map_ram() is not available on NOMMU platforms, and causes trouble\non incoherrent architectures such as ARM when we access the page data\nthrough both the direct and the virtual mapping.\n\nThe alternative is to use the direct mapping to access page data\nfor the case when we are not crossing a page boundary, but to copy\nthe data into a linear scratch buffer when we are accessing data\nthat spans page boundaries.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\nTested-by: Marc Kleine-Budde \u003cmkl@pengutronix.de\u003e\nCc: stable@kernel.org  [2.6.37]\n"
    },
    {
      "commit": "23d69b09b78c4876e134f104a3814c30747c53f1",
      "tree": "40744de4f4126c21027ce537264524095e0e7979",
      "parents": [
        "e744070fd4ff9d3114277e52d77afa21579adce2",
        "569ff2de2e1c8ac67c8df3a7367d46d0d9460a35"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 07 16:58:04 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 07 16:58:04 2011 -0800"
      },
      "message": "Merge branch \u0027for-2.6.38\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tj/wq\n\n* \u0027for-2.6.38\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tj/wq: (33 commits)\n  usb: don\u0027t use flush_scheduled_work()\n  speedtch: don\u0027t abuse struct delayed_work\n  media/video: don\u0027t use flush_scheduled_work()\n  media/video: explicitly flush request_module work\n  ioc4: use static work_struct for ioc4_load_modules()\n  init: don\u0027t call flush_scheduled_work() from do_initcalls()\n  s390: don\u0027t use flush_scheduled_work()\n  rtc: don\u0027t use flush_scheduled_work()\n  mmc: update workqueue usages\n  mfd: update workqueue usages\n  dvb: don\u0027t use flush_scheduled_work()\n  leds-wm8350: don\u0027t use flush_scheduled_work()\n  mISDN: don\u0027t use flush_scheduled_work()\n  macintosh/ams: don\u0027t use flush_scheduled_work()\n  vmwgfx: don\u0027t use flush_scheduled_work()\n  tpm: don\u0027t use flush_scheduled_work()\n  sonypi: don\u0027t use flush_scheduled_work()\n  hvsi: don\u0027t use flush_scheduled_work()\n  xen: don\u0027t use flush_scheduled_work()\n  gdrom: don\u0027t use flush_scheduled_work()\n  ...\n\nFixed up trivial conflict in drivers/media/video/bt8xx/bttv-input.c\nas per Tejun.\n"
    },
    {
      "commit": "b4a45f5fe8078bfc10837dbd5b98735058bc4698",
      "tree": "df6f13a27610a3ec7eb4a661448cd779a8f84c79",
      "parents": [
        "01539ba2a706ab7d35fc0667dff919ade7f87d63",
        "b3e19d924b6eaf2ca7d22cba99a517c5171007b6"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 07 08:56:33 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 07 08:56:33 2011 -0800"
      },
      "message": "Merge branch \u0027vfs-scale-working\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/npiggin/linux-npiggin\n\n* \u0027vfs-scale-working\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/npiggin/linux-npiggin: (57 commits)\n  fs: scale mntget/mntput\n  fs: rename vfsmount counter helpers\n  fs: implement faster dentry memcmp\n  fs: prefetch inode data in dcache lookup\n  fs: improve scalability of pseudo filesystems\n  fs: dcache per-inode inode alias locking\n  fs: dcache per-bucket dcache hash locking\n  bit_spinlock: add required includes\n  kernel: add bl_list\n  xfs: provide simple rcu-walk ACL implementation\n  btrfs: provide simple rcu-walk ACL implementation\n  ext2,3,4: provide simple rcu-walk ACL implementation\n  fs: provide simple rcu-walk generic_check_acl implementation\n  fs: provide rcu-walk aware permission i_ops\n  fs: rcu-walk aware d_revalidate method\n  fs: cache optimise dentry and inode for rcu-walk\n  fs: dcache reduce branches in lookup path\n  fs: dcache remove d_mounted\n  fs: fs_struct use seqlock\n  fs: rcu-walk for path lookup\n  ...\n"
    },
    {
      "commit": "fb045adb99d9b7c562dc7fef834857f78249daa1",
      "tree": "1fd6a4024fffeec568abe100d730589bfdb81c38",
      "parents": [
        "5f57cbcc02cf18f6b22ef4066bb10afeb8f930ff"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "npiggin@kernel.dk",
        "time": "Fri Jan 07 17:49:55 2011 +1100"
      },
      "committer": {
        "name": "Nick Piggin",
        "email": "npiggin@kernel.dk",
        "time": "Fri Jan 07 17:50:28 2011 +1100"
      },
      "message": "fs: dcache reduce branches in lookup path\n\nReduce some branches and memory accesses in dcache lookup by adding dentry\nflags to indicate common d_ops are set, rather than having to check them.\nThis saves a pointer memory access (dentry-\u003ed_op) in common path lookup\nsituations, and saves another pointer load and branch in cases where we\nhave d_op but not the particular operation.\n\nPatched with:\n\ngit grep -E \u0027[.\u003e]([[:space:]])*d_op([[:space:]])*\u003d\u0027 | xargs sed -e \u0027s/\\([^\\t ]*\\)-\u003ed_op \u003d \\(.*\\);/d_set_d_op(\\1, \\2);/\u0027 -e \u0027s/\\([^\\t ]*\\)\\.d_op \u003d \\(.*\\);/d_set_d_op(\\\u0026\\1, \\2);/\u0027 -i\n\nSigned-off-by: Nick Piggin \u003cnpiggin@kernel.dk\u003e\n"
    },
    {
      "commit": "fa0d7e3de6d6fc5004ad9dea0dd6b286af8f03e9",
      "tree": "203e0f73883e4c26b5597e36042386a1237dab35",
      "parents": [
        "77812a1ef139d84270d27faacc0630c887411013"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "npiggin@kernel.dk",
        "time": "Fri Jan 07 17:49:49 2011 +1100"
      },
      "committer": {
        "name": "Nick Piggin",
        "email": "npiggin@kernel.dk",
        "time": "Fri Jan 07 17:50:26 2011 +1100"
      },
      "message": "fs: icache RCU free inodes\n\nRCU free the struct inode. This will allow:\n\n- Subsequent store-free path walking patch. The inode must be consulted for\n  permissions when walking, so an RCU inode reference is a must.\n- sb_inode_list_lock to be moved inside i_lock because sb list walkers who want\n  to take i_lock no longer need to take sb_inode_list_lock to walk the list in\n  the first place. This will simplify and optimize locking.\n- Could remove some nested trylock loops in dcache code\n- Could potentially simplify things a bit in VM land. Do not need to take the\n  page lock to follow page-\u003emapping.\n\nThe downsides of this is the performance cost of using RCU. In a simple\ncreat/unlink microbenchmark, performance drops by about 10% due to inability to\nreuse cache-hot slab objects. As iterations increase and RCU freeing starts\nkicking over, this increases to about 20%.\n\nIn cases where inode lifetimes are longer (ie. many inodes may be allocated\nduring the average life span of a single inode), a lot of this cache reuse is\nnot applicable, so the regression caused by this patch is smaller.\n\nThe cache-hot regression could largely be avoided by using SLAB_DESTROY_BY_RCU,\nhowever this adds some complexity to list walking and store-free path walking,\nso I prefer to implement this at a later date, if it is shown to be a win in\nreal situations. I haven\u0027t found a regression in any non-micro benchmark so I\ndoubt it will be a problem.\n\nSigned-off-by: Nick Piggin \u003cnpiggin@kernel.dk\u003e\n"
    },
    {
      "commit": "fe15ce446beb3a33583af81ffe6c9d01a75314ed",
      "tree": "bc8af66b6dd2d0f21a2a3f48a19975ae2cdbae4e",
      "parents": [
        "5eef7fa905c814826f518aca2d414ca77508ce30"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "npiggin@kernel.dk",
        "time": "Fri Jan 07 17:49:23 2011 +1100"
      },
      "committer": {
        "name": "Nick Piggin",
        "email": "npiggin@kernel.dk",
        "time": "Fri Jan 07 17:50:18 2011 +1100"
      },
      "message": "fs: change d_delete semantics\n\nChange d_delete from a dentry deletion notification to a dentry caching\nadvise, more like -\u003edrop_inode. Require it to be constant and idempotent,\nand not take d_lock. This is how all existing filesystems use the callback\nanyway.\n\nThis makes fine grained dentry locking of dput and dentry lru scanning\nmuch simpler.\n\nSigned-off-by: Nick Piggin \u003cnpiggin@kernel.dk\u003e\n"
    },
    {
      "commit": "4a19de0f4b693139bb10b7cc3cfe1f618576ba67",
      "tree": "c947ed534254d08c5b8836349303844134a13d19",
      "parents": [
        "42acd021824578fa0eeb6eb58d457c23ec5dc9c0"
      ],
      "author": {
        "name": "Andy Adamson",
        "email": "andros@netapp.com",
        "time": "Thu Jan 06 02:04:35 2011 +0000"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Jan 06 14:46:25 2011 -0500"
      },
      "message": "NFS rename client back channel transport field\n\nDifferentiate from server backchannel\n\nSigned-off-by: Andy Adamson \u003candros@netapp.com\u003e\nAcked-by: Bruce Fields \u003cbfields@redhat.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "2c2618c6f29c41a0a966f14f05c8bf45fcabb750",
      "tree": "c247cfda9f847028e1d43cab1e69d2cd8a2146a4",
      "parents": [
        "f4eecd5da3422e82e88e36c33cbd2595eebcacb1"
      ],
      "author": {
        "name": "Andy Adamson",
        "email": "andros@netapp.com",
        "time": "Thu Jan 06 02:04:31 2011 +0000"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Jan 06 14:46:24 2011 -0500"
      },
      "message": "NFS associate sessionid with callback connection\n\nThe sessions based callback service is started prior to the CREATE_SESSION call\nso that it can handle CB_NULL requests which can be sent before the\nCREATE_SESSION call returns and the session ID is known.\n\nSet the callback sessionid after a sucessful CREATE_SESSION.\n\nSigned-off-by: Andy Adamson \u003candros@netapp.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "16b2d1e1d12de000404d7c845d0db1226511f84d",
      "tree": "8ad973bbcee7a1d5bb34ce855ef41324e253c181",
      "parents": [
        "1f11a034cdc4b45ee56d51b87a9e37cb776fb15b"
      ],
      "author": {
        "name": "Andy Adamson",
        "email": "andros@netapp.com",
        "time": "Thu Jan 06 02:04:27 2011 +0000"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Jan 06 14:46:23 2011 -0500"
      },
      "message": "SUNRPC register and unregister the back channel transport\n\nSigned-off-by: Andy Adamson \u003candros@netapp.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "1f11a034cdc4b45ee56d51b87a9e37cb776fb15b",
      "tree": "7d99e63af6a6c0b371ab1ee48da16edc73ab942c",
      "parents": [
        "71e161a6a9fa021a280e564254fcda894e6fbd14"
      ],
      "author": {
        "name": "Andy Adamson",
        "email": "andros@netapp.com",
        "time": "Thu Jan 06 02:04:26 2011 +0000"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Jan 06 14:46:23 2011 -0500"
      },
      "message": "SUNRPC new transport for the NFSv4.1 shared back channel\n\nMove the current sock create and destroy routines into the new transport ops.\nBack channel socket will be destroyed by the svc_closs_all call in svc_destroy.\n\nAdded check: only TCP supported on shared back channel.\n\nSigned-off-by: Andy Adamson \u003candros@netapp.com\u003e\nAcked-by: Bruce Fields \u003cbfields@redhat.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "71e161a6a9fa021a280e564254fcda894e6fbd14",
      "tree": "df454328272a688e7a8a160c32ec4ab4f4ec7702",
      "parents": [
        "4b5b3ba16be1b195d2e1161746637acd4b9fed4f"
      ],
      "author": {
        "name": "Andy Adamson",
        "email": "andros@netapp.com",
        "time": "Thu Jan 06 02:04:25 2011 +0000"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Jan 06 14:46:23 2011 -0500"
      },
      "message": "SUNRPC fix bc_send print\n\nSigned-off-by: Andy Adamson \u003candros@netapp.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "4b5b3ba16be1b195d2e1161746637acd4b9fed4f",
      "tree": "6e58eb24836d73b8fd756d9dff7199a88a9ebafe",
      "parents": [
        "64c2ce8b72eceec4030b04bca32d098b3d1431bb"
      ],
      "author": {
        "name": "Andy Adamson",
        "email": "andros@netapp.com",
        "time": "Thu Jan 06 02:04:24 2011 +0000"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Jan 06 14:46:23 2011 -0500"
      },
      "message": "SUNRPC move svc_drop to caller of svc_process_common\n\nThe NFSv4.1 shared back channel does not need to call svc_drop because the\ncallback service never outlives the single connection it services, and it\nreuses it\u0027s buffers and keeps the trasport.\n\nSigned-off-by: Andy Adamson \u003candros@netapp.com\u003e\nAcked-by: Bruce Fields \u003cbfields@redhat.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "fdef7aa5d4020fd94ffcbf0078d6bd9e5a111e19",
      "tree": "270c2b03e9cb5cf5451b0e229c5a328727ef743a",
      "parents": [
        "6bab93f87ec703bf6650875881b11f9f27d7da56"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Tue Jan 04 14:12:47 2011 -0500"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Tue Jan 04 16:49:25 2011 -0500"
      },
      "message": "svcrpc: ensure cache_check caller sees updated entry\n\nSupposes cache_check runs simultaneously with an update on a different\nCPU:\n\n\tcache_check\t\t\ttask doing update\n\t^^^^^^^^^^^\t\t\t^^^^^^^^^^^^^^^^^\n\n\t1. test for CACHE_VALID\t\t1\u0027. set entry-\u003edata\n\t   \u0026 !CACHE_NEGATIVE\n\n\t2. use entry-\u003edata\t\t2\u0027. set CACHE_VALID\n\nIf the two memory writes performed in step 1\u0027 and 2\u0027 appear misordered\nwith respect to the reads in step 1 and 2, then the caller could get\nstale data at step 2 even though it saw CACHE_VALID set on the cache\nentry.\n\nAdd memory barriers to prevent this.\n\nReviewed-by: NeilBrown \u003cneilb@suse.de\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@redhat.com\u003e\n"
    },
    {
      "commit": "6bab93f87ec703bf6650875881b11f9f27d7da56",
      "tree": "1042182b79c43747404fe91b03b3b958246c3a9c",
      "parents": [
        "da165dd60e136d0609e0a2c0c2a9b9a5372200d6"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Mon Jan 03 15:10:27 2011 -0500"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Tue Jan 04 16:49:24 2011 -0500"
      },
      "message": "svcrpc: take lock on turning entry NEGATIVE in cache_check\n\nWe attempt to turn a cache entry negative in place.  But that entry may\nalready have been filled in by some other task since we last checked\nwhether it was valid, so we could be modifying an already-valid entry.\nIf nothing else there\u0027s a likely leak in such a case when the entry is\neventually put() and contents are not freed because it has\nCACHE_NEGATIVE set.\n\nSo, take the cache_lock just as sunrpc_cache_update() does.\n\nReviewed-by: NeilBrown \u003cneilb@suse.de\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@redhat.com\u003e\n"
    },
    {
      "commit": "9e701c610923aaeac8b38b9202a686d1cc9ee35d",
      "tree": "1b2d65df63858a2cd35a4154e6d8a9fea3e716a3",
      "parents": [
        "d76d1815f3e72fb627ad7f95ef63120b0a557c9c"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Sun Jan 02 21:56:36 2011 -0500"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Tue Jan 04 16:49:22 2011 -0500"
      },
      "message": "svcrpc: simpler request dropping\n\nCurrently we use -EAGAIN returns to determine when to drop a deferred\nrequest.  On its own, that is error-prone, as it makes us treat -EAGAIN\nreturns from other functions specially to prevent inadvertent dropping.\n\nSo, use a flag on the request instead.\n\nReturning an error on request deferral is still required, to prevent\nfurther processing, but we no longer need worry that an error return on\nits own could result in a drop.\n\nSigned-off-by: J. Bruce Fields \u003cbfields@redhat.com\u003e\n"
    },
    {
      "commit": "d76d1815f3e72fb627ad7f95ef63120b0a557c9c",
      "tree": "e639629aabf50fe9b5441286ff12cfc4ec77de98",
      "parents": [
        "3beb6cd1d448e7ded938bbd676493e6a08e9a6cd"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Sun Jan 02 21:28:34 2011 -0500"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Tue Jan 04 16:49:21 2011 -0500"
      },
      "message": "svcrpc: avoid double reply caused by deferral race\n\nCommit d29068c431599fa \"sunrpc: Simplify cache_defer_req and related\nfunctions.\" asserted that cache_check() could determine success or\nfailure of cache_defer_req() by checking the CACHE_PENDING bit.\n\nThis isn\u0027t quite right.\n\nWe need to know whether cache_defer_req() created a deferred request,\nin which case sending an rpc reply has become the responsibility of the\ndeferred request, and it is important that we not send our own reply,\nresulting in two different replies to the same request.\n\nAnd the CACHE_PENDING bit doesn\u0027t tell us that; we could have\nsuccesfully created a deferred request at the same time as another\nthread cleared the CACHE_PENDING bit.\n\nSo, partially revert that commit, to ensure that cache_check() returns\n-EAGAIN if and only if a deferred request has been created.\n\nSigned-off-by: J. Bruce Fields \u003cbfields@redhat.com\u003e\nAcked-by: NeilBrown \u003cneilb@suse.de\u003e\n"
    },
    {
      "commit": "bdd5f05d91e8ae68075b812ce244c918d3d752cd",
      "tree": "45e5e9d403ee26a666cd9fbcfee5e26ea6511d50",
      "parents": [
        "31f7aa65f536995c6d933c57230919ae408952a5"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@fieldses.org",
        "time": "Tue Jan 04 13:31:45 2011 -0500"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Tue Jan 04 16:48:02 2011 -0500"
      },
      "message": "SUNRPC: Remove more code when NFSD_DEPRECATED is not configured\n\nSigned-off-by: NeilBrown \u003cneilb@suse.de\u003e\n[bfields@redhat.com: moved svcauth_unix_purge outside ifdef\u0027s.]\nSigned-off-by: J. Bruce Fields \u003cbfields@redhat.com\u003e\n"
    },
    {
      "commit": "31f7aa65f536995c6d933c57230919ae408952a5",
      "tree": "61b9620af68d846b70a1b256d29c2a0b91febef0",
      "parents": [
        "22b6dee842c6341b49bc09cc5728eb2f8f2b3766"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Fri Dec 24 14:03:38 2010 -0500"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Tue Jan 04 16:47:29 2011 -0500"
      },
      "message": "svcrpc: modifying valid sunrpc cache entries is racy\n\nOnce a sunrpc cache entry is VALID, we should be replacing it (and\nallowing any concurrent users to destroy it on last put) instead of\ntrying to update it in place.\n\nOtherwise someone referencing the ip_map we\u0027re modifying here could try\nto use the m_client just as we\u0027re putting the last reference.\n\nThe bug should only be seen by users of the legacy nfsd interfaces.\n\n(Thanks to Neil for suggestion to use sunrpc_invalidate.)\n\nReviewed-by: NeilBrown \u003cneilb@suse.de\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@redhat.com\u003e\n"
    },
    {
      "commit": "beb0f0a9fba1fa98b378329a9a5b0a73f25097ae",
      "tree": "33b5cdc0d628a48da74e2aadd0caafb6898d6350",
      "parents": [
        "51f128ea1c9224c1e3cf6c6a1498431d97699668"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Dec 20 21:19:26 2010 +0000"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Jan 04 13:10:38 2011 -0500"
      },
      "message": "kernel panic when mount NFSv4\n\nOn Tue, 2010-12-14 at 16:58 +0800, Mi Jinlong wrote:\n\u003e Hi,\n\u003e\n\u003e When testing NFSv4 at RHEL6 with kernel 2.6.32, I got a kernel panic\n\u003e at NFS client\u0027s __rpc_create_common function.\n\u003e\n\u003e The panic place is:\n\u003e   rpc_mkpipe\n\u003e     __rpc_lookup_create()          \u003c\u003d\u003d\u003d find pipefile *idmap*\n\u003e     __rpc_mkpipe()                 \u003c\u003d\u003d\u003d pipefile is *idmap*\n\u003e       __rpc_create_common()\n\u003e        ******  BUG_ON(!d_unhashed(dentry)); ******    *panic*\n\u003e\n\u003e It means that the dentry\u0027s d_flags have be set DCACHE_UNHASHED,\n\u003e but it should not be set here.\n\u003e\n\u003e Is someone known this bug? or give me some idea?\n\u003e\n\u003e A reproduce program is append, but it can\u0027t reproduce the bug every time.\n\u003e the export is: \"/nfsroot       *(rw,no_root_squash,fsid\u003d0,insecure)\"\n\u003e\n\u003e And the panic message is append.\n\u003e\n\u003e \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n\u003e #!/bin/sh\n\u003e\n\u003e LOOPTOTAL\u003d768\n\u003e LOOPCOUNT\u003d0\n\u003e ret\u003d0\n\u003e\n\u003e while [ $LOOPCOUNT -ne $LOOPTOTAL ]\n\u003e do\n\u003e \t((LOOPCOUNT +\u003d 1))\n\u003e \tservice nfs restart\n\u003e \t/usr/sbin/rpc.idmapd\n\u003e \tmount -t nfs4 127.0.0.1:/ /mnt|| return 1;\n\u003e \tls -l /var/lib/nfs/rpc_pipefs/nfs/*/\n\u003e \tumount /mnt\n\u003e \techo $LOOPCOUNT\n\u003e done\n\u003e\n\u003e \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n\u003e Code: af 60 01 00 00 89 fa 89 f0 e8 64 cf 89 f0 e8 5c 7c 64 cf 31 c0 8b 5c 24 10 8b\n\u003e 74 24 14 8b 7c 24 18 8b 6c 24 1c 83 c4 20 c3 \u003c0f\u003e 0b eb fc 8b 46 28 c7 44 24 08 20\n\u003e de ee f0 c7 44 24 04 56 ea\n\u003e EIP:[\u003cf0ee92ea\u003e] __rpc_create_common+0x8a/0xc0 [sunrpc] SS:ESP 0068:eccb5d28\n\u003e ---[ end trace 8f5606cd08928ed2]---\n\u003e Kernel panic - not syncing: Fatal exception\n\u003e Pid:7131, comm: mount.nfs4 Tainted: G     D   -------------------2.6.32 #1\n\u003e Call Trace:\n\u003e  [\u003cc080ad18\u003e] ? panic+0x42/0xed\n\u003e  [\u003cc080e42c\u003e] ? oops_end+0xbc/0xd0\n\u003e  [\u003cc040b090\u003e] ? do_invalid_op+0x0/0x90\n\u003e  [\u003cc040b10f\u003e] ? do_invalid_op+0x7f/0x90\n\u003e  [\u003cf0ee92ea\u003e] ? __rpc_create_common+0x8a/0xc0[sunrpc]\n\u003e  [\u003cf0edc433\u003e] ? rpc_free_task+0x33/0x70[sunrpc]\n\u003e  [\u003cf0ed6508\u003e] ? prc_call_sync+0x48/0x60[sunrpc]\n\u003e  [\u003cf0ed656e\u003e] ? rpc_ping+0x4e/0x60[sunrpc]\n\u003e  [\u003cf0ed6eaf\u003e] ? rpc_create+0x38f/0x4f0[sunrpc]\n\u003e  [\u003cc080d80b\u003e] ? error_code+0x73/0x78\n\u003e  [\u003cf0ee92ea\u003e] ? __rpc_create_common+0x8a/0xc0[sunrpc]\n\u003e  [\u003cc0532bda\u003e] ? d_lookup+0x2a/0x40\n\u003e  [\u003cf0ee94b1\u003e] ? rpc_mkpipe+0x111/0x1b0[sunrpc]\n\u003e  [\u003cf10a59f4\u003e] ? nfs_create_rpc_client+0xb4/0xf0[nfs]\n\u003e  [\u003cf10d6c6d\u003e] ? nfs_fscache_get_client_cookie+0x1d/0x50[nfs]\n\u003e  [\u003cf10d3fcb\u003e] ? nfs_idmap_new+0x7b/0x140[nfs]\n\u003e  [\u003cc05e76aa\u003e] ? strlcpy+0x3a/0x60\n\u003e  [\u003cf10a60ca\u003e] ? nfs4_set_client+0xea/0x2b0[nfs]\n\u003e  [\u003cf10a6d0c\u003e] ? nfs4_create_server+0xac/0x1b0[nfs]\n\u003e  [\u003cc04f1400\u003e] ? krealloc+0x40/0x50\n\u003e  [\u003cf10b0e8b\u003e] ? nfs4_remote_get_sb+0x6b/0x250[nfs]\n\u003e  [\u003cc04f14ec\u003e] ? kstrdup+0x3c/0x60\n\u003e  [\u003cc0520739\u003e] ? vfs_kern_mount+0x69/0x170\n\u003e  [\u003cf10b1a3c\u003e] ? nfs_do_root_mount+0x6c/0xa0[nfs]\n\u003e  [\u003cf10b1b47\u003e] ? nfs4_try_mount+0x37/0xa0[nfs]\n\u003e  [\u003cf10afe6d\u003e] ? nfs4_validate_text_mount_data+-x7d/0xf0[nfs]\n\u003e  [\u003cf10b1c42\u003e] ? nfs4_get_sb+0x92/0x2f0\n\u003e  [\u003cc0520739\u003e] ? vfs_kern_mount+0x69/0x170\n\u003e  [\u003cc05366d2\u003e] ? get_fs_type+0x32/0xb0\n\u003e  [\u003cc052089f\u003e] ? do_kern_mount+0x3f/0xe0\n\u003e  [\u003cc053954f\u003e] ? do_mount+0x2ef/0x740\n\u003e  [\u003cc0537740\u003e] ? copy_mount_options+0xb0/0x120\n\u003e  [\u003cc0539a0e\u003e] ? sys_mount+0x6e/0xa0\n\nHi,\n\nDoes the following patch fix the problem?\n\nCheers\n  Trond\n\n--------------------------\nSUNRPC: Fix a BUG in __rpc_create_common\n\nFrom: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n\nMi Jinlong reports:\n\nWhen testing NFSv4 at RHEL6 with kernel 2.6.32, I got a kernel panic\nat NFS client\u0027s __rpc_create_common function.\n\nThe panic place is:\n  rpc_mkpipe\n      __rpc_lookup_create()          \u003c\u003d\u003d\u003d find pipefile *idmap*\n      __rpc_mkpipe()                 \u003c\u003d\u003d\u003d pipefile is *idmap*\n        __rpc_create_common()\n         ******  BUG_ON(!d_unhashed(dentry)); ****** *panic*\n\nThe test is wrong: we can find ourselves with a hashed negative dentry here\nif the idmapper tried to look up the file before we got round to creating\nit.\n\nJust replace the BUG_ON() with a d_drop(dentry).\n\nReported-by: Mi Jinlong \u003cmijinlong@cn.fujitsu.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "17f7f4d9fcce8f1b75b5f735569309dee7665968",
      "tree": "14d7e49ca0053a0fcab3c33b5023bf3f90c5c08a",
      "parents": [
        "041110a439e21cd40709ead4ffbfa8034619ad77",
        "d7c1255a3a21e98bdc64df8ccf005a174d7e6289"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Dec 26 22:37:05 2010 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Dec 26 22:37:05 2010 -0800"
      },
      "message": "Merge branch \u0027master\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6\n\nConflicts:\n\tnet/ipv4/fib_frontend.c\n"
    },
    {
      "commit": "b3bcedadf23264c3b7afcbfbfe1965a17ef1352c",
      "tree": "119c1b242836023b2fca36a7ec7d9642780d2908",
      "parents": [
        "aa69947399a119d7f1b35bbcd62c849839b35449"
      ],
      "author": {
        "name": "Joe Perches",
        "email": "joe@perches.com",
        "time": "Tue Dec 21 10:52:24 2010 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Dec 21 11:51:26 2010 -0500"
      },
      "message": "net/sunrpc/clnt.c: Convert sprintf_symbol to %ps\n\nSigned-off-by: Joe Perches \u003cjoe@perches.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "f3c0ceea83ba3741226ea04eb1804d254da2642f",
      "tree": "dfbc7b1945536e95e5d52dc88f3044add69ea98f",
      "parents": [
        "66c941f4aa8aef397a757001af61073db23b39e5"
      ],
      "author": {
        "name": "Joe Perches",
        "email": "joe@perches.com",
        "time": "Sun Nov 14 18:08:11 2010 -0800"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Fri Dec 17 15:48:22 2010 -0500"
      },
      "message": "net/sunrpc/auth_gss/gss_krb5_crypto.c: Use normal negative error value return\n\nAnd remove unnecessary double semicolon too.\n\nNo effect to code, as test is !\u003d 0.\n\nSigned-off-by: Joe Perches \u003cjoe@perches.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@redhat.com\u003e\n"
    },
    {
      "commit": "66c941f4aa8aef397a757001af61073db23b39e5",
      "tree": "5b3e1d1d210eef44f99c9ff716ec17cba93a89fd",
      "parents": [
        "5b6a599f0da3722dea9ecc01d97f54061662ce49"
      ],
      "author": {
        "name": "Shan Wei",
        "email": "shanwei@cn.fujitsu.com",
        "time": "Wed Dec 15 14:47:20 2010 +0800"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Fri Dec 17 15:48:21 2010 -0500"
      },
      "message": "net: sunrpc: kill unused macros\n\nThese macros never be used for several years.\n\nSigned-off-by: Shan Wei \u003cshanwei@cn.fujitsu.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@redhat.com\u003e\n"
    },
    {
      "commit": "3942302ea9e1dffa933021b20bf1642046e7641b",
      "tree": "c6b878198ab33ee5893f24b7366b9c209d71a2dc",
      "parents": [
        "7c96aef75949a56ec427fc6a2522dace2af33605"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Mon Nov 15 11:27:01 2010 +1100"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Fri Dec 17 15:48:19 2010 -0500"
      },
      "message": "sunrpc: svc_sock_names should hold ref to socket being closed.\n\nCurrently svc_sock_names calls svc_close_xprt on a svc_sock to\nwhich it does not own a reference.\nAs soon as svc_close_xprt sets XPT_CLOSE, the socket could be\nfreed by a separate thread (though this is a very unlikely race).\n\nIt is safer to hold a reference while calling svc_close_xprt.\n\nSigned-off-by: NeilBrown \u003cneilb@suse.de\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@redhat.com\u003e\n"
    },
    {
      "commit": "7c96aef75949a56ec427fc6a2522dace2af33605",
      "tree": "ca65368231d4c5b39e3adce558bfe15d712809c7",
      "parents": [
        "18b631f83810e95eeb2e1839889b27142bd8d6d8"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Mon Nov 15 11:27:01 2010 +1100"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Fri Dec 17 15:48:18 2010 -0500"
      },
      "message": "sunrpc: remove xpt_pool\n\nThe xpt_pool field is only used for reporting BUGs.\nAnd it isn\u0027t used correctly.\n\nIn particular, when it is cleared in svc_xprt_received before\nXPT_BUSY is cleared, there is no guarantee that either the\ncompiler or the CPU might not re-order to two assignments, just\nsetting xpt_pool to NULL after XPT_BUSY is cleared.\n\nIf a different cpu were running svc_xprt_enqueue at this moment,\nit might see XPT_BUSY clear and then xpt_pool non-NULL, and\nso BUG.\n\nThis could be fixed by calling\n  smp_mb__before_clear_bit()\nbefore the clear_bit.  However as xpt_pool isn\u0027t really used,\nit seems safest to simply remove xpt_pool.\n\nAnother alternate would be to change the clear_bit to\nclear_bit_unlock, and the test_and_set_bit to test_and_set_bit_lock.\n\nSigned-off-by: NeilBrown \u003cneilb@suse.de\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@redhat.com\u003e\n"
    },
    {
      "commit": "ec66ee3797e5848356cf593c6ec7aabf30a00cf1",
      "tree": "7ed5c84cc914644ffa1cd1b6a2b45db53fc224e8",
      "parents": [
        "1205065764f2eda3216ebe213143f69891ee3460",
        "b0c3844d8af6b9f3f18f31e1b0502fbefa2166be"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Fri Dec 17 13:29:07 2010 -0500"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Fri Dec 17 13:29:07 2010 -0500"
      },
      "message": "Merge commit \u0027v2.6.37-rc6\u0027 into for-2.6.38\n"
    },
    {
      "commit": "bf2695516db982e90a22fc94f93491b481796bb1",
      "tree": "367bf134ef892bfc3fcd2c4fe676b14102d97467",
      "parents": [
        "9f06c719f474be7003763284a990bed6377bb0d4"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Tue Dec 14 14:59:29 2010 +0000"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Dec 16 12:37:25 2010 -0500"
      },
      "message": "SUNRPC: New xdr_streams XDR decoder API\n\nNow that all client-side XDR decoder routines use xdr_streams, there\nshould be no need to support the legacy calling sequence [rpc_rqst *,\n__be32 *, RPC res *] anywhere.  We can construct an xdr_stream in the\ngeneric RPC code, instead of in each decoder function.\n\nThis is a refactoring change.  It should not cause different behavior.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nTested-by: J. Bruce Fields \u003cbfields@redhat.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "9f06c719f474be7003763284a990bed6377bb0d4",
      "tree": "409ebc3505f943bfdb933ab0acd76ffb5347b372",
      "parents": [
        "1ac7c23e4af5e83525137661595000099f1ce94f"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Tue Dec 14 14:59:18 2010 +0000"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Dec 16 12:37:25 2010 -0500"
      },
      "message": "SUNRPC: New xdr_streams XDR encoder API\n\nNow that all client-side XDR encoder routines use xdr_streams, there\nshould be no need to support the legacy calling sequence [rpc_rqst *,\n__be32 *, RPC arg *] anywhere.  We can construct an xdr_stream in the\ngeneric RPC code, instead of in each encoder function.\n\nAlso, all the client-side encoder functions return 0 now, making a\nreturn value superfluous.  Take this opportunity to convert them to\nreturn void instead.\n\nThis is a refactoring change.  It should not cause different behavior.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nTested-by: J. Bruce Fields \u003cbfields@redhat.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "1ac7c23e4af5e83525137661595000099f1ce94f",
      "tree": "36038cc6261b15abee63b6d20641ada06aa5bcd7",
      "parents": [
        "4129ccf303593a1922a934697f99e682ff491504"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Tue Dec 14 14:59:09 2010 +0000"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Dec 16 12:37:25 2010 -0500"
      },
      "message": "SUNRPC: Determine value of \"nrprocs\" automatically\n\nClean up.\n\nJust fixed a panic where the nrprocs field in a different upper layer\nclient was set by hand incorrectly.  Use the compiler-generated method\nused by the other upper layer protocols.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "4129ccf303593a1922a934697f99e682ff491504",
      "tree": "e0ad1d8e560b19b8e214f69a2608eccd0f791423",
      "parents": [
        "b43cd8c153f6902100ed50c1f7e11a470c73a73f"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Tue Dec 14 14:58:59 2010 +0000"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Dec 16 12:37:25 2010 -0500"
      },
      "message": "SUNRPC: Avoid return code checking in rpcbind XDR encoder functions\n\nClean up.\n\nThe trend in the other XDR encoder functions is to BUG() when encoding\nproblems occur, since a problem here is always due to a local coding\nerror.  Then, instead of a status, zero is unconditionally returned.\n\nUpdate the rpcbind XDR encoders to behave this way.\n\nTo finish the update, use the new-style be32_to_cpup() and\ncpu_to_be32() macros, and compute the buffer sizes using raw integers\ninstead of sizeof().  This matches the conventions used in other XDR\nfunctions.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nTested-by: J. Bruce Fields \u003cbfields@redhat.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "afe2c511fb2d75f1515081ff1be15bd79cfe722d",
      "tree": "28aa74e9e0c654a95bf3306101e10ac1d16919d1",
      "parents": [
        "2d64672ed38721b7a3815009d79bfb90a1f34a17"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Tue Dec 14 16:21:17 2010 +0100"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Wed Dec 15 10:56:11 2010 +0100"
      },
      "message": "workqueue: convert cancel_rearming_delayed_work[queue]() users to cancel_delayed_work_sync()\n\ncancel_rearming_delayed_work[queue]() has been superceded by\ncancel_delayed_work_sync() quite some time ago.  Convert all the\nin-kernel users.  The conversions are completely equivalent and\ntrivial.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nAcked-by: \"David S. Miller\" \u003cdavem@davemloft.net\u003e\nAcked-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\nAcked-by: Evgeniy Polyakov \u003czbr@ioremap.net\u003e\nCc: Jeff Garzik \u003cjgarzik@pobox.com\u003e\nCc: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nCc: Mauro Carvalho Chehab \u003cmchehab@infradead.org\u003e\nCc: netdev@vger.kernel.org\nCc: Anton Vorontsov \u003ccbou@mail.ru\u003e\nCc: David Woodhouse \u003cdwmw2@infradead.org\u003e\nCc: \"J. Bruce Fields\" \u003cbfields@fieldses.org\u003e\nCc: Neil Brown \u003cneilb@suse.de\u003e\nCc: Alex Elder \u003caelder@sgi.com\u003e\nCc: xfs-masters@oss.sgi.com\nCc: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nCc: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nCc: netfilter-devel@vger.kernel.org\nCc: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\nCc: linux-nfs@vger.kernel.org\n"
    },
    {
      "commit": "ed2849d3ecfa339435818eeff28f6c3424300cec",
      "tree": "2fbef743779156c2c96afecd8311ff8488a90121",
      "parents": [
        "cf7d7e5a1980d1116ee152d25dac382b112b9c17"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Tue Nov 16 16:55:19 2010 +1100"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Tue Dec 07 20:39:55 2010 -0500"
      },
      "message": "sunrpc: prevent use-after-free on clearing XPT_BUSY\n\nWhen an xprt is created, it has a refcount of 1, and XPT_BUSY is set.\nThe refcount is *not* owned by the thread that created the xprt\n(as is clear from the fact that creators never put the reference).\nRather, it is owned by the absence of XPT_DEAD.  Once XPT_DEAD is set,\n(And XPT_BUSY is clear) that initial reference is dropped and the xprt\ncan be freed.\n\nSo when a creator clears XPT_BUSY it is dropping its only reference and\nso must not touch the xprt again.\n\nHowever svc_recv, after calling -\u003expo_accept (and so getting an XPT_BUSY\nreference on a new xprt), calls svc_xprt_recieved.  This clears\nXPT_BUSY and then svc_xprt_enqueue - this last without owning a reference.\nThis is dangerous and has been seen to leave svc_xprt_enqueue working\nwith an xprt containing garbage.\n\nSo we need to hold an extra counted reference over that call to\nsvc_xprt_received.\n\nFor safety, any time we clear XPT_BUSY and then use the xprt again, we\nfirst get a reference, and the put it again afterwards.\n\nNote that svc_close_all does not need this extra protection as there are\nno threads running, and the final free can only be called asynchronously\nfrom such a thread.\n\nSigned-off-by: NeilBrown \u003cneilb@suse.de\u003e\nCc: stable@kernel.org\nSigned-off-by: J. Bruce Fields \u003cbfields@redhat.com\u003e\n"
    },
    {
      "commit": "5fc43978a79e8021c189660ab63249fd29c5fb32",
      "tree": "cac3a18f6bc6c5b91e5c2592c2d7b0ad459db50e",
      "parents": [
        "3561d43fd289f590fdae672e5eb831b8d5cf0bf6"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sat Nov 20 11:13:31 2010 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Nov 22 13:22:39 2010 -0500"
      },
      "message": "SUNRPC: Fix an infinite loop in call_refresh/call_refreshresult\n\nIf the rpcauth_refreshcred() call returns an error other than\nEACCES, ENOMEM or ETIMEDOUT, we currently end up looping forever\nbetween call_refresh and call_refreshresult.\n\nThe correct thing to do here is to exit on all errors except\nEAGAIN and ETIMEDOUT, for which case we retry 3 times, then\nreturn EACCES.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "fdb26195f494988fc155c204aab0f0953ba7ec6f",
      "tree": "712f69b83dc9028abead6cbd5e86b8e158a97702",
      "parents": [
        "9ed05ad3c0629f434b18d20c51162f9bbb4f5d31"
      ],
      "author": {
        "name": "Tracey Dent",
        "email": "tdent48227@gmail.com",
        "time": "Sun Nov 21 15:03:27 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Nov 22 08:16:16 2010 -0800"
      },
      "message": "Net: sunrpc: auth_gss: Makefile: Remove deprecated kbuild goal definitions\n\nChanged Makefile to use \u003cmodules\u003e-y instead of \u003cmodules\u003e-objs\nbecause -objs is deprecated and not mentioned in\nDocumentation/kbuild/makefiles.txt.\n\nSigned-off-by: Tracey Dent \u003ctdent48227@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "9c335c0b8daf56b9f73479d00b1dd726e1fcca09",
      "tree": "1b408ebd50345d5f3c699a2cd14c73248f39a29d",
      "parents": [
        "b176331627fccc726d28f4fc4a357d1f3c19dbf0"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Tue Oct 26 11:32:03 2010 -0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Fri Nov 19 18:35:12 2010 -0500"
      },
      "message": "svcrpc: fix wspace-checking race\n\nWe call svc_xprt_enqueue() after something happens which we think may\nrequire handling from a server thread.  To avoid such events being lost,\nsvc_xprt_enqueue() must guarantee that there will be a svc_serv() call\nfrom a server thread following any such event.  It does that by either\nwaking up a server thread itself, or checking that XPT_BUSY is set (in\nwhich case somebody else is doing it).\n\nBut the check of XPT_BUSY could occur just as someone finishes\nprocessing some other event, and just before they clear XPT_BUSY.\n\nTherefore it\u0027s important not to clear XPT_BUSY without subsequently\ndoing another svc_export_enqueue() to check whether the xprt should be\nrequeued.\n\nThe xpo_wspace() check in svc_xprt_enqueue() breaks this rule, allowing\nan event to be missed in situations like:\n\n\tdata arrives\n\tcall svc_tcp_data_ready():\n\tcall svc_xprt_enqueue():\n\tset BUSY\n\tfind no write space\n\t\t\t\tsvc_reserve():\n\t\t\t\tfree up write space\n\t\t\t\tcall svc_enqueue():\n\t\t\t\ttest BUSY\n\tclear BUSY\n\nSo, instead, check wspace in the same places that the state flags are\nchecked: before taking BUSY, and in svc_receive().\n\nSigned-off-by: J. Bruce Fields \u003cbfields@redhat.com\u003e\n"
    },
    {
      "commit": "b176331627fccc726d28f4fc4a357d1f3c19dbf0",
      "tree": "f7190ebede63602d21fc7c227a3517b40b35e94d",
      "parents": [
        "f8c0d226fef05226ff1a85055c8ed663022f40c1"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Mon Oct 25 20:24:48 2010 -0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Fri Nov 19 18:35:12 2010 -0500"
      },
      "message": "svcrpc: svc_close_xprt comment\n\nNeil Brown had to explain to me why we do this here; record the answer\nfor posterity.\n\nSigned-off-by: J. Bruce Fields \u003cbfields@redhat.com\u003e\n"
    },
    {
      "commit": "f8c0d226fef05226ff1a85055c8ed663022f40c1",
      "tree": "4c9a41dc3283b9e4b3f7ef891b7d4a874741abe6",
      "parents": [
        "ca7896cd83456082b1e78816cdf7e41658ef7bcd"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Mon Oct 25 18:11:21 2010 -0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Fri Nov 19 18:35:11 2010 -0500"
      },
      "message": "svcrpc: simplify svc_close_all\n\nThere\u0027s no need to be fooling with XPT_BUSY now that all the threads\nare gone.\n\nThe list_del_init() here could execute at the same time as the\nsvc_xprt_enqueue()\u0027s list_add_tail(), with undefined results.  We don\u0027t\nreally care at this point, but it might result in a spurious\nlist-corruption warning or something.\n\nAnd svc_close() isn\u0027t adding any value; just call svc_delete_xprt()\ndirectly.\n\nSigned-off-by: J. Bruce Fields \u003cbfields@redhat.com\u003e\n"
    },
    {
      "commit": "ca7896cd83456082b1e78816cdf7e41658ef7bcd",
      "tree": "b2af6517a66f213807de4cf8c8b6eb89c218eb8e",
      "parents": [
        "62bac4af3d778f6d06d351c0442008967c512588"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Mon Oct 25 14:12:40 2010 -0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Fri Nov 19 18:35:11 2010 -0500"
      },
      "message": "nfsd4: centralize more calls to svc_xprt_received\n\nFollow up on b48fa6b99100dc7772af3cd276035fcec9719ceb by moving all the\nsvc_xprt_received() calls for the main xprt to one place.  The clearing\nof XPT_BUSY here is critical to the correctness of the server, so I\u0027d\nprefer it to be obvious where we do it.\n\nThe only substantive result is moving svc_xprt_received() after\nsvc_receive_deferred().  Other than a (likely insignificant) delay\nwaking up the next thread, that should be harmless.\n\nAlso reshuffle the exit code a little to skip a few other steps that we\ndon\u0027t care about the in the svc_delete_xprt() case.\n\nSigned-off-by: J. Bruce Fields \u003cbfields@redhat.com\u003e\n"
    },
    {
      "commit": "62bac4af3d778f6d06d351c0442008967c512588",
      "tree": "b1e0b336d0f23f11896d81e48f2e8f66c2d8f75d",
      "parents": [
        "43b0178eda1e7e5d1e205bbfd076ab5d6ecacc02"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Mon Oct 25 12:50:15 2010 -0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Fri Nov 19 18:35:11 2010 -0500"
      },
      "message": "svcrpc: don\u0027t set then immediately clear XPT_DEFERRED\n\nThere\u0027s no harm to doing this, since the only caller will immediately\ncall svc_enqueue() afterwards, ensuring we don\u0027t miss the remaining\ndeferred requests just because XPT_DEFERRED was briefly cleared.\n\nBut why not just do this the simple way?\n\nSigned-off-by: J. Bruce Fields \u003cbfields@redhat.com\u003e\n"
    },
    {
      "commit": "451a3c24b0135bce54542009b5fde43846c7cf67",
      "tree": "f0fbbcc155aef2a1ffcb8aa593fe7a966d0e6900",
      "parents": [
        "55f6561c6941713ab5ae9180525b026dd40b7d14"
      ],
      "author": {
        "name": "Arnd Bergmann",
        "email": "arnd@arndb.de",
        "time": "Wed Nov 17 16:26:55 2010 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Nov 17 08:59:32 2010 -0800"
      },
      "message": "BKL: remove extraneous #include \u003csmp_lock.h\u003e\n\nThe big kernel lock has been removed from all these files at some point,\nleaving only the #include.\n\nRemove this too as a cleanup.\n\nSigned-off-by: Arnd Bergmann \u003carnd@arndb.de\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "94f58df8e545657f0b2d16eca1ac7a4ec39ed6be",
      "tree": "cf914f47862fdabb86257f18b671754c38c2ca8f",
      "parents": [
        "5685b971362651ee3d99ff3cc512c3bbd049d34d"
      ],
      "author": {
        "name": "Jesper Juhl",
        "email": "jj@chaosbits.net",
        "time": "Sun Nov 07 22:11:34 2010 +0100"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Nov 16 11:58:51 2010 -0500"
      },
      "message": "SUNRPC: Simplify rpc_alloc_iostats by removing pointless local variable\n\nHi,\n\nWe can simplify net/sunrpc/stats.c::rpc_alloc_iostats() a bit by getting\nrid of the unneeded local variable \u0027new\u0027.\n\nPlease CC me on replies.\n\nSigned-off-by: Jesper Juhl \u003cjj@chaosbits.net\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "fc14f2fef682df677d64a145256dbd263df2aa7b",
      "tree": "74f6b939fbad959a43c04ec646cd0adc8af5f53a",
      "parents": [
        "848b83a59b772b8f102bc5e3f1187c2fa5676959"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sun Jul 25 01:48:30 2010 +0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Fri Oct 29 04:16:28 2010 -0400"
      },
      "message": "convert get_sb_single() users\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "426e1f5cec4821945642230218876b0e89aafab1",
      "tree": "2728ace018d0698886989da586210ef1543a7098",
      "parents": [
        "9e5fca251f44832cb996961048ea977f80faf6ea",
        "63997e98a3be68d7cec806d22bf9b02b2e1daabb"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Oct 26 17:58:44 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Oct 26 17:58:44 2010 -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: (52 commits)\n  split invalidate_inodes()\n  fs: skip I_FREEING inodes in writeback_sb_inodes\n  fs: fold invalidate_list into invalidate_inodes\n  fs: do not drop inode_lock in dispose_list\n  fs: inode split IO and LRU lists\n  fs: switch bdev inode bdi\u0027s correctly\n  fs: fix buffer invalidation in invalidate_list\n  fsnotify: use dget_parent\n  smbfs: use dget_parent\n  exportfs: use dget_parent\n  fs: use RCU read side protection in d_validate\n  fs: clean up dentry lru modification\n  fs: split __shrink_dcache_sb\n  fs: improve DCACHE_REFERENCED usage\n  fs: use percpu counter for nr_dentry and nr_dentry_unused\n  fs: simplify __d_free\n  fs: take dcache_lock inside __d_path\n  fs: do not assign default i_ino in new_inode\n  fs: introduce a per-cpu last_ino allocator\n  new helper: ihold()\n  ...\n"
    },
    {
      "commit": "4390110fef9e5c64e10c6ca19d586932242c9a8a",
      "tree": "f2f26fe291c8b4e424b97ac57370b33e0c006568",
      "parents": [
        "a4dd8dce14014665862ce7911b38cb2c69e366dd",
        "42d7ba3d6d56a6cbc773284896108b1e2ebcee81"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Oct 26 09:55:25 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Oct 26 09:55:25 2010 -0700"
      },
      "message": "Merge branch \u0027for-2.6.37\u0027 of git://linux-nfs.org/~bfields/linux\n\n* \u0027for-2.6.37\u0027 of git://linux-nfs.org/~bfields/linux: (99 commits)\n  svcrpc: svc_tcp_sendto XPT_DEAD check is redundant\n  svcrpc: no need for XPT_DEAD check in svc_xprt_enqueue\n  svcrpc: assume svc_delete_xprt() called only once\n  svcrpc: never clear XPT_BUSY on dead xprt\n  nfsd4: fix connection allocation in sequence()\n  nfsd4: only require krb5 principal for NFSv4.0 callbacks\n  nfsd4: move minorversion to client\n  nfsd4: delay session removal till free_client\n  nfsd4: separate callback change and callback probe\n  nfsd4: callback program number is per-session\n  nfsd4: track backchannel connections\n  nfsd4: confirm only on succesful create_session\n  nfsd4: make backchannel sequence number per-session\n  nfsd4: use client pointer to backchannel session\n  nfsd4: move callback setup into session init code\n  nfsd4: don\u0027t cache seq_misordered replies\n  SUNRPC: Properly initialize sock_xprt.srcaddr in all cases\n  SUNRPC: Use conventional switch statement when reclassifying sockets\n  sunrpc/xprtrdma: clean up workqueue usage\n  sunrpc: Turn list_for_each-s into the ..._entry-s\n  ...\n\nFix up trivial conflicts (two different deprecation notices added in\nseparate branches) in Documentation/feature-removal-schedule.txt\n"
    },
    {
      "commit": "a4dd8dce14014665862ce7911b38cb2c69e366dd",
      "tree": "00e79b2845d5d49abcd83cf253db83a52d482265",
      "parents": [
        "b18cae4224bde7e5a332c19bc99247b2098ea232",
        "411b5e05617593efebc06241dbc56f42150f2abe"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Oct 26 09:52:09 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Oct 26 09:52:09 2010 -0700"
      },
      "message": "Merge branch \u0027nfs-for-2.6.37\u0027 of git://git.linux-nfs.org/projects/trondmy/nfs-2.6\n\n* \u0027nfs-for-2.6.37\u0027 of git://git.linux-nfs.org/projects/trondmy/nfs-2.6:\n  net/sunrpc: Use static const char arrays\n  nfs4: fix channel attribute sanity-checks\n  NFSv4.1: Use more sensible names for \u0027initialize_mountpoint\u0027\n  NFSv4.1: pnfs: filelayout: add driver\u0027s LAYOUTGET and GETDEVICEINFO infrastructure\n  NFSv4.1: pnfs: add LAYOUTGET and GETDEVICEINFO infrastructure\n  NFS: client needs to maintain list of inodes with active layouts\n  NFS: create and destroy inode\u0027s layout cache\n  NFSv4.1: pnfs: filelayout: introduce minimal file layout driver\n  NFSv4.1: pnfs: full mount/umount infrastructure\n  NFS: set layout driver\n  NFS: ask for layouttypes during v4 fsinfo call\n  NFS: change stateid to be a union\n  NFSv4.1: pnfsd, pnfs: protocol level pnfs constants\n  SUNRPC: define xdr_decode_opaque_fixed\n  NFSD: remove duplicate NFS4_STATEID_SIZE\n"
    },
    {
      "commit": "411b5e05617593efebc06241dbc56f42150f2abe",
      "tree": "f3a8ea3a580134cee82f06cf23a0e1cbdc4f3f41",
      "parents": [
        "43c2e885be25311e6289c7da52e8a03c4453ee03"
      ],
      "author": {
        "name": "Joe Perches",
        "email": "joe@perches.com",
        "time": "Mon Sep 13 12:48:01 2010 -0700"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Oct 25 22:19:52 2010 -0400"
      },
      "message": "net/sunrpc: Use static const char arrays\n\nSigned-off-by: Joe Perches \u003cjoe@perches.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "85fe4025c616a7c0ed07bc2fc8c5371b07f3888c",
      "tree": "7a5db7accb6192f2911f2473b4e3191227b914cc",
      "parents": [
        "f991bd2e14210fb93d722cb23e54991de20e8a3d"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Sat Oct 23 11:19:54 2010 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Oct 25 21:26:11 2010 -0400"
      },
      "message": "fs: do not assign default i_ino in new_inode\n\nInstead of always assigning an increasing inode number in new_inode\nmove the call to assign it into those callers that actually need it.\nFor now callers that need it is estimated conservatively, that is\nthe call is added to all filesystems that do not assign an i_ino\nby themselves.  For a few more filesystems we can avoid assigning\nany inode number given that they aren\u0027t user visible, and for others\nit could be done lazily when an inode number is actually needed,\nbut that\u0027s left for later patches.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Dave Chinner \u003cdchinner@redhat.com\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "42d7ba3d6d56a6cbc773284896108b1e2ebcee81",
      "tree": "3d0d908c39ae228e4b51c3bec8d5bd5188397637",
      "parents": [
        "01dba075d571f5a8b7dcb153fdfd14e981c4cee3"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Sat Oct 23 11:55:53 2010 -0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Mon Oct 25 17:59:34 2010 -0400"
      },
      "message": "svcrpc: svc_tcp_sendto XPT_DEAD check is redundant\n\nThe only caller (svc_send) has already checked XPT_DEAD.\n\nSigned-off-by: J. Bruce Fields \u003cbfields@redhat.com\u003e\n"
    },
    {
      "commit": "01dba075d571f5a8b7dcb153fdfd14e981c4cee3",
      "tree": "b443dff71fd4addcd11b873f356bbd247cadaa43",
      "parents": [
        "ac9303eb74471bc2567960b47497a8bfbe1e5a03"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Sat Oct 23 11:23:46 2010 -0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Mon Oct 25 17:59:33 2010 -0400"
      },
      "message": "svcrpc: no need for XPT_DEAD check in svc_xprt_enqueue\n\nIf any xprt marked DEAD is also left BUSY for the rest of its life, then\nthe XPT_DEAD check here is superfluous--we\u0027ll get the same result from\nthe XPT_BUSY check just after.\n\nSigned-off-by: J. Bruce Fields \u003cbfields@redhat.com\u003e\n"
    },
    {
      "commit": "ac9303eb74471bc2567960b47497a8bfbe1e5a03",
      "tree": "17f9882d81b56d2787d0c556cfa6d76ea40a948b",
      "parents": [
        "7e4fdd0744fcb9f08854c37643bf529c5945cc36"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Sat Oct 23 11:16:10 2010 -0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Mon Oct 25 17:59:32 2010 -0400"
      },
      "message": "svcrpc: assume svc_delete_xprt() called only once\n\nAs long as DEAD exports are left BUSY, and svc_delete_xprt is called\nonly with BUSY held, then svc_delete_xprt() will never be called on an\nxprt that is already DEAD.\n\nSigned-off-by: J. Bruce Fields \u003cbfields@redhat.com\u003e\n"
    },
    {
      "commit": "7e4fdd0744fcb9f08854c37643bf529c5945cc36",
      "tree": "4587d216b75107bc173a66396e5ca6a4d4e1b0ce",
      "parents": [
        "a663bdd8c5d18d287f7468470816c9e0e66343c1"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Sat Oct 23 11:04:12 2010 -0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Mon Oct 25 17:58:40 2010 -0400"
      },
      "message": "svcrpc: never clear XPT_BUSY on dead xprt\n\nOnce an xprt has been deleted, there\u0027s no reason to allow it to be\nenqueued--at worst, that might cause the xprt to be re-added to some\nglobal list, resulting in later corruption.\n\nAlso, note this leaves us with no need for the reference-count\nmanipulation here.\n\nReviewed-by: NeilBrown \u003cneilb@suse.de\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@redhat.com\u003e\n"
    },
    {
      "commit": "74eb94b218d087798a52c0b4f1379b635287a4b8",
      "tree": "4e467c3014c2b1169f6f71d88cf5d1598f3ce28e",
      "parents": [
        "7b6181e06841f5ad15c4ff708b967b4db65a64de",
        "9a84d38031c258a17bb39beed1e500eadee67407"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 25 13:48:29 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 25 13:48:29 2010 -0700"
      },
      "message": "Merge branch \u0027nfs-for-2.6.37\u0027 of git://git.linux-nfs.org/projects/trondmy/nfs-2.6\n\n* \u0027nfs-for-2.6.37\u0027 of git://git.linux-nfs.org/projects/trondmy/nfs-2.6: (67 commits)\n  SUNRPC: Cleanup duplicate assignment in rpcauth_refreshcred\n  nfs: fix unchecked value\n  Ask for time_delta during fsinfo probe\n  Revalidate caches on lock\n  SUNRPC: After calling xprt_release(), we must restart from call_reserve\n  NFSv4: Fix up the \u0027dircount\u0027 hint in encode_readdir\n  NFSv4: Clean up nfs4_decode_dirent\n  NFSv4: nfs4_decode_dirent must clear entry-\u003efattr-\u003evalid\n  NFSv4: Fix a regression in decode_getfattr\n  NFSv4: Fix up decode_attr_filehandle() to handle the case of empty fh pointer\n  NFS: Ensure we check all allocation return values in new readdir code\n  NFS: Readdir plus in v4\n  NFS: introduce generic decode_getattr function\n  NFS: check xdr_decode for errors\n  NFS: nfs_readdir_filler catch all errors\n  NFS: readdir with vmapped pages\n  NFS: remove page size checking code\n  NFS: decode_dirent should use an xdr_stream\n  SUNRPC: Add a helper function xdr_inline_peek\n  NFS: remove readdir plus limit\n  ...\n"
    },
    {
      "commit": "9a84d38031c258a17bb39beed1e500eadee67407",
      "tree": "30126034db0285c3becd85ddb36f226add98c2d3",
      "parents": [
        "3388bff5cfe91589a912cdc7f00d3aae3aa18adc"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sun Oct 24 18:00:46 2010 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sun Oct 24 18:00:46 2010 -0400"
      },
      "message": "SUNRPC: Cleanup duplicate assignment in rpcauth_refreshcred\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "118df3d17f11733b294ea2cd988d56ee376ef9fd",
      "tree": "d9daf8d196b7f2184407f303216eec9db81859a5",
      "parents": [
        "6f7a35bd23bdbbb40c07ee1120ef047190e77d9b"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sun Oct 24 17:17:31 2010 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sun Oct 24 17:27:14 2010 -0400"
      },
      "message": "SUNRPC: After calling xprt_release(), we must restart from call_reserve\n\nRob Leslie reports seeing the following Oops after his Kerberos session\nexpired.\n\nBUG: unable to handle kernel NULL pointer dereference at 00000058\nIP: [\u003ce186ed94\u003e] rpcauth_refreshcred+0x11/0x12c [sunrpc]\n*pde \u003d 00000000\nOops: 0000 [#1]\nlast sysfs file: /sys/devices/platform/pc87360.26144/temp3_input\nModules linked in: autofs4 authenc esp4 xfrm4_mode_transport ipt_LOG ipt_REJECT xt_limit xt_state ipt_REDIRECT xt_owner xt_HL xt_hl xt_tcpudp xt_mark cls_u32 cls_tcindex sch_sfq sch_htb sch_dsmark geodewdt deflate ctr twofish_generic twofish_i586 twofish_common camellia serpent blowfish cast5 cbc xcbc rmd160 sha512_generic sha1_generic hmac crypto_null af_key rpcsec_gss_krb5 nfsd exportfs nfs lockd fscache nfs_acl auth_rpcgss sunrpc ip_gre sit tunnel4 dummy ext3 jbd nf_nat_irc nf_conntrack_irc nf_nat_ftp nf_conntrack_ftp iptable_mangle iptable_nat nf_nat nf_conntrack_ipv4 nf_conntrack nf_defrag_ipv4 iptable_filter ip_tables x_tables pc8736x_gpio nsc_gpio pc87360 hwmon_vid loop aes_i586 aes_generic sha256_generic dm_crypt cs5535_gpio serio_raw cs5535_mfgpt hifn_795x des_generic geode_rng rng_core led_class ext4 mbcache jbd2 crc16 dm_mirror dm_region_hash dm_log dm_snapshot dm_mod sd_mod crc_t10dif ide_pci_generic cs5536 amd74xx ide_core pata_cs5536 ata_generic libata usb_storage via_rhine mii scsi_mod btrfs zlib_deflate crc32c libcrc32c [last unloaded: scsi_wait_scan]\n\nPid: 12875, comm: sudo Not tainted 2.6.36-net5501 #1 /\nEIP: 0060:[\u003ce186ed94\u003e] EFLAGS: 00010292 CPU: 0\nEIP is at rpcauth_refreshcred+0x11/0x12c [sunrpc]\nEAX: 00000000 EBX: defb13a0 ECX: 00000006 EDX: e18683b8\nESI: defb13a0 EDI: 00000000 EBP: 00000000 ESP: de571d58\n DS: 007b ES: 007b FS: 0000 GS: 0033 SS: 0068\nProcess sudo (pid: 12875, ti\u003dde570000 task\u003ddecd1430 task.ti\u003dde570000)\nStack:\n e186e008 00000000 defb13a0 0000000d deda6000 e1868f22 e196f12b defb13a0\n\u003c0\u003e defb13d8 00000000 00000000 e186e0aa 00000000 defb13a0 de571dac 00000000\n\u003c0\u003e e186956c de571e34 debea5c0 de571dc8 e186967a 00000000 debea5c0 de571e34\nCall Trace:\n [\u003ce186e008\u003e] ? rpc_wake_up_next+0x114/0x11b [sunrpc]\n [\u003ce1868f22\u003e] ? call_decode+0x24a/0x5af [sunrpc]\n [\u003ce196f12b\u003e] ? nfs4_xdr_dec_access+0x0/0xa2 [nfs]\n [\u003ce186e0aa\u003e] ? __rpc_execute+0x62/0x17b [sunrpc]\n [\u003ce186956c\u003e] ? rpc_run_task+0x91/0x97 [sunrpc]\n [\u003ce186967a\u003e] ? rpc_call_sync+0x40/0x5b [sunrpc]\n [\u003ce1969ca2\u003e] ? nfs4_proc_access+0x10a/0x176 [nfs]\n [\u003ce19572fa\u003e] ? nfs_do_access+0x2b1/0x2c0 [nfs]\n [\u003ce186ed61\u003e] ? rpcauth_lookupcred+0x62/0x84 [sunrpc]\n [\u003ce19573b6\u003e] ? nfs_permission+0xad/0x13b [nfs]\n [\u003cc0177824\u003e] ? exec_permission+0x15/0x4b\n [\u003cc0177fbd\u003e] ? link_path_walk+0x4f/0x456\n [\u003cc017867d\u003e] ? path_walk+0x4c/0xa8\n [\u003cc0179678\u003e] ? do_path_lookup+0x1f/0x68\n [\u003cc017a3fb\u003e] ? user_path_at+0x37/0x5f\n [\u003cc016359c\u003e] ? handle_mm_fault+0x229/0x55b\n [\u003cc0170a2d\u003e] ? sys_faccessat+0x93/0x146\n [\u003cc0170aef\u003e] ? sys_access+0xf/0x13\n [\u003cc02cf615\u003e] ? syscall_call+0x7/0xb\nCode: 0f 94 c2 84 d2 74 09 8b 44 24 0c e8 6a e9 8b de 83 c4 14 89 d8 5b 5e 5f 5d c3 55 57 56 53 83 ec 1c fc 89 c6 8b 40 10 89 44 24 04 \u003c8b\u003e 58 58 85 db 0f 85 d4 00 00 00 0f b7 46 70 8b 56 20 89 c5 83\nEIP: [\u003ce186ed94\u003e] rpcauth_refreshcred+0x11/0x12c [sunrpc] SS:ESP 0068:de571d58\nCR2: 0000000000000058\n\nThis appears to be caused by the function rpc_verify_header() first\ncalling xprt_release(), then doing a call_refresh. If we release the\ntransport slot, we should _always_ jump back to call_reserve before\ncalling anything else.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\nCc: stable@kernel.org\n"
    },
    {
      "commit": "229aebb873e29726b91e076161649cf45154b0bf",
      "tree": "acc02a3702215bce8d914f4c8cc3d7a1382b1c67",
      "parents": [
        "8de547e1824437f3c6af180d3ed2162fa4b3f389",
        "50a23e6eec6f20d55a3a920e47adb455bff6046e"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Oct 24 13:41:39 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Oct 24 13:41:39 2010 -0700"
      },
      "message": "Merge branch \u0027for-next\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial\n\n* \u0027for-next\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial: (39 commits)\n  Update broken web addresses in arch directory.\n  Update broken web addresses in the kernel.\n  Revert \"drivers/usb: Remove unnecessary return\u0027s from void functions\" for musb gadget\n  Revert \"Fix typo: configuation \u003d\u003e configuration\" partially\n  ida: document IDA_BITMAP_LONGS calculation\n  ext2: fix a typo on comment in ext2/inode.c\n  drivers/scsi: Remove unnecessary casts of private_data\n  drivers/s390: Remove unnecessary casts of private_data\n  net/sunrpc/rpc_pipe.c: Remove unnecessary casts of private_data\n  drivers/infiniband: Remove unnecessary casts of private_data\n  drivers/gpu/drm: Remove unnecessary casts of private_data\n  kernel/pm_qos_params.c: Remove unnecessary casts of private_data\n  fs/ecryptfs: Remove unnecessary casts of private_data\n  fs/seq_file.c: Remove unnecessary casts of private_data\n  arm: uengine.c: remove C99 comments\n  arm: scoop.c: remove C99 comments\n  Fix typo configue \u003d\u003e configure in comments\n  Fix typo: configuation \u003d\u003e configuration\n  Fix typo interrest[ing|ed] \u003d\u003e interest[ing|ed]\n  Fix various typos of valid in comments\n  ...\n\nFix up trivial conflicts in:\n\tdrivers/char/ipmi/ipmi_si_intf.c\n\tdrivers/usb/gadget/rndis.c\n\tnet/irda/irnet/irnet_ppp.c\n"
    },
    {
      "commit": "ba8e452a4fe64a51b74d43761e14d99f0666cc45",
      "tree": "7237e9bf9f2415eda15fec5e517da3340342e9f1",
      "parents": [
        "0715dc632a271fc0fedf3ef4779fe28ac1e53ef4"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Oct 19 19:58:49 2010 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sat Oct 23 15:27:32 2010 -0400"
      },
      "message": "SUNRPC: Add a helper function xdr_inline_peek\n\nWe sometimes need to be able to read ahead in an xdr_stream without\nincrementing the current pointer position.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "5f05647dd81c11a6a165ccc8f0c1370b16f3bcb0",
      "tree": "7851ef1c93aa1aba7ef327ca4b75fd35e6d10f29",
      "parents": [
        "02f36038c568111ad4fc433f6fa760ff5e38fab4",
        "ec37a48d1d16c30b655ac5280209edf52a6775d4"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Oct 23 11:47:02 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Oct 23 11:47:02 2010 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next-2.6: (1699 commits)\n  bnx2/bnx2x: Unsupported Ethtool operations should return -EINVAL.\n  vlan: Calling vlan_hwaccel_do_receive() is always valid.\n  tproxy: use the interface primary IP address as a default value for --on-ip\n  tproxy: added IPv6 support to the socket match\n  cxgb3: function namespace cleanup\n  tproxy: added IPv6 support to the TPROXY target\n  tproxy: added IPv6 socket lookup function to nf_tproxy_core\n  be2net: Changes to use only priority codes allowed by f/w\n  tproxy: allow non-local binds of IPv6 sockets if IP_TRANSPARENT is enabled\n  tproxy: added tproxy sockopt interface in the IPV6 layer\n  tproxy: added udp6_lib_lookup function\n  tproxy: added const specifiers to udp lookup functions\n  tproxy: split off ipv6 defragmentation to a separate module\n  l2tp: small cleanup\n  nf_nat: restrict ICMP translation for embedded header\n  can: mcp251x: fix generation of error frames\n  can: mcp251x: fix endless loop in interrupt handler if CANINTF_MERRF is set\n  can-raw: add msg_flags to distinguish local traffic\n  9p: client code cleanup\n  rds: make local functions/variables static\n  ...\n\nFix up conflicts in net/core/dev.c, drivers/net/pcmcia/smc91c92_cs.c and\ndrivers/net/wireless/ath/ath9k/debug.c as per David\n"
    },
    {
      "commit": "092e0e7e520a1fca03e13c9f2d157432a8657ff2",
      "tree": "451897252c4c08c4b5a8ef535da156f1e817e80b",
      "parents": [
        "79f14b7c56d3b3ba58f8b43d1f70b9b71477a800",
        "776c163b1b93c8dfa5edba885bc2bfbc2d228a5f"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Oct 22 10:52:56 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Oct 22 10:52:56 2010 -0700"
      },
      "message": "Merge branch \u0027llseek\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/arnd/bkl\n\n* \u0027llseek\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/arnd/bkl:\n  vfs: make no_llseek the default\n  vfs: don\u0027t use BKL in default_llseek\n  llseek: automatically add .llseek fop\n  libfs: use generic_file_llseek for simple_attr\n  mac80211: disallow seeks in minstrel debug code\n  lirc: make chardev nonseekable\n  viotape: use noop_llseek\n  raw: use explicit llseek file operations\n  ibmasmfs: use generic_file_llseek\n  spufs: use llseek in all file operations\n  arm/omap: use generic_file_llseek in iommu_debug\n  lkdtm: use generic_file_llseek in debugfs\n  net/wireless: use generic_file_llseek in debugfs\n  drm: use noop_llseek\n"
    }
  ],
  "next": "5704e44d283e907623e3775c1262f206a2c48cf3"
}
