)]}'
{
  "log": [
    {
      "commit": "4e5caaa5f24b3df1fe01097e1e7576461e70d491",
      "tree": "c682473e9a40f4e8a8a1317906a516b41d47ec30",
      "parents": [
        "9f8bfae693c724120ffc8fb77564f6deb508daf3"
      ],
      "author": {
        "name": "Tom Tucker",
        "email": "tom@opengridcomputing.com",
        "time": "Sun Dec 30 21:08:20 2007 -0600"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Feb 01 16:42:13 2008 -0500"
      },
      "message": "svc: Move create logic to common code\n\nMove the svc transport list logic into common transport creation code.\nRefactor this code path to make the flow of control easier to read.\n\nMove the setting and clearing of the BUSY_BIT during transport creation\nto common code.\n\nSigned-off-by: Tom Tucker \u003ctom@opengridcomputing.com\u003e\nAcked-by: Neil Brown \u003cneilb@suse.de\u003e\nReviewed-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nReviewed-by: Greg Banks \u003cgnb@sgi.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "9f8bfae693c724120ffc8fb77564f6deb508daf3",
      "tree": "abcd5cad6a5a4e798d428a8568e5256adc8e1cb8",
      "parents": [
        "c36adb2a7f9132b37d4b669b2e2c04e46d5188b2"
      ],
      "author": {
        "name": "Tom Tucker",
        "email": "tom@opengridcomputing.com",
        "time": "Sun Dec 30 21:08:18 2007 -0600"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Feb 01 16:42:13 2008 -0500"
      },
      "message": "svc: Make svc_age_temp_sockets svc_age_temp_transports\n\nThis function is transport independent. Change it to use svc_xprt directly\nand change it\u0027s name to reflect this.\n\nSigned-off-by: Tom Tucker \u003ctom@opengridcomputing.com\u003e\nAcked-by: Neil Brown \u003cneilb@suse.de\u003e\nReviewed-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nReviewed-by: Greg Banks \u003cgnb@sgi.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "c36adb2a7f9132b37d4b669b2e2c04e46d5188b2",
      "tree": "0047a71515d96cdd4085adbd1691232db42c2b9f",
      "parents": [
        "eab996d4aca7a9d8621d2b98c00ce420df85eaed"
      ],
      "author": {
        "name": "Tom Tucker",
        "email": "tom@opengridcomputing.com",
        "time": "Sun Dec 30 21:08:16 2007 -0600"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Feb 01 16:42:12 2008 -0500"
      },
      "message": "svc: Make svc_recv transport neutral\n\nAll of the transport field and functions used by svc_recv are now\ntransport independent. Change the svc_recv function to use the svc_xprt\nstructure directly instead of the transport specific svc_sock structure.\n\nSigned-off-by: Tom Tucker \u003ctom@opengridcomputing.com\u003e\nAcked-by: Neil Brown \u003cneilb@suse.de\u003e\nReviewed-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nReviewed-by: Greg Banks \u003cgnb@sgi.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "eab996d4aca7a9d8621d2b98c00ce420df85eaed",
      "tree": "beee1815aebbb5e31628d939cd08330cf3417c3f",
      "parents": [
        "9dbc240f199c16c3c0859c255ad52a663d8ee51d"
      ],
      "author": {
        "name": "Tom Tucker",
        "email": "tom@opengridcomputing.com",
        "time": "Sun Dec 30 21:08:14 2007 -0600"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Feb 01 16:42:12 2008 -0500"
      },
      "message": "svc: Make svc_sock_release svc_xprt_release\n\nThe svc_sock_release function only touches transport independent fields.\nChange the function to manipulate svc_xprt directly instead of the transport\ndependent svc_sock structure.\n\nSigned-off-by: Tom Tucker \u003ctom@opengridcomputing.com\u003e\nAcked-by: Neil Brown \u003cneilb@suse.de\u003e\nReviewed-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nReviewed-by: Greg Banks \u003cgnb@sgi.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "9dbc240f199c16c3c0859c255ad52a663d8ee51d",
      "tree": "0e81dd425c36590e65accfe9654d905632783c7f",
      "parents": [
        "8c7b0172a1db8120d25ecb4eff69664c52ee7639"
      ],
      "author": {
        "name": "Tom Tucker",
        "email": "tom@opengridcomputing.com",
        "time": "Sun Dec 30 21:08:12 2007 -0600"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Feb 01 16:42:12 2008 -0500"
      },
      "message": "svc: Move the sockaddr information to svc_xprt\n\nThis patch moves the transport sockaddr to the svc_xprt\nstructure.  Convenience functions are added to set and\nget the local and remote addresses of a transport from\nthe transport provider as well as determine the length\nof a sockaddr.\n\nA transport is responsible for setting the xpt_local\nand xpt_remote addresses in the svc_xprt structure as\npart of transport creation and xpo_accept processing. This\ncannot be done in a generic way and in fact varies\nbetween TCP, UDP and RDMA. A set of xpo_ functions\n(e.g. getlocalname, getremotename) could have been\nadded but this would have resulted in additional\ncaching and copying of the addresses around.  Note that\nthe xpt_local address should also be set on listening\nendpoints; for TCP/RDMA this is done as part of\nendpoint creation.\n\nFor connected transports like TCP and RDMA, the addresses\nnever change and can be set once and copied into the\nrqstp structure for each request. For UDP, however, the\nlocal and remote addresses may change for each request. In\nthis case, the address information is obtained from the\nUDP recvmsg info and copied into the rqstp structure from\nthere.\n\nA svc_xprt_local_port function was also added that returns\nthe local port given a transport. This is used by\nsvc_create_xprt when returning the port associated with\na newly created transport, and later when creating a\ngeneric find transport service to check if a service is\nalready listening on a given port.\n\nSigned-off-by: Tom Tucker \u003ctom@opengridcomputing.com\u003e\nAcked-by: Neil Brown \u003cneilb@suse.de\u003e\nReviewed-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nReviewed-by: Greg Banks \u003cgnb@sgi.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "8c7b0172a1db8120d25ecb4eff69664c52ee7639",
      "tree": "d048ab4c5c378d2a90e5dd52a09dee4e24712cc9",
      "parents": [
        "def13d7401e9b95bbd34c20057ebeb2972708b1b"
      ],
      "author": {
        "name": "Tom Tucker",
        "email": "tom@opengridcomputing.com",
        "time": "Sun Dec 30 21:08:10 2007 -0600"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Feb 01 16:42:12 2008 -0500"
      },
      "message": "svc: Make deferral processing xprt independent\n\nThis patch moves the transport independent sk_deferred list to the svc_xprt\nstructure and updates the svc_deferred_req structure to keep pointers to\nsvc_xprt\u0027s directly. The deferral processing code is also moved out of the\ntransport dependent recvfrom functions and into the generic svc_recv path.\n\nSigned-off-by: Tom Tucker \u003ctom@opengridcomputing.com\u003e\nAcked-by: Neil Brown \u003cneilb@suse.de\u003e\nReviewed-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nReviewed-by: Greg Banks \u003cgnb@sgi.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "def13d7401e9b95bbd34c20057ebeb2972708b1b",
      "tree": "afea72afdfe80c645eaf75aa828a49a6e1dec864",
      "parents": [
        "4bc6c497b26a7984cac842a09e2e8f8c46242782"
      ],
      "author": {
        "name": "Tom Tucker",
        "email": "tom@opengridcomputing.com",
        "time": "Sun Dec 30 21:08:08 2007 -0600"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Feb 01 16:42:12 2008 -0500"
      },
      "message": "svc: Move the authinfo cache to svc_xprt.\n\nMove the authinfo cache to svc_xprt. This allows both the TCP and RDMA\ntransports to share this logic. A flag bit is used to determine if\nauth information is to be cached or not. Previously, this code looked\nat the transport protocol.\n\nI\u0027ve also changed the spin_lock/unlock logic so that a lock is not taken for\ntransports that are not caching auth info.\n\nSigned-off-by: Tom Tucker \u003ctom@opengridcomputing.com\u003e\nAcked-by: Neil Brown \u003cneilb@suse.de\u003e\nReviewed-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nReviewed-by: Greg Banks \u003cgnb@sgi.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "4bc6c497b26a7984cac842a09e2e8f8c46242782",
      "tree": "4b4d4d700ed6539e3b13bc2b66af4bdf179b35aa",
      "parents": [
        "6bc5ab1367e43e59671d3fd19e6b0d2e4c138323"
      ],
      "author": {
        "name": "Tom Tucker",
        "email": "tom@opengridcomputing.com",
        "time": "Sun Dec 30 21:08:05 2007 -0600"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Feb 01 16:42:12 2008 -0500"
      },
      "message": "svc: Remove sk_lastrecv\n\nWith the implementation of the new mark and sweep algorithm for shutting\ndown old connections, the sk_lastrecv field is no longer needed.\n\nSigned-off-by: Tom Tucker \u003ctom@opengridcomputing.com\u003e\nAcked-by: Neil Brown \u003cneilb@suse.de\u003e\nReviewed-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nReviewed-by: Greg Banks \u003cgnb@sgi.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "6bc5ab1367e43e59671d3fd19e6b0d2e4c138323",
      "tree": "37b94ecc396a3e763677ad741c8b8b5f4fa36518",
      "parents": [
        "a6046f71f2b598af241e7496a8ead90f2979224b"
      ],
      "author": {
        "name": "Tom Tucker",
        "email": "tom@opengridcomputing.com",
        "time": "Sun Dec 30 21:08:03 2007 -0600"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Feb 01 16:42:12 2008 -0500"
      },
      "message": "svc: Move accept call to svc_xprt_received to common code\n\nNow that the svc_xprt_received function handles transports, the call\nto svc_xprt_received in the xpo_tcp_accept function can be moved to\ncommon code.\n\nSigned-off-by: Tom Tucker \u003ctom@opengridcomputing.com\u003e\nAcked-by: Neil Brown \u003cneilb@suse.de\u003e\nReviewed-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nReviewed-by: Greg Banks \u003cgnb@sgi.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "a6046f71f2b598af241e7496a8ead90f2979224b",
      "tree": "bceb453e9c7aac478a86253528ff2a00b0726fcc",
      "parents": [
        "a50fea26b9d2aa7b66fdd6d9579de10827ec086a"
      ],
      "author": {
        "name": "Tom Tucker",
        "email": "tom@opengridcomputing.com",
        "time": "Sun Dec 30 21:08:01 2007 -0600"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Feb 01 16:42:12 2008 -0500"
      },
      "message": "svc: Change svc_sock_received to svc_xprt_received and export it\n\nAll fields touched by svc_sock_received are now transport independent.\nChange it to use svc_xprt directly. This function is called from\ntransport dependent code, so export it.\n\nUpdate the comment to clearly state the rules for calling this function.\n\nSigned-off-by: Tom Tucker \u003ctom@opengridcomputing.com\u003e\nAcked-by: Neil Brown \u003cneilb@suse.de\u003e\nReviewed-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nReviewed-by: Greg Banks \u003cgnb@sgi.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "a50fea26b9d2aa7b66fdd6d9579de10827ec086a",
      "tree": "efb7893e6e45b417405e9320d3b82100b1684daf",
      "parents": [
        "f6150c3cab6e788afacb07470be3c6b4a722f1ed"
      ],
      "author": {
        "name": "Tom Tucker",
        "email": "tom@opengridcomputing.com",
        "time": "Sun Dec 30 21:07:59 2007 -0600"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Feb 01 16:42:11 2008 -0500"
      },
      "message": "svc: Make svc_send transport neutral\n\nMove the sk_mutex field to the transport independent svc_xprt structure.\nNow all the fields that svc_send touches are transport neutral. Change the\nsvc_send function to use the transport independent svc_xprt directly instead\nof the transport dependent svc_sock structure.\n\nSigned-off-by: Tom Tucker \u003ctom@opengridcomputing.com\u003e\nAcked-by: Neil Brown \u003cneilb@suse.de\u003e\nReviewed-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nReviewed-by: Greg Banks \u003cgnb@sgi.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "f6150c3cab6e788afacb07470be3c6b4a722f1ed",
      "tree": "b770317b97975b5e3f12482d13873bd27cd2cb7e",
      "parents": [
        "7a90e8cc21ad80529b3a3371dc97acc8832cc592"
      ],
      "author": {
        "name": "Tom Tucker",
        "email": "tom@opengridcomputing.com",
        "time": "Sun Dec 30 21:07:57 2007 -0600"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Feb 01 16:42:11 2008 -0500"
      },
      "message": "svc: Make the enqueue service transport neutral and export it.\n\nThe svc_sock_enqueue function is now transport independent since all of\nthe fields it touches have been moved to the transport independent svc_xprt\nstructure. Change the function to use the svc_xprt structure directly\ninstead of the transport specific svc_sock structure.\n\nTransport specific data-ready handlers need to call this function, so\nexport it.\n\nSigned-off-by: Tom Tucker \u003ctom@opengridcomputing.com\u003e\nAcked-by: Neil Brown \u003cneilb@suse.de\u003e\nReviewed-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nReviewed-by: Greg Banks \u003cgnb@sgi.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "7a90e8cc21ad80529b3a3371dc97acc8832cc592",
      "tree": "3a5527b0cce3c046067c72705d6acd5d6bc1184b",
      "parents": [
        "7a18208383ab3f3ce4a1f4e0536acc9372523d81"
      ],
      "author": {
        "name": "Tom Tucker",
        "email": "tom@opengridcomputing.com",
        "time": "Sun Dec 30 21:07:55 2007 -0600"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Feb 01 16:42:11 2008 -0500"
      },
      "message": "svc: Move sk_reserved to svc_xprt\n\nThis functionally trivial patch moves the sk_reserved field to the\ntransport independent svc_xprt structure.\n\nSigned-off-by: Tom Tucker \u003ctom@opengridcomputing.com\u003e\nAcked-by: Neil Brown \u003cneilb@suse.de\u003e\nReviewed-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nReviewed-by: Greg Banks \u003cgnb@sgi.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "7a18208383ab3f3ce4a1f4e0536acc9372523d81",
      "tree": "851a1cc29d753297c2e7cf4cb4a95c4af7868427",
      "parents": [
        "bb5cf160b282644c4491afbf76fbc66f5dc35030"
      ],
      "author": {
        "name": "Tom Tucker",
        "email": "tom@opengridcomputing.com",
        "time": "Sun Dec 30 21:07:53 2007 -0600"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Feb 01 16:42:11 2008 -0500"
      },
      "message": "svc: Make close transport independent\n\nMove sk_list and sk_ready to svc_xprt. This involves close because these\nlists are walked by svcs when closing all their transports. So I combined\nthe moving of these lists to svc_xprt with making close transport independent.\n\nThe svc_force_sock_close has been changed to svc_close_all and takes a list\nas an argument. This removes some svc internals knowledge from the svcs.\n\nThis code races with module removal and transport addition.\n\nThanks to Simon Holm Thøgersen for a compile fix.\n\nSigned-off-by: Tom Tucker \u003ctom@opengridcomputing.com\u003e\nAcked-by: Neil Brown \u003cneilb@suse.de\u003e\nReviewed-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nReviewed-by: Greg Banks \u003cgnb@sgi.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\nCc: Simon Holm Thøgersen \u003codie@cs.aau.dk\u003e\n"
    },
    {
      "commit": "bb5cf160b282644c4491afbf76fbc66f5dc35030",
      "tree": "76443ea6f87faf4d2e039ca6d2e3a7008261a1d2",
      "parents": [
        "02fc6c36188be0ad19502cfd39266150ffab7603"
      ],
      "author": {
        "name": "Tom Tucker",
        "email": "tom@opengridcomputing.com",
        "time": "Sun Dec 30 21:07:50 2007 -0600"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Feb 01 16:42:11 2008 -0500"
      },
      "message": "svc: Move sk_server and sk_pool to svc_xprt\n\nThis is another incremental change that moves transport independent\nfields from svc_sock to the svc_xprt structure. The changes\nshould be functionally null.\n\nSigned-off-by: Tom Tucker \u003ctom@opengridcomputing.com\u003e\nAcked-by: Neil Brown \u003cneilb@suse.de\u003e\nReviewed-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nReviewed-by: Greg Banks \u003cgnb@sgi.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "02fc6c36188be0ad19502cfd39266150ffab7603",
      "tree": "e1d85b49c18944209232bbb1ebaf51001b6af602",
      "parents": [
        "e1b3157f9710622bad6c7747d3b08ed3d2394cf6"
      ],
      "author": {
        "name": "Tom Tucker",
        "email": "tom@opengridcomputing.com",
        "time": "Sun Dec 30 21:07:48 2007 -0600"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Feb 01 16:42:11 2008 -0500"
      },
      "message": "svc: Move sk_flags to the svc_xprt structure\n\nThis functionally trivial change moves the transport independent sk_flags\nfield to the transport independent svc_xprt structure.\n\nSigned-off-by: Tom Tucker \u003ctom@opengridcomputing.com\u003e\nAcked-by: Neil Brown \u003cneilb@suse.de\u003e\nReviewed-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nReviewed-by: Greg Banks \u003cgnb@sgi.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "e1b3157f9710622bad6c7747d3b08ed3d2394cf6",
      "tree": "e03687e0363fdb2307f7e4909a735e8d1331050a",
      "parents": [
        "d7c9f1ed972b4a468dd24a2457721704dfe9ca70"
      ],
      "author": {
        "name": "Tom Tucker",
        "email": "tom@opengridcomputing.com",
        "time": "Sun Dec 30 21:07:46 2007 -0600"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Feb 01 16:42:11 2008 -0500"
      },
      "message": "svc: Change sk_inuse to a kref\n\nChange the atomic_t reference count to a kref and move it to the\ntransport indepenent svc_xprt structure. Change the reference count\nwrapper names to be generic.\n\nSigned-off-by: Tom Tucker \u003ctom@opengridcomputing.com\u003e\nAcked-by: Neil Brown \u003cneilb@suse.de\u003e\nReviewed-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nReviewed-by: Greg Banks \u003cgnb@sgi.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "d7c9f1ed972b4a468dd24a2457721704dfe9ca70",
      "tree": "40cd2b38db79df4d90753b58789c3e4bc274095f",
      "parents": [
        "b700cbb11fced2a0e953fdd19eac07ffaad86598"
      ],
      "author": {
        "name": "Tom Tucker",
        "email": "tom@opengridcomputing.com",
        "time": "Sun Dec 30 21:07:44 2007 -0600"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Feb 01 16:42:09 2008 -0500"
      },
      "message": "svc: Change services to use new svc_create_xprt service\n\nModify the various kernel RPC svcs to use the svc_create_xprt service.\n\nSigned-off-by: Tom Tucker \u003ctom@opengridcomputing.com\u003e\nAcked-by: Neil Brown \u003cneilb@suse.de\u003e\nReviewed-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nReviewed-by: Greg Banks \u003cgnb@sgi.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "b700cbb11fced2a0e953fdd19eac07ffaad86598",
      "tree": "345028d75f049b63bcec574158b94e205e9684bc",
      "parents": [
        "f9f3cc4fae04c87c815a4b473fb577cf74ef27da"
      ],
      "author": {
        "name": "Tom Tucker",
        "email": "tom@opengridcomputing.com",
        "time": "Sun Dec 30 21:07:42 2007 -0600"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Feb 01 16:42:09 2008 -0500"
      },
      "message": "svc: Add a generic transport svc_create_xprt function\n\nThe svc_create_xprt function is a transport independent version\nof the svc_makesock function.\n\nSince transport instance creation contains transport dependent and\nindependent components, add an xpo_create transport function. The\ntransport implementation of this function allocates the memory for the\nendpoint, implements the transport dependent initialization logic, and\ncalls svc_xprt_init to initialize the transport independent field (svc_xprt)\nin it\u0027s data structure.\n\nSigned-off-by: Tom Tucker \u003ctom@opengridcomputing.com\u003e\nAcked-by: Neil Brown \u003cneilb@suse.de\u003e\nReviewed-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nReviewed-by: Greg Banks \u003cgnb@sgi.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "f9f3cc4fae04c87c815a4b473fb577cf74ef27da",
      "tree": "906550a4f9db0bf79adea43b3b9ac1fbc2b2c4e6",
      "parents": [
        "44a6995b32eb9b021ee71b279edb84728c9f5160"
      ],
      "author": {
        "name": "Tom Tucker",
        "email": "tom@opengridcomputing.com",
        "time": "Sun Dec 30 21:07:40 2007 -0600"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Feb 01 16:42:09 2008 -0500"
      },
      "message": "svc: Move connection limit checking to its own function\n\nMove the code that poaches connections when the connection limit is hit\nto a subroutine to make the accept logic path easier to follow. Since this\nis in the new connection path, it should not be a performance issue.\n\nSigned-off-by: Tom Tucker \u003ctom@opengridcomputing.com\u003e\nAcked-by: Neil Brown \u003cneilb@suse.de\u003e\nReviewed-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nReviewed-by: Greg Banks \u003cgnb@sgi.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "44a6995b32eb9b021ee71b279edb84728c9f5160",
      "tree": "fbe6492dc072aaf80cda94353e2bfce8738802e9",
      "parents": [
        "38a417cc993f4535548e47207f9894e7c27e05e4"
      ],
      "author": {
        "name": "Tom Tucker",
        "email": "tom@opengridcomputing.com",
        "time": "Sun Dec 30 21:07:38 2007 -0600"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Feb 01 16:42:09 2008 -0500"
      },
      "message": "svc: Remove unnecessary call to svc_sock_enqueue\n\nThe svc_tcp_accept function calls svc_sock_enqueue after setting the\nSK_CONN bit. This doesn\u0027t actually do anything because the SK_BUSY bit\nis still set. The call is unnecessary anyway because the generic code in\nsvc_recv calls svc_sock_received after calling the accept function.\n\nSigned-off-by: Tom Tucker \u003ctom@opengridcomputing.com\u003e\nAcked-by: Neil Brown \u003cneilb@suse.de\u003e\nReviewed-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nReviewed-by: Greg Banks \u003cgnb@sgi.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "38a417cc993f4535548e47207f9894e7c27e05e4",
      "tree": "f8035bcf6bc9a4831b152f5556b14cb3b48a72b8",
      "parents": [
        "d7979ae4a050a45b78af51832475001b68263d2a"
      ],
      "author": {
        "name": "Tom Tucker",
        "email": "tom@opengridcomputing.com",
        "time": "Sun Dec 30 21:07:36 2007 -0600"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Feb 01 16:42:08 2008 -0500"
      },
      "message": "svc: Add xpo_accept transport function\n\nPreviously, the accept logic looked into the socket state to determine\nwhether to call accept or recv when data-ready was indicated on an endpoint.\nSince some transports don\u0027t use sockets, this logic now uses a flag\nbit (SK_LISTENER) to identify listening endpoints. A transport function\n(xpo_accept) allows each transport to define its own accept processing.\nA transport\u0027s initialization logic is reponsible for setting the\nSK_LISTENER bit. I didn\u0027t see any way to do this in transport independent\nlogic since the passive side of a UDP connection doesn\u0027t listen and\nalways recv\u0027s.\n\nIn the svc_recv function, if the SK_LISTENER bit is set, the transport\nxpo_accept function is called to handle accept processing.\n\nNote that all functions are defined even if they don\u0027t make sense\nfor a given transport. For example, accept doesn\u0027t mean anything for\nUDP. The function is defined anyway and bug checks if called. The\nUDP transport should never set the SK_LISTENER bit.\n\nSigned-off-by: Tom Tucker \u003ctom@opengridcomputing.com\u003e\nAcked-by: Neil Brown \u003cneilb@suse.de\u003e\nReviewed-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nReviewed-by: Greg Banks \u003cgnb@sgi.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "d7979ae4a050a45b78af51832475001b68263d2a",
      "tree": "f76bf9dea36d03a1141824202015d26002000589",
      "parents": [
        "323bee32e9bef14c6dd943ecc8e8cd373a9c94d9"
      ],
      "author": {
        "name": "Tom Tucker",
        "email": "tom@opengridcomputing.com",
        "time": "Sun Dec 30 21:07:34 2007 -0600"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Feb 01 16:42:08 2008 -0500"
      },
      "message": "svc: Move close processing to a single place\n\nClose handling was duplicated in the UDP and TCP recvfrom\nmethods. This code has been moved to the transport independent\nsvc_recv function.\n\nSigned-off-by: Tom Tucker \u003ctom@opengridcomputing.com\u003e\nAcked-by: Neil Brown \u003cneilb@suse.de\u003e\nReviewed-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nReviewed-by: Greg Banks \u003cgnb@sgi.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "323bee32e9bef14c6dd943ecc8e8cd373a9c94d9",
      "tree": "5779a724dfcbe3aee1f06d9eb989931d1dcfa163",
      "parents": [
        "e831fe65b10199e1e301a7316c66d6ced133712d"
      ],
      "author": {
        "name": "Tom Tucker",
        "email": "tom@opengridcomputing.com",
        "time": "Sun Dec 30 21:07:31 2007 -0600"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Feb 01 16:42:08 2008 -0500"
      },
      "message": "svc: Add a transport function that checks for write space\n\nIn order to avoid blocking a service thread, the receive side checks\nto see if there is sufficient write space to reply to the request.\nEach transport has a different mechanism for determining if there is\nenough write space to reply.\n\nThe code that checked for write space was coupled with code that\nchecked for CLOSE and CONN. These checks have been broken out into\nseparate statements to make the code easier to read.\n\nSigned-off-by: Tom Tucker \u003ctom@opengridcomputing.com\u003e\nAcked-by: Neil Brown \u003cneilb@suse.de\u003e\nReviewed-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nReviewed-by: Greg Banks \u003cgnb@sgi.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "e831fe65b10199e1e301a7316c66d6ced133712d",
      "tree": "33436ef94e099e854c4824e78cd62f341e5f357a",
      "parents": [
        "755cceaba7555027e61dfa79f1e55bdfc6906633"
      ],
      "author": {
        "name": "Tom Tucker",
        "email": "tom@opengridcomputing.com",
        "time": "Sun Dec 30 21:07:29 2007 -0600"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Feb 01 16:42:08 2008 -0500"
      },
      "message": "svc: Add xpo_prep_reply_hdr\n\nSome transports add fields to the RPC header for replies, e.g. the TCP\nrecord length. This function is called when preparing the reply header\nto allow each transport to add whatever fields it requires.\n\nSigned-off-by: Tom Tucker \u003ctom@opengridcomputing.com\u003e\nAcked-by: Neil Brown \u003cneilb@suse.de\u003e\nReviewed-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nReviewed-by: Greg Banks \u003cgnb@sgi.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "755cceaba7555027e61dfa79f1e55bdfc6906633",
      "tree": "13fa81b19e96af8130414b3535ced72b910a1aef",
      "parents": [
        "5148bf4ebc1f59dc6a0ec43a220c55ff0771246e"
      ],
      "author": {
        "name": "Tom Tucker",
        "email": "tom@opengridcomputing.com",
        "time": "Sun Dec 30 21:07:27 2007 -0600"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Feb 01 16:42:08 2008 -0500"
      },
      "message": "svc: Add per-transport delete functions\n\nAdd transport specific xpo_detach and xpo_free functions. The xpo_detach\nfunction causes the transport to stop delivering data-ready events\nand enqueing the transport for I/O.\n\nThe xpo_free function frees all resources associated with the particular\ntransport instance.\n\nSigned-off-by: Tom Tucker \u003ctom@opengridcomputing.com\u003e\nAcked-by: Neil Brown \u003cneilb@suse.de\u003e\nReviewed-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nReviewed-by: Greg Banks \u003cgnb@sgi.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "5148bf4ebc1f59dc6a0ec43a220c55ff0771246e",
      "tree": "d7ba46947483308dc77736335b05d1124befa7c4",
      "parents": [
        "5d137990f5860451a6e0428e0903f62933d05287"
      ],
      "author": {
        "name": "Tom Tucker",
        "email": "tom@opengridcomputing.com",
        "time": "Sun Dec 30 21:07:25 2007 -0600"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Feb 01 16:42:08 2008 -0500"
      },
      "message": "svc: Add transport specific xpo_release function\n\nThe svc_sock_release function releases pages allocated to a thread. For\nUDP this frees the receive skb. For RDMA it will post a receive WR\nand bump the client credit count.\n\nSigned-off-by: Tom Tucker \u003ctom@opengridcomputing.com\u003e\nAcked-by: Neil Brown \u003cneilb@suse.de\u003e\nReviewed-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nReviewed-by: Greg Banks \u003cgnb@sgi.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "5d137990f5860451a6e0428e0903f62933d05287",
      "tree": "71f57e8a13138530c8c82f9de19067687d0b428d",
      "parents": [
        "490231558e058547da4ffab6d8ce8e28771749cc"
      ],
      "author": {
        "name": "Tom Tucker",
        "email": "tom@opengridcomputing.com",
        "time": "Sun Dec 30 21:07:23 2007 -0600"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Feb 01 16:42:08 2008 -0500"
      },
      "message": "svc: Move sk_sendto and sk_recvfrom to svc_xprt_class\n\nThe sk_sendto and sk_recvfrom are function pointers that allow svc_sock\nto be used for both UDP and TCP. Move these function pointers to the\nsvc_xprt_ops structure.\n\nSigned-off-by: Tom Tucker \u003ctom@opengridcomputing.com\u003e\nAcked-by: Neil Brown \u003cneilb@suse.de\u003e\nReviewed-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nReviewed-by: Greg Banks \u003cgnb@sgi.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "490231558e058547da4ffab6d8ce8e28771749cc",
      "tree": "aac2eef69dbd262a755ee1cafec34787faf5d2f0",
      "parents": [
        "9f29868b491beee706931e0cf875a60cb4688754"
      ],
      "author": {
        "name": "Tom Tucker",
        "email": "tom@opengridcomputing.com",
        "time": "Sun Dec 30 21:07:21 2007 -0600"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Feb 01 16:42:08 2008 -0500"
      },
      "message": "svc: Add a max payload value to the transport\n\nThe svc_max_payload function currently looks at the socket type\nto determine the max payload. Add a max payload value to svc_xprt_class\nso it can be returned directly.\n\nSigned-off-by: Tom Tucker \u003ctom@opengridcomputing.com\u003e\nAcked-by: Neil Brown \u003cneilb@suse.de\u003e\nReviewed-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nReviewed-by: Greg Banks \u003cgnb@sgi.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "9f29868b491beee706931e0cf875a60cb4688754",
      "tree": "ae8dbe9829e7dceae8e7d9942a7d66e12135b5a4",
      "parents": [
        "360d873864c8903a650b227758b49dd50e6ecc9f"
      ],
      "author": {
        "name": "Tom Tucker",
        "email": "tom@opengridcomputing.com",
        "time": "Sun Dec 30 21:07:19 2007 -0600"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Feb 01 16:42:08 2008 -0500"
      },
      "message": "svc: Change the svc_sock in the rqstp structure to a transport\n\nThe rqstp structure contains a pointer to the transport for the\nRPC request. This functionaly trivial patch adds an unamed union\nwith pointers to both svc_sock and svc_xprt. Ultimately the\nunion will be removed and only the rq_xprt field will remain. This\nallows incrementally extracting transport independent interfaces without\none gigundo patch.\n\nSigned-off-by: Tom Tucker \u003ctom@opengridcomputing.com\u003e\nAcked-by: Neil Brown \u003cneilb@suse.de\u003e\nReviewed-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nReviewed-by: Greg Banks \u003cgnb@sgi.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "360d873864c8903a650b227758b49dd50e6ecc9f",
      "tree": "806631491e4848b194abd539293f124b366a49de",
      "parents": [
        "1d8206b97a09e7ff2fbef17d8d1ea008d764eeaa"
      ],
      "author": {
        "name": "Tom Tucker",
        "email": "tom@opengridcomputing.com",
        "time": "Sun Dec 30 21:07:17 2007 -0600"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Feb 01 16:42:07 2008 -0500"
      },
      "message": "svc: Make svc_sock the tcp/udp transport\n\nMake TCP and UDP svc_sock transports, and register them\nwith the svc transport core.\n\nA transport type (svc_sock) has an svc_xprt as its first member,\nand calls svc_xprt_init to initialize this field.\n\nSigned-off-by: Tom Tucker \u003ctom@opengridcomputing.com\u003e\nAcked-by: Neil Brown \u003cneilb@suse.de\u003e\nReviewed-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nReviewed-by: Greg Banks \u003cgnb@sgi.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "1d8206b97a09e7ff2fbef17d8d1ea008d764eeaa",
      "tree": "0975483e82fab57c25fdbb19a9946985659a8ca2",
      "parents": [
        "cb5c7d668e1af269a9409721268f027b86abf29c"
      ],
      "author": {
        "name": "Tom Tucker",
        "email": "tom@opengridcomputing.com",
        "time": "Sun Dec 30 21:07:15 2007 -0600"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Feb 01 16:42:07 2008 -0500"
      },
      "message": "svc: Add an svc transport class\n\nThe transport class (svc_xprt_class) represents a type of transport, e.g.\nudp, tcp, rdma.  A transport class has a unique name and a set of transport\noperations kept in the svc_xprt_ops structure.\n\nA transport class can be dynamically registered and unregisterd. The\nsvc_xprt_class represents the module that implements the transport\ntype and keeps reference counts on the module to avoid unloading while\nthere are active users.\n\nThe endpoint (svc_xprt) is a generic, transport independent endpoint that can\nbe used to send and receive data for an RPC service. It inherits it\u0027s\noperations from the transport class.\n\nA transport driver module registers and unregisters itself with svc sunrpc\nby calling svc_reg_xprt_class, and svc_unreg_xprt_class respectively.\n\nSigned-off-by: Tom Tucker \u003ctom@opengridcomputing.com\u003e\nAcked-by: Neil Brown \u003cneilb@suse.de\u003e\nReviewed-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nReviewed-by: Greg Banks \u003cgnb@sgi.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "cb5c7d668e1af269a9409721268f027b86abf29c",
      "tree": "11900b9087aaa34d5a5cf360d8fdac0e54c8003e",
      "parents": [
        "54ca95eb362d6988a577965ffb77c08702adb890"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Mon Jan 14 16:05:07 2008 -0500"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Feb 01 16:42:07 2008 -0500"
      },
      "message": "svcrpc: ensure gss DESTROY tokens free contexts from cache\n\nIf we don\u0027t do this then we\u0027ll end up with a pointless unusable context\nsitting in the cache until the time the original context would have\nexpired.\n\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "54ca95eb362d6988a577965ffb77c08702adb890",
      "tree": "a18ff136ce9d530eaa90a42831d9b85a91ab6321",
      "parents": [
        "8838dc43d6544570e8969a74ddc4a0d21abffde6"
      ],
      "author": {
        "name": "Oleg Drokin",
        "email": "Oleg.Drokin@Sun.COM",
        "time": "Fri Jan 11 21:57:35 2008 -0500"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Feb 01 16:42:07 2008 -0500"
      },
      "message": "Leak in nlmsvc_testlock for async GETFL case\n\nFix nlm_block leak for the case of supplied blocking lock info.\n\nSigned-off-by: Oleg Drokin \u003cgreen@linuxhacker.ru\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "8838dc43d6544570e8969a74ddc4a0d21abffde6",
      "tree": "f3082dd80293fe5279d8ff993d2e0c17a0a2f2b4",
      "parents": [
        "b39c18fce003bb2d5a51a4734d8fdd2c81fa1a78"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Mon Jan 14 13:12:19 2008 -0500"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Feb 01 16:42:07 2008 -0500"
      },
      "message": "nfsd4: clean up access_valid, deny_valid checks.\n\nDocument these checks a little better and inline, as suggested by Neil\nBrown (note both functions have two callers).  Remove an obviously bogus\ncheck while we\u0027re there (checking whether unsigned value is negative).\n\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\nCc: Neil Brown \u003cneilb@suse.de\u003e\n"
    },
    {
      "commit": "b39c18fce003bb2d5a51a4734d8fdd2c81fa1a78",
      "tree": "c89bd8e3e0af4cd11373ee317400f741010bc111",
      "parents": [
        "16141c0288f6a6ce2de51a1c39cc3407c841a535"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Sun Jan 06 21:32:37 2008 -0500"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Feb 01 16:42:07 2008 -0500"
      },
      "message": "sunrpc: gss: simplify rsi_parse logic\n\nMake an obvious simplification that removes a few lines and some\nunnecessary indentation; no change in behavior.\n\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "16141c0288f6a6ce2de51a1c39cc3407c841a535",
      "tree": "3572fb6a436f5083d13c79d7d4207049daf3b95d",
      "parents": [
        "980e5a40a44400edc3f75b7931b8e75fcc3c21a3"
      ],
      "author": {
        "name": "Neil Brown",
        "email": "neilb@suse.de",
        "time": "Tue Dec 11 16:16:12 2007 -0800"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Feb 01 16:42:07 2008 -0500"
      },
      "message": "knfsd: change mailing list for nfsd in MAINTAINERS\n\nnfs@lists.sourceforge.net is being decommissioned.\n\nCc: Trond Myklebust \u003ctrond.myklebust@fys.uio.no\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "980e5a40a44400edc3f75b7931b8e75fcc3c21a3",
      "tree": "6edcef9f67ba32d817da97f500a2374e19734bd6",
      "parents": [
        "5c002b3bb294a637312cab7ad92a0deafa05a758"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Wed Dec 12 18:21:17 2007 -0500"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Feb 01 16:42:07 2008 -0500"
      },
      "message": "nfsd: fix rsi_cache reference count leak\n\nFor some reason we haven\u0027t been put()\u0027ing the reference count here.\n\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "5c002b3bb294a637312cab7ad92a0deafa05a758",
      "tree": "0183f792fe61fe1bb6a117baf385020feb5b085c",
      "parents": [
        "29dbf546159f5701e11de26fa2da5c4a962e0f83"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Nov 30 16:55:23 2007 -0500"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Feb 01 16:42:07 2008 -0500"
      },
      "message": "nfsd: allow root to set uid and gid on create\n\nThe server silently ignores attempts to set the uid and gid on create.\nBased on the comment, this appears to have been done to prevent some\noverly-clever IRIX client from causing itself problems.\n\nPerhaps we should remove that hack completely.  For now, at least, it\nmakes sense to allow root (when no_root_squash is set) to set uid and\ngid.\n\nWhile we\u0027re there, since nfsd_create and nfsd_create_v3 share the same\nlogic, pull that out into a separate function.  And spell out the\nindividual modifications of ia_valid instead of doing them both at once\ninside a conditional.\n\nThanks to Roger Willcocks \u003croger@filmlight.ltd.uk\u003e for the bug report\nand original patch on which this is based.\n\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "29dbf546159f5701e11de26fa2da5c4a962e0f83",
      "tree": "1dcdd1785445cbbf30a159a15b7b1d77f42c51c2",
      "parents": [
        "406a7ea97d9dc1a9348ba92c4cd0e7c678185c4c"
      ],
      "author": {
        "name": "Oleg Drokin",
        "email": "Oleg.Drokin@Sun.COM",
        "time": "Thu Nov 29 14:02:21 2007 -0500"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Feb 01 16:42:06 2008 -0500"
      },
      "message": "lockd: fix a leak in nlmsvc_testlock asynchronous request handling\n\nWithout the patch, there is a leakage of nlmblock structure refcount\nthat holds a reference nlmfile structure, that holds a reference to\nstruct file, when async GETFL is used (-EINPROGRESS return from\nfile_ops-\u003elock()), and also in some error cases.\n\nFix up a style nit while we\u0027re here.\n\nSigned-off-by: Oleg Drokin \u003cgreen@linuxhacker.ru\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "406a7ea97d9dc1a9348ba92c4cd0e7c678185c4c",
      "tree": "bf3d7e7fe94343aad6a57a60917ebecfa64376e7",
      "parents": [
        "39325bd03fc16d903f1e0f51104436d939899c8c"
      ],
      "author": {
        "name": "Frank Filz",
        "email": "ffilzlnx@us.ibm.com",
        "time": "Tue Nov 27 11:34:05 2007 -0800"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Feb 01 16:42:06 2008 -0500"
      },
      "message": "nfsd: Allow AIX client to read dir containing mountpoints\n\nThis patch addresses a compatibility issue with a Linux NFS server and\nAIX NFS client.\n\nI have exported /export as fsid\u003d0 with sec\u003dkrb5:krb5i\nI have mount --bind /home onto /export/home\nI have exported /export/home with sec\u003dkrb5i\n\nThe AIX client mounts / -o sec\u003dkrb5:krb5i onto /mnt\n\nIf I do an ls /mnt, the AIX client gets a permission error. Looking at\nthe network traceIwe see a READDIR looking for attributes\nFATTR4_RDATTR_ERROR and FATTR4_MOUNTED_ON_FILEID. The response gives a\nNFS4ERR_WRONGSEC which the AIX client is not expecting.\n\nSince the AIX client is only asking for an attribute that is an\nattribute of the parent file system (pseudo root in my example), it\nseems reasonable that there should not be an error.\n\nIn discussing this issue with Bruce Fields, I initially proposed\nignoring the error in nfsd4_encode_dirent_fattr() if all that was being\nasked for was FATTR4_RDATTR_ERROR and FATTR4_MOUNTED_ON_FILEID, however,\nBruce suggested that we avoid calling cross_mnt() if only these\nattributes are requested.\n\nThe following patch implements bypassing cross_mnt() if only\nFATTR4_RDATTR_ERROR and FATTR4_MOUNTED_ON_FILEID are called. Since there\nis some complexity in the code in nfsd4_encode_fattr(), I didn\u0027t want to\nduplicate code (and introduce a maintenance nightmare), so I added a\nparameter to nfsd4_encode_fattr() that indicates whether it should\nignore cross mounts and simply fill in the attribute using the passed in\ndentry as opposed to it\u0027s parent.\n\nSigned-off-by: Frank Filz \u003cffilzlnx@us.ibm.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "39325bd03fc16d903f1e0f51104436d939899c8c",
      "tree": "de63f3c58a3b82d26223e4dfdda1a98570c5a84a",
      "parents": [
        "b7e6b86948df8d08d420558212e09eb449be9bfa"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Mon Nov 26 17:06:39 2007 -0500"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Feb 01 16:42:06 2008 -0500"
      },
      "message": "nfsd4: fix bad seqid on lock request incompatible with open mode\n\nThe failure to return a stateowner from nfs4_preprocess_seqid_op() means\nin the case where a lock request is of a type incompatible with an open\n(due to, e.g., an application attempting a write lock on a file open for\nread), means that fs/nfsd/nfs4xdr.c:ENCODE_SEQID_OP_TAIL() never bumps\nthe seqid as it should.  The client, attempting to close the file\nafterwards, then gets an (incorrect) bad sequence id error.  Worse, this\nprevents the open file from ever being closed, so we leak state.\n\nThanks to Benny Halevy and Trond Myklebust for analysis, and to Steven\nWilton for the report and extensive data-gathering.\n\nCc: Benny Halevy \u003cbhalevy@panasas.com\u003e\nCc: Steven Wilton \u003csteven.wilton@team.eftel.com.au\u003e\nCc: Trond Myklebust \u003ctrond.myklebust@fys.uio.no\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "b7e6b86948df8d08d420558212e09eb449be9bfa",
      "tree": "b9bce0e95a93a6b9142b55c647fb0fbe163a2130",
      "parents": [
        "404ec117be5d36e1a4c4582d0c518594333e32df"
      ],
      "author": {
        "name": "Oleg Drokin",
        "email": "green@linuxhacker.ru",
        "time": "Mon Nov 26 13:35:11 2007 -0500"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Feb 01 16:42:06 2008 -0500"
      },
      "message": "lockd: fix reference count leaks in async locking case\n\nIn a number of places where we wish only to translate nlm_drop_reply to\nrpc_drop_reply errors we instead return early with rpc_drop_reply,\nskipping some important end-of-function cleanup.\n\nThis results in reference count leaks when lockd is doing posix locking\non GFS2.\n\nSigned-off-by: Oleg Drokin \u003cgreen@linuxhacker.ru\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "404ec117be5d36e1a4c4582d0c518594333e32df",
      "tree": "cdae7b67f896c93130a6a669ca65cffc94079b07",
      "parents": [
        "35bba9a37e68c68a820a1a772f016255c0838f79"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Nov 23 22:26:18 2007 -0500"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Feb 01 16:42:06 2008 -0500"
      },
      "message": "nfsd4: recognize callback channel failure earlier\n\nWhen the callback channel fails, we inform the client of that by\nreturning a cb_path_down error the next time it tries to renew its\nlease.\n\nIf we wait most of a lease period before deciding that a callback has\nfailed and that the callback channel is down, then we decrease the\nchances that the client will find out in time to do anything about it.\n\nSo, mark the channel down as soon as we recognize that an rpc has\nfailed.  However, continue trying to recall delegations anyway, in hopes\nit will come back up.  This will prevent more delegations from being\ngiven out, and ensure cb_path_down is returned to renew calls earlier,\nwhile still making the best effort to deliver recalls of existing\ndelegations.\n\nAlso fix a couple comments and remove a dprink that doesn\u0027t seem likely\nto be useful.\n\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "35bba9a37e68c68a820a1a772f016255c0838f79",
      "tree": "d858441a8afb4197ef414b9826279b351c843803",
      "parents": [
        "5ec7b46c2f4a6f5e136188d598a3f9912ca922e9"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Wed Nov 21 22:07:08 2007 -0500"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Feb 01 16:42:06 2008 -0500"
      },
      "message": "nfsd4: miscellaneous nfs4state.c style fixes\n\nFix various minor style violations.\n\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "5ec7b46c2f4a6f5e136188d598a3f9912ca922e9",
      "tree": "4bfd4cb5faeba04203db8a011f8b358fb719118c",
      "parents": [
        "99d965eda736b839a63fe85438ee03a0f660053c"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Wed Nov 21 21:58:56 2007 -0500"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Feb 01 16:42:06 2008 -0500"
      },
      "message": "nfsd4: make current_clientid local\n\nDeclare this variable in the one function where it\u0027s used, and clean up\nsome minor style problems.\n\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "99d965eda736b839a63fe85438ee03a0f660053c",
      "tree": "914a6bdd17350fce73f3313fbdfd990500861c67",
      "parents": [
        "366e0c1d9116ed03320779ecf9c162204f4c712e"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Wed Nov 21 14:10:07 2007 -0500"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Feb 01 16:42:06 2008 -0500"
      },
      "message": "nfsd: fix encode_entryplus_baggage() indentation\n\nFix bizarre indentation.\n\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "366e0c1d9116ed03320779ecf9c162204f4c712e",
      "tree": "5610f88a5a98d1ba4544d7ed18a9d497f3c63228",
      "parents": [
        "f3aba4e5a1b963c8bd43394cb15fb9fb6a229cd2"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Tue Nov 20 15:54:10 2007 -0500"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Feb 01 16:42:06 2008 -0500"
      },
      "message": "nfsd4: kill unneeded cl_confirm check\n\nWe generate a unique cl_confirm for every new client; so if we\u0027ve\nalready checked that this cl_confirm agrees with the cl_confirm of\nunconf, then we already know that it does not agree with the cl_confirm\nof conf.\n\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "f3aba4e5a1b963c8bd43394cb15fb9fb6a229cd2",
      "tree": "9d4ad0e722f4266bac28450ca7a511eee9c22a5f",
      "parents": [
        "f394baad139f8a67a40b4246d53d3b818af2eb88"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Tue Nov 20 16:52:07 2007 -0500"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Feb 01 16:42:05 2008 -0500"
      },
      "message": "nfsd4: remove unnecessary cl_verifier check from setclientid_confirm\n\nAgain, the only way conf and unconf can have the same clientid is if\nthey were created in the \"probable callback update\" case of setclientid,\nin which case we already know that the cl_verifier fields must agree.\n\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "f394baad139f8a67a40b4246d53d3b818af2eb88",
      "tree": "2f0f37f2803549dcf8011a65b0944e373c1321e0",
      "parents": [
        "deda2faa8e71474c828d8eefc8bc0f19d02062ef"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Tue Nov 20 15:39:07 2007 -0500"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Feb 01 16:42:05 2008 -0500"
      },
      "message": "nfsd4: kill unnecessary same_name() in setclientid_confirm\n\nIf conf and unconf are both found in the lookup by cl_clientid, then\nthey share the same cl_clientid.  We always create a unique new\ncl_clientid field when creating a new client--the only exception is the\n\"probable callback update\" case in setclientid, where we copy the old\ncl_clientid from another clientid with the same name.\n\nTherefore two clients with the same cl_client field also always share\nthe same cl_name field, and a couple of the checks here are redundant.\n\nThanks to Simon Holm Thøgersen for a compile fix.\n\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\nCc: Simon Holm Thøgersen \u003codie@cs.aau.dk\u003e\n"
    },
    {
      "commit": "deda2faa8e71474c828d8eefc8bc0f19d02062ef",
      "tree": "72344206dd12a189e466cde3b479d6dc5ae09843",
      "parents": [
        "49ba87811f34a0219dc7a373cd24aa68450f2058"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Mon Nov 19 20:31:04 2007 -0500"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Feb 01 16:42:05 2008 -0500"
      },
      "message": "nfsd: uniquify cl_confirm values\n\nUsing a counter instead of the nanoseconds value seems more likely to\nproduce a unique cl_confirm.\n\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "49ba87811f34a0219dc7a373cd24aa68450f2058",
      "tree": "c0e50e1378d002c5346451f3bf0aa031f893ff20",
      "parents": [
        "a186e767473bd329122f0229b91573b9b6fa43c1"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Mon Nov 19 19:09:50 2007 -0500"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Feb 01 16:42:05 2008 -0500"
      },
      "message": "nfsd: eliminate final bogus case from setclientid logic\n\nWe\u0027re supposed to generate a different cl_confirm verifier for each new\nclient, so these to cl_confirm values should never be the same.\n\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "a186e767473bd329122f0229b91573b9b6fa43c1",
      "tree": "6da5778f93eb11c706b9ae202769cf883f17548c",
      "parents": [
        "1f69f172c73a2bf0bf55da9346da8dccea9035cf"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Tue Nov 20 16:11:27 2007 -0500"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Feb 01 16:42:05 2008 -0500"
      },
      "message": "nfsd4: kill some unneeded setclientid comments\n\nMost of these comments just summarize the code.\n\nThe matching of code to the cases described in the RFC may still be\nuseful, though; add specific section references to make that easier to\nfollow.  Also update references to the outdated RFC 3010.\n\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "1f69f172c73a2bf0bf55da9346da8dccea9035cf",
      "tree": "4e0f04634415052ef0978168b6b737565b3f36bd",
      "parents": [
        "2e8138a274d81d87591db0803b1e81f4284ff935"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Thu Nov 15 17:06:58 2007 -0500"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Feb 01 16:42:05 2008 -0500"
      },
      "message": "nfsd: minor fs/nfsd/auth.h cleanup\n\nWhile we\u0027re here, let\u0027s remove the redundant (and now wrong) pathname in\nthe comment, and the #ifdef __KERNEL__\u0027s.\n\nAcked-by: NeilBrown \u003cneilb@suse.de\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "2e8138a274d81d87591db0803b1e81f4284ff935",
      "tree": "3243d448d11cdee1ec4ff2b190509ef70887b566",
      "parents": [
        "dbf847ecb6318d3a22c6758fe39696d00f39063a"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Thu Nov 15 17:05:43 2007 -0500"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Feb 01 16:42:05 2008 -0500"
      },
      "message": "nfsd: move nfsd/auth.h into fs/nfsd\n\nThis header is used only in a few places in fs/nfsd, so there seems to\nbe little point to having it in include/.  (Thanks to Robert Day for\npointing this out.)\n\nCc: Robert P. J. Day \u003crpjday@crashcourse.ca\u003e\nAcked-by: NeilBrown \u003cneilb@suse.de\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "dbf847ecb6318d3a22c6758fe39696d00f39063a",
      "tree": "2b71e776ca98bc94258f3539bd7f0ea53d2733a8",
      "parents": [
        "ffe9386b6e08e7132cb7730025d0ea310e08a182"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Thu Nov 08 17:20:34 2007 -0500"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Feb 01 16:42:05 2008 -0500"
      },
      "message": "knfsd: allow cache_register to return error on failure\n\nNewer server features such as nfsv4 and gss depend on proc to work, so a\nfailure to initialize the proc files they need should be treated as\nfatal.\n\nThanks to Andrew Morton for style fix and compile fix in case where\nCONFIG_NFSD_V4 is undefined.\n\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nAcked-by: NeilBrown \u003cneilb@suse.de\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "ffe9386b6e08e7132cb7730025d0ea310e08a182",
      "tree": "9189fca685067e105c4fbaf9f22d568e16639080",
      "parents": [
        "e331f606a85a2a9e84e9c63c94d43c0517136139"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Mon Nov 12 17:04:29 2007 -0500"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Feb 01 16:42:04 2008 -0500"
      },
      "message": "nfsd: move cache proc (un)registration to separate function\n\nJust some minor cleanup.\n\nAlso I don\u0027t see much point in trying to register further proc entries\nif initial entries fail; so just stop trying in that case.\n\nAcked-by: NeilBrown \u003cneilb@suse.de\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "e331f606a85a2a9e84e9c63c94d43c0517136139",
      "tree": "988f2d450ee49279f7abbce2fdd27801ca24904b",
      "parents": [
        "440bcc592052e42c7050a51489c65e18df4a0636"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Mon Nov 12 17:32:21 2007 -0500"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Feb 01 16:42:04 2008 -0500"
      },
      "message": "nfsd: fail init on /proc/fs/nfs/exports creation failure\n\nI assume the reason failure of creation was ignored here was just to\ncontinue support embedded systems that want nfsd but not proc.\n\nHowever, in cases where proc is supported it would be clearer to fail\nentirely than to come up with some features disabled.\n\nAcked-by: NeilBrown \u003cneilb@suse.de\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "440bcc592052e42c7050a51489c65e18df4a0636",
      "tree": "347d1cfa5df7fde984f26d143eae593ba4b1ad9a",
      "parents": [
        "df95a9d4fb91d819d3fb55dd437056df59e7f15e"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Mon Nov 12 17:09:49 2007 -0500"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Feb 01 16:42:04 2008 -0500"
      },
      "message": "nfsd: select CONFIG_PROC_FS in nfsv4 and gss server cases\n\nThe server depends on upcalls under /proc to support nfsv4 and gss.\n\nAcked-by: NeilBrown \u003cneilb@suse.de\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "df95a9d4fb91d819d3fb55dd437056df59e7f15e",
      "tree": "9c35b2617a202c029803791c19d55a0483d9d225",
      "parents": [
        "d5c3428b2cb26d605fddc4878f4fcc03c23df89f"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Thu Nov 08 16:09:59 2007 -0500"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Feb 01 16:42:04 2008 -0500"
      },
      "message": "knfsd: cache unregistration needn\u0027t return error\n\nThere\u0027s really nothing much the caller can do if cache unregistration\nfails.  And indeed, all any caller does in this case is print an error\nand continue.  So just return void and move the printk\u0027s inside\ncache_unregister.\n\nAcked-by: NeilBrown \u003cneilb@suse.de\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "d5c3428b2cb26d605fddc4878f4fcc03c23df89f",
      "tree": "b476ca0b6709b65044f222912f2fdd2efbdcf297",
      "parents": [
        "26808d3f10b1213bbb6e27d441be40e20ab84611"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Nov 09 14:10:56 2007 -0500"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Feb 01 16:42:04 2008 -0500"
      },
      "message": "nfsd: fail module init on reply cache init failure\n\nIf the reply cache initialization fails due to a kmalloc failure,\ncurrently we try to soldier on with a reduced (or nonexistant) reply\ncache.\n\nBetter to just fail immediately: the failure is then much easier to\nunderstand and debug, and it could save us complexity in some later\ncode.  (But actually, it doesn\u0027t help currently because the cache is\nalso turned off in some odd failure cases; we should probably find a\nbetter way to handle those failure cases some day.)\n\nFix some minor style problems while we\u0027re at it, and rename\nnfsd_cache_init() to remove the need for a comment describing it.\n\nAcked-by: NeilBrown \u003cneilb@suse.de\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "26808d3f10b1213bbb6e27d441be40e20ab84611",
      "tree": "38b2769d479a8cd44f2e242ef1f16b395fdf4997",
      "parents": [
        "46b25895767c606c630a97b03a895934a7a36a70"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Nov 09 13:44:06 2007 -0500"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Feb 01 16:42:03 2008 -0500"
      },
      "message": "nfsd: cleanup nfsd module initialization cleanup\n\nHandle the failure case here with something closer to the standard\nkernel style.\n\nDoesn\u0027t really matter for now, but I\u0027d like to add a few more failure\ncases, and then this\u0027ll help.\n\nAcked-by: NeilBrown \u003cneilb@suse.de\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "46b25895767c606c630a97b03a895934a7a36a70",
      "tree": "94c8c9361fe1d82b3d803e3297eeeb9f4984e62c",
      "parents": [
        "ca2a05aa7c72309ee65164c78fa2be7a5038215e"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Nov 09 12:31:55 2007 -0500"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Feb 01 16:42:03 2008 -0500"
      },
      "message": "knfsd: cleanup nfsd4 properly on module init failure\n\nWe forgot to shut down the nfs4 state and idmapping code in this case.\n\nAcked-by: NeilBrown \u003cneilb@suse.de\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "ca2a05aa7c72309ee65164c78fa2be7a5038215e",
      "tree": "f362d7c14652dfea0d93508007f8fc87d10d6980",
      "parents": [
        "a490c681cbcf65d548138c377bb691c85824d323"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Sun Nov 11 15:43:12 2007 -0500"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Feb 01 16:42:03 2008 -0500"
      },
      "message": "nfsd: Fix handling of negative lengths in read_buf()\n\nThe length \"nbytes\" passed into read_buf should never be negative, but\nwe check only for too-large values of \"nbytes\", not for too-small\nvalues.  Make nbytes unsigned, so it\u0027s clear that the former tests are\nsufficient.  (Despite this read_buf() currently correctly returns an xdr\nerror in the case of a negative length, thanks to an unsigned\ncomparison with size_of() and bounds-checking in kmalloc().  This seems\nvery fragile, though.)\n\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "a490c681cbcf65d548138c377bb691c85824d323",
      "tree": "c95c06f827f3e8c0738c285556cc4919afbd0571",
      "parents": [
        "48b4ba3fdd7af319e90ade395162430934ee7b87"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Tue Nov 06 14:15:19 2007 -0500"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Feb 01 16:42:03 2008 -0500"
      },
      "message": "knfsd: fix cache.c comment\n\nThe path here must be left over from some earlier draft; fix it.  And do\nsome more minor cleanup while we\u0027re there.\n\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "48b4ba3fdd7af319e90ade395162430934ee7b87",
      "tree": "50381d64a613ef9b1c774fa8e6413540c9fc152a",
      "parents": [
        "a628f6675861d979405f751418e924c4ec7d457d"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Thu Nov 01 16:57:25 2007 -0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Feb 01 16:42:03 2008 -0500"
      },
      "message": "NFSD: Path name length signage in nfsd request argument structures\n\nClean up: For consistency, store the length of path name strings in nfsd\nargument structures as unsigned integers.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nAcked-By: NeilBrown \u003cneilb@suse.de\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "a628f6675861d979405f751418e924c4ec7d457d",
      "tree": "09281fd445da7841b890a626004abb012c06debd",
      "parents": [
        "9c7544d3a195cde33b3d1e46639b23c221f901db"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Thu Nov 01 16:57:20 2007 -0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Feb 01 16:42:03 2008 -0500"
      },
      "message": "NFSD: Fix mixed sign comparison in nfs3svc_decode_symlinkargs\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nAcked-By: NeilBrown \u003cneilb@suse.de\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "9c7544d3a195cde33b3d1e46639b23c221f901db",
      "tree": "e7e40b375facc363268be3794f03fea5d2c57c20",
      "parents": [
        "5a022fc8700cadbac373766cf1b5c746ffec7164"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Thu Nov 01 16:57:14 2007 -0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Feb 01 16:42:03 2008 -0500"
      },
      "message": "NFSD: Use unsigned length argument for decode_pathname\n\nClean up: path name lengths are unsigned on the wire, negative lengths\nare not meaningful natively either.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nAcked-By: NeilBrown \u003cneilb@suse.de\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "5a022fc8700cadbac373766cf1b5c746ffec7164",
      "tree": "9af2b088a6075df55adb5165f790f7de52d29449",
      "parents": [
        "29d5e5553826d05b8ecda51c21787ce85efdef06"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Thu Nov 01 16:57:09 2007 -0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Feb 01 16:42:03 2008 -0500"
      },
      "message": "NFSD: Adjust filename length argument of nfsd_lookup\n\nClean up: adjust the sign of the length argument of nfsd_lookup and\nnfsd_lookup_dentry, for consistency with recent changes.  NFSD version\n4 callers already pass an unsigned file name length.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nAcked-By: NeilBrown \u003cneilb@suse.de\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "29d5e5553826d05b8ecda51c21787ce85efdef06",
      "tree": "0e1b665bf61f6a604d660ab4c1eb4f0791a8cce7",
      "parents": [
        "ee1a95b3b3fccf3c825bd95f89a8e006901b03ed"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Thu Nov 01 16:57:04 2007 -0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Feb 01 16:42:02 2008 -0500"
      },
      "message": "NFSD: File name length signage in nfsd request argument structures\n\nClean up: For consistency, store the length of file name strings in nfsd\nargument structures as unsigned integers.  This matches the XDR routines\nand client argument structures for the same operation types.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nAcked-By: NeilBrown \u003cneilb@suse.de\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "ee1a95b3b3fccf3c825bd95f89a8e006901b03ed",
      "tree": "6b690c38cd2d2e9ef782dc1150d2cfccb205dd2f",
      "parents": [
        "48df020aa17ac95a012ff765b0086ede5996b320"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Thu Nov 01 16:56:58 2007 -0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Feb 01 16:42:02 2008 -0500"
      },
      "message": "NFSD: Use unsigned length argument for decode_filename\n\nClean up: file name lengths are unsigned on the wire, negative lengths\nare not meaningful natively either.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nAcked-By: NeilBrown \u003cneilb@suse.de\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "48df020aa17ac95a012ff765b0086ede5996b320",
      "tree": "52aa9d1ff1e320ead499bddfe98cb05b06df1311",
      "parents": [
        "e5cff482c78a35b9f149a06aa777a1bd693864fb"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Thu Nov 01 16:56:53 2007 -0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Feb 01 16:42:02 2008 -0500"
      },
      "message": "NLM: Fix sign of length of NLM variable length strings\n\nAccording to The Open Group\u0027s NLM specification, NLM callers are variable\nlength strings.  XDR variable length strings use an unsigned 32 bit length.\nAnd internally, negative string lengths are not meaningful for the Linux\nNLM implementation.\n\nClean up: Make nlm_lock.len and nlm_reboot.len unsigned integers.  This\nmakes the sign of NLM string lengths consistent with the sign of xdr_netobj\nlengths.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nAcked-By: NeilBrown \u003cneilb@suse.de\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "e5cff482c78a35b9f149a06aa777a1bd693864fb",
      "tree": "2b60e05b09f78f82b2c90b1877f175769d55b45c",
      "parents": [
        "01b2969a8528b926f5e4d98161ae37053234475c"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Thu Nov 01 16:56:47 2007 -0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Feb 01 16:42:02 2008 -0500"
      },
      "message": "SUNRPC: Use unsigned string lengths in xdr_decode_string_inplace\n\nXDR strings, opaques, and net objects should all use unsigned lengths.\nTo wit, RFC 4506 says:\n\n4.2.  Unsigned Integer\n\n   An XDR unsigned integer is a 32-bit datum that encodes a non-negative\n   integer in the range [0,4294967295].\n\n ...\n\n4.11.  String\n\n   The standard defines a string of n (numbered 0 through n-1) ASCII\n   bytes to be the number n encoded as an unsigned integer (as described\n   above), and followed by the n bytes of the string.\n\nAfter this patch, xdr_decode_string_inplace now matches the other XDR\nstring and array helpers that take a string length argument.  See:\n\nxdr_encode_opaque_fixed, xdr_encode_opaque, xdr_encode_array\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nAcked-By: NeilBrown \u003cneilb@suse.de\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "01b2969a8528b926f5e4d98161ae37053234475c",
      "tree": "942fbf141743721476a3d79aa7b920ab9e72910f",
      "parents": [
        "d4395e03fec0895d01451904b8a2276ceda663c9"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Fri Oct 26 13:31:20 2007 -0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Feb 01 16:42:02 2008 -0500"
      },
      "message": "SUNRPC: Prevent length underflow in read_flush()\n\nMake sure we compare an unsigned length to an unsigned count in\nread_flush().\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "d4395e03fec0895d01451904b8a2276ceda663c9",
      "tree": "b4dd510ce3aa21a8f055d189e77b8047d162fa2d",
      "parents": [
        "aefa89d178e6dd83889b66d4e800d4d77363900b"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Oct 26 13:32:50 2007 -0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Feb 01 16:42:01 2008 -0500"
      },
      "message": "knfsd: fix broken length check in nfs4idmap.c\n\nObviously at some point we thought \"error\" represented the length when\npositive.  This appears to be a long-standing typo.\n\nThanks to Prasad Potluri \u003cpvp@us.ibm.com\u003e for finding the problem and\nproposing an earlier version of this patch.\n\nCc: Steve French \u003csmfltc@us.ibm.com\u003e\nCc: Prasad V Potluri \u003cpvp@us.ibm.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "aefa89d178e6dd83889b66d4e800d4d77363900b",
      "tree": "8b4c68d21af0d3342905f6fa58d3af231004a317",
      "parents": [
        "63c86716ea34ad94d52e5b0abbda152574dc42b5"
      ],
      "author": {
        "name": "Prasad P",
        "email": "pvp@us.ibm.com",
        "time": "Wed Oct 24 15:14:32 2007 -0500"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Feb 01 16:42:01 2008 -0500"
      },
      "message": "nfsd: Fix inconsistent assignment\n\nDereferenced pointer \"dentry\" without checking and assigned to inode\nin the declaration.\n\n(We could just delete the NULL checks that follow instead, as we never\nget to the encode function in this particular case.  But it takes a\nlittle detective work to verify that fact, so it\u0027s probably safer to\nleave the checks in place.)\n\nCc: Steve French \u003csmfltc@us.ibm.com\u003e\nSigned-off-by: Prasad V Potluri \u003cpvp@us.ibm.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "63c86716ea34ad94d52e5b0abbda152574dc42b5",
      "tree": "c92ceed9f40f43dc79e099a1f3d4da99d6f985b6",
      "parents": [
        "46f8a64bae11f5c9b15b4401f6e9863281999b66"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Thu Oct 25 19:00:26 2007 -0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Feb 01 16:42:01 2008 -0500"
      },
      "message": "nfsd: move callback rpc_client creation into separate thread\n\nThe whole reason to move this callback-channel probe into a separate\nthread was because (for now) we don\u0027t have an easy way to create the\nrpc_client asynchronously.  But I forgot to move the rpc_create() to the\nspawned thread.  Doh!  Fix that.\n\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "46f8a64bae11f5c9b15b4401f6e9863281999b66",
      "tree": "aea712834e9a12a43772de61c1f6af0dc2ea1b57",
      "parents": [
        "24e1c13c93cbdd05e4b7ea921c0050b036555adc"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Thu Nov 22 13:54:18 2007 -0500"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Feb 01 16:42:01 2008 -0500"
      },
      "message": "nfsd4: probe callback channel only once\n\nOur callback code doesn\u0027t actually handle concurrent attempts to probe\nthe callback channel.  Some rethinking of the locking may be required.\nHowever, we can also just move the callback probing to this case.  Since\nthis is the only time a client is \"confirmed\" (and since that can only\nhappen once in the lifetime of a client), this ensures we only probe\nonce.\n\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "24e1c13c93cbdd05e4b7ea921c0050b036555adc",
      "tree": "60e5b54f1ce6db72507e6f20f19bffe5854793b8",
      "parents": [
        "31fa5d2868cfa6b51e39989e2a2ab99ce4566cb2",
        "3bc217ffe6774e7971d6a7ce6350ce806ebab044"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Feb 01 21:48:45 2008 +1100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Feb 01 21:48:45 2008 +1100"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.dk/linux-2.6-block\n\n* \u0027for-linus\u0027 of git://git.kernel.dk/linux-2.6-block:\n  block: kill swap_io_context()\n  as-iosched: fix inconsistent ioc-\u003elock context\n  ide-cd: fix leftover data BUG\n  block: make elevator lib checkpatch compliant\n  cfq-iosched: make checkpatch compliant\n  block: make core bits checkpatch compliant\n  block: new end request handling interface should take unsigned byte counts\n  unexport add_disk_randomness\n  block/sunvdc.c:print_version() must be __devinit\n  splice: always updated atime in direct splice\n"
    },
    {
      "commit": "3bc217ffe6774e7971d6a7ce6350ce806ebab044",
      "tree": "b1ccad14a0c23f12248092feb867d2e311db59f0",
      "parents": [
        "8bdd3f8a6993fef2f364aca6e1a59559405773a2"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Fri Feb 01 11:34:49 2008 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Fri Feb 01 11:34:49 2008 +0100"
      },
      "message": "block: kill swap_io_context()\n\nIt blindly copies everything in the io_context, including the lock.\nThat doesn\u0027t work so well for either lock ordering or lockdep.\n\nThere seems zero point in swapping io contexts on a request to request\nmerge, so the best point of action is to just remove it.\n\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "31fa5d2868cfa6b51e39989e2a2ab99ce4566cb2",
      "tree": "e809b9459fce4f6363dd201641cb39a456ce10dc",
      "parents": [
        "e3c2a998afcb6de179ad954ee0113cfbcc42083e"
      ],
      "author": {
        "name": "Randy Dunlap",
        "email": "randy.dunlap@oracle.com",
        "time": "Thu Jan 31 22:09:08 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Feb 01 21:11:40 2008 +1100"
      },
      "message": "docbook: rapidio: fix fatal filename error\n\nFix docbook fatal error (files were renamed):\ndocproc: linux-2.6.24-git9/arch/ppc/kernel/rio.c: No such file or directory\n\nSigned-off-by: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "e3c2a998afcb6de179ad954ee0113cfbcc42083e",
      "tree": "c4bd2d591c18b1ed2e62d3e3d062ab74c749d64f",
      "parents": [
        "42bb1899221d362bee5480e3abc9b05243bf38fb"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Fri Feb 01 00:13:58 2008 -0500"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Feb 01 21:08:22 2008 +1100"
      },
      "message": "fix directory entry in arch-x86-Makefile\n\nDoing a make randconfig I came across this error in the Makefile.\n\nThis patch makes a directory out of arch/x86/mach-default for\nCONFIG_X86_RDC321X\n\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "42bb1899221d362bee5480e3abc9b05243bf38fb",
      "tree": "2887b9c6e3b1a25836447a825ae466a9b69f43a5",
      "parents": [
        "cec03afcb62fbbb0eaf943f6349ade61b89d7d40",
        "4787083fcce866e275bedeb87cd6dfba34c84253"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Feb 01 21:06:56 2008 +1100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Feb 01 21:06:56 2008 +1100"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-2.6:\n  [SPARC64]: Fix inconsistent .section usage in lib/\n  [SPARC/SPARC64]: Fix usage of .section .sched.text in assembler code.\n"
    },
    {
      "commit": "cec03afcb62fbbb0eaf943f6349ade61b89d7d40",
      "tree": "cc80c13e373337d1c1dee9dd7269173da1f7c079",
      "parents": [
        "2da53b0134ad41b91556d2d2a322cc03487a1ab7",
        "4814bdbd590e835ecec2d5e505165ec1c19796b2"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Feb 01 21:06:29 2008 +1100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Feb 01 21:06:29 2008 +1100"
      },
      "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: (173 commits)\n  [NETNS]: Lookup in FIB semantic hashes taking into account the namespace.\n  [NETNS]: Add a namespace mark to fib_info.\n  [IPV4]: fib_sync_down rework.\n  [NETNS]: Process interface address manipulation routines in the namespace.\n  [IPV4]: Small style cleanup of the error path in rtm_to_ifaddr.\n  [IPV4]: Fix memory leak on error path during FIB initialization.\n  [NETFILTER]: Ipv6-related xt_hashlimit compilation fix.\n  [NET_SCHED]: Add flow classifier\n  [NET_SCHED]: sch_sfq: make internal queues visible as classes\n  [NET_SCHED]: sch_sfq: add support for external classifiers\n  [NET_SCHED]: Constify struct tcf_ext_map\n  [BLUETOOTH]: Fix bugs in previous conn add/del workqueue changes.\n  [TCP]: Unexport sysctl_tcp_tso_win_divisor\n  [IPV4]: Make struct ipv4_devconf static.\n  [TR] net/802/tr.c: sysctl_tr_rif_timeout static\n  [XFRM]: Fix statistics.\n  [XFRM]: Remove unused exports.\n  [PKT_SCHED] sch_teql.c: Duplicate IFF_BROADCAST in FMASK, remove 2nd.\n  [BNX2]: Fix ASYM PAUSE advertisement for remote PHY.\n  [IPV4] route cache: Introduce rt_genid for smooth cache invalidation\n  ...\n"
    },
    {
      "commit": "2da53b0134ad41b91556d2d2a322cc03487a1ab7",
      "tree": "a2dbec136864c02f7b7113fef77f3f09d437a29e",
      "parents": [
        "0c6377f878eb767846934d6c70377afac9a4db68"
      ],
      "author": {
        "name": "Olof Johansson",
        "email": "olof@lixom.net",
        "time": "Thu Jan 31 17:50:02 2008 -0600"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Feb 01 21:03:36 2008 +1100"
      },
      "message": "pasemi: Fix thinko in dma_direct_ops setup\n\n[POWERPC] pasemi: Fix thinko in dma_direct_ops setup\n\nThe first patch will just fall through and still set dma_data to a bad\nvalue, make it return directly instead.\n\nSigned-off-by: Olof Johansson \u003colof@lixom.net\u003e\nAcked-by: Michael Ellerman \u003cmichael@ellerman.id.au\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "0c6377f878eb767846934d6c70377afac9a4db68",
      "tree": "94089c74d5ee2eadea89a1ba927d21cf6ca9b42a",
      "parents": [
        "79d8bfb01be752694fb3ae93555fcc0ad91b232b"
      ],
      "author": {
        "name": "Greg Ungerer",
        "email": "gerg@snapgear.com",
        "time": "Fri Feb 01 17:40:52 2008 +1000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Feb 01 21:02:04 2008 +1100"
      },
      "message": "m68knommu: remove dead timer int pending code\n\nRemove all the dead timer interrupt checking functions for the ColdFire\nCPU \"timers\" hardware that are not used after switching to GENERIC_TIME.\n\nSigned-off-by: Greg Ungerer \u003cgerg@uclinux.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "79d8bfb01be752694fb3ae93555fcc0ad91b232b",
      "tree": "3828131ccd73e954d3f5ef1aeea87ed53ba5f7cb",
      "parents": [
        "2d8815ba82ef5048806d36529f3e385450ba6e60"
      ],
      "author": {
        "name": "Greg Ungerer",
        "email": "gerg@snapgear.com",
        "time": "Fri Feb 01 17:40:49 2008 +1000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Feb 01 21:02:04 2008 +1100"
      },
      "message": "m68knommu: remove empty timer offset function for 68360\n\nSwitching to GENERIC_TIME means we no longer need the empty timer offset\nfunction for the 68360 CPU.\n\nSigned-off-by: Greg Ungerer \u003cgerg@uclinux.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "2d8815ba82ef5048806d36529f3e385450ba6e60",
      "tree": "1c3795a516ad13762b5dbe907e96198807cf3114",
      "parents": [
        "de0cc4e2830434c44131232fd953dee895be43a2"
      ],
      "author": {
        "name": "Greg Ungerer",
        "email": "gerg@snapgear.com",
        "time": "Fri Feb 01 17:40:39 2008 +1000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Feb 01 21:02:03 2008 +1100"
      },
      "message": "m68knommu: remove local gettimeofday code\n\nRemove unused local gettimeofday functions, now that we are using\nGENERIC_TIME.\n\nSigned-off-by: Greg Ungerer \u003cgerg@uclinux.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "de0cc4e2830434c44131232fd953dee895be43a2",
      "tree": "a66df7efa70370f8ce5f7e2b80cb36766ab39d4f",
      "parents": [
        "a7f61fa43e9b5622de5568b695b87c2166c49ea2"
      ],
      "author": {
        "name": "Greg Ungerer",
        "email": "gerg@snapgear.com",
        "time": "Fri Feb 01 17:40:30 2008 +1000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Feb 01 21:02:03 2008 +1100"
      },
      "message": "m68knommu: set config to use GENERIC_TIME\n\nSwitch m68knommu arch to using GENERIC_TIME.\n\nSigned-off-by: Greg Ungerer \u003cgerg@uclinux.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "a7f61fa43e9b5622de5568b695b87c2166c49ea2",
      "tree": "92b82c932f6947fdb189b0caed245a730808fdf4",
      "parents": [
        "8d80c5ee9c1e5bc3b72d69591101c2715a7e7fdd"
      ],
      "author": {
        "name": "Greg Ungerer",
        "email": "gerg@snapgear.com",
        "time": "Fri Feb 01 17:40:26 2008 +1000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Feb 01 21:02:03 2008 +1100"
      },
      "message": "m68knommu: switch ColdFire TIMER to use GENERIC_TIME\n\nSwitch the ColdFire TIMER timer to use GENERIC_TIME.\n\nSigned-off-by: Greg Ungerer \u003cgerg@uclinux.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "8d80c5ee9c1e5bc3b72d69591101c2715a7e7fdd",
      "tree": "fcc63bb81d8b3a253fba5a3de0974488994dc35b",
      "parents": [
        "36a90f26aa24c58e5279786340beb9f5bea39361"
      ],
      "author": {
        "name": "Greg Ungerer",
        "email": "gerg@snapgear.com",
        "time": "Fri Feb 01 17:40:21 2008 +1000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Feb 01 21:02:03 2008 +1100"
      },
      "message": "m68knommu: switch ColdFire PIT timer to use GENERIC_TIME\n\nSwitch the ColdFire PIT timer to using GENERIC_TIME.\n\nSigned-off-by: Greg Ungerer \u003cgerg@uclinux.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "36a90f26aa24c58e5279786340beb9f5bea39361",
      "tree": "cf18a97aef95f5b95525526a78bdf27f77db9bcf",
      "parents": [
        "f6efaf62bbb67ad564862a1131c365c3c55f6242"
      ],
      "author": {
        "name": "Greg Ungerer",
        "email": "gerg@snapgear.com",
        "time": "Fri Feb 01 17:40:17 2008 +1000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Feb 01 21:02:03 2008 +1100"
      },
      "message": "m68knommu: switch 68328 timer to use GENERIC_TIME\n\nSwitch the 68328 CPU timer code to using GENERIC_TIME.\n\nSigned-off-by: Greg Ungerer \u003cgerg@uclinux.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "f6efaf62bbb67ad564862a1131c365c3c55f6242",
      "tree": "a5d4a5e89dd053cbe1f009377d12c046d2e9de80",
      "parents": [
        "b7dcf7fe7c3060db38fc625efffad5965a5c6d8a"
      ],
      "author": {
        "name": "Greg Ungerer",
        "email": "gerg@snapgear.com",
        "time": "Fri Feb 01 17:38:26 2008 +1000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Feb 01 21:00:01 2008 +1100"
      },
      "message": "m68knommu: remove unused CONFIG_DISKtel symbol\n\nRemove unused CONFIG_DISKtel define.\n\nSigned-off-by: Greg Ungerer \u003cgerg@uclinux.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "b7dcf7fe7c3060db38fc625efffad5965a5c6d8a",
      "tree": "5d72dc3cd8cc062e7dfdeb8750da524f1b570f34",
      "parents": [
        "9f69ba86d66297189916ceae401fe0944a207714"
      ],
      "author": {
        "name": "Greg Ungerer",
        "email": "gerg@snapgear.com",
        "time": "Fri Feb 01 17:38:24 2008 +1000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Feb 01 21:00:01 2008 +1100"
      },
      "message": "m68knommu: fix 528x ColdFire cache settings\n\nFix problems with the 528x ColdFire CPU cache setup.\nDo not cache the flash region (if present), and make the runtime\nsettings consistent with the init setting.\n\nProblems pointed out by Bernd Buttner \u003cb.buettner@mkc-gmbh.de\u003e\n\nSigned-off-by: Greg Ungerer \u003cgerg@uclinux.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "9f69ba86d66297189916ceae401fe0944a207714",
      "tree": "9dada9de4f74f87bc28917da589112aba2098973",
      "parents": [
        "c9f27c3619b3ee26b8ec47692bdd3a7ac075ad87"
      ],
      "author": {
        "name": "Greg Ungerer",
        "email": "gerg@snapgear.com",
        "time": "Fri Feb 01 17:38:34 2008 +1000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Feb 01 21:00:01 2008 +1100"
      },
      "message": "m68knommu: use container_of in mcf.c\n\nUse container_of() instead of assuming local uart struct is first member\nof uart_port struct.\n\nSigned-off-by: Greg Ungerer \u003cgerg@uclinux.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "c9f27c3619b3ee26b8ec47692bdd3a7ac075ad87",
      "tree": "2ad64678425cead0ec63774d542d7e66089b1cea",
      "parents": [
        "7c74806bc9addc312f59f2e7388b3a436c0c5131"
      ],
      "author": {
        "name": "Greg Ungerer",
        "email": "gerg@snapgear.com",
        "time": "Fri Feb 01 17:38:20 2008 +1000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Feb 01 21:00:01 2008 +1100"
      },
      "message": "m68knommu: remove dead code from m68knommu timer code\n\nRemove unused LED heartbeat code from m68knommu timer code.\n\nSigned-off-by: Greg Ungerer \u003cgerg@uclinux.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "7c74806bc9addc312f59f2e7388b3a436c0c5131",
      "tree": "4b35bf74e6a07a8c40f991757502b1627e441bf1",
      "parents": [
        "dad263b84e244cd991f40ab9f87813078f585abb"
      ],
      "author": {
        "name": "Greg Ungerer",
        "email": "gerg@snapgear.com",
        "time": "Fri Feb 01 17:38:32 2008 +1000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Feb 01 21:00:01 2008 +1100"
      },
      "message": "m68knommu: use IRQF_DISABLE in m68328serial.c\n\nUse IRQF_DISABLED instead of obsolete IRQ_FLG_STD for request_irq() flags\nin m68328serial.c driver.\n\nSigned-off-by: Greg Ungerer \u003cgerg@uclinux.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "dad263b84e244cd991f40ab9f87813078f585abb",
      "tree": "0e65802792dd3086dc8f56ca8025f3ce49a84716",
      "parents": [
        "6d3867987b8eefd880246f7dab085fcbe348c4dd"
      ],
      "author": {
        "name": "Greg Ungerer",
        "email": "gerg@snapgear.com",
        "time": "Fri Feb 01 17:38:03 2008 +1000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Feb 01 21:00:01 2008 +1100"
      },
      "message": "m68knommu: create common DMA table for ColdFire CPUs\n\nMove the ColdFire DMA address table into its own file, and out\nof each of the different CPU config files. No need to have a copy\nof it in each of the config setup files.\n\nSigned-off-by: Greg Ungerer \u003cgerg@uclinux.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "6d3867987b8eefd880246f7dab085fcbe348c4dd",
      "tree": "4606e276d47e3b1c1860cc97686f364b1364d3a5",
      "parents": [
        "591091a15e22dc4ec30aa6fd5998be4e024b5c4c"
      ],
      "author": {
        "name": "Greg Ungerer",
        "email": "gerg@snapgear.com",
        "time": "Fri Feb 01 17:37:56 2008 +1000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Feb 01 20:58:10 2008 +1100"
      },
      "message": "m68knommu: modify Makefiles to support common coldfire directory\n\nModify Makefiles to support separate coldfire platform directory.\n\nCurrently the common ColdFire CPU family code sits in the\narch/m68knommu/platform/5307 directory. This is confusing, the files\ncontaining this common code are in no way specific to the 5307 ColdFire.\nCreate an arch/m68knommu/platform/coldfire directory to contain this\ncommon code. Other m68knommu CPU varients do not need use this code\nthough, so it doesn\u0027t make sense to move it to arch/m68knommu/kernel.\n\nSigned-off-by: Greg Ungerer \u003cgerg@uclinux.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "591091a15e22dc4ec30aa6fd5998be4e024b5c4c",
      "tree": "05bc18df1558861d8a8116c309ed07a2384607a3",
      "parents": [
        "297a834d0b593179cc178ddc5f128c8b8844d7be"
      ],
      "author": {
        "name": "Greg Ungerer",
        "email": "gerg@snapgear.com",
        "time": "Fri Feb 01 17:37:46 2008 +1000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Feb 01 20:58:10 2008 +1100"
      },
      "message": "m68knommu: move ColdFire vectors.c to its own coldfire directory\n\nMove common ColdFire CPU vectors.c to common coldfire platform directory.\n\nCurrently the common ColdFire CPU family code sits in the\narch/m68knommu/platform/5307 directory. This is confusing, the files\ncontaining this common code are in no way specific to the 5307 ColdFire.\nCreate an arch/m68knommu/platform/coldfire directory to contain this\ncommon code. Other m68knommu CPU varients do not need use this code\nthough, so it doesn\u0027t make sense to move it to arch/m68knommu/kernel.\n\nSigned-off-by: Greg Ungerer \u003cgerg@uclinux.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    }
  ],
  "next": "297a834d0b593179cc178ddc5f128c8b8844d7be"
}
