)]}'
{
  "log": [
    {
      "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"
    },
    {
      "commit": "d6e05edc59ecd79e8badf440c0d295a979bdfa3e",
      "tree": "50362161f69317242ab603c51a18a818a4c93285",
      "parents": [
        "f18190bd3407554ba6df30a1927e07e6cba93e56"
      ],
      "author": {
        "name": "Andreas Mohr",
        "email": "andi@lisas.de",
        "time": "Mon Jun 26 18:35:02 2006 +0200"
      },
      "committer": {
        "name": "Adrian Bunk",
        "email": "bunk@stusta.de",
        "time": "Mon Jun 26 18:35:02 2006 +0200"
      },
      "message": "spelling fixes\n\nacquired (aquired)\ncontiguous (contigious)\nsuccessful (succesful, succesfull)\nsurprise (suprise)\nwhether (weather)\nsome other misspellings\n\nSigned-off-by: Andreas Mohr \u003candi@lisas.de\u003e\nSigned-off-by: Adrian Bunk \u003cbunk@stusta.de\u003e\n"
    },
    {
      "commit": "70ac4385a13f78bc478f26d317511893741b05bd",
      "tree": "dafc7f3018295fc4ee00339889e4f35d5b9d7743",
      "parents": [
        "d59bf96cdde5b874a57bfd1425faa45da915d0b7",
        "077e98945db7e54a9865b5f29a1f02f531eca414"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Jun 20 20:46:21 2006 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Jun 20 20:46:21 2006 -0400"
      },
      "message": "Merge branch \u0027master\u0027 of /home/trondmy/kernel/linux-2.6/\n\nConflicts:\n\n\tinclude/linux/nfs_fs.h\n\nFixed up conflict with kernel header updates.\n"
    },
    {
      "commit": "8555255f0b426858d8648c6206b70eb906cf4ec7",
      "tree": "3afe2ae27f6390bd6cb2350a578fafc690fa7803",
      "parents": [
        "684753599afc76aa8f66c731bafb7204b39265b8"
      ],
      "author": {
        "name": "David Woodhouse",
        "email": "dwmw2@infradead.org",
        "time": "Sun Jun 18 12:14:01 2006 +0100"
      },
      "committer": {
        "name": "David Woodhouse",
        "email": "dwmw2@infradead.org",
        "time": "Sun Jun 18 12:14:01 2006 +0100"
      },
      "message": "Add generic Kbuild files for \u0027make headers_install\u0027\n\nThis adds the Kbuild files listing the files which are to be installed by\nthe \u0027headers_install\u0027 make target, in generic directories.\n\nSigned-off-by: David Woodhouse \u003cdwmw2@infradead.org\u003e\n"
    },
    {
      "commit": "8b23ea7bedb8b45a5bb56745fa3ff11018acf04e",
      "tree": "b312b3d0d9e27704792fd7dfcd9bc041b1122bef",
      "parents": [
        "51d8fa6a109589d522c18a8e9bf3fb167a91b1bc"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Jun 09 09:34:21 2006 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Jun 09 09:34:21 2006 -0400"
      },
      "message": "RPC: Allow struc xdr_stream to read the page section of an xdr_buf\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "62c4f0a2d5a188f73a94f2cb8ea0dba3e7cf0a7f",
      "tree": "e85ca2d0dd43f90dccf758338764c3caa55f333f",
      "parents": [
        "089f26d5e31b7bf42a9a8fefec08b30cd27f4b0e"
      ],
      "author": {
        "name": "David Woodhouse",
        "email": "dwmw2@infradead.org",
        "time": "Wed Apr 26 12:56:16 2006 +0100"
      },
      "committer": {
        "name": "David Woodhouse",
        "email": "dwmw2@infradead.org",
        "time": "Wed Apr 26 12:56:16 2006 +0100"
      },
      "message": "Don\u0027t include linux/config.h from anywhere else in include/\n\nSigned-off-by: David Woodhouse \u003cdwmw2@infradead.org\u003e\n"
    },
    {
      "commit": "1af042271f9bf7601f7ecf4d328ccde3a44d2c72",
      "tree": "9c1dea25088aed63a29b2f759edfb6fbca2a186c",
      "parents": [
        "eae19a762de975e109394b1edcba6587323c7d1a"
      ],
      "author": {
        "name": "David Woodhouse",
        "email": "dwmw2@infradead.org",
        "time": "Tue Apr 25 15:16:44 2006 +0100"
      },
      "committer": {
        "name": "David Woodhouse",
        "email": "dwmw2@infradead.org",
        "time": "Tue Apr 25 15:16:44 2006 +0100"
      },
      "message": "Sanitise linux/sunrpc/debug.h for userspace consumption\n\nMove some inclusion of private header files and the definition of\nRPC_DEBUG inside the existing #ifdef __KERNEL__\n\nSigned-off-by: David Woodhouse \u003cdwmw2@infradead.org\u003e\n"
    },
    {
      "commit": "e99170ff3b799a9fd43d538932a9231fac1de9d4",
      "tree": "b5926023a010c4f8b3993ff6d06cfd51a9462613",
      "parents": [
        "7866babad542bb5e1dc95deb5800b577abef58dd"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Apr 18 13:21:42 2006 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Apr 19 12:43:47 2006 -0400"
      },
      "message": "NFS,SUNRPC: Fix compiler warnings if CONFIG_PROC_FS \u0026 CONFIG_SYSCTL are unset\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "7866babad542bb5e1dc95deb5800b577abef58dd",
      "tree": "01d8cca76bfcc7b60262adbbbe871b16c32064d5",
      "parents": [
        "95cf959b245832ad49bb333bf88f9805244b225d"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@stusta.de",
        "time": "Tue Apr 18 13:14:13 2006 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Apr 19 12:43:46 2006 -0400"
      },
      "message": "NFS: fix PROC_FS\u003dn compile error\n\nfs/built-in.o: In function `nfs_show_stats\u0027:inode.c:(.text+0x15481a): undefined reference to `rpc_print_iostats\u0027\nnet/built-in.o: In function `rpc_destroy_client\u0027: undefined reference to `rpc_free_iostats\u0027\nnet/built-in.o: In function `rpc_clone_client\u0027: undefined reference to `rpc_alloc_iostats\u0027\nnet/built-in.o: In function `rpc_new_client\u0027: undefined reference to `rpc_alloc_iostats\u0027\nnet/built-in.o: In function `xprt_release\u0027: undefined reference to `rpc_count_iostats\u0027\nmake: *** [.tmp_vmlinux1] Error 1\n\nSigned-off-by: Adrian Bunk \u003cbunk@stusta.de\u003e\nCc: Trond Myklebust \u003ctrond.myklebust@fys.uio.no\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "6f54e2d0d3a904e55c9c50b78542072f6c42080e",
      "tree": "cde5f03d8e80477c7bebcde0e41c48df85dd9846",
      "parents": [
        "dfee55f06213a23b250ea63ba41caa461cdd5e72"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Mon Apr 10 22:55:36 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Apr 11 06:18:52 2006 -0700"
      },
      "message": "[PATCH] knfsd: svcrpc: WARN() instead of returning an error from svc_take_page\n\nEvery caller of svc_take_page ignores its return value and assumes it\nsucceeded.  So just WARN() instead of returning an ignored error.  This would\nhave saved some time debugging a recent nfsd4 problem.\n\nIf there are still failure cases here, then the result is probably that we\noverwrite an earlier part of the reply while xdr-encoding.\n\nWhile the corrupted reply is a nasty bug, it would be worse to panic here and\ncreate the possibility of a remote DOS; hence WARN() instead of BUG().\n\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\nCc: Ingo Oeser \u003cioe-lkml@rameria.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "99ac48f54a91d02140c497edc31dc57d4bc5c85d",
      "tree": "68719391694a6914191bdf73d2071875f7653f6f",
      "parents": [
        "ec1b9466cb4f6ae6d950bd67055d9410d1056d2a"
      ],
      "author": {
        "name": "Arjan van de Ven",
        "email": "arjan@infradead.org",
        "time": "Tue Mar 28 01:56:41 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Mar 28 09:16:05 2006 -0800"
      },
      "message": "[PATCH] mark f_ops const in the inode\n\nMark the f_ops members of inodes as const, as well as fix the\nripple-through this causes by places that copy this f_ops and then \"do\nstuff\" with it.\n\nSigned-off-by: Arjan van de Ven \u003carjan@infradead.org\u003e\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "74cae61ab45f19a3e8c4d9f53c0e94df129c7915",
      "tree": "73ad8b7c562c5e790777b4c93352f739b521f382",
      "parents": [
        "baab935ff3bdac20c558809da0d8e8f761840219"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@stusta.de",
        "time": "Mon Mar 27 01:15:10 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Mar 27 08:44:43 2006 -0800"
      },
      "message": "[PATCH] fs/nfsd/export.c,net/sunrpc/cache.c: make needlessly global code static\n\nWe can now make some code static.\n\nSigned-off-by: Adrian Bunk \u003cbunk@stusta.de\u003e\nCc: Neil Brown \u003cneilb@suse.de\u003e\nCc: Trond Myklebust \u003ctrond.myklebust@fys.uio.no\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "baab935ff3bdac20c558809da0d8e8f761840219",
      "tree": "a22c3189505fe8e7ab3820c988ffd771c0b64fa6",
      "parents": [
        "ebd0cb1af3be2729cc1f574681dfba01fcf458d9"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Mon Mar 27 01:15:09 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Mar 27 08:44:43 2006 -0800"
      },
      "message": "[PATCH] knfsd: Convert sunrpc_cache to use krefs\n\n.. it makes some of the code nicer.\n\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "ebd0cb1af3be2729cc1f574681dfba01fcf458d9",
      "tree": "ed97a94406ed973573576fca585e1c87c15a4d05",
      "parents": [
        "4d90452cb23b08a9a9dd001010f0ee6b1ee83a45"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Mon Mar 27 01:15:08 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Mar 27 08:44:43 2006 -0800"
      },
      "message": "[PATCH] knfsd: Unexport cache_fresh and fix a small race\n\nCache_fresh is now only used in cache.c, so unexport it.\n\nPart of cache_fresh (setting CACHE_VALID) should really be done under the\nlock, while part (calling cache_revisit_request etc) must be done outside the\nlock.  So we split it up appropriately.\n\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "4d90452cb23b08a9a9dd001010f0ee6b1ee83a45",
      "tree": "b48e804c037e6c4fc4afc95709acfb4c7b90ef97",
      "parents": [
        "4013edea9a0b6cdcb1fdf5d4011e47e068fd6efb"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Mon Mar 27 01:15:07 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Mar 27 08:44:42 2006 -0800"
      },
      "message": "[PATCH] knfsd: Remove DefineCacheLookup\n\nThis has been replaced by more traditional code.\n\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "15a5f6bd23eddd5b3be80366f364be04fb1c1c99",
      "tree": "e3c4fa8eb9e8b21ebca33370b7a93eab11662a5d",
      "parents": [
        "7d317f2c9f1e9dcf4f632fa98f91d1d4a36c4cae"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Mon Mar 27 01:15:02 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Mar 27 08:44:41 2006 -0800"
      },
      "message": "[PATCH] knfsd: Create cache_lookup function instead of using a macro to declare one\n\nThe C++-like \u0027template\u0027 approach proves to be too ugly and hard to work with.\n\nThe old \u0027template\u0027 won\u0027t go away until all users are updated.\n\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "7d317f2c9f1e9dcf4f632fa98f91d1d4a36c4cae",
      "tree": "7794c88facd3943a7496f7d41c2b7eb24a5d0be0",
      "parents": [
        "eab7e2e647c348b418e8715ecaca0177e1b473c7"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Mon Mar 27 01:15:01 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Mar 27 08:44:41 2006 -0800"
      },
      "message": "[PATCH] knfsd: Get rid of \u0027inplace\u0027 sunrpc caches\n\nThese were an unnecessary wart.  Also only have one \u0027DefineSimpleCache..\u0027\ninstead of two.\n\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "efc36aa5608f5717338747e152c23f2cfdb14697",
      "tree": "ab444f6e6c88ed07a8d5a034777c10de50e663fd",
      "parents": [
        "3e7b19198003fc25b11838e709f17d4fa173b2d7"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Mon Mar 27 01:14:59 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Mar 27 08:44:41 2006 -0800"
      },
      "message": "[PATCH] knfsd: Change the store of auth_domains to not be a \u0027cache\u0027\n\nThe \u0027auth_domain\u0027s are simply handles on internal data structures.  They do\nnot cache information from user-space, and forcing them into the mold of a\n\u0027cache\u0027 misrepresents their true nature and causes confusion.\n\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "1ebbe2b20091d306453a5cf480a87e6cd28ae76f",
      "tree": "f5cd7a0fa69b8b1938cb5a0faed2e7b0628072a5",
      "parents": [
        "ac58c9059da8886b5e8cde012a80266b18ca146e",
        "674a396c6d2ba0341ebdd7c1c9950f32f018e2dd"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Mar 23 23:44:19 2006 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Mar 23 23:44:19 2006 -0500"
      },
      "message": "Merge branch \u0027linus\u0027\n"
    },
    {
      "commit": "57b47a53ec4a67691ba32cff5768e8d78fa6c67f",
      "tree": "d735ae4734f7b386eefa508a0629715f45808d1d",
      "parents": [
        "6613f82dd293b23f582a649b287fadbf8d23e6cf"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Mar 20 22:35:41 2006 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Mar 20 22:35:41 2006 -0800"
      },
      "message": "[NET]: sem2mutex part 2\n\nSemaphore to mutex conversion.\n\nThe conversion was generated via scripts, and the result was validated\nautomatically via a script as well.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "eaa82edf20d738a7ae31f4b0a5f72f64c14a58df",
      "tree": "57c3244912dc5d15ca7a738ba7358bbd2616b1d9",
      "parents": [
        "096455a22acac06fb6d0d75f276170ab72d55ba6"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@fieldses.org",
        "time": "Mon Mar 20 23:24:04 2006 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Mar 20 23:24:04 2006 -0500"
      },
      "message": "SUNRPC,RPCSEC_GSS: fix krb5 sequence numbers.\n\nUse a spinlock to ensure unique sequence numbers when creating krb5 gss tokens.\n\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "5428154827c2bf7cfdc9dab60db1e0eaa57c027a",
      "tree": "ec2e6c9119ad76cad353a50da2be3ac71adbf54d",
      "parents": [
        "a9a801787a761616589a6526d7a29c13f4deb3d8"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Mar 20 13:44:49 2006 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Mar 20 13:44:49 2006 -0500"
      },
      "message": "SUNRPC: Fix a \u0027Busy inodes\u0027 error in rpc_pipefs\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "dead28da8e3fb32601d38fb32b7021122e0a3d21",
      "tree": "a1a23e27e08345c86ed0d9812f848470b615eb34",
      "parents": [
        "cc0175c1dc1de8f6af0eb0631dcc5b999a6fcc42"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "cel@netapp.com",
        "time": "Mon Mar 20 13:44:23 2006 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Mar 20 13:44:23 2006 -0500"
      },
      "message": "SUNRPC: eliminate rpc_call()\n\nClean-up: replace rpc_call() helper with direct call to rpc_call_sync.\n\nThis makes NFSv2 and NFSv3 synchronous calls more computationally\nefficient, and reduces stack consumption in functions that used to\ninvoke rpc_call more than once.\n\nTest plan:\nCompile kernel with CONFIG_NFS enabled.  Connectathon on NFS version 2,\nversion 3, and version 4 mount points.\n\nSigned-off-by: Chuck Lever \u003ccel@netapp.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "cc0175c1dc1de8f6af0eb0631dcc5b999a6fcc42",
      "tree": "b219a9c16f0ef3ff0982450c32aa0f09d503782a",
      "parents": [
        "4ece3a2d18fd7fe1d4972284a8c98c569020093f"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "cel@netapp.com",
        "time": "Mon Mar 20 13:44:22 2006 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Mar 20 13:44:22 2006 -0500"
      },
      "message": "SUNRPC: display human-readable procedure name in rpc_iostats output\n\nAdd fields to the rpc_procinfo struct that allow the display of a\nhuman-readable name for each procedure in the rpc_iostats output.\n\nAlso fix it so that the NFSv4 stats are broken up correctly by\nsub-procedure number.  NFSv4 uses only two real RPC procedures:\nNULL, and COMPOUND.\n\nTest plan:\nMount with NFSv2, NFSv3, and NFSv4, and do \"cat /proc/self/mountstats\".\n\nSigned-off-by: Chuck Lever \u003ccel@netapp.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "11c556b3d8d481829ab5f9933a25d29b00913b5a",
      "tree": "d1127fa5d22aeb035ca9977abbc73a29d5436fbe",
      "parents": [
        "ef759a2e54ed434b2f72b52a14edecd6d4eadf74"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "cel@netapp.com",
        "time": "Mon Mar 20 13:44:22 2006 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Mar 20 13:44:22 2006 -0500"
      },
      "message": "SUNRPC: provide a mechanism for collecting stats in the RPC client\n\nAdd a simple mechanism for collecting stats in the RPC client.  Stats are\ntabulated during xprt_release.  Note that per_cpu shenanigans are not\nrequired here because the RPC client already serializes on the transport\nwrite lock.\n\nTest plan:\nCompile kernel with CONFIG_NFS enabled.  Basic performance regression\ntesting with high-speed networking and high performance server.\n\nSigned-off-by: Chuck Lever \u003ccel@netapp.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "ef759a2e54ed434b2f72b52a14edecd6d4eadf74",
      "tree": "aa495ef4691387839146683dfae0f0084fbe6137",
      "parents": [
        "262ca07de4d7f1bff20361c1353bb14b3607afb2"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "cel@netapp.com",
        "time": "Mon Mar 20 13:44:17 2006 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Mar 20 13:44:17 2006 -0500"
      },
      "message": "SUNRPC: introduce per-task RPC iostats\n\nAccount for various things that occur while an RPC task is executed.\nSeparate timers for RPC round trip and RPC execution time show how\nlong RPC requests wait in queue before being sent.  Eventually these\nwill be accumulated at xprt_release time in one place where they can\nbe viewed from userland.\n\nTest plan:\nCompile kernel with CONFIG_NFS enabled.\n\nSigned-off-by: Chuck Lever \u003ccel@netapp.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "262ca07de4d7f1bff20361c1353bb14b3607afb2",
      "tree": "e448a66b4549bbd660f76e81da0067d762a4732e",
      "parents": [
        "e19b63dafdf7d615b0d36b90990a07e7792b9d3a"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "cel@netapp.com",
        "time": "Mon Mar 20 13:44:16 2006 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Mar 20 13:44:16 2006 -0500"
      },
      "message": "SUNRPC: add a handful of per-xprt counters\n\nMonitor generic transport events.  Add a transport switch callout to\nformat transport counters for export to user-land.\n\nTest plan:\nCompile kernel with CONFIG_NFS enabled.\n\nSigned-off-by: Chuck Lever \u003ccel@netapp.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "e19b63dafdf7d615b0d36b90990a07e7792b9d3a",
      "tree": "45474992fd5d6a1f4c4c49068ec6383429618515",
      "parents": [
        "67ec9f46b889bfb1ab0a4e307d53929d5f0692bf"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "cel@netapp.com",
        "time": "Mon Mar 20 13:44:15 2006 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Mar 20 13:44:15 2006 -0500"
      },
      "message": "SUNRPC: track length of RPC wait queues\n\nRPC wait queue length will eventually be exported to userland via the RPC\niostats interface.\n\nTest plan:\nCompile kernel with CONFIG_NFS enabled.\n\nSigned-off-by: Chuck Lever \u003ccel@netapp.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "24c5d9d7ea5a64fb5f157d17aa2c67a3300f8a08",
      "tree": "8bb08d685a2f4a64a235561498f9113182b411dc",
      "parents": [
        "f344f6df4b2baa3e5c553c461735dfaf92f44be7"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Mar 20 13:44:08 2006 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Mar 20 13:44:08 2006 -0500"
      },
      "message": "SUNRPC: Run rpci-\u003equeue_timeout on the rpciod workqueue instead of generic\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "00b464debf0038b1628996065f0be564ccfbfd86",
      "tree": "f2bd69a86f66b20db2591fe427120b4a4804c0c0",
      "parents": [
        "1935245655996ca4d14e687c3a100d2e2bbdc78d"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Feb 01 12:49:28 2006 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Feb 01 12:52:25 2006 -0500"
      },
      "message": "SUNRPC: Remove obsolete rpcauth #defines\n\n RPCAUTH_CRED_LOCKED, and RPC_AUTH_PROC_CREDS are unused. Kill them.\n\n Signed-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "fba3bad488a2eec2d76c067edb7a5ff92ef42431",
      "tree": "a7cee933e9089e5c187008b396ee7bcbdb57ff80",
      "parents": [
        "adb12f63e0f837078c6832fa2c90649ddeaab54f"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Feb 01 12:19:27 2006 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Feb 01 12:52:25 2006 -0500"
      },
      "message": "SUNRPC: Move upcall out of auth-\u003eau_ops-\u003ecrcreate()\n\n This fixes a bug whereby if two processes try to look up the same auth_gss\n credential, they may end up creating two creds, and triggering two upcalls\n because the upcall is performed before the credential is added to the\n credcache.\n\n Signed-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "8a3177604b729ec3b80e43790ee978863ac7551b",
      "tree": "6eeafbdae55e2b0821e524f2c16bca52fa150cdc",
      "parents": [
        "aaaa99423b4b1f9cfd33ea5643d9274c25f62491"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Feb 01 12:18:36 2006 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Feb 01 12:52:23 2006 -0500"
      },
      "message": "SUNRPC: Fix a lock recursion in the auth_gss downcall\n\n When we look up a new cred in the auth_gss downcall so that we can stuff\n the credcache, we do not want that lookup to queue up an upcall in order\n to initialise it. To do an upcall here not only redundant, but since we\n are already holding the inode-\u003ei_mutex, it will trigger a lock recursion.\n\n This patch allows rpcauth cache searches to indicate that they can cope\n with uninitialised credentials.\n\n Signed-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "1918e341383ab787d6c5b17200f4ed901b10c777",
      "tree": "5644f3d1ecfbc104ed956ad674785ee69348df41",
      "parents": [
        "7e8f05934d540aeb45c1cc3cc3a0e811bd61866b"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Wed Jan 18 17:43:16 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Jan 18 19:20:24 2006 -0800"
      },
      "message": "[PATCH] svcrpc: save and restore the daddr field when request deferred\n\nThe server code currently keeps track of the destination address on every\nrequest so that it can reply using the same address.  However we forget to do\nthat in the case of a deferred request.  Remedy this oversight.  \u003eFrom folks\nat PolyServe.\n\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "9eed129bbde80cbd7ffeacaa1555ba1e0c9a0997",
      "tree": "49066f9b5321e09cf9696e5b69d454bf1e393eb0",
      "parents": [
        "26c78e156b1d1b2387ec33b5f2fb62d6e0a186a3"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@fieldses.org",
        "time": "Tue Jan 03 09:56:00 2006 +0100"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Jan 06 14:58:59 2006 -0500"
      },
      "message": "SUNRPC: Update the spkm3 code to use the make_checksum interface\n\n Also update the tokenlen calculations to accomodate g_token_size().\n\n Signed-off-by: Andy Adamson \u003candros@citi.umich.edu\u003e\n Signed-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n Signed-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "632e3bdc5006334cea894d078660b691685e1075",
      "tree": "c18dbe84dfe679d19a581ea0c9bfb931daa08917",
      "parents": [
        "eadb8c147154bff982f02accf31b847a1f142ace"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Jan 03 09:55:55 2006 +0100"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Jan 06 14:58:57 2006 -0500"
      },
      "message": "SUNRPC: Ensure client closes the socket when server initiates a close\n\n If the server decides to close the RPC socket, we currently don\u0027t actually\n respond until either another RPC call is scheduled, or until xprt_autoclose()\n gets called by the socket expiry timer (which may be up to 5 minutes\n later).\n\n This patch ensures that xprt_autoclose() is called much sooner if the\n server closes the socket.\n\n Signed-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "f518e35aec984036903c1003e867f833747a9d79",
      "tree": "2697838e0b1e6cc80565204de8b46430ded1246a",
      "parents": [
        "922004120b10dcb0ce04b55014168e8a7a8c1a0e"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "cel@netapp.com",
        "time": "Tue Jan 03 09:55:52 2006 +0100"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Jan 06 14:58:56 2006 -0500"
      },
      "message": "SUNRPC: get rid of cl_chatty\n\n Clean up: Every ULP that uses the in-kernel RPC client, except the NLM\n client, sets cl_chatty.  There\u0027s no reason why NLM shouldn\u0027t set it, so\n just get rid of cl_chatty and always be verbose.\n\n Test-plan:\n Compile with CONFIG_NFS enabled.\n\n Signed-off-by: Chuck Lever \u003ccel@netapp.com\u003e\n Signed-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "922004120b10dcb0ce04b55014168e8a7a8c1a0e",
      "tree": "4209bbd1043d9ddf09f2f277a65af758aa3631da",
      "parents": [
        "35f5a422ce1af836007f811b613c440d0e348e06"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "cel@netapp.com",
        "time": "Tue Jan 03 09:55:51 2006 +0100"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Jan 06 14:58:56 2006 -0500"
      },
      "message": "SUNRPC: transport switch API for setting port number\n\n At some point, transport endpoint addresses will no longer be IPv4.  To hide\n the structure of the rpc_xprt\u0027s address field from ULPs and port mappers,\n add an API for setting the port number during an RPC bind operation.\n\n Test-plan:\n Destructive testing (unplugging the network temporarily).  Connectathon\n with UDP and TCP.  NFSv2/3 and NFSv4 mounting should be carefully checked.\n Probably need to rig a server where certain services aren\u0027t running, or\n that returns an error for some typical operation.\n\n Signed-off-by: Chuck Lever \u003ccel@netapp.com\u003e\n Signed-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "35f5a422ce1af836007f811b613c440d0e348e06",
      "tree": "25aac5cccce27a6ed5ebb4e161f813af2adbaf56",
      "parents": [
        "02107148349f31eee7c0fb06fd7a880df73dbd20"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "cel@netapp.com",
        "time": "Tue Jan 03 09:55:50 2006 +0100"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Jan 06 14:58:56 2006 -0500"
      },
      "message": "SUNRPC: new interface to force an RPC rebind\n\n We\u0027d like to hide fields in rpc_xprt and rpc_clnt from upper layer protocols.\n Start by creating an API to force RPC rebind, replacing logic that simply\n sets cl_port to zero.\n\n Test-plan:\n Destructive testing (unplugging the network temporarily).  Connectathon\n with UDP and TCP.  NFSv2/3 and NFSv4 mounting should be carefully checked.\n Probably need to rig a server where certain services aren\u0027t running, or\n that returns an error for some typical operation.\n\n Signed-off-by: Chuck Lever \u003ccel@netapp.com\u003e\n Signed-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "02107148349f31eee7c0fb06fd7a880df73dbd20",
      "tree": "37bffd81e08b8e50394ce89a1aa7a3961f0ffbe7",
      "parents": [
        "03c21733938aad0758f5f88e1cc7ede69fc3c910"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "cel@netapp.com",
        "time": "Tue Jan 03 09:55:49 2006 +0100"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Jan 06 14:58:55 2006 -0500"
      },
      "message": "SUNRPC: switchable buffer allocation\n\n Add RPC client transport switch support for replacing buffer management\n on a per-transport basis.\n\n In the current IPv4 socket transport implementation, RPC buffers are\n allocated as needed for each RPC message that is sent.  Some transport\n implementations may choose to use pre-allocated buffers for encoding,\n sending, receiving, and unmarshalling RPC messages, however.  For\n transports capable of direct data placement, the buffers can be carved\n out of a pre-registered area of memory rather than from a slab cache.\n\n Test-plan:\n Millions of fsx operations.  Performance characterization with \"sio\" and\n \"iozone\".  Use oprofile and other tools to look for significant regression\n in CPU utilization.\n\n Signed-off-by: Chuck Lever \u003ccel@netapp.com\u003e\n Signed-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "fb459f45f7c7689714023d41b3dca999bb90a5d3",
      "tree": "5352bfb2157ad3edfd617e721a3c32e8617b4757",
      "parents": [
        "a72b44222d222749d54b3e370d825094352e389f"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@stusta.de",
        "time": "Tue Jan 03 09:55:41 2006 +0100"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Jan 06 14:58:53 2006 -0500"
      },
      "message": "SUNRPC: net/sunrpc/xdr.c: remove xdr_decode_string()\n\n This patch removes ths unused function xdr_decode_string().\n\nSigned-off-by: Adrian Bunk \u003cbunk@stusta.de\u003e\nAcked-by: Neil Brown \u003cneilb@suse.de\u003e\nAcked-by: Charles Lever \u003cCharles.Lever@netapp.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "40859d7ee64ed6bfad8a4e93f9bb5c1074afadff",
      "tree": "ed4069423c3d6551035d5b6116f50452cdac4103",
      "parents": [
        "325cfed9ae901320e9234b18c21434b783dbe342"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "cel@netapp.com",
        "time": "Wed Nov 30 18:09:02 2005 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Jan 06 14:58:49 2006 -0500"
      },
      "message": "NFS: support large reads and writes on the wire\n\n Most NFS server implementations allow up to 64KB reads and writes on the\n wire.  The Solaris NFS server allows up to a megabyte, for instance.\n\n Now the Linux NFS client supports transfer sizes up to 1MB, too.  This will\n help reduce protocol and context switch overhead on read/write intensive NFS\n workloads, and support larger atomic read and write operations on servers\n that support them.\n\n Test-plan:\n Connectathon and iozone on mount point with wsize\u003drsize\u003e32768 over TCP.\n Tests with NFS over UDP to verify the maximum RPC payload size cap.\n\n Signed-off-by: Chuck Lever \u003ccel@netapp.com\u003e\n Signed-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "44c288732fdbd7e38460d156a40d29590bf93bce",
      "tree": "d4239fe37529b4799e85443f803db754ef66f874",
      "parents": [
        "4ce70ada1ff1d0b80916ec9ec5764ce44a50a54f"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Jan 03 09:55:06 2006 +0100"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Jan 06 14:58:40 2006 -0500"
      },
      "message": "NFSv4: stateful NFSv4 RPC call interface\n\n The NFSv4 model requires us to complete all RPC calls that might\n establish state on the server whether or not the user wants to\n interrupt it. We may also need to schedule new work (including\n new RPC calls) in order to cancel the new state.\n\n The asynchronous RPC model will allow us to ensure that RPC calls\n always complete, but in order to allow for \"synchronous\" RPC, we\n want to add the ability to wait for completion.\n The waits are, of course, interruptible.\n\n Signed-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "4ce70ada1ff1d0b80916ec9ec5764ce44a50a54f",
      "tree": "9bc9ffc691679a4423a6b8724a27607c9ad7ea2c",
      "parents": [
        "963d8fe53339128ee46a7701f2e36305f0ccff8c"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Jan 03 09:55:05 2006 +0100"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Jan 06 14:58:40 2006 -0500"
      },
      "message": "SUNRPC: Further cleanups\n\n Signed-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "963d8fe53339128ee46a7701f2e36305f0ccff8c",
      "tree": "426736c70a8e05cb1d945d5c7f44ea6475edd113",
      "parents": [
        "abbcf28f23d53e8ec56a91f3528743913fa2694a"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Jan 03 09:55:04 2006 +0100"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Jan 06 14:58:39 2006 -0500"
      },
      "message": "RPC: Clean up RPC task structure\n\n Shrink the RPC task structure. Instead of storing separate pointers\n for task-\u003etk_exit and task-\u003etk_release, put them in a structure.\n\n Also pass the user data pointer as a parameter instead of passing it via\n task-\u003etk_calldata. This enables us to nest callbacks.\n\n Signed-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "abbcf28f23d53e8ec56a91f3528743913fa2694a",
      "tree": "97dafc3840e4660ac0fcf99bbdc7eddc2fecd08a",
      "parents": [
        "abd3e641d5ef9f836ab2f2b04d80b8619b051531"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Jan 03 09:55:03 2006 +0100"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Jan 06 14:58:39 2006 -0500"
      },
      "message": "SUNRPC: Yet more RPC cleanups\n\n Signed-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "0ba7536d5d47e4ecf2259a80b207158dc4e711eb",
      "tree": "0e8528e65f25b9992cfad43e74018a0986f46c38",
      "parents": [
        "70c3b76c28b012452d63bb27f6d0517afb05d86f"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@cse.unsw.edu.au",
        "time": "Mon Nov 07 01:00:26 2005 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Nov 07 07:53:48 2005 -0800"
      },
      "message": "[PATCH] knfsd: Fix some minor sign problems in nfsd/xdr\n\nThere are a couple of tests which could possibly be confused by extremely\nlarge numbers appearing in \u0027xdr\u0027 packets.  I think the closest to an exploit\nyou could get would be writing random data from a free page into a file - i.e.\n leak data out of kernel space.\n\nI\u0027m fairly sure they cannot be used for remote compromise.\n\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "a0857d03b21fa54653c9d2fe7a315381176015b4",
      "tree": "ac7fcc4415795b9d4530de300ef555cd624727d8",
      "parents": [
        "00fd6e14255fe7a249315746386d640bc4e9e758"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@fieldses.org",
        "time": "Thu Oct 13 16:55:23 2005 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Oct 18 23:19:47 2005 -0700"
      },
      "message": "RPCSEC_GSS: krb5 cleanup\n\n Remove some senseless wrappers.\n\n Signed-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n Signed-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "00fd6e14255fe7a249315746386d640bc4e9e758",
      "tree": "36d8fad57404c5ea96cdb6e5579f4241e2cd8188",
      "parents": [
        "14ae162c24d985593d5b19437d7f3d8fd0062b59"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@fieldses.org",
        "time": "Thu Oct 13 16:55:18 2005 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Oct 18 23:19:47 2005 -0700"
      },
      "message": "RPCSEC_GSS remove all qop parameters\n\n Not only are the qop parameters that are passed around throughout the gssapi\n unused by any currently implemented mechanism, but there appears to be some\n doubt as to whether they will ever be used.  Let\u0027s just kill them off for now.\n\n Signed-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n Signed-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "14ae162c24d985593d5b19437d7f3d8fd0062b59",
      "tree": "750fbc08e6a6e0cb00bfad7c871144a757ac43de",
      "parents": [
        "bfa91516b57483fc9c81d8d90325fd2c3c16ac48"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@fieldses.org",
        "time": "Thu Oct 13 16:55:13 2005 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Oct 18 23:19:46 2005 -0700"
      },
      "message": "RPCSEC_GSS: Add support for privacy to krb5 rpcsec_gss mechanism.\n\n Add support for privacy to the krb5 rpcsec_gss mechanism.\n\n Signed-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n Signed-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "bfa91516b57483fc9c81d8d90325fd2c3c16ac48",
      "tree": "ed5c63ec1aa88152b0991370f4a1dbcfff0cd15a",
      "parents": [
        "f7b3af64c653c73feb060a9f94f2df9ab4bba4c3"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@fieldses.org",
        "time": "Thu Oct 13 16:55:08 2005 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Oct 18 23:19:45 2005 -0700"
      },
      "message": "RPCSEC_GSS: krb5 pre-privacy cleanup\n\n The code this was originally derived from processed wrap and mic tokens using\n the same functions.  This required some contortions, and more would be required\n with the addition of xdr_buf\u0027s, so it\u0027s better to separate out the two code\n paths.\n\n In preparation for adding privacy support, remove the last vestiges of the\n old wrap token code.\n\n Signed-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n Signed-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "24b2605becc10ca63c4c30808fa59a8abbf68727",
      "tree": "64634bf6a5427f9a7253c9cb5b4d55550ef8b18d",
      "parents": [
        "f3680312a737355ddf35c1b68af25e384d7ef0a8"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@fieldses.org",
        "time": "Thu Oct 13 16:54:53 2005 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Oct 18 23:19:44 2005 -0700"
      },
      "message": "RPCSEC_GSS: cleanup au_rslack calculation\n\n Various xdr encode routines use au_rslack to guess where the reply argument\n will end up, so we can set up the xdr_buf to recieve data into the right place\n for zero copy.\n\n Currently we calculate the au_rslack estimate when we check the verifier.\n Normally this only depends on the verifier size.  In the integrity case we add\n a few bytes to allow for a length and sequence number.\n\n It\u0027s a bit simpler to calculate only the verifier size when we check the\n verifier, and delay the full calculation till we unwrap.\n\n Signed-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n Signed-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "ead5e1c26fdcd969cf40c49cb0589d56879d240d",
      "tree": "af0e04aed32eac60b35c987b933dbc132f0e780b",
      "parents": [
        "293f1eb551a77fe5c8956a559a3c0baea95cd9bc"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@fieldses.org",
        "time": "Thu Oct 13 16:54:43 2005 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Oct 18 23:19:43 2005 -0700"
      },
      "message": "SUNRPC: Provide a callback to allow free pages allocated during xdr encoding\n\n For privacy, we need to allocate pages to store the encrypted data (passed\n in pages can\u0027t be used without the risk of corrupting data in the page cache).\n So we need a way to free that memory after the request has been transmitted.\n\n Signed-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n Signed-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "293f1eb551a77fe5c8956a559a3c0baea95cd9bc",
      "tree": "03c770935eb42f6deccb275be0326d2f4b17c80c",
      "parents": [
        "1d95db8e1688ed54e143a597c5570631a42fa594"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@fieldses.org",
        "time": "Thu Oct 13 16:54:37 2005 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Oct 18 23:19:42 2005 -0700"
      },
      "message": "SUNRPC: Add support for privacy to generic gss-api code.\n\n Add support for privacy to generic gss-api code.  This is dead code until we\n have both a mechanism that supports privacy and code in the client or server\n that uses it.\n\n Signed-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n Signed-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "5e5ce5be6f0161d2a069a4f8a1154fe639c5c02f",
      "tree": "fc6e0397c8e17dad5f3f038fb1b3526a114b5244",
      "parents": [
        "ea635a517e350eb03ab5f01618417f31b82a9a4d"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Oct 18 14:20:11 2005 -0700"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Oct 18 14:20:11 2005 -0700"
      },
      "message": "RPC: allow call_encode() to delay transmission of an RPC call.\n\n Currently, call_encode will cause the entire RPC call to abort if it returns\n an error. This is unnecessarily rigid, and gets in the way of attempts\n to allow the NFSv4 layer to order RPC calls that carry sequence ids.\n\n Signed-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "f134585a7343d71f9be7f0cf97e2145f21dd10c6",
      "tree": "f1eae77a5063e3748cd8deba9a13794ae0a9439c",
      "parents": [
        "3063d8a16643190f9e12e9c7e9f1ca56f7e7934e"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Sep 23 11:08:25 2005 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Sep 23 12:39:00 2005 -0400"
      },
      "message": "Revert \"[PATCH] RPC,NFS: new rpc_pipefs patch\"\n\nThis reverts 17f4e6febca160a9f9dd4bdece9784577a2f4524 commit.\n"
    },
    {
      "commit": "278c995c8a153bb2a9bc427e931cfb9c8034c9d7",
      "tree": "fe1b62d1686c78659133d751393ab2d5acf38665",
      "parents": [
        "470056c288334eb0b37be26c9ff8aee37ed1cc7a"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Sun Jul 24 23:53:01 2005 +0100"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Sep 23 12:38:57 2005 -0400"
      },
      "message": "[PATCH] RPC,NFS: new rpc_pipefs patch\n\n Currently rpc_mkdir/rpc_rmdir and rpc_mkpipe/mk_unlink have an API that\u0027s\n a little unfortunate.  They take a path relative to the rpc_pipefs root and\n thus need to perform a full lookup.  If you look at debugfs or usbfs they\n always store the dentry for directories they created and thus can pass in\n a dentry + single pathname component pair into their equivalents of the\n above functions.\n\n And in fact rpc_pipefs actually stores a dentry for all but one component so\n this change not only simplifies the core rpc_pipe code but also the callers.\n\n Unfortuntately this code path is only used by the NFS4 idmapper and\n AUTH_GSSAPI for which I don\u0027t have a test enviroment.  Could someone give\n it a spin?  It\u0027s the last bit needed before we can rework the\n lookup_hash API\n\n Signed-off-by: Christoph Hellwig \u003chch@lst.de\u003e\n Signed-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    }
  ],
  "next": "470056c288334eb0b37be26c9ff8aee37ed1cc7a"
}
