)]}'
{
  "log": [
    {
      "commit": "006abe887c5e637d059c44310de6c92f36aded3b",
      "tree": "542ab0f1d56b4d9681c8d61fbf77c9a46062e661",
      "parents": [
        "5a67657a2e90c9e4a48518f95d4ba7777aa20fbb"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sun Sep 12 19:55:25 2010 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sun Sep 12 19:55:25 2010 -0400"
      },
      "message": "SUNRPC: Fix a race in rpc_info_open\n\nThere is a race between rpc_info_open and rpc_release_client()\nin that nothing stops a process from opening the file after\nthe clnt-\u003ecl_kref goes to zero.\n\nFix this by using atomic_inc_unless_zero()...\n\nReported-by: J. Bruce Fields \u003cbfields@redhat.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\nCc: stable@kernel.org\n"
    },
    {
      "commit": "60641aa1f379820e99ac7f45a38b43795670c741",
      "tree": "a4a68780ba75bbf8f2fc96dba880ea39da2c717b",
      "parents": [
        "c29c08b59875fe053471cf9eb66f8cfef39bc509"
      ],
      "author": {
        "name": "Sam Ravnborg",
        "email": "sam@ravnborg.org",
        "time": "Sat Aug 14 10:15:12 2010 +0200"
      },
      "committer": {
        "name": "Sam Ravnborg",
        "email": "sam@ravnborg.org",
        "time": "Sat Aug 14 22:26:51 2010 +0200"
      },
      "message": "include: replace unifdef-y with header-y\n\nunifdef-y and header-y has same semantic.\nSo there is no need to have both.\n\nDrop the unifdef-y variant and sort all lines again\n\nSigned-off-by: Sam Ravnborg \u003csam@ravnborg.org\u003e\n"
    },
    {
      "commit": "0d9f9e122c74583de15a86d1c660c08dc298f2c8",
      "tree": "a04ad387e231db43db112753fa2eae23754189a9",
      "parents": [
        "df44f9f4f9b5d362b5a2d1c8444fe7e6d4c42653",
        "998db52c03cd293d16a457f1b396cea932244147"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Aug 07 14:24:41 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Aug 07 14:24:41 2010 -0700"
      },
      "message": "Merge branch \u0027for-2.6.36\u0027 of git://linux-nfs.org/~bfields/linux\n\n* \u0027for-2.6.36\u0027 of git://linux-nfs.org/~bfields/linux: (34 commits)\n  nfsd4: fix file open accounting for RDWR opens\n  nfsd: don\u0027t allow setting maxblksize after svc created\n  nfsd: initialize nfsd versions before creating svc\n  net: sunrpc: removed duplicated #include\n  nfsd41: Fix a crash when a callback is retried\n  nfsd: fix startup/shutdown order bug\n  nfsd: minor nfsd read api cleanup\n  gcc-4.6: nfsd: fix initialized but not read warnings\n  nfsd4: share file descriptors between stateid\u0027s\n  nfsd4: fix openmode checking on IO using lock stateid\n  nfsd4: miscellaneous process_open2 cleanup\n  nfsd4: don\u0027t pretend to support write delegations\n  nfsd: bypass readahead cache when have struct file\n  nfsd: minor nfsd_svc() cleanup\n  nfsd: move more into nfsd_startup()\n  nfsd: just keep single lockd reference for nfsd\n  nfsd: clean up nfsd_create_serv error handling\n  nfsd: fix error handling in __write_ports_addxprt\n  nfsd: fix error handling when starting nfsd with rpcbind down\n  nfsd4: fix v4 state shutdown error paths\n  ...\n"
    },
    {
      "commit": "a17c2153d2e271b0cbacae9bed83b0eaa41db7e1",
      "tree": "3c5a73090987278e51aee1a9f185ebe40a00bd65",
      "parents": [
        "8572b8e2e3c5f3d990122348c4d2c64dad338611"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sat Jul 31 14:29:08 2010 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Aug 04 08:54:09 2010 -0400"
      },
      "message": "SUNRPC: Move the bound cred to struct rpc_rqst\n\nThis will allow us to save the original generic cred in rpc_message, so\nthat if we migrate from one server to another, we can generate a new bound\ncred without having to punt back to the NFS layer.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "8572b8e2e3c5f3d990122348c4d2c64dad338611",
      "tree": "5de87a7f2cb1c1105313c0fb1d1f26a969961c83",
      "parents": [
        "58f9612c6ea858f532021a0ce42ec53cb0a493b3"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sat Jul 31 14:29:08 2010 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Aug 04 08:54:08 2010 -0400"
      },
      "message": "SUNRPC: Clean up of rpc_bindcred()\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "58f9612c6ea858f532021a0ce42ec53cb0a493b3",
      "tree": "9466a16cd79c547fddcec5bd598d8097ae9a3859",
      "parents": [
        "d9b6cd94601e1d17273f93a326a135fbf487a918"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sat Jul 31 14:29:08 2010 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Aug 04 08:54:07 2010 -0400"
      },
      "message": "SUNRPC: Move remaining RPC client related task initialisation into clnt.c\n\nNow that rpc_run_task() is the sole entry point for RPC calls, we can move\nthe remaining rpc_client-related initialisation of struct rpc_task from\nsched.c into clnt.c.\n\nAlso move rpc_killall_tasks() into the same file, since that too is\nrelative to the rpc_clnt.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "d9b6cd94601e1d17273f93a326a135fbf487a918",
      "tree": "5c616c0717551d02d16da685fbbd93344859fa28",
      "parents": [
        "241269bd0b580faae71575443d9ab38df7469126"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sat Jul 31 14:29:08 2010 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Aug 04 08:54:07 2010 -0400"
      },
      "message": "SUNRPC: Ensure that rpc_exit() always wakes up a sleeping task\n\nMake rpc_exit() non-inline, and ensure that it always wakes up a task that\nhas been queued.\n\nKill off the now unused rpc_wake_up_task().\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "241269bd0b580faae71575443d9ab38df7469126",
      "tree": "b438cf34fd67b2b96b0a28be3241fd8d0c43fbca",
      "parents": [
        "988664a0f6bbfc356e6ce55f7a87b8594050012f"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sat Jul 31 14:29:08 2010 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Aug 04 08:54:06 2010 -0400"
      },
      "message": "SUNRPC: Make the credential cache hashtable size configurable\n\nThis patch allows the user to configure the credential cache hashtable size\nusing a new module parameter: auth_hashtable_size\nWhen set, this parameter will be rounded up to the nearest power of two,\nwith a maximum allowed value of 1024 elements.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "988664a0f6bbfc356e6ce55f7a87b8594050012f",
      "tree": "c6c6450c8559c13ca9d53c8959ffa4276f3eddf1",
      "parents": [
        "5d8d9a4d9ff74c55901642b4e2ac5124830ddafe"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sat Jul 31 14:29:07 2010 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Aug 04 08:54:05 2010 -0400"
      },
      "message": "SUNRPC: Store the hashtable size in struct rpc_cred_cache\n\nCleanup in preparation for allowing the user to determine the maximum hash\ntable size.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "5d8d9a4d9ff74c55901642b4e2ac5124830ddafe",
      "tree": "9f171aa61048cf5c154597466af21ea7c4d701a2",
      "parents": [
        "d05dd4e98f0dd30ee933e05ac9363614c47df83a"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sat Jul 31 14:29:07 2010 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Aug 04 08:52:57 2010 -0400"
      },
      "message": "NFS: Ensure the AUTH_UNIX credcache is allocated dynamically\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "f1f88fc7e818c6678c6799a2edb8f1aeccc124aa",
      "tree": "a5aec7e7e522500df78b5cbf1f2ce430462552e2",
      "parents": [
        "a6f03393ec86fd25523c79497a9a773bda170d1d"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sat Jul 31 14:29:07 2010 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Aug 03 22:06:44 2010 -0400"
      },
      "message": "SUNRPC: The function rpc_restart_call() should return success/failure\n\nBoth rpc_restart_call_prepare() and rpc_restart_call() test for the\nRPC_TASK_KILLED flag, and fail to restart the RPC call if that flag is set.\n\nThis patch allows callers to know whether or not the restart was\nsuccessful, so that they can perform cleanups etc in case of failure.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "8eab945c5616fc984e97b922d6a2559be93f39a1",
      "tree": "13ad5889aae1f8f3541a5a49e9decf42240e445c",
      "parents": [
        "cba9ba4b902270c22f8b9c5149a284216b633fc1"
      ],
      "author": {
        "name": "Artem Bityutskiy",
        "email": "Artem.Bityutskiy@nokia.com",
        "time": "Thu Jul 01 18:05:56 2010 +0300"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Tue Jul 06 12:27:48 2010 -0400"
      },
      "message": "sunrpc: make the cache cleaner workqueue deferrable\n\nThis patch makes the cache_cleaner workqueue deferrable, to prevent\nunnecessary system wake-ups, which is very important for embedded\nbattery-powered devices.\n\ndo_cache_clean() is called every 30 seconds at the moment, and often\nmakes the system wake up from its power-save sleep state. With this\nchange, when the workqueue uses a deferrable timer, the\ndo_cache_clean() invocation will be delayed and combined with the\nclosest \"real\" wake-up. This improves the power consumption situation.\n\nNote, I tried to create a DECLARE_DELAYED_WORK_DEFERRABLE() helper\nmacro, similar to DECLARE_DELAYED_WORK(), but failed because of the\nway the timer wheel core stores the deferrable flag (it is the\nLSBit in the time-\u003ebase pointer). My attempt to define a static\nvariable with this bit set ended up with the \"initializer element is\nnot constant\" error.\n\nThus, I have to use run-time initialization, so I created a new\ncache_initialize() function which is called once when sunrpc is\nbeing initialized.\n\nSigned-off-by: Artem Bityutskiy \u003cArtem.Bityutskiy@nokia.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "126e216a8730532dfb685205309275f87e3d133e",
      "tree": "6a73e5d6a5af2866e260ccb7909582e2ccd5741f",
      "parents": [
        "9bb0b8136a7d5b50c5807af3bf12b758fb257814"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu May 13 12:55:38 2010 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri May 14 15:09:37 2010 -0400"
      },
      "message": "SUNRPC: Don\u0027t spam gssd with upcall requests when the kerberos key expired\n\nNow that the rpc.gssd daemon can explicitly tell us that the key expired,\nwe should cache that information to avoid spamming gssd.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "9bb0b8136a7d5b50c5807af3bf12b758fb257814",
      "tree": "7c84b71e39ba4e6189a493aea35c6dbbd6d5a2d5",
      "parents": [
        "d72b6cec8d42eb7c2a249b613abf2c2b7a6eeb47"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu May 13 12:51:50 2010 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri May 14 15:09:37 2010 -0400"
      },
      "message": "SUNRPC: Reorder the struct rpc_task fields\n\nThis improves the packing of the rpc_task, and ensures that on 64-bit\nplatforms the size reduces to 216 bytes.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "d72b6cec8d42eb7c2a249b613abf2c2b7a6eeb47",
      "tree": "c577536a08739621dfbde8c1d30eb88ba8414464",
      "parents": [
        "d60dbb20a74c2cfa142be0a34dac3c6547ea086c"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu May 13 12:51:50 2010 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri May 14 15:09:36 2010 -0400"
      },
      "message": "SUNRPC: Remove the \u0027tk_magic\u0027 debugging field\n\nIt has not triggered in almost a decade. Time to get rid of it...\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "d60dbb20a74c2cfa142be0a34dac3c6547ea086c",
      "tree": "7af95739f8fbbef11f490b5b58bf639dbbe8a181",
      "parents": [
        "9c7e7e23371e629dbb3b341610a418cdf1c19d91"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu May 13 12:51:49 2010 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri May 14 15:09:36 2010 -0400"
      },
      "message": "SUNRPC: Move the task-\u003etk_bytes_sent and tk_rtt to struct rpc_rqst\n\nIt seems strange to maintain stats for bytes_sent in one structure, and\nbytes received in another. Try to assemble all the RPC request-related\nstats in struct rpc_rqst\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "1f4c86c0be9064ab4eebd9e67c84606c1cfeec4b",
      "tree": "6ae9e8e6550f644335bbf6812edd7e6cfcde7e53",
      "parents": [
        "8535b2be5181fc3019e4150567ef53210fe3b04f"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu May 13 12:51:02 2010 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri May 14 15:09:33 2010 -0400"
      },
      "message": "NFS: Don\u0027t use GFP_KERNEL in rpcsec_gss downcalls\n\nAgain, we can deadlock if the memory reclaim triggers a writeback that\nrequires a rpcsec_gss credential lookup.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "ff8399709e41bf72b4cb145612a0f9a9f7283c83",
      "tree": "5577163d56e30020d907245f00dcef17730f037b",
      "parents": [
        "f56916b97fe2031761ca611f0a342efd913afb33"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Fri May 07 13:34:47 2010 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri May 14 15:09:33 2010 -0400"
      },
      "message": "SUNRPC: Replace jiffies-based metrics with ktime-based metrics\n\nCurrently RPC performance metrics that tabulate elapsed time use\njiffies time values.  This is problematic on systems that use slow\njiffies (for instance 100HZ systems built for paravirtualized\nenvironments).  It is also a problem for computing precise latency\nstatistics for advanced network transports, such as InfiniBand,\nthat can have round-trip latencies significanly faster than a single\nclock tick.\n\nFor the RPC client, adopt the high resolution time stamp mechanism\nalready used by the network layer and blktrace: ktime.\n\nWe use ktime format time stamps for all internal computations, and\nconvert to milliseconds for presentation.  As a result, we need only\naddition operations in the performance critical paths; multiply/divide\nis required only for presentation.\n\nWe could report RTT metrics in microseconds.  In fact the mountstats\nformat is versioned to accomodate exactly this kind of interface\nimprovement.\n\nFor now, however, we\u0027ll stay with millisecond precision for\npresentation to maintain backwards compatibility with the handful of\ncurrently deployed user space tools.  At a later point, we\u0027ll move to\nan API such as BDI_STATS where a finer timestamp precision can be\nreported.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "bbc72cea58f671665b6362be0d4e391813ac0eee",
      "tree": "e70a35d3bc05ece4a532514893fec151aee2bd46",
      "parents": [
        "9bc4e3ca46e4eb9cb434de4175c6041d00bbdca3"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Fri May 07 13:34:27 2010 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri May 14 15:09:32 2010 -0400"
      },
      "message": "SUNRPC: RPC metrics and RTT estimator should use same RTT value\n\nCompute an RPC request\u0027s RTT once, and use that value both for reporting\nRPC metrics, and for adjusting the RTT context used by the RPC client\u0027s RTT\nestimator algorithm.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "9605a069f83d999e60cd57dc8010708fe08291c0",
      "tree": "aa0661d3b5c23430bf3fda3679507c192a0a975d",
      "parents": [
        "bb8b27e504c0f0463535fea31b42bcaa393c3fb0"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Fri May 07 13:33:30 2010 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri May 14 15:09:31 2010 -0400"
      },
      "message": "SUNRPC: Trivial cleanups in include/linux/sunrpc/xdr.h\n\nClean up: Update the documenting comment, and fix some minor white\nspace issues.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "a8ce4a8f37fef0a09a1e920c2e09f67a80426c7e",
      "tree": "cd3c11c87fa63c8bf15e74f311560a83637fc3fa",
      "parents": [
        "0b9e79431377df452348e78262dd5a3dc359eeef"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Apr 16 16:42:12 2010 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri May 14 15:09:30 2010 -0400"
      },
      "message": "SUNRPC: Fail over more quickly on connect errors\n\nWe should not allow soft tasks to wait for longer than the major timeout\nperiod when waiting for a reconnect to occur.\n\nRemove the field xprt-\u003econnect_timeout since it has been obsoleted by\nxprt-\u003ereestablish_timeout.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "fffdaef2eb4a7333952e55cf97f1fc0fcc35f981",
      "tree": "bd4e4b39ec901feb27b91d33d4f52e723f3584d7",
      "parents": [
        "5af46547ec451918f3ba51efe59b317d33adf701"
      ],
      "author": {
        "name": "Kevin Coffman",
        "email": "kwc@citi.umich.edu",
        "time": "Wed Mar 17 13:03:06 2010 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri May 14 15:09:20 2010 -0400"
      },
      "message": "gss_krb5: Add support for rc4-hmac encryption\n\nAdd necessary changes to add kernel support for the rc4-hmac Kerberos\nencryption type used by Microsoft and described in rfc4757.\n\nSigned-off-by: Kevin Coffman \u003ckwc@citi.umich.edu\u003e\nSigned-off-by: Steve Dickson \u003csteved@redhat.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "5af46547ec451918f3ba51efe59b317d33adf701",
      "tree": "0878529858a5ded9224e633dd13b431e6b69e28c",
      "parents": [
        "1dbd9029f3024d058da1cf6c6658c28aac2e4e1c"
      ],
      "author": {
        "name": "Kevin Coffman",
        "email": "kwc@citi.umich.edu",
        "time": "Wed Mar 17 13:03:05 2010 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri May 14 15:09:20 2010 -0400"
      },
      "message": "gss_krb5: Use confounder length in wrap code\n\nAll encryption types use a confounder at the beginning of the\nwrap token.  In all encryption types except arcfour-hmac, the\nconfounder is the same as the blocksize.  arcfour-hmac has a\nblocksize of one, but uses an eight byte confounder.\n\nAdd an entry to the crypto framework definitions for the\nconfounder length and change the wrap/unwrap code to use\nthe confounder length rather than assuming it is always\nthe blocksize.\n\nSigned-off-by: Kevin Coffman \u003ckwc@citi.umich.edu\u003e\nSigned-off-by: Steve Dickson \u003csteved@redhat.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "1dbd9029f3024d058da1cf6c6658c28aac2e4e1c",
      "tree": "eb407d31f61ea8a14be6bb04aa09ed8980920025",
      "parents": [
        "fc263a917afad3bda7b823a6edc803a40e7f6015"
      ],
      "author": {
        "name": "Kevin Coffman",
        "email": "kwc@citi.umich.edu",
        "time": "Wed Mar 17 13:03:04 2010 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri May 14 15:09:20 2010 -0400"
      },
      "message": "gssd_krb5: More arcfour-hmac support\n\nFor the arcfour-hmac support, the make_seq_num and get_seq_num\nfunctions need access to the kerberos context structure.\nThis will be used in a later patch.\n\nSigned-off-by: Kevin Coffman \u003ckwc@citi.umich.edu\u003e\nSigned-off-by: Steve Dickson \u003csteved@redhat.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "fc263a917afad3bda7b823a6edc803a40e7f6015",
      "tree": "c6773866431c48aea2b837f5ba06314ec21369b4",
      "parents": [
        "8b23707612cffdba694dcd18aa8a018918aa86dc"
      ],
      "author": {
        "name": "Kevin Coffman",
        "email": "kwc@citi.umich.edu",
        "time": "Wed Mar 17 13:03:03 2010 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri May 14 15:09:19 2010 -0400"
      },
      "message": "gss_krb5: Save the raw session key in the context\n\nThis is needed for deriving arcfour-hmac keys \"on the fly\"\nusing the sequence number or checksu\n\nSigned-off-by: Kevin Coffman \u003ckwc@citi.umich.edu\u003e\nSigned-off-by: Steve Dickson \u003csteved@redhat.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "8b23707612cffdba694dcd18aa8a018918aa86dc",
      "tree": "3dd484658768c0a710b252a674c697124380b223",
      "parents": [
        "bf6d359c508cf83401c942262a9749752598394d"
      ],
      "author": {
        "name": "Kevin Coffman",
        "email": "kwc@citi.umich.edu",
        "time": "Wed Mar 17 13:03:02 2010 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri May 14 15:09:19 2010 -0400"
      },
      "message": "gssd_krb5: arcfour-hmac support\n\nFor arcfour-hmac support, the make_checksum function needs a usage\nfield to correctly calculate the checksum differently for MIC and\nWRAP tokens.\n\nSigned-off-by: Kevin Coffman \u003ckwc@citi.umich.edu\u003e\nSigned-off-by: Steve Dickson \u003csteved@redhat.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "934a95aa1c9c6ad77838800b79c306e982437605",
      "tree": "0f7000ffce214a156737fddc127fb0af238dfcff",
      "parents": [
        "de9c17eb4a912c9028f7b470eb80815144883b26"
      ],
      "author": {
        "name": "Kevin Coffman",
        "email": "kwc@citi.umich.edu",
        "time": "Wed Mar 17 13:03:00 2010 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri May 14 15:09:19 2010 -0400"
      },
      "message": "gss_krb5: add remaining pieces to enable AES encryption support\n\nAdd the remaining pieces to enable support for Kerberos AES\nencryption types.\n\nSigned-off-by: Kevin Coffman \u003ckwc@citi.umich.edu\u003e\nSigned-off-by: Steve Dickson \u003csteved@redhat.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "de9c17eb4a912c9028f7b470eb80815144883b26",
      "tree": "3e681897cff2db43f91c1e5e2f7dcad9598165c9",
      "parents": [
        "c43abaedaff92a7bcbfe04b593164bb5faba3078"
      ],
      "author": {
        "name": "Kevin Coffman",
        "email": "kwc@citi.umich.edu",
        "time": "Wed Mar 17 13:02:59 2010 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri May 14 15:09:18 2010 -0400"
      },
      "message": "gss_krb5: add support for new token formats in rfc4121\n\nThis is a step toward support for AES encryption types which are\nrequired to use the new token formats defined in rfc4121.\n\nSigned-off-by: Kevin Coffman \u003ckwc@citi.umich.edu\u003e\n[SteveD: Fixed a typo in gss_verify_mic_v2()]\nSigned-off-by: Steve Dickson \u003csteved@redhat.com\u003e\n[Trond: Got rid of the TEST_ROTATE/TEST_EXTRA_COUNT crap]\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "958142e97e04d6c266ae093739bbbbd03afcd497",
      "tree": "f945fcf7105663bfccc124c347441268dcf06367",
      "parents": [
        "683ac6656cb05b6e83593770ffc049eee4a4d119"
      ],
      "author": {
        "name": "Kevin Coffman",
        "email": "kwc@citi.umich.edu",
        "time": "Wed Mar 17 13:02:55 2010 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri May 14 15:09:17 2010 -0400"
      },
      "message": "gss_krb5: add support for triple-des encryption\n\nAdd the final pieces to support the triple-des encryption type.\n\nSigned-off-by: Kevin Coffman \u003ckwc@citi.umich.edu\u003e\nSigned-off-by: Steve Dickson \u003csteved@redhat.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "683ac6656cb05b6e83593770ffc049eee4a4d119",
      "tree": "531c849ad7b20ade79e69c8daa446d99722958ae",
      "parents": [
        "47d84807762966c3611c38adecec6ea703ddda7a"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Apr 08 14:09:58 2010 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri May 14 15:09:17 2010 -0400"
      },
      "message": "gss_krb5: Add upcall info indicating supported kerberos enctypes\n\nThe text based upcall now indicates which Kerberos encryption types are\nsupported by the kernel rpcsecgss code.  This is used by gssd to\ndetermine which encryption types it should attempt to negotiate\nwhen creating a context with a server.\n\nThe server principal\u0027s database and keytab encryption types are\nwhat limits what it should negotiate.  Therefore, its keytab\nshould be created with only the enctypes listed by this file.\n\nCurrently we support des-cbc-crc, des-cbc-md4 and des-cbc-md5\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "47d84807762966c3611c38adecec6ea703ddda7a",
      "tree": "ac67fb9e29aa03e7eba58adae29e8db05fd35537",
      "parents": [
        "4891f2d008e4343eedea39ba1fe74864f1d32be0"
      ],
      "author": {
        "name": "Kevin Coffman",
        "email": "kwc@citi.umich.edu",
        "time": "Wed Mar 17 13:02:54 2010 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri May 14 15:09:17 2010 -0400"
      },
      "message": "gss_krb5: handle new context format from gssd\n\nFor encryption types other than DES, gssd sends down context information\nin a new format.  This new format includes the information needed to\nsupport the new Kerberos GSS-API tokens defined in rfc4121.\n\nSigned-off-by: Kevin Coffman \u003ckwc@citi.umich.edu\u003e\nSigned-off-by: Steve Dickson \u003csteved@redhat.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "4891f2d008e4343eedea39ba1fe74864f1d32be0",
      "tree": "6fb4048a44cd1c91f818ddc372d5410e59108bdb",
      "parents": [
        "e1f6c07b1160ef28e8754d12e6c03288dd9d5ca8"
      ],
      "author": {
        "name": "Kevin Coffman",
        "email": "kwc@citi.umich.edu",
        "time": "Wed Mar 17 13:02:53 2010 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri May 14 15:09:16 2010 -0400"
      },
      "message": "gss_krb5: import functionality to derive keys into the kernel\n\nImport the code to derive Kerberos keys from a base key into the\nkernel.  This will allow us to change the format of the context\ninformation sent down from gssd to include only a single key.\n\nSigned-off-by: Kevin Coffman \u003ckwc@citi.umich.edu\u003e\nSigned-off-by: Steve Dickson \u003csteved@redhat.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "e1f6c07b1160ef28e8754d12e6c03288dd9d5ca8",
      "tree": "5be1f97a1a51feaed4bed2b4a83a568c94921faf",
      "parents": [
        "81d4a4333a1dfd6070f046265d928bb4c79aff88"
      ],
      "author": {
        "name": "Kevin Coffman",
        "email": "kwc@citi.umich.edu",
        "time": "Wed Mar 17 13:02:52 2010 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri May 14 15:09:16 2010 -0400"
      },
      "message": "gss_krb5: add ability to have a keyed checksum (hmac)\n\nEncryption types besides DES may use a keyed checksum (hmac).\nModify the make_checksum() function to allow for a key\nand take care of enctype-specific processing such as truncating\nthe resulting hash.\n\nSigned-off-by: Kevin Coffman \u003ckwc@citi.umich.edu\u003e\nSigned-off-by: Steve Dickson \u003csteved@redhat.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "81d4a4333a1dfd6070f046265d928bb4c79aff88",
      "tree": "652fce6cd75be7388f0cd5c45aec653814710791",
      "parents": [
        "a8cc1cb7d7a12b0e2855832d10cfbfaffebfad6c"
      ],
      "author": {
        "name": "Kevin Coffman",
        "email": "kwc@citi.umich.edu",
        "time": "Wed Mar 17 13:02:51 2010 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri May 14 15:09:16 2010 -0400"
      },
      "message": "gss_krb5: introduce encryption type framework\n\nAdd enctype framework and change functions to use the generic\nvalues from it rather than the values hard-coded for des.\n\nSigned-off-by: Kevin Coffman \u003ckwc@citi.umich.edu\u003e\nSigned-off-by: Steve Dickson \u003csteved@redhat.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "1ac3719a2214c545c7e19d34e272a148ca9a24f1",
      "tree": "ae1a3f88f85aad50c03cd0960b3fbc392561c673",
      "parents": [
        "54ec3d462f3c2a3fe48a7bd592160bee31360087"
      ],
      "author": {
        "name": "Kevin Coffman",
        "email": "kwc@citi.umich.edu",
        "time": "Wed Mar 17 13:02:49 2010 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri May 14 15:09:15 2010 -0400"
      },
      "message": "gss_krb5: split up functions in preparation of adding new enctypes\n\nAdd encryption type to the krb5 context structure and use it to switch\nto the correct functions depending on the encryption type.\n\nSigned-off-by: Kevin Coffman \u003ckwc@citi.umich.edu\u003e\nSigned-off-by: Steve Dickson \u003csteved@redhat.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "725f2865d4df31ac0768b13ae763beadc4bb8ce9",
      "tree": "20b2da47713e7f38a61d37cbb2c95ad52c88609f",
      "parents": [
        "4fc4c3ce0dc1096cbd0daa3fe8f6905cbec2b87e"
      ],
      "author": {
        "name": "Kevin Coffman",
        "email": "kwc@citi.umich.edu",
        "time": "Wed Mar 17 13:02:46 2010 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri May 14 15:09:15 2010 -0400"
      },
      "message": "gss_krb5: Introduce encryption type framework\n\nMake the client and server code consistent regarding the extra buffer\nspace made available for the auth code when wrapping data.\n\nAdd some comments/documentation about the available buffer space\nin the xdr_buf head and tail when gss_wrap is called.\n\nAdd a compile-time check to make sure we are not exceeding the available\nbuffer space.\n\nAdd a central function to shift head data.\n\nSigned-off-by: Kevin Coffman \u003ckwc@citi.umich.edu\u003e\nSigned-off-by: Steve Dickson \u003csteved@redhat.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "c9acb42ef1904d15d0fb315061cefbe638f67f3a",
      "tree": "7c94dff168dfc90a279990cb2860cce626ae76a3",
      "parents": [
        "cdead7cf12896c0e50a8be2e52de52c364603095"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Mar 19 15:36:22 2010 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Mar 22 05:32:44 2010 -0400"
      },
      "message": "SUNRPC: Fix a use after free bug with the NFSv4.1 backchannel\n\nThe -\u003erelease_request() callback was designed to allow the transport layer\nto do housekeeping after the RPC call is done. It cannot be used to free\nthe request itself, and doing so leads to a use-after-free bug in\nxprt_release().\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "ba17686f62db88f6a591121e768a0c83a2a2647d",
      "tree": "b32b611d474e062d908af555b012dec0d4f703a5",
      "parents": [
        "9733f0d9289cbcac4fa03db0cb5aec1ab01c6bc9"
      ],
      "author": {
        "name": "Andy Adamson",
        "email": "andros@netapp.com",
        "time": "Tue Jan 26 21:24:04 2010 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Feb 10 08:31:02 2010 -0500"
      },
      "message": "nfs41 do not allocate unused back channel pages\n\nSigned-off-by: Andy Adamson \u003candros@netapp.com\u003e\n[Trond.Myklebust@netapp.com: moved definition of svc_is_backchannel()\n into include/linux/sunrpc/bc_xprt.h.]\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "e4bdda1bc3123a9e65f4dd93a23041fde8ed3dc2",
      "tree": "c2f75cc08bb4c5cbd9103e14399ea5ab66ce960d",
      "parents": [
        "74f3ae743427b87e43b5cb9f4257021ae8ad4267",
        "380454126f1357db9270f9d1ca05dfe1a6e4ad47"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Dec 16 10:47:44 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Dec 16 10:47:44 2009 -0800"
      },
      "message": "Merge branch \u0027bugfixes\u0027 of git://git.linux-nfs.org/projects/trondmy/nfs-2.6\n\n* \u0027bugfixes\u0027 of git://git.linux-nfs.org/projects/trondmy/nfs-2.6:\n  NFSv4: Fix a regression in the NFSv4 state manager\n  NFSv4: Release the sequence id before restarting a CLOSE rpc call\n  nfs41: fix session fore channel negotiation\n  nfs41: do not zero seqid portion of stateid on close\n  nfs: run state manager in privileged mode\n  nfs: make recovery state manager operations privileged\n  nfs: enforce FIFO ordering of operations trying to acquire slot\n  rpc: add a new priority in RPC task\n  nfs: remove rpc_task argument from nfs4_find_slot\n  rpc: add rpc_queue_empty function\n  nfs: change nfs4_do_setlk params to identify recovery type\n  nfs: do not do a LOOKUP after open\n  nfs: minor cleanup of session draining\n"
    },
    {
      "commit": "37c24b37fb2454e95136139d10bb6828967105bf",
      "tree": "d5c3fa61fa689567caeb2a7cb5891473e444ff7d",
      "parents": [
        "5ac4d630eb87656bd4dc313b910776d54d88ea28",
        "7663dacd926584093dfc350892792054692b6cb3"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Dec 16 10:43:34 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Dec 16 10:43:34 2009 -0800"
      },
      "message": "Merge branch \u0027for-2.6.33\u0027 of git://linux-nfs.org/~bfields/linux\n\n* \u0027for-2.6.33\u0027 of git://linux-nfs.org/~bfields/linux: (42 commits)\n  nfsd: remove pointless paths in file headers\n  nfsd: move most of nfsfh.h to fs/nfsd\n  nfsd: remove unused field rq_reffh\n  nfsd: enable V4ROOT exports\n  nfsd: make V4ROOT exports read-only\n  nfsd: restrict filehandles accepted in V4ROOT case\n  nfsd: allow exports of symlinks\n  nfsd: filter readdir results in V4ROOT case\n  nfsd: filter lookup results in V4ROOT case\n  nfsd4: don\u0027t continue \"under\" mounts in V4ROOT case\n  nfsd: introduce export flag for v4 pseudoroot\n  nfsd: let \"insecure\" flag vary by pseudoflavor\n  nfsd: new interface to advertise export features\n  nfsd: Move private headers to source directory\n  vfs: nfsctl.c un-used nfsd #includes\n  lockd: Remove un-used nfsd headers #includes\n  s390: remove un-used nfsd #includes\n  sparc: remove un-used nfsd #includes\n  parsic: remove un-used nfsd #includes\n  compat.c: Remove dependence on nfsd private headers\n  ...\n"
    },
    {
      "commit": "c7af6b0895229bd080b86afc91302b66f6df0378",
      "tree": "4191cd37780883313ebe6dd8374932fa56a3fc05",
      "parents": [
        "3d8986c7585457c45fd349b2c542c7c1ecd20843"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Dec 04 18:29:33 2009 -0500"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Tue Dec 15 15:01:46 2009 -0500"
      },
      "message": "nfsd: remove unused field rq_reffh\n\nThis field is never referenced anywhere else.  I don\u0027t know what it was\nintended for.\n\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "cf3b01b54880debb01ea7d471123da5887a7c2cb",
      "tree": "54fc0c9014297706e1c7f760d6e0396d24954a68",
      "parents": [
        "40ead580ae70bba1f66f426aeb938051e4e83900"
      ],
      "author": {
        "name": "Alexandros Batsakis",
        "email": "batsakis@netapp.com",
        "time": "Mon Dec 14 21:27:55 2009 -0800"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Dec 15 13:53:54 2009 -0500"
      },
      "message": "rpc: add a new priority in RPC task\n\nSigned-off-by: Alexandros Batsakis \u003cbatsakis@netapp.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "48f186124220794fce85ed1439fc32f16f69d3e2",
      "tree": "c200395b4238a19d6653b23a43537ac29b7b8cf4",
      "parents": [
        "afe6c27ccb8cc31ce8ed0bd3589ce549f523c8e7"
      ],
      "author": {
        "name": "Alexandros Batsakis",
        "email": "batsakis@netapp.com",
        "time": "Mon Dec 14 21:27:53 2009 -0800"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Dec 15 13:51:17 2009 -0500"
      },
      "message": "rpc: add rpc_queue_empty function\n\nSigned-off-by: Alexandros Batsakis \u003cbatsakis@netapp.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "a600ffcbb3743cf1296bee2a41d4824c719d7181",
      "tree": "24b5772ad56a6b65626ad70a905f6f9ab3709225",
      "parents": [
        "4056c9a344d60ee96471a5f3b0a3c8a90371c8fd"
      ],
      "author": {
        "name": "Boaz Harrosh",
        "email": "bharrosh@panasas.com",
        "time": "Thu Dec 03 20:28:35 2009 +0200"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Mon Dec 14 18:12:08 2009 -0500"
      },
      "message": "sunrpc: Clean never used include files\n\nRemove include of two headers never used by this file.\nDoing so exposed a missing #include \u003clinux/types.h\u003e in\ninclude/linux/sunrpc/rpc_rdma.h.\n\nI did not see any other users dependency but if exist they\nshould be fixed since these headers are totally irrelevant\nto here.\n\nSigned-off-by: Boaz Harrosh \u003cbharrosh@panasas.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "09a21c4102c8f7893368553273d39c0cadedf9af",
      "tree": "b0a051dbb02d48aa95383e39cc7ce6f503d6f33b",
      "parents": [
        "206a134b4d8abf57cd34dffacf993869355b9aac"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Thu Dec 03 15:58:56 2009 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Dec 03 15:58:56 2009 -0500"
      },
      "message": "SUNRPC: Allow RPCs to fail quickly if the server is unreachable\n\nThe kernel sometimes makes RPC calls to services that aren\u0027t running.\nBecause the kernel\u0027s RPC client always assumes the hard retry semantic\nwhen reconnecting a connection-oriented RPC transport, the underlying\nreconnect logic takes a long while to time out, even though the remote\nmay have responded immediately with ECONNREFUSED.\n\nIn certain cases, like upcalls to our local rpcbind daemon, or for NFS\nmount requests, we\u0027d like the kernel to fail immediately if the remote\nservice isn\u0027t reachable.  This allows another transport to be tried\nimmediately, or the pending request can be abandoned quickly.\n\nIntroduce a per-request flag which controls how call_transmit_status()\nbehaves when request transmission fails because the server cannot be\nreached.\n\nWe don\u0027t want soft connection semantics to apply to other errors.  The\ndefault case of the switch statement in call_transmit_status() no\nlonger falls through; the fall through code is copied to the default\ncase, and a \"break;\" is added.\n\nThe transport\u0027s connection re-establishment timeout is also ignored for\nsuch requests.  We want the request to fail immediately, so the\nreconnect delay is skipped.  Additionally, we don\u0027t want a connect\nfailure here to further increase the reconnect timeout value, since\nthis request will not be retried.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "78c210efdefe07131f91ed512a3308b15bb14e2f",
      "tree": "8b101c92584e27b0dbe238f6a1208308e54dac81",
      "parents": [
        "0a3adadee42f2865bb867b8c5f4955b7def9baad"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Thu Aug 06 15:41:34 2009 -0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Mon Nov 23 12:34:05 2009 -0500"
      },
      "message": "Revert \"knfsd: avoid overloading the CPU scheduler with enormous load averages\"\n\nThis reverts commit 59a252ff8c0f2fa32c896f69d56ae33e641ce7ad.\n\nThis helps in an entirely cached workload but not necessarily in\nworkloads that require waiting on disk.\n\nConflicts:\n\n\tinclude/linux/sunrpc/svc.h\n\tnet/sunrpc/svc_xprt.c\n\nReported-by: Simon Kirby \u003csim@hostway.ca\u003e\nTested-by: Jesper Krogh \u003cjesper@krogh.cc\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "97363c6a4f93a20380b4a9e11f35e27fed68a517",
      "tree": "12d4c58196f7975a2b70ea0be1833c96f51f6edd",
      "parents": [
        "9423a08ad5773d0a7612d434700561dc8346b6d6"
      ],
      "author": {
        "name": "Benny Halevy",
        "email": "bhalevy@panasas.com",
        "time": "Wed Sep 23 14:36:38 2009 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Sep 23 14:36:38 2009 -0400"
      },
      "message": "sunrpc: xdr_xcode_hyper helpers cannot presume 64-bit alignment\n\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "5d351754fcf58d1a604aa7cf95c2805e8a098ad9",
      "tree": "814bccfcfbb841ec0b2be76bbfbe1b8b6b355ff1",
      "parents": [
        "886e3b7fe6054230c89ae078a09565ed183ecc73"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Sep 15 13:32:13 2009 -0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Tue Sep 15 20:49:33 2009 -0400"
      },
      "message": "SUNRPC: Defer the auth_gss upcall when the RPC call is asynchronous\n\nOtherwise, the upcall is going to be synchronous, which may not be what the\ncaller wants...\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "f300baba5a1536070d6d77bf0c8c4ca999bb4f0f",
      "tree": "648d0020d9a9325cfcb07571d9f11a5c797ee900",
      "parents": [
        "908329f2c08b8b5af7b394f709b0ee9c43b93041"
      ],
      "author": {
        "name": "Alexandros Batsakis",
        "email": "batsakis@netapp.com",
        "time": "Thu Sep 10 17:33:30 2009 +0300"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Sun Sep 13 15:46:15 2009 -0400"
      },
      "message": "nfsd41: sunrpc: add new xprt class for nfsv4.1 backchannel\n\n[sunrpc: change idle timeout value for the backchannel]\nSigned-off-by: Alexandros Batsakis \u003cbatsakis@netapp.com\u003e\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\nAcked-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "4cfc7e6019caa3e97d2a81c48c8d575d7b38d751",
      "tree": "8dced61360d385b115da94f9a4fd5f8d635c296d",
      "parents": [
        "6951867b9967066eda090f46ad91ce69e0ead611"
      ],
      "author": {
        "name": "Rahul Iyer",
        "email": "iyer@netapp.com",
        "time": "Thu Sep 10 17:32:28 2009 +0300"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Sep 11 15:04:16 2009 -0400"
      },
      "message": "nfsd41: sunrpc: Added rpc server-side backchannel handling\n\nWhen the call direction is a reply, copy the xid and call direction into the\nreq-\u003erq_private_buf.head[0].iov_base otherwise rpc_verify_header returns\nrpc_garbage.\n\nSigned-off-by: Rahul Iyer \u003ciyer@netapp.com\u003e\nSigned-off-by: Mike Sager \u003csager@netapp.com\u003e\nSigned-off-by: Marc Eshel \u003ceshel@almaden.ibm.com\u003e\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\nSigned-off-by: Ricardo Labiaga \u003cRicardo.Labiaga@netapp.com\u003e\nSigned-off-by: Andy Adamson \u003candros@netapp.com\u003e\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n[get rid of CONFIG_NFSD_V4_1]\n[sunrpc: refactoring of svc_tcp_recvfrom]\n[nfsd41: sunrpc: create common send routine for the fore and the back channels]\n[nfsd41: sunrpc: Use free_page() to free server backchannel pages]\n[nfsd41: sunrpc: Document server backchannel locking]\n[nfsd41: sunrpc: remove bc_connect_worker()]\n[nfsd41: sunrpc: Define xprt_server_backchannel()[\n[nfsd41: sunrpc: remove bc_close and bc_init_auto_disconnect dummy functions]\n[nfsd41: sunrpc: eliminate unneeded switch statement in xs_setup_tcp()]\n[nfsd41: sunrpc: Don\u0027t auto close the server backchannel connection]\n[nfsd41: sunrpc: Remove unused functions]\nSigned-off-by: Alexandros Batsakis \u003cbatsakis@netapp.com\u003e\nSigned-off-by: Ricardo Labiaga \u003cRicardo.Labiaga@netapp.com\u003e\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n[nfsd41: change bc_sock to bc_xprt]\n[nfsd41: sunrpc: move struct rpc_buffer def into a common header file]\n[nfsd41: sunrpc: use rpc_sleep in bc_send_request so not to block on mutex]\n[removed cosmetic changes]\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n[sunrpc: add new xprt class for nfsv4.1 backchannel]\n[sunrpc: v2.1 change handling of auto_close and init_auto_disconnect operations for the nfsv4.1 backchannel]\nSigned-off-by: Alexandros Batsakis \u003cbatsakis@netapp.com\u003e\n[reverted more cosmetic leftovers]\n[got rid of xprt_server_backchannel]\n[separated \"nfsd41: sunrpc: add new xprt class for nfsv4.1 backchannel\"]\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\nCc: Trond Myklebust \u003ctrond.myklebust@netapp.com\u003e\n[sunrpc: change idle timeout value for the backchannel]\nSigned-off-by: Alexandros Batsakis \u003cbatsakis@netapp.com\u003e\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\nAcked-by: Trond Myklebust \u003ctrond.myklebust@netapp.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "fbf4665f41b02e757ab9d9198df65e319388e728",
      "tree": "ec0b8b4f3809ee38088504bf51440ee12f501085",
      "parents": [
        "7077ecbabd626cce1fcf5cc9766c83ec04d919f9"
      ],
      "author": {
        "name": "Jeff Layton",
        "email": "jlayton@redhat.com",
        "time": "Fri Aug 14 12:57:59 2009 -0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Aug 21 11:27:44 2009 -0400"
      },
      "message": "nfsd: populate sin6_scope_id on callback address with scopeid from rq_addr on SETCLIENTID call\n\nWhen a SETCLIENTID call comes in, one of the args given is the svc_rqst.\nThis struct contains an rq_addr field which holds the address that sent\nthe call. If this is an IPv6 address, then we can use the sin6_scope_id\nfield in this address to populate the sin6_scope_id field in the\ncallback address.\n\nAFAICT, the rq_addr.sin6_scope_id is non-zero if and only if the client\nmounted the server\u0027s link-local address.\n\nSigned-off-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nAcked-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "be3ad6b0b675fd1d6b48362ca30bdee75fbef6b4",
      "tree": "a71d748cce9e6284e18aa681ed30ab8775415480",
      "parents": [
        "4516fc0454e7ffe2f369e80045b23c2b32155004"
      ],
      "author": {
        "name": "Jeff Layton",
        "email": "jlayton@redhat.com",
        "time": "Fri Aug 14 12:57:55 2009 -0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Aug 21 11:27:43 2009 -0400"
      },
      "message": "sunrpc: add common routine for copying address portion of a sockaddr\n\nSigned-off-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nAcked-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "4516fc0454e7ffe2f369e80045b23c2b32155004",
      "tree": "b1068b9fbad76b5381b103fc57617373ec2ae37d",
      "parents": [
        "e9dc122166b8d863d3057a66ada04838e5548e52"
      ],
      "author": {
        "name": "Jeff Layton",
        "email": "jlayton@redhat.com",
        "time": "Fri Aug 14 12:57:54 2009 -0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Aug 21 11:27:42 2009 -0400"
      },
      "message": "sunrpc: add routine for comparing addresses\n\nlockd needs these sort of routines, as does the NFSv4 callback code.\n\nMove lockd\u0027s routines into common code and rename them so that they can\nbe used by others.\n\nSigned-off-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nAcked-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "e9dc122166b8d863d3057a66ada04838e5548e52",
      "tree": "749e15bf719b64bf9113db7acd8e043d9742cb26",
      "parents": [
        "560ab42ef923aaf2e4347315bdfcc74b2708972c",
        "405d8f8b1d936414da2093d4149ff790ff3f84a5"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Aug 21 11:27:29 2009 -0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Aug 21 11:27:29 2009 -0400"
      },
      "message": "Merge branch \u0027nfs-for-2.6.32\u0027 of git://git.linux-nfs.org/projects/trondmy/nfs-2.6 into for-2.6.32-incoming\n\nConflicts:\n\tnet/sunrpc/cache.c\n"
    },
    {
      "commit": "4dceef96756b667360741712a8e37490f8458516",
      "tree": "523e1d93431f123d6d9e214a58a251b3728090fe",
      "parents": [
        "e1af88a1ad8f4dea3a2d6c5637d94a3fc3c62994"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Thu Aug 20 17:08:39 2009 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Aug 20 18:20:25 2009 -0400"
      },
      "message": "nfs: fix compile error in rpc_pipefs.h\n\nThis include is needed for the definition of delayed_work.\n\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "6a396f67d2442e30150ffb5e1142dbb2f2181d3f",
      "tree": "2ea4f3ab1d3766204a55ec26600b848ed3a7e8aa",
      "parents": [
        "f884dcaead5f17bf586ac5fe6a3ad07b5203616a",
        "cccddf4f5580131c9b963900e1d3400655e633cc"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Aug 19 18:21:52 2009 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Aug 19 18:21:52 2009 -0400"
      },
      "message": "Merge branch \u0027nfsv4_xdr_cleanups-for-2.6.32\u0027 into nfs-for-2.6.32\n\nConflicts:\n\tfs/nfs/nfs4xdr.c\n"
    },
    {
      "commit": "98866b5abe1513cdacc011874ca045d40002eccd",
      "tree": "d6bddb53c9df2fb167b69561f9fd68dfadc65066",
      "parents": [
        "9f162d2a810b4db48f7b8d7e734d0932c81ec2a1"
      ],
      "author": {
        "name": "Benny Halevy",
        "email": "bhalevy@panasas.com",
        "time": "Fri Aug 14 17:18:49 2009 +0300"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Aug 14 13:12:52 2009 -0400"
      },
      "message": "sunrpc: ntoh -\u003e be*_to_cpu\n\nntohl is already defined as be32_to_cpu.\nbe64_to_cpu has architecture specific optimized implementations.\n\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "9f162d2a810b4db48f7b8d7e734d0932c81ec2a1",
      "tree": "83d0d6274cee3c82fa7485e9a85879172954cc5b",
      "parents": [
        "64f1607ffbbc772685733ea63e6f7f4183df1b16"
      ],
      "author": {
        "name": "Benny Halevy",
        "email": "bhalevy@panasas.com",
        "time": "Fri Aug 14 17:18:44 2009 +0300"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Aug 14 13:12:38 2009 -0400"
      },
      "message": "sunrpc: hton -\u003e cpu_to_be*\n\nhtonl is already defined as cpu_to_be32.\ncpu_to_be64 has architecture specific optimized implementations.\n\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "f884dcaead5f17bf586ac5fe6a3ad07b5203616a",
      "tree": "2406444df167f1d67b38733b544f2e2a96c778c7",
      "parents": [
        "976a6f921cad26651d25e73826c05c7a023f5fa4",
        "8854e82d9accc80f43c0bc3ff06b5979ac858185"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Aug 10 17:45:58 2009 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Aug 10 17:45:58 2009 -0400"
      },
      "message": "Merge branch \u0027sunrpc_cache-for-2.6.32\u0027 into nfs-for-2.6.32\n"
    },
    {
      "commit": "8854e82d9accc80f43c0bc3ff06b5979ac858185",
      "tree": "957a42c2959e52f9df2acd7a23c10bf5d6cbeaf0",
      "parents": [
        "173912a6add00f4715774dcecf9ee53274c5924c"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sun Aug 09 15:14:30 2009 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sun Aug 09 15:14:30 2009 -0400"
      },
      "message": "SUNRPC: Add an rpc_pipefs front end for the sunrpc cache code\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "173912a6add00f4715774dcecf9ee53274c5924c",
      "tree": "cdcade8fe7a9ffd4a54143995ddc56cf1f6a1e82",
      "parents": [
        "bc74b4f5e63a09fb78e245794a0de1e5a2716bbe"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sun Aug 09 15:14:29 2009 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sun Aug 09 15:14:29 2009 -0400"
      },
      "message": "SUNRPC: Move procfs-specific stuff out of the generic sunrpc cache code\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "bc74b4f5e63a09fb78e245794a0de1e5a2716bbe",
      "tree": "5e96e63fd69303162456549f12bff5f9b2ee2a22",
      "parents": [
        "da77005f0d64486cd760f43d9b7cc2379262a363"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sun Aug 09 15:14:29 2009 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sun Aug 09 15:14:29 2009 -0400"
      },
      "message": "SUNRPC: Allow the cache_detail to specify alternative upcall mechanisms\n\nFor events that are rare, such as referral DNS lookups, it makes limited\nsense to have a daemon constantly listening for upcalls on a channel. An\nalternative in those cases might simply be to run the app that fills the\ncache using call_usermodehelper_exec() and friends.\n\nThe following patch allows the cache_detail to specify alternative upcall\nmechanisms for these particular cases.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "2da8ca26c6bfad685bfddf39728eac1c83906aa9",
      "tree": "77d0d4ed305009bd5bf82b1456d4ed5ab1db5002",
      "parents": [
        "e57aed77ad48d28ac617ba157ad2f665f5301b30"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sun Aug 09 15:14:26 2009 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sun Aug 09 15:14:26 2009 -0400"
      },
      "message": "NFSD: Clean up the idmapper warning...\n\nWhat part of \u0027internal use\u0027 is so hard to understand?\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "23ac6581702ac6d029643328a7e6ea3baf834c5e",
      "tree": "e960a371127a240f17971596e0c456ccc8f01b7e",
      "parents": [
        "7d217caca5d704e48aa5e59aba0b3ad4c7af4fd2"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sun Aug 09 15:14:25 2009 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sun Aug 09 15:14:25 2009 -0400"
      },
      "message": "SUNRPC: clean up rpc_setup_pipedir()\n\nThere is still a little wart or two there: Since we\u0027ve already got a\nvfsmount, we might as well pass that in to rpc_create_client_dir.\nAnother point is that if we open code __rpc_lookup_path() here, then we can\navoid looking up the entire parent directory path over and over again: it\ndoesn\u0027t change.\n\nAlso get rid of rpc_clnt-\u003ecl_pathname, since it has no users...\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "7d217caca5d704e48aa5e59aba0b3ad4c7af4fd2",
      "tree": "d8d5fcac59d736f1b8c9769e7d3f5aec6d1b5428",
      "parents": [
        "7d59d1e86531a53d7648726ab8a6a670ecbd8f06"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sun Aug 09 15:14:24 2009 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sun Aug 09 15:14:24 2009 -0400"
      },
      "message": "SUNRPC: Replace rpc_client-\u003ecl_dentry and cl_mnt, with a cl_path\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "458adb8ba9b26bfc66593866013adbb62a1a3d2e",
      "tree": "b24eec8ef6f161dbcc564c8f847b476bda9fcb00",
      "parents": [
        "bb1567491e43df4113ec8b088ff0ebc22f568bc5"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sun Aug 09 15:14:22 2009 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sun Aug 09 15:14:22 2009 -0400"
      },
      "message": "SUNRPC: Rename rpc_mkdir to rpc_create_client_dir()\n\nThis reflects the fact that rpc_mkdir() as it stands today, can only create\na RPC client type directory.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "b693ba4a338da15db1db4b5ebaa36e4ab9781c82",
      "tree": "6c16b9ef282af0e958fa216310d4552303b525d5",
      "parents": [
        "7b2aa037e878c939676675969983284a02958ae3"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sun Aug 09 15:14:15 2009 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sun Aug 09 15:14:15 2009 -0400"
      },
      "message": "SUNRPC: Constify rpc_pipe_ops...\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "c740eff84bcfd63c0497ef880e80171931cb8222",
      "tree": "a990bca471ca6334172787a17c6b9c833e48d682",
      "parents": [
        "fbfffbd5e74c5fa8c9165e110cb5899ec21e6364"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Sun Aug 09 15:09:46 2009 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sun Aug 09 15:09:46 2009 -0400"
      },
      "message": "SUNRPC: Kill RPC_DISPLAY_ALL\n\nAt some point, I recall that rpc_pipe_fs used RPC_DISPLAY_ALL.\nCurrently there are no uses of RPC_DISPLAY_ALL outside the transport\nmodules themselves, so we can safely get rid of it.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "ba809130bc260fce04141aca01ef9e068d32af2a",
      "tree": "8aa5fe3f46c679346120f2c28848bf4446133a4c",
      "parents": [
        "a02d692611348f11ee1bc37431a883c3ff2de23e"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Sun Aug 09 15:09:35 2009 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sun Aug 09 15:09:35 2009 -0400"
      },
      "message": "SUNRPC: Remove duplicate universal address generation\n\nRPC universal address generation is currently done in several places:\nrpcb_clnt.c, nfs4proc.c xprtsock.c, and xprtrdma.c.  Remove the\nredundant cases that convert a socket address to a universal\naddress.  The nfs4proc.c case takes a pre-formatted presentation\naddress string, not a socket address, so we\u0027ll leave that one.\n\nBecause the new uaddr constructor uses the recently introduced\nrpc_ntop(), it now supports proper \"::\" shorthanding for IPv6\naddresses.  This allows the kernel to register properly formed\nuniversal addresses with the local rpcbind service, in _all_ cases.\n\nThe kernel can now also send properly formed universal addresses in\nRPCB_GETADDR requests, and support link-local properly when\nencoding and decoding IPv6 addresses.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "a02d692611348f11ee1bc37431a883c3ff2de23e",
      "tree": "5a2ad4862784b4337846b44ddd816e495484086f",
      "parents": [
        "0b10bf5e14d856d1d27a2117d07af2bebee81b75"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Sun Aug 09 15:09:34 2009 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sun Aug 09 15:09:34 2009 -0400"
      },
      "message": "SUNRPC: Provide functions for managing universal addresses\n\nIntroduce a set of functions in the kernel\u0027s RPC implementation for\nconverting between a socket address and either a standard\npresentation address string or an RPC universal address.\n\nThe universal address functions will be used to encode and decode\nRPCB_FOO and NFSv4 SETCLIENTID arguments.  The other functions are\npart of a previous promise to deliver shared functions that can be\nused by upper-layer protocols to display and manipulate IP\naddresses.\n\nThe kernel\u0027s current address printf formatters were designed\nspecifically for kernel to user-space APIs that require a particular\nstring format for socket addresses, thus are somewhat limited for the\npurposes of sunrpc.ko.  The formatter for IPv6 addresses, %pI6, does\nnot support short-handing or scope IDs.  Also, these printf formatters\nare unique per address family, so a separate formatter string is\nrequired for printing AF_INET and AF_INET6 addresses.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "169026a61e6f436dfc12c9d10d95455c4e9f945b",
      "tree": "086ec191697cc7f50c054d3a589028aaa2f1bdbf",
      "parents": [
        "ec88f28d1eb77346f19ca324ceec76e645cdd9da"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Sun Aug 09 15:09:32 2009 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sun Aug 09 15:09:32 2009 -0400"
      },
      "message": "SUNRPC: Clean up RPCBIND_MAXUADDRLEN definitions\n\nClean up: Replace the single-integer definition of RPCBIND_MAXUADDRLEN\nwith a definition that is based on previously defined address string\nsizes, and document the way this maximum is calculated.  Also provide\na separate macro for the size of the port number extension.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "4bd9b0f4afc76cf972578c702e1bc1b6f2d10ba5",
      "tree": "ec7289f1c24ef1ff75c2fdd3cfb2c7ef66f8c44d",
      "parents": [
        "7702ce40bc84a02e88aa20f95333df8cff5f9d37"
      ],
      "author": {
        "name": "Andy Adamson",
        "email": "andros@netapp.com",
        "time": "Wed Jun 24 15:37:45 2009 -0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Tue Jul 14 17:52:40 2009 -0400"
      },
      "message": "nfsd41: use globals for DRC limits\n\nThe version 4.1 DRC memory limit and tracking variables are server wide and\nsession specific. Replace struct svc_serv fields with globals.\nStop using the svc_serv sv_lock.\n\nAdd a spinlock to serialize access to the DRC limit management variables which\nchange on session creation and deletion (usage counter) or (future)\nadministrative action to adjust the total DRC memory limit.\n\nSigned-off-by: Andy Adamson \u003candros@netapp.com\u003e\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n"
    },
    {
      "commit": "405f55712dfe464b3240d7816cc4fe4174831be2",
      "tree": "96c425ea7fa8b31058b8f83a433c5e5265c8ebc7",
      "parents": [
        "f9fabcb58a6d26d6efde842d1703ac7cfa9427b6"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Sat Jul 11 22:08:37 2009 +0400"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Jul 12 12:22:34 2009 -0700"
      },
      "message": "headers: smp_lock.h redux\n\n* Remove smp_lock.h from files which don\u0027t need it (including some headers!)\n* Add smp_lock.h to files which do need it\n* Make smp_lock.h include conditional in hardirq.h\n  It\u0027s needed only for one kernel_locked() usage which is under CONFIG_PREEMPT\n\n  This will make hardirq.h inclusion cheaper for every PREEMPT\u003dn config\n  (which includes allmodconfig/allyesconfig, BTW)\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "7e0338c0de18c50f09aea1fbef45110cf7d64a3c",
      "tree": "30a935c1f6eee7125a9fbb802a33292b1f7268fa",
      "parents": [
        "df36b439c5fedefe013d4449cb6a50d15e2f4d70",
        "47fcb03fefee2501e79176932a4184fc24d6f8ec"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jun 22 12:55:50 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jun 22 12:55:50 2009 -0700"
      },
      "message": "Merge branch \u0027for-2.6.31\u0027 of git://fieldses.org/git/linux-nfsd\n\n* \u0027for-2.6.31\u0027 of git://fieldses.org/git/linux-nfsd: (60 commits)\n  SUNRPC: Fix the TCP server\u0027s send buffer accounting\n  nfsd41: Backchannel: minorversion support for the back channel\n  nfsd41: Backchannel: cleanup nfs4.0 callback encode routines\n  nfsd41: Remove ip address collision detection case\n  nfsd: optimise the starting of zero threads when none are running.\n  nfsd: don\u0027t take nfsd_mutex twice when setting number of threads.\n  nfsd41: sanity check client drc maxreqs\n  nfsd41: move channel attributes from nfsd4_session to a nfsd4_channel_attr struct\n  NFS: kill off complicated macro \u0027PROC\u0027\n  sunrpc: potential memory leak in function rdma_read_xdr\n  nfsd: minor nfsd_vfs_write cleanup\n  nfsd: Pull write-gathering code out of nfsd_vfs_write\n  nfsd: track last inode only in use_wgather case\n  sunrpc: align cache_clean work\u0027s timer\n  nfsd: Use write gathering only with NFSv2\n  NFSv4: kill off complicated macro \u0027PROC\u0027\n  NFSv4: do exact check about attribute specified\n  knfsd: remove unreported filehandle stats counters\n  knfsd: fix reply cache memory corruption\n  knfsd: reply cache cleanups\n  ...\n"
    },
    {
      "commit": "dd2b63d049480979016b959abc2d141cdddb1389",
      "tree": "3b1f9a59b5c0a7c6027ec102a034a4236b41ebd6",
      "parents": [
        "281fe15dc1d6ad46992f18b7a6644269ec5f7138"
      ],
      "author": {
        "name": "Ricardo Labiaga",
        "email": "Ricardo.Labiaga@netapp.com",
        "time": "Wed Apr 01 09:23:28 2009 -0400"
      },
      "committer": {
        "name": "Benny Halevy",
        "email": "bhalevy@panasas.com",
        "time": "Wed Jun 17 14:11:40 2009 -0700"
      },
      "message": "nfs41: Rename rq_received to rq_reply_bytes_recvd\n\nThe \u0027rq_received\u0027 member of \u0027struct rpc_rqst\u0027 is used to track when we\nhave received a reply to our request.  With v4.1, the backchannel\ncan now accept callback requests over the existing connection.  Rename\nthis field to make it clear that it is only used for tracking reply bytes\nand not all bytes received on the connection.\n\nSigned-off-by: Ricardo Labiaga \u003cRicardo.Labiaga@netapp.com\u003e\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n"
    },
    {
      "commit": "9c9f3f5fa62cc4959e4d4d1cf1ec74f2d6ac1197",
      "tree": "a8fb954b9e707b4afdd822e503fc4857f4d88d5d",
      "parents": [
        "7652e5a09ba319241607b22d9055ce93fd5b8039"
      ],
      "author": {
        "name": "Andy Adamson",
        "email": "andros@netapp.com",
        "time": "Wed Apr 01 09:23:10 2009 -0400"
      },
      "committer": {
        "name": "Benny Halevy",
        "email": "bhalevy@panasas.com",
        "time": "Wed Jun 17 14:11:31 2009 -0700"
      },
      "message": "nfs41: sunrpc: add a struct svc_xprt pointer to struct svc_serv for backchannel use\n\nThis svc_xprt is passed on to the callback service thread to be later used\nto processes incoming svc_rqst\u0027s\n\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n"
    },
    {
      "commit": "7652e5a09ba319241607b22d9055ce93fd5b8039",
      "tree": "9d1d491af237dffb1593ed8f2351ebda36b32972",
      "parents": [
        "a43cde94feded0f65fce36330614691c650ae8fe"
      ],
      "author": {
        "name": "Benny Halevy",
        "email": "bhalevy@panasas.com",
        "time": "Wed Apr 01 09:23:09 2009 -0400"
      },
      "committer": {
        "name": "Benny Halevy",
        "email": "bhalevy@panasas.com",
        "time": "Wed Jun 17 14:11:30 2009 -0700"
      },
      "message": "nfs41: sunrpc: provide functions to create and destroy a svc_xprt for backchannel use\n\nFor nfs41 callbacks we need an svc_xprt to process requests coming up the\nbackchannel socket as rpc_rqst\u0027s that are transformed into svc_rqst\u0027s that\nneed a rq_xprt to be processed.\n\nThe svc_{udp,tcp}_create methods are too heavy for this job as svc_create_socket\ncreates an actual socket to listen on while for nfs41 we\u0027re \"reusing\" the\nfore channel\u0027s socket.\n\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n"
    },
    {
      "commit": "4d6bbb6233c9cf23822a2f66f8470c9f40854b77",
      "tree": "0779a7173d2d33adc83162596e64f5636e9f7d5c",
      "parents": [
        "1cad7ea6fe98dc414bd3df55275c147bd15ebf97"
      ],
      "author": {
        "name": "Ricardo Labiaga",
        "email": "Ricardo.Labiaga@netapp.com",
        "time": "Wed Apr 01 09:23:07 2009 -0400"
      },
      "committer": {
        "name": "Benny Halevy",
        "email": "bhalevy@panasas.com",
        "time": "Wed Jun 17 14:11:29 2009 -0700"
      },
      "message": "nfs41: Backchannel bc_svc_process()\n\nImplement the NFSv4.1 backchannel service.  Invokes the common callback\nprocessing logic svc_process_common() to authenticate the call and\ndispatch the appropriate NFSv4.1 XDR decoder and operation procedure.\nIt then invokes bc_send() to send the reply over the same connection.\nbc_send() is implemented in a separate patch.\n\nAt this time there is no slot validation or reply cache handling.\n\n[nfs41: Preallocate rpc_rqst receive buffer for handling callbacks]\nSigned-off-by: Ricardo Labiaga \u003cRicardo.Labiaga@netapp.com\u003e\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n[Move bc_svc_process() declaration to correct patch]\nSigned-off-by: Ricardo Labiaga \u003cRicardo.Labiaga@netapp.com\u003e\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n"
    },
    {
      "commit": "0d90ba1cd416525c4825c111db862d8b15a02e9b",
      "tree": "1f1571410b2d1b17eb8e503fc3b60450f93e9dee",
      "parents": [
        "55ae1aabfb108106dd095de2578ceef1c755a8b8"
      ],
      "author": {
        "name": "Ricardo Labiaga",
        "email": "Ricardo.Labiaga@netapp.com",
        "time": "Wed Apr 01 09:23:04 2009 -0400"
      },
      "committer": {
        "name": "Benny Halevy",
        "email": "bhalevy@panasas.com",
        "time": "Wed Jun 17 14:11:28 2009 -0700"
      },
      "message": "nfs41: Backchannel callback service helper routines\n\nExecutes the backchannel task on the RPC state machine using\nthe existing open connection previously established by the client.\n\nSigned-off-by: Ricardo Labiaga \u003cricardo.labiaga@netapp.com\u003e\n\nnfs41: Add bc_svc.o to sunrpc Makefile.\n\n[nfs41: bc_send() does not need to be exported outside RPC module]\n[nfs41: xprt_free_bc_request() need not be exported outside RPC module]\nSigned-off-by: Ricardo Labiaga \u003cRicardo.Labiaga@netapp.com\u003e\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n[Update copyright]\nSigned-off-by: Ricardo Labiaga \u003cRicardo.Labiaga@netapp.com\u003e\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n"
    },
    {
      "commit": "55ae1aabfb108106dd095de2578ceef1c755a8b8",
      "tree": "7ccb91f5aac0a3646f7d4e8fbe913955aa300f95",
      "parents": [
        "44b98efdd0a205bdca2cb63493350d06ff6804b1"
      ],
      "author": {
        "name": "Ricardo Labiaga",
        "email": "Ricardo.Labiaga@netapp.com",
        "time": "Wed Apr 01 09:23:03 2009 -0400"
      },
      "committer": {
        "name": "Benny Halevy",
        "email": "bhalevy@panasas.com",
        "time": "Wed Jun 17 14:11:24 2009 -0700"
      },
      "message": "nfs41: Add backchannel processing support to RPC state machine\n\nAdds rpc_run_bc_task() which is called by the NFS callback service to\nprocess backchannel requests.  It performs similar work to rpc_run_task()\nthough \"schedules\" the backchannel task to be executed starting at the\ncall_trasmit state in the RPC state machine.\n\nIt also introduces some miscellaneous updates to the argument validation,\ncall_transmit, and transport cleanup functions to take into account\nthat there are now forechannel and backchannel tasks.\n\nBackchannel requests do not carry an RPC message structure, since the\npayload has already been XDR encoded using the existing NFSv4 callback\nmechanism.\n\nIntroduce a new transmit state for the client to reply on to backchannel\nrequests.  This new state simply reserves the transport and issues the\nreply.  In case of a connection related error, disconnects the transport and\ndrops the reply.  It requires the forechannel to re-establish the connection\nand the server to retransmit the request, as stated in NFSv4.1 section\n2.9.2 \"Client and Server Transport Behavior\".\n\nNote: There is no need to loop attempting to reserve the transport.  If EAGAIN\nis returned by xprt_prepare_transmit(), return with tk_status \u003d\u003d 0,\nsetting tk_action to call_bc_transmit.  rpc_execute() will invoke it again\nafter the task is taken off the sleep queue.\n\n[nfs41: rpc_run_bc_task() need not be exported outside RPC module]\n[nfs41: New call_bc_transmit RPC state]\nSigned-off-by: Ricardo Labiaga \u003cRicardo.Labiaga@netapp.com\u003e\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n[nfs41: Backchannel: No need to loop in call_bc_transmit()]\nSigned-off-by: Andy Adamson \u003candros@netapp.com\u003e\nSigned-off-by: Ricardo Labiaga \u003cRicardo.Labiaga@netapp.com\u003e\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n[rpc_count_iostats incorrectly exits early]\nSigned-off-by: Ricardo Labiaga \u003cRicardo.Labiaga@netapp.com\u003e\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n[Convert rpc_reply_expected() to inline function]\n[Remove unnecessary BUG_ON()]\n[Rename variable]\nSigned-off-by: Ricardo Labiaga \u003cRicardo.Labiaga@netapp.com\u003e\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n"
    },
    {
      "commit": "4a8d70bfef01f8e6b27785e2625e88e9a80924a5",
      "tree": "15ed5ffd9210cf10d62abb9c3b78648c3fb50675",
      "parents": [
        "fb7a0b9addbdbbb13b7bc02abf55ee524ea19ce1"
      ],
      "author": {
        "name": "Ricardo Labiaga",
        "email": "Ricardo.Labiaga@netapp.com",
        "time": "Wed Apr 01 09:23:01 2009 -0400"
      },
      "committer": {
        "name": "Benny Halevy",
        "email": "bhalevy@panasas.com",
        "time": "Wed Jun 17 13:06:15 2009 -0700"
      },
      "message": "nfs41: New include/linux/sunrpc/bc_xprt.h\n\nContains prototype for backchannel helper routines.\n\nSigned-off-by: Ricardo Labiaga \u003cricardo.labiaga@netapp.com\u003e\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n[nfs41: xprt_setup_backchannel v4.0 only inline]\n    Fix compile error when CONFIG_NFS_V4_1 is not set.\nSigned-off-by: Andy Adamson \u003candros@netapp.com\u003e\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n[Update Copyright notice and fix formatting]\nSigned-off-by: Ricardo Labiaga \u003cRicardo.Labiaga@netapp.com\u003e\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n"
    },
    {
      "commit": "fb7a0b9addbdbbb13b7bc02abf55ee524ea19ce1",
      "tree": "58f623e78f74c590e20b48f95897c5857d39728f",
      "parents": [
        "f9acac1a4710ce88871f1ae323fc91c1cb6e9d52"
      ],
      "author": {
        "name": "Ricardo Labiaga",
        "email": "Ricardo.Labiaga@netapp.com",
        "time": "Wed Apr 01 09:23:00 2009 -0400"
      },
      "committer": {
        "name": "Benny Halevy",
        "email": "bhalevy@panasas.com",
        "time": "Wed Jun 17 13:06:14 2009 -0700"
      },
      "message": "nfs41: New backchannel helper routines\n\nThis patch introduces support to setup the callback xprt on the client side.\nIt allocates/ destroys the preallocated memory structures used to process\nbackchannel requests.\n\nAt setup time, xprt_setup_backchannel() is invoked to allocate one or\nmore rpc_rqst structures and substructures.  This ensures that they\nare available when an RPC callback arrives.  The rpc_rqst structures\nare maintained in a linked list attached to the rpc_xprt structure.\nWe keep track of the number of allocations so that they can be correctly\nremoved when the channel is destroyed.\n\nWhen an RPC callback arrives, xprt_alloc_bc_request() is invoked to\nobtain a preallocated rpc_rqst structure.  An rpc_xprt structure is\nreturned, and its RPC_BC_PREALLOC_IN_USE bit is set in\nrpc_xprt-\u003ebc_flags.  The structure is removed from the the list\nsince it is now in use, and it will be later added back when its\nuser is done with it.\n\nAfter the RPC callback replies, the rpc_rqst structure is returned\nby invoking xprt_free_bc_request().  This clears the\nRPC_BC_PREALLOC_IN_USE bit and adds it back to the list, allowing it\nto be reused by a subsequent RPC callback request.\n\nTo be consistent with the reception of RPC messages, the backchannel requests\nshould be placed into the \u0027struct rpc_rqst\u0027 rq_rcv_buf, which is then in turn\ncopied to the \u0027struct rpc_rqst\u0027 rq_private_buf.\n\n[nfs41: Preallocate rpc_rqst receive buffer for handling callbacks]\nSigned-off-by: Ricardo Labiaga \u003cRicardo.Labiaga@netapp.com\u003e\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n[Update copyright notice and explain page allocation]\nSigned-off-by: Ricardo Labiaga \u003cRicardo.Labiaga@netapp.com\u003e\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n"
    },
    {
      "commit": "56632b5bff5af10eb12d7e9499b5ffcadcb7a7b2",
      "tree": "41632f7d033a791e1925a84f14488efcb9c0dd83",
      "parents": [
        "7146851376861fe55c7a48ac8fc1354a5fff6cd0"
      ],
      "author": {
        "name": "Ricardo Labiaga",
        "email": "Ricardo.Labiaga@netapp.com",
        "time": "Wed Apr 01 09:22:58 2009 -0400"
      },
      "committer": {
        "name": "Benny Halevy",
        "email": "bhalevy@panasas.com",
        "time": "Wed Jun 17 13:06:13 2009 -0700"
      },
      "message": "nfs41: client callback structures\n\nAdds new list of rpc_xprt structures, and a readers/writers lock to\nprotect the list.  The list is used to preallocate resources for\nthe backchannel during backchannel requests.  Callbacks are not\nexpected to cause significant latency, so only one callback will\nbe allowed at this time.\n\nIt also adds a pointer to the NFS callback service so that\nrequests can be directed to it for processing.\n\nNew callback members added to svc_serv. The NFSv4.1 callback service will\nsleep on the svc_serv-\u003esvc_cb_waitq until new callback requests arrive.\nThe request will be queued in svc_serv-\u003esvc_cb_list. This patch adds this\nlist, the sleep queue and spinlock to svc_serv.\n\n[nfs41: NFSv4.1 callback support]\nSigned-off-by: Ricardo Labiaga \u003cricardo.labiaga@netapp.com\u003e\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n"
    },
    {
      "commit": "aae2006e9b0c294114915c13022fa348e1a88023",
      "tree": "2643d2ed1b2d44c5e5d7577e1ae0516eae95f977",
      "parents": [
        "c3fad1b1aaf850bf692642642ace7cd0d64af0a3"
      ],
      "author": {
        "name": "Andy Adamson",
        "email": "andros@netapp.com",
        "time": "Wed Apr 01 09:22:40 2009 -0400"
      },
      "committer": {
        "name": "Benny Halevy",
        "email": "bhalevy@panasas.com",
        "time": "Wed Jun 17 12:25:07 2009 -0700"
      },
      "message": "nfs41: sunrpc: Export the call prepare state for session reset\n\nSigned-off-by: Andy Adamson\u003candros@netapp.com\u003e\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "7eef4091a653c243a87e5375c54504cc03bec4d8",
      "tree": "f65b77f830b2c8f7d014512badfef5df0d591ee9",
      "parents": [
        "0a93a47f042c459f0f46942c3a920e3c81878031",
        "07a2039b8eb0af4ff464efd3dfd95de5c02648c6"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Mon Jun 15 18:08:07 2009 -0700"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Mon Jun 15 18:08:07 2009 -0700"
      },
      "message": "Merge commit \u0027v2.6.30\u0027 into for-2.6.31\n"
    },
    {
      "commit": "f75e6745aa3084124ae1434fd7629853bdaf6798",
      "tree": "bfd605c079e8a1dd6ad008acc6031441c220c845",
      "parents": [
        "414772fa496273d1a93cefa6dab790f5fdf9de82"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Apr 21 17:18:20 2009 -0400"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat May 02 16:35:08 2009 -0700"
      },
      "message": "SUNRPC: Fix the problem of EADDRNOTAVAIL syslog floods on reconnect\n\nSee http://bugzilla.kernel.org/show_bug.cgi?id\u003d13034\n\nIf the port gets into a TIME_WAIT state, then we cannot reconnect without\nbinding to a new port.\n\nTested-by: Petr Vandrovec \u003cpetr@vandrovec.name\u003e\nTested-by: Jean Delvare \u003ckhali@linux-fr.org\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "8435d34dbbe75678c3cdad3d53b1e7996a79b3bf",
      "tree": "efce3e51cb67c1d8ce39cd87bc22fbac8ee32cbe",
      "parents": [
        "bfba9ab4c64f0e5c33930711e6c073c285e01fcf"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Thu Apr 23 19:32:40 2009 -0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Tue Apr 28 13:54:28 2009 -0400"
      },
      "message": "SUNRPC: pass buffer size to svc_sock_names()\n\nAdjust the synopsis of svc_sock_names() to pass in the size of the\noutput buffer.  Add a documenting comment.\n\nThis is a cosmetic change for now.  A subsequent patch will make sure\nthe buffer length is passed to one_sock_name(), where the length will\nactually be useful.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "bfba9ab4c64f0e5c33930711e6c073c285e01fcf",
      "tree": "1342b7e7d682fd468f0eb271faf2c15afdc8bd50",
      "parents": [
        "335c54bdc4d3bacdbd619ec95cd0b352435bd37f"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Thu Apr 23 19:32:33 2009 -0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Tue Apr 28 13:54:28 2009 -0400"
      },
      "message": "SUNRPC: pass buffer size to svc_addsock()\n\nAdjust the synopsis of svc_addsock() to pass in the size of the output\nbuffer.  Add a documenting comment.\n\nThis is a cosmetic change for now.  A subsequent patch will make sure\nthe buffer length is passed to one_sock_name(), where the length will\nactually be useful.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "335c54bdc4d3bacdbd619ec95cd0b352435bd37f",
      "tree": "922de1595031ab24a31ba263c1f07bf876797b05",
      "parents": [
        "ea068bad27cefc71ab03230dbf01a8f8d98da5ba"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Thu Apr 23 19:32:25 2009 -0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Tue Apr 28 13:54:28 2009 -0400"
      },
      "message": "NFSD: Prevent a buffer overflow in svc_xprt_names()\n\nThe svc_xprt_names() function can overflow its buffer if it\u0027s so near\nthe end of the passed in buffer that the \"name too long\" string still\ndoesn\u0027t fit.  Of course, it could never tell if it was near the end\nof the passed in buffer, since its only caller passes in zero as the\nbuffer length.\n\nLet\u0027s make this API a little safer.\n\nChange svc_xprt_names() so it *always* checks for a buffer overflow,\nand change its only caller to pass in the correct buffer length.\n\nIf svc_xprt_names() does overflow its buffer, it now fails with an\nENAMETOOLONG errno, instead of trying to write a message at the end\nof the buffer.  I don\u0027t like this much, but I can\u0027t figure out a clean\nway that\u0027s always safe to return some of the names, *and* an\nindication that the buffer was not long enough.\n\nThe displayed error when doing a \u0027cat /proc/fs/nfsd/portlist\u0027 is\n\"File name too long\".\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "abc5c44d6284fab8fb21bcfc52c0f16f980637df",
      "tree": "98825098d3f6488a1a8fb55ec40131313b1d25e9",
      "parents": [
        "dcf1a3573eae69937fb14462369c4d3e6f4a37f1"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Thu Apr 23 19:31:25 2009 -0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Tue Apr 28 13:54:25 2009 -0400"
      },
      "message": "SUNRPC: Fix error return value of svc_addr_len()\n\nThe svc_addr_len() helper function returns -EAFNOSUPPORT if it doesn\u0027t\nrecognize the address family of the passed-in socket address.  However,\nthe return type of this function is size_t, which means -EAFNOSUPPORT\nis turned into a very large positive value in this case.\n\nThe check in svc_udp_recvfrom() to see if the return value is less\nthan zero therefore won\u0027t work at all.\n\nAdditionally, handle_connect_req() passes this value directly to\nmemset().  This could cause memset() to clobber a large chunk of memory\nif svc_addr_len() has returned an error.  Currently the address family\nof these addresses, however, is known to be supported long before\nhandle_connect_req() is called, so this isn\u0027t a real risk.\n\nChange the error return value of svc_addr_len() to zero, which fits in\nthe range of size_t, and is safer to pass to memset() directly.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "a63856252d2112e7c452696037a86ceb12f47f80",
      "tree": "b1ad03fe441349069f80e58de425b3f72af9e5b7",
      "parents": [
        "b24241a09208874d5d770bee30791daae41ad762",
        "04826f43d4f0a4d56423eb8abb9f2ec9987df5b5"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 06 13:25:56 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 06 13:25:56 2009 -0700"
      },
      "message": "Merge branch \u0027for-2.6.30\u0027 of git://linux-nfs.org/~bfields/linux\n\n* \u0027for-2.6.30\u0027 of git://linux-nfs.org/~bfields/linux: (81 commits)\n  nfsd41: define nfsd4_set_statp as noop for !CONFIG_NFSD_V4\n  nfsd41: define NFSD_DRC_SIZE_SHIFT in set_max_drc\n  nfsd41: Documentation/filesystems/nfs41-server.txt\n  nfsd41: CREATE_EXCLUSIVE4_1\n  nfsd41: SUPPATTR_EXCLCREAT attribute\n  nfsd41: support for 3-word long attribute bitmask\n  nfsd: dynamically skip encoded fattr bitmap in _nfsd4_verify\n  nfsd41: pass writable attrs mask to nfsd4_decode_fattr\n  nfsd41: provide support for minor version 1 at rpc level\n  nfsd41: control nfsv4.1 svc via /proc/fs/nfsd/versions\n  nfsd41: add OPEN4_SHARE_ACCESS_WANT nfs4_stateid bmap\n  nfsd41: access_valid\n  nfsd41: clientid handling\n  nfsd41: check encode size for sessions maxresponse cached\n  nfsd41: stateid handling\n  nfsd: pass nfsd4_compound_state* to nfs4_preprocess_{state,seq}id_op\n  nfsd41: destroy_session operation\n  nfsd41: non-page DRC for solo sequence responses\n  nfsd41: Add a create session replay cache\n  nfsd41: create_session operation\n  ...\n"
    },
    {
      "commit": "c3d06f9ce8544fecfe13e377d1e2c2e47fe18dbc",
      "tree": "f34acde5f484a8374065295e205921e1860da65c",
      "parents": [
        "074fe897536f095309c5aaffcf912952882ab2cb"
      ],
      "author": {
        "name": "Andy Adamson",
        "email": "andros@netapp.com",
        "time": "Fri Apr 03 08:28:18 2009 +0300"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Apr 03 17:41:17 2009 -0700"
      },
      "message": "nfsd41: hard page limit for DRC\n\nUse no more than 1/128th of the number of free pages at nfsd startup for the\nv4.1 DRC.\n\nThis is an arbitrary default which should probably end up under the control\nof an administrator.\n\nSigned-off-by: Andy Adamson \u003candros@netapp.com\u003e\n[moved added fields in struct svc_serv under CONFIG_NFSD_V4_1]\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n[fix set_max_drc calculation of sv_drc_max_pages]\n[moved NFSD_DRC_SIZE_SHIFT\u0027s declaration up in header file]\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "2f425878b6a71571341dcd3f9e9d1a6f6355da9c",
      "tree": "52735958c1614458bd6b459040f977dfc3c3e9a9",
      "parents": [
        "20766016329eb4985c2c8b2a1b2333e0f865fdf9"
      ],
      "author": {
        "name": "Andy Adamson",
        "email": "andros@netapp.com",
        "time": "Fri Apr 03 08:27:32 2009 +0300"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Apr 03 17:41:12 2009 -0700"
      },
      "message": "nfsd: don\u0027t use the deferral service, return NFS4ERR_DELAY\n\nOn an NFSv4.1 server cache miss that causes an upcall, NFS4ERR_DELAY will be\nreturned. It is up to the NFSv4.1 client to resend only the operations that\nhave not been processed.\n\nInitialize rq_usedeferral to 1 in svc_process(). It sill be turned off in\nnfsd4_proc_compound() only when NFSv4.1 Sessions are used.\n\nNote: this isn\u0027t an adequate solution on its own. It\u0027s acceptable as a way\nto get some minimal 4.1 up and working, but we\u0027re going to have to find a\nway to avoid returning DELAY in all common cases before 4.1 can really be\nconsidered ready.\n\nSigned-off-by: Andy Adamson \u003candros@netapp.com\u003e\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n[nfsd41: reverse rq_nodeferral negative logic]\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n[sunrpc: initialize rq_usedeferral]\nSigned-off-by: Andy Adamson \u003candros@netapp.com\u003e\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "49a9072f29a1039f142ec98b44a72d7173651c02",
      "tree": "d2a87541cb699fb6b1fbdef492f3dc6c305aa541",
      "parents": [
        "9652ada3fb5914a67d8422114e8a76388330fa79"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Wed Mar 18 20:46:29 2009 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sat Mar 28 15:54:48 2009 -0400"
      },
      "message": "SUNRPC: Remove @family argument from svc_create() and svc_create_pooled()\n\nSince an RPC service listener\u0027s protocol family is specified now via\nsvc_create_xprt(), it no longer needs to be passed to svc_create() or\nsvc_create_pooled().  Remove that argument from the synopsis of those\nfunctions, and remove the sv_family field from the svc_serv struct.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "9652ada3fb5914a67d8422114e8a76388330fa79",
      "tree": "b37d77bf972dda04b46794c4e50ec6f6d044dc79",
      "parents": [
        "baf01caf09e87579c2d157e5ee29975db8551522"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Wed Mar 18 20:46:21 2009 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sat Mar 28 15:54:36 2009 -0400"
      },
      "message": "SUNRPC: Change svc_create_xprt() to take a @family argument\n\nThe sv_family field is going away.  Pass a protocol family argument to\nsvc_create_xprt() instead of extracting the family from the passed-in\nsvc_serv struct.\n\nAgain, as this is a listener socket and not an address, we make this\nnew argument an \"int\" protocol family, instead of an \"sa_family_t.\"\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "4b62e58cccff9c5e7ffc7023f7ec24c75fbd549b",
      "tree": "34965810fe2a9aff001dd193a3cb925c2c3e1abd",
      "parents": [
        "156e62094a74cf43f02f56ef96b6cda567501357"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Wed Mar 18 20:46:06 2009 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sat Mar 28 15:54:12 2009 -0400"
      },
      "message": "SUNRPC: Pass a family argument to svc_register()\n\nThe sv_family field is going away.  Instead of using sv_family, have\nthe svc_register() function take a protocol family argument.\n\nSince this argument represents a protocol family, and not an address\nfamily, this argument takes an int, as this is what is passed to\nsock_create_kern().  Also make sure svc_register\u0027s helpers are\nchecking for PF_FOO instead of AF_FOO.  The value of [AP]F_FOO are\nequivalent; this is simply a symbolic change to reflect the semantics\nof the value stored in that variable.\n\nsock_create_kern() should return EPFNOSUPPORT if the passed-in\nprotocol family isn\u0027t supported, but it uses EAFNOSUPPORT for this\ncase.  We will stick with that tradition here, as svc_register()\nis called by the RPC server in the same path as sock_create_kern().\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "156e62094a74cf43f02f56ef96b6cda567501357",
      "tree": "100fdf25a7f13f8c2ebebd241d02a9ed46e89292",
      "parents": [
        "adbbe929569e6eec8ff9feca23f1f2b40b42853d"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Wed Mar 18 20:45:58 2009 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sat Mar 28 15:53:57 2009 -0400"
      },
      "message": "SUNRPC: Clean up svc_find_xprt() calling sequence\n\nClean up: add documentating comment and use appropriate data types for\nsvc_find_xprt()\u0027s arguments.\n\nThis also eliminates a mixed sign comparison: @port was an int, while\nthe return value of svc_xprt_local_port() is an unsigned short.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "efb3288b423d7e3533a68dccecaa05a56a281a4e",
      "tree": "083d0f507c5e3552cf0ab5ae1efadbe7e2bf2d8f",
      "parents": [
        "776bd5c7a207de546918f805090bfc823d2660c8"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Wed Mar 18 20:45:43 2009 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sat Mar 28 15:53:22 2009 -0400"
      },
      "message": "SUNRPC: Clean up static inline functions in svc_xprt.h\n\nClean up:  Enable the use of const arguments in higher level svc_ APIs\nby adding const to the arguments of the helper functions in svc_xprt.h\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "7d1e8255cf959fba7ee2317550dfde39f0b936ae",
      "tree": "0a046b83e5ac29501849c34408059480d4c210be",
      "parents": [
        "5e3771ce2d6a69e10fcc870cdf226d121d868491"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Mar 11 14:38:03 2009 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Mar 19 15:17:34 2009 -0400"
      },
      "message": "SUNRPC: Add the equivalent of the linger and linger2 timeouts to RPC sockets\n\nThis fixes a regression against FreeBSD servers as reported by Tomas\nKasparek. Apparently when using RPC over a TCP socket, the FreeBSD servers\ndon\u0027t ever react to the client closing the socket, and so commit\ne06799f958bf7f9f8fae15f0c6f519953fb0257c (SUNRPC: Use shutdown() instead of\nclose() when disconnecting a TCP socket) causes the setup to hang forever\nwhenever the client attempts to close and then reconnect.\n\nWe break the deadlock by adding a \u0027linger2\u0027 style timeout to the socket,\nafter which, the client will abort the connection using a TCP \u0027RST\u0027.\n\nThe default timeout is set to 15 seconds. A subsequent patch will put it\nunder user control by means of a systctl.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "2795e53b4ed5d1f49d2283f416c922f55ec7d461",
      "tree": "cba9e5c2bcbbf7da75b4c73c7398b20a770262d2",
      "parents": [
        "0953e620de0538cbd081f1b45126f6098112a598"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Thu Mar 12 12:07:14 2009 -0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Wed Mar 18 18:13:28 2009 -0400"
      },
      "message": "SUNRPC: Clean up static inline functions in svc_xprt.h\n\nClean up:  Enable the use of const arguments in higher level svc_ APIs\nby adding const to the arguments of the helper functions in svc_xprt.h\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    }
  ],
  "next": "03cf6c9f49a8fea953d38648d016e3f46e814991"
}
