)]}'
{
  "log": [
    {
      "commit": "e99170ff3b799a9fd43d538932a9231fac1de9d4",
      "tree": "b5926023a010c4f8b3993ff6d06cfd51a9462613",
      "parents": [
        "7866babad542bb5e1dc95deb5800b577abef58dd"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Apr 18 13:21:42 2006 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Apr 19 12:43:47 2006 -0400"
      },
      "message": "NFS,SUNRPC: Fix compiler warnings if CONFIG_PROC_FS \u0026 CONFIG_SYSCTL are unset\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "7866babad542bb5e1dc95deb5800b577abef58dd",
      "tree": "01d8cca76bfcc7b60262adbbbe871b16c32064d5",
      "parents": [
        "95cf959b245832ad49bb333bf88f9805244b225d"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@stusta.de",
        "time": "Tue Apr 18 13:14:13 2006 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Apr 19 12:43:46 2006 -0400"
      },
      "message": "NFS: fix PROC_FS\u003dn compile error\n\nfs/built-in.o: In function `nfs_show_stats\u0027:inode.c:(.text+0x15481a): undefined reference to `rpc_print_iostats\u0027\nnet/built-in.o: In function `rpc_destroy_client\u0027: undefined reference to `rpc_free_iostats\u0027\nnet/built-in.o: In function `rpc_clone_client\u0027: undefined reference to `rpc_alloc_iostats\u0027\nnet/built-in.o: In function `rpc_new_client\u0027: undefined reference to `rpc_alloc_iostats\u0027\nnet/built-in.o: In function `xprt_release\u0027: undefined reference to `rpc_count_iostats\u0027\nmake: *** [.tmp_vmlinux1] Error 1\n\nSigned-off-by: Adrian Bunk \u003cbunk@stusta.de\u003e\nCc: Trond Myklebust \u003ctrond.myklebust@fys.uio.no\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "6f54e2d0d3a904e55c9c50b78542072f6c42080e",
      "tree": "cde5f03d8e80477c7bebcde0e41c48df85dd9846",
      "parents": [
        "dfee55f06213a23b250ea63ba41caa461cdd5e72"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Mon Apr 10 22:55:36 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Apr 11 06:18:52 2006 -0700"
      },
      "message": "[PATCH] knfsd: svcrpc: WARN() instead of returning an error from svc_take_page\n\nEvery caller of svc_take_page ignores its return value and assumes it\nsucceeded.  So just WARN() instead of returning an ignored error.  This would\nhave saved some time debugging a recent nfsd4 problem.\n\nIf there are still failure cases here, then the result is probably that we\noverwrite an earlier part of the reply while xdr-encoding.\n\nWhile the corrupted reply is a nasty bug, it would be worse to panic here and\ncreate the possibility of a remote DOS; hence WARN() instead of BUG().\n\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\nCc: Ingo Oeser \u003cioe-lkml@rameria.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "99ac48f54a91d02140c497edc31dc57d4bc5c85d",
      "tree": "68719391694a6914191bdf73d2071875f7653f6f",
      "parents": [
        "ec1b9466cb4f6ae6d950bd67055d9410d1056d2a"
      ],
      "author": {
        "name": "Arjan van de Ven",
        "email": "arjan@infradead.org",
        "time": "Tue Mar 28 01:56:41 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Mar 28 09:16:05 2006 -0800"
      },
      "message": "[PATCH] mark f_ops const in the inode\n\nMark the f_ops members of inodes as const, as well as fix the\nripple-through this causes by places that copy this f_ops and then \"do\nstuff\" with it.\n\nSigned-off-by: Arjan van de Ven \u003carjan@infradead.org\u003e\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "74cae61ab45f19a3e8c4d9f53c0e94df129c7915",
      "tree": "73ad8b7c562c5e790777b4c93352f739b521f382",
      "parents": [
        "baab935ff3bdac20c558809da0d8e8f761840219"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@stusta.de",
        "time": "Mon Mar 27 01:15:10 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Mar 27 08:44:43 2006 -0800"
      },
      "message": "[PATCH] fs/nfsd/export.c,net/sunrpc/cache.c: make needlessly global code static\n\nWe can now make some code static.\n\nSigned-off-by: Adrian Bunk \u003cbunk@stusta.de\u003e\nCc: Neil Brown \u003cneilb@suse.de\u003e\nCc: Trond Myklebust \u003ctrond.myklebust@fys.uio.no\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "baab935ff3bdac20c558809da0d8e8f761840219",
      "tree": "a22c3189505fe8e7ab3820c988ffd771c0b64fa6",
      "parents": [
        "ebd0cb1af3be2729cc1f574681dfba01fcf458d9"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Mon Mar 27 01:15:09 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Mar 27 08:44:43 2006 -0800"
      },
      "message": "[PATCH] knfsd: Convert sunrpc_cache to use krefs\n\n.. it makes some of the code nicer.\n\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "ebd0cb1af3be2729cc1f574681dfba01fcf458d9",
      "tree": "ed97a94406ed973573576fca585e1c87c15a4d05",
      "parents": [
        "4d90452cb23b08a9a9dd001010f0ee6b1ee83a45"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Mon Mar 27 01:15:08 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Mar 27 08:44:43 2006 -0800"
      },
      "message": "[PATCH] knfsd: Unexport cache_fresh and fix a small race\n\nCache_fresh is now only used in cache.c, so unexport it.\n\nPart of cache_fresh (setting CACHE_VALID) should really be done under the\nlock, while part (calling cache_revisit_request etc) must be done outside the\nlock.  So we split it up appropriately.\n\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "4d90452cb23b08a9a9dd001010f0ee6b1ee83a45",
      "tree": "b48e804c037e6c4fc4afc95709acfb4c7b90ef97",
      "parents": [
        "4013edea9a0b6cdcb1fdf5d4011e47e068fd6efb"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Mon Mar 27 01:15:07 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Mar 27 08:44:42 2006 -0800"
      },
      "message": "[PATCH] knfsd: Remove DefineCacheLookup\n\nThis has been replaced by more traditional code.\n\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "15a5f6bd23eddd5b3be80366f364be04fb1c1c99",
      "tree": "e3c4fa8eb9e8b21ebca33370b7a93eab11662a5d",
      "parents": [
        "7d317f2c9f1e9dcf4f632fa98f91d1d4a36c4cae"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Mon Mar 27 01:15:02 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Mar 27 08:44:41 2006 -0800"
      },
      "message": "[PATCH] knfsd: Create cache_lookup function instead of using a macro to declare one\n\nThe C++-like \u0027template\u0027 approach proves to be too ugly and hard to work with.\n\nThe old \u0027template\u0027 won\u0027t go away until all users are updated.\n\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "7d317f2c9f1e9dcf4f632fa98f91d1d4a36c4cae",
      "tree": "7794c88facd3943a7496f7d41c2b7eb24a5d0be0",
      "parents": [
        "eab7e2e647c348b418e8715ecaca0177e1b473c7"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Mon Mar 27 01:15:01 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Mar 27 08:44:41 2006 -0800"
      },
      "message": "[PATCH] knfsd: Get rid of \u0027inplace\u0027 sunrpc caches\n\nThese were an unnecessary wart.  Also only have one \u0027DefineSimpleCache..\u0027\ninstead of two.\n\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "efc36aa5608f5717338747e152c23f2cfdb14697",
      "tree": "ab444f6e6c88ed07a8d5a034777c10de50e663fd",
      "parents": [
        "3e7b19198003fc25b11838e709f17d4fa173b2d7"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Mon Mar 27 01:14:59 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Mar 27 08:44:41 2006 -0800"
      },
      "message": "[PATCH] knfsd: Change the store of auth_domains to not be a \u0027cache\u0027\n\nThe \u0027auth_domain\u0027s are simply handles on internal data structures.  They do\nnot cache information from user-space, and forcing them into the mold of a\n\u0027cache\u0027 misrepresents their true nature and causes confusion.\n\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "1ebbe2b20091d306453a5cf480a87e6cd28ae76f",
      "tree": "f5cd7a0fa69b8b1938cb5a0faed2e7b0628072a5",
      "parents": [
        "ac58c9059da8886b5e8cde012a80266b18ca146e",
        "674a396c6d2ba0341ebdd7c1c9950f32f018e2dd"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Mar 23 23:44:19 2006 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Mar 23 23:44:19 2006 -0500"
      },
      "message": "Merge branch \u0027linus\u0027\n"
    },
    {
      "commit": "57b47a53ec4a67691ba32cff5768e8d78fa6c67f",
      "tree": "d735ae4734f7b386eefa508a0629715f45808d1d",
      "parents": [
        "6613f82dd293b23f582a649b287fadbf8d23e6cf"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Mar 20 22:35:41 2006 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Mar 20 22:35:41 2006 -0800"
      },
      "message": "[NET]: sem2mutex part 2\n\nSemaphore to mutex conversion.\n\nThe conversion was generated via scripts, and the result was validated\nautomatically via a script as well.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "eaa82edf20d738a7ae31f4b0a5f72f64c14a58df",
      "tree": "57c3244912dc5d15ca7a738ba7358bbd2616b1d9",
      "parents": [
        "096455a22acac06fb6d0d75f276170ab72d55ba6"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@fieldses.org",
        "time": "Mon Mar 20 23:24:04 2006 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Mar 20 23:24:04 2006 -0500"
      },
      "message": "SUNRPC,RPCSEC_GSS: fix krb5 sequence numbers.\n\nUse a spinlock to ensure unique sequence numbers when creating krb5 gss tokens.\n\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "5428154827c2bf7cfdc9dab60db1e0eaa57c027a",
      "tree": "ec2e6c9119ad76cad353a50da2be3ac71adbf54d",
      "parents": [
        "a9a801787a761616589a6526d7a29c13f4deb3d8"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Mar 20 13:44:49 2006 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Mar 20 13:44:49 2006 -0500"
      },
      "message": "SUNRPC: Fix a \u0027Busy inodes\u0027 error in rpc_pipefs\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "dead28da8e3fb32601d38fb32b7021122e0a3d21",
      "tree": "a1a23e27e08345c86ed0d9812f848470b615eb34",
      "parents": [
        "cc0175c1dc1de8f6af0eb0631dcc5b999a6fcc42"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "cel@netapp.com",
        "time": "Mon Mar 20 13:44:23 2006 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Mar 20 13:44:23 2006 -0500"
      },
      "message": "SUNRPC: eliminate rpc_call()\n\nClean-up: replace rpc_call() helper with direct call to rpc_call_sync.\n\nThis makes NFSv2 and NFSv3 synchronous calls more computationally\nefficient, and reduces stack consumption in functions that used to\ninvoke rpc_call more than once.\n\nTest plan:\nCompile kernel with CONFIG_NFS enabled.  Connectathon on NFS version 2,\nversion 3, and version 4 mount points.\n\nSigned-off-by: Chuck Lever \u003ccel@netapp.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "cc0175c1dc1de8f6af0eb0631dcc5b999a6fcc42",
      "tree": "b219a9c16f0ef3ff0982450c32aa0f09d503782a",
      "parents": [
        "4ece3a2d18fd7fe1d4972284a8c98c569020093f"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "cel@netapp.com",
        "time": "Mon Mar 20 13:44:22 2006 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Mar 20 13:44:22 2006 -0500"
      },
      "message": "SUNRPC: display human-readable procedure name in rpc_iostats output\n\nAdd fields to the rpc_procinfo struct that allow the display of a\nhuman-readable name for each procedure in the rpc_iostats output.\n\nAlso fix it so that the NFSv4 stats are broken up correctly by\nsub-procedure number.  NFSv4 uses only two real RPC procedures:\nNULL, and COMPOUND.\n\nTest plan:\nMount with NFSv2, NFSv3, and NFSv4, and do \"cat /proc/self/mountstats\".\n\nSigned-off-by: Chuck Lever \u003ccel@netapp.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "11c556b3d8d481829ab5f9933a25d29b00913b5a",
      "tree": "d1127fa5d22aeb035ca9977abbc73a29d5436fbe",
      "parents": [
        "ef759a2e54ed434b2f72b52a14edecd6d4eadf74"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "cel@netapp.com",
        "time": "Mon Mar 20 13:44:22 2006 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Mar 20 13:44:22 2006 -0500"
      },
      "message": "SUNRPC: provide a mechanism for collecting stats in the RPC client\n\nAdd a simple mechanism for collecting stats in the RPC client.  Stats are\ntabulated during xprt_release.  Note that per_cpu shenanigans are not\nrequired here because the RPC client already serializes on the transport\nwrite lock.\n\nTest plan:\nCompile kernel with CONFIG_NFS enabled.  Basic performance regression\ntesting with high-speed networking and high performance server.\n\nSigned-off-by: Chuck Lever \u003ccel@netapp.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "ef759a2e54ed434b2f72b52a14edecd6d4eadf74",
      "tree": "aa495ef4691387839146683dfae0f0084fbe6137",
      "parents": [
        "262ca07de4d7f1bff20361c1353bb14b3607afb2"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "cel@netapp.com",
        "time": "Mon Mar 20 13:44:17 2006 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Mar 20 13:44:17 2006 -0500"
      },
      "message": "SUNRPC: introduce per-task RPC iostats\n\nAccount for various things that occur while an RPC task is executed.\nSeparate timers for RPC round trip and RPC execution time show how\nlong RPC requests wait in queue before being sent.  Eventually these\nwill be accumulated at xprt_release time in one place where they can\nbe viewed from userland.\n\nTest plan:\nCompile kernel with CONFIG_NFS enabled.\n\nSigned-off-by: Chuck Lever \u003ccel@netapp.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "262ca07de4d7f1bff20361c1353bb14b3607afb2",
      "tree": "e448a66b4549bbd660f76e81da0067d762a4732e",
      "parents": [
        "e19b63dafdf7d615b0d36b90990a07e7792b9d3a"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "cel@netapp.com",
        "time": "Mon Mar 20 13:44:16 2006 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Mar 20 13:44:16 2006 -0500"
      },
      "message": "SUNRPC: add a handful of per-xprt counters\n\nMonitor generic transport events.  Add a transport switch callout to\nformat transport counters for export to user-land.\n\nTest plan:\nCompile kernel with CONFIG_NFS enabled.\n\nSigned-off-by: Chuck Lever \u003ccel@netapp.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "e19b63dafdf7d615b0d36b90990a07e7792b9d3a",
      "tree": "45474992fd5d6a1f4c4c49068ec6383429618515",
      "parents": [
        "67ec9f46b889bfb1ab0a4e307d53929d5f0692bf"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "cel@netapp.com",
        "time": "Mon Mar 20 13:44:15 2006 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Mar 20 13:44:15 2006 -0500"
      },
      "message": "SUNRPC: track length of RPC wait queues\n\nRPC wait queue length will eventually be exported to userland via the RPC\niostats interface.\n\nTest plan:\nCompile kernel with CONFIG_NFS enabled.\n\nSigned-off-by: Chuck Lever \u003ccel@netapp.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "24c5d9d7ea5a64fb5f157d17aa2c67a3300f8a08",
      "tree": "8bb08d685a2f4a64a235561498f9113182b411dc",
      "parents": [
        "f344f6df4b2baa3e5c553c461735dfaf92f44be7"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Mar 20 13:44:08 2006 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Mar 20 13:44:08 2006 -0500"
      },
      "message": "SUNRPC: Run rpci-\u003equeue_timeout on the rpciod workqueue instead of generic\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "00b464debf0038b1628996065f0be564ccfbfd86",
      "tree": "f2bd69a86f66b20db2591fe427120b4a4804c0c0",
      "parents": [
        "1935245655996ca4d14e687c3a100d2e2bbdc78d"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Feb 01 12:49:28 2006 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Feb 01 12:52:25 2006 -0500"
      },
      "message": "SUNRPC: Remove obsolete rpcauth #defines\n\n RPCAUTH_CRED_LOCKED, and RPC_AUTH_PROC_CREDS are unused. Kill them.\n\n Signed-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "fba3bad488a2eec2d76c067edb7a5ff92ef42431",
      "tree": "a7cee933e9089e5c187008b396ee7bcbdb57ff80",
      "parents": [
        "adb12f63e0f837078c6832fa2c90649ddeaab54f"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Feb 01 12:19:27 2006 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Feb 01 12:52:25 2006 -0500"
      },
      "message": "SUNRPC: Move upcall out of auth-\u003eau_ops-\u003ecrcreate()\n\n This fixes a bug whereby if two processes try to look up the same auth_gss\n credential, they may end up creating two creds, and triggering two upcalls\n because the upcall is performed before the credential is added to the\n credcache.\n\n Signed-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "8a3177604b729ec3b80e43790ee978863ac7551b",
      "tree": "6eeafbdae55e2b0821e524f2c16bca52fa150cdc",
      "parents": [
        "aaaa99423b4b1f9cfd33ea5643d9274c25f62491"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Feb 01 12:18:36 2006 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Feb 01 12:52:23 2006 -0500"
      },
      "message": "SUNRPC: Fix a lock recursion in the auth_gss downcall\n\n When we look up a new cred in the auth_gss downcall so that we can stuff\n the credcache, we do not want that lookup to queue up an upcall in order\n to initialise it. To do an upcall here not only redundant, but since we\n are already holding the inode-\u003ei_mutex, it will trigger a lock recursion.\n\n This patch allows rpcauth cache searches to indicate that they can cope\n with uninitialised credentials.\n\n Signed-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "1918e341383ab787d6c5b17200f4ed901b10c777",
      "tree": "5644f3d1ecfbc104ed956ad674785ee69348df41",
      "parents": [
        "7e8f05934d540aeb45c1cc3cc3a0e811bd61866b"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Wed Jan 18 17:43:16 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Jan 18 19:20:24 2006 -0800"
      },
      "message": "[PATCH] svcrpc: save and restore the daddr field when request deferred\n\nThe server code currently keeps track of the destination address on every\nrequest so that it can reply using the same address.  However we forget to do\nthat in the case of a deferred request.  Remedy this oversight.  \u003eFrom folks\nat PolyServe.\n\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "9eed129bbde80cbd7ffeacaa1555ba1e0c9a0997",
      "tree": "49066f9b5321e09cf9696e5b69d454bf1e393eb0",
      "parents": [
        "26c78e156b1d1b2387ec33b5f2fb62d6e0a186a3"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@fieldses.org",
        "time": "Tue Jan 03 09:56:00 2006 +0100"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Jan 06 14:58:59 2006 -0500"
      },
      "message": "SUNRPC: Update the spkm3 code to use the make_checksum interface\n\n Also update the tokenlen calculations to accomodate g_token_size().\n\n Signed-off-by: Andy Adamson \u003candros@citi.umich.edu\u003e\n Signed-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n Signed-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "632e3bdc5006334cea894d078660b691685e1075",
      "tree": "c18dbe84dfe679d19a581ea0c9bfb931daa08917",
      "parents": [
        "eadb8c147154bff982f02accf31b847a1f142ace"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Jan 03 09:55:55 2006 +0100"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Jan 06 14:58:57 2006 -0500"
      },
      "message": "SUNRPC: Ensure client closes the socket when server initiates a close\n\n If the server decides to close the RPC socket, we currently don\u0027t actually\n respond until either another RPC call is scheduled, or until xprt_autoclose()\n gets called by the socket expiry timer (which may be up to 5 minutes\n later).\n\n This patch ensures that xprt_autoclose() is called much sooner if the\n server closes the socket.\n\n Signed-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "f518e35aec984036903c1003e867f833747a9d79",
      "tree": "2697838e0b1e6cc80565204de8b46430ded1246a",
      "parents": [
        "922004120b10dcb0ce04b55014168e8a7a8c1a0e"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "cel@netapp.com",
        "time": "Tue Jan 03 09:55:52 2006 +0100"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Jan 06 14:58:56 2006 -0500"
      },
      "message": "SUNRPC: get rid of cl_chatty\n\n Clean up: Every ULP that uses the in-kernel RPC client, except the NLM\n client, sets cl_chatty.  There\u0027s no reason why NLM shouldn\u0027t set it, so\n just get rid of cl_chatty and always be verbose.\n\n Test-plan:\n Compile with CONFIG_NFS enabled.\n\n Signed-off-by: Chuck Lever \u003ccel@netapp.com\u003e\n Signed-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "922004120b10dcb0ce04b55014168e8a7a8c1a0e",
      "tree": "4209bbd1043d9ddf09f2f277a65af758aa3631da",
      "parents": [
        "35f5a422ce1af836007f811b613c440d0e348e06"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "cel@netapp.com",
        "time": "Tue Jan 03 09:55:51 2006 +0100"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Jan 06 14:58:56 2006 -0500"
      },
      "message": "SUNRPC: transport switch API for setting port number\n\n At some point, transport endpoint addresses will no longer be IPv4.  To hide\n the structure of the rpc_xprt\u0027s address field from ULPs and port mappers,\n add an API for setting the port number during an RPC bind operation.\n\n Test-plan:\n Destructive testing (unplugging the network temporarily).  Connectathon\n with UDP and TCP.  NFSv2/3 and NFSv4 mounting should be carefully checked.\n Probably need to rig a server where certain services aren\u0027t running, or\n that returns an error for some typical operation.\n\n Signed-off-by: Chuck Lever \u003ccel@netapp.com\u003e\n Signed-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "35f5a422ce1af836007f811b613c440d0e348e06",
      "tree": "25aac5cccce27a6ed5ebb4e161f813af2adbaf56",
      "parents": [
        "02107148349f31eee7c0fb06fd7a880df73dbd20"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "cel@netapp.com",
        "time": "Tue Jan 03 09:55:50 2006 +0100"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Jan 06 14:58:56 2006 -0500"
      },
      "message": "SUNRPC: new interface to force an RPC rebind\n\n We\u0027d like to hide fields in rpc_xprt and rpc_clnt from upper layer protocols.\n Start by creating an API to force RPC rebind, replacing logic that simply\n sets cl_port to zero.\n\n Test-plan:\n Destructive testing (unplugging the network temporarily).  Connectathon\n with UDP and TCP.  NFSv2/3 and NFSv4 mounting should be carefully checked.\n Probably need to rig a server where certain services aren\u0027t running, or\n that returns an error for some typical operation.\n\n Signed-off-by: Chuck Lever \u003ccel@netapp.com\u003e\n Signed-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "02107148349f31eee7c0fb06fd7a880df73dbd20",
      "tree": "37bffd81e08b8e50394ce89a1aa7a3961f0ffbe7",
      "parents": [
        "03c21733938aad0758f5f88e1cc7ede69fc3c910"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "cel@netapp.com",
        "time": "Tue Jan 03 09:55:49 2006 +0100"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Jan 06 14:58:55 2006 -0500"
      },
      "message": "SUNRPC: switchable buffer allocation\n\n Add RPC client transport switch support for replacing buffer management\n on a per-transport basis.\n\n In the current IPv4 socket transport implementation, RPC buffers are\n allocated as needed for each RPC message that is sent.  Some transport\n implementations may choose to use pre-allocated buffers for encoding,\n sending, receiving, and unmarshalling RPC messages, however.  For\n transports capable of direct data placement, the buffers can be carved\n out of a pre-registered area of memory rather than from a slab cache.\n\n Test-plan:\n Millions of fsx operations.  Performance characterization with \"sio\" and\n \"iozone\".  Use oprofile and other tools to look for significant regression\n in CPU utilization.\n\n Signed-off-by: Chuck Lever \u003ccel@netapp.com\u003e\n Signed-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "fb459f45f7c7689714023d41b3dca999bb90a5d3",
      "tree": "5352bfb2157ad3edfd617e721a3c32e8617b4757",
      "parents": [
        "a72b44222d222749d54b3e370d825094352e389f"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@stusta.de",
        "time": "Tue Jan 03 09:55:41 2006 +0100"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Jan 06 14:58:53 2006 -0500"
      },
      "message": "SUNRPC: net/sunrpc/xdr.c: remove xdr_decode_string()\n\n This patch removes ths unused function xdr_decode_string().\n\nSigned-off-by: Adrian Bunk \u003cbunk@stusta.de\u003e\nAcked-by: Neil Brown \u003cneilb@suse.de\u003e\nAcked-by: Charles Lever \u003cCharles.Lever@netapp.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "40859d7ee64ed6bfad8a4e93f9bb5c1074afadff",
      "tree": "ed4069423c3d6551035d5b6116f50452cdac4103",
      "parents": [
        "325cfed9ae901320e9234b18c21434b783dbe342"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "cel@netapp.com",
        "time": "Wed Nov 30 18:09:02 2005 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Jan 06 14:58:49 2006 -0500"
      },
      "message": "NFS: support large reads and writes on the wire\n\n Most NFS server implementations allow up to 64KB reads and writes on the\n wire.  The Solaris NFS server allows up to a megabyte, for instance.\n\n Now the Linux NFS client supports transfer sizes up to 1MB, too.  This will\n help reduce protocol and context switch overhead on read/write intensive NFS\n workloads, and support larger atomic read and write operations on servers\n that support them.\n\n Test-plan:\n Connectathon and iozone on mount point with wsize\u003drsize\u003e32768 over TCP.\n Tests with NFS over UDP to verify the maximum RPC payload size cap.\n\n Signed-off-by: Chuck Lever \u003ccel@netapp.com\u003e\n Signed-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "44c288732fdbd7e38460d156a40d29590bf93bce",
      "tree": "d4239fe37529b4799e85443f803db754ef66f874",
      "parents": [
        "4ce70ada1ff1d0b80916ec9ec5764ce44a50a54f"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Jan 03 09:55:06 2006 +0100"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Jan 06 14:58:40 2006 -0500"
      },
      "message": "NFSv4: stateful NFSv4 RPC call interface\n\n The NFSv4 model requires us to complete all RPC calls that might\n establish state on the server whether or not the user wants to\n interrupt it. We may also need to schedule new work (including\n new RPC calls) in order to cancel the new state.\n\n The asynchronous RPC model will allow us to ensure that RPC calls\n always complete, but in order to allow for \"synchronous\" RPC, we\n want to add the ability to wait for completion.\n The waits are, of course, interruptible.\n\n Signed-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "4ce70ada1ff1d0b80916ec9ec5764ce44a50a54f",
      "tree": "9bc9ffc691679a4423a6b8724a27607c9ad7ea2c",
      "parents": [
        "963d8fe53339128ee46a7701f2e36305f0ccff8c"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Jan 03 09:55:05 2006 +0100"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Jan 06 14:58:40 2006 -0500"
      },
      "message": "SUNRPC: Further cleanups\n\n Signed-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "963d8fe53339128ee46a7701f2e36305f0ccff8c",
      "tree": "426736c70a8e05cb1d945d5c7f44ea6475edd113",
      "parents": [
        "abbcf28f23d53e8ec56a91f3528743913fa2694a"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Jan 03 09:55:04 2006 +0100"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Jan 06 14:58:39 2006 -0500"
      },
      "message": "RPC: Clean up RPC task structure\n\n Shrink the RPC task structure. Instead of storing separate pointers\n for task-\u003etk_exit and task-\u003etk_release, put them in a structure.\n\n Also pass the user data pointer as a parameter instead of passing it via\n task-\u003etk_calldata. This enables us to nest callbacks.\n\n Signed-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "abbcf28f23d53e8ec56a91f3528743913fa2694a",
      "tree": "97dafc3840e4660ac0fcf99bbdc7eddc2fecd08a",
      "parents": [
        "abd3e641d5ef9f836ab2f2b04d80b8619b051531"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Jan 03 09:55:03 2006 +0100"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Jan 06 14:58:39 2006 -0500"
      },
      "message": "SUNRPC: Yet more RPC cleanups\n\n Signed-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "0ba7536d5d47e4ecf2259a80b207158dc4e711eb",
      "tree": "0e8528e65f25b9992cfad43e74018a0986f46c38",
      "parents": [
        "70c3b76c28b012452d63bb27f6d0517afb05d86f"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@cse.unsw.edu.au",
        "time": "Mon Nov 07 01:00:26 2005 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Nov 07 07:53:48 2005 -0800"
      },
      "message": "[PATCH] knfsd: Fix some minor sign problems in nfsd/xdr\n\nThere are a couple of tests which could possibly be confused by extremely\nlarge numbers appearing in \u0027xdr\u0027 packets.  I think the closest to an exploit\nyou could get would be writing random data from a free page into a file - i.e.\n leak data out of kernel space.\n\nI\u0027m fairly sure they cannot be used for remote compromise.\n\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "a0857d03b21fa54653c9d2fe7a315381176015b4",
      "tree": "ac7fcc4415795b9d4530de300ef555cd624727d8",
      "parents": [
        "00fd6e14255fe7a249315746386d640bc4e9e758"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@fieldses.org",
        "time": "Thu Oct 13 16:55:23 2005 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Oct 18 23:19:47 2005 -0700"
      },
      "message": "RPCSEC_GSS: krb5 cleanup\n\n Remove some senseless wrappers.\n\n Signed-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n Signed-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "00fd6e14255fe7a249315746386d640bc4e9e758",
      "tree": "36d8fad57404c5ea96cdb6e5579f4241e2cd8188",
      "parents": [
        "14ae162c24d985593d5b19437d7f3d8fd0062b59"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@fieldses.org",
        "time": "Thu Oct 13 16:55:18 2005 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Oct 18 23:19:47 2005 -0700"
      },
      "message": "RPCSEC_GSS remove all qop parameters\n\n Not only are the qop parameters that are passed around throughout the gssapi\n unused by any currently implemented mechanism, but there appears to be some\n doubt as to whether they will ever be used.  Let\u0027s just kill them off for now.\n\n Signed-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n Signed-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "14ae162c24d985593d5b19437d7f3d8fd0062b59",
      "tree": "750fbc08e6a6e0cb00bfad7c871144a757ac43de",
      "parents": [
        "bfa91516b57483fc9c81d8d90325fd2c3c16ac48"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@fieldses.org",
        "time": "Thu Oct 13 16:55:13 2005 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Oct 18 23:19:46 2005 -0700"
      },
      "message": "RPCSEC_GSS: Add support for privacy to krb5 rpcsec_gss mechanism.\n\n Add support for privacy to the krb5 rpcsec_gss mechanism.\n\n Signed-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n Signed-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "bfa91516b57483fc9c81d8d90325fd2c3c16ac48",
      "tree": "ed5c63ec1aa88152b0991370f4a1dbcfff0cd15a",
      "parents": [
        "f7b3af64c653c73feb060a9f94f2df9ab4bba4c3"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@fieldses.org",
        "time": "Thu Oct 13 16:55:08 2005 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Oct 18 23:19:45 2005 -0700"
      },
      "message": "RPCSEC_GSS: krb5 pre-privacy cleanup\n\n The code this was originally derived from processed wrap and mic tokens using\n the same functions.  This required some contortions, and more would be required\n with the addition of xdr_buf\u0027s, so it\u0027s better to separate out the two code\n paths.\n\n In preparation for adding privacy support, remove the last vestiges of the\n old wrap token code.\n\n Signed-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n Signed-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "24b2605becc10ca63c4c30808fa59a8abbf68727",
      "tree": "64634bf6a5427f9a7253c9cb5b4d55550ef8b18d",
      "parents": [
        "f3680312a737355ddf35c1b68af25e384d7ef0a8"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@fieldses.org",
        "time": "Thu Oct 13 16:54:53 2005 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Oct 18 23:19:44 2005 -0700"
      },
      "message": "RPCSEC_GSS: cleanup au_rslack calculation\n\n Various xdr encode routines use au_rslack to guess where the reply argument\n will end up, so we can set up the xdr_buf to recieve data into the right place\n for zero copy.\n\n Currently we calculate the au_rslack estimate when we check the verifier.\n Normally this only depends on the verifier size.  In the integrity case we add\n a few bytes to allow for a length and sequence number.\n\n It\u0027s a bit simpler to calculate only the verifier size when we check the\n verifier, and delay the full calculation till we unwrap.\n\n Signed-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n Signed-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "ead5e1c26fdcd969cf40c49cb0589d56879d240d",
      "tree": "af0e04aed32eac60b35c987b933dbc132f0e780b",
      "parents": [
        "293f1eb551a77fe5c8956a559a3c0baea95cd9bc"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@fieldses.org",
        "time": "Thu Oct 13 16:54:43 2005 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Oct 18 23:19:43 2005 -0700"
      },
      "message": "SUNRPC: Provide a callback to allow free pages allocated during xdr encoding\n\n For privacy, we need to allocate pages to store the encrypted data (passed\n in pages can\u0027t be used without the risk of corrupting data in the page cache).\n So we need a way to free that memory after the request has been transmitted.\n\n Signed-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n Signed-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "293f1eb551a77fe5c8956a559a3c0baea95cd9bc",
      "tree": "03c770935eb42f6deccb275be0326d2f4b17c80c",
      "parents": [
        "1d95db8e1688ed54e143a597c5570631a42fa594"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@fieldses.org",
        "time": "Thu Oct 13 16:54:37 2005 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Oct 18 23:19:42 2005 -0700"
      },
      "message": "SUNRPC: Add support for privacy to generic gss-api code.\n\n Add support for privacy to generic gss-api code.  This is dead code until we\n have both a mechanism that supports privacy and code in the client or server\n that uses it.\n\n Signed-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n Signed-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "5e5ce5be6f0161d2a069a4f8a1154fe639c5c02f",
      "tree": "fc6e0397c8e17dad5f3f038fb1b3526a114b5244",
      "parents": [
        "ea635a517e350eb03ab5f01618417f31b82a9a4d"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Oct 18 14:20:11 2005 -0700"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Oct 18 14:20:11 2005 -0700"
      },
      "message": "RPC: allow call_encode() to delay transmission of an RPC call.\n\n Currently, call_encode will cause the entire RPC call to abort if it returns\n an error. This is unnecessarily rigid, and gets in the way of attempts\n to allow the NFSv4 layer to order RPC calls that carry sequence ids.\n\n Signed-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "f134585a7343d71f9be7f0cf97e2145f21dd10c6",
      "tree": "f1eae77a5063e3748cd8deba9a13794ae0a9439c",
      "parents": [
        "3063d8a16643190f9e12e9c7e9f1ca56f7e7934e"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Sep 23 11:08:25 2005 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Sep 23 12:39:00 2005 -0400"
      },
      "message": "Revert \"[PATCH] RPC,NFS: new rpc_pipefs patch\"\n\nThis reverts 17f4e6febca160a9f9dd4bdece9784577a2f4524 commit.\n"
    },
    {
      "commit": "278c995c8a153bb2a9bc427e931cfb9c8034c9d7",
      "tree": "fe1b62d1686c78659133d751393ab2d5acf38665",
      "parents": [
        "470056c288334eb0b37be26c9ff8aee37ed1cc7a"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Sun Jul 24 23:53:01 2005 +0100"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Sep 23 12:38:57 2005 -0400"
      },
      "message": "[PATCH] RPC,NFS: new rpc_pipefs patch\n\n Currently rpc_mkdir/rpc_rmdir and rpc_mkpipe/mk_unlink have an API that\u0027s\n a little unfortunate.  They take a path relative to the rpc_pipefs root and\n thus need to perform a full lookup.  If you look at debugfs or usbfs they\n always store the dentry for directories they created and thus can pass in\n a dentry + single pathname component pair into their equivalents of the\n above functions.\n\n And in fact rpc_pipefs actually stores a dentry for all but one component so\n this change not only simplifies the core rpc_pipe code but also the callers.\n\n Unfortuntately this code path is only used by the NFS4 idmapper and\n AUTH_GSSAPI for which I don\u0027t have a test enviroment.  Could someone give\n it a spin?  It\u0027s the last bit needed before we can rework the\n lookup_hash API\n\n Signed-off-by: Christoph Hellwig \u003chch@lst.de\u003e\n Signed-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "470056c288334eb0b37be26c9ff8aee37ed1cc7a",
      "tree": "8c76a17c31c5dadbd4438a11d64364cdbe164c40",
      "parents": [
        "03bf4b707eee06706c9db343dd5c905b7ee47ed2"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "cel@netapp.com",
        "time": "Thu Aug 25 16:25:56 2005 -0700"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Sep 23 12:38:55 2005 -0400"
      },
      "message": "[PATCH] RPC: rationalize set_buffer_size\n\n In fact, -\u003eset_buffer_size should be completely functionless for non-UDP.\n\n Test-plan:\n Check socket buffer size on UDP sockets over time.\n\n Signed-off-by: Chuck Lever \u003ccel@netapp.com\u003e\n Signed-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "03bf4b707eee06706c9db343dd5c905b7ee47ed2",
      "tree": "54f89b578758e2bf2650b647ae1c7100c882a757",
      "parents": [
        "3167e12c0c424f3c323944701615343022d86418"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "cel@netapp.com",
        "time": "Thu Aug 25 16:25:55 2005 -0700"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Sep 23 12:38:53 2005 -0400"
      },
      "message": "[PATCH] RPC: parametrize various transport connect timeouts\n\n Each transport implementation can now set unique bind, connect,\n reestablishment, and idle timeout values.  These are variables,\n allowing the values to be modified dynamically.  This permits\n exponential backoff of any of these values, for instance.\n\n As an example, we implement exponential backoff for the connection\n reestablishment timeout.\n\n Test-plan:\n Destructive testing (unplugging the network temporarily).  Connectathon\n with UDP and TCP.\n\n Signed-off-by: Chuck Lever \u003ccel@netapp.com\u003e\n Signed-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "529b33c6db0120126b1381faa51406dc463acdc9",
      "tree": "4856a23687aa891f6a5d1c45db80190b90b0fc68",
      "parents": [
        "555ee3af161b037865793bd4bebc06b58daafde6"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "cel@netapp.com",
        "time": "Thu Aug 25 16:25:54 2005 -0700"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Sep 23 12:38:50 2005 -0400"
      },
      "message": "[PATCH] RPC: allow RPC client\u0027s port range to be adjustable\n\n Select an RPC client source port between 650 and 1023 instead of between\n 1 and 800.  The old range conflicts with a number of network services.\n Provide sysctls to allow admins to select a different port range.\n\n Note that this doesn\u0027t affect user-level RPC library behavior, which\n still uses 1 to 800.\n\n Based on a suggestion by Olaf Kirch \u003cokir@suse.de\u003e.\n\n Test-plan:\n Repeated mount and unmount.  Destructive testing.  Idle timeouts.\n\n Signed-off-by: Chuck Lever \u003ccel@netapp.com\u003e\n Signed-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "555ee3af161b037865793bd4bebc06b58daafde6",
      "tree": "4c72474dabffab62234db158e5b6c86ace4f9d09",
      "parents": [
        "ed63c003701a314c4893c11eceb9d68f8f46c662"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "cel@netapp.com",
        "time": "Thu Aug 25 16:25:54 2005 -0700"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Sep 23 12:38:48 2005 -0400"
      },
      "message": "[PATCH] RPC: clean up after nocong was removed\n\n Clean-up:  Move some macros that are specific to the Van Jacobson\n implementation into xprt.c.  Get rid of the cong_wait field in\n rpc_xprt, which is no longer used.  Get rid of xprt_clear_backlog.\n\n Test-plan:\n Compile with CONFIG_NFS enabled.\n\n Signed-off-by: Chuck Lever \u003ccel@netapp.com\u003e\n Signed-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "ed63c003701a314c4893c11eceb9d68f8f46c662",
      "tree": "c0567884d9cce53960061fece0ae9c2eabd0af77",
      "parents": [
        "a58dd398f5db4f73d5c581069fd70a4304cc4f0a"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "cel@netapp.com",
        "time": "Thu Aug 25 16:25:53 2005 -0700"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Sep 23 12:38:47 2005 -0400"
      },
      "message": "[PATCH] RPC: remove xprt-\u003enocong\n\n Get rid of the \"xprt-\u003enocong\" variable.\n\n Test-plan:\n Use WAN simulation to cause sporadic bursty packet loss with UDP mounts.\n Look for significant regression in performance or client stability.\n\n Signed-off-by: Chuck Lever \u003ccel@netapp.com\u003e\n Signed-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "a58dd398f5db4f73d5c581069fd70a4304cc4f0a",
      "tree": "09e290d351c043392e7a2f8e0bc77aba90ff88ad",
      "parents": [
        "1570c1e41eabf6b7031f3e4322a2cf1cbe319fee"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "cel@netapp.com",
        "time": "Thu Aug 25 16:25:53 2005 -0700"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Sep 23 12:38:45 2005 -0400"
      },
      "message": "[PATCH] RPC: add a release_rqst callout to the RPC transport switch\n\n The final place where congestion control state is adjusted is in\n xprt_release, where each request is finally released.  Add a callout\n there to allow transports to perform additional processing when a\n request is about to be released.\n\n Test-plan:\n Use WAN simulation to cause sporadic bursty packet loss.  Look for significant\n regression in performance or client stability.\n\n Signed-off-by: Chuck Lever \u003ccel@netapp.com\u003e\n Signed-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "1570c1e41eabf6b7031f3e4322a2cf1cbe319fee",
      "tree": "eee53757ac3e03d55b6c01bb0500996ba520a8bb",
      "parents": [
        "46c0ee8bc4ad3743de05e8b8b20201df44dcb6d3"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "cel@netapp.com",
        "time": "Thu Aug 25 16:25:52 2005 -0700"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Sep 23 12:38:43 2005 -0400"
      },
      "message": "[PATCH] RPC: add generic interface for adjusting the congestion window\n\n A new interface that allows transports to adjust their congestion window\n using the Van Jacobson implementation in xprt.c is provided.\n\n Test-plan:\n Use WAN simulation to cause sporadic bursty packet loss.  Look for\n significant regression in performance or client stability.\n\n Signed-off-by: Chuck Lever \u003ccel@netapp.com\u003e\n Signed-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "46c0ee8bc4ad3743de05e8b8b20201df44dcb6d3",
      "tree": "6b2993ff1cefb69cc3cc40c3605d088ea2af3c98",
      "parents": [
        "49e9a89086b3cae784a4868ca852863e4f4ea3fe"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "cel@netapp.com",
        "time": "Thu Aug 25 16:25:52 2005 -0700"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Sep 23 12:38:41 2005 -0400"
      },
      "message": "[PATCH] RPC: separate xprt_timer implementations\n\n Allow transports to hook the retransmit timer interrupt.  Some transports\n calculate their congestion window here so that a retransmit timeout has\n immediate effect on the congestion window.\n\n Test-plan:\n Use WAN simulation to cause sporadic bursty packet loss.  Look for significant\n regression in performance or client stability.\n\n Signed-off-by: Chuck Lever \u003ccel@netapp.com\u003e\n Signed-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "49e9a89086b3cae784a4868ca852863e4f4ea3fe",
      "tree": "5ba197fc1767fee5590b892b2f19aeb3583494c4",
      "parents": [
        "12a804698b29d040b7cdd92e8a44b0e75164dae9"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "cel@netapp.com",
        "time": "Thu Aug 25 16:25:51 2005 -0700"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Sep 23 12:38:40 2005 -0400"
      },
      "message": "[PATCH] RPC: expose API for serializing access to RPC transports\n\n The next method we abstract is the one that releases a transport,\n allowing another task to have access to the transport.\n\n Again, one generic version of this is provided for transports that\n don\u0027t need the RPC client to perform congestion control, and one\n version is for transports that can use the original Van Jacobson\n implementation in xprt.c.\n\n Test-plan:\n Use WAN simulation to cause sporadic bursty packet loss.  Look for\n significant regression in performance or client stability.\n\n Signed-off-by: Chuck Lever \u003ccel@netapp.com\u003e\n Signed-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "12a804698b29d040b7cdd92e8a44b0e75164dae9",
      "tree": "9885cf95a0a2945ad8cd00de59633a0aa16a3599",
      "parents": [
        "fe3aca290f17ae4978bd73d02aa4029f1c9c024c"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "cel@netapp.com",
        "time": "Thu Aug 25 16:25:51 2005 -0700"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Sep 23 12:38:38 2005 -0400"
      },
      "message": "[PATCH] RPC: expose API for serializing access to RPC transports\n\n The next several patches introduce an API that allows transports to\n choose whether the RPC client provides congestion control or whether\n the transport itself provides it.\n\n The first method we abstract is the one that serializes access to the\n RPC transport to prevent the bytes from different requests from mingling\n together.  This method provides proper request serialization and the\n opportunity to prevent new requests from being started because the\n transport is congested.\n\n The normal situation is for the transport to handle congestion control\n itself.  Although NFS over UDP was first, it has been recognized after\n years of experience that having the transport provide congestion control\n is much better than doing it in the RPC client.  Thus TCP, and probably\n every future transport implementation, will use the default method,\n xprt_lock_write, provided in xprt.c, which does not provide any kind\n of congestion control.  UDP can continue using the xprt.c-provided\n Van Jacobson congestion avoidance implementation.\n\n Test-plan:\n Use WAN simulation to cause sporadic bursty packet loss.  Look for significant\n regression in performance or client stability.\n\n Signed-off-by: Chuck Lever \u003ccel@netapp.com\u003e\n Signed-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "fe3aca290f17ae4978bd73d02aa4029f1c9c024c",
      "tree": "4fbaa255e9e7a85f41eacb7cf1214dc44a90bcea",
      "parents": [
        "43118c29dea2b23798bd42a147015cceee7fa885"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "cel@netapp.com",
        "time": "Thu Aug 25 16:25:50 2005 -0700"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Sep 23 12:38:36 2005 -0400"
      },
      "message": "[PATCH] RPC: add API to set transport-specific timeouts\n\n Prepare the way to remove the \"xprt-\u003enocong\" variable by adding a callout\n to the RPC client transport switch API to handle setting RPC retransmit\n timeouts.\n\n Add a pair of generic helper functions that provide the ability to set a\n simple fixed timeout, or to set a timeout based on the state of a round-\n trip estimator.\n\n Test-plan:\n Use WAN simulation to cause sporadic bursty packet loss.  Look for significant\n regression in performance or client stability.\n\n Signed-off-by: Chuck Lever \u003ccel@netapp.com\u003e\n Signed-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "43118c29dea2b23798bd42a147015cceee7fa885",
      "tree": "4951a6777a3dc167d46c1373c02d21912b250e96",
      "parents": [
        "808012fbb23a52ec59352445d2076d175ad4ab26"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "cel@netapp.com",
        "time": "Thu Aug 25 16:25:49 2005 -0700"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Sep 23 12:38:35 2005 -0400"
      },
      "message": "[PATCH] RPC: get rid of xprt-\u003estream\n\n Now we can fix up the last few places that use the \"xprt-\u003estream\"\n variable, and get rid of it from the rpc_xprt structure.\n\n Test-plan:\n Destructive testing (unplugging the network temporarily).  Connectathon\n with UDP and TCP.\n\n Signed-off-by: Chuck Lever \u003ccel@netapp.com\u003e\n Signed-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "808012fbb23a52ec59352445d2076d175ad4ab26",
      "tree": "7175edb3917bc35f7f5484f567e91d7303a17663",
      "parents": [
        "262965f53defd312a294b45366ea17907b6a616b"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "cel@netapp.com",
        "time": "Thu Aug 25 16:25:49 2005 -0700"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Sep 23 12:38:33 2005 -0400"
      },
      "message": "[PATCH] RPC: skip over transport-specific heads automatically\n\n Add a generic mechanism for skipping over transport-specific headers\n when constructing an RPC request.  This removes another \"xprt-\u003estream\"\n dependency.\n\n Test-plan:\n Write-intensive workload on a single mount point (try both UDP and\n TCP).\n\n Signed-off-by: Chuck Lever \u003ccel@netapp.com\u003e\n Signed-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "c7b2cae8a634015b72941ba2fc6c4bc9b8d3a129",
      "tree": "95f561877d67eed80a823daa6ef0c00ad1c060eb",
      "parents": [
        "55aa4f58aa43dc9a51fb80010630d94b96053a2e"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "cel@citi.umich.edu",
        "time": "Thu Aug 11 16:25:50 2005 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Sep 23 12:38:28 2005 -0400"
      },
      "message": "[PATCH] RPC: separate TCP and UDP write space callbacks\n\n Split the socket write space callback function into a TCP version and UDP\n version, eliminating one dependence on the \"xprt-\u003estream\" variable.\n\n Keep the common pieces of this path in xprt.c so other transports can use\n it too.\n\n Test-plan:\n Write-intensive workload on a single mount point.\n\n Version: Thu, 11 Aug 2005 16:07:51 -0400\n\n Signed-off-by: Chuck Lever \u003ccel@netapp.com\u003e\n Signed-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "55aa4f58aa43dc9a51fb80010630d94b96053a2e",
      "tree": "7b3d79bdc15c76c25d8a53437b9e4173ebc68f24",
      "parents": [
        "44fbac2288dfed6f1963ac00bf922c3bcd779cd1"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "cel@citi.umich.edu",
        "time": "Thu Aug 11 16:25:47 2005 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Sep 23 12:38:26 2005 -0400"
      },
      "message": "[PATCH] RPC: client-side transport switch cleanup\n\n Clean-up: change some comments to reflect the realities of the new RPC\n transport switch mechanism.  Get rid of unused xprt_receive() prototype.\n\n Also, organize function prototypes in xprt.h by usage and scope.\n\n Test-plan:\n Compile kernel with CONFIG_NFS enabled.\n\n Version: Thu, 11 Aug 2005 16:07:21 -0400\n\n Signed-off-by: Chuck Lever \u003ccel@netapp.com\u003e\n Signed-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "44fbac2288dfed6f1963ac00bf922c3bcd779cd1",
      "tree": "f256182f85b4fdf9185903d6f0531f877e311c8e",
      "parents": [
        "86b9f57dfdf455763d2be73a742a9a88bb664173"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "cel@citi.umich.edu",
        "time": "Thu Aug 11 16:25:44 2005 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Sep 23 12:38:24 2005 -0400"
      },
      "message": "[PATCH] RPC: Add helper for waking tasks pending on a transport\n\n Clean-up: remove only reference to xprt-\u003epending from the socket transport\n implementation.  This makes a cleaner interface for other transport\n implementations as well.\n\n Test-plan:\n Compile kernel with CONFIG_NFS enabled.\n\n Version: Thu, 11 Aug 2005 16:06:52 -0400\n\n Signed-off-by: Chuck Lever \u003ccel@netapp.com\u003e\n Signed-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "2226feb6bcd0e5e117a9be3ea3dd3ffc14f3e41e",
      "tree": "5ae6bde4dd66da8932c23c780745c72cf38de722",
      "parents": [
        "5dc07727f86b25851e95193a0c484ea21b531c47"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "cel@citi.umich.edu",
        "time": "Thu Aug 11 16:25:38 2005 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Sep 23 12:38:21 2005 -0400"
      },
      "message": "[PATCH] RPC: rename the sockstate field\n\n Clean-up: get rid of a name reference to sockets in the generic parts of the\n RPC client by renaming the sockstate field in the rpc_xprt structure.\n\n Test-plan:\n Compile kernel with CONFIG_NFS enabled.\n\n Version: Thu, 11 Aug 2005 16:05:53 -0400\n\n Signed-off-by: Chuck Lever \u003ccel@netapp.com\u003e\n Signed-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "5dc07727f86b25851e95193a0c484ea21b531c47",
      "tree": "813a8cb359fef51172ff67d9da8efdfc5fee4a83",
      "parents": [
        "4a0f8c04f2ece949d54a0c4fd7490259cf23a58a"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "cel@citi.umich.edu",
        "time": "Thu Aug 11 16:25:35 2005 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Sep 23 12:38:19 2005 -0400"
      },
      "message": "[PATCH] RPC: Rename xprt_lock\n\n Clean-up: Replace the xprt_lock with something more aptly named.  This lock\n single-threads the XID and request slot reservation process.\n\n Test-plan:\n Compile kernel with CONFIG_NFS enabled.\n\n Version: Thu, 11 Aug 2005 16:05:26 -0400\n\n Signed-off-by: Chuck Lever \u003ccel@netapp.com\u003e\n Signed-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "4a0f8c04f2ece949d54a0c4fd7490259cf23a58a",
      "tree": "6c6e142cfa37b984dcba6f785a4f886374a307c6",
      "parents": [
        "b4b5cc85ed4ecbe4adbfbc4df028850de67a9f09"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "cel@citi.umich.edu",
        "time": "Thu Aug 11 16:25:32 2005 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Sep 23 12:38:17 2005 -0400"
      },
      "message": "[PATCH] RPC: Rename sock_lock\n\n Clean-up: replace a name reference to sockets in the generic parts of the RPC\n client by renaming sock_lock in the rpc_xprt structure.\n\n Test-plan:\n Compile kernel with CONFIG_NFS enabled.\n\n Version: Thu, 11 Aug 2005 16:05:00 -0400\n\n Signed-off-by: Chuck Lever \u003ccel@netapp.com\u003e\n Signed-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "9903cd1c27a1f30e8efea75e125be3b2002f7cb9",
      "tree": "ad684d0ce47793f161839e2321f118206ef707f3",
      "parents": [
        "a246b0105bbd9a70a698f69baae2042996f2a0e9"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "cel@citi.umich.edu",
        "time": "Thu Aug 11 16:25:26 2005 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Sep 23 12:38:14 2005 -0400"
      },
      "message": "[PATCH] RPC: transport switch function naming\n\n Introduce block header comments and a function naming convention to the\n socket transport implementation.  Provide a debug setting for transports\n that is separate from RPCDBG_XPRT.  Eliminate xprt_default_timeout().\n\n Provide block comments for exposed interfaces in xprt.c, and eliminate\n the useless obvious comments.\n\n Convert printk\u0027s to dprintk\u0027s.\n\n Test-plan:\n Compile kernel with CONFIG_NFS enabled.\n\n Version: Thu, 11 Aug 2005 16:04:04 -0400\n\n Signed-off-by: Chuck Lever \u003ccel@netapp.com\u003e\n Signed-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "a246b0105bbd9a70a698f69baae2042996f2a0e9",
      "tree": "6c8831d8579a7fdc5201d3e9c20270cb1420eeda",
      "parents": [
        "094bb20b9fcab3a1652a77741caba6b78097d622"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "cel@citi.umich.edu",
        "time": "Thu Aug 11 16:25:23 2005 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Sep 23 12:38:12 2005 -0400"
      },
      "message": "[PATCH] RPC: introduce client-side transport switch\n\n Move the bulk of client-side socket-specific code into a separate source\n file, net/sunrpc/xprtsock.c.\n\n Test-plan:\n Millions of fsx operations.  Performance characterization such as \"sio\" or\n \"iozone\".  Destructive testing (unplugging the network temporarily, server\n reboots).  Connectathon with v2, v3, and v4.\n\n Version: Thu, 11 Aug 2005 16:03:38 -0400\n\n Signed-off-by: Chuck Lever \u003ccel@netapp.com\u003e\n Signed-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "094bb20b9fcab3a1652a77741caba6b78097d622",
      "tree": "85347e557be116ed1fa8bbf63555fcb83920baf5",
      "parents": [
        "602f83273c89fdd25f24757564d8001cf723e740"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "cel@citi.umich.edu",
        "time": "Thu Aug 11 16:25:20 2005 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Sep 23 12:38:11 2005 -0400"
      },
      "message": "[PATCH] RPC: extract socket logic common to both client and server\n\n Clean-up: Move some code that is common to both RPC client- and server-side\n socket transports into its own source file, net/sunrpc/socklib.c.\n\n Test-plan:\n Compile kernel with CONFIG_NFS enabled.  Millions of fsx operations over\n UDP, client and server.  Connectathon over UDP.\n\n Version: Thu, 11 Aug 2005 16:03:09 -0400\n\n Signed-off-by: Chuck Lever \u003ccel@netapp.com\u003e\n Signed-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "f35279d3f713e5c97b98cbdbf47d98f79942c11f",
      "tree": "cdf9acab7e7fda7ae1eae152861d4048b7f6dffc",
      "parents": [
        "d013a068a5675ecd8e71f585a44e7af0798a4307"
      ],
      "author": {
        "name": "Bruce Allan",
        "email": "bwa@us.ibm.com",
        "time": "Tue Sep 06 15:17:08 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Sep 07 16:57:25 2005 -0700"
      },
      "message": "[PATCH] sunrpc: cache_register can use wrong module reference\n\nWhen registering an RPC cache, cache_register() always sets the owner as the\nsunrpc module.  However, there are RPC caches owned by other modules.  With\nthe incorrect owner setting, the real owning module can be removed potentially\nwith an open reference to the cache from userspace.\n\nFor example, if one were to stop the nfs server and unmount the nfsd\nfilesystem, the nfsd module could be removed eventhough rpc.idmapd had\nreferences to the idtoname and nametoid caches (i.e.\n/proc/net/rpc/nfs4.\u003ccachename\u003e/channel is still open).  This resulted in a\nsystem panic on one of our machines when attempting to restart the nfs\nservices after reloading the nfsd module.\n\nThe following patch adds a \u0027struct module *owner\u0027 field in struct\ncache_detail.  The owner is further assigned to the struct proc_dir_entry\nin cache_register() so that the module cannot be unloaded while user-space\ndaemons have an open reference on the associated file under /proc.\n\nSigned-off-by: Bruce Allan \u003cbwa@us.ibm.com\u003e\nCc: Trond Myklebust \u003ctrond.myklebust@fys.uio.no\u003e\nCc: Neil Brown \u003cneilb@cse.unsw.edu.au\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "58fcb8df0bf663bb6b8f46cd3010bfe8d13d97cf",
      "tree": "24edbecfb5875cf6c602b1fd5126c7dfce9ae127",
      "parents": [
        "75cd968ab251ac84dd3a5dc252af7036dc4a64f4"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Aug 10 18:15:12 2005 -0400"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Aug 16 08:52:11 2005 -0700"
      },
      "message": "[PATCH] NFS: Ensure ACL xdr code doesn\u0027t overflow.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "a257cdd0e2179630d3201c32ba14d7fcb3c3a055",
      "tree": "accf4139050690a65f3f2600355cbcd1a602663b",
      "parents": [
        "9ba02638e4be28dd4ff724202a640264427c62d1"
      ],
      "author": {
        "name": "Andreas Gruenbacher",
        "email": "agruen@suse.de",
        "time": "Wed Jun 22 17:16:26 2005 +0000"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Jun 22 16:07:23 2005 -0400"
      },
      "message": "[PATCH] NFSD: Add server support for NFSv3 ACLs.\n\n This adds functions for encoding and decoding POSIX ACLs for the NFSACL\n protocol extension, and the GETACL and SETACL RPCs.  The implementation is\n compatible with NFSACL in Solaris.\n\n Signed-off-by: Andreas Gruenbacher \u003cagruen@suse.de\u003e\n Acked-by: Olaf Kirch \u003cokir@suse.de\u003e\n Signed-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\n Signed-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "9ba02638e4be28dd4ff724202a640264427c62d1",
      "tree": "f9353e37a0b5526f1cbf116c3ed62f26bdfe4cc0",
      "parents": [
        "a838cc49d9a7d5652262a6d1b628628cadffa877"
      ],
      "author": {
        "name": "Andreas Gruenbacher",
        "email": "agruen@suse.de",
        "time": "Wed Jun 22 17:16:24 2005 +0000"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Jun 22 16:07:22 2005 -0400"
      },
      "message": "[PATCH] RPC: Allow the sunrpc server to multiplex serveral programs on a single port\n\n The NFS and NFSACL programs run on the same RPC transport.  This patch adds\n support for this by converting svc_program into a chained list of programs\n (server-side).\n\n Signed-off-by: Andreas Gruenbacher \u003cagruen@suse.de\u003e\n Signed-off-by: Olaf Kirch \u003cokir@suse.de\u003e\n Signed-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\n Signed-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "bd8100e7eda87507649c6ba4cb32173b34e49986",
      "tree": "822d8f905bd5e3889ba17dc340dc35cba5fe07ac",
      "parents": [
        "7e06b53d796a3740307b54aa2799077f8a0c84e7"
      ],
      "author": {
        "name": "Andreas Gruenbacher",
        "email": "agruen@suse.de",
        "time": "Wed Jun 22 17:16:24 2005 +0000"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Jun 22 16:07:20 2005 -0400"
      },
      "message": "[PATCH] RPC: Encode and decode arbitrary XDR arrays\n\n Signed-off-by: Andreas Gruenbacher \u003cagruen@suse.de\u003e\n Acked-by: Olaf Kirch \u003cokir@suse.de\u003e\n Signed-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "7e06b53d796a3740307b54aa2799077f8a0c84e7",
      "tree": "95c00126400914bfd68f84ed7669272e581e9386",
      "parents": [
        "e053d1ab62c8ef0eff3dd4c95448cad3c6d2fbf4"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Jun 22 17:16:24 2005 +0000"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Jun 22 16:07:19 2005 -0400"
      },
      "message": "[PATCH] RPC: fix accounting bug in the case of a truncated RPC message\n\n Signed-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "e053d1ab62c8ef0eff3dd4c95448cad3c6d2fbf4",
      "tree": "70ca8b8721761fdd4c12c330f8389958ad160c61",
      "parents": [
        "007e251f2b2760f738c92adc8c80cbae0bed3ce5"
      ],
      "author": {
        "name": "Olaf Kirch",
        "email": "okir@suse.de",
        "time": "Wed Jun 22 17:16:24 2005 +0000"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Jun 22 16:07:19 2005 -0400"
      },
      "message": "[PATCH] RPC: Lazy RPC receive buffer allocation\n\n Signed-off-by: Olaf Kirch \u003cokir@suse.de\u003e\n Signed-off-by: Andreas Gruenbacher \u003cagruen@suse.de\u003e\n Signed-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "007e251f2b2760f738c92adc8c80cbae0bed3ce5",
      "tree": "364d9d186bb0c68df4af24f1ac4af8e7ff8f118e",
      "parents": [
        "cdf477068e6db0c3e19df96f46abb85202de138c"
      ],
      "author": {
        "name": "Andreas Gruenbacher",
        "email": "agruen@suse.de",
        "time": "Wed Jun 22 17:16:23 2005 +0000"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Jun 22 16:07:18 2005 -0400"
      },
      "message": "[PATCH] RPC: Allow multiple RPC client programs to share the same transport\n\n Signed-off-by: Andreas Gruenbacher \u003cagruen@suse.de\u003e\n Acked-by: Olaf Kirch \u003cokir@suse.de\u003e\n Signed-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "96651ab341cde0fee940ec837f323d711cbfa7d5",
      "tree": "83882bc6a68bb9862ec0fddc33a8309512ccc010",
      "parents": [
        "a656db998785324a818005bcf71bae6dcbbb3cf5"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Jun 22 17:16:21 2005 +0000"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Jun 22 16:07:07 2005 -0400"
      },
      "message": "[PATCH] RPC: Shrink struct rpc_task by switching to wait_on_bit()\n\n Signed-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "5ee0ed7d3ab620a764740fb018f469d45f561931",
      "tree": "9b6a938fe521815afd3cfb42e2023b443bb05d28",
      "parents": [
        "5b616f5d596c0b056129f8aeafbc08409b3cd050"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Jun 22 17:16:20 2005 +0000"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Jun 22 16:07:04 2005 -0400"
      },
      "message": "[PATCH] RPC: Make rpc_create_client() probe server for RPC program+version support\n\n Ensure that we don\u0027t create an RPC client without checking that the server\n does indeed support the RPC program + version that we are trying to set up.\n\n This enables us to immediately return an error to \"mount\" if it turns out\n that the server is only supporting NFSv2, when we requested NFSv3 or NFSv4.\n\n Signed-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "1da177e4c3f41524e886b7f1b8a0c1fc7321cac2",
      "tree": "0bba044c4ce775e45a88a51686b5d9f90697ea9d",
      "parents": [],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sat Apr 16 15:20:36 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sat Apr 16 15:20:36 2005 -0700"
      },
      "message": "Linux-2.6.12-rc2\n\nInitial git repository build. I\u0027m not bothering with the full history,\neven though we have it. We can create a separate \"historical\" git\narchive of that later if we want to, and in the meantime it\u0027s about\n3.2GB when imported into git - space that would just make the early\ngit days unnecessarily complicated, when we don\u0027t have a lot of good\ninfrastructure for it.\n\nLet it rip!\n"
    }
  ]
}
