)]}'
{
  "log": [
    {
      "commit": "d40ace0c7b4a329f7d869d0fbf27435543bb2acc",
      "tree": "6fa319ba10931ed815ec78895e3ec2160ac1ee34",
      "parents": [
        "e616c6303306df62223ebe2e68bb2f19c420dd81",
        "68432a03f8ff93a9eecee95cc8f02e7fe2025cc9"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 20 19:30:54 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 20 19:30:54 2008 -0700"
      },
      "message": "Merge branch \u0027for-2.6.26\u0027 of git://linux-nfs.org/~bfields/linux\n\n* \u0027for-2.6.26\u0027 of git://linux-nfs.org/~bfields/linux: (25 commits)\n  svcrdma: Verify read-list fits within RPCSVC_MAXPAGES\n  svcrdma: Change svc_rdma_send_error return type to void\n  svcrdma: Copy transport address and arm CQ before calling rdma_accept\n  svcrdma: Set rqstp transport address in rdma_read_complete function\n  svcrdma: Use ib verbs version of dma_unmap\n  svcrdma: Cleanup queued, but unprocessed I/O in svc_rdma_free\n  svcrdma: Move the QP and cm_id destruction to svc_rdma_free\n  svcrdma: Add reference for each SQ/RQ WR\n  svcrdma: Move destroy to kernel thread\n  svcrdma: Shrink scope of spinlock on RQ CQ\n  svcrdma: Use standard Linux lists for context cache\n  svcrdma: Simplify RDMA_READ deferral buffer management\n  svcrdma: Remove unused READ_DONE context flags bit\n  svcrdma: Return error from rdma_read_xdr so caller knows to free context\n  svcrdma: Fix error handling during listening endpoint creation\n  svcrdma: Free context on post_recv error in send_reply\n  svcrdma: Free context on ib_post_recv error\n  svcrdma: Add put of connection ESTABLISHED reference in rdma_cma_handler\n  svcrdma: Fix return value in svc_rdma_send\n  svcrdma: Fix race with dto_tasklet in svc_rdma_send\n  ...\n"
    },
    {
      "commit": "68432a03f8ff93a9eecee95cc8f02e7fe2025cc9",
      "tree": "9a9e98a0233a7f3b4d66df19d8ded26d0b41c0ed",
      "parents": [
        "d71a4dd72e67210ae0767ccae69c79f1c933ff64",
        "a6f911c04e20b98feb4b33d3aba2976851977d6a"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Tue May 20 19:57:38 2008 -0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Tue May 20 19:57:38 2008 -0400"
      },
      "message": "Merge branch \u0027from-tomtucker\u0027 into for-2.6.26\n"
    },
    {
      "commit": "a6f911c04e20b98feb4b33d3aba2976851977d6a",
      "tree": "54a34d7007ca8d1d39f55396e2d084f6f9310e91",
      "parents": [
        "008fdbc57164b0ac237ad6ee2766944f02ac9c28"
      ],
      "author": {
        "name": "Tom Tucker",
        "email": "tom@opengridcomputing.com",
        "time": "Tue May 13 09:16:05 2008 -0500"
      },
      "committer": {
        "name": "Tom Tucker",
        "email": "tom@opengridcomputing.com",
        "time": "Mon May 19 07:34:02 2008 -0500"
      },
      "message": "svcrdma: Verify read-list fits within RPCSVC_MAXPAGES\n\nA RDMA read-list cannot contain more elements than RPCSVC_MAXPAGES or\nit will overflow the DTO context. Verify this when processing the\nprotocol header.\n\nSigned-off-by: Tom Tucker \u003ctom@opengridcomputing.com\u003e\n"
    },
    {
      "commit": "008fdbc57164b0ac237ad6ee2766944f02ac9c28",
      "tree": "e1637f39b6454a6ae94a00e90bd047d47bdfdf7e",
      "parents": [
        "af261af4db14230fb35bcdc0ba9ef78ed6cf7bc1"
      ],
      "author": {
        "name": "Tom Tucker",
        "email": "tom@opengridcomputing.com",
        "time": "Wed May 07 15:47:42 2008 -0500"
      },
      "committer": {
        "name": "Tom Tucker",
        "email": "tom@opengridcomputing.com",
        "time": "Mon May 19 07:34:01 2008 -0500"
      },
      "message": "svcrdma: Change svc_rdma_send_error return type to void\n\nThe svc_rdma_send_error function is called when an RPCRDMA protocol\nerror is detected. This function attempts to post an error reply message.\nSince an error posting to a transport in error is ignored, change\nthe return type to void.\n\nSigned-off-by: Tom Tucker \u003ctom@opengridcomputing.com\u003e\n"
    },
    {
      "commit": "af261af4db14230fb35bcdc0ba9ef78ed6cf7bc1",
      "tree": "1d9de4ac4a71f6fd79eb41e9244f34daf863790a",
      "parents": [
        "69500c43b45f7155b72dcadad31cd55cda789c93"
      ],
      "author": {
        "name": "Tom Tucker",
        "email": "tom@opengridcomputing.com",
        "time": "Wed May 07 13:52:42 2008 -0500"
      },
      "committer": {
        "name": "Tom Tucker",
        "email": "tom@opengridcomputing.com",
        "time": "Mon May 19 07:34:00 2008 -0500"
      },
      "message": "svcrdma: Copy transport address and arm CQ before calling rdma_accept\n\nThis race was found by inspection. Messages can be received from the peer\nimmediately following the rdma_accept call, however, the CQ have not yet\nbeen armed and the transport address has not yet been set.\n\nSet the transport address in the connect request handler and arm the CQ\nprior to calling rdma_accept.\n\nSigned-off-by: Tom Tucker \u003ctom@opengridcomputing.com\u003e\n"
    },
    {
      "commit": "69500c43b45f7155b72dcadad31cd55cda789c93",
      "tree": "13bc2f4a6950841adc66a44635f945f84f8faeba",
      "parents": [
        "97a3df382e01c49555ea844bd7c4e5a08f245b9d"
      ],
      "author": {
        "name": "Tom Tucker",
        "email": "tom@opengridcomputing.com",
        "time": "Wed May 07 13:49:58 2008 -0500"
      },
      "committer": {
        "name": "Tom Tucker",
        "email": "tom@opengridcomputing.com",
        "time": "Mon May 19 07:33:59 2008 -0500"
      },
      "message": "svcrdma: Set rqstp transport address in rdma_read_complete function\n\nThe rdma_read_complete function needs to copy the rqstp transport address\nfrom the transport. Failure to do so can result in using the wrong\nauthentication method for the RPC or bug checking if the rqstp address\nis not valid.\n\nSigned-off-by: Tom Tucker \u003ctom@opengridcomputing.com\u003e\n"
    },
    {
      "commit": "97a3df382e01c49555ea844bd7c4e5a08f245b9d",
      "tree": "d02f8919c9b92fd61b251afd5e591971a12c6442",
      "parents": [
        "356d0a1519867422c3f17f79e2183f8c2d44f8ee"
      ],
      "author": {
        "name": "Tom Tucker",
        "email": "tom@opengridcomputing.com",
        "time": "Thu May 01 14:02:45 2008 -0500"
      },
      "committer": {
        "name": "Tom Tucker",
        "email": "tom@opengridcomputing.com",
        "time": "Mon May 19 07:33:58 2008 -0500"
      },
      "message": "svcrdma: Use ib verbs version of dma_unmap\n\nUse the ib_verbs version of the dma_unmap service in the\nsvc_rdma_put_context function. This should support providers\nusing software rdma.\n\nSigned-off-by: Tom Tucker \u003ctom@opengridcomputing.com\u003e\n"
    },
    {
      "commit": "356d0a1519867422c3f17f79e2183f8c2d44f8ee",
      "tree": "69c60d0d9605d617e90afbccf9fb054c56958c3b",
      "parents": [
        "1711386c62c97f7fb086a2247d44cdb1f8867640"
      ],
      "author": {
        "name": "Tom Tucker",
        "email": "tom@opengridcomputing.com",
        "time": "Thu May 01 11:25:02 2008 -0500"
      },
      "committer": {
        "name": "Tom Tucker",
        "email": "tom@opengridcomputing.com",
        "time": "Mon May 19 07:33:57 2008 -0500"
      },
      "message": "svcrdma: Cleanup queued, but unprocessed I/O in svc_rdma_free\n\nWhen the transport is closing, the DTO tasklet may queue data\nthat never gets processed. Clean up resources associated with\nthis I/O.\n\nSigned-off-by: Tom Tucker \u003ctom@opengridcomputing.com\u003e\n"
    },
    {
      "commit": "1711386c62c97f7fb086a2247d44cdb1f8867640",
      "tree": "4f4f70ada8683fe1e8884493469355acd2633790",
      "parents": [
        "0905c0f0a2346516ecd12f0a4f33dca571b0dccd"
      ],
      "author": {
        "name": "Tom Tucker",
        "email": "tom@opengridcomputing.com",
        "time": "Thu May 01 11:13:50 2008 -0500"
      },
      "committer": {
        "name": "Tom Tucker",
        "email": "tom@opengridcomputing.com",
        "time": "Mon May 19 07:33:56 2008 -0500"
      },
      "message": "svcrdma: Move the QP and cm_id destruction to svc_rdma_free\n\nMove the destruction of the QP and CM_ID to the free path so that the\nQP cleanup code doesn\u0027t race with the dto_tasklet handling flushed WR.\nThe QP reference is not needed because we now have a reference for\nevery WR.\n\nAlso add a guard in the SQ and RQ completion handlers to ignore\ncalls generated by some providers when the QP is destroyed.\n\nSigned-off-by: Tom Tucker \u003ctom@opengridcomputing.com\u003e\n"
    },
    {
      "commit": "0905c0f0a2346516ecd12f0a4f33dca571b0dccd",
      "tree": "7beb155c06edd8acbcf9a7b302d599f1be88cf60",
      "parents": [
        "8da91ea8de873ee8be82377ff18637d05e882058"
      ],
      "author": {
        "name": "Tom Tucker",
        "email": "tom@opengridcomputing.com",
        "time": "Thu May 01 10:49:03 2008 -0500"
      },
      "committer": {
        "name": "Tom Tucker",
        "email": "tom@opengridcomputing.com",
        "time": "Mon May 19 07:33:55 2008 -0500"
      },
      "message": "svcrdma: Add reference for each SQ/RQ WR\n\nAdd a reference on the transport for every outstanding WR.\n\nSigned-off-by: Tom Tucker \u003ctom@opengridcomputing.com\u003e\n"
    },
    {
      "commit": "8da91ea8de873ee8be82377ff18637d05e882058",
      "tree": "9cfb692f27dde588a360a0f612b8ea14b04a76a4",
      "parents": [
        "47698e083e40bbd3ef87f5561390ae33abb13cd0"
      ],
      "author": {
        "name": "Tom Tucker",
        "email": "tom@opengridcomputing.com",
        "time": "Wed Apr 30 22:00:46 2008 -0500"
      },
      "committer": {
        "name": "Tom Tucker",
        "email": "tom@opengridcomputing.com",
        "time": "Mon May 19 07:33:54 2008 -0500"
      },
      "message": "svcrdma: Move destroy to kernel thread\n\nSome providers may wait while destroying adapter resources.\nSince it is possible that the last reference is put on the\ndto_tasklet, the actual destroy must be scheduled as a work item.\n\nSigned-off-by: Tom Tucker \u003ctom@opengridcomputing.com\u003e\n"
    },
    {
      "commit": "47698e083e40bbd3ef87f5561390ae33abb13cd0",
      "tree": "116427837fc578ad419068306e94adb2daa8fdb1",
      "parents": [
        "8740767376b32a7772607e1b2b07cde0c24120cc"
      ],
      "author": {
        "name": "Tom Tucker",
        "email": "tom@opengridcomputing.com",
        "time": "Tue May 06 11:49:05 2008 -0500"
      },
      "committer": {
        "name": "Tom Tucker",
        "email": "tom@opengridcomputing.com",
        "time": "Mon May 19 07:33:53 2008 -0500"
      },
      "message": "svcrdma: Shrink scope of spinlock on RQ CQ\n\nThe rq_cq_reap function is only called from the dto_tasklet. The\nonly resource shared with other threads is the sc_rq_dto_q. Move the\nspin lock to protect only this list.\n\nSigned-off-by: Tom Tucker \u003ctom@opengridcomputing.com\u003e\n"
    },
    {
      "commit": "8740767376b32a7772607e1b2b07cde0c24120cc",
      "tree": "62e9831548e0cdd2e70951a9ab9df4b93ca440aa",
      "parents": [
        "02e7452de74d308ca642f54f7e5ef801ced60a92"
      ],
      "author": {
        "name": "Tom Tucker",
        "email": "tom@opengridcomputing.com",
        "time": "Wed Apr 30 20:44:39 2008 -0500"
      },
      "committer": {
        "name": "Tom Tucker",
        "email": "tom@opengridcomputing.com",
        "time": "Mon May 19 07:33:52 2008 -0500"
      },
      "message": "svcrdma: Use standard Linux lists for context cache\n\nReplace the one-off linked list implementation used to implement the\ncontext cache with the standard Linux list_head lists. Add a context\ncounter to catch resource leaks. A WARN_ON will be added later to\nensure that we\u0027ve freed all contexts.\n\nSigned-off-by: Tom Tucker \u003ctom@opengridcomputing.com\u003e\n"
    },
    {
      "commit": "02e7452de74d308ca642f54f7e5ef801ced60a92",
      "tree": "9300b5d12be31a6d48689a4260abb1b81e8a5551",
      "parents": [
        "10a38c33f46d128d11e299acba744bc325cde420"
      ],
      "author": {
        "name": "Tom Tucker",
        "email": "tom@opengridcomputing.com",
        "time": "Wed Apr 30 19:50:56 2008 -0500"
      },
      "committer": {
        "name": "Tom Tucker",
        "email": "tom@opengridcomputing.com",
        "time": "Mon May 19 07:33:51 2008 -0500"
      },
      "message": "svcrdma: Simplify RDMA_READ deferral buffer management\n\nAn NFS_WRITE requires a set of RDMA_READ requests to fetch the write\ndata from the client. There are two principal pieces of data that\nneed to be tracked: the list of pages that comprise the completed RPC\nand the SGE of dma mapped pages to refer to this list of pages. Previously\nthis whole bit was managed as a linked list of contexts with the\ncontext containing the page list buried in this list. This patch\nsimplifies this processing by not keeping a linked list, but rather only\na pionter from the last submitted RDMA_READ\u0027s context to the context\nthat maps the set of pages that describe the RPC.  This significantly\nsimplifies this code path. SGE contexts are cleaned up inline in the DTO\npath instead of at read completion time.\n\nSigned-off-by: Tom Tucker \u003ctom@opengridcomputing.com\u003e\n"
    },
    {
      "commit": "10a38c33f46d128d11e299acba744bc325cde420",
      "tree": "3454e7f32f823ad169f09f8e886c7df007c2ce43",
      "parents": [
        "d16d40093a95f2b31007d7a7abefc50e6b27e236"
      ],
      "author": {
        "name": "Tom Tucker",
        "email": "tom@opengridcomputing.com",
        "time": "Wed Apr 30 17:32:17 2008 -0500"
      },
      "committer": {
        "name": "Tom Tucker",
        "email": "tom@opengridcomputing.com",
        "time": "Mon May 19 07:33:50 2008 -0500"
      },
      "message": "svcrdma: Remove unused READ_DONE context flags bit\n\nThe RDMACTXT_F_READ_DONE bit is not longer used. Remove it.\n\nSigned-off-by: Tom Tucker \u003ctom@opengridcomputing.com\u003e\n"
    },
    {
      "commit": "d16d40093a95f2b31007d7a7abefc50e6b27e236",
      "tree": "9237f839221763fccb50c6115e9caf9584311539",
      "parents": [
        "58e8f62137f1c55fe3d31234167660f2ce509297"
      ],
      "author": {
        "name": "Tom Tucker",
        "email": "tom@opengridcomputing.com",
        "time": "Tue May 06 10:04:50 2008 -0500"
      },
      "committer": {
        "name": "Tom Tucker",
        "email": "tom@opengridcomputing.com",
        "time": "Mon May 19 07:33:49 2008 -0500"
      },
      "message": "svcrdma: Return error from rdma_read_xdr so caller knows to free context\n\nThe rdma_read_xdr function did not discriminate between no read-list and\nan error posting the read-list. This results in a leak of a page if there\nis an error posting the read-list.\n\nSigned-off-by: Tom Tucker \u003ctom@opengridcomputing.com\u003e\n"
    },
    {
      "commit": "58e8f62137f1c55fe3d31234167660f2ce509297",
      "tree": "44f5b8731574db63d76f2c7bd4122d37c1cba540",
      "parents": [
        "5ac461a6f05499fa233ea43b1de80b679d1eec21"
      ],
      "author": {
        "name": "Tom Tucker",
        "email": "tom@opengridcomputing.com",
        "time": "Tue May 06 09:45:54 2008 -0500"
      },
      "committer": {
        "name": "Tom Tucker",
        "email": "tom@opengridcomputing.com",
        "time": "Mon May 19 07:33:48 2008 -0500"
      },
      "message": "svcrdma: Fix error handling during listening endpoint creation\n\nA listening endpoint isn\u0027t known to the generic transport switch until\nthe svc_create_xprt function returns without error. Calling\nsvc_xprt_put within the xpo_create function causes the module reference\ncount to be erroneously decremented.\n\nSigned-off-by: Tom Tucker \u003ctom@opengridcomputing.com\u003e\n"
    },
    {
      "commit": "5ac461a6f05499fa233ea43b1de80b679d1eec21",
      "tree": "2c49a3c2338e1bcea424fe2ea99ed373741bbe0c",
      "parents": [
        "05a0826a6e6d95ab6e9c3e4a10b58e10f233cc2b"
      ],
      "author": {
        "name": "Tom Tucker",
        "email": "tom@opengridcomputing.com",
        "time": "Fri Apr 25 18:08:59 2008 -0500"
      },
      "committer": {
        "name": "Tom Tucker",
        "email": "tom@opengridcomputing.com",
        "time": "Mon May 19 07:33:47 2008 -0500"
      },
      "message": "svcrdma: Free context on post_recv error in send_reply\n\nIf an error is encountered trying to post a recv buffer in send_reply,\nfree the passed in context. Return an error to the caller so it is\naware that the request was not posted.\n\nSigned-off-by: Tom Tucker \u003ctom@opengridcomputing.com\u003e\n"
    },
    {
      "commit": "05a0826a6e6d95ab6e9c3e4a10b58e10f233cc2b",
      "tree": "85355af360f6da6410bee37ba662c59b58e928d4",
      "parents": [
        "120693d12cde0cc735d784c951b53381efec918f"
      ],
      "author": {
        "name": "Tom Tucker",
        "email": "tom@opengridcomputing.com",
        "time": "Fri Apr 25 14:11:31 2008 -0500"
      },
      "committer": {
        "name": "Tom Tucker",
        "email": "tom@opengridcomputing.com",
        "time": "Mon May 19 07:33:47 2008 -0500"
      },
      "message": "svcrdma: Free context on ib_post_recv error\n\nIf there is an error posting the recv WR to the RQ, free the\ncontext associated with the WR. This would leak a context when\nasynchronous errors occurred on the transport while conccurent threads\nwere processing their RPC.\n\nSigned-off-by: Tom Tucker \u003ctom@opengridcomputing.com\u003e\n"
    },
    {
      "commit": "120693d12cde0cc735d784c951b53381efec918f",
      "tree": "99e5cb62caab24de1b89ee82280de8eeae1ceb20",
      "parents": [
        "9d6347acd2134373c3a4c65a4d43e4f1d59aa012"
      ],
      "author": {
        "name": "Tom Tucker",
        "email": "tom@opengridcomputing.com",
        "time": "Thu Apr 24 14:17:21 2008 -0500"
      },
      "committer": {
        "name": "Tom Tucker",
        "email": "tom@opengridcomputing.com",
        "time": "Mon May 19 07:33:46 2008 -0500"
      },
      "message": "svcrdma: Add put of connection ESTABLISHED reference in rdma_cma_handler\n\nThe svcrdma transport takes a reference when it gets the ESTABLISHED\nevent from the provider. This reference is supposed to be removed when\nthe DISCONNECT event is received, however, the call to svc_xprt_put\nwas missing in the switch statement. This results in the memory\nassociated with the transport never being freed.\n\nSigned-off-by: Tom Tucker \u003ctom@opengridcomputing.com\u003e\n"
    },
    {
      "commit": "9d6347acd2134373c3a4c65a4d43e4f1d59aa012",
      "tree": "20e7153e5a238f057a43797329644dd122c43877",
      "parents": [
        "dbcd00eba99945acfc433508a58eadc5dcd18cad"
      ],
      "author": {
        "name": "Tom Tucker",
        "email": "tom@opengridcomputing.com",
        "time": "Fri Apr 25 15:51:27 2008 -0500"
      },
      "committer": {
        "name": "Tom Tucker",
        "email": "tom@opengridcomputing.com",
        "time": "Mon May 19 07:33:45 2008 -0500"
      },
      "message": "svcrdma: Fix return value in svc_rdma_send\n\nFix the return value on close to -ENOTCONN so caller knows to free context.\nAlso if a thread is waiting for free SQ space, check for close when waking\nto avoid posting WR to a closing transport.\n\nSigned-off-by: Tom Tucker \u003ctom@opengridcomputing.com\u003e\n"
    },
    {
      "commit": "dbcd00eba99945acfc433508a58eadc5dcd18cad",
      "tree": "c9bd31141dc48b45819d153ead3d311a0db51e40",
      "parents": [
        "0e7f011a19696cc25d68a8d6631fc6c5aa60a54c"
      ],
      "author": {
        "name": "Tom Tucker",
        "email": "tom@opengridcomputing.com",
        "time": "Tue May 06 11:33:11 2008 -0500"
      },
      "committer": {
        "name": "Tom Tucker",
        "email": "tom@opengridcomputing.com",
        "time": "Mon May 19 07:33:44 2008 -0500"
      },
      "message": "svcrdma: Fix race with dto_tasklet in svc_rdma_send\n\nThe svc_rdma_send function will attempt to reap SQ WR to make room for\na new request if it finds the SQ full. This function races with the\ndto_tasklet that also reaps SQ WR. To avoid polling and arming the CQ\nunnecessarily move the test_and_clear_bit of the RDMAXPRT_SQ_PENDING\nflag and arming of the CQ to the sq_cq_reap function.\n\nRefactor the rq_cq_reap function to match sq_cq_reap so that the\ncode is easier to follow.\n\nSigned-off-by: Tom Tucker \u003ctom@opengridcomputing.com\u003e\n"
    },
    {
      "commit": "0e7f011a19696cc25d68a8d6631fc6c5aa60a54c",
      "tree": "2d87c078c835a3629cb0e053bd92911d019878b9",
      "parents": [
        "aa3314c8d6da673b3454549eed45547a79f7cbe1"
      ],
      "author": {
        "name": "Tom Tucker",
        "email": "tom@opengridcomputing.com",
        "time": "Wed Apr 23 16:49:54 2008 -0500"
      },
      "committer": {
        "name": "Tom Tucker",
        "email": "tom@opengridcomputing.com",
        "time": "Mon May 19 07:33:43 2008 -0500"
      },
      "message": "svcrdma: Simplify receive buffer posting\n\nThe svcrdma transport provider currently allocates receive buffers\nto the RQ through the xpo_release_rqst method. This approach is overly\ncomplicated since it means that the rqstp rq_xprt_ctxt has to be\nselectively set based on whether the RPC is going to be processed\nimmediately or deferred. Instead, just post the receive buffer when\nwe are certain that we are replying in the send_reply function.\n\nSigned-off-by: Tom Tucker \u003ctom@opengridcomputing.com\u003e\n"
    },
    {
      "commit": "aa3314c8d6da673b3454549eed45547a79f7cbe1",
      "tree": "d5e301b95899257219c3c294d447988c240eaab2",
      "parents": [
        "fc63a050861a53ba99a6222229cda555796d669e"
      ],
      "author": {
        "name": "Tom Tucker",
        "email": "tom@opengridcomputing.com",
        "time": "Thu Apr 24 21:30:47 2008 -0500"
      },
      "committer": {
        "name": "Tom Tucker",
        "email": "tom@opengridcomputing.com",
        "time": "Mon May 19 07:33:42 2008 -0500"
      },
      "message": "svc: Remove unused header files from svc_xprt.c\n\nThis cosmetic patch removes unused header files that svc_xprt.c\ninherited from svcsock.c\n\nSigned-off-by: Tom Tucker \u003ctom@opengridcomputing.com\u003e\n"
    },
    {
      "commit": "fc63a050861a53ba99a6222229cda555796d669e",
      "tree": "7fe85a32653dfef62a9ef607e98935aa665a733a",
      "parents": [
        "b8291ad07a7f3b5b990900f0001198ac23ba893e"
      ],
      "author": {
        "name": "Tom Tucker",
        "email": "tom@opengridcomputing.com",
        "time": "Fri Apr 25 11:07:10 2008 -0500"
      },
      "committer": {
        "name": "Tom Tucker",
        "email": "tom@opengridcomputing.com",
        "time": "Mon May 19 07:33:41 2008 -0500"
      },
      "message": "svc: Remove extra check for XPT_DEAD bit in svc_xprt_enqueue\n\nRemove a redundant check for the XPT_DEAD bit in the svc_xprt_enqueue\nfunction. This same bit is checked below while holding the pool lock\nand prints a debug message if found to be dead.\n\nSigned-off-by: Tom Tucker \u003ctom@opengridcomputing.com\u003e\n"
    },
    {
      "commit": "d71a4dd72e67210ae0767ccae69c79f1c933ff64",
      "tree": "79ed3b9b67e8e9ca66e3336f71fbff83f6345a49",
      "parents": [
        "88dd0be3874566796fa4ffbdf927a53c4a6a2f4b"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri May 09 12:01:19 2008 -0700"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Sun May 18 19:13:07 2008 -0400"
      },
      "message": "svcrpc: fix proc/net/rpc/auth.unix.ip/content display\n\nCommit f15364bd4cf8799a7677b6daeed7b67d9139d974 (\"IPv6 support for NFS\nserver export caches\") dropped a couple spaces, rendering the output\nhere difficult to read.\n\n(However note that we expect the output to be parsed only by humans, not\nmachines, so this shouldn\u0027t have broken any userland software.)\n\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "b4528762ca92261c6ed3f03e76adeb1dc587aacb",
      "tree": "461eebfce2935cefb7a07a7ee55e12c7d0959c5d",
      "parents": [
        "1d2e88e73ee0af52b0ed63b5fb8f42a919a4d9de"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sun May 11 12:18:51 2008 -0700"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sun May 18 14:18:27 2008 -0400"
      },
      "message": "SUNRPC: AUTH_SYS \"machine creds\" shouldn\u0027t use negative valued uid/gid\n\nApparently this causes Solaris 10 servers to refuse our NFSv4 SETCLIENTID\ncalls. Fall back to root creds for now, since most servers that care are\nvery likely to have root squashing enabled.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "625fc3a37511cbecfe1253867fe105c28d6a95f0",
      "tree": "9bf45b7e4251d1a0a3a4d1b7e4ca4c50d16cf106",
      "parents": [
        "19566ca6dc26600bae4b75701d4dced8d8540f16"
      ],
      "author": {
        "name": "Huang Weiyi",
        "email": "weiyi.huang@gmail.com",
        "time": "Thu May 08 22:48:31 2008 +0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 08 10:58:25 2008 -0700"
      },
      "message": "Remove duplicated include in net/sunrpc/svc.c\n\n\u003clinux/sched.h\u003e we included twice.\n\nSigned-off-by: Huang Weiyi \u003cweiyi.huang@gmail.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "e7fe23363bab0488c7ce09626900e7d621ea2292",
      "tree": "c49c2f3915c5ce0e26b1f6342a3458a2ef4eddd4",
      "parents": [
        "fb65f180e02dde224af256b43d3ab2c28b9689d7"
      ],
      "author": {
        "name": "Denis V. Lunev",
        "email": "den@openvz.org",
        "time": "Fri May 02 02:44:36 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri May 02 02:44:36 2008 -0700"
      },
      "message": "sunrpc: assign PDE-\u003edata before gluing PDE into /proc tree\n\nSimply replace proc_create and further data assigned with proc_create_data.\n\nSigned-off-by: Denis V. Lunev \u003cden@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "77a50df2b14c8d3ee3c58c21c4a0e0157570df09",
      "tree": "0e324a712e5e768c8353b0b5ba6ddc31095479f0",
      "parents": [
        "96fffeb4b413a4f8f65bb627d59b7dfc97ea0b39",
        "358c12953b88c5a06a57c33eb27c753b2e7934d1"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 28 09:44:11 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 28 09:44:11 2008 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6:\n  iwlwifi: Allow building iwl3945 without iwl4965.\n  wireless: Fix compile error with wifi \u0026 leds\n  tcp: Fix slab corruption with ipv6 and tcp6fuzz\n  ipv4/ipv6 compat: Fix SSM applications on 64bit kernels.\n  [IPSEC]: Use digest_null directly for auth\n  sunrpc: fix missing kernel-doc\n  can: Fix copy_from_user() results interpretation\n  Revert \"ipv6: Fix typo in net/ipv6/Kconfig\"\n  tipc: endianness annotations\n  ipv6: result of csum_fold() is already 16bit, no need to cast\n  [XFRM] AUDIT: Fix flowlabel text format ambibuity.\n"
    },
    {
      "commit": "0b80ae4201e5128e16e5161825f5cd377a5d1fee",
      "tree": "1d0d74621550e3a4f595946bb85896a6ea15a065",
      "parents": [
        "3f91bd420a955803421f2db17b2e04aacfbb2bb8"
      ],
      "author": {
        "name": "Randy Dunlap",
        "email": "randy.dunlap@oracle.com",
        "time": "Sat Apr 26 22:59:02 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Apr 27 14:26:52 2008 -0700"
      },
      "message": "sunrpc: fix missing kernel-doc\n\nFix missing sunrpc kernel-doc:\n\nWarning(linux-2.6.25-git7//net/sunrpc/xprt.c:451): No description found for parameter \u0027action\u0027\n\nSigned-off-by: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "563307b2fa15d687abc54bd980b9847ebf0e3231",
      "tree": "7f16be30217a2e66360ede97aa27d07a4ebd7e55",
      "parents": [
        "10c993a6b5418cb1026775765ba4c70ffb70853d",
        "233607dbbc823caf685e778cabc49fb7f679900b"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Apr 24 11:46:16 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Apr 24 11:46:16 2008 -0700"
      },
      "message": "Merge git://git.linux-nfs.org/projects/trondmy/nfs-2.6\n\n* git://git.linux-nfs.org/projects/trondmy/nfs-2.6: (80 commits)\n  SUNRPC: Invalidate the RPCSEC_GSS session if the server dropped the request\n  make nfs_automount_list static\n  NFS: remove duplicate flags assignment from nfs_validate_mount_data\n  NFS - fix potential NULL pointer dereference v2\n  SUNRPC: Don\u0027t change the RPCSEC_GSS context on a credential that is in use\n  SUNRPC: Fix a race in gss_refresh_upcall()\n  SUNRPC: Don\u0027t disconnect more than once if retransmitting NFSv4 requests\n  SUNRPC: Remove the unused export of xprt_force_disconnect\n  SUNRPC: remove XS_SENDMSG_RETRY\n  SUNRPC: Protect creds against early garbage collection\n  NFSv4: Attempt to use machine credentials in SETCLIENTID calls\n  NFSv4: Reintroduce machine creds\n  NFSv4: Don\u0027t use cred-\u003ecr_ops-\u003ecr_name in nfs4_proc_setclientid()\n  nfs: fix printout of multiword bitfields\n  nfs: return negative error value from nfs{,4}_stat_to_errno\n  NLM/lockd: Ensure client locking calls use correct credentials\n  NFS: Remove the buggy lock-if-signalled case from do_setlk()\n  NLM/lockd: Fix a race when cancelling a blocking lock\n  NLM/lockd: Ensure that nlmclnt_cancel() returns results of the CANCEL call\n  NLM: Remove the signal masking in nlmclnt_proc/nlmclnt_cancel\n  ...\n"
    },
    {
      "commit": "233607dbbc823caf685e778cabc49fb7f679900b",
      "tree": "13840137ee10788061cbec60fcfe8ea4c274558e",
      "parents": [
        "3dc5063786b273f1aee545844f6bd4e9651ebffe",
        "b48633bd086d21f4a2a5bea96c7e6c7ba58eb60c"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Apr 24 14:01:02 2008 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Apr 24 14:01:02 2008 -0400"
      },
      "message": "Merge branch \u0027devel\u0027\n"
    },
    {
      "commit": "b48633bd086d21f4a2a5bea96c7e6c7ba58eb60c",
      "tree": "334f66cced8488e54cbd7c80ed56e81d6cc0ceb4",
      "parents": [
        "a3dab293539031b0970585b9b355cebbc91ecbd4"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Apr 22 16:47:55 2008 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Apr 24 13:53:46 2008 -0400"
      },
      "message": "SUNRPC: Invalidate the RPCSEC_GSS session if the server dropped the request\n\nRFC 2203 requires the server to drop the request if it believes the\nRPCSEC_GSS context is out of sequence. The problem is that we have no way\non the client to know why the server dropped the request. In order to avoid\nspinning forever trying to resend the request, the safe approach is\ntherefore to always invalidate the RPCSEC_GSS context on every major\ntimeout.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "0dc220f0815497858db539d27947f3ec83202ace",
      "tree": "6aabb3947e45496fe78ed9a2500c2862274d2fc3",
      "parents": [
        "50c8bb13eaaf345caf2e7966667ba1d3e4d68af2"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Mon Apr 14 12:27:52 2008 -0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Wed Apr 23 16:13:43 2008 -0400"
      },
      "message": "SUNRPC: Use unsigned loop and array index in svc_init_buffer()\n\nClean up: Suppress a harmless compiler warning.\n\nIndex rq_pages[] with an unsigned type.  Make \"pages\" unsigned as well,\nas it never represents a value less than zero.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "50c8bb13eaaf345caf2e7966667ba1d3e4d68af2",
      "tree": "b3bfef60963218d9c5ba4ece05561fcde20e7a77",
      "parents": [
        "c0401ea008fb7c785a93428752d69dccafb127ec"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Mon Apr 14 12:27:45 2008 -0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Wed Apr 23 16:13:43 2008 -0400"
      },
      "message": "SUNRPC: Use unsigned index when looping over arrays\n\nClean up: Suppress a harmless compiler warning in the RPC server related\nto array indices.\n\nARRAY_SIZE() returns a size_t, so use unsigned type for a loop index when\nlooping over arrays.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "c0401ea008fb7c785a93428752d69dccafb127ec",
      "tree": "c24c8c6e8871ecba8906098c0360bf3980fedf73",
      "parents": [
        "b7872fe86db78cc96c85a13338ea6e3fe1aef610"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Mon Apr 14 12:27:30 2008 -0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Wed Apr 23 16:13:43 2008 -0400"
      },
      "message": "SUNRPC: Update RPC server\u0027s TCP record marker decoder\n\nClean up: Update the RPC server\u0027s TCP record marker decoder to match the\nconstructs used by the RPC client\u0027s TCP socket transport.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "b7872fe86db78cc96c85a13338ea6e3fe1aef610",
      "tree": "2425138e8007ab93a8d46f6ab9c240a8214814a6",
      "parents": [
        "f97c650dda24e48405399aa0676e90da52408515"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Mon Apr 14 12:27:01 2008 -0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Wed Apr 23 16:13:43 2008 -0400"
      },
      "message": "SUNRPC: RPC server still uses 2.4 method for disabling TCP Nagle\n\nUse the 2.6 method for disabling TCP Nagle in the kernel\u0027s RPC server.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "8774282c4cef82695ccca8bd09976de5d6e49610",
      "tree": "d5061bde10232534900729aedb3ee63a78183ae5",
      "parents": [
        "e1ba1ab76e68de9f4a93fae8406627924efaed99"
      ],
      "author": {
        "name": "Jeff Layton",
        "email": "jlayton@redhat.com",
        "time": "Mon Apr 07 16:45:37 2008 -0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Wed Apr 23 16:13:42 2008 -0400"
      },
      "message": "SUNRPC: remove svc_create_thread()\n\nNow that the nfs4 callback thread uses the kthread API, there are no\nmore users of svc_create_thread(). Remove it.\n\nSigned-off-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "4ab4b0bedda7d41c63cef98cd5d6cabada460936",
      "tree": "b86a8e45d260fa29a0fbf647c10b1f99ab14e18f",
      "parents": [
        "5743d65c2f77d5145fb4c4262c4dd70c3f078776"
      ],
      "author": {
        "name": "Kevin Coffman",
        "email": "kwc@citi.umich.edu",
        "time": "Mon Mar 31 10:31:44 2008 -0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Wed Apr 23 16:13:41 2008 -0400"
      },
      "message": "sunrpc: make token header values less confusing\n\ng_make_token_header() and g_token_size() add two too many, and\ntherefore their callers pass in \"(logical_value - 2)\" rather\nthan \"logical_value\" as hard-coded values which causes confusion.\n\nThis dates back to the original g_make_token_header which took an\noptional token type (token_id) value and added it to the token.\nThis was removed, but the routine always adds room for the token_id\nrather than not.\n\nSigned-off-by: Kevin Coffman \u003ckwc@citi.umich.edu\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "5743d65c2f77d5145fb4c4262c4dd70c3f078776",
      "tree": "aad96f19d1087e577aff8a88dd08c444c09f5068",
      "parents": [
        "1a448fdb3c5495405bc44d77ea676150f9195444"
      ],
      "author": {
        "name": "Kevin Coffman",
        "email": "kwc@citi.umich.edu",
        "time": "Mon Mar 31 10:31:33 2008 -0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Wed Apr 23 16:13:41 2008 -0400"
      },
      "message": "gss_krb5: consistently use unsigned for seqnum\n\nConsistently use unsigned (u32 vs. s32) for seqnum.\n\nIn get_mic function, send the local copy of seq_send,\nrather than the context version.\n\nSigned-off-by: Kevin Coffman \u003ckwc@citi.umich.edu\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "c3bb257d2d3a1a4e49372b9d74eaebe0fcf110dd",
      "tree": "3a351ef308ca165516d05a4c61e6b4532097d3c7",
      "parents": [
        "30aef3166ab27f7bcb14c5e809205af8126fa10b"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@linux-foundation.org",
        "time": "Wed Mar 12 14:04:25 2008 -0700"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Wed Apr 23 16:13:40 2008 -0400"
      },
      "message": "net/sunrpc/svc.c: suppress unintialized var warning\n\nnet/sunrpc/svc.c: In function \u0027__svc_create_thread\u0027:\nnet/sunrpc/svc.c:587: warning: \u0027oldmask.bits[0u]\u0027 may be used uninitialized in this function\n\nCc: Neil Brown \u003cneilb@suse.de\u003e\nCc: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\nCc: David S. Miller \u003cdavem@davemloft.net\u003e\nCc: Tom Tucker \u003ctom@opengridcomputing.com\u003e\nCc: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "30aef3166ab27f7bcb14c5e809205af8126fa10b",
      "tree": "0c42969032c9ec9a2a0c71406a0eed7b174b43b7",
      "parents": [
        "3d4a6886786f839976c36e62303507692bf87d8d"
      ],
      "author": {
        "name": "Kevin Coffman",
        "email": "kwc@citi.umich.edu",
        "time": "Thu Feb 21 13:44:27 2008 -0500"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Wed Apr 23 16:13:40 2008 -0400"
      },
      "message": "Remove define for KRB5_CKSUM_LENGTH, which will become enctype-dependent\n\ncleanup: When adding new encryption types, the checksum length\ncan be different for each enctype.  Face the fact that the\ncurrent code only supports DES which has a checksum length of 8.\n\nSigned-off-by: Kevin Coffman \u003ckwc@citi.umich.edu\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "3d4a6886786f839976c36e62303507692bf87d8d",
      "tree": "631d9d10a782281978f8fe5fb77567ce36e3570d",
      "parents": [
        "830bb59b6ece51c36dd456b685d145c69d3b7e1c"
      ],
      "author": {
        "name": "Kevin Coffman",
        "email": "kwc@citi.umich.edu",
        "time": "Thu Feb 21 13:44:12 2008 -0500"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Wed Apr 23 16:13:40 2008 -0400"
      },
      "message": "Correct grammer/typos in dprintks\n\ncleanup:  Fix grammer/typos to use \"too\" instead of \"to\"\n\nSigned-off-by: Kevin Coffman \u003ckwc@citi.umich.edu\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "830bb59b6ece51c36dd456b685d145c69d3b7e1c",
      "tree": "3b8e2d7318875394b561d6ce9c3ff4e3828106c2",
      "parents": [
        "9167f501c6b53492eb2566dd618ce7f55f2856d5"
      ],
      "author": {
        "name": "Tom Tucker",
        "email": "tom@opengridcomputing.com",
        "time": "Tue Mar 11 12:44:27 2008 -0500"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Wed Apr 23 16:13:40 2008 -0400"
      },
      "message": "SVCRDMA: Add check for XPT_CLOSE in svc_rdma_send\n\nSVCRDMA: Add check for XPT_CLOSE in svc_rdma_send\n\nThe svcrdma transport can crash if a send is waiting for an\nempty SQ slot and the connection is closed due to an asynchronous error.\nThe crash is caused when svc_rdma_send attempts to send on a deleted\nQP.\n\nSigned-off-by: Tom Tucker \u003ctom@opengridcomputing.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "dd35210e1e2cb46d6dba5c97f1bc3784c4f97998",
      "tree": "f220067718db3bb3a263566eea30e9089a59c163",
      "parents": [
        "93245d11fcaccdebccabe86a2b92db524f82d8b4"
      ],
      "author": {
        "name": "Harshula Jayasuriya",
        "email": "harshula@sgi.com",
        "time": "Wed Feb 20 10:56:56 2008 +1100"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Wed Apr 23 16:13:39 2008 -0400"
      },
      "message": "sunrpc: GSS integrity and decryption failures should return GARBAGE_ARGS\n\nIn function svcauth_gss_accept() (net/sunrpc/auth_gss/svcauth_gss.c) the\ncode that handles GSS integrity and decryption failures should be\nreturning GARBAGE_ARGS as specified in RFC 2203, sections 5.3.3.4.2 and\n5.3.3.4.3.\n\nReviewed-by: Greg Banks \u003cgnb@sgi.com\u003e\nSigned-off-by: Harshula Jayasuriya \u003charshula@sgi.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "7b54fe61ffd5bfa4e50d371a2415225aa0cbb38e",
      "tree": "6da4eb10c73ca75ff7cc94c11cfb11cd102447c4",
      "parents": [
        "6aaa67b5f3b9fe24f0c76d0415cc72e5a1137bea"
      ],
      "author": {
        "name": "Jeff Layton",
        "email": "jlayton@redhat.com",
        "time": "Tue Feb 12 11:47:24 2008 -0500"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Wed Apr 23 16:13:38 2008 -0400"
      },
      "message": "SUNRPC: allow svc_recv to break out of 500ms sleep when alloc_page fails\n\nsvc_recv() calls alloc_page(), and if it fails it does a 500ms\nuninterruptible sleep and then reattempts. There doesn\u0027t seem to be any\nreal reason for this to be uninterruptible, so change it to an\ninterruptible sleep. Also check for kthread_stop() and signalled() after\nsetting the task state to avoid races that might lead to sleeping after\nkthread_stop() wakes up the task.\n\nI\u0027ve done some very basic smoke testing with this, but obviously it\u0027s\nhard to test the actual changes since this all depends on an\nalloc_page() call failing.\n\nSigned-off-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "67eb6ff610d50da231a37beb634d6dea4b5025ab",
      "tree": "5a14b4e8ca8ed716f541bb681d5fdc0f0b07f767",
      "parents": [
        "6a85fa3adddd3a74bd5b94c4b72668d307b88377"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Thu Jan 31 16:14:54 2008 -0500"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Wed Apr 23 16:13:37 2008 -0400"
      },
      "message": "svcrpc: move unused field from cache_deferred_req\n\nThis field is set once and never used; probably some artifact of an\nearlier implementation idea.\n\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "f15364bd4cf8799a7677b6daeed7b67d9139d974",
      "tree": "bef48016533d184ea171d4b64336a5ad65ebc18e",
      "parents": [
        "d751a7cd0695554498f25d3026ca6710dbb3698f"
      ],
      "author": {
        "name": "Aurélien Charbon",
        "email": "aurelien.charbon@ext.bull.net",
        "time": "Fri Jan 18 15:50:56 2008 +0100"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Wed Apr 23 16:13:36 2008 -0400"
      },
      "message": "IPv6 support for NFS server export caches\n\nThis adds IPv6 support to the interfaces that are used to express nfsd\nexports.  All addressed are stored internally as IPv6; backwards\ncompatibility is maintained using mapped addresses.\n\nThanks to Bruce Fields, Brian Haley, Neil Brown and Hideaki Joshifuji\nfor comments\n\nSigned-off-by: Aurelien Charbon \u003caurelien.charbon@bull.net\u003e\nCc: Neil Brown \u003cneilb@suse.de\u003e\nCc: Brian Haley \u003cbrian.haley@hp.com\u003e\nCc:  YOSHIFUJI Hideaki / 吉藤英明 \u003cyoshfuji@linux-ipv6.org\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "7086721f9c8b59331e164e534f588e075cfd9d3f",
      "tree": "593ddc28b30dba189069579b82ed81996d965df2",
      "parents": [
        "23d42ee278de1552d67daef5774ba59ff30925db"
      ],
      "author": {
        "name": "Jeff Layton",
        "email": "jlayton@redhat.com",
        "time": "Thu Feb 07 16:34:54 2008 -0500"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Wed Apr 23 16:13:36 2008 -0400"
      },
      "message": "SUNRPC: have svc_recv() check kthread_should_stop()\n\nWhen using kthreads that call into svc_recv, we want to make sure that\nthey do not block there for a long time when we\u0027re trying to take down\nthe kthread.\n\nThis patch changes svc_recv() to check kthread_should_stop() at the same\nplaces that it checks to see if it\u0027s signalled(). Also check just before\nsvc_recv() tries to schedule(). By making sure that we check it just\nafter setting the task state we can avoid having to use any locking or\nsignalling to ensure it doesn\u0027t block for a long time.\n\nThere\u0027s still a chance of a 500ms sleep if alloc_page() fails, but\nthat should be a rare occurrence and isn\u0027t a terribly long time in\nthe context of a kthread being taken down.\n\nSigned-off-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "23d42ee278de1552d67daef5774ba59ff30925db",
      "tree": "9470458414cfaf370986283a4c388c9e652cf8f0",
      "parents": [
        "1447d25eb3a7bbe5bf5e4e7489f09be13e1ec73a"
      ],
      "author": {
        "name": "Jeff Layton",
        "email": "jlayton@redhat.com",
        "time": "Thu Feb 07 16:34:53 2008 -0500"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Wed Apr 23 16:13:35 2008 -0400"
      },
      "message": "SUNRPC: export svc_sock_update_bufs\n\nNeeded since the plan is to not have a svc_create_thread helper and to\nhave current users of that function just call kthread_run directly.\n\nSigned-off-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nReviewed-by: NeilBrown \u003cneilb@suse.de\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "cd019f7517206a74d8cdb64d5c82b1f76be608cc",
      "tree": "ac5e563e23a26519ac5b48f0c2a46cc0f8a3c7cf",
      "parents": [
        "7b6962b0a6000df48c8a5fd967d262f77704101b"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Apr 17 17:03:58 2008 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sat Apr 19 16:55:19 2008 -0400"
      },
      "message": "SUNRPC: Don\u0027t change the RPCSEC_GSS context on a credential that is in use\n\nWhen a server rejects our credential with an AUTH_REJECTEDCRED or similar,\nwe need to refresh the credential and then retry the request.\nHowever, we do want to allow any requests that are in flight to finish\nexecuting, so that we can at least attempt to process the replies that\ndepend on this instance of the credential.\n\nThe solution is to ensure that gss_refresh() looks up an entirely new\nRPCSEC_GSS credential instead of attempting to create a context for the\nexisting invalid credential.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "7b6962b0a6000df48c8a5fd967d262f77704101b",
      "tree": "8902c9232242ac48c49f3e7a4ff0a94045974726",
      "parents": [
        "7c1d71cf56feebfb5b98219b9d11dfc3a2feca62"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Apr 17 16:53:01 2008 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sat Apr 19 16:55:15 2008 -0400"
      },
      "message": "SUNRPC: Fix a race in gss_refresh_upcall()\n\nIf the downcall completes before we get the spin_lock then we currently\nfail to refresh the credential.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "7c1d71cf56feebfb5b98219b9d11dfc3a2feca62",
      "tree": "5a073d987ec79900b2aff217a226c8c78e94b579",
      "parents": [
        "636ac43318ce6939c1698fb67e714d421314ed71"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Apr 17 16:52:57 2008 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sat Apr 19 16:55:12 2008 -0400"
      },
      "message": "SUNRPC: Don\u0027t disconnect more than once if retransmitting NFSv4 requests\n\nNFSv4 requires us to ensure that we break the TCP connection before we\u0027re\nallowed to retransmit a request. However in the case where we\u0027re\nretransmitting several requests that have been sent on the same\nconnection, we need to ensure that we don\u0027t interfere with the attempt to\nreconnect and/or break the connection again once it has been established.\n\nWe therefore introduce a \u0027connection\u0027 cookie that is bumped every time a\nconnection is broken. This allows requests to track if they need to force a\ndisconnection.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "636ac43318ce6939c1698fb67e714d421314ed71",
      "tree": "32b1608e40b7c691a6a6c4fbed20181a0c51900b",
      "parents": [
        "06b4b681ababc20596aa947595714710f557131d"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Apr 17 14:00:47 2008 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sat Apr 19 16:55:08 2008 -0400"
      },
      "message": "SUNRPC: Remove the unused export of xprt_force_disconnect\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "06b4b681ababc20596aa947595714710f557131d",
      "tree": "84a437ee1922b63931075faf389db87650e0ca79",
      "parents": [
        "d2b831416365e8b1f27809b62d5e4260883956cc"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Apr 16 16:51:38 2008 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sat Apr 19 16:55:05 2008 -0400"
      },
      "message": "SUNRPC: remove XS_SENDMSG_RETRY\n\nThe condition for exiting from the loop in xs_tcp_send_request() should be\nthat we find we\u0027re not making progress (i.e. number of bytes sent is 0).\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "d2b831416365e8b1f27809b62d5e4260883956cc",
      "tree": "f812eddfe29aed2d821b1d7f6d1fd9a64074a2d2",
      "parents": [
        "a2b2bb8822c78806930bbb4d4c5bb3ae69648fd0"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Apr 14 18:13:37 2008 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sat Apr 19 16:55:02 2008 -0400"
      },
      "message": "SUNRPC: Protect creds against early garbage collection\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "7c67db3a8a98045744f06fcd6d8f476d9df0ba5c",
      "tree": "4d0041249b48f9ac66560550e0e96c9c86c37891",
      "parents": [
        "78ea323be6380a9313e87fe241809e912e8ae401"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Apr 07 20:50:11 2008 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sat Apr 19 16:54:56 2008 -0400"
      },
      "message": "NFSv4: Reintroduce machine creds\n\nWe need to try to ensure that we always use the same credentials whenever\nwe re-establish the clientid on the server. If not, the server won\u0027t\nrecognise that we\u0027re the same client, and so may not allow us to recover\nstate.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "78ea323be6380a9313e87fe241809e912e8ae401",
      "tree": "6ea9a772ab677012c52a08c6b32e366d7bf129d4",
      "parents": [
        "441092415770ddec648800701895913c4bfd60c1"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Apr 07 20:49:28 2008 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sat Apr 19 16:54:53 2008 -0400"
      },
      "message": "NFSv4: Don\u0027t use cred-\u003ecr_ops-\u003ecr_name in nfs4_proc_setclientid()\n\nWith the recent change to generic creds, we can no longer use\ncred-\u003ecr_ops-\u003ecr_name to distinguish between RPCSEC_GSS principals and\nAUTH_SYS/AUTH_NULL identities. Replace it with the rpc_authops-\u003eau_name\ninstead...\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "1e799b673c6b82b336ab13c48b5651d511ca3000",
      "tree": "9954155b2a9bdd72e49a078418ceea6c47bcc609",
      "parents": [
        "c1d519312dcdf11532fed9f99a8ecc3547ffd9d6"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Mar 21 16:19:41 2008 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sat Apr 19 16:53:20 2008 -0400"
      },
      "message": "SUNRPC: Fix read ordering problems with req-\u003erq_private_buf.len\n\nWe want to ensure that req-\u003erq_private_buf.len is updated before\nreq-\u003erq_received, so that call_decode() doesn\u0027t use an old value for\nreq-\u003erq_rcv_buf.len.\n\nIn \u0027call_decode()\u0027 itself, instead of using task-\u003etk_status (which is set\nusing req-\u003erq_received) must use the actual value of\nreq-\u003erq_private_buf.len when deciding whether or not the received RPC reply\nis too short.\n\nFinally ensure that we set req-\u003erq_rcv_buf.len to zero when retrying a\nrequest. A typo meant that we were resetting req-\u003erq_private_buf.len in\ncall_decode(), and then clobbering that value with the old rq_rcv_buf.len\nagain in xprt_transmit().\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "080a1f148df0615f7a610e4776dd8f3fb706f54f",
      "tree": "bf6f52a5a2974adee916c86a01ffdd3a739cf71f",
      "parents": [
        "b6ddf64ffe9d59577a9176856bb6fe69a539f573"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sat Apr 19 14:22:31 2008 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sat Apr 19 16:52:54 2008 -0400"
      },
      "message": "SUNRPC: Don\u0027t attempt to destroy expired RPCSEC_GSS credentials..\n\n..and always destroy using a \u0027soft\u0027 RPC call. Destroying GSS credentials\nisn\u0027t mandatory; the server can always cope with a few credentials not\ngetting destroyed in a timely fashion.\n\nThis actually fixes a hang situation. Basically, some servers will decide\nthat the client is crazy if it tries to destroy an RPC context for which\nthey have sent an RPCSEC_GSS_CREDPROBLEM, and so will refuse to talk to it\nfor a while.\nThe regression therefor probably was introduced by commit\n0df7fb74fbb709591301871a38aac7735a1d6583.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "b6ddf64ffe9d59577a9176856bb6fe69a539f573",
      "tree": "dd12c31555cf9449dd6094428d377186b3c4c373",
      "parents": [
        "24b74bf0c9e08cbda74d3c64af69ad402ed54e04"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Apr 17 18:52:19 2008 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sat Apr 19 16:52:44 2008 -0400"
      },
      "message": "SUNRPC: Fix up xprt_write_space()\n\nThe rest of the networking layer uses SOCK_ASYNC_NOSPACE to signal whether\nor not we have someone waiting for buffer memory. Convert the SUNRPC layer\nto use the same idiom.\nRemove the unlikely()s in xs_udp_write_space and xs_tcp_write_space. In\nfact, the most common case will be that there is nobody waiting for buffer\nspace.\n\nSOCK_NOSPACE is there to tell the TCP layer whether or not the cwnd was\nlimited by the application window. Ensure that we follow the same idiom as\nthe rest of the networking layer here too.\n\nFinally, ensure that we clear SOCK_ASYNC_NOSPACE once we wake up, so that\nwrite_space() doesn\u0027t keep waking things up on xprt-\u003epending.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "24b74bf0c9e08cbda74d3c64af69ad402ed54e04",
      "tree": "bd18884769eef620d12babbc86a008561321758e",
      "parents": [
        "0490a54a00c14212f22c5948c8c13a4553d745bd"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sat Apr 19 13:15:47 2008 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sat Apr 19 16:52:33 2008 -0400"
      },
      "message": "SUNRPC: Fix a bug in call_decode()\n\ncall_verify() can, under certain circumstances, free the RPC slot. In that\ncase, our cached pointer \u0027req \u003d task-\u003etk_rqstp\u0027 is invalid. Bug was\nintroduced in commit 220bcc2afd7011b3e0569fc178331fa983c92c1b (SUNRPC:\nDon\u0027t call xprt_release in call refresh).\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "c5f59f0833df945eef7ff35f3dc6ba61c5f293dd",
      "tree": "32c1a94847d0154051c79011212d401462723d55",
      "parents": [
        "b53e921ba1cff8453dc9a87a84052fa12d5b30bd"
      ],
      "author": {
        "name": "Mike Travis",
        "email": "travis@sgi.com",
        "time": "Fri Apr 04 18:11:10 2008 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Apr 19 19:44:59 2008 +0200"
      },
      "message": "nodemask: use new node_to_cpumask_ptr function\n\n  * Use new node_to_cpumask_ptr.  This creates a pointer to the\n    cpumask for a given node.  This definition is in mm patch:\n\n\tasm-generic-add-node_to_cpumask_ptr-macro.patch\n\n  * Use new set_cpus_allowed_ptr function.\n\nDepends on:\n\t[mm-patch]: asm-generic-add-node_to_cpumask_ptr-macro.patch\n\t[sched-devel]: sched: add new set_cpus_allowed_ptr function\n\t[x86/latest]: x86: add cpus_scnprintf function\n\nCc: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\nCc: Greg Banks \u003cgnb@melbourne.sgi.com\u003e\nCc: H. Peter Anvin \u003chpa@zytor.com\u003e\nSigned-off-by: Mike Travis \u003ctravis@sgi.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "334d094504c2fe1c44211ecb49146ae6bca8c321",
      "tree": "d3c0f68e4b9f8e3d2ccc39e7dfe5de0534a5fad9",
      "parents": [
        "d1a4be630fb068f251d64b62919f143c49ca8057",
        "d1643d24c61b725bef399cc1cf2944b4c9c23177"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 18 18:02:35 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 18 18:02:35 2008 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6.26\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6.26: (1090 commits)\n  [NET]: Fix and allocate less memory for -\u003epriv\u0027less netdevices\n  [IPV6]: Fix dangling references on error in fib6_add().\n  [NETLABEL]: Fix NULL deref in netlbl_unlabel_staticlist_gen() if ifindex not found\n  [PKT_SCHED]: Fix datalen check in tcf_simp_init().\n  [INET]: Uninline the __inet_inherit_port call.\n  [INET]: Drop the inet_inherit_port() call.\n  SCTP: Initialize partial_bytes_acked to 0, when all of the data is acked.\n  [netdrvr] forcedeth: internal simplifications; changelog removal\n  phylib: factor out get_phy_id from within get_phy_device\n  PHY: add BCM5464 support to broadcom PHY driver\n  cxgb3: Fix __must_check warning with dev_dbg.\n  tc35815: Statistics cleanup\n  natsemi: fix MMIO for PPC 44x platforms\n  [TIPC]: Cleanup of TIPC reference table code\n  [TIPC]: Optimized initialization of TIPC reference table\n  [TIPC]: Remove inlining of reference table locking routines\n  e1000: convert uint16_t style integers to u16\n  ixgb: convert uint16_t style integers to u16\n  sb1000.c: make const arrays static\n  sb1000.c: stop inlining largish static functions\n  ...\n"
    },
    {
      "commit": "1e42198609d73ed1a9adcba2af275c24c2678420",
      "tree": "32fd4d9073bfc0f3909af8f9fb4bcff38951d01a",
      "parents": [
        "794eb6bf20ebf992c040ea831cd3a9c64b0c1f7a",
        "4b119e21d0c66c22e8ca03df05d9de623d0eb50f"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Apr 17 23:56:30 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Apr 17 23:56:30 2008 -0700"
      },
      "message": "Merge branch \u0027master\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/torvalds/linux-2.6\n"
    },
    {
      "commit": "0f39cf3d54e67a705773fd0ec56ca3dcd3e9272f",
      "tree": "83f19f0014d0e880fb245906105e903dd6d733d5",
      "parents": [
        "e7eacd36865ae0707f5efae8e4dda421ffcd1b66"
      ],
      "author": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Wed Apr 16 21:09:32 2008 -0700"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Wed Apr 16 21:09:32 2008 -0700"
      },
      "message": "IB/core: Add support for \"send with invalidate\" work requests\n\nAdd a new IB_WR_SEND_WITH_INV send opcode that can be used to mark a\n\"send with invalidate\" work request as defined in the iWARP verbs and\nthe InfiniBand base memory management extensions.  Also put \"imm_data\"\nand a new \"invalidate_rkey\" member in a new \"ex\" union in struct\nib_send_wr. The invalidate_rkey member can be used to pass in an\nR_Key/STag to be invalidated.  Add this new union to struct\nib_uverbs_send_wr.  Add code to copy the invalidate_rkey field in\nib_uverbs_post_send().\n\nFix up low-level drivers to deal with the change to struct ib_send_wr,\nand just remove the imm_data initialization from net/sunrpc/xprtrdma/,\nsince that code never does any send with immediate operations.\n\nAlso, move the existing IB_DEVICE_SEND_W_INV flag to a new bit, since\nthe iWARP drivers currently in the tree set the bit.  The amso1100\ndriver at least will silently fail to honor the IB_SEND_INVALIDATE bit\nif passed in as part of userspace send requests (since it does not\nimplement kernel bypass work request queueing).  Remove the flag from\nall existing drivers that set it until we know which ones are OK.\n\nThe values chosen for the new flag is not consecutive to avoid clashing\nwith flags defined in the XRC patches, which are not merged yet but\nwhich are already in use and are likely to be merged soon.\n\nThis resurrects a patch sent long ago by Mikkel Hagen \u003cmhagen@iol.unh.edu\u003e.\n\nSigned-off-by: Roland Dreier \u003crolandd@cisco.com\u003e\n"
    },
    {
      "commit": "ed13c27e546667fb0967ae30f5070cd7f6455f90",
      "tree": "164af7ac3dfd69c6c939150b530fd57a9eb8e54d",
      "parents": [
        "240ee831187e000704cba3208ef6b0a8ad49bd64"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Mon Apr 07 16:52:44 2008 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Apr 08 21:07:00 2008 -0400"
      },
      "message": "SUNRPC: Fix a memory leak in rpc_create()\n\nCommit 510deb0d was supposed to move the xprt_create_transport() call in\nrpc_create(), but neglected to remove the old call site.  This resulted in\na transport leak after every rpc_create() call.\n\nThis leak is present in 2.6.24 and 2.6.25.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "daeba89d43af0fa469d38a4ccdc32fff8ca17c2e",
      "tree": "1c228b639571866d492e7ab8d5b843e41a955970",
      "parents": [
        "7180c4c9e09888db0a188f729c96c6d7bd61fa83"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Mar 31 17:02:02 2008 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Apr 08 21:06:50 2008 -0400"
      },
      "message": "SUNRPC: don\u0027t call flush_dcache_page() with an invalid pointer\n\nFix a problem in _copy_to_pages(), whereby it may call flush_dcache_page()\nwith an invalid pointer due to the fact that \u0027pgto\u0027 gets incremented\nbeyond the end of the page array. Fix is to exit the loop without this\nunnecessary increment of pgto.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "3bb5da3837cc1aa17736b05139c9a22c3794851a",
      "tree": "c92d5684a866542b1cb20641607ac1643ce03a47",
      "parents": [
        "7feb49c82a74bc7c091b8ab2a3f96baa33d08ece",
        "9597362d354f8655ece324b01d0c640a0e99c077"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Apr 03 14:33:42 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Apr 03 14:33:42 2008 -0700"
      },
      "message": "Merge branch \u0027master\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6\n"
    },
    {
      "commit": "c8237a5fcea9d49a73275b4c8f541dd42f8da1a4",
      "tree": "b93287513360a027baf3a8936c457ab2e21aa532",
      "parents": [
        "12c22d6ef299ccf0955e5756eb57d90d7577ac68"
      ],
      "author": {
        "name": "Tom Tucker",
        "email": "tom@opengridcomputing.com",
        "time": "Tue Mar 25 22:27:19 2008 -0400"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 26 11:24:19 2008 -0700"
      },
      "message": "SVCRDMA: Check num_sge when setting LAST_CTXT bit\n\nThe RDMACTXT_F_LAST_CTXT bit was getting set incorrectly\nwhen the last chunk in the read-list spanned multiple pages. This\nresulted in a kernel panic when the wrong context was used to\nbuild the RPC iovec page list.\n\nRDMA_READ is used to fetch RPC data from the client for\nNFS_WRITE requests. A scatter-gather is used to map the\nadvertised client side buffer to the server-side iovec and\nassociated page list.\n\nWR contexts are used to convey which scatter-gather entries are\nhandled by each WR. When the write data is large, a single RPC may\nrequire multiple RDMA_READ requests so the contexts for a single RPC\nare chained together in a linked list. The last context in this list\nis marked with a bit RDMACTXT_F_LAST_CTXT so that when this WR completes,\nthe CQ handler code can enqueue the RPC for processing.\n\nThe code in rdma_read_xdr was setting this bit on the last two\ncontexts on this list when the last read-list chunk spanned multiple\npages. This caused the svc_rdma_recvfrom logic to incorrectly build\nthe RPC and caused the kernel to crash because the second-to-last\ncontext doesn\u0027t contain the iovec page list.\n\nModified the condition that sets this bit so that it correctly detects\nthe last context for the RPC.\n\nSigned-off-by: Tom Tucker \u003ctom@opengridcomputing.com\u003e\nTested-by: Roland Dreier \u003crolandd@cisco.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "d3073779f8362d64b804882f5f41c208c4a5e11e",
      "tree": "6aa6a950cc9bed39deafd73bca1e99e108d31b51",
      "parents": [
        "b9e76a00749521f2b080fa8a4fb15f66538ab756"
      ],
      "author": {
        "name": "Roland Dreier",
        "email": "rdreier@cisco.com",
        "time": "Mon Mar 24 12:03:03 2008 -0400"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Mar 24 11:25:25 2008 -0700"
      },
      "message": "SVCRDMA: Use only 1 RDMA read scatter entry for iWARP adapters\n\nThe iWARP protocol limits RDMA read requests to a single scatter\nentry.  NFS/RDMA has code in rdma_read_max_sge() that is supposed to\nlimit the sge_count for RDMA read requests to 1, but the code to do\nthat is inside an #ifdef RDMA_TRANSPORT_IWARP block.  In the mainline\nkernel at least, RDMA_TRANSPORT_IWARP is an enum and not a\npreprocessor #define, so the #ifdef\u0027ed code is never compiled.\n\nIn my test of a kernel build with -j8 on an NFS/RDMA mount, this\nproblem eventually leads to trouble starting with:\n\n    svcrdma: Error posting send \u003d -22\n    svcrdma : RDMA_READ error \u003d -22\n\nand things go downhill from there.\n\nThe trivial fix is to delete the #ifdef guard.  The check seems to be\na remnant of when the NFS/RDMA code was not merged and needed to\ncompile against multiple kernel versions, although I don\u0027t think it\never worked as intended.  In any case now that the code is upstream\nthere\u0027s no need to test whether the RDMA_TRANSPORT_IWARP constant is\ndefined or not.\n\nWithout this patch, my kernel build on an NFS/RDMA mount using NetEffect\nadapters quickly and 100% reproducibly failed with an error like:\n\n    ld: final link failed: Software caused connection abort\n\nWith the patch applied I was able to complete a kernel build on the\nsame setup.\n\n(Tom Tucker says this is \"actually an _ancient_ remnant when it had to\ncompile against iWARP vs. non-iWARP enabled OFA trees.\")\n\nSigned-off-by: Roland Dreier \u003crolandd@cisco.com\u003e\nAcked-by: Tom Tucker \u003ctom@opengridcomputing.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "c7c350e92aab1bba68f26a6027b734adcf9824ba",
      "tree": "aa99bd94c3049dd871d9c030d70a5f3d87591a95",
      "parents": [
        "2f42b5d043ee271d1e5d30ecd77186b6c4d4e534",
        "f8512ad0da16cbe156f3a7627971cdf0b39c4138"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Mar 19 17:59:44 2008 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Mar 19 17:59:44 2008 -0400"
      },
      "message": "Merge branch \u0027hotfixes\u0027 into devel\n"
    },
    {
      "commit": "577f99c1d08cf9cbdafd4e858dd13ff04d855090",
      "tree": "0f726bbda9b18d311d4c95198bbd96cb7ac01db0",
      "parents": [
        "26c0f03f6b77c513cb7bc37b73a06819bdbb791b",
        "2f633928cbba8a5858bb39b11e7219a41b0fbef5"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Mar 18 00:37:55 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Mar 18 00:37:55 2008 -0700"
      },
      "message": "Merge branch \u0027master\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6\n\nConflicts:\n\n\tdrivers/net/wireless/rt2x00/rt2x00dev.c\n\tnet/8021q/vlan_dev.c\n"
    },
    {
      "commit": "2f633928cbba8a5858bb39b11e7219a41b0fbef5",
      "tree": "9a82f4b7f2c3afe4b0208d8e44ea61bae90a7d22",
      "parents": [
        "5e226e4d9016daee170699f8a4188a5505021756",
        "bde4f8fa8db2abd5ac9c542d76012d0fedab050f"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Mar 17 23:44:31 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Mar 17 23:44:31 2008 -0700"
      },
      "message": "Merge branch \u0027master\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6\n"
    },
    {
      "commit": "27724426a9000086993a8107a11cff276c4bd4d4",
      "tree": "bb875f3df5b0b64e3bde48093674d857b2874901",
      "parents": [
        "bc92dd194d05e8334b210552fbc0ac5711d72ea9"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Mar 17 22:48:03 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Mar 17 22:48:03 2008 -0700"
      },
      "message": "[SUNRPC]: net/* NULL noise\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e6f1cebf71c4e7aae7dfa43414ce2631291def9f",
      "tree": "a3abf6bb3e63f2ecea1a4e05bf8d288d920acb17",
      "parents": [
        "fc4d30a6fc88121081916faef930d8c3e4ed6036"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Mar 17 22:44:53 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Mar 17 22:44:53 2008 -0700"
      },
      "message": "[NET] endianness noise: INADDR_ANY\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "98a8e3239427051f5d44f2025b398bdcc3918f37",
      "tree": "aa3e6ba69dbf8575c2c6e10c013aa23d7d638af0",
      "parents": [
        "5c691044ecbca04dd558fca4c754121689fe1b34"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Mar 12 12:25:28 2008 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Mar 14 13:42:49 2008 -0400"
      },
      "message": "SUNRPC: Add a helper rpcauth_lookup_generic_cred()\n\nThe NFSv4 protocol allows clients to negotiate security protocols on the\nfly in the case where an administrator on the server changes the export\nsettings and/or in the case where we may have a filesystem migration event.\n\nInstead of having the NFS client code cache credentials that are tied to a\nparticular AUTH method it is therefore preferable to have a generic credential\nthat can be converted into whatever AUTH is in use by the RPC client when\nthe read/write/sillyrename/... is put on the wire.\n\nWe do this by means of the new \"generic\" credential, which basically just\ncaches the minimal information that is needed to look up an RPCSEC_GSS,\nAUTH_SYS, or AUTH_NULL credential.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "5c691044ecbca04dd558fca4c754121689fe1b34",
      "tree": "7a56b63c44766fcca0d7ac245ce0e19077b6f118",
      "parents": [
        "9a559efd4199c9812d339e23cc1b6055366b224f"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Mar 12 16:21:07 2008 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Mar 14 13:42:41 2008 -0400"
      },
      "message": "SUNRPC: Add an rpc_credop callback for binding a credential to an rpc_task\n\nWe need the ability to treat \u0027generic\u0027 creds specially, since they want to\nbind instances of the auth cred instead of binding themselves.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "9a559efd4199c9812d339e23cc1b6055366b224f",
      "tree": "44ae54434a6bd368693ea76b210448496e222e46",
      "parents": [
        "4ccda2cdd8d156b6f49440653d5d6997e0facf97"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Mar 12 12:24:49 2008 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Mar 14 13:42:38 2008 -0400"
      },
      "message": "SUNRPC: Add a generic RPC credential\n\nAdd an rpc credential that is not tied to any particular auth mechanism,\nbut that can be cached by NFS, and later used to look up a cred for\nwhichever auth mechanism that turns out to be valid when the RPC call is\nbeing made.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "4ccda2cdd8d156b6f49440653d5d6997e0facf97",
      "tree": "fd75203f002edfd1657c9ca7bcb5494a7b783cf1",
      "parents": [
        "af093835774931de898a9baf7b4041fa0d100f77"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Mar 12 16:20:55 2008 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Mar 14 13:42:35 2008 -0400"
      },
      "message": "SUNRPC: Clean up rpcauth_bindcred()\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "af093835774931de898a9baf7b4041fa0d100f77",
      "tree": "f7617eb4556ead8615f6c26d8b02fcec8f64c6b3",
      "parents": [
        "25337fdc85951dfeac944f16cb565904c619077a"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Mar 12 12:12:16 2008 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Mar 14 13:42:32 2008 -0400"
      },
      "message": "SUNRPC: Fix RPCAUTH_LOOKUP_ROOTCREDS\n\nThe current RPCAUTH_LOOKUP_ROOTCREDS flag only works for AUTH_SYS\nauthentication, and then only as a special case in the code. This patch\nremoves the auth_sys special casing, and replaces it with generic code.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "25337fdc85951dfeac944f16cb565904c619077a",
      "tree": "8c0f37eca64775825ea84ade40460862a2ba377e",
      "parents": [
        "9446389ef612096704fdf18fa79bab423d4110f0"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Mar 12 14:40:14 2008 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Mar 14 13:42:29 2008 -0400"
      },
      "message": "SUNRPC: Fix a bug in rpcauth_lookup_credcache()\n\nThe hash bucket is for some reason always being set to zero.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "3fedb3c5a80595d94f7cbe47a6dba9184d869eb8",
      "tree": "50254172a14b3b67c7ab289341e4938cb2cd1273",
      "parents": [
        "c48cbb405c4f338ce3263c44d621eff41d9a95fc"
      ],
      "author": {
        "name": "Tom Tucker",
        "email": "tom@opengridcomputing.com",
        "time": "Tue Mar 11 14:31:40 2008 -0400"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 12 12:37:34 2008 -0700"
      },
      "message": "SVCRDMA: Fix erroneous BUG_ON in send_write\n\nThe assertion that checks for sge context overflow is\nincorrectly hard-coded to 32. This causes a kernel bug\ncheck when using big-data mounts. Changed the BUG_ON to\nuse the computed value RPCSVC_MAXPAGES.\n\nSigned-off-by: Tom Tucker \u003ctom@opengridcomputing.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "c48cbb405c4f338ce3263c44d621eff41d9a95fc",
      "tree": "9b40ce571009d8acae6b1023b5e50247d3f33d15",
      "parents": [
        "ee27a558ae0ff5063ccd6c47ca102c0bb0e3ba27"
      ],
      "author": {
        "name": "Tom Tucker",
        "email": "tom@opengridcomputing.com",
        "time": "Tue Mar 11 14:31:39 2008 -0400"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 12 12:37:34 2008 -0700"
      },
      "message": "SVCRDMA: Add xprt refs to fix close/unmount crash\n\nRDMA connection shutdown on an SMP machine can cause a kernel crash due\nto the transport close path racing with the I/O tasklet.\n\nAdditional transport references were added as follows:\n- A reference when on the DTO Q to avoid having the transport\n  deleted while queued for I/O.\n- A reference while there is a QP able to generate events.\n- A reference until the DISCONNECTED event is received on the CM ID\n\nSigned-off-by: Tom Tucker \u003ctom@opengridcomputing.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "9446389ef612096704fdf18fa79bab423d4110f0",
      "tree": "3e4fda7270be58ae176d20d318e61fb115b325b5",
      "parents": [
        "cdd0972945dbcb8ea24db365d9b0e100af2a27bb",
        "84c6f6046c5a2189160a8f0dca8b90427bf690ea"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sat Mar 08 11:49:24 2008 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sat Mar 08 11:49:24 2008 -0500"
      },
      "message": "Merge commit \u0027origin\u0027 into devel\n"
    },
    {
      "commit": "4c1aa6f8b9686ddc7221f0f3b63f9b7dd1467543",
      "tree": "8774d2a82e5a3682e863eb9e1ae34fd7aed8ac94",
      "parents": [
        "5d49c101a126808a38f2a1f4eedc1fd28233e37f",
        "4e99a1ff3410c627a428d5ddb6cd2e7bc908a486"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Mar 07 12:08:07 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Mar 07 12:08:07 2008 -0800"
      },
      "message": "Merge branch \u0027hotfixes\u0027 of git://git.linux-nfs.org/projects/trondmy/nfs-2.6\n\n* \u0027hotfixes\u0027 of git://git.linux-nfs.org/projects/trondmy/nfs-2.6:\n  NFS: Fix dentry revalidation for NFSv4 referrals and mountpoint crossings\n  NFS: Fix the fsid revalidation in nfs_update_inode()\n  SUNRPC: Fix a nfs4 over rdma transport oops\n  NFS: Fix an f_mode/f_flags confusion in fs/nfs/write.c\n"
    },
    {
      "commit": "ee1a2c564f67407947e89f1dac75ac0af0ba88c7",
      "tree": "c62ea8d12b876f78662c0f9e0372c6d0d1f0c31a",
      "parents": [
        "af1b8c2ff7c337c4e96db12d6b7b61eaa91aa069"
      ],
      "author": {
        "name": "Tom Talpey",
        "email": "tmt@netapp.com",
        "time": "Wed Feb 27 15:04:26 2008 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Mar 07 14:35:32 2008 -0500"
      },
      "message": "SUNRPC: Fix a nfs4 over rdma transport oops\n\nPrevent an RPC oops when freeing a dynamically allocated RDMA\nbuffer, used in certain special-case large metadata operations.\n\nSigned-off-by: Tom Talpey \u003ctmt@netapp.com\u003e\nSigned-off-by: James Lentini \u003cjlentini@netapp.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "0dc47877a3de00ceadea0005189656ae8dc52669",
      "tree": "7440a87385fe318cb42f0ae161be195f5e967d82",
      "parents": [
        "6387c4bed539539b05fa773cf2ff26529dc3074c"
      ],
      "author": {
        "name": "Harvey Harrison",
        "email": "harvey.harrison@gmail.com",
        "time": "Wed Mar 05 20:47:47 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Mar 05 20:47:47 2008 -0800"
      },
      "message": "net: replace remaining __FUNCTION__ occurrences\n\n__FUNCTION__ is gcc-specific, use __func__\n\nSigned-off-by: Harvey Harrison \u003charvey.harrison@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "cdd0972945dbcb8ea24db365d9b0e100af2a27bb",
      "tree": "d41204db20ccc81cecf99a332e2fa764075e8637",
      "parents": [
        "5e4424af9a1f062c6451681dff24a26e27741cc6",
        "cbc20059259edee4ea24c923e6627c394830c972"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Feb 28 23:48:05 2008 -0800"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Feb 28 23:48:05 2008 -0800"
      },
      "message": "Merge branch \u0027cleanups\u0027 into next\n"
    },
    {
      "commit": "5e4424af9a1f062c6451681dff24a26e27741cc6",
      "tree": "fcba54a8fc2d94c1d691ab5b8b956ac71b5cb8d4",
      "parents": [
        "ff2d7db848f8db7cade39e55f78f86d77e0de01a"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Feb 25 21:53:49 2008 -0800"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Feb 28 23:26:28 2008 -0800"
      },
      "message": "SUNRPC: Remove now-redundant RCU-safe rpc_task free path\n\nNow that we\u0027ve tightened up the locking rules for RPC queue wakeups, we can\nremove the RCU-safe kfree calls...\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "ff2d7db848f8db7cade39e55f78f86d77e0de01a",
      "tree": "fb40ecbcad821ec6e31f4324c0483e13242f36c7",
      "parents": [
        "f5fb7b06e4e4ab18326f067f4317b2016ce18af2"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Feb 25 21:40:51 2008 -0800"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Feb 28 23:26:27 2008 -0800"
      },
      "message": "SUNRPC: Ensure that we read all available tcp data\n\nDon\u0027t stop until we run out of data, or we hit an error.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "f5fb7b06e4e4ab18326f067f4317b2016ce18af2",
      "tree": "c1a2c972d373d503b432f592b52d4fd2a59a1b46",
      "parents": [
        "eb276c0e10187702928aeaa133e1d3dbaf3eafc7"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Feb 25 21:40:50 2008 -0800"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Feb 28 23:26:25 2008 -0800"
      },
      "message": "SUNRPC: Eliminate the now-redundant rpc_start_wakeup()\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "eb276c0e10187702928aeaa133e1d3dbaf3eafc7",
      "tree": "f7cfb639d97747f32573dc72970aa9bf589fb0da",
      "parents": [
        "36df9aae3158ce8fc4ede241169dc94ac910d884"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Feb 22 17:27:59 2008 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Feb 28 23:26:21 2008 -0800"
      },
      "message": "SUNRPC: Switch tasks to using the rpc_waitqueue\u0027s timer function\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "36df9aae3158ce8fc4ede241169dc94ac910d884",
      "tree": "5f6caa22ce9414850fd34eefb54150b120a8f4e7",
      "parents": [
        "f6a1cc89309f0ae847a9b6fe418d1c4215e5bc55"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Jul 18 16:18:52 2007 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Feb 28 23:21:59 2008 -0800"
      },
      "message": "SUNRPC: Add a timer function to wait queues.\n\nThis is designed to replace the timeout timer in the individual rpc_tasks.\nBy putting the timer function in the wait queue, we will eventually be able\nto reduce the total number of timers in use by the RPC subsystem.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "f6a1cc89309f0ae847a9b6fe418d1c4215e5bc55",
      "tree": "4f5d585dd901718d66d9c354625f9a0bc85c234d",
      "parents": [
        "5d00837b90340af9106dcd93af75fd664c8eb87f"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Feb 22 17:06:55 2008 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Feb 28 23:17:27 2008 -0800"
      },
      "message": "SUNRPC: Add a (empty for the moment) destructor for rpc_wait_queues\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "2ce8f047d5f3c0d782838bd2ecb6e4c440268e6d",
      "tree": "8c8f667f23e194e31dd9b82acaf5e3c0aa4238f1",
      "parents": [
        "64758bd7927be1f755e7a08edb2253d37e4b2445"
      ],
      "author": {
        "name": "Wang Chen",
        "email": "wangchen@cn.fujitsu.com",
        "time": "Thu Feb 28 14:00:59 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Feb 28 14:00:59 2008 -0800"
      },
      "message": "[SUNRPC]: Use proc_create() to setup -\u003eproc_fops first\n\nUse proc_create() to make sure that -\u003eproc_fops be setup before gluing\nPDE to main tree.\n\nSigned-off-by: Wang Chen \u003cwangchen@cn.fujitsu.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "5d00837b90340af9106dcd93af75fd664c8eb87f",
      "tree": "f537dc84421cf150d66b630e56ea8107078c07a8",
      "parents": [
        "fda1393938035559b417dd5b26b9cc293a7aee00"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Feb 22 16:34:17 2008 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Feb 25 21:40:44 2008 -0800"
      },
      "message": "SUNRPC: Run rpc timeout functions as callbacks instead of in softirqs\n\nAn audit of the current RPC timeout functions shows that they don\u0027t really\never need to run in the softirq context. As long as the softirq is\nable to signal that the wakeup is due to a timeout (which it can do by\nsetting task-\u003etk_status to -ETIMEDOUT) then the callback functions can just\nrun as standard task-\u003etk_callback functions (in the rpciod/process\ncontext).\n\nThe only possible border-line case would be xprt_timer() for the case of\nUDP, when the callback is used to reduce the size of the transport\ncongestion window. In testing, however, the effect of moving that update\nto a callback would appear to be minor.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "fda1393938035559b417dd5b26b9cc293a7aee00",
      "tree": "8190a6ad7a81974dd5f782f2ab872753742ff68d",
      "parents": [
        "96ef13b283934fbf60b732e6c4ce23e8babd0042"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Feb 22 16:34:12 2008 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Feb 25 21:40:42 2008 -0800"
      },
      "message": "SUNRPC: Convert users of rpc_wake_up_task to use rpc_wake_up_queued_task\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "96ef13b283934fbf60b732e6c4ce23e8babd0042",
      "tree": "9efa8e92ff2e7f27746b65214a43ca3a4aed1b14",
      "parents": [
        "fde95c7554aa77f9a242f32b0b5f8f15395abf52"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Feb 22 15:46:41 2008 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Feb 25 21:40:40 2008 -0800"
      },
      "message": "SUNRPC: Add a new helper rpc_wake_up_queued_task()\n\nIn all cases where we currently use rpc_wake_up_task(), we almost always\nknow on which waitqueue the rpc_task is actually sleeping. This will allows\nus to simplify the queue locking in a future patch.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    }
  ],
  "next": "fde95c7554aa77f9a242f32b0b5f8f15395abf52"
}
