)]}'
{
  "log": [
    {
      "commit": "7531d692d4174789d583eb50fcb83cefa121b790",
      "tree": "c3ab10fdccf1863848946e6f3217514542217289",
      "parents": [
        "d48c5f41000ad176df71d2d43932c6c50f938196"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon May 14 17:21:26 2007 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon May 14 19:33:47 2007 -0400"
      },
      "message": "SUNRPC: Fix sparse warnings\n\n - net/sunrpc/xprtsock.c:1635:5: warning: symbol \u0027init_socket_xprt\u0027 was not\n   declared. Should it be static?\n - net/sunrpc/xprtsock.c:1649:6: warning: symbol \u0027cleanup_socket_xprt\u0027 was\n   not declared. Should it be static?\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "cd123012d99fde4759500fee611e724e4f3016e3",
      "tree": "a947c5e4210a2a51ea6619b3e127650feaa00421",
      "parents": [
        "669716433598a1498049e75a84a5aaf69c8da173"
      ],
      "author": {
        "name": "Jeff Layton",
        "email": "jlayton@redhat.com",
        "time": "Wed May 09 02:34:50 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed May 09 12:30:54 2007 -0700"
      },
      "message": "RPC: add wrapper for svc_reserve to account for checksum\n\nWhen the kernel calls svc_reserve to downsize the expected size of an RPC\nreply, it fails to account for the possibility of a checksum at the end of\nthe packet.  If a client mounts a NFSv2/3 with sec\u003dkrb5i/p, and does I/O\nthen you\u0027ll generally see messages similar to this in the server\u0027s ring\nbuffer:\n\nRPC request reserved 164 but used 208\n\nWhile I was never able to verify it, I suspect that this problem is also\nthe root cause of some oopses I\u0027ve seen under these conditions:\n\nhttps://bugzilla.redhat.com/bugzilla/show_bug.cgi?id\u003d227726\n\nThis is probably also a problem for other sec\u003d types and for NFSv4.  The\nlarge reserved size for NFSv4 compound packets seems to generally paper\nover the problem, however.\n\nThis patch adds a wrapper for svc_reserve that accounts for the possibility\nof a checksum.  It also fixes up the appropriate callers of svc_reserve to\ncall the wrapper.  For now, it just uses a hardcoded value that I\ndetermined via testing.  That value may need to be revised upward as things\nchange, or we may want to eventually add a new auth_op that attempts to\ncalculate this somehow.\n\nUnfortunately, there doesn\u0027t seem to be a good way to reliably determine\nthe expected checksum length prior to actually calculating it, particularly\nwith schemes like spkm3.\n\nSigned-off-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nAcked-by: Neil Brown \u003cneilb@suse.de\u003e\nCc: Trond Myklebust \u003ctrond.myklebust@fys.uio.no\u003e\nAcked-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "7ac1bea5507218da03f6005d228789da5a831c3f",
      "tree": "43c0a68d468352f8ca1f42ada7970e3a97411f5b",
      "parents": [
        "f34b95689d2ce001c157b1604289ff240b4bdee0"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Wed May 09 02:34:48 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed May 09 12:30:54 2007 -0700"
      },
      "message": "knfsd: rename sk_defer_lock to sk_lock\n\nNow that sk_defer_lock protects two different things, make the name more\ngeneric.\n\nAlso don\u0027t bother with disabling _bh as the lock is only ever taken from\nprocess context.\n\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "4c2eaf073f0cc2b5bf593b8133c078b9d9406e95",
      "tree": "4bbb0edabea6dc0d17a27eaf609e8bc5b637c7b1",
      "parents": [
        "df8b172a8880521396d2048ecef7e75df43b5bc4"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Thu Mar 29 16:48:27 2007 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Apr 30 22:17:15 2007 -0700"
      },
      "message": "SUNRPC: remove old portmapper\n\nnet/sunrpc/pmap_clnt.c has been replaced by net/sunrpc/rpcb_clnt.c.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "a509050bd3b8e0aa269c2241aa10d74ca7701e2f",
      "tree": "47860feb054c6c286fd10c7d19a5ed3c3efb5c32",
      "parents": [
        "c5a4dd8b7c15927a8fbff83171b57cad675a79b9"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Thu Mar 29 16:48:04 2007 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Apr 30 22:17:12 2007 -0700"
      },
      "message": "SUNRPC: introduce rpcbind: replacement for in-kernel portmapper\n\nIntroduce a replacement for the in-kernel portmapper client that supports\nall 3 versions of the rpcbind protocol.  This code is not used yet.\n\nOriginal code by Groupe Bull updated for the latest kernel, with multiple\nbug fixes.\n\nNote that rpcb_clnt.c does not yet support registering via versions 3 and\n4 of the rpcbind protocol.  That is planned for a later patch.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "c5a4dd8b7c15927a8fbff83171b57cad675a79b9",
      "tree": "2d3b1930449b31f69dc70a6e1d4e0f0532f3f118",
      "parents": [
        "2bea90d43a050bbc4021d44e59beb34f384438db"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Thu Mar 29 16:47:58 2007 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Apr 30 22:17:11 2007 -0700"
      },
      "message": "SUNRPC: Eliminate side effects from rpc_malloc\n\nCurrently rpc_malloc sets req-\u003erq_buffer internally.  Make this a more\ngeneric interface:  return a pointer to the new buffer (or NULL) and\nmake the caller set req-\u003erq_buffer and req-\u003erq_bufsize.  This looks much\nmore like kmalloc and eliminates the side effects.\n\nTo fix a potential deadlock, this patch also replaces GFP_NOFS with\nGFP_NOWAIT in rpc_malloc.  This prevents async RPCs from sleeping outside\nthe RPC\u0027s task scheduler while allocating their buffer.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "2bea90d43a050bbc4021d44e59beb34f384438db",
      "tree": "2dd3f15bd9df537166a82777b0c95243b90b17e1",
      "parents": [
        "511d2e8855a065c8251d0c140ebc353854f1929e"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Thu Mar 29 16:47:53 2007 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Apr 30 22:17:10 2007 -0700"
      },
      "message": "SUNRPC: RPC buffer size estimates are too large\n\nThe RPC buffer size estimation logic in net/sunrpc/clnt.c always\nsignificantly overestimates the requirements for the buffer size.\nA little instrumentation demonstrated that in fact rpc_malloc was never\nallocating the buffer from the mempool, but almost always called kmalloc.\n\nTo compute the size of the RPC buffer more precisely, split p_bufsiz into\ntwo fields; one for the argument size, and one for the result size.\n\nThen, compute the sum of the exact call and reply header sizes, and split\nthe RPC buffer precisely between the two.  That should keep almost all RPC\nbuffers within the 2KiB buffer mempool limit.\n\nAnd, we can finally be rid of RPC_SLACK_SPACE!\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "cda1fd4abd773216a888487af0170d0cc3d50454",
      "tree": "aed6662bab1789a1698644f2e1d0db4255ecad67",
      "parents": [
        "5a05ed73e1abfd7e0e7d474817245861deaa18af"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Tue Mar 06 01:42:22 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Mar 06 09:30:26 2007 -0800"
      },
      "message": "[PATCH] knfsd: fix recently introduced problem with shutting down a busy NFS server\n\nWhen the last thread of nfsd exits, it shuts down all related sockets.  It\ncurrently uses svc_close_socket to do this, but that only is immediately\neffective if the socket is not SK_BUSY.\n\nIf the socket is busy - i.e.  if a request has arrived that has not yet been\nprocesses - svc_close_socket is not effective and the shutdown process spins.\n\nSo create a new svc_force_close_socket which removes the SK_BUSY flag is set\nand then calls svc_close_socket.\n\nAlso change some open-codes loops in svc_destroy to use\nlist_for_each_entry_safe.\n\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "5a05ed73e1abfd7e0e7d474817245861deaa18af",
      "tree": "df2e9b2717719dc900be6a11db4cb33d4b237aae",
      "parents": [
        "7a37f5787e76bf1765c1add3a9a7163f841a28bb"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Tue Mar 06 01:42:22 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Mar 06 09:30:26 2007 -0800"
      },
      "message": "[PATCH] knfsd: remove CONFIG_IPV6 ifdefs from sunrpc server code\n\nThey don\u0027t really save that much, and aren\u0027t worth the hassle.\n\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "7b8f850bebe093e37d283ed791039b39fa241e6d",
      "tree": "5ecd31dda2658366a9e7feb4c8c6c95e01a57caf",
      "parents": [
        "e696268a73f7f59a333624f9abf8ffc9412ee64c"
      ],
      "author": {
        "name": "Ralf Baechle",
        "email": "ralf@linux-mips.org",
        "time": "Tue Feb 20 13:57:45 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Feb 20 17:10:12 2007 -0800"
      },
      "message": "[PATCH] Fix build errors if bitop functions are do {} while macros\n\nIf one of clear_bit, change_bit or set_bit is defined as a do { } while (0)\nfunction usage of these functions in parenthesis like\n\n  (foo_bit(23, \u0026var))\n\nwhile be expaned to something like\n\n  (do { ... } while (0)}).\n\nresulting in a build error.  This patch removes the useless parenthesis.\n\nSigned-off-by: Ralf Baechle \u003cralf@linux-mips.org\u003e\nCc: Trond Myklebust \u003ctrond.myklebust@fys.uio.no\u003e\nCc: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "50d851f7227cf9e7fcc4cd1d2b3c72ddd64c50e6",
      "tree": "7edcd39ba684f2ae8e3866e046a204481c26e9fe",
      "parents": [
        "b402f06d6e31b8c3c74bfc3e7d2e292dd4a1b90a"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Wed Feb 14 00:33:22 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Feb 14 08:09:55 2007 -0800"
      },
      "message": "[PATCH] sysctl: move CTL_SUNRPC to sysctl.h where it belongs\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.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@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "d9bc125caf592b7d081021f32ce5b717efdf70c8",
      "tree": "263b7066ba22ddce21db610c0300f6eaac6f2064",
      "parents": [
        "43d78ef2ba5bec26d0315859e8324bfc0be23766",
        "ec2f9d1331f658433411c58077871e1eef4ee1b4"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Feb 12 22:43:25 2007 -0800"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Feb 12 22:43:25 2007 -0800"
      },
      "message": "Merge branch \u0027master\u0027 of /home/trondmy/kernel/linux-2.6/\n\nConflicts:\n\n\tnet/sunrpc/auth_gss/gss_krb5_crypto.c\n\tnet/sunrpc/auth_gss/gss_spkm3_token.c\n\tnet/sunrpc/clnt.c\n\nMerge with mainline and fix conflicts.\n"
    },
    {
      "commit": "43d78ef2ba5bec26d0315859e8324bfc0be23766",
      "tree": "6ea576e0a20a11745c7a45b2a15dd855a45b655a",
      "parents": [
        "a301b777714087ea1d63dbec0173a13d416cd7a9"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Tue Feb 06 18:26:11 2007 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Feb 12 22:40:45 2007 -0800"
      },
      "message": "NFS: disconnect before retrying NFSv4 requests over TCP\n\nRFC3530 section 3.1.1 states an NFSv4 client MUST NOT send a request\ntwice on the same connection unless it is the NULL procedure.  Section\n3.1.1 suggests that the client should disconnect and reconnect if it\nwants to retry a request.\n\nImplement this by adding an rpc_clnt flag that an ULP can use to\nspecify that the underlying transport should be disconnected on a\nmajor timeout.  The NFSv4 client asserts this new flag, and requests\nno retries after a minor retransmit timeout.\n\nNote that disconnecting on a retransmit is in general not safe to do\nif the RPC client does not reuse the TCP port number when reconnecting.\n\nSee http://bugzilla.linux-nfs.org/show_bug.cgi?id\u003d6\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "95756482c9bfa375418c5a32455494a3042f65cd",
      "tree": "1c7583a43df17591cae77af601143509ab68c2b1",
      "parents": [
        "cdd88b9f3ed5013de0f1085e0e2f9123c798609d"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Mon Feb 12 00:53:38 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Feb 12 09:48:36 2007 -0800"
      },
      "message": "[PATCH] knfsd: SUNRPC: support IPv6 addresses in RPC server\u0027s UDP receive path\n\nAdd support for IPv6 addresses in the RPC server\u0027s UDP receive path.\n\n[akpm@linux-foundation.org: cleanups]\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nCc: Aurelien Charbon \u003caurelien.charbon@ext.bull.net\u003e\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "73df0dbaff8d0853387e140f52b6250c486b18a1",
      "tree": "f1b3a669b47744b982ba5e25af329712abd36bf5",
      "parents": [
        "27459f0940e16c68e080f5fc7e85aa9eb3f74528"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Mon Feb 12 00:53:35 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Feb 12 09:48:36 2007 -0800"
      },
      "message": "[PATCH] knfsd: SUNRPC: Make rq_daddr field address-version independent\n\nThe rq_daddr field must support larger addresses.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nCc: Aurelien Charbon \u003caurelien.charbon@ext.bull.net\u003e\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "27459f0940e16c68e080f5fc7e85aa9eb3f74528",
      "tree": "f13cd1f2005dda2b6115e2afbc49e1271b0d374b",
      "parents": [
        "2442222283918c2d1c20ae651d95fe168757938b"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Mon Feb 12 00:53:34 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Feb 12 09:48:36 2007 -0800"
      },
      "message": "[PATCH] knfsd: SUNRPC: Provide room in svc_rqst for larger addresses\n\nExpand the rq_addr field to allow it to contain larger addresses.\n\nSpecifically, we replace a \u0027sockaddr_in\u0027 with a \u0027sockaddr_storage\u0027, then\neverywhere the \u0027sockaddr_in\u0027 was referenced, we use instead an accessor\nfunction (svc_addr_in) which safely casts the _storage to _in.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nCc: Aurelien Charbon \u003caurelien.charbon@ext.bull.net\u003e\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "2442222283918c2d1c20ae651d95fe168757938b",
      "tree": "f4e120320c5b9538b4626e576fce67db201c4cc7",
      "parents": [
        "ad06e4bd62351bc569cca0f25d68c58dbd298146"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Mon Feb 12 00:53:33 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Feb 12 09:48:35 2007 -0800"
      },
      "message": "[PATCH] knfsd: SUNRPC: Use sockaddr_storage to store address in svc_deferred_req\n\nSockaddr_storage will allow us to store arbitrary socket addresses in the\nsvc_deferred_req struct.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nCc: Aurelien Charbon \u003caurelien.charbon@ext.bull.net\u003e\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "ad06e4bd62351bc569cca0f25d68c58dbd298146",
      "tree": "82024c01e61de32af17d3b67eac0bb93138a2954",
      "parents": [
        "1ba951053f07187f6e77be664a4b6f8bf0ba7ae4"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Mon Feb 12 00:53:32 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Feb 12 09:48:35 2007 -0800"
      },
      "message": "[PATCH] knfsd: SUNRPC: Add a function to format the address in an svc_rqst for printing\n\nThere are loads of places where the RPC server assumes that the rq_addr fields\ncontains an IPv4 address.  Top among these are error and debugging messages\nthat display the server\u0027s IP address.\n\nLet\u0027s refactor the address printing into a separate function that\u0027s smart\nenough to figure out the difference between IPv4 and IPv6 addresses.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nCc: Aurelien Charbon \u003caurelien.charbon@ext.bull.net\u003e\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "067d7817310569f7b76ca08c4d071ca95ad4c1d3",
      "tree": "ee931bac235a3f9d0083edd7c00340121fe32767",
      "parents": [
        "e79eff1f90826b207b1152fc87aa97fa74fb7f9c"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Mon Feb 12 00:53:30 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Feb 12 09:48:35 2007 -0800"
      },
      "message": "[PATCH] knfsd: SUNRPC: Cache remote peer\u0027s address in svc_sock\n\nThe remote peer\u0027s address won\u0027t change after the socket has been accepted.  We\ndon\u0027t need to call -\u003egetname on every incoming request.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nCc: Aurelien Charbon \u003caurelien.charbon@ext.bull.net\u003e\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "482fb94e1b0c2efe8258334aa2a68d4f4a91de9c",
      "tree": "84353b34bb5ea02df98b598fff037cf1da20d6b0",
      "parents": [
        "6b174337e5126de834a971d3edc3681bbfa45e2c"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Mon Feb 12 00:53:29 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Feb 12 09:48:35 2007 -0800"
      },
      "message": "[PATCH] knfsd: SUNRPC: allow creating an RPC service without registering with portmapper\n\nSometimes we need to create an RPC service but not register it with the local\nportmapper.  NFSv4 delegation callback, for example.\n\nChange the svc_makesock() API to allow optionally creating temporary or\npermanent sockets, optionally registering with the local portmapper, and make\nit return the ephemeral port of the new socket.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nCc: Aurelien Charbon \u003caurelien.charbon@ext.bull.net\u003e\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "6b174337e5126de834a971d3edc3681bbfa45e2c",
      "tree": "b1dc3e0ecd82353896b07c433f98f547abc5adc2",
      "parents": [
        "f85aaeba458fda1de199a73566c641516e9a935d"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Mon Feb 12 00:53:28 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Feb 12 09:48:35 2007 -0800"
      },
      "message": "[PATCH] knfsd: SUNRPC: update internal API: separate pmap register and temp sockets\n\nCurrently in the RPC server, registering with the local portmapper and\ncreating \"permanent\" sockets are tied together.  Expand the internal APIs to\nallow these two socket characteristics to be separately specified.\n\nThis will be externalized in the next patch.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nCc: Aurelien Charbon \u003caurelien.charbon@ext.bull.net\u003e\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "aaf68cfbf2241d24d46583423f6bff5c47e088b3",
      "tree": "65ca14b85d28b12da097d7d187cebfef88b5ba3a",
      "parents": [
        "387bb17374c5fa057462d00d4ba941d49f45de4d"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Thu Feb 08 14:20:30 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Feb 09 09:25:47 2007 -0800"
      },
      "message": "[PATCH] knfsd: fix a race in closing NFSd connections\n\nIf you lose this race, it can iput a socket inode twice and you get a BUG\nin fs/inode.c\n\nWhen I added the option for user-space to close a socket, I added some\ncruft to svc_delete_socket so that I could call that function when closing\na socket per user-space request.\n\nThis was the wrong thing to do.  I should have just set SK_CLOSE and let\nnormal mechanisms do the work.\n\nNot only wrong, but buggy.  The locking is all wrong and it openned up a\nrace where-by a socket could be closed twice.\n\nSo this patch:\n  Introduces svc_close_socket which sets SK_CLOSE then either leave\n  the close up to a thread, or calls svc_delete_socket if it can\n  get SK_BUSY.\n\n  Adds a bias to sk_busy which is removed when SK_DEAD is set,\n  This avoid races around shutting down the socket.\n\n  Changes several \u0027spin_lock\u0027 to \u0027spin_lock_bh\u0027 where the _bh\n  was missing.\n\nBugzilla-url: http://bugzilla.kernel.org/show_bug.cgi?id\u003d7916\n\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\nCc: \u003cstable@kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "2efef837fb84f78cee7439804cb3722bffc64e75",
      "tree": "b69166832927f2141c4173cac456747605ea6252",
      "parents": [
        "54cc533aaa0dc331ad126f0aacfb19572adee638"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sat Feb 03 13:38:41 2007 -0800"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sat Feb 03 15:35:03 2007 -0800"
      },
      "message": "RPC: Clean up rpc_execute...\n\nThe error values are already propagated through task-\u003etk_status, and\nnone of the callers check one without checking the other, so we can\ndrop the return value.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "250f3915183d377d36e012bac9caa7345ce465b8",
      "tree": "e7fd20dfa79a8b4f6435083bf48f4cd3d1836cbf",
      "parents": [
        "1a8eff6d977c28162c61c9532ca58634e7090b69"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Fri Jan 26 00:56:59 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Jan 26 13:50:59 2007 -0800"
      },
      "message": "[PATCH] knfsd: fix an NFSD bug with full sized, non-page-aligned reads\n\nNFSd assumes that largest number of pages that will be needed for a\nrequest+response is 2+N where N pages is the size of the largest permitted\nread/write request.  The \u00272\u0027 are 1 for the non-data part of the request, and 1\nfor the non-data part of the reply.\n\nHowever, when a read request is not page-aligned, and we choose to use\n-\u003esendfile to send it directly from the page cache, we may need N+1 pages to\nhold the whole reply.  This can overflow and array and cause an Oops.\n\nThis patch increases size of the array for holding pages by one and makes sure\nthat entry is NULL when it is not in use.\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@linux-foundation.org\u003e\n"
    },
    {
      "commit": "bde8f00ce64d9824a4f227c8594e335a1a10d044",
      "tree": "5402180d3aef332c54e7b608f5bb3f94675ffadf",
      "parents": [
        "5394cd218735bf462e72bb827fbb7e47fc15f2f0"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Jan 24 11:54:53 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Jan 24 12:31:06 2007 -0800"
      },
      "message": "[PATCH] NFS: Fix Oops in rpc_call_sync()\n\nFix the Oops in http://bugzilla.linux-nfs.org/show_bug.cgi?id\u003d138\nWe shouldn\u0027t be calling rpc_release_task() for tasks that are not active.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "21b4e736922f546e0f1aa7b9d6c442f309a2444a",
      "tree": "e1be8645297f8ebe87445251743ebcc52081a20d",
      "parents": [
        "34161db6b14d984fb9b06c735b7b42f8803f6851",
        "68380b581383c028830f79ec2670f4a193854aa6"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Dec 07 16:35:17 2006 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Dec 07 16:35:17 2006 -0500"
      },
      "message": "Merge branch \u0027master\u0027 of /home/trondmy/kernel/linux-2.6/ into merge_linus\n"
    },
    {
      "commit": "34161db6b14d984fb9b06c735b7b42f8803f6851",
      "tree": "99656278b6697f1cde5b05894b7c0ee22c63a00e",
      "parents": [
        "5847e1f4d058677c5e46dc6c3e3c70e8855ea3ba",
        "620034c84d1d939717bdfbe02c51a3fee43541c3"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Dec 07 15:48:15 2006 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Dec 07 15:48:15 2006 -0500"
      },
      "message": "Merge branch \u0027master\u0027 of /home/trondmy/kernel/linux-2.6/ into merge_linus\n\nConflicts:\n\n\tinclude/linux/sunrpc/xprt.h\n\tnet/sunrpc/xprtsock.c\nFix up conflicts with the workqueue changes.\n"
    },
    {
      "commit": "6cfd76a26d9fe2ba54b9d496a48c1d9285e5c5ed",
      "tree": "1114a0630c5045d0650c6d78a8097fdea6f94d8e",
      "parents": [
        "a4c410f00f7ca4bd448b0d63f6f882fd244dc991"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Wed Dec 06 20:37:22 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Thu Dec 07 08:39:36 2006 -0800"
      },
      "message": "[PATCH] lockdep: name some old style locks\n\nName some of the remaning \u0027old_style_spin_init\u0027 locks\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nAcked-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "5847e1f4d058677c5e46dc6c3e3c70e8855ea3ba",
      "tree": "3f9c266dd713eb16d5c01389c2df39b5ef727d5f",
      "parents": [
        "c041b5ff8d50c432698d9bfbd68cc4b76c2ea5bc"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Tue Dec 05 16:36:14 2006 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Dec 06 10:46:55 2006 -0500"
      },
      "message": "SUNRPC: Remove pprintk() from net/sunrpc/xprt.c\n\nThese appear to be deprecated.  Removing them also gets rid of some sparse\nnoise.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "dd4564715eae2c4136f278da9ae1c3bb5af3e509",
      "tree": "a0e6d56de86bdc9ce57f5663d2d0840c3ea3179b",
      "parents": [
        "9d29231690925915015c21c1fff73c7118099843"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Tue Dec 05 16:35:44 2006 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Dec 06 10:46:52 2006 -0500"
      },
      "message": "SUNRPC: Rename skb_reader_t and friends\n\nClean-up:  hch suggested that the RPC client shouldn\u0027t pollute the name\nspace used by the generic skb manipulation routines in net/core/skbuff.c.\n\nRename a couple of types in xdr.h to adhere to this convention.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "9d29231690925915015c21c1fff73c7118099843",
      "tree": "ac1018a80198a7e493296f5fc8e9fbd8dac7d0f0",
      "parents": [
        "7559c7a28fbcaa0bca028eeebd5f251b09befe6b"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Tue Dec 05 16:35:41 2006 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Dec 06 10:46:52 2006 -0500"
      },
      "message": "SUNRPC: skb_read_bits is the same as xs_tcp_copy_data\n\nClean-up: eliminate xs_tcp_copy_data -- it\u0027s exactly the same logic as the\ncommon routine skb_read_bits.  The UDP and TCP socket read code now share\nthe same routine for copying data into an xdr_buf.\n\nNow that skb_read_bits() is exported, rename it to avoid confusing it with\na generic skb_* function.  As these functions are XDR-specific, they should\nnot have names that suggest they are of generic use.  Also rename\nskb_read_and_csum_bits() to be consistent.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "7559c7a28fbcaa0bca028eeebd5f251b09befe6b",
      "tree": "5cbf7df3f966243261e1923641618fd813126734",
      "parents": [
        "314dfd7987c71d7ba0c43ac3bf3d243c102ce025"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Tue Dec 05 16:35:37 2006 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Dec 06 10:46:51 2006 -0500"
      },
      "message": "SUNRPC: Make address format buffers more generic\n\nFor now we will assume that all transports will use the address format\nbuffers in the rpc_xprt struct to store their addresses.  Change\nrpc_peer2str() to be a generic routine to handle this, and get rid of the\nprint_address() op in the rpc_xprt_ops vector.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "314dfd7987c71d7ba0c43ac3bf3d243c102ce025",
      "tree": "dc1007a39bf4473afc6f3b6fda95c62207d5f4db",
      "parents": [
        "7c6e066ec29290bf062f5bff2984bad9be5809c7"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Tue Dec 05 16:35:34 2006 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Dec 06 10:46:51 2006 -0500"
      },
      "message": "SUNRPC: move saved socket callback functions to a private data structure\n\nMove the three fields for saving socket callback functions out of the\nrpc_xprt structure and into a private data structure maintained in\nnet/sunrpc/xprtsock.c.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "7c6e066ec29290bf062f5bff2984bad9be5809c7",
      "tree": "a7b601ecc7b4ae15022145d34dea812f4de2c07b",
      "parents": [
        "c8475461829fd94f30208fbfa4eab7e5584c6495"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Tue Dec 05 16:35:30 2006 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Dec 06 10:46:50 2006 -0500"
      },
      "message": "SUNRPC: Move the UDP socket bufsize parameters to a private data structure\n\nMove the socket-specific buffer size parameters for UDP sockets to a\nprivate data structure maintained in net/sunrpc/xprtsock.c.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "c8475461829fd94f30208fbfa4eab7e5584c6495",
      "tree": "33f3e3de18a0c1b8fce5125bf9b2c0e2c4ce0dd5",
      "parents": [
        "e136d0926ef6a048f6e65b35263c0a9faae3abbe"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Tue Dec 05 16:35:26 2006 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Dec 06 10:46:50 2006 -0500"
      },
      "message": "SUNRPC: Move rpc_xprt socket connect fields into private data structure\n\nMove the socket-specific connection management fields out of the generic\nrpc_xprt structure into a private data structure maintained in\nnet/sunrpc/xprtsock.c.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "e136d0926ef6a048f6e65b35263c0a9faae3abbe",
      "tree": "703d73647ce48b5c897af1c8a635db209bd03161",
      "parents": [
        "51971139b2342fa1005e87bbfcb52305da3fe891"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Tue Dec 05 16:35:23 2006 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Dec 06 10:46:50 2006 -0500"
      },
      "message": "SUNRPC: Move TCP state flags into xprtsock.c\n\nMove \"XPRT_LAST_FRAG\" and friends from xprt.h into xprtsock.c, and rename\nthem to use the naming scheme in use in xprtsock.c.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "51971139b2342fa1005e87bbfcb52305da3fe891",
      "tree": "e3d48890ba589ba9f08c33480a14dfd90db7dba5",
      "parents": [
        "ee0ac0c227c2a2b6dd1b33c23831100ee895dacf"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Tue Dec 05 16:35:19 2006 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Dec 06 10:46:49 2006 -0500"
      },
      "message": "SUNRPC: Move TCP receive state variables into private data structure\n\nMove the TCP receive state variables from the generic rpc_xprt structure to\na private structure maintained inside net/sunrpc/xprtsock.c.\n\nAlso rename a function/variable pair to refer to RPC fragment headers\ninstead of record markers, to be consistent with types defined in\nsunrpc/*.h.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "ee0ac0c227c2a2b6dd1b33c23831100ee895dacf",
      "tree": "62e0e0b7e0ee049795b2e97990c4a2774e59e223",
      "parents": [
        "ffc2e518c91942b7ed45fb0ab7deba1ba0c8594a"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Tue Dec 05 16:35:15 2006 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Dec 06 10:46:49 2006 -0500"
      },
      "message": "SUNRPC: Remove sock and inet fields from rpc_xprt\n\nThe \"sock\" and \"inet\" fields are socket-specific.  Move them to a private\ndata structure maintained entirely within net/sunrpc/xprtsock.c\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "717757ad1038ab6aacb89bad579c89b006efd913",
      "tree": "19b93c59420a5195d36c333845af9fde4b2b5c7c",
      "parents": [
        "d922a84a8bf1d627810906d033223d4fa629fdbf"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@fieldses.org",
        "time": "Mon Dec 04 20:22:41 2006 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Dec 06 10:46:47 2006 -0500"
      },
      "message": "rpcgss: krb5: ignore seed\n\nWe\u0027re currently not actually using seed or seed_init.\n\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "d922a84a8bf1d627810906d033223d4fa629fdbf",
      "tree": "8150e29f36f3e14df0c1fea1caa1936f7cfa0e3a",
      "parents": [
        "39a21dd1b0eec3f5eac84ee42bda5ab4915098ae"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@fieldses.org",
        "time": "Mon Dec 04 20:22:40 2006 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Dec 06 10:46:47 2006 -0500"
      },
      "message": "rpcgss: krb5: sanity check sealalg value in the downcall\n\nThe sealalg is checked in several places, giving the impression it could be\neither SEAL_ALG_NONE or SEAL_ALG_DES.  But in fact SEAL_ALG_NONE seems to\nbe sufficient only for making mic\u0027s, and all the contexts we get must be\ncapable of wrapping as well.  So the sealalg must be SEAL_ALG_DES.  As\nwith signalg, just check for the right value on the downcall and ignore it\notherwise.  Similarly, tighten expectations for the sealalg on incoming\ntokens, in case we do support other values eventually.\n\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "ca54f896454852f0bc8d50e6e4c55d9defedbd0a",
      "tree": "f4d3c245f1b0e6edc38e4b9348d54f9f95028827",
      "parents": [
        "2818bf81a8c91fb29634df68bdc3cc5e003201d0"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@fieldses.org",
        "time": "Mon Dec 04 20:22:38 2006 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Dec 06 10:46:46 2006 -0500"
      },
      "message": "rpcgss: simplify make_checksum\n\nWe\u0027re doing some pointless translation between krb5 constants and kernel\ncrypto string names.\n\nAlso clean up some related spkm3 code as necessary.\n\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "e678e06bf8fa25981a6fa1f08b979fd086d713f8",
      "tree": "1015c61bca28e960a62b52b5cc4045bcacebad6d",
      "parents": [
        "adeb8133dd57f380e70a389a89a2ea3ae227f9e2"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@fieldses.org",
        "time": "Mon Dec 04 20:22:35 2006 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Dec 06 10:46:44 2006 -0500"
      },
      "message": "gss: krb5: remove signalg and sealalg\n\nWe designed the krb5 context import without completely understanding the\ncontext.  Now it\u0027s clear that there are a number of fields that we ignore,\nor that we depend on having one single value.\n\nIn particular, we only support one value of signalg currently; so let\u0027s\ncheck the signalg field in the downcall (in case we decide there\u0027s\nsomething else we could support here eventually), but ignore it otherwise.\n\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "adeb8133dd57f380e70a389a89a2ea3ae227f9e2",
      "tree": "9cea0324f2e8e03c7c4473cfa132b43ab352cb25",
      "parents": [
        "37a4e6cb0391f2293ba3d59e3a63ec0e56ed720d"
      ],
      "author": {
        "name": "Olga Kornievskaia",
        "email": "aglo@citi.umich.edu",
        "time": "Mon Dec 04 20:22:34 2006 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Dec 06 10:46:44 2006 -0500"
      },
      "message": "rpc: spkm3 update\n\nThis updates the spkm3 code to bring it up to date with our current\nunderstanding of the spkm3 spec.\n\nIn doing so, we\u0027re changing the downcall format used by gssd in the spkm3 case,\nwhich will cause an incompatilibity with old userland spkm3 support.  Since the\nold code a) didn\u0027t implement the protocol correctly, and b) was never\ndistributed except in the form of some experimental patches from the citi web\nsite, we\u0027re assuming this is OK.\n\nWe do detect the old downcall format and print warning (and fail).  We also\ninclude a version number in the new downcall format, to be used in the\nfuture in case any further change is required.\n\nIn some more detail:\n\n\t- fix integrity support\n\t- removed dependency on NIDs. instead OIDs are used\n\t- known OID values for algorithms added.\n\t- fixed some context fields and types\n\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "37a4e6cb0391f2293ba3d59e3a63ec0e56ed720d",
      "tree": "c4c039bd801fedbaa9b8f9da67aeda3948fe9f38",
      "parents": [
        "87d918d667e51962938392759aef6ca368d6e96d"
      ],
      "author": {
        "name": "Olga Kornievskaia",
        "email": "aglo@citi.umich.edu",
        "time": "Mon Dec 04 20:22:33 2006 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Dec 06 10:46:44 2006 -0500"
      },
      "message": "rpc: move process_xdr_buf\n\nSince process_xdr_buf() is useful outside of the kerberos-specific code, we\nmove it to net/sunrpc/xdr.c, export it, and rename it in keeping with xdr_*\nnaming convention of xdr.c.\n\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "8fc7500bb8ea3b5c909869d00628635e964ae882",
      "tree": "3e1b175c0e155a81ace7e9460f4a574d8f5de3be",
      "parents": [
        "2b577f1f14c8d83ba9400ec8accaf4a208f4f36a"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Mon Dec 04 20:22:31 2006 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Dec 06 10:46:43 2006 -0500"
      },
      "message": "rpc: gss: eliminate print_hexl()\u0027s\n\nDumping all this data to the logs is wasteful (even when debugging is turned\noff), and creates too much output to be useful when it\u0027s turned on.\n\nFix a minor style bug or two while we\u0027re at it.\n\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "c8541ecdd5692bcfbcb5305cab9a873288d29175",
      "tree": "45714725337f22a5eb27cbe5b87c3b01f37c9490",
      "parents": [
        "e744cf2e3ab8535a8494a4cf0177de26f94586da"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Tue Oct 17 14:44:27 2006 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Dec 06 10:46:34 2006 -0500"
      },
      "message": "SUNRPC: Make the transport-specific setup routine allocate rpc_xprt\n\nChange the location where the rpc_xprt structure is allocated so each\ntransport implementation can allocate a private area from the same\nchunk of memory.\n\nNote also that xprt-\u003eops-\u003edestroy, rather than xprt_destroy, is now\nresponsible for freeing rpc_xprt when the transport is destroyed.\n\nTest plan:\nConnectathon.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "e744cf2e3ab8535a8494a4cf0177de26f94586da",
      "tree": "9d291dda6b8187781ebc42a9d97caf15d0eb9701",
      "parents": [
        "24c5684b65ff52ebfa942e8086d91a4966121ae7"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Tue Oct 17 14:44:24 2006 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Dec 06 10:46:34 2006 -0500"
      },
      "message": "SUNRPC: minor optimization of \"xid\" field in rpc_xprt\n\nMove the xid field in the rpc_xprt structure to be in the same cache line\nas the reserve_lock, since these are used at the same time.\n\nTest plan:\nNone.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "1e78957e0a8f882df6a3660b62f9aae441f54891",
      "tree": "6746e88e851053867bf49f68403c7b4da991ca85",
      "parents": [
        "eb5f8545ffff98a11c6656d4d2106341ab69c57d"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Aug 31 15:09:19 2006 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Dec 06 10:46:32 2006 -0500"
      },
      "message": "SUNRPC: Clean up argument types in xdr.c\n\nConverts various integer buffer offsets and sizes to unsigned integer.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "bbd5a1f9fc9fad0f8725812d91c51b052e847de8",
      "tree": "252650d49dd498a67c404b7c4c1abeb2dc341624",
      "parents": [
        "3e32a5d99a467b9d4d416323c8c292479b4915e5"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Oct 18 16:01:05 2006 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Dec 06 10:46:29 2006 -0500"
      },
      "message": "SUNRPC: Fix up missing BKL in asynchronous RPC callback functions\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "3e32a5d99a467b9d4d416323c8c292479b4915e5",
      "tree": "96cf078675e55c19676b2c28432c609d60ea2ac1",
      "parents": [
        "23bf85ba43650e4341672a6bc85aa3f2c02eb633"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Nov 16 11:37:27 2006 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Dec 06 10:46:29 2006 -0500"
      },
      "message": "SUNRPC: Give cloned RPC clients their own rpc_pipefs directory\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "8aca67f0ae2d8811165c22326825a645cc8e1b48",
      "tree": "19e82f4bc7b4f865a9dcf4744e7c224ea517ba10",
      "parents": [
        "e6b3c4db6fbcd0d33720696f37790d6b8be12313"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Nov 13 16:23:44 2006 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Dec 06 10:46:26 2006 -0500"
      },
      "message": "SUNRPC: Fix a potential race in rpc_wake_up_task()\n\nUse RCU to ensure that we can safely call rpc_finish_wakeup after we\u0027ve\ncalled __rpc_do_wake_up_task. If not, there is a theoretical race, in which\nthe rpc_task finishes executing, and gets freed first.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "e6b3c4db6fbcd0d33720696f37790d6b8be12313",
      "tree": "24ad4a93b00ba7236b9a2d896fd6cb59a1dc2334",
      "parents": [
        "cc4dc59e5580d6c0de1685a25b74d32175f43434"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sat Nov 11 22:18:03 2006 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Dec 06 10:46:25 2006 -0500"
      },
      "message": "Fix a second potential rpc_wakeup race...\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "4c1ac1b49122b805adfa4efc620592f68dccf5db",
      "tree": "87557f4bc2fd4fe65b7570489c2f610c45c0adcd",
      "parents": [
        "c4028958b6ecad064b1a6303a6a5906d4fe48d73",
        "d916faace3efc0bf19fe9a615a1ab8fa1a24cd93"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Tue Dec 05 14:37:56 2006 +0000"
      },
      "committer": {
        "name": "David Howells",
        "email": "dhowells@warthog.cambridge.redhat.com",
        "time": "Tue Dec 05 14:37:56 2006 +0000"
      },
      "message": "Merge branch \u0027master\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6\n\nConflicts:\n\n\tdrivers/infiniband/core/iwcm.c\n\tdrivers/net/chelsio/cxgb2.c\n\tdrivers/net/wireless/bcm43xx/bcm43xx_main.c\n\tdrivers/net/wireless/prism54/islpci_eth.c\n\tdrivers/usb/core/hub.h\n\tdrivers/usb/input/hid-core.c\n\tnet/core/netpoll.c\n\nFix up merge failures with Linus\u0027s head and fix new compilation failures.\n\nSigned-Off-By: David Howells \u003cdhowells@redhat.com\u003e\n"
    },
    {
      "commit": "44bb93633f57a55979f3c2589b10fd6a2bfc7c08",
      "tree": "09dff6f9e3c9d21c8d06f3a1ec73609a1942c9da",
      "parents": [
        "868c86bcb5bdea7ed8d45979b17bb919af9254db"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Nov 14 21:36:14 2006 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Sat Dec 02 21:23:32 2006 -0800"
      },
      "message": "[NET]: Annotate csum_partial() callers in net/*\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "52bad64d95bd89e08c49ec5a071fa6dcbe5a1a9c",
      "tree": "5849b4e3c17daa70a7e81cfdeaddac9ac8a0e953",
      "parents": [
        "0f9005a6f7a82f4aacbd72f7b92322a8ca1c3f97"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Wed Nov 22 14:54:01 2006 +0000"
      },
      "committer": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Wed Nov 22 14:54:01 2006 +0000"
      },
      "message": "WorkStruct: Separate delayable and non-delayable events.\n\nSeparate delayable work items from non-delayable work items be splitting them\ninto a separate structure (delayed_work), which incorporates a work_struct and\nthe timer_list removed from work_struct.\n\nThe work_struct struct is huge, and this limits it\u0027s usefulness.  On a 64-bit\narchitecture it\u0027s nearly 100 bytes in size.  This reduces that by half for the\nnon-delayable type of event.\n\nSigned-Off-By: David Howells \u003cdhowells@redhat.com\u003e\n"
    },
    {
      "commit": "7111c66e4e70588c9602035a4996c9cdc2087d2d",
      "tree": "1fbd19547470c9d776c6e34a547eb181b5d4fe5f",
      "parents": [
        "cc45f0175088e000ac7493e5e3f05579b6f7d240"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@ftp.linux.org.uk",
        "time": "Thu Oct 19 23:28:45 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Oct 20 10:26:40 2006 -0700"
      },
      "message": "[PATCH] fix svc_procfunc declaration\n\nsvc_procfunc instances return __be32, not int\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nAcked-by: Trond Myklebust \u003ctrond.myklebust@fys.uio.no\u003e\nAcked-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": "d343fce148a4eee24a907a05c4101d3268045aae",
      "tree": "b8a110f85050b2425ce85434c01c0eac0076472b",
      "parents": [
        "4481d1038f4116f3f5c307d919e6dc815a3acbb9"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Tue Oct 17 00:10:18 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Oct 17 08:18:46 2006 -0700"
      },
      "message": "[PATCH] knfsd: Allow lockd to drop replies as appropriate\n\nIt is possible for the -\u003efopen callback from lockd into nfsd to find that an\nanswer cannot be given straight away (an upcall is needed) and so the request\nhas to be \u0027dropped\u0027, to be retried later.  That error status is not currently\npropagated back.\n\nSo:\n  Change nlm_fopen to return nlm error codes (rather than a private\n  protocol) and define a new nlm_drop_reply code.\n  Cause nlm_drop_reply to cause the rpc request to get rpc_drop_reply\n  when this error comes back.\n  Cause svc_process to drop a request which returns a status of\n  rpc_drop_reply.\n\n[akpm@osdl.org: fix warning storm]\nCc: Marc Eshel \u003ceshel@almaden.ibm.com\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": "c6b0a9f87b82f25fa35206ec04b5160372eabab4",
      "tree": "849ed55115c95a86a3d164d674c178f9504750a5",
      "parents": [
        "5842730de179405d80649231faa0b3f254477434"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Fri Oct 06 00:44:05 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Oct 06 08:53:41 2006 -0700"
      },
      "message": "[PATCH] knfsd: tidy up up meaning of \u0027buffer size\u0027 in nfsd/sunrpc\n\nThere is some confusion about the meaning of \u0027bufsz\u0027 for a sunrpc server.\nIn some cases it is the largest message that can be sent or received.  In\nother cases it is the largest \u0027payload\u0027 that can be included in a NFS\nmessage.\n\nIn either case, it is not possible for both the request and the reply to be\nthis large.  One of the request or reply may only be one page long, which\nfits nicely with NFS.\n\nSo we remove \u0027bufsz\u0027 and replace it with two numbers: \u0027max_payload\u0027 and\n\u0027max_mesg\u0027.  Max_payload is the size that the server requests.  It is used\nby the server to check the max size allowed on a particular connection:\ndepending on the protocol a lower limit might be used.\n\nmax_mesg is the largest single message that can be sent or received.  It is\ncalculated as the max_payload, rounded up to a multiple of PAGE_SIZE, and\nwith PAGE_SIZE added to overhead.  Only one of the request and reply may be\nthis size.  The other must be at most one page.\n\nCc: Greg Banks \u003cgnb@sgi.com\u003e\nCc: \"J. Bruce Fields\" \u003cbfields@fieldses.org\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": "bc5fea4299b8bda5f73c6f79dc35d388caf8bced",
      "tree": "e8822bdad94634e896690a285e1e26b54a0f09d5",
      "parents": [
        "0ade060ee51b9b6cf18d580405dc9ab90067f69f"
      ],
      "author": {
        "name": "Olaf Kirch",
        "email": "okir@suse.de",
        "time": "Wed Oct 04 02:16:05 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Oct 04 07:55:19 2006 -0700"
      },
      "message": "[PATCH] knfsd: register all RPC programs with portmapper by default\n\nThe NFSACL patches introduced support for multiple RPC services listening on\nthe same transport.  However, only the first of these services was registered\nwith portmapper.  This was perfectly fine for nfsacl, as you traditionally do\nnot want these to show up in a portmapper listing.\n\nThe patch below changes the default behavior to always register all services\nlistening on a given transport, but retains the old behavior for nfsacl\nservices.\n\nSigned-off-by: Olaf Kirch \u003cokir@suse.de\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": "7b2b1fee30df7e2165525cd03f7d1d01a3a56794",
      "tree": "71740fb9ea88465b54c52d998eadd012a6f8f4a6",
      "parents": [
        "fce1456a19f5c08b688c29f00ef90fdfa074c79b"
      ],
      "author": {
        "name": "Greg Banks",
        "email": "gnb@melbourne.sgi.com",
        "time": "Wed Oct 04 02:15:50 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Oct 04 07:55:16 2006 -0700"
      },
      "message": "[PATCH] knfsd: knfsd: cache ipmap per TCP socket\n\nSpeed up high call-rate workloads by caching the struct ip_map for the peer on\nthe connected struct svc_sock instead of looking it up in the ip_map cache\nhashtable on every call.  This helps workloads using AUTH_SYS authentication\nover TCP.\n\nTesting was on a 4 CPU 4 NIC Altix using 4 IRIX clients, each with 16\nsynthetic client threads simulating an rsync (i.e.  recursive directory\nlisting) workload reading from an i386 RH9 install image (161480 regular files\nin 10841 directories) on the server.  That tree is small enough to fill in the\nserver\u0027s RAM so no disk traffic was involved.  This setup gives a sustained\ncall rate in excess of 60000 calls/sec before being CPU-bound on the server.\n\nProfiling showed strcmp(), called from ip_map_match(), was taking 4.8% of each\nCPU, and ip_map_lookup() was taking 2.9%.  This patch drops both contribution\ninto the profile noise.\n\nNote that the above result overstates this value of this patch for most\nworkloads.  The synthetic clients are all using separate IP addresses, so\nthere are 64 entries in the ip_map cache hash.  Because the kernel measured\ncontained the bug fixed in commit\n\ncommit 1f1e030bf75774b6a283518e1534d598e14147d4\n\nand was running on 64bit little-endian machine, probably all of those 64\nentries were on a single chain, thus increasing the cost of ip_map_lookup().\n\nWith a modern kernel you would need more clients to see the same amount of\nperformance improvement.  This patch has helped to scale knfsd to handle a\ndeployment with 2000 NFS clients.\n\nSigned-off-by: Greg Banks \u003cgnb@melbourne.sgi.com\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": "7adae489fe794e3e203ff168595f635d0b845e59",
      "tree": "f20544b72bdaea7cff0d340b5b4e5bfcaf2ce8fb",
      "parents": [
        "3cc03b164cf01c6f36e64720b58610d292fb26f7"
      ],
      "author": {
        "name": "Greg Banks",
        "email": "gnb@melbourne.sgi.com",
        "time": "Wed Oct 04 02:15:47 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Oct 04 07:55:16 2006 -0700"
      },
      "message": "[PATCH] knfsd: Prepare knfsd for support of rsize/wsize of up to 1MB, over TCP\n\nThe limit over UDP remains at 32K.  Also, make some of the apparently\narbitrary sizing constants clearer.\n\nThe biggest change here involves replacing NFSSVC_MAXBLKSIZE by a function of\nthe rqstp.  This allows it to be different for different protocols (udp/tcp)\nand also allows it to depend on the servers declared sv_bufsiz.\n\nNote that we don\u0027t actually increase sv_bufsz for nfs yet.  That comes next.\n\nSigned-off-by: Greg Banks \u003cgnb@melbourne.sgi.com\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": "3cc03b164cf01c6f36e64720b58610d292fb26f7",
      "tree": "b558e11a087945ad5b9a1a25483aa2acc8d93fbb",
      "parents": [
        "4452435948424e5322c2a2fefbdc2cf3732cc45d"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Wed Oct 04 02:15:47 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Oct 04 07:55:15 2006 -0700"
      },
      "message": "[PATCH] knfsd: Avoid excess stack usage in svc_tcp_recvfrom\n\n..  by allocating the array of \u0027kvec\u0027 in \u0027struct svc_rqst\u0027.\n\nAs we plan to increase RPCSVC_MAXPAGES from 8 upto 256, we can no longer\nallocate an array of this size on the stack.  So we allocate it in \u0027struct\nsvc_rqst\u0027.\n\nHowever svc_rqst contains (indirectly) an array of the same type and size\n(actually several, but they are in a union).  So rather than waste space, we\nmove those arrays out of the separately allocated union and into svc_rqst to\nshare with the kvec moved out of svc_tcp_recvfrom (various arrays are used at\ndifferent times, so there is no conflict).\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": "4452435948424e5322c2a2fefbdc2cf3732cc45d",
      "tree": "d2082c68d33298e85298852cafde7999ccca3364",
      "parents": [
        "5680c44632053a6c9464bca43083f01776d318da"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Wed Oct 04 02:15:46 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Oct 04 07:55:15 2006 -0700"
      },
      "message": "[PATCH] knfsd: Replace two page lists in struct svc_rqst with one\n\nWe are planning to increase RPCSVC_MAXPAGES from about 8 to about 256.  This\nmeans we need to be a bit careful about arrays of size RPCSVC_MAXPAGES.\n\nstruct svc_rqst contains two such arrays.  However the there are never more\nthat RPCSVC_MAXPAGES pages in the two arrays together, so only one array is\nneeded.\n\nThe two arrays are for the pages holding the request, and the pages holding\nthe reply.  Instead of two arrays, we can simply keep an index into where the\nfirst reply page is.\n\nThis patch also removes a number of small inline functions that probably\nserver to obscure what is going on rather than clarify it, and opencode the\nneeded functionality.\n\nAlso remove the \u0027rq_restailpage\u0027 variable as it is *always* 0.  i.e.  if the\nresponse \u0027xdr\u0027 structure has a non-empty tail it is always in the same pages\nas the head.\n\n check counters are initilised and incr properly\n check for consistant usage of ++ etc\n maybe extra some inlines for common approach\n general review\n\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\nCc: Magnus Maatta \u003cnovell@kiruna.se\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "f30c2269544bffc7bf1b0d7c0abe5be1be83b8cb",
      "tree": "2f6140d8a555af6a133690ed6b42599e78a43c54",
      "parents": [
        "670e9f34ee3c7e052514c85014d2fdd99b672cdc"
      ],
      "author": {
        "name": "Uwe Zeisberger",
        "email": "Uwe_Zeisberger@digi.com",
        "time": "Tue Oct 03 23:01:26 2006 +0200"
      },
      "committer": {
        "name": "Adrian Bunk",
        "email": "bunk@stusta.de",
        "time": "Tue Oct 03 23:01:26 2006 +0200"
      },
      "message": "fix file specification in comments\n\nMany files include the filename at the beginning, serveral used a wrong one.\n\nSigned-off-by: Uwe Zeisberger \u003cUwe_Zeisberger@digi.com\u003e\nSigned-off-by: Adrian Bunk \u003cbunk@stusta.de\u003e\n"
    },
    {
      "commit": "bfd241600a3b0db4fe43c859f1460d0a958d924a",
      "tree": "7f04604adee7249e686d1db0cac93f1fee8bc5b6",
      "parents": [
        "eec09661dc82e90a31051d045a94026a91aceb82"
      ],
      "author": {
        "name": "Greg Banks",
        "email": "gnb@melbourne.sgi.com",
        "time": "Mon Oct 02 02:18:01 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Oct 02 07:57:20 2006 -0700"
      },
      "message": "[PATCH] knfsd: make rpc threads pools numa aware\n\nActually implement multiple pools.  On NUMA machines, allocate a svc_pool per\nNUMA node; on SMP a svc_pool per CPU; otherwise a single global pool.  Enqueue\nsockets on the svc_pool corresponding to the CPU on which the socket bh is run\n(i.e.  the NIC interrupt CPU).  Threads have their cpu mask set to limit them\nto the CPUs in the svc_pool that owns them.\n\nThis is the patch that allows an Altix to scale NFS traffic linearly\nbeyond 4 CPUs and 4 NICs.\n\nIncorporates changes and feedback from Neil Brown, Trond Myklebust, and\nChristoph Hellwig.\n\nSigned-off-by: Greg Banks \u003cgnb@melbourne.sgi.com\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": "a74554429eada89a7ddb47317e6a2968d03e41a2",
      "tree": "0ebf1550dd1fdafd2900af44ea85d75831172fa3",
      "parents": [
        "9a24ab5749a31aa10ee60d9310ad72f24d7c38ab"
      ],
      "author": {
        "name": "Greg Banks",
        "email": "gnb@melbourne.sgi.com",
        "time": "Mon Oct 02 02:17:59 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Oct 02 07:57:19 2006 -0700"
      },
      "message": "[PATCH] knfsd: add svc_set_num_threads\n\nCurrently knfsd keeps its own list of all nfsd threads in nfssvc.c; add a new\nway of managing the list of all threads in a svc_serv.  Add\nsvc_create_pooled() to allow creation of a svc_serv whose threads are managed\nby the sunrpc code.  Add svc_set_num_threads() to manage the number of threads\nin a service, either per-pool or globally across the service.\n\nSigned-off-by: Greg Banks \u003cgnb@melbourne.sgi.com\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": "9a24ab5749a31aa10ee60d9310ad72f24d7c38ab",
      "tree": "bae1805492889c3d59017571c062ce4a02e024aa",
      "parents": [
        "3262c816a3d7fb1eaabce633caa317887ed549ae"
      ],
      "author": {
        "name": "Greg Banks",
        "email": "gnb@melbourne.sgi.com",
        "time": "Mon Oct 02 02:17:58 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Oct 02 07:57:19 2006 -0700"
      },
      "message": "[PATCH] knfsd: add svc_get\n\nadd svc_get() for those occasions when we need to temporarily bump up\nsvc_serv-\u003esv_nrthreads as a pseudo refcount.\n\nSigned-off-by: Greg Banks \u003cgnb@melbourne.sgi.com\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": "3262c816a3d7fb1eaabce633caa317887ed549ae",
      "tree": "5b635d8b62b9724ab2b1e5563aad37e35b894406",
      "parents": [
        "c081a0c7cfe42adf8e8b9c2b8d0b2ec7f47603e8"
      ],
      "author": {
        "name": "Greg Banks",
        "email": "gnb@melbourne.sgi.com",
        "time": "Mon Oct 02 02:17:58 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Oct 02 07:57:19 2006 -0700"
      },
      "message": "[PATCH] knfsd: split svc_serv into pools\n\nSplit out the list of idle threads and pending sockets from svc_serv into a\nnew svc_pool structure, and allocate a fixed number (in this patch, 1) of\npools per svc_serv.  The new structure contains a lock which takes over\nseveral of the duties of svc_serv-\u003esv_lock, which is now relegated to\nprotecting only sv_tempsocks, sv_permsocks, and sv_tmpcnt in svc_serv.\n\nThe point is to move the hottest fields out of svc_serv and into svc_pool,\nallowing a following patch to arrange for a svc_pool per NUMA node or per CPU.\n This is a major step towards making the NFS server NUMA-friendly.\n\nSigned-off-by: Greg Banks \u003cgnb@melbourne.sgi.com\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": "5685f0fa1c24b138d041ef129ed419c5effa40e1",
      "tree": "068c413c32cc7735a590d4ec16efe55894e67b80",
      "parents": [
        "1a68d952af5f43032012d26dd0d5164c9e9986bc"
      ],
      "author": {
        "name": "Greg Banks",
        "email": "gnb@melbourne.sgi.com",
        "time": "Mon Oct 02 02:17:56 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Oct 02 07:57:19 2006 -0700"
      },
      "message": "[PATCH] knfsd: convert sk_reserved to atomic_t\n\nConvert the svc_sock-\u003esk_reserved variable from an int protected by\nsvc_serv-\u003esv_lock, to an atomic.  This reduces (by 1) the number of places we\nneed to take the (effectively global) svc_serv-\u003esv_lock.\n\nSigned-off-by: Greg Banks \u003cgnb@melbourne.sgi.com\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": "1a68d952af5f43032012d26dd0d5164c9e9986bc",
      "tree": "6c660f3ee27205a4c4f18883b2205f873cf396be",
      "parents": [
        "c45c357d7dbc9e94338f44349e0035149da86b26"
      ],
      "author": {
        "name": "Greg Banks",
        "email": "gnb@melbourne.sgi.com",
        "time": "Mon Oct 02 02:17:55 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Oct 02 07:57:19 2006 -0700"
      },
      "message": "[PATCH] knfsd: use new lock for svc_sock deferred list\n\nProtect the svc_sock-\u003esk_deferred list with a new lock svc_sock-\u003esk_defer_lock\ninstead of svc_serv-\u003esv_lock.  Using the more fine-grained lock reduces the\nnumber of places we need to take the svc_serv lock.\n\nSigned-off-by: Greg Banks \u003cgnb@melbourne.sgi.com\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": "c45c357d7dbc9e94338f44349e0035149da86b26",
      "tree": "b04388ccaccd5fb304b4bd8be57258d52e79f886",
      "parents": [
        "36bdfc8bae51339aa27ef8e4ce148185293061ae"
      ],
      "author": {
        "name": "Greg Banks",
        "email": "gnb@melbourne.sgi.com",
        "time": "Mon Oct 02 02:17:54 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Oct 02 07:57:19 2006 -0700"
      },
      "message": "[PATCH] knfsd: convert sk_inuse to atomic_t\n\nConvert the svc_sock-\u003esk_inuse counter from an int protected by\nsvc_serv-\u003esv_lock, to an atomic.  This reduces the number of places we need to\ntake the (effectively global) svc_serv-\u003esv_lock.\n\nSigned-off-by: Greg Banks \u003cgnb@melbourne.sgi.com\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": "36bdfc8bae51339aa27ef8e4ce148185293061ae",
      "tree": "deab54ff70d6991c1e5be0d9efe97d10f65375b0",
      "parents": [
        "4a3ae42dc312dbdffee803efaf393421b79f997a"
      ],
      "author": {
        "name": "Greg Banks",
        "email": "gnb@melbourne.sgi.com",
        "time": "Mon Oct 02 02:17:54 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Oct 02 07:57:19 2006 -0700"
      },
      "message": "[PATCH] knfsd: move tempsock aging to a timer\n\nFollowing are 11 patches from Greg Banks which combine to make knfsd more\nNuma-aware.  They reduce hitting on \u0027global\u0027 data structures, and create some\ndata-structures that can be node-local.\n\nknfsd threads are bound to a particular node, and the thread to handle a new\nrequest is chosen from the threads that are attach to the node that received\nthe interrupt.\n\nThe distribution of threads across nodes can be controlled by a new file in\nthe \u0027nfsd\u0027 filesystem, though the default approach of an even spread is\nprobably fine for most sites.\n\nSome (old) numbers that show the efficacy of these patches: N \u003d\u003d number of\nNICs \u003d\u003d number of CPUs \u003d\u003d nmber of clients.  Number of NUMA nodes \u003d\u003d N/2\n\nN\tThroughput, MiB/s\tCPU usage, % (max\u003dN*100)\n\tBefore\tAfter\t\tBefore\tAfter\n\t---\t------\t----\t\t-----\t-----\n\t4\t312\t435\t\t350\t228\n\t6\t500\t656\t\t501\t418\n\t8\t562\t804\t\t690\t589\n\nThis patch:\n\nMove the aging of RPC/TCP connection sockets from the main svc_recv() loop to\na timer which uses a mark-and-sweep algorithm every 6 minutes.  This reduces\nthe amount of work that needs to be done in the main RPC loop and the length\nof time we need to hold the (effectively global) svc_serv-\u003esv_lock.\n\n[akpm@osdl.org: cleanup]\nSigned-off-by: Greg Banks \u003cgnb@melbourne.sgi.com\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": "6fb2b47fa16c81317ec282248e6cff521cca31c2",
      "tree": "226d823e900aba03fb7ee55cab3a9137fd5d9077",
      "parents": [
        "896440d560de3bca6813e83792f431edf5073318"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Mon Oct 02 02:17:50 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Oct 02 07:57:18 2006 -0700"
      },
      "message": "[PATCH] knfsd: Drop \u0027serv\u0027 option to svc_recv and svc_process\n\nIt isn\u0027t needed as it is available in rqstp-\u003erq_server, and dropping it allows\nsome local vars to be dropped.\n\n[akpm@osdl.org: build fix]\nCc: \"J. Bruce Fields\" \u003cbfields@fieldses.org\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": "b41b66d63c730cc45a1024e1f1e67439e507e40f",
      "tree": "85f623c087a90ccf08a8264c638df5504f972c0d",
      "parents": [
        "80212d59e32a8a8e030c2ddc5861d8ff70542c56"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Mon Oct 02 02:17:48 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Oct 02 07:57:18 2006 -0700"
      },
      "message": "[PATCH] knfsd: allow sockets to be passed to nfsd via \u0027portlist\u0027\n\nUserspace should create and bind a socket (but not connectted) and write the\n\u0027fd\u0027 to portlist.  This will cause the nfs server to listen on that socket.\n\nTo close a socket, the name of the socket - as read from \u0027portlist\u0027 can be\nwritten to \u0027portlist\u0027 with a preceding \u0027-\u0027.\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": "80212d59e32a8a8e030c2ddc5861d8ff70542c56",
      "tree": "fb708f92e50ab8a1c13b68d4e6e3db8b50bd07a8",
      "parents": [
        "02a375f0ac4bc2e9b767fabb6b2f9915547226a7"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Mon Oct 02 02:17:47 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Oct 02 07:57:18 2006 -0700"
      },
      "message": "[PATCH] knfsd: define new nfsdfs file: portlist - contains list of ports\n\nThis file will list all ports that nfsd has open.\nDefault when TCP enabled will be\n   ipv4 udp 0.0.0.0 2049\n   ipv4 tcp 0.0.0.0 2049\n\nLater, the list of ports will be settable.\n\n\u0027portlist\u0027 chosen rather than \u0027ports\u0027, to avoid unnecessary confusion with\nnon-mainline patches which created \u0027ports\u0027 with different semantics.\n\n[akpm@osdl.org: cleanups, build fix]\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": "bc591ccff27e6a85d3a0d6fcb16cfadcc45267a8",
      "tree": "20692a805b32ce5541f7175192f8ab81975434ec",
      "parents": [
        "40f10522173c34e56cb9bf2fd37c62f69a427f1b"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Mon Oct 02 02:17:44 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Oct 02 07:57:17 2006 -0700"
      },
      "message": "[PATCH] knfsd: add a callback for when last rpc thread finishes\n\nnfsd has some cleanup that it wants to do when the last thread exits, and\nthere will shortly be some more.  So collect this all into one place and\ndefine a callback for an rpc service to call when the service is about to be\ndestroyed.\n\n[akpm@osdl.org: cleanups, build fix]\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": "d8ed029d6000ba2e2908d9286409e4833c091b4c",
      "tree": "732feaa2e3751df5c81032a30ff4761427492ac4",
      "parents": [
        "7699431301b189fca7ccbb64fe54e5a5170f8497"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Tue Sep 26 22:29:38 2006 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Thu Sep 28 18:01:21 2006 -0700"
      },
      "message": "[SUNRPC]: trivial endianness annotations\n\npure s/u32/__be32/\n\n[AV: large part based on Alexey\u0027s patches]\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "7699431301b189fca7ccbb64fe54e5a5170f8497",
      "tree": "4c20c5121776984cb054de3e0759cbeae860de3a",
      "parents": [
        "13d8eaa06abfeb708b60fa64203a20db033088b3"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Tue Sep 26 22:28:46 2006 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Thu Sep 28 18:01:20 2006 -0700"
      },
      "message": "[SUNRPC]: svc_{get,put}nl()\n\n* add svc_getnl():\n\tTake network-endian value from buffer, convert to host-endian\n\tand return it.\n* add svc_putnl():\n\tTake host-endian value, convert to network-endian and put it\n\tinto a buffer.\n* annotate svc_getu32()/svc_putu32() as dealing with network-endian.\n* convert to svc_getnl(), svc_putnl().\n\n[AV: in large part it\u0027s a carved-up Alexey\u0027s patch]\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "6b6ca86b77b62b798cf9ca2599036420abce7796",
      "tree": "cf631a3c293be45fa4bed54bca5dcbfc96a57df1",
      "parents": [
        "da45828e2835057045150b318c4fbe9bb91f18dd"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Sep 05 12:55:57 2006 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Sep 22 23:25:01 2006 -0400"
      },
      "message": "SUNRPC: Add refcounting to the struct rpc_xprt\n\nIn a subsequent patch, this will allow the portmapper to take a reference\nto the rpc_xprt for which it is updating the port number, fixing an Oops.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "158998b6fe36f6acef087f574c96d44713499cc9",
      "tree": "afc0f330e51135cdcf05bd8c268bf514165a4e4a",
      "parents": [
        "5dd3177ae5012c1e2ad7a9ffdbd0e0d0de2f60e4"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Aug 24 01:03:17 2006 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Sep 22 23:24:54 2006 -0400"
      },
      "message": "SUNRPC: Make rpc_mkpipe() take the parent dentry as an argument\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "ff9aa5e56df60cc8565a93cc868fe25ae3f20e49",
      "tree": "ae1045652699feacd18aecbc7023edd430c2695e",
      "parents": [
        "9e1968c58d72c4b85d8a69bda1e194f9701fb224"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Tue Aug 22 20:06:21 2006 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Sep 22 23:24:51 2006 -0400"
      },
      "message": "SUNRPC: Eliminate xprt_create_proto and rpc_create_client\n\nThe two function call API for creating a new RPC client is now obsolete.\nRemove it.\n\nAlso, remove an unnecessary check to see whether the caller is capable of\nusing privileged network services.  The kernel RPC client always uses a\nprivileged ephemeral port by default; callers are responsible for checking\nthe authority of users to make use of any RPC service, or for specifying\nthat a nonprivileged port is acceptable.\n\nTest plan:\nRepeated runs of Connectathon locking suite.  Check network trace to ensure\ncorrectness of NLM requests and replies.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "c2866763b4029411d166040306691773c12d4caf",
      "tree": "5b16b3a293843062234c5eaf377da2af93365266",
      "parents": [
        "6ca948238724c945bd353f51d54ae7d285f3889f"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Tue Aug 22 20:06:20 2006 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Sep 22 23:24:49 2006 -0400"
      },
      "message": "SUNRPC: use sockaddr + size when creating remote transport endpoints\n\nPrepare for more generic transport endpoint handling needed by transports\nthat might use different forms of addressing, such as IPv6.\n\nIntroduce a single function call to replace the two-call\nxprt_create_proto/rpc_create_client API.  Define a new rpc_create_args\nstructure that allows callers to pass in remote endpoint addresses of\nvarying length.\n\nTest-plan:\nCompile kernel with CONFIG_NFS enabled.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "6ca948238724c945bd353f51d54ae7d285f3889f",
      "tree": "222aa223d93a4ffc7e662e1d80bb3b5d28b5f1a2",
      "parents": [
        "c4efcb1d3e0bc76aeb9ca6301d19a5079893c6c9"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Tue Aug 22 20:06:19 2006 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Sep 22 23:24:49 2006 -0400"
      },
      "message": "SUNRPC: Clean-up after previous patches.\n\nRemove some unused macros related to accessing an RPC peer address\n\nTest plan:\nCompile kernel with CONFIG_NFS option enabled.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "c4efcb1d3e0bc76aeb9ca6301d19a5079893c6c9",
      "tree": "23f113b897f1ab2e00e4fcf774d93711d7f703b8",
      "parents": [
        "e7f7865743fff3d3938ec7540e5a784d662426da"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Tue Aug 22 20:06:19 2006 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Sep 22 23:24:48 2006 -0400"
      },
      "message": "SUNRPC: Use \"sockaddr_storage\" for storing RPC client\u0027s remote peer address\n\nIPv6 addresses are big (128 bytes).  Now that no RPC client consumers treat\nthe addr field in rpc_xprt structs as an opaque, and access it only via the\nAPI calls, we can safely widen the field in the rpc_xprt struct to\naccomodate larger addresses.\n\nTest plan:\nCompile kernel with CONFIG_NFS enabled.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "f425eba437f0051bde979ea2eef8bc875a77cd00",
      "tree": "c64aae65d42c1bd67604ec0ffe957c03dc3233fe",
      "parents": [
        "edb267a688fcee5335d596752f117a30c7152e44"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Tue Aug 22 20:06:18 2006 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Sep 22 23:24:48 2006 -0400"
      },
      "message": "SUNRPC: Create API for displaying remote peer address\n\nProvide an API for formatting the remote peer address for printing without\nexposing its internal structure.  The address could be dynamic, so we\nsupport a function call to get the address rather than reading it straight\nout of a structure.\n\nTest-plan:\nDestructive testing (unplugging the network temporarily).  Probably need\nto rig a server where certain services aren\u0027t running, or that returns an\nerror for some typical operation.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "edb267a688fcee5335d596752f117a30c7152e44",
      "tree": "b73a91f17f22baa81a3c0a4df1b01929680a2807",
      "parents": [
        "39d7bbcb5ba5e9d8d658b70903dd7939400e57db"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Tue Aug 22 20:06:18 2006 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Sep 22 23:24:47 2006 -0400"
      },
      "message": "SUNRPC: add xprt switch API for printing formatted remote peer addresses\n\nAdd a new method to the transport switch API to provide a way to convert\nthe opaque contents of xprt-\u003eaddr to a human-readable string.\n\nTest plan:\nCompile kernel with CONFIG_NFS enabled.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "ed39440a2573abc926f230267000f21fa5a87822",
      "tree": "f9b6ba1ce3a7f94fc9d3f4a3e82eea3fdcc965a6",
      "parents": [
        "bbf7c1dd2ae2b4040b41b1065ee9b1b6905b1605"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Tue Aug 22 20:06:17 2006 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Sep 22 23:24:45 2006 -0400"
      },
      "message": "SUNRPC: create API for getting remote peer address\n\nProvide an API for retrieving the remote peer address without allowing\ndirect access to the rpc_xprt struct.\n\nTest-plan:\nCompile kernel with CONFIG_NFS enabled.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "bbf7c1dd2ae2b4040b41b1065ee9b1b6905b1605",
      "tree": "b1867e722c1cc679b1834feeeeb21195f57dc873",
      "parents": [
        "5b1eacbcd78930d976eb50a93f1779d311b553d1"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Tue Aug 22 20:06:16 2006 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Sep 22 23:24:44 2006 -0400"
      },
      "message": "SUNRPC: Introduce transport switch callout for pluggable rpcbind\n\nIntroduce a clean transport switch API for plugging in different types of\nrpcbind mechanisms.  For instance, rpcbind can cleanly replace the\nexisting portmapper client, or a transport can choose to implement RPC\nbinding any way it likes.\n\nTest plan:\nDestructive testing (unplugging the network temporarily).  Connectathon\nwith UDP and TCP.  NFSv2/3 and NFSv4 mounting should be carefully checked.\nProbably need to rig a server where certain services aren\u0027t running, or\nthat returns an error for some typical operation.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "5b1eacbcd78930d976eb50a93f1779d311b553d1",
      "tree": "28e573a581f185a0f00e6dbd80435039e31d8c24",
      "parents": [
        "c4a5692fb83f23008c720fe84454d5603e80b103"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Tue Aug 22 20:06:16 2006 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Sep 22 23:24:40 2006 -0400"
      },
      "message": "SUNRPC: Support for RPC child tasks no longer needed\n\nThe previous patches removed the last user of RPC child tasks, so we can\nremove support for child tasks from net/sunrpc/sched.c now.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "4a68179d38874c37be2802442a71b847f5d1a2a9",
      "tree": "688b345744d182e303f96891d396a0ee1e43520a",
      "parents": [
        "ec739ef03dc926d05051c8c5838971445504470a"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Tue Aug 22 20:06:15 2006 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Sep 22 23:24:39 2006 -0400"
      },
      "message": "SUNRPC: Make RPC portmapper use per-transport storage\n\nMove connection and bind state that was maintained in the rpc_clnt\nstructure to the rpc_xprt structure.  This will allow the creation of\na clean API for plugging in different types of bind mechanisms.\n\nThis brings improvements such as the elimination of a single spin lock to\ncontrol serialization for all in-kernel RPC binding.  A set of per-xprt\nbitops is used to serialize tasks during RPC binding, just like it now\nworks for making RPC transport connections.\n\nTest-plan:\nDestructive testing (unplugging the network temporarily).  Connectathon\nwith UDP and TCP.  NFSv2/3 and NFSv4 mounting should be carefully checked.\nProbably need to rig a server where certain services aren\u0027t running, or\nthat returns an error for some typical operation.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "ec739ef03dc926d05051c8c5838971445504470a",
      "tree": "940d3dafd873c159c1279ade15ba11ede1d12983",
      "parents": [
        "9c5bf38d85a31b946664bcc21078ef5bb10672f7"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Tue Aug 22 20:06:15 2006 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Sep 22 23:24:39 2006 -0400"
      },
      "message": "SUNRPC: Create a helper to tell whether a transport is bound\n\nHide the contents and format of xprt-\u003eaddr by eliminating direct uses\nof the xprt-\u003eaddr.sin_port field.  This change is required to support\nalternate RPC host address formats (eg IPv6).\n\nTest-plan:\nDestructive testing (unplugging the network temporarily).  Repeated runs of\nConnectathon locking suite with UDP and TCP.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "e6e5fee1426bef07f4e6c3c76f48343c14207938",
      "tree": "28f4ca26cf85e0971e9bb4927c439b36c2b93f51",
      "parents": [
        "3e59ddff2b8dfe42b15520c4f8f2486bd9f9708e",
        "fadcfa33b6319a5faf8af2287f08bf93a7f926b6"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Sep 22 12:56:22 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Sep 22 12:56:22 2006 -0700"
      },
      "message": "Merge git://git.infradead.org/~dwmw2/hdroneline\n\n* git://git.infradead.org/~dwmw2/hdroneline:\n  [HEADERS] One line per header in Kbuild files to reduce conflicts\n\nManual (trivial) conflict resolution in include/asm-s390/Kbuild\n"
    },
    {
      "commit": "378c6697a282c383d89428380a3405bf95189347",
      "tree": "3127c641dd07694199cd4e89c9cd5c155c4eb560",
      "parents": [
        "6b7326c8497f954c2cfcb4c49fe42be5b80887bc"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Tue Aug 22 20:33:54 2006 +1000"
      },
      "committer": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Thu Sep 21 11:46:15 2006 +1000"
      },
      "message": "[SUNRPC] GSS: Use block ciphers where applicable\n\nThis patch converts SUNRPC/GSS to use the new block cipher type where\napplicable.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\n"
    },
    {
      "commit": "fadcfa33b6319a5faf8af2287f08bf93a7f926b6",
      "tree": "367e931ec64a88c20a4d15c351d4c7dbb1b7adf1",
      "parents": [
        "47a5c6fa0e204a2b63309c648bb2fde36836c826"
      ],
      "author": {
        "name": "David Woodhouse",
        "email": "dwmw2@infradead.org",
        "time": "Tue Sep 19 12:43:58 2006 +0100"
      },
      "committer": {
        "name": "David Woodhouse",
        "email": "dwmw2@infradead.org",
        "time": "Tue Sep 19 12:43:58 2006 +0100"
      },
      "message": "[HEADERS] One line per header in Kbuild files to reduce conflicts\n\nSigned-off-by: David Woodhouse \u003cdwmw2@infradead.org\u003e\n"
    },
    {
      "commit": "8e037094c414172481c5ce903efdab50ce932343",
      "tree": "31e97632e2b0ac49c30cdc5c2138b92ddceec227",
      "parents": [
        "79558f3610efd7928e8882b2eaca3093b283630e"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Tue Aug 22 20:06:15 2006 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Aug 24 15:51:32 2006 -0400"
      },
      "message": "SUNRPC: avoid choosing an IPMI port for RPC traffic\n\nSome hardware uses port 664 for its hardware-based IPMI listener.  Teach\nthe RPC client to avoid using that port by raising the default minimum port\nnumber to 665.\n\nTest plan:\nFind a mainboard known to use port 664 for IPMI; enable IPMI; mount NFS\nservers in a tight loop.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n(cherry picked from 58e8cb3a035d22fc386e1c53a5d98c3f219530fb commit)\n"
    },
    {
      "commit": "dff02cc1a34fcb60904a2c57cb351857cc11219e",
      "tree": "e15957078e7f03f8b2b758cee0f7362d42f83c80",
      "parents": [
        "5d67476fff2df6ff12f60b540fd0e74cf2a668f9"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Jul 31 14:17:18 2006 -0700"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Aug 24 15:50:32 2006 -0400"
      },
      "message": "NFS: clean up rpc_rmdir\n\nMake it take a dentry argument instead of a path\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n(cherry picked from 648d4116eb2509f010f7f34704a650150309b3e7 commit)\n"
    },
    {
      "commit": "5d67476fff2df6ff12f60b540fd0e74cf2a668f9",
      "tree": "d1428c5562ce6b24919da18c44746d363e9864e1",
      "parents": [
        "a634904a7de0d3a0bc606f608007a34e8c05bfee"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Jul 31 14:11:48 2006 -0700"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Aug 24 15:50:07 2006 -0400"
      },
      "message": "SUNRPC: make rpc_unlink() take a dentry argument instead of a path\n\nSigne-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n(cherry picked from 88bf6d811b01a4be7fd507d18bf5f1c527989089 commit)\n"
    },
    {
      "commit": "e0ab53deaa91293a7958d63d5a2cf4c5645ad6f0",
      "tree": "1117ac18e263222ad91f3af90ddcaf65f37b79f6",
      "parents": [
        "f3d43c769d14b7065da7f62ec468b1fcb8cd6e06"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Jul 27 17:22:50 2006 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Aug 03 16:56:55 2006 -0400"
      },
      "message": "RPC: Ensure that we disconnect TCP socket when client requests error out\n\nIf we\u0027re part way through transmitting a TCP request, and the client\nerrors, then we need to disconnect and reconnect the TCP socket in order to\navoid confusing the server.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n(cherry picked from 031a50c8b9ea82616abd4a4e18021a25848941ce commit)\n"
    },
    {
      "commit": "6fa0cb1141da80eed4f86155fb51931bc1c31888",
      "tree": "df9b3c378ae4f44260eaae1a4b9d5c4ccf7bb641",
      "parents": [
        "c6482dde1c2811afba289b2344268f850595f350",
        "257a5bdeb0441789d8e34e1b3e92b26d0f51bbf0"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Jul 04 12:55:45 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Jul 04 12:55:45 2006 -0700"
      },
      "message": "Merge git://git.infradead.org/hdrinstall-2.6\n\n* git://git.infradead.org/hdrinstall-2.6:\n  Remove export of include/linux/isdn/tpam.h\n  Remove \u003clinux/i2c-id.h\u003e and \u003clinux/i2c-algo-ite.h\u003e from userspace export\n  Restrict headers exported to userspace for SPARC and SPARC64\n  Add empty Kbuild files for \u0027make headers_install\u0027 in remaining arches.\n  Add Kbuild file for Alpha \u0027make headers_install\u0027\n  Add Kbuild file for SPARC \u0027make headers_install\u0027\n  Add Kbuild file for IA64 \u0027make headers_install\u0027\n  Add Kbuild file for S390 \u0027make headers_install\u0027\n  Add Kbuild file for i386 \u0027make headers_install\u0027\n  Add Kbuild file for x86_64 \u0027make headers_install\u0027\n  Add Kbuild file for PowerPC \u0027make headers_install\u0027\n  Add generic Kbuild files for \u0027make headers_install\u0027\n  Basic implementation of \u0027make headers_check\u0027\n  Basic implementation of \u0027make headers_install\u0027\n"
    },
    {
      "commit": "5c04c46aec16b3267d8fe03af886f2d41e448cd0",
      "tree": "c46f4e70423f4f37f73f9e875a7059c0ca2ccf3f",
      "parents": [
        "e142ede8e064cb1ae9c2bfb17f36ab145b95ccd2"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Jun 30 01:56:19 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Jun 30 11:25:41 2006 -0700"
      },
      "message": "[PATCH] knfsd: nfsd: mark rqstp to prevent use of sendfile in privacy case\n\nAdd a rq_sendfile_ok flag to svc_rqst which will be cleared in the privacy\ncase so that the wrapping code will get copies of the read data instead of\nreal page cache pages.  This makes life simpler when we encrypt the response.\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"
    }
  ],
  "next": "d6e05edc59ecd79e8badf440c0d295a979bdfa3e"
}
