)]}'
{
  "log": [
    {
      "commit": "d9894c228b11273e720bb63ba120d1d326fe9d94",
      "tree": "c9b91b716f281f5accf8860dfadb1ac95abf0090",
      "parents": [
        "dfa19426160046770b3a38985042df9c9760a25a",
        "ed47b062ce9546fbe1eebf9da6937df4c5035372"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 30 10:18:43 2014 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 30 10:18:43 2014 -0800"
      },
      "message": "Merge branch \u0027for-3.14\u0027 of git://linux-nfs.org/~bfields/linux\n\nPull nfsd updates from Bruce Fields:\n - Handle some loose ends from the vfs read delegation support.\n   (For example nfsd can stop breaking leases on its own in a\n    fewer places where it can now depend on the vfs to.)\n - Make life a little easier for NFSv4-only configurations\n   (thanks to Kinglong Mee).\n - Fix some gss-proxy problems (thanks Jeff Layton).\n - miscellaneous bug fixes and cleanup\n\n* \u0027for-3.14\u0027 of git://linux-nfs.org/~bfields/linux: (38 commits)\n  nfsd: consider CLAIM_FH when handing out delegation\n  nfsd4: fix delegation-unlink/rename race\n  nfsd4: delay setting current_fh in open\n  nfsd4: minor nfs4_setlease cleanup\n  gss_krb5: use lcm from kernel lib\n  nfsd4: decrease nfsd4_encode_fattr stack usage\n  nfsd: fix encode_entryplus_baggage stack usage\n  nfsd4: simplify xdr encoding of nfsv4 names\n  nfsd4: encode_rdattr_error cleanup\n  nfsd4: nfsd4_encode_fattr cleanup\n  minor svcauth_gss.c cleanup\n  nfsd4: better VERIFY comment\n  nfsd4: break only delegations when appropriate\n  NFSD: Fix a memory leak in nfsd4_create_session\n  sunrpc: get rid of use_gssp_lock\n  sunrpc: fix potential race between setting use_gss_proxy and the upcall rpc_clnt\n  sunrpc: don\u0027t wait for write before allowing reads from use-gss-proxy file\n  nfsd: get rid of unused function definition\n  Define op_iattr for nfsd4_open instead using macro\n  NFSD: fix compile warning without CONFIG_NFSD_V3\n  ...\n"
    },
    {
      "commit": "7e55b59b2f32afc83452ae250dfd6173c9a7b515",
      "tree": "f8bbb3a9c80f4e29520f077b6962a287a1a46824",
      "parents": [
        "8a891633b832874e2a1545abbddfd33ba22eb016"
      ],
      "author": {
        "name": "Kinglong Mee",
        "email": "kinglongmee@gmail.com",
        "time": "Tue Dec 31 13:17:20 2013 +0800"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Fri Jan 03 18:18:49 2014 -0500"
      },
      "message": "SUNRPC/NFSD: Support a new option for ignoring the result of svc_register\n\nNFSv4 clients can contact port 2049 directly instead of needing the\nportmapper.\n\nTherefore a failure to register to the portmapper when starting an\nNFSv4-only server isn\u0027t really a problem.\n\nBut Gareth Williams reports that an attempt to start an NFSv4-only\nserver without starting portmap fails:\n\n  #rpc.nfsd -N 2 -N 3\n  rpc.nfsd: writing fd to kernel failed: errno 111 (Connection refused)\n  rpc.nfsd: unable to set any sockets for nfsd\n\nAdd a flag to svc_version to tell the rpc layer it can safely ignore an\nrpcbind failure in the NFSv4-only case.\n\nReported-by: Gareth Williams \u003cgareth@garethwilliams.me.uk\u003e\nReviewed-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: Kinglong Mee \u003ckinglongmee@gmail.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@redhat.com\u003e\n"
    },
    {
      "commit": "28303ca3090c0aa0dbbb72714c51fceb4b939f6d",
      "tree": "46d6e217941a8e18fa466c65e7714bc951a56414",
      "parents": [
        "2d8498dbf8041c51ca49a0be6be594501638e591"
      ],
      "author": {
        "name": "Weng Meiling",
        "email": "wengmeiling.weng@huawei.com",
        "time": "Sat Nov 30 17:56:44 2013 +0800"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Tue Dec 10 20:37:48 2013 -0500"
      },
      "message": "sunrpc: fix some typos\n\nSigned-off-by: Weng Meiling \u003cwengmeiling.weng@huawei.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@redhat.com\u003e\n"
    },
    {
      "commit": "89f842435c630f8426f414e6030bc2ffea0d6f81",
      "tree": "5f377121615ac15042edbfb1337d569446863b21",
      "parents": [
        "4b9a445e3eeb8bd9278b1ae51c1b3a651e370cd6"
      ],
      "author": {
        "name": "Jeff Layton",
        "email": "jlayton@redhat.com",
        "time": "Thu Nov 14 07:25:18 2013 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Dec 06 13:06:31 2013 -0500"
      },
      "message": "sunrpc: replace sunrpc_net-\u003egssd_running flag with a more reliable check\n\nNow that we have a more reliable method to tell if gssd is running, we\ncan replace the sn-\u003egssd_running flag with a function that will query to\nsee if it\u0027s up and running.\n\nThere\u0027s also no need to attempt an upcall that we know will fail, so\njust return -EACCES if gssd isn\u0027t running. Finally, fix the warn_gss()\nmessage not to claim that that the upcall timed out since we don\u0027t\nnecesarily perform one now when gssd isn\u0027t running, and remove the\nextraneous newline from the message.\n\nSigned-off-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "4b9a445e3eeb8bd9278b1ae51c1b3a651e370cd6",
      "tree": "883070dd3c7eaafc185787649c5591528478eb3b",
      "parents": [
        "c7848f69ec4a8c03732cde5c949bd2aa711a9f4b"
      ],
      "author": {
        "name": "Jeff Layton",
        "email": "jlayton@redhat.com",
        "time": "Thu Nov 14 07:25:17 2013 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Dec 06 13:06:30 2013 -0500"
      },
      "message": "sunrpc: create a new dummy pipe for gssd to hold open\n\nrpc.gssd will naturally hold open any pipe named */clnt*/gssd that shows\nup under rpc_pipefs. That behavior gives us a reliable mechanism to tell\nwhether it\u0027s actually running or not.\n\nCreate a new toplevel \"gssd\" directory in rpc_pipefs when it\u0027s mounted.\nUnder that directory create another directory called \"clntXX\", and then\nwithin that a pipe called \"gssd\".\n\nWe\u0027ll never send an upcall along that pipe, and any downcall written to\nit will just return -EINVAL.\n\nSigned-off-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "40b00b6b17c412ff9ff28631250d32ee29ff0006",
      "tree": "a9c9b6e3493102dae543066c4b7d4fca0bc26c7f",
      "parents": [
        "d746e54522e52275865ca23917c16b3fdc226e51"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Oct 17 14:12:23 2013 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Oct 28 15:21:32 2013 -0400"
      },
      "message": "SUNRPC: Add a helper to switch the transport of an rpc_clnt\n\nAdd an RPC client API to redirect an rpc_clnt\u0027s transport from a\nsource server to a destination server during a migration event.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n[ cel: forward ported to 3.12 ]\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "8a19a0b6cb2e2216afd68ef2047f30260cc8a220",
      "tree": "ae3c46e80fd5fcafc28c531d333b24e60de2e0e9",
      "parents": [
        "90051ea774613ffc6b8aad3dc665c8505d6205a8"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Sep 24 12:00:27 2013 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Oct 01 18:22:11 2013 -0400"
      },
      "message": "SUNRPC: Add RPC task and client level options to disable the resend timeout\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "90051ea774613ffc6b8aad3dc665c8505d6205a8",
      "tree": "f8c468017ad2ee07a13dc39320aab61c9953e802",
      "parents": [
        "ee071eff0f1afafa9917254a6e4ee19d28085f1d"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Sep 25 12:17:18 2013 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Oct 01 18:22:11 2013 -0400"
      },
      "message": "SUNRPC: Clean up - convert xprt_prepare_transmit to return a bool\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "cf596766fc53bbfa0e2b21e3569932aa54f5f9ca",
      "tree": "6e88bae48c06f5b4a099989abb04178b939d2b24",
      "parents": [
        "516f7b3f2a7dbe93d3075e76a06bbfcd0c0ee4f7",
        "d4a516560fc96a9d486a9939bcb567e3fdce8f49"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Sep 10 20:04:59 2013 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Sep 10 20:04:59 2013 -0700"
      },
      "message": "Merge branch \u0027nfsd-next\u0027 of git://linux-nfs.org/~bfields/linux\n\nPull nfsd updates from Bruce Fields:\n \"This was a very quiet cycle! Just a few bugfixes and some cleanup\"\n\n* \u0027nfsd-next\u0027 of git://linux-nfs.org/~bfields/linux:\n  rpc: let xdr layer allocate gssproxy receieve pages\n  rpc: fix huge kmalloc\u0027s in gss-proxy\n  rpc: comment on linux_cred encoding, treat all as unsigned\n  rpc: clean up decoding of gssproxy linux creds\n  svcrpc: remove unused rq_resused\n  nfsd4: nfsd4_create_clid_dir prints uninitialized data\n  nfsd4: fix leak of inode reference on delegation failure\n  Revert \"nfsd: nfs4_file_get_access: need to be more careful with O_RDWR\"\n  sunrpc: prepare NFS for 2038\n  nfsd4: fix setlease error return\n  nfsd: nfs4_file_get_access: need to be more careful with O_RDWR\n"
    },
    {
      "commit": "bf97293eb878df3792d9de7213bd7b82135aea77",
      "tree": "16cb367bd78095b9eb8a54c800fcddfcccb618c7",
      "parents": [
        "16d70e15295953b19ecf59e943723a181782b856",
        "b1b3e136948a2bf4915326acb0d825d7d180753f"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Sep 09 09:19:15 2013 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Sep 09 09:19:15 2013 -0700"
      },
      "message": "Merge tag \u0027nfs-for-3.12-1\u0027 of git://git.linux-nfs.org/projects/trondmy/linux-nfs\n\nPull NFS client updates from Trond Myklebust:\n \"Highlights include:\n\n   - Fix NFSv4 recovery so that it doesn\u0027t recover lost locks in cases\n     such as lease loss due to a network partition, where doing so may\n     result in data corruption.  Add a kernel parameter to control\n     choice of legacy behaviour or not.\n   - Performance improvements when 2 processes are writing to the same\n     file.\n   - Flush data to disk when an RPCSEC_GSS session timeout is imminent.\n   - Implement NFSv4.1 SP4_MACH_CRED state protection to prevent other\n     NFS clients from being able to manipulate our lease and file\n     locking state.\n   - Allow sharing of RPCSEC_GSS caches between different rpc clients.\n   - Fix the broken NFSv4 security auto-negotiation between client and\n     server.\n   - Fix rmdir() to wait for outstanding sillyrename unlinks to complete\n   - Add a tracepoint framework for debugging NFSv4 state recovery\n     issues.\n   - Add tracing to the generic NFS layer.\n   - Add tracing for the SUNRPC socket connection state.\n   - Clean up the rpc_pipefs mount/umount event management.\n   - Merge more patches from Chuck in preparation for NFSv4 migration\n     support\"\n\n* tag \u0027nfs-for-3.12-1\u0027 of git://git.linux-nfs.org/projects/trondmy/linux-nfs: (107 commits)\n  NFSv4: use mach cred for SECINFO_NO_NAME w/ integrity\n  NFS: nfs_compare_super shouldn\u0027t check the auth flavour unless \u0027sec\u003d\u0027 was set\n  NFSv4: Allow security autonegotiation for submounts\n  NFSv4: Disallow security negotiation for lookups when \u0027sec\u003d\u0027 is specified\n  NFSv4: Fix security auto-negotiation\n  NFS: Clean up nfs_parse_security_flavors()\n  NFS: Clean up the auth flavour array mess\n  NFSv4.1 Use MDS auth flavor for data server connection\n  NFS: Don\u0027t check lock owner compatability unless file is locked (part 2)\n  NFS: Don\u0027t check lock owner compatibility in writes unless file is locked\n  nfs4: Map NFS4ERR_WRONG_CRED to EPERM\n  nfs4.1: Add SP4_MACH_CRED write and commit support\n  nfs4.1: Add SP4_MACH_CRED stateid support\n  nfs4.1: Add SP4_MACH_CRED secinfo support\n  nfs4.1: Add SP4_MACH_CRED cleanup support\n  nfs4.1: Add state protection handler\n  nfs4.1: Minimal SP4_MACH_CRED implementation\n  SUNRPC: Replace pointer values with task-\u003etk_pid and rpc_clnt-\u003ecl_clid\n  SUNRPC: Add an identifier for struct rpc_clnt\n  SUNRPC: Ensure rpc_task-\u003etk_pid is available for tracepoints\n  ...\n"
    },
    {
      "commit": "2f048db4680ae19da13df15d352ac02748781ecb",
      "tree": "48a6c8d873fee159186f528438bdfeecd6b48d84",
      "parents": [
        "8d1018c7745e5ab861cd6cfd3dc4fa425b90575d"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Sep 04 21:51:44 2013 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Sep 05 10:13:15 2013 -0400"
      },
      "message": "SUNRPC: Add an identifier for struct rpc_clnt\n\nAdd an identifier in order to aid debugging.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "8d1018c7745e5ab861cd6cfd3dc4fa425b90575d",
      "tree": "3e63a813605c37e8c4ebffbba5856dc7af896d25",
      "parents": [
        "f6de7a39c181dfb8a2c534661a53c73afb3081cd"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Sep 04 14:45:13 2013 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Sep 04 14:45:13 2013 -0400"
      },
      "message": "SUNRPC: Ensure rpc_task-\u003etk_pid is available for tracepoints\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "4de6caa270afaa381dd3373e9e6d148b1090e0ec",
      "tree": "2b212167c872f2038ed3480df872766bbd7b67e3",
      "parents": [
        "f1ff0c27fd9987c59d707cd1a6b6c1fc3ae0a250"
      ],
      "author": {
        "name": "Andy Adamson",
        "email": "andros@netapp.com",
        "time": "Wed Aug 14 11:59:15 2013 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Sep 03 15:25:08 2013 -0400"
      },
      "message": "SUNRPC new rpc_credops to test credential expiry\n\nThis patch provides the RPC layer helper functions to allow NFS to manage\ndata in the face of expired credentials - such as avoiding buffered WRITEs\nand COMMITs when the gss context will expire before the WRITEs are flushed\nand COMMITs are sent.\n\nThese helper functions enable checking the expiration of an underlying\ncredential key for a generic rpc credential, e.g. the gss_cred gss context\ngc_expiry which for Kerberos is set to the remaining TGT lifetime.\n\nA new rpc_authops key_timeout is only defined for the generic auth.\nA new rpc_credops crkey_to_expire is only defined for the generic cred.\nA new rpc_credops crkey_timeout is only defined for the gss cred.\n\nSet a credential key expiry watermark, RPC_KEY_EXPIRE_TIMEO set to 240 seconds\nas a default and can be set via a module parameter as we need to ensure there\nis time for any dirty data to be flushed.\n\nIf key_timeout is called on a credential with an underlying credential key that\nwill expire within watermark seconds, we set the RPC_CRED_KEY_EXPIRE_SOON\nflag in the generic_cred acred so that the NFS layer can clean up prior to\nkey expiration.\n\nChecking a generic credential\u0027s underlying credential involves a cred lookup.\nTo avoid this lookup in the normal case when the underlying credential has\na key that is valid (before the watermark), a notify flag is set in\nthe generic credential the first time the key_timeout is called. The\ngeneric credential then stops checking the underlying credential key expiry, and\nthe underlying credential (gss_cred) match routine then checks the key\nexpiration upon each normal use and sets a flag in the associated generic\ncredential only when the key expiration is within the watermark.\nThis in turn signals the generic credential key_timeout to perform the extra\ncredential lookup thereafter.\n\nSigned-off-by: Andy Adamson \u003candros@netapp.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "298fc3558b9c1f5324c5ec6d5c587ca9ae6cc826",
      "tree": "2dd0fde31f3a0178eb47e53bdb4ed86878159d17",
      "parents": [
        "c36dcfe1f7712b7c12df2d80359e638b9d246ce6"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Aug 27 16:27:04 2013 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sun Sep 01 11:12:43 2013 -0400"
      },
      "message": "SUNRPC: Add a helper to allow sharing of rpc_pipefs directory objects\n\nAdd support for looking up existing objects and creating new ones if there\nis no match.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "c36dcfe1f7712b7c12df2d80359e638b9d246ce6",
      "tree": "c60e48fbe790d51aba77b062a002cc0032e4a612",
      "parents": [
        "2127d82af302be94066223311ca6ff317ee13ee0"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Aug 26 17:44:26 2013 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sun Sep 01 11:12:42 2013 -0400"
      },
      "message": "SUNRPC: Remove the rpc_client-\u003ecl_dentry\n\nIt is now redundant.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "5f42b016d7341871948a2b8cc8fb654691522d1a",
      "tree": "0ac9122b385ec7e03d0c7904b4d27445e7866b78",
      "parents": [
        "1917228435eebdf4e3267fa95cace694b2fb4efd"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Aug 26 16:47:20 2013 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sun Sep 01 11:12:41 2013 -0400"
      },
      "message": "SUNRPC: Remove the obsolete auth-only interface for pipefs dentry management\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "11d2a1618e377236facdd404113992bde1083914",
      "tree": "8b1b00a5ea9ec493495ebbeb21855e6242383bc1",
      "parents": [
        "248f807b479145194a83c5270440b3f51c1836d7"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Fri Aug 30 16:50:06 2013 -0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Fri Aug 30 17:43:24 2013 -0400"
      },
      "message": "svcrpc: remove unused rq_resused\n\nI forgot to remove this in\nafc59400d6c65bad66d4ad0b2daf879cbff8e23e \"nfsd4: cleanup: replace\nrq_resused count by rq_next_page pointer\".\n\nSigned-off-by: J. Bruce Fields \u003cbfields@redhat.com\u003e\n"
    },
    {
      "commit": "b8297cec2da30d3a5869597dbd7c8280d46a7dba",
      "tree": "f9d59dec3cf856754e26a5a719630669366cb779",
      "parents": [
        "2f74f972d4cc7d83408ea0c32d424edcb44887bf",
        "d4e4ab86bcba5a72779c43dc1459f71fea3d89c8"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Fri Aug 30 16:42:49 2013 -0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Fri Aug 30 16:42:49 2013 -0400"
      },
      "message": "Merge tag \u0027v3.11-rc5\u0027 into for-3.12 branch\n\nFor testing purposes I want some nfs and nfsd bugfixes (specifically,\n58cd57bfd9db3bc213bf9d6a10920f82095f0114 and previous nfsd patches, and\nTrond\u0027s 4f3cc4809a98a165a9708b72b47de71643797bbd).\n"
    },
    {
      "commit": "6739ffb754b47e6c0fa9d9e268bde828f6856528",
      "tree": "2bb59f676758404f87954c5f631c816935064490",
      "parents": [
        "d7631250b20119ea763d9ba461c3a9c5710cfa98"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Aug 26 15:38:11 2013 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Aug 30 09:19:38 2013 -0400"
      },
      "message": "SUNRPC: Add a framework to clean up management of rpc_pipefs directories\n\nThe current system requires everyone to set up notifiers, manage directory\nlocking, etc.\nWhat we really want to do is have the rpc_client create its directory,\nand then create all the entries.\n\nThis patch will allow the RPCSEC_GSS and NFS code to register all the\nobjects that they want to have appear in the directory, and then have\nthe sunrpc code call them back to actually create/destroy their pipefs\ndentries when the rpc_client creates/destroys the parent.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "c2190661039b3817b4cc1cbfea620b3f7dbe5cd8",
      "tree": "61b8f6f287993f604c3a7843aa2322c36f375af9",
      "parents": [
        "bd4a3eb15bb42296e61d0fd16f2c7f8cc171b681"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Aug 26 19:23:04 2013 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Aug 30 09:19:36 2013 -0400"
      },
      "message": "SUNRPC: Replace clnt-\u003ecl_principal\n\nThe clnt-\u003ecl_principal is being used exclusively to store the service\ntarget name for RPCSEC_GSS/krb5 callbacks. Replace it with something that\nis stored only in the RPCSEC_GSS-specific code.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "1dada8e1f94e863a94f6622f0ddb5d1b01420150",
      "tree": "4fdbc6b22de594bb9cc421629d6b45e75e176b53",
      "parents": [
        "55909f21a1079c5f9751d7919f8c9411500e1667"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Aug 26 19:58:45 2013 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Aug 30 09:19:35 2013 -0400"
      },
      "message": "SUNRPC: Remove unused struct rpc_clnt field cl_protname\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "2f74f972d4cc7d83408ea0c32d424edcb44887bf",
      "tree": "628b1b59a5fc41d9c2c28aba2919ce9cc586f7ab",
      "parents": [
        "b1948a641daefe8d128749f3d419ed24d529a8ed"
      ],
      "author": {
        "name": "Harshula Jayasuriya",
        "email": "harshula@redhat.com",
        "time": "Fri Aug 16 03:46:40 2013 +1000"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Mon Aug 19 09:55:01 2013 -0400"
      },
      "message": "sunrpc: prepare NFS for 2038\n\n1) The kernel sunrpc code needs to handle seconds since epoch\ngreater than 2147483647. This means functions that parse time\nas an int need to handle it as time_t.\n\n2) The kernel changes must be accompanied by userspace changes\nin nfs-utils.\n\nSigned-off-by: Harshula Jayasuriya \u003charshula@redhat.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@redhat.com\u003e\n"
    },
    {
      "commit": "786615bc1ce84150ded80daea6bd9f6297f48e73",
      "tree": "b16f44afbdf83df990b762ae3c08b45b88b3e25e",
      "parents": [
        "00326ed6442c66021cd4b5e19e80f3e2027d5d42"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Aug 05 16:04:47 2013 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Aug 07 17:07:18 2013 -0400"
      },
      "message": "SUNRPC: If the rpcbind channel is disconnected, fail the call to unregister\n\nIf rpcbind causes our connection to the AF_LOCAL socket to close after\nwe\u0027ve registered a service, then we want to be careful about reconnecting\nsince the mount namespace may have changed.\n\nBy simply refusing to reconnect the AF_LOCAL socket in the case of\nunregister, we avoid the need to somehow save the mount namespace. While\nthis may lead to some services not unregistering properly, it should\nbe safe.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\nCc: Nix \u003cnix@esperi.org.uk\u003e\nCc: Jeff Layton \u003cjlayton@redhat.com\u003e\nCc: stable@vger.kernel.org # 3.9.x\n"
    },
    {
      "commit": "41d9884c44237cd66e2bdbc412028b29196b344c",
      "tree": "7a386f6de2f07c01f87f3a16965c9bb8b40f63c1",
      "parents": [
        "63345b4794aef4ebe16502cfe35b02bc9822d763",
        "dae3794fd603b92dcbac2859fe0bc7fe129a5188"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Jul 14 11:42:26 2013 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Jul 14 11:42:26 2013 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs\n\nPull more vfs stuff from Al Viro:\n \"O_TMPFILE ABI changes, Oleg\u0027s fput() series, misc cleanups, including\n  making simple_lookup() usable for filesystems with non-NULL s_d_op,\n  which allows us to get rid of quite a bit of ugliness\"\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs:\n  sunrpc: now we can just set -\u003es_d_op\n  cgroup: we can use simple_lookup() now\n  efivarfs: we can use simple_lookup() now\n  make simple_lookup() usable for filesystems that set -\u003es_d_op\n  configfs: don\u0027t open-code d_alloc_name()\n  __rpc_lookup_create_exclusive: pass string instead of qstr\n  rpc_create_*_dir: don\u0027t bother with qstr\n  llist: llist_add() can use llist_add_batch()\n  llist: fix/simplify llist_add() and llist_add_batch()\n  fput: turn \"list_head delayed_fput_list\" into llist_head\n  fs/file_table.c:fput(): add comment\n  Safer ABI for O_TMPFILE\n"
    },
    {
      "commit": "a95e691f9c4a6e24fdeab6d7feae6d5411fe8a69",
      "tree": "ebe142c51935b977861e9d911a505bc63ef8ee29",
      "parents": [
        "e9a17bd73a29e5323c37ec5ffe50fc0e825d3d03"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sun Jul 14 16:43:54 2013 +0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sun Jul 14 17:02:28 2013 +0400"
      },
      "message": "rpc_create_*_dir: don\u0027t bother with qstr\n\njust pass the name\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "0ff08ba5d066619f9973bfcdb5a21320d54219d0",
      "tree": "526e4a5799eb3023e9d5d81e81c0964b1d928a3e",
      "parents": [
        "c72bb316916b1a6cf35e1d5238566ef27b0b7f80",
        "d109148111cdfcdae94f797dc142468bd0ff7557"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jul 11 10:17:13 2013 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jul 11 10:17:13 2013 -0700"
      },
      "message": "Merge branch \u0027for-3.11\u0027 of git://linux-nfs.org/~bfields/linux\n\nPull nfsd changes from Bruce Fields:\n \"Changes this time include:\n\n   - 4.1 enabled on the server by default: the last 4.1-specific issues\n     I know of are fixed, so we\u0027re not going to find the rest of the\n     bugs without more exposure.\n   - Experimental support for NFSv4.2 MAC Labeling (to allow running\n     selinux over NFS), from Dave Quigley.\n   - Fixes for some delicate cache/upcall races that could cause rare\n     server hangs; thanks to Neil Brown and Bodo Stroesser for extreme\n     debugging persistence.\n   - Fixes for some bugs found at the recent NFS bakeathon, mostly v4\n     and v4.1-specific, but also a generic bug handling fragmented rpc\n     calls\"\n\n* \u0027for-3.11\u0027 of git://linux-nfs.org/~bfields/linux: (31 commits)\n  nfsd4: support minorversion 1 by default\n  nfsd4: allow destroy_session over destroyed session\n  svcrpc: fix failures to handle -1 uid\u0027s\n  sunrpc: Don\u0027t schedule an upcall on a replaced cache entry.\n  net/sunrpc: xpt_auth_cache should be ignored when expired.\n  sunrpc/cache: ensure items removed from cache do not have pending upcalls.\n  sunrpc/cache: use cache_fresh_unlocked consistently and correctly.\n  sunrpc/cache: remove races with queuing an upcall.\n  nfsd4: return delegation immediately if lease fails\n  nfsd4: do not throw away 4.1 lock state on last unlock\n  nfsd4: delegation-based open reclaims should bypass permissions\n  svcrpc: don\u0027t error out on small tcp fragment\n  svcrpc: fix handling of too-short rpc\u0027s\n  nfsd4: minor read_buf cleanup\n  nfsd4: fix decoding of compounds across page boundaries\n  nfsd4: clean up nfs4_open_delegation\n  NFSD: Don\u0027t give out read delegations on creates\n  nfsd4: allow client to send no cb_sec flavors\n  nfsd4: fail attempts to request gss on the backchannel\n  nfsd4: implement minimal SP4_MACH_CRED\n  ...\n"
    },
    {
      "commit": "7715cde86857d4bb40f43f1ee971cf906eaf1b9c",
      "tree": "d807a28170bb5036d0717857c6304912756581a2",
      "parents": [
        "013920eb5db97e99a4c30c8400f1c616e2a8b0a2"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Thu Jun 13 12:53:42 2013 +1000"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Mon Jul 01 17:53:28 2013 -0400"
      },
      "message": "net/sunrpc: xpt_auth_cache should be ignored when expired.\n\ncommit d202cce8963d9268ff355a386e20243e8332b308\n    sunrpc: never return expired entries in sunrpc_cache_lookup\n\nmoved the \u0027entry is expired\u0027 test from cache_check to\nsunrpc_cache_lookup, so that it happened early and some races could\nsafely be ignored.\n\nHowever the ip_map (in svcauth_unix.c) has a separate single-item\ncache which allows quick lookup without locking.  An entry in this\ncase would not be subject to the expiry test and so could be used\nwell after it has expired.\n\nThis is not normally a big problem because the first time it is used\nafter it is expired an up-call will be scheduled to refresh the entry\n(if it hasn\u0027t been scheduled already) and the old entry will then\nbe invalidated.  So on the second attempt to use it after it has\nexpired, ip_map_cached_get will discard it.\n\nHowever that is subtle and not ideal, so replace the \"!cache_valid\"\ntest with \"cache_is_expired\".\nIn doing this we drop the test on the \"CACHE_VALID\" bit.  This is\nunnecessary as the bit is never cleared, and an entry will only\nbe cached if the bit is set.\n\nReported-by: Bodo Stroesser \u003cbstroesser@ts.fujitsu.com\u003e\nSigned-off-by: NeilBrown \u003cneilb@suse.de\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@redhat.com\u003e\n"
    },
    {
      "commit": "013920eb5db97e99a4c30c8400f1c616e2a8b0a2",
      "tree": "f4d1e80073ac61199d898a793815ee6dd493351b",
      "parents": [
        "2a1c7f53fd31e46f51780b61eb99fffef4c3c5a6"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Thu Jun 13 12:53:42 2013 +1000"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Mon Jul 01 17:53:28 2013 -0400"
      },
      "message": "sunrpc/cache: ensure items removed from cache do not have pending upcalls.\n\nIt is possible for a race to set CACHE_PENDING after cache_clean()\nhas removed a cache entry from the cache.\nIf CACHE_PENDING is still set when the entry is finally \u0027put\u0027,\nthe cache_dequeue() will never happen and we can leak memory.\n\nSo set a new flag \u0027CACHE_CLEANED\u0027 when we remove something from\nthe cache, and don\u0027t queue any upcall if it is set.\n\nIf CACHE_PENDING is set before CACHE_CLEANED, the call that\ncache_clean() makes to cache_fresh_unlocked() will free memory\nas needed.  If CACHE_PENDING is set after CACHE_CLEANED, the\ntest in sunrpc_cache_pipe_upcall will ensure that the memory\nis not allocated.\n\nReported-by: \u003cbstroesser@ts.fujitsu.com\u003e\nSigned-off-by: NeilBrown \u003cneilb@suse.de\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@redhat.com\u003e\n"
    },
    {
      "commit": "0dc1531aca7fd1440918bd55844a054e9c29acad",
      "tree": "3bed6a56a709b4781d8108f7a5b7546a6685fd09",
      "parents": [
        "442340639194762df7e61e8aabae44a18896eca1"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Tue May 14 16:07:13 2013 -0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Mon Jul 01 17:23:06 2013 -0400"
      },
      "message": "svcrpc: store gss mech in svc_cred\n\nStore a pointer to the gss mechanism used in the rq_cred and cl_cred.\nThis will make it easier to enforce SP4_MACH_CRED, which needs to\ncompare the mechanism used on the exchange_id with that used on\nprotected operations.\n\nSigned-off-by: J. Bruce Fields \u003cbfields@redhat.com\u003e\n"
    },
    {
      "commit": "442340639194762df7e61e8aabae44a18896eca1",
      "tree": "95adc5287a1c3c43b50e0d12183d8bd5a596e43b",
      "parents": [
        "0de934936b731ca49ece266284da3c7cb402c74e"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Tue May 14 16:53:40 2013 -0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Mon Jul 01 17:23:06 2013 -0400"
      },
      "message": "svcrpc: introduce init_svc_cred\n\nCommon helper to zero out fields of the svc_cred.\n\nSigned-off-by: J. Bruce Fields \u003cbfields@redhat.com\u003e\n"
    },
    {
      "commit": "74fe5f7c2a74d58a39a386bd511e50d1dfc0134c",
      "tree": "931c1f2d65a90d1aff6bd7e23ebc05f2a27a6548",
      "parents": [
        "64bbe3d670ed595df2589d16297305ea9518a84f"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue May 21 18:36:27 2013 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Jun 06 16:24:40 2013 -0400"
      },
      "message": "SUNRPC: Remove unused functions rpc_task_set/has_priority\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "64bbe3d670ed595df2589d16297305ea9518a84f",
      "tree": "4a8eb5aeb3510502ba978841f11547a592e315c8",
      "parents": [
        "0053a8e65c0b949fd230488e5be871755f3f860f"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue May 21 12:58:57 2013 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Jun 06 16:24:39 2013 -0400"
      },
      "message": "SUNRPC: Remove the unused helpers task_for_each() and task_for_first()\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "0053a8e65c0b949fd230488e5be871755f3f860f",
      "tree": "17c5303daa52645922b9ff1a88e5a9dd54f447e2",
      "parents": [
        "a76580fbf09e6e19c2040c08969af5137e064eda"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue May 21 12:51:32 2013 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Jun 06 16:24:39 2013 -0400"
      },
      "message": "SUNRPC: Remove unused function rpc_queue_empty\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "b1df7637232927ac69ed1a32e9c6b768f635b7d4",
      "tree": "cf5fdd96cccb3a89f4e0dea895775eb7c428c533",
      "parents": [
        "dd30333cf5a2f9dfecda5c6f4523133f13847aae",
        "721ccfb79b6f74f4052de70236d24047e73682d4"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Mon Apr 29 14:03:30 2013 -0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Mon Apr 29 16:23:34 2013 -0400"
      },
      "message": "Merge branch \u0027nfs-for-next\u0027 of git://linux-nfs.org/~trondmy/nfs-2.6 into for-3.10\n\nNote conflict: Chuck\u0027s patches modified (and made static)\ngss_mech_get_by_OID, which is still needed by gss-proxy patches.\n\nThe conflict resolution is a bit minimal; we may want some more cleanup.\n"
    },
    {
      "commit": "400f26b542e86995662a0cc5483656b7b1f42af6",
      "tree": "b5dc026aad338be6a59d60106de334dfb7bda838",
      "parents": [
        "33d90ac0581ce81d1ebfc51918a2757e41a6011c"
      ],
      "author": {
        "name": "Simo Sorce",
        "email": "simo@redhat.com",
        "time": "Fri May 25 18:09:53 2012 -0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Fri Apr 26 11:41:27 2013 -0400"
      },
      "message": "SUNRPC: conditionally return endtime from import_sec_context\n\nWe expose this parameter for a future caller.\nIt will be used to extract the endtime from the gss-proxy upcall mechanism,\nin order to set the rsc cache expiration time.\n\nSigned-off-by: Simo Sorce \u003csimo@redhat.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@redhat.com\u003e\n"
    },
    {
      "commit": "33d90ac0581ce81d1ebfc51918a2757e41a6011c",
      "tree": "ee1a01377713975303cbfae2abb268de2ec6a769",
      "parents": [
        "7073ea8799a8cf73db60270986f14e4aae20fa80"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Thu Apr 11 15:06:36 2013 -0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Fri Apr 26 11:41:26 2013 -0400"
      },
      "message": "SUNRPC: allow disabling idle timeout\n\nIn the gss-proxy case we don\u0027t want to have to reconnect at random--we\nwant to connect only on gss-proxy startup when we can steal gss-proxy\u0027s\ncontext to do the connect in the right namespace.\n\nSo, provide a flag that allows the rpc_create caller to turn off the\nidle timeout.\n\nSigned-off-by: J. Bruce Fields \u003cbfields@redhat.com\u003e\n"
    },
    {
      "commit": "c85b03ab200f6d2c2f80588d96d03c1f8fcaedc3",
      "tree": "34f4f3200ef5db6ca93360879fffda050c04e1ca",
      "parents": [
        "bf8d909705e9d9bac31d9b8eac6734d2b51332a7",
        "fd068b200fb86e8fa52368e6f6088d2ab297a5d7"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Fri Apr 26 11:37:29 2013 -0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Fri Apr 26 11:37:43 2013 -0400"
      },
      "message": "Merge Trond\u0027s nfs-for-next\n\nMerging Trond\u0027s nfs-for-next branch, mainly to get\nb7993cebb841b0da7a33e9d5ce301a9fd3209165 \"SUNRPC: Allow rpc_create() to\nrequest that TCP slots be unlimited\", which a small piece of the\ngss-proxy work depends on.\n"
    },
    {
      "commit": "bd1d421abcaae1b84ba377ea4c33bba31d654199",
      "tree": "10bf67d7063a95ffd013a9d01a35b906a7d89fcf",
      "parents": [
        "bdeca1b76cd56cd10a029f0ad2fd9ab6dd7e313d",
        "79d852bf5e7691dc78cc6322ecd1860c50940785"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Apr 23 15:40:40 2013 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Apr 23 15:40:40 2013 -0400"
      },
      "message": "Merge branch \u0027rpcsec_gss-from_cel\u0027 into linux-next\n\n* rpcsec_gss-from_cel: (21 commits)\n  NFS: Retry SETCLIENTID with AUTH_SYS instead of AUTH_NONE\n  NFSv4: Don\u0027t clear the machine cred when client establish returns EACCES\n  NFSv4: Fix issues in nfs4_discover_server_trunking\n  NFSv4: Fix the fallback to AUTH_NULL if krb5i is not available\n  NFS: Use server-recommended security flavor by default (NFSv3)\n  SUNRPC: Don\u0027t recognize RPC_AUTH_MAXFLAVOR\n  NFS: Use \"krb5i\" to establish NFSv4 state whenever possible\n  NFS: Try AUTH_UNIX when PUTROOTFH gets NFS4ERR_WRONGSEC\n  NFS: Use static list of security flavors during root FH lookup recovery\n  NFS: Avoid PUTROOTFH when managing leases\n  NFS: Clean up nfs4_proc_get_rootfh\n  NFS: Handle missing rpc.gssd when looking up root FH\n  SUNRPC: Remove EXPORT_SYMBOL_GPL() from GSS mech switch\n  SUNRPC: Make gss_mech_get() static\n  SUNRPC: Refactor nfsd4_do_encode_secinfo()\n  SUNRPC: Consider qop when looking up pseudoflavors\n  SUNRPC: Load GSS kernel module by OID\n  SUNRPC: Introduce rpcauth_get_pseudoflavor()\n  SUNRPC: Define rpcsec_gss_info structure\n  NFS: Remove unneeded forward declaration\n  ...\n"
    },
    {
      "commit": "b7993cebb841b0da7a33e9d5ce301a9fd3209165",
      "tree": "62361acf994e04b3b9205d5e4a9b26c4a3193c34",
      "parents": [
        "ba60eb25ff6be6f8e60488cdfd454e5c612bce60"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sun Apr 14 11:42:00 2013 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sun Apr 14 12:26:03 2013 -0400"
      },
      "message": "SUNRPC: Allow rpc_create() to request that TCP slots be unlimited\n\nThis is mainly for use by NFSv4.1, where the session negotiation\nultimately wants to decide how many RPC slots we can fill.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "ba60eb25ff6be6f8e60488cdfd454e5c612bce60",
      "tree": "ee5ebe0a500e5926cf52af808096d8c56eae8657",
      "parents": [
        "b570a975ed276335dc7d148658c1f880ac0a507f"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sun Apr 14 10:49:37 2013 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sun Apr 14 12:26:02 2013 -0400"
      },
      "message": "SUNRPC: Fix a livelock problem in the xprt-\u003ebacklog queue\n\nThis patch ensures that we throttle new RPC requests if there are\nrequests already waiting in the xprt-\u003ebacklog queue. The reason for\ndoing this is to fix livelock issues that can occur when an existing\n(high priority) task is waiting in the backlog queue, gets woken up\nby xprt_free_slot(), but a new task then steals the slot.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "06b332a52293a45324320b6b446a7fa677fb6702",
      "tree": "4629ff4b2eb7bdf85593db7d24f362a5561c9e59",
      "parents": [
        "55c760cfc40d75b4d8a17d56580ec306db2ab14f"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Tue Apr 09 11:34:36 2013 -0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Tue Apr 09 16:53:56 2013 -0400"
      },
      "message": "nfsd4: check backchannel attributes on create_session\n\nMake sure the client gives us an adequate backchannel.\n\nSigned-off-by: J. Bruce Fields \u003cbfields@redhat.com\u003e\n"
    },
    {
      "commit": "6599c0acae10e929b5315821c1d064cd13fe7648",
      "tree": "76d50e7fcbc6fe1f48606f20593d2fa2e5b8a741",
      "parents": [
        "a77c806fb9d097bb7733b64207cf52fc2c6438bb"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Sat Mar 16 15:55:19 2013 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Mar 29 15:43:39 2013 -0400"
      },
      "message": "SUNRPC: Make gss_mech_get() static\n\ngss_mech_get() is no longer used outside of gss_mech_switch.c.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "a77c806fb9d097bb7733b64207cf52fc2c6438bb",
      "tree": "198d62d0436f22e7288142eb7341880a1b99ee3e",
      "parents": [
        "83523d083a045a2069e5f3443d2e4f810a6e6d9a"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Sat Mar 16 15:55:10 2013 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Mar 29 15:43:33 2013 -0400"
      },
      "message": "SUNRPC: Refactor nfsd4_do_encode_secinfo()\n\nClean up.  This matches a similar API for the client side, and\nkeeps ULP fingers out the of the GSS mech switch.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nAcked-by: J. Bruce Fields \u003cbfields@redhat.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "83523d083a045a2069e5f3443d2e4f810a6e6d9a",
      "tree": "e09dba12aaa71997d1ebe1913ddf6a3f9d5f55cb",
      "parents": [
        "f783288f0cf47f1988f5284c89e325bd22c74f91"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Sat Mar 16 15:55:01 2013 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Mar 29 15:43:24 2013 -0400"
      },
      "message": "SUNRPC: Consider qop when looking up pseudoflavors\n\nThe NFSv4 SECINFO operation returns a list of security flavors that\nthe server supports for a particular share.  An NFSv4 client is\nsupposed to pick a pseudoflavor it supports that corresponds to one\nof the flavors returned by the server.\n\nGSS flavors in this list have a GSS tuple that identify a specific\nGSS pseudoflavor.\n\nCurrently our client ignores the GSS tuple\u0027s \"qop\" value.  A\nmatching pseudoflavor is chosen based only on the OID and service\nvalue.\n\nSo far this omission has not had much effect on Linux.  The NFSv4\nprotocol currently supports only one qop value: GSS_C_QOP_DEFAULT,\nalso known as zero.\n\nHowever, if an NFSv4 server happens to return something other than\nzero in the qop field, our client won\u0027t notice.  This could cause\nthe client to behave in incorrect ways that could have security\nimplications.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "9568c5e9a61de49f67f524404a27a1014a8d7f1e",
      "tree": "5bc8c5496bae61b6e5dfac11e620f7aef18a58b6",
      "parents": [
        "fb15b26f8ba3ff629a052faf3f4a4744585ca2dc"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Sat Mar 16 15:54:43 2013 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Mar 29 15:43:07 2013 -0400"
      },
      "message": "SUNRPC: Introduce rpcauth_get_pseudoflavor()\n\nA SECINFO reply may contain flavors whose kernel module is not\nyet loaded by the client\u0027s kernel.  A new RPC client API, called\nrpcauth_get_pseudoflavor(), is introduced to do proper checking\nfor support of a security flavor.\n\nWhen this API is invoked, the RPC client now tries to load the\nmodule for each flavor first before performing the \"is this\nsupported?\" check.  This means if a module is available on the\nclient, but has not been loaded yet, it will be loaded and\nregistered automatically when the SECINFO reply is processed.\n\nThe new API can take a full GSS tuple (OID, QoP, and service).\nPreviously only the OID and service were considered.\n\nnfs_find_best_sec() is updated to verify all flavors requested in a\nSECINFO reply, including AUTH_NULL and AUTH_UNIX.  Previously these\ntwo flavors were simply assumed to be supported without consulting\nthe RPC client.\n\nNote that the replaced version of nfs_find_best_sec() can return\nRPC_AUTH_MAXFLAVOR if the server returns a recognized OID but an\nunsupported \"service\" value.  nfs_find_best_sec() now returns\nRPC_AUTH_UNIX in this case.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "fb15b26f8ba3ff629a052faf3f4a4744585ca2dc",
      "tree": "2218a2e577bf075170497549847d49840f296aae",
      "parents": [
        "72f4dc117b57e05120aaac6e218b8abc09a5c350"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Sat Mar 16 15:54:34 2013 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Mar 29 15:42:56 2013 -0400"
      },
      "message": "SUNRPC: Define rpcsec_gss_info structure\n\nThe NFSv4 SECINFO procedure returns a list of security flavors.  Any\nGSS flavor also has a GSS tuple containing an OID, a quality-of-\nprotection value, and a service value, which specifies a particular\nGSS pseudoflavor.\n\nFor simplicity and efficiency, I\u0027d like to return each GSS tuple\nfrom the NFSv4 SECINFO XDR decoder and pass it straight into the RPC\nclient.\n\nDefine a data structure that is visible to both the NFS client and\nthe RPC client.  Take structure and field names from the relevant\nstandards to avoid confusion.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "8d05b3771da8775799673212b57d62f57c70d68a",
      "tree": "ebce0455032cec54428227022c92a480fa726da0",
      "parents": [
        "b695188dd39162a1a6bff11fdbcc4c0b65b933ab",
        "512e4b291c0e97af24619a91f3e8963697da00d8"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Mar 02 16:46:07 2013 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Mar 02 16:46:07 2013 -0800"
      },
      "message": "Merge tag \u0027nfs-for-3.9-2\u0027 of git://git.linux-nfs.org/projects/trondmy/linux-nfs\n\nPull NFS client bugfixes from Trond Myklebust:\n \"We\u0027ve just concluded another Connectathon interoperability testing\n  week, and so here are the fixes for the bugs that were discovered:\n\n   - Don\u0027t allow NFS silly-renamed files to be deleted\n   - Don\u0027t start the retransmission timer when out of socket space\n   - Fix a couple of pnfs-related Oopses.\n   - Fix one more NFSv4 state recovery deadlock\n   - Don\u0027t loop forever when LAYOUTGET returns NFS4ERR_LAYOUTTRYLATER\"\n\n* tag \u0027nfs-for-3.9-2\u0027 of git://git.linux-nfs.org/projects/trondmy/linux-nfs:\n  SUNRPC: One line comment fix\n  NFSv4.1: LAYOUTGET EDELAY loops timeout to the MDS\n  SUNRPC: add call to get configured timeout\n  PNFS: set the default DS timeout to 60 seconds\n  NFSv4: Fix another open/open_recovery deadlock\n  nfs: don\u0027t allow nfs_find_actor to match inodes of the wrong type\n  NFSv4.1: Hold reference to layout hdr in layoutget\n  pnfs: fix resend_to_mds for directio\n  SUNRPC: Don\u0027t start the retransmission timer when out of socket space\n  NFS: Don\u0027t allow NFS silly-renamed files to be deleted, no signal\n"
    },
    {
      "commit": "b6669737d3db7df79fad07180837c23dbe581db5",
      "tree": "671a9d13fe5ab00d6a3c7c5c5c466802ca96d38a",
      "parents": [
        "1cf0209c431fa7790253c532039d53b0773193aa",
        "dc107402ae06286a9ed33c32daf3f35514a7cb8d"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Feb 28 18:02:55 2013 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Feb 28 18:02:55 2013 -0800"
      },
      "message": "Merge branch \u0027for-3.9\u0027 of git://linux-nfs.org/~bfields/linux\n\nPull nfsd changes from J Bruce Fields:\n \"Miscellaneous bugfixes, plus:\n\n   - An overhaul of the DRC cache by Jeff Layton.  The main effect is\n     just to make it larger.  This decreases the chances of intermittent\n     errors especially in the UDP case.  But we\u0027ll need to watch for any\n     reports of performance regressions.\n\n   - Containerized nfsd: with some limitations, we now support\n     per-container nfs-service, thanks to extensive work from Stanislav\n     Kinsbursky over the last year.\"\n\nSome notes about conflicts, since there were *two* non-data semantic\nconflicts here:\n\n - idr_remove_all() had been added by a memory leak fix, but has since\n   become deprecated since idr_destroy() does it for us now.\n\n - xs_local_connect() had been added by this branch to make AF_LOCAL\n   connections be synchronous, but in the meantime Trond had changed the\n   calling convention in order to avoid a RCU dereference.\n\nThere were a couple of more obvious actual source-level conflicts due to\nthe hlist traversal changes and one just due to code changes next to\neach other, but those were trivial.\n\n* \u0027for-3.9\u0027 of git://linux-nfs.org/~bfields/linux: (49 commits)\n  SUNRPC: make AF_LOCAL connect synchronous\n  nfsd: fix compiler warning about ambiguous types in nfsd_cache_csum\n  svcrpc: fix rpc server shutdown races\n  svcrpc: make svc_age_temp_xprts enqueue under sv_lock\n  lockd: nlmclnt_reclaim(): avoid stack overflow\n  nfsd: enable NFSv4 state in containers\n  nfsd: disable usermode helper client tracker in container\n  nfsd: use proper net while reading \"exports\" file\n  nfsd: containerize NFSd filesystem\n  nfsd: fix comments on nfsd_cache_lookup\n  SUNRPC: move cache_detail-\u003ecache_request callback call to cache_read()\n  SUNRPC: remove \"cache_request\" argument in sunrpc_cache_pipe_upcall() function\n  SUNRPC: rework cache upcall logic\n  SUNRPC: introduce cache_detail-\u003ecache_request callback\n  NFS: simplify and clean cache library\n  NFS: use SUNRPC cache creation and destruction helper for DNS cache\n  nfsd4: free_stid can be static\n  nfsd: keep a checksum of the first 256 bytes of request\n  sunrpc: trim off trailing checksum before returning decrypted or integrity authenticated buffer\n  sunrpc: fix comment in struct xdr_buf definition\n  ...\n"
    },
    {
      "commit": "edddbb1eda61753c886a3c5e159293a7b3a9e30a",
      "tree": "2771abd18c39df234420c332158bfb4f09085401",
      "parents": [
        "eb97cbb459c656b542101091f67ce112b3e56183"
      ],
      "author": {
        "name": "Weston Andros Adamson",
        "email": "dros@netapp.com",
        "time": "Thu Feb 28 20:30:09 2013 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Feb 28 17:35:20 2013 -0800"
      },
      "message": "SUNRPC: add call to get configured timeout\n\nReturns the configured timeout for the xprt of the rpc client.\n\nSigned-off-by: Weston Andros Adamson \u003cdros@netapp.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "94f2f14234178f118545a0be60a6371ddeb229b7",
      "tree": "313af6e9e255e9060fc24c836cd71ce712502b17",
      "parents": [
        "8d168f71551ec2a6528d01d0389b7a73c091e3e7",
        "139321c65c0584cd65c4c87a5eb3fdb4fdbd0e19"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Feb 25 16:00:49 2013 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Feb 25 16:00:49 2013 -0800"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/ebiederm/user-namespace\n\nPull user namespace and namespace infrastructure changes from Eric W Biederman:\n \"This set of changes starts with a few small enhnacements to the user\n  namespace.  reboot support, allowing more arbitrary mappings, and\n  support for mounting devpts, ramfs, tmpfs, and mqueuefs as just the\n  user namespace root.\n\n  I do my best to document that if you care about limiting your\n  unprivileged users that when you have the user namespace support\n  enabled you will need to enable memory control groups.\n\n  There is a minor bug fix to prevent overflowing the stack if someone\n  creates way too many user namespaces.\n\n  The bulk of the changes are a continuation of the kuid/kgid push down\n  work through the filesystems.  These changes make using uids and gids\n  typesafe which ensures that these filesystems are safe to use when\n  multiple user namespaces are in use.  The filesystems converted for\n  3.9 are ceph, 9p, afs, ocfs2, gfs2, ncpfs, nfs, nfsd, and cifs.  The\n  changes for these filesystems were a little more involved so I split\n  the changes into smaller hopefully obviously correct changes.\n\n  XFS is the only filesystem that remains.  I was hoping I could get\n  that in this release so that user namespace support would be enabled\n  with an allyesconfig or an allmodconfig but it looks like the xfs\n  changes need another couple of days before it they are ready.\"\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/ebiederm/user-namespace: (93 commits)\n  cifs: Enable building with user namespaces enabled.\n  cifs: Convert struct cifs_ses to use a kuid_t and a kgid_t\n  cifs: Convert struct cifs_sb_info to use kuids and kgids\n  cifs: Modify struct smb_vol to use kuids and kgids\n  cifs: Convert struct cifsFileInfo to use a kuid\n  cifs: Convert struct cifs_fattr to use kuid and kgids\n  cifs: Convert struct tcon_link to use a kuid.\n  cifs: Modify struct cifs_unix_set_info_args to hold a kuid_t and a kgid_t\n  cifs: Convert from a kuid before printing current_fsuid\n  cifs: Use kuids and kgids SID to uid/gid mapping\n  cifs: Pass GLOBAL_ROOT_UID and GLOBAL_ROOT_GID to keyring_alloc\n  cifs: Use BUILD_BUG_ON to validate uids and gids are the same size\n  cifs: Override unmappable incoming uids and gids\n  nfsd: Enable building with user namespaces enabled.\n  nfsd: Properly compare and initialize kuids and kgids\n  nfsd: Store ex_anon_uid and ex_anon_gid as kuids and kgids\n  nfsd: Modify nfsd4_cb_sec to use kuids and kgids\n  nfsd: Handle kuids and kgids in the nfs4acl to posix_acl conversion\n  nfsd: Convert nfsxdr to use kuids and kgids\n  nfsd: Convert nfs3xdr to use kuids and kgids\n  ...\n"
    },
    {
      "commit": "21cd1254d3402a72927ed744e8ac1a7cf532f1ea",
      "tree": "614baf2ba9099118ff94c3954fa5f22dcb75a086",
      "parents": [
        "2d4383383b0b04ca380b67aa2d7397d0b399dcbf"
      ],
      "author": {
        "name": "Stanislav Kinsbursky",
        "email": "skinsbursky@parallels.com",
        "time": "Mon Feb 04 14:02:55 2013 +0300"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Fri Feb 15 10:43:47 2013 -0500"
      },
      "message": "SUNRPC: remove \"cache_request\" argument in sunrpc_cache_pipe_upcall() function\n\nPassing this pointer is redundant since it\u0027s stored on cache_detail structure,\nwhich is also passed to sunrpc_cache_pipe_upcall () function.\n\nSigned-off-by: Stanislav Kinsbursky \u003cskinsbursky@parallels.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@redhat.com\u003e\n"
    },
    {
      "commit": "73fb847a44224d5708550e4be7baba9da75e00af",
      "tree": "28046833f31b29bcea2a0af5e14d3d5c34723423",
      "parents": [
        "462b8f6bf1d3f5feb7a346394036dbc1df3a8ed5"
      ],
      "author": {
        "name": "Stanislav Kinsbursky",
        "email": "skinsbursky@parallels.com",
        "time": "Mon Feb 04 14:02:45 2013 +0300"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Fri Feb 15 10:43:45 2013 -0500"
      },
      "message": "SUNRPC: introduce cache_detail-\u003ecache_request callback\n\nThis callback will allow to simplify upcalls in further patches in this\nseries.\n\nSigned-off-by: Stanislav Kinsbursky \u003cskinsbursky@parallels.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@redhat.com\u003e\n"
    },
    {
      "commit": "7eaf040b720bc8c0ce5cd49151ca194ca2d56842",
      "tree": "85ea36dccdad8fed0da5e4e0277ecc3d47dc142b",
      "parents": [
        "bf37f794372d5b8fda66702e1f3e70d4f07b6533"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Fri Feb 01 16:31:17 2013 -0800"
      },
      "committer": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Wed Feb 13 06:15:16 2013 -0800"
      },
      "message": "sunrpc: Use kuid_t and kgid_t where appropriate\n\nConvert variables that store uids and gids to be of type\nkuid_t and kgid_t instead of type uid_t and gid_t.\n\nCc: \"J. Bruce Fields\" \u003cbfields@fieldses.org\u003e\nCc: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\nSigned-off-by: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\n"
    },
    {
      "commit": "4c190e2f913f038c9c91ee63b59cd037260ba353",
      "tree": "fbb813220a57f4c8fbc110b933ff3698e67ec75d",
      "parents": [
        "de0b65ca55dc62b6b477f6e02088df2281da7b51"
      ],
      "author": {
        "name": "Jeff Layton",
        "email": "jlayton@redhat.com",
        "time": "Wed Feb 06 08:28:55 2013 -0500"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Fri Feb 08 15:19:10 2013 -0500"
      },
      "message": "sunrpc: trim off trailing checksum before returning decrypted or integrity authenticated buffer\n\nWhen GSSAPI integrity signatures are in use, or when we\u0027re using GSSAPI\nprivacy with the v2 token format, there is a trailing checksum on the\nxdr_buf that is returned.\n\nIt\u0027s checked during the authentication stage, and afterward nothing\ncares about it. Ordinarily, it\u0027s not a problem since the XDR code\ngenerally ignores it, but it will be when we try to compute a checksum\nover the buffer to help prevent XID collisions in the duplicate reply\ncache.\n\nFix the code to trim off the checksums after verifying them. Note that\nin unwrap_integ_data, we must avoid trying to reverify the checksum if\nthe request was deferred since it will no longer be present when it\u0027s\nrevisited.\n\nSigned-off-by: Jeff Layton \u003cjlayton@redhat.com\u003e\n"
    },
    {
      "commit": "de0b65ca55dc62b6b477f6e02088df2281da7b51",
      "tree": "08559966714c40d0acf88f928e774d063d1b88ee",
      "parents": [
        "5976687a2b3d1969f02aba16b80ad3ed79be6ad3"
      ],
      "author": {
        "name": "Jeff Layton",
        "email": "jlayton@redhat.com",
        "time": "Mon Feb 04 12:51:17 2013 -0500"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Tue Feb 05 09:41:14 2013 -0500"
      },
      "message": "sunrpc: fix comment in struct xdr_buf definition\n\n...these pages aren\u0027t necessarily contiguous.\n\nSigned-off-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@redhat.com\u003e\n"
    },
    {
      "commit": "5976687a2b3d1969f02aba16b80ad3ed79be6ad3",
      "tree": "a1121aeb9eed15e25be0b46c9069ce091198ff00",
      "parents": [
        "155a345a52e6cda18946efe2529d99d5040fad6d"
      ],
      "author": {
        "name": "Jeff Layton",
        "email": "jlayton@redhat.com",
        "time": "Mon Feb 04 12:50:00 2013 -0500"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Tue Feb 05 09:41:14 2013 -0500"
      },
      "message": "sunrpc: move address copy/cmp/convert routines and prototypes from clnt.h to addr.h\n\nThese routines are used by server and client code, so having them in a\nseparate header would be best.\n\nSigned-off-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nAcked-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@redhat.com\u003e\n"
    },
    {
      "commit": "155a345a52e6cda18946efe2529d99d5040fad6d",
      "tree": "d50861ed8f9c5b958fad1d9879b6c8565b532086",
      "parents": [
        "3abdb6071250b896b9d5b6e0c310d6e95666b4d7"
      ],
      "author": {
        "name": "Jeff Layton",
        "email": "jlayton@redhat.com",
        "time": "Mon Feb 04 08:10:08 2013 -0500"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Tue Feb 05 09:41:13 2013 -0500"
      },
      "message": "sunrpc: copy scope ID in __rpc_copy_addr6\n\nWhen copying an address, we should also copy the scopeid in the event\nthat this is a link-local address and the scope matters.\n\nSigned-off-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@redhat.com\u003e\n"
    },
    {
      "commit": "7b9e8522a65886d8ae168547a67c3617b6ba83f1",
      "tree": "285c0d08f3e967abb7e3c33e4846da353270183b",
      "parents": [
        "885c91f74662404dc179b8775494df383479311c"
      ],
      "author": {
        "name": "Jeff Layton",
        "email": "jlayton@redhat.com",
        "time": "Mon Jan 28 14:41:07 2013 -0500"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Mon Feb 04 09:16:19 2013 -0500"
      },
      "message": "nfsd: fix IPv6 address handling in the DRC\n\nCurrently, it only stores the first 16 bytes of any address. struct\nsockaddr_in6 is 28 bytes however, so we\u0027re currently ignoring the last\n12 bytes of the address.\n\nExpand the c_addr field to a sockaddr_in6, and cast it to a sockaddr_in\nas necessary. Also fix the comparitor to use the existing RPC\nhelpers for this.\n\nSigned-off-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@redhat.com\u003e\n"
    },
    {
      "commit": "77102893ae685270c1774fa8b7eead6ad93c838d",
      "tree": "e7009e18257aa4a1444b271617b1d6333797b0da",
      "parents": [
        "ad2368d6f5ec6467b9503176e9fb878daf999629"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Jan 08 10:10:04 2013 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Feb 01 10:13:48 2013 -0500"
      },
      "message": "SUNRPC: Nuke the tk_xprt macro\n\nIt is no longer in use\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "6a24dfb645dbcb05b34d08b991d082bdaa3ff072",
      "tree": "4d99948bb2bcb1170778bc668dc4d64e327e8175",
      "parents": [
        "3dc0da278e2b26fa8e353b3a962b2c89e184d353"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Jan 08 09:48:15 2013 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Feb 01 10:13:47 2013 -0500"
      },
      "message": "SUNRPC: Pass pointers to struct rpc_xprt to the congestion window\n\nAvoid access to task-\u003etk_xprt\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "1b092092bf0e2e8b7af1c2a03f615b4e60b05d47",
      "tree": "4efc332b4648144fa055fa72f1867cbc2b30e756",
      "parents": [
        "a4f0835c604f80f945ab3e72ffd00547145c4b2b"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Jan 08 09:26:49 2013 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Feb 01 10:13:47 2013 -0500"
      },
      "message": "SUNRPC: Pass a pointer to struct rpc_xprt to the connect callback\n\nAvoid another RCU dereference by passing the pointer to struct rpc_xprt\nfrom the caller.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "35525b79786b2ba58ef13822198ce22c497bc7a2",
      "tree": "2aaefaf2b21a3b3b133b29b711c811be0e335c11",
      "parents": [
        "624ab4644819948e9dc87c114201e98f2e52490f"
      ],
      "author": {
        "name": "Andriy Skulysh",
        "email": "andriy_skulysh@xyratex.com",
        "time": "Mon Jan 07 00:12:15 2013 +0200"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Wed Jan 23 18:17:39 2013 -0500"
      },
      "message": "sunrpc: Fix lockd sleeping until timeout\n\nThere is a race in enqueueing thread to a pool and\nwaking up a thread.\nlockd doesn\u0027t wake up on reception of lock granted callback\nif svc_wake_up() is called before lockd\u0027s thread is added\nto a pool.\n\nSigned-off-by: Andriy Skulysh \u003cAndriy_Skulysh@xyratex.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@redhat.com\u003e\n"
    },
    {
      "commit": "982197277c85018cc6eb77f1d3bef17933b0c5fd",
      "tree": "805fcef9ec7c1e83867b89332fd37f751594fae3",
      "parents": [
        "40889e8d9fc6355980cf2bc94ef4356c10dec4ec",
        "24ffb93872f7363a01ad639e3c8a9889b46c3f0a"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Dec 20 14:04:11 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Dec 20 14:04:11 2012 -0800"
      },
      "message": "Merge branch \u0027for-3.8\u0027 of git://linux-nfs.org/~bfields/linux\n\nPull nfsd update from Bruce Fields:\n \"Included this time:\n\n   - more nfsd containerization work from Stanislav Kinsbursky: we\u0027re\n     not quite there yet, but should be by 3.9.\n\n   - NFSv4.1 progress: implementation of basic backchannel security\n     negotiation and the mandatory BACKCHANNEL_CTL operation.  See\n\n       http://wiki.linux-nfs.org/wiki/index.php/Server_4.0_and_4.1_issues\n\n     for remaining TODO\u0027s\n\n   - Fixes for some bugs that could be triggered by unusual compounds.\n     Our xdr code wasn\u0027t designed with v4 compounds in mind, and it\n     shows.  A more thorough rewrite is still a todo.\n\n   - If you\u0027ve ever seen \"RPC: multiple fragments per record not\n     supported\" logged while using some sort of odd userland NFS client,\n     that should now be fixed.\n\n   - Further work from Jeff Layton on our mechanism for storing\n     information about NFSv4 clients across reboots.\n\n   - Further work from Bryan Schumaker on his fault-injection mechanism\n     (which allows us to discard selective NFSv4 state, to excercise\n     rarely-taken recovery code paths in the client.)\n\n   - The usual mix of miscellaneous bugs and cleanup.\n\n  Thanks to everyone who tested or contributed this cycle.\"\n\n* \u0027for-3.8\u0027 of git://linux-nfs.org/~bfields/linux: (111 commits)\n  nfsd4: don\u0027t leave freed stateid hashed\n  nfsd4: free_stateid can use the current stateid\n  nfsd4: cleanup: replace rq_resused count by rq_next_page pointer\n  nfsd: warn on odd reply state in nfsd_vfs_read\n  nfsd4: fix oops on unusual readlike compound\n  nfsd4: disable zero-copy on non-final read ops\n  svcrpc: fix some printks\n  NFSD: Correct the size calculation in fault_inject_write\n  NFSD: Pass correct buffer size to rpc_ntop\n  nfsd: pass proper net to nfsd_destroy() from NFSd kthreads\n  nfsd: simplify service shutdown\n  nfsd: replace boolean nfsd_up flag by users counter\n  nfsd: simplify NFSv4 state init and shutdown\n  nfsd: introduce helpers for generic resources init and shutdown\n  nfsd: make NFSd service structure allocated per net\n  nfsd: make NFSd service boot time per-net\n  nfsd: per-net NFSd up flag introduced\n  nfsd: move per-net startup code to separated function\n  nfsd: pass net to __write_ports() and down\n  nfsd: pass net to nfsd_set_nrthreads()\n  ...\n"
    },
    {
      "commit": "afc59400d6c65bad66d4ad0b2daf879cbff8e23e",
      "tree": "cc4c1c4dcf01106259d4f18d637cb2d1115ef980",
      "parents": [
        "79f77bf9a4e3dd5ead006b8f17e7c4ff07d8374e"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Mon Dec 10 18:01:37 2012 -0500"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Mon Dec 17 22:00:16 2012 -0500"
      },
      "message": "nfsd4: cleanup: replace rq_resused count by rq_next_page pointer\n\nIt may be a matter of personal taste, but I find this makes the code\nclearer.\n\nSigned-off-by: J. Bruce Fields \u003cbfields@redhat.com\u003e\n"
    },
    {
      "commit": "c05eecf636101dd4347b2d8fa457626bf0088e0a",
      "tree": "6362560cd66efedd12793552b124417e4fe68a74",
      "parents": [
        "b75ad4cda5a6cd3431b1c65c2739c5ebd2c4b9da"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Nov 30 23:59:29 2012 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Dec 06 00:30:53 2012 +0100"
      },
      "message": "SUNRPC: Don\u0027t allow low priority tasks to pre-empt higher priority ones\n\nCurrently, the priority queues attempt to be \u0027fair\u0027 to lower priority\ntasks by scheduling them after a certain number of higher priority tasks\nhave run. The problem is that both the transport send queue and\nthe NFSv4.1 session slot queue have strong ordering requirements.\n\nThis patch therefore removes the fairness code in favour of strong\nordering of task priorities.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "8af345f58ac9b350bb23c1457c613381d9f00472",
      "tree": "5713862546aad1e24784079ef4eae8edfc37de83",
      "parents": [
        "6a72ae2e23922bc96e8f3de24a5203be6edc2539"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Mon Dec 03 16:45:35 2012 -0500"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Tue Dec 04 07:49:14 2012 -0500"
      },
      "message": "svcrpc: track rpc data length separately from sk_tcplen\n\nKeep a separate field, sk_datalen, that tracks only the data contained\nin a fragment, not including the fragment header.\n\nFor now, this is always just max(0, sk_tcplen - 4), but after we allow\nmultiple fragments sk_datalen will accumulate the total rpc data size\nwhile sk_tcplen only tracks progress receiving the current fragment.\n\nSigned-off-by: J. Bruce Fields \u003cbfields@redhat.com\u003e\n"
    },
    {
      "commit": "cc248d4b1ddf05fefc1373d9d7a4dd1df71b6190",
      "tree": "3ca18b5b45e666ff307ed440c5a1b6e38fc7b33b",
      "parents": [
        "6c1e82a4b74ad0c8b45c833a4409f153199d9be4"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Mon Dec 03 16:11:13 2012 -0500"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Tue Dec 04 07:47:23 2012 -0500"
      },
      "message": "svcrpc: don\u0027t byte-swap sk_reclen in place\n\nByte-swapping in place is always a little dubious.\n\nLet\u0027s instead define this field to always be big-endian, and do the\nswapping on demand where we need it.\n\nSigned-off-by: J. Bruce Fields \u003cbfields@redhat.com\u003e\n"
    },
    {
      "commit": "621eb19ce1ec216e03ad354cb0c4061736b2a436",
      "tree": "57767888ba129e174a61398451a8ad405fd2028a",
      "parents": [
        "2b4cf668a7b8f84182a35f07152d8b6f012629d2"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Wed Nov 14 10:48:05 2012 -0500"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Thu Nov 15 07:40:32 2012 -0500"
      },
      "message": "svcrpc: Revert \"sunrpc/cache.h: replace simple_strtoul\"\n\nCommit bbf43dc888833ac0539e437dbaeb28bfd4fbab9f \"sunrpc/cache.h: replace\nsimple_strtoul\" introduced new range-checking which could cause get_int\nto fail on unsigned integers too large to be represented as an int.\n\nWe could parse them as unsigned instead--but it turns out svcgssd is\nactually passing down \"-1\" in some cases.  Which is perhaps stupid, but\nthere\u0027s nothing we can do about it now.\n\nSo just revert back to the previous \"sloppy\" behavior that accepts\neither representation.\n\nCc: stable@vger.kernel.org\nReported-by: Sven Geggus \u003clists@fuchsschwanzdomain.de\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@redhat.com\u003e\n"
    },
    {
      "commit": "64d7155cdfe5546ca0730daf7dd73ee52a74eeaf",
      "tree": "7d58409a555f89b8fb9c81012809c108b5d32b01",
      "parents": [
        "0238047018d34946c08afc2f9e19053a3c25f0e1"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Wed Oct 17 12:31:15 2012 +0100"
      },
      "committer": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Wed Oct 17 12:31:15 2012 +0100"
      },
      "message": "UAPI: Remove empty non-UAPI Kbuild files\n\nRemove non-UAPI Kbuild files that have become empty as a result of UAPI\ndisintegration.  They used to have only header-y lines in them and those have\nnow moved to the Kbuild files in the corresponding uapi/ directories.\n\nPossibly these should not be removed but rather have a comment inserted to say\nthey are intentionally left blank.  This would make it easier to add generated\nheader lines in future without having to restore the infrastructure.\n\nNote that at this point not all the UAPI disintegration parts have been merged,\nso it is likely that more empty Kbuild files will turn up.\n\nIt is probably necessary to make the files non-empty to prevent the patch\nprogram from automatically deleting them when it reduces them to nothing.\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\n"
    },
    {
      "commit": "bd81ccea8558daab570d70d2c23746413f26cecf",
      "tree": "a3a75dde2dc3cf26c74353b21792da30d65d7c13",
      "parents": [
        "98260daa184c4a171834463cf85ab3a2c509d983",
        "a9ca4043d074509b9d15003fbcb068d3cdae85a4"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Oct 13 10:53:54 2012 +0900"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Oct 13 10:53:54 2012 +0900"
      },
      "message": "Merge branch \u0027for-3.7\u0027 of git://linux-nfs.org/~bfields/linux\n\nPull nfsd update from J Bruce Fields:\n \"Another relatively quiet cycle.  There was some progress on my\n  remaining 4.1 todo\u0027s, but a couple of them were just of the form\n  \"check that we do X correctly\", so didn\u0027t have much affect on the\n  code.\n\n  Other than that, a bunch of cleanup and some bugfixes (including an\n  annoying NFSv4.0 state leak and a busy-loop in the server that could\n  cause it to peg the CPU without making progress).\"\n\n* \u0027for-3.7\u0027 of git://linux-nfs.org/~bfields/linux: (46 commits)\n  UAPI: (Scripted) Disintegrate include/linux/sunrpc\n  UAPI: (Scripted) Disintegrate include/linux/nfsd\n  nfsd4: don\u0027t allow reclaims of expired clients\n  nfsd4: remove redundant callback probe\n  nfsd4: expire old client earlier\n  nfsd4: separate session allocation and initialization\n  nfsd4: clean up session allocation\n  nfsd4: minor free_session cleanup\n  nfsd4: new_conn_from_crses should only allocate\n  nfsd4: separate connection allocation and initialization\n  nfsd4: reject bad forechannel attrs earlier\n  nfsd4: enforce per-client sessions/no-sessions distinction\n  nfsd4: set cl_minorversion at create time\n  nfsd4: don\u0027t pin clientids to pseudoflavors\n  nfsd4: fix bind_conn_to_session xdr comment\n  nfsd4: cast readlink() bug argument\n  NFSD: pass null terminated buf to kstrtouint()\n  nfsd: remove duplicate init in nfsd4_cb_recall\n  nfsd4: eliminate redundant nfs4_free_stateid\n  fs/nfsd/nfs4idmap.c: adjust inconsistent IS_ERR and PTR_ERR\n  ...\n"
    },
    {
      "commit": "f474af7051212b4efc8267583fad9c4ebf33ccff",
      "tree": "1aa46ebc8065a341f247c2a2d9af2f624ad1d4f8",
      "parents": [
        "0d22f68f02c10d5d10ec5712917e5828b001a822",
        "e3dd9a52cb5552c46c2a4ca7ccdfb4dab5c72457"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Tue Oct 09 18:35:22 2012 -0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Tue Oct 09 18:35:22 2012 -0400"
      },
      "message": "nfs: disintegrate UAPI for nfs\n\nThis is to complete part of the Userspace API (UAPI) disintegration for which\nthe preparatory patches were pulled recently.  After these patches, userspace\nheaders will be segregated into:\n\n        include/uapi/linux/.../foo.h\n\nfor the userspace interface stuff, and:\n\n        include/linux/.../foo.h\n\nfor the strictly kernel internal stuff.\n\nSigned-off-by: J. Bruce Fields \u003cbfields@redhat.com\u003e\n"
    },
    {
      "commit": "e3dd9a52cb5552c46c2a4ca7ccdfb4dab5c72457",
      "tree": "7df483de243840b33bac8517d05f368461b0dc95",
      "parents": [
        "616d1ca5d7887dd848f2180218b4c19cb41eb30b"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Tue Oct 09 09:49:04 2012 +0100"
      },
      "committer": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Tue Oct 09 09:49:04 2012 +0100"
      },
      "message": "UAPI: (Scripted) Disintegrate include/linux/sunrpc\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nAcked-by: Arnd Bergmann \u003carnd@arndb.de\u003e\nAcked-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nAcked-by: Michael Kerrisk \u003cmtk.manpages@gmail.com\u003e\nAcked-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nAcked-by: Dave Jones \u003cdavej@redhat.com\u003e\n"
    },
    {
      "commit": "ba9b584c1dc37851d9c6ca6d0d2ccba55d9aad04",
      "tree": "d74fa5a04f928d5c508594f285381b41bfe4ac3c",
      "parents": [
        "1b63a75180c6c65c71655c250a4e6b578ba7d1c0"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Fri Sep 14 17:24:02 2012 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Oct 01 15:33:33 2012 -0700"
      },
      "message": "SUNRPC: Introduce rpc_clone_client_set_auth()\n\nAn ULP is supposed to be able to replace a GSS rpc_auth object with\nanother GSS rpc_auth object using rpcauth_create().  However,\nrpcauth_create() in 3.5 reliably fails with -EEXIST in this case.\nThis is because when gss_create() attempts to create the upcall pipes,\nsometimes they are already there.  For example if a pipe FS mount\nevent occurs, or a previous GSS flavor was in use for this rpc_clnt.\n\nIt turns out that\u0027s not the only problem here.  While working on a\nfix for the above problem, we noticed that replacing an rpc_clnt\u0027s\nrpc_auth is not safe, since dereferencing the cl_auth field is not\nprotected in any way.\n\nSo we\u0027re deprecating the ability of rpcauth_create() to switch an\nrpc_clnt\u0027s security flavor during normal operation.  Instead, let\u0027s\nadd a fresh API that clones an rpc_clnt and gives the clone a new\nflavor before it\u0027s used.\n\nThis makes immediate use of the new __rpc_clone_client() helper.\n\nThis can be used in a similar fashion to rpcauth_create() when a\nclient is hunting for the correct security flavor.  Instead of\nreplacing an rpc_clnt\u0027s security flavor in a loop, the ULP replaces\nthe whole rpc_clnt.\n\nTo fix the -EEXIST problem, any ULP logic that relies on replacing\nan rpc_clnt\u0027s rpc_auth with rpcauth_create() must be changed to use\nthis API instead.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "d19751e7b9bd8a01d00372325439589886674f79",
      "tree": "71ea849e8dc6021a455f2de1a76601e8db2255c7",
      "parents": [
        "dcfc4f25461813e8a2dd43b052aa1e0be155742f"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Sep 11 17:21:25 2012 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Sep 28 16:03:05 2012 -0400"
      },
      "message": "SUNRPC: Get rid of the redundant xprt-\u003eshutdown bit field\n\nIt is only set after everyone has dereferenced the transport,\nand serves no useful purpose: setting it is racy, so all the\nsocket code, etc still needs to be able to cope with the cases\nwhere they miss reading it.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "eccf50c129686de11358093839749c83f6cae5db",
      "tree": "890b06b8dfb886e2326c101d6b8be70b7c330d96",
      "parents": [
        "cf9182e90b2af04245ac4fae497fe73fc71285b4"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Wed Aug 15 18:07:43 2012 -0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Mon Sep 10 10:55:19 2012 -0400"
      },
      "message": "nfsd: remove unused listener-removal interfaces\n\nYou can use nfsd/portlist to give nfsd additional sockets to listen on.\nIn theory you can also remove listening sockets this way.  But nobody\u0027s\never done that as far as I can tell.\n\nAlso this was partially broken in 2.6.25, by\na217813f9067b785241cb7f31956e51d2071703a \"knfsd: Support adding\ntransports by writing portlist file\".\n\n(Note that we decide whether to take the \"delfd\" case by checking for a\ndigit--but what\u0027s actually expected in that case is something made by\nsvc_one_sock_name(), which won\u0027t begin with a digit.)\n\nSo, let\u0027s just rip out this stuff.\n\nAcked-by: NeilBrown \u003cneilb@suse.de\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@redhat.com\u003e\n"
    },
    {
      "commit": "f39c1bfb5a03e2d255451bff05be0d7255298fa4",
      "tree": "c4f7c970840e7803e22ce10809746272d23f6fde",
      "parents": [
        "01913b49cf1dc6409a07dd2a4cc6af2e77f3c410"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Sep 07 11:08:50 2012 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Sep 07 11:43:49 2012 -0400"
      },
      "message": "SUNRPC: Fix a UDP transport regression\n\nCommit 43cedbf0e8dfb9c5610eb7985d5f21263e313802 (SUNRPC: Ensure that\nwe grab the XPRT_LOCK before calling xprt_alloc_slot) is causing\nhangs in the case of NFS over UDP mounts.\n\nSince neither the UDP or the RDMA transport mechanism use dynamic slot\nallocation, we can skip grabbing the socket lock for those transports.\nAdd a new rpc_xprt_op to allow switching between the TCP and UDP/RDMA\ncase.\n\nNote that the NFSv4.1 back channel assigns the slot directly\nthrough rpc_run_bc_task, so we can ignore that case.\n\nReported-by: Dick Streefland \u003cdick.streefland@altium.nl\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\nCc: stable@vger.kernel.org [\u003e\u003d 3.1]\n"
    },
    {
      "commit": "6741019c829ecfa6f7a504fae1305dcf5d5cf057",
      "tree": "a0b749e9ccab9d0bb813ff8b92fde629d40e4bc4",
      "parents": [
        "5b444cc9a4c979aa0fa185c8ddca221462a34b7a"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Fri Aug 17 22:12:19 2012 -0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Tue Aug 21 17:42:01 2012 -0400"
      },
      "message": "svcrpc: make svc_xprt_received static\n\nNote this isn\u0027t used outside svc_xprt.c.\n\nMay as well move it so we don\u0027t need a declaration while we\u0027re here.\n\nAlso remove an outdated comment.\n\nSigned-off-by: J. Bruce Fields \u003cbfields@redhat.com\u003e\n"
    },
    {
      "commit": "af6d572134b012ca92c4efc8a2f1cadbe5d01064",
      "tree": "057465a1a9cdb39664d6660e172f7c81f762d850",
      "parents": [
        "f23abfdb94fda3108441530cb4a813088d3f9176"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Tue Aug 21 17:22:11 2012 -0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Tue Aug 21 17:40:10 2012 -0400"
      },
      "message": "svcrpc: don\u0027t bother checking bad svc_addr_len result\n\nNone of the callers should see an unsupported address family (only one\nof them even bothers to check for that case), so just check for the\nbuggy case in svc_addr_len and don\u0027t bother elsewhere.\n\nAcked-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@redhat.com\u003e\n"
    },
    {
      "commit": "39b553013719fe6495cf5e496b827b2d712e4265",
      "tree": "27e4c71fa94f08e19b4709c25a81b5eecf23c5ba",
      "parents": [
        "c3341966943284ab3618a1814cefd693ad9aa736"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Tue Aug 14 15:50:34 2012 -0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Tue Aug 21 17:07:48 2012 -0400"
      },
      "message": "svcrpc: share some setup of listening sockets\n\nThere\u0027s some duplicate code here.\n\nSigned-off-by: J. Bruce Fields \u003cbfields@redhat.com\u003e\n"
    },
    {
      "commit": "ac694dbdbc403c00e2c14d10bc7b8412cc378259",
      "tree": "e37328cfbeaf43716dd5914cad9179e57e84df76",
      "parents": [
        "a40a1d3d0a2fd613fdec6d89d3c053268ced76ed",
        "437ea90cc3afdca5229b41c6b1d38c4842756cb9"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 31 19:25:39 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 31 19:25:39 2012 -0700"
      },
      "message": "Merge branch \u0027akpm\u0027 (Andrew\u0027s patch-bomb)\n\nMerge Andrew\u0027s second set of patches:\n - MM\n - a few random fixes\n - a couple of RTC leftovers\n\n* emailed patches from Andrew Morton \u003cakpm@linux-foundation.org\u003e: (120 commits)\n  rtc/rtc-88pm80x: remove unneed devm_kfree\n  rtc/rtc-88pm80x: assign ret only when rtc_register_driver fails\n  mm: hugetlbfs: close race during teardown of hugetlbfs shared page tables\n  tmpfs: distribute interleave better across nodes\n  mm: remove redundant initialization\n  mm: warn if pg_data_t isn\u0027t initialized with zero\n  mips: zero out pg_data_t when it\u0027s allocated\n  memcg: gix memory accounting scalability in shrink_page_list\n  mm/sparse: remove index_init_lock\n  mm/sparse: more checks on mem_section number\n  mm/sparse: optimize sparse_index_alloc\n  memcg: add mem_cgroup_from_css() helper\n  memcg: further prevent OOM with too many dirty pages\n  memcg: prevent OOM with too many dirty pages\n  mm: mmu_notifier: fix freed page still mapped in secondary MMU\n  mm: memcg: only check anon swapin page charges for swap cache\n  mm: memcg: only check swap cache pages for repeated charging\n  mm: memcg: split swapin charge function into private and public part\n  mm: memcg: remove needless !mm fixup to init_mm when charging\n  mm: memcg: remove unneeded shmem charge type\n  ...\n"
    },
    {
      "commit": "a564b8f0398636ba30b07c0eaebdef7ff7837249",
      "tree": "10478aa5cfb2a3696db34618a479413b358c3831",
      "parents": [
        "29418aa4bd487c82016733ef5c6a06d656ed3c7d"
      ],
      "author": {
        "name": "Mel Gorman",
        "email": "mgorman@suse.de",
        "time": "Tue Jul 31 16:45:12 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 31 18:42:48 2012 -0700"
      },
      "message": "nfs: enable swap on NFS\n\nImplement the new swapfile a_ops for NFS and hook up -\u003edirect_IO.  This\nwill set the NFS socket to SOCK_MEMALLOC and run socket reconnect under\nPF_MEMALLOC as well as reset SOCK_MEMALLOC before engaging the protocol\n-\u003econnect() method.\n\nPF_MEMALLOC should allow the allocation of struct socket and related\nobjects and the early (re)setting of SOCK_MEMALLOC should allow us to\nreceive the packets required for the TCP connection buildup.\n\n[jlayton@redhat.com: Restore PF_MEMALLOC task flags in all cases]\n[dfeng@redhat.com: Fix handling of multiple swap files]\n[a.p.zijlstra@chello.nl: Original patch]\nSigned-off-by: Mel Gorman \u003cmgorman@suse.de\u003e\nAcked-by: Rik van Riel \u003criel@redhat.com\u003e\nCc: Christoph Hellwig \u003chch@infradead.org\u003e\nCc: David S. Miller \u003cdavem@davemloft.net\u003e\nCc: Eric B Munson \u003cemunson@mgebm.net\u003e\nCc: Eric Paris \u003ceparis@redhat.com\u003e\nCc: James Morris \u003cjmorris@namei.org\u003e\nCc: Mel Gorman \u003cmgorman@suse.de\u003e\nCc: Mike Christie \u003cmichaelc@cs.wisc.edu\u003e\nCc: Neil Brown \u003cneilb@suse.de\u003e\nCc: Sebastian Andrzej Siewior \u003csebastian@breakpoint.cc\u003e\nCc: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\nCc: Xiaotian Feng \u003cdfeng@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "08843b79fb35d33859e0f8f11a7318341076e4d1",
      "tree": "e56e122146985b359d50787e3d1df640c4582dfa",
      "parents": [
        "cc8362b1f6d724e46f515121d442779924b19fec",
        "2c142baa7b237584bae7dc28630851701497e1ef"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 31 14:42:28 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 31 14:42:28 2012 -0700"
      },
      "message": "Merge branch \u0027nfsd-next\u0027 of git://linux-nfs.org/~bfields/linux\n\nPull nfsd changes from J. Bruce Fields:\n \"This has been an unusually quiet cycle--mostly bugfixes and cleanup.\n  The one large piece is Stanislav\u0027s work to containerize the server\u0027s\n  grace period--but that in itself is just one more step in a\n  not-yet-complete project to allow fully containerized nfs service.\n\n  There are a number of outstanding delegation, container, v4 state, and\n  gss patches that aren\u0027t quite ready yet; 3.7 may be wilder.\"\n\n* \u0027nfsd-next\u0027 of git://linux-nfs.org/~bfields/linux: (35 commits)\n  NFSd: make boot_time variable per network namespace\n  NFSd: make grace end flag per network namespace\n  Lockd: move grace period management from lockd() to per-net functions\n  LockD: pass actual network namespace to grace period management functions\n  LockD: manage grace list per network namespace\n  SUNRPC: service request network namespace helper introduced\n  NFSd: make nfsd4_manager allocated per network namespace context.\n  LockD: make lockd manager allocated per network namespace\n  LockD: manage grace period per network namespace\n  Lockd: add more debug to host shutdown functions\n  Lockd: host complaining function introduced\n  LockD: manage used host count per networks namespace\n  LockD: manage garbage collection timeout per networks namespace\n  LockD: make garbage collector network namespace aware.\n  LockD: mark host per network namespace on garbage collect\n  nfsd4: fix missing fault_inject.h include\n  locks: move lease-specific code out of locks_delete_lock\n  locks: prevent side-effects of locks_release_private before file_lock is initialized\n  NFSd: set nfsd_serv to NULL after service destruction\n  NFSd: introduce nfsd_destroy() helper\n  ...\n"
    },
    {
      "commit": "9695c7057f4887ed54dc1e6c2ef22f72a2be1175",
      "tree": "a9ca62e819e904d9b53629f1b7c45126416a2395",
      "parents": [
        "5e1533c7880bb0df98f71fa683979ec296aa947d"
      ],
      "author": {
        "name": "Stanislav Kinsbursky",
        "email": "skinsbursky@parallels.com",
        "time": "Wed Jul 25 16:57:06 2012 +0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Fri Jul 27 16:49:21 2012 -0400"
      },
      "message": "SUNRPC: service request network namespace helper introduced\n\nThis is a cleanup patch - makes code looks simplier.\nIt replaces widely used rqstp-\u003erq_xprt-\u003expt_net by introduced SVC_NET(rqstp).\n\nSigned-off-by: Stanislav Kinsbursky \u003cskinsbursky@parallels.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@redhat.com\u003e\n"
    },
    {
      "commit": "a007c4c3e943ecc054a806c259d95420a188754b",
      "tree": "5eb56435a616d0fb31d31a7ce7fe8ff0c241c33d",
      "parents": [
        "a6d88f293ecd1b7444e128777f4a893e7a998852"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Tue Jun 12 16:54:16 2012 -0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Wed Jul 25 09:18:27 2012 -0400"
      },
      "message": "nfsd: add get_uint for u32\u0027s\n\nI don\u0027t think there\u0027s a practical difference for the range of values\nthese interfaces should see, but it would be safer to be unambiguous.\n\nSigned-off-by: J. Bruce Fields \u003cbfields@redhat.com\u003e\n"
    },
    {
      "commit": "6a1a1e34dc55f17e7bd260809207442dbb7a0296",
      "tree": "3a2ce5b9d3c8edc80f6486efc1f9b34cee559f8f",
      "parents": [
        "56d08fef2369d5ca9ad2e1fc697f5379fd8af751"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Wed Jul 11 16:31:08 2012 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Jul 16 15:12:15 2012 -0400"
      },
      "message": "SUNRPC: Add rpcauth_list_flavors()\n\nThe gss_mech_list_pseudoflavors() function provides a list of\ncurrently registered GSS pseudoflavors.  This list does not include\nany non-GSS flavors that have been registered with the RPC client.\nnfs4_find_root_sec() currently adds these extra flavors by hand.\n\nInstead, nfs4_find_root_sec() should be looking at the set of flavors\nthat have been explicitly registered via rpcauth_register().  And,\nother areas of code will soon need the same kind of list that\ncontains all flavors the kernel currently knows about (see below).\n\nRather than cloning the open-coded logic in nfs4_find_root_sec() to\nthose new places, introduce a generic RPC function that generates a\nfull list of registered auth flavors and pseudoflavors.\n\nA new rpc_authops method is added that lists a flavor\u0027s\npseudoflavors, if it has any.  I encountered an interesting module\nloader loop when I tried to get the RPC client to invoke\ngss_mech_list_pseudoflavors() by name.\n\nThis patch is a pre-requisite for server trunking discovery, and a\npre-requisite for fixing up the in-kernel mount client to do better\nautomatic security flavor selection.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "bbf43dc888833ac0539e437dbaeb28bfd4fbab9f",
      "tree": "3e75d68f3811f438c451281e30ec5ad16b555c58",
      "parents": [
        "d9c2ede63c74048dfddbb129c59ac01176b0ab71"
      ],
      "author": {
        "name": "Eldad Zack",
        "email": "eldad@fogrefinery.com",
        "time": "Fri Jul 06 21:31:57 2012 +0200"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Wed Jul 11 16:08:00 2012 -0400"
      },
      "message": "sunrpc/cache.h: replace simple_strtoul\n\nThis patch replaces the usage of simple_strtoul with kstrtoint in\nget_int(), since the simple_str* family doesn\u0027t account for overflow\nand is deprecated.\nAlso, in this specific case, the long from strtol is silently converted\nto an int by the caller.\n\nAs Joe Perches \u003cjoe@perches.com\u003e suggested, this patch also removes\nthe redundant temporary variable rv, since kstrtoint() will not write to\nanint unless it\u0027s successful.\n\nCc: Joe Perches \u003cjoe@perches.com\u003e\nSigned-off-by: Eldad Zack \u003celdad@fogrefinery.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@redhat.com\u003e\n"
    },
    {
      "commit": "d9c2ede63c74048dfddbb129c59ac01176b0ab71",
      "tree": "355767a58545b8e1d0626a1d08fe83f26c7228e7",
      "parents": [
        "7f2e7dc0fdd9f124da43d1bd12adcebf92bedf16"
      ],
      "author": {
        "name": "Eldad Zack",
        "email": "eldad@fogrefinery.com",
        "time": "Fri Jul 06 21:31:56 2012 +0200"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Wed Jul 11 16:07:59 2012 -0400"
      },
      "message": "sunrpc/cache.h: fix coding style\n\nNeaten code style in get_int().\nAlso use sizeof() instead of hard coded number as suggested by\nJoe Perches \u003cjoe@perches.com\u003e.\n\nCc: Joe Perches \u003cjoe@perches.com\u003e\nSigned-off-by: Eldad Zack \u003celdad@fogrefinery.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@redhat.com\u003e\n"
    },
    {
      "commit": "140150dbb1f9cf3ef963fb55505f994d74ff3276",
      "tree": "ca59a9190eb4e03cc09413d9a19ca24000d71eac",
      "parents": [
        "b42353ff8d346a2f6afac3e3983b7286ed4238d7"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Jun 05 15:20:25 2012 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Jun 28 17:20:49 2012 -0400"
      },
      "message": "SUNRPC: Remove unused function xdr_encode_pages\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "4517d526c8aa31b5c14165ef180cc19518ff0a35",
      "tree": "51201ff494ab5615034046a093e242795af794bb",
      "parents": [
        "64bd577ea0021f5903505de061b3b7d8a785ee94"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Jun 21 17:14:46 2012 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Jun 28 17:20:44 2012 -0400"
      },
      "message": "SUNRPC: Add the helper xdr_stream_pos\n\nAdd a helper to report the current offset from the start of the\nxdr_stream.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "c337d3655ce85e12c7c476cb81406521926cacd2",
      "tree": "2d0f0caa7b4f2b3d366ac7a37fc4d2f82b7706c7",
      "parents": [
        "bfeea1dc1c9238f9e5a17a265489ecd0d19f66bb"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Jun 21 17:05:37 2012 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Jun 28 17:20:43 2012 -0400"
      },
      "message": "SUNRPC: xdr_read_pages should return the amount of XDR encoded page data\n\nCallers of xdr_read_pages() will want to know exactly how much XDR\ndata is encoded in the pages after the data realignment.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "bfeea1dc1c9238f9e5a17a265489ecd0d19f66bb",
      "tree": "009163b2f4c0255599d3c781a833c2dcfaa621ed",
      "parents": [
        "1537693ceaa8d6484f1ce631bec85658bfa9816c"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Jun 20 09:58:35 2012 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Jun 28 17:20:41 2012 -0400"
      },
      "message": "SUNRPC: Don\u0027t decode beyond the end of the RPC reply message\n\nNow that xdr_inline_decode() will automatically cross into the page\nbuffers, we need to ensure that it doesn\u0027t exceed the total reply\nmessage length.\n\nThis patch sets up a counter that tracks the number of words\nremaining in the reply message, and ensures that xdr_inline_decode,\nxdr_read_pages and xdr_enter_page respect the end of message boundary.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "d5497fc693a446ce9100fcf4117c3f795ddfd0d2",
      "tree": "7254a8eb06629de6c9ac4b8dbe8e38c79c979af3",
      "parents": [
        "8fbba96e5b327665265ad02b7f331b68536828bf"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Mon May 14 22:06:49 2012 -0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Thu May 31 20:29:58 2012 -0400"
      },
      "message": "nfsd4: move rq_flavor into svc_cred\n\nMove the rq_flavor into struct svc_cred, and use it in setclientid and\nexchange_id comparisons as well.\n\nSigned-off-by: J. Bruce Fields \u003cbfields@redhat.com\u003e\n"
    },
    {
      "commit": "03a4e1f6ddf25f48848e1bddcffc0ad489648331",
      "tree": "f140e3deb767d092eca997037ebb7b098d8afce9",
      "parents": [
        "631fc9ea05c97e5d1d14ea58a7347be4857d09da"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Mon May 14 19:55:22 2012 -0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Thu May 31 20:29:55 2012 -0400"
      },
      "message": "nfsd4: move principal name into svc_cred\n\nInstead of keeping the principal name associated with a request in a\nstructure that\u0027s private to auth_gss and using an accessor function,\nmove it to svc_cred.\n\nSigned-off-by: J. Bruce Fields \u003cbfields@redhat.com\u003e\n"
    },
    {
      "commit": "9793f7c88937e7ac07305ab1af1a519225836823",
      "tree": "48a4283a15cb0d5a427e722075fe546cc8cdcc53",
      "parents": [
        "c52226daf553b21891f39777d78a54ea4e7e8654"
      ],
      "author": {
        "name": "Stanislav Kinsbursky",
        "email": "skinsbursky@parallels.com",
        "time": "Wed May 02 16:08:38 2012 +0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Thu May 31 20:29:39 2012 -0400"
      },
      "message": "SUNRPC: new svc_bind() routine introduced\n\nThis new routine is responsible for service registration in a specified\nnetwork context.\n\nThe idea is to separate service creation from per-net operations.\n\nNote also: since registering service with svc_bind() can fail, the\nservice will be destroyed and during destruction it will try to\nunregister itself from rpcbind. In this case unregistration has to be\nskipped.\n\nSigned-off-by: Stanislav Kinsbursky \u003cskinsbursky@parallels.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@redhat.com\u003e\n"
    },
    {
      "commit": "e5f06f720eff24e32f1cc08ec03bcc8c4b2d2934",
      "tree": "9afeda20ea7ea07f6c1bbcc9dc5979c98cc62def",
      "parents": [
        "b3853e0ea1f2ef58f7e7c03e47819e2ae3766dea"
      ],
      "author": {
        "name": "Stanislav Kinsbursky",
        "email": "skinsbursky@parallels.com",
        "time": "Wed Apr 11 15:13:28 2012 +0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Thu Apr 12 09:11:46 2012 -0400"
      },
      "message": "nfsd: make expkey cache allocated per network namespace context\n\nThis patch also changes svcauth_unix_purge() function: added network namespace\nas a parameter and thus loop over all networks was replaced by only one call\nfor ip map cache purge.\n\nSigned-off-by: Stanislav Kinsbursky \u003cskinsbursky@parallels.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@redhat.com\u003e\n"
    },
    {
      "commit": "a9aa53df6e6c768fc0f25a7c80ba586b0290720a",
      "tree": "fe936de6adf60d68c2c637a499f221e996d80abf",
      "parents": [
        "03af42c59e5fc073fa93b7fe44e80161acb22772"
      ],
      "author": {
        "name": "Simo Sorce",
        "email": "simo@redhat.com",
        "time": "Thu Mar 29 19:18:19 2012 -0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Wed Apr 11 17:54:59 2012 -0400"
      },
      "message": "svcauth: remove unused define\n\nSigned-off-by: Simo Sorce \u003csimo@redhat.com\u003e\n"
    },
    {
      "commit": "1df00640c9111c881633d9b219f18e66c52599ec",
      "tree": "e36d3924d84f47ec93f6650ff1fd5b8ea7d10d24",
      "parents": [
        "ab4684d1560f8d77f6ce82bd3f1f82937070d397",
        "5a7c9eec9fde1da0e3adf0a4ddb64ff2a324a492"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Wed Mar 21 16:42:14 2012 -0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Mon Mar 26 11:48:54 2012 -0400"
      },
      "message": "Merge nfs containerization work from Trond\u0027s tree\n\nThe nfs containerization work is a prerequisite for Jeff Layton\u0027s reboot\nrecovery rework.\n"
    },
    {
      "commit": "b3b536a1230a14e3ef97e5331ba7ad036c6258a9",
      "tree": "16c60f7c5cb0728d9728e00892d63b15527057d1",
      "parents": [
        "e27d359e9b7e446190362cd5c8fe281d02194896"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Tue Mar 20 19:20:53 2012 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Mar 21 09:31:31 2012 -0400"
      },
      "message": "SUNRPC: Kill compiler warning when RPC_DEBUG is unset\n\nLoads of these:\n\nlinux/net/sunrpc/rpcb_clnt.c:942:2: warning: suggest braces around\n  empty body in ‘do’ statement [-Wempty-body]\n\nshow up when I unset CONFIG_PROC_SYSCTL.  Seen with\n\n  gcc (GCC) 4.6.1 20110908 (Red Hat 4.6.1-9)\n\nReported-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "e27d359e9b7e446190362cd5c8fe281d02194896",
      "tree": "5dece1801337b32e9d4ecc03e487a95856b413fa",
      "parents": [
        "3b3be88d67cc17d0f0ab6edaf131516793fc947e"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sun Mar 18 14:07:42 2012 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Mar 20 13:08:26 2012 -0400"
      },
      "message": "SUNRPC/NFS: Add Kbuild dependencies for NFS_DEBUG/RPC_DEBUG\n\nThis allows us to turn on/off the dprintk() debugging interfaces for\nthose distributions that don\u0027t ship the \u0027rpcdebug\u0027 utility.\nIt also allows us to add Kbuild dependencies. Specifically, we already\nknow that dprintk() in general relies on CONFIG_SYSCTL. Now it turns out\nthat the NFS dprintks depend on CONFIG_CRC32 after we added support\nfor the filehandle hash.\n\nReported-by: Paul Gortmaker \u003cpaul.gortmaker@windriver.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "09acfea5d8de419ebe84be43b08f7b79c965215f",
      "tree": "16f7ef15b00d8601917de6812b9ac951c9458ef6",
      "parents": [
        "17280175c587469b34757263c7cfc608f0ea2334"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sun Mar 11 15:22:54 2012 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sun Mar 11 19:30:02 2012 -0400"
      },
      "message": "SUNRPC: Fix a few sparse warnings\n\nnet/sunrpc/svcsock.c:412:22: warning: incorrect type in assignment\n(different address spaces)\n - svc_partial_recvfrom now takes a struct kvec, so the variable\n   save_iovbase needs to be an ordinary (void *)\n\nMake a bunch of variables in net/sunrpc/xprtsock.c static\n\nFix a couple of \"warning: symbol \u0027foo\u0027 was not declared. Should it be\nstatic?\" reports.\n\nFix a couple of conflicting function declarations.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    }
  ],
  "next": "1fa9c4440c151c61eb3309579a85aae22c9adb6d"
}
