)]}'
{
  "log": [
    {
      "commit": "0f0257eaa5d29b80f6ab2c40ed21aa65bb4527f6",
      "tree": "542f64ec74fc045c06f5a1ffc0d48f823de12ccb",
      "parents": [
        "18d19f949d5a9c927b2b88402630c5137971b619"
      ],
      "author": {
        "name": "Tom Tucker",
        "email": "tom@opengridcomputing.com",
        "time": "Sun Dec 30 21:08:27 2007 -0600"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Feb 01 16:42:13 2008 -0500"
      },
      "message": "svc: Move the xprt independent code to the svc_xprt.c file\n\nThis functionally trivial patch moves all of the transport independent\nfunctions from the svcsock.c file to the transport independent svc_xprt.c\nfile.\n\nIn addition the following formatting changes were made:\n- White space cleanup\n- Function signatures on single line\n- The inline directive was removed\n- Lines over 80 columns were reformatted\n- The term \u0027socket\u0027 was changed to \u0027transport\u0027 in comments\n- The SMP comment was moved and updated.\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": "57b1d3babaafea1c395c932914e38c2ff9493001",
      "tree": "5580e5f084f4473ac6b7b00905d4abd0328e5617",
      "parents": [
        "4e5caaa5f24b3df1fe01097e1e7576461e70d491"
      ],
      "author": {
        "name": "Tom Tucker",
        "email": "tom@opengridcomputing.com",
        "time": "Sun Dec 30 21:08:22 2007 -0600"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Feb 01 16:42:13 2008 -0500"
      },
      "message": "svc: Removing remaining references to rq_sock in rqstp\n\nThis functionally empty patch removes rq_sock and unamed union\nfrom rqstp 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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "22b132102f1540dd40f3e41df88796829b685f1a",
      "tree": "20edc8316009b946ebd197b7aef7ccc041d02798",
      "parents": [
        "640e248e44e2c550473550ca83668ceccad21dce"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Thu Jan 31 12:36:19 2008 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Fri Feb 01 09:26:33 2008 +0100"
      },
      "message": "block: new end request handling interface should take unsigned byte counts\n\nNo point in passing signed integers as the byte count, they can never\nbe negative.\n\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "4814bdbd590e835ecec2d5e505165ec1c19796b2",
      "tree": "b53996e694125012b202ea35a46fdf3cb39ae1df",
      "parents": [
        "7462bd744e8882f9ebb9220d46fd4fec8b35b082"
      ],
      "author": {
        "name": "Denis V. Lunev",
        "email": "den@openvz.org",
        "time": "Thu Jan 31 18:50:07 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jan 31 19:28:41 2008 -0800"
      },
      "message": "[NETNS]: Lookup in FIB semantic hashes taking into account the namespace.\n\nThe namespace is not available in the fib_sync_down_addr, add it as a\nparameter.\n\nLooking up a device by the pointer to it is OK. Looking up using a\nresult from fib_trie/fib_hash table lookup is also safe. No need to\nfix that at all.  So, just fix lookup by address and insertion to the\nhash table path.\n\nSigned-off-by: Denis V. Lunev \u003cden@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "7462bd744e8882f9ebb9220d46fd4fec8b35b082",
      "tree": "25c5ba54034199e6a8e3d123c5e8e79f88f7c394",
      "parents": [
        "85326fa54b5516d8859617cc5fdfce8ae19c1480"
      ],
      "author": {
        "name": "Denis V. Lunev",
        "email": "den@openvz.org",
        "time": "Thu Jan 31 18:49:32 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jan 31 19:28:40 2008 -0800"
      },
      "message": "[NETNS]: Add a namespace mark to fib_info.\n\nThis is required to make fib_info lookups namespace aware. In the\nother case initial namespace devices are marked as dead in the local\nrouting table during other namespace stop.\n\nSigned-off-by: Denis V. Lunev \u003cden@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "85326fa54b5516d8859617cc5fdfce8ae19c1480",
      "tree": "82129844e755914183bc262b250301d06b7db398",
      "parents": [
        "4b8aa9abee2e108b132dea7a7c4e81a167895354"
      ],
      "author": {
        "name": "Denis V. Lunev",
        "email": "den@openvz.org",
        "time": "Thu Jan 31 18:48:47 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jan 31 19:28:39 2008 -0800"
      },
      "message": "[IPV4]: fib_sync_down rework.\n\nfib_sync_down can be called with an address and with a device. In\nreality it is called either with address OR with a device. The\ncodepath inside is completely different, so lets separate it into two\ncalls for these two cases.\n\nSigned-off-by: Denis V. Lunev \u003cden@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e5dfb815181fcb186d6080ac3a091eadff2d98fe",
      "tree": "25ec6cc5b3c75536dc45a14089ca14fc8bd67938",
      "parents": [
        "94de78d19580143c407ff2492edf2410d0e7d48c"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Thu Jan 31 18:37:42 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jan 31 19:28:36 2008 -0800"
      },
      "message": "[NET_SCHED]: Add flow classifier\n\nAdd new \"flow\" classifier, which is meant to extend the SFQ hashing\ncapabilities without hard-coding new hash functions and also allows\ndeterministic mappings of keys to classes, replacing some out of tree\niptables patches like IPCLASSIFY (maps IPs to classes), IPMARK (maps\nIPs to marks, with fw filters to classes), ...\n\nSome examples:\n\n- Classic SFQ hash:\n\n  tc filter add ... flow hash \\\n  \tkeys src,dst,proto,proto-src,proto-dst divisor 1024\n\n- Classic SFQ hash, but using information from conntrack to work properly in\n  combination with NAT:\n\n  tc filter add ... flow hash \\\n  \tkeys nfct-src,nfct-dst,proto,nfct-proto-src,nfct-proto-dst divisor 1024\n\n- Map destination IPs of 192.168.0.0/24 to classids 1-257:\n\n  tc filter add ... flow map \\\n  \tkey dst addend -192.168.0.0 divisor 256\n\n- alternatively:\n\n  tc filter add ... flow map \\\n  \tkey dst and 0xff\n\n- similar, but reverse ordered:\n\n  tc filter add ... flow map \\\n  \tkey dst and 0xff xor 0xff\n\nPerturbation is currently not supported because we can\u0027t reliable kill the\ntimer on destruction.\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "94de78d19580143c407ff2492edf2410d0e7d48c",
      "tree": "2753a5638e500101ec286fd5a02f042b4a1da129",
      "parents": [
        "7d2681a6ff4f9ab5e48d02550b4c6338f1638998"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Thu Jan 31 18:37:16 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jan 31 19:28:35 2008 -0800"
      },
      "message": "[NET_SCHED]: sch_sfq: make internal queues visible as classes\n\nAdd support for dumping statistics and make internal queues visible as\nclasses.\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "5239008b0de2507a531440b8c3019fb9c116fb1a",
      "tree": "49f4580d2a0178182017b4a07640ac8d0f1c4112",
      "parents": [
        "5396c9356efec1d3d818b786f69e081aaad4b98b"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Thu Jan 31 18:36:18 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jan 31 19:28:34 2008 -0800"
      },
      "message": "[NET_SCHED]: Constify struct tcf_ext_map\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "0027ba843450a5e28dd7fed580ad1e1546b7696b",
      "tree": "94546bf994ef1b187ddce1a92c122866af2ab675",
      "parents": [
        "81a21eb4ec4ad47a776a8ab89309fb2614e63ae5"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@kernel.org",
        "time": "Thu Jan 31 17:17:31 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jan 31 19:28:31 2008 -0800"
      },
      "message": "[IPV4]: Make struct ipv4_devconf static.\n\nstruct ipv4_devconf can now become static.\n\nSigned-off-by: Adrian Bunk \u003cbunk@kernel.org\u003e\nAcked-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "9472c9ef645d03ea823801d7716e658aeaf894e4",
      "tree": "349327bc0ea264312a2d753840e7c32590e4f6c8",
      "parents": [
        "5255dc6e14ce640ccb3e062362510a00ac59bbcd"
      ],
      "author": {
        "name": "Masahide NAKAMURA",
        "email": "nakam@linux-ipv6.org",
        "time": "Thu Jan 31 17:14:58 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jan 31 19:28:30 2008 -0800"
      },
      "message": "[XFRM]: Fix statistics.\n\no Outbound sequence number overflow error status\n  is counted as XfrmOutStateSeqError.\no Additionaly, it changes inbound sequence number replay\n  error name from XfrmInSeqOutOfWindow to XfrmInStateSeqError\n  to apply name scheme above.\no Inbound IPv4 UDP encapsuling type mismatch error is wrongly\n  mapped to XfrmInStateInvalid then this patch fiex the error\n  to XfrmInStateMismatch.\n\nSigned-off-by: Masahide NAKAMURA \u003cnakam@linux-ipv6.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "29e75252da20f3ab9e132c68c9aed156b87beae6",
      "tree": "affd152c959eede937b50f6054a303a388a88545",
      "parents": [
        "174ce0483198b9dffd712fdd7d53635954fddffe"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "dada1@cosmosbay.com",
        "time": "Thu Jan 31 17:05:09 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jan 31 19:28:27 2008 -0800"
      },
      "message": "[IPV4] route cache: Introduce rt_genid for smooth cache invalidation\n\nCurrent ip route cache implementation is not suited to large caches.\n\nWe can consume a lot of CPU when cache must be invalidated, since we\ncurrently need to evict all cache entries, and this eviction is\nsometimes asynchronous. min_delay \u0026 max_delay can somewhat control this\nasynchronism behavior, but whole thing is a kludge, regularly triggering\ninfamous soft lockup messages. When entries are still in use, this also\nconsumes a lot of ram, filling dst_garbage.list.\n\nA better scheme is to use a generation identifier on each entry,\nso that cache invalidation can be performed by changing the table\nidentifier, without having to scan all entries.\nNo more delayed flushing, no more stalling when secret_interval expires.\n\nInvalidated entries will then be freed at GC time (controled by\nip_rt_gc_timeout or stress), or when an invalidated entry is found\nin a chain when an insert is done.\nThus we keep a normal equilibrium.\n\nThis patch :\n- renames rt_hash_rnd to rt_genid (and makes it an atomic_t)\n- Adds a new rt_genid field to \u0027struct rtable\u0027 (filling a hole on 64bit)\n- Checks entry-\u003ert_genid at appropriate places :\n"
    },
    {
      "commit": "e83a2ea850bf0c0c81c675444080970fc07798c6",
      "tree": "ebdf251be6fa2f9b2b482cd0e6393fdbfc8278a0",
      "parents": [
        "16ca3f913001efdb6171a2781ef41c77474e3895"
      ],
      "author": {
        "name": "Chris Leech",
        "email": "christopher.leech@intel.com",
        "time": "Thu Jan 31 16:53:23 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jan 31 19:28:24 2008 -0800"
      },
      "message": "[VLAN]: set_rx_mode support for unicast address list\n\nReuse the existing logic for multicast list synchronization for the\nunicast address list. The core of dev_mc_sync/unsync are split out as\n__dev_addr_sync/unsync and moved from dev_mcast.c to dev.c.  These are\nthen used to implement dev_unicast_sync/unsync as well.\n\nI\u0027m working on cleaning up Intel\u0027s FCoE stack, which generates new MAC\naddresses from the fibre channel device id assigned by the fabric as\nper the current draft specification in T11.  When using such a\nprotocol in a VLAN environment it would be nice to not always be\nforced into promiscuous mode, assuming the underlying Ethernet driver\nsupports multiple unicast addresses as well.\n\nSigned-off-by: Chris Leech \u003cchristopher.leech@intel.com\u003e\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\n"
    },
    {
      "commit": "71d67e666e73e3b7e9ef124745ee2e454ac04be8",
      "tree": "e163b578c98f3c3ac69cb88ca6bf936d6ab4d698",
      "parents": [
        "9fe7c712fc955565c32e2f899d4ffeceaf028398"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "shemminger@vyatta.com",
        "time": "Thu Jan 31 16:45:47 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jan 31 19:28:23 2008 -0800"
      },
      "message": "[IPV4] fib_trie: rescan if key is lost during dump\n\nNormally during a dump the key of the last dumped entry is used for\ncontinuation, but since lock is dropped it might be lost. In that case\nfallback to the old counter based N^2 behaviour.  This means the dump\nwill end up skipping some routes which matches what FIB_HASH does.\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "d86e0dac2ce412715181f792aa0749fe3effff11",
      "tree": "bc9197a7316c7d7641112d5f5975d8b91afdbd08",
      "parents": [
        "c67499c0e772064b37ad75eb69b28fc218752636"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Thu Jan 31 05:07:21 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jan 31 19:28:20 2008 -0800"
      },
      "message": "[NETNS]: Tcp-v6 sockets per-net lookup.\n\nAdd a net argument to inet6_lookup and propagate it further.\nActually, this is tcp-v6 implementation of what was done for\ntcp-v4 sockets in a previous patch.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "c67499c0e772064b37ad75eb69b28fc218752636",
      "tree": "7d2873308f16080c0c3801d6024881360dd8e196",
      "parents": [
        "941b1d22cc035ad58b3d9b44a1c74efac2d7e499"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Thu Jan 31 05:06:40 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jan 31 19:28:19 2008 -0800"
      },
      "message": "[NETNS]: Tcp-v4 sockets per-net lookup.\n\nAdd a net argument to inet_lookup and propagate it further\ninto lookup calls. Plus tune the __inet_check_established.\n\nThe dccp and inet_diag, which use that lookup functions\npass the init_net into them.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "941b1d22cc035ad58b3d9b44a1c74efac2d7e499",
      "tree": "9b50211c27a209c02d97b73f74bf33cc87f4c9c3",
      "parents": [
        "5ee31fc1ecdcbc234c8c56dcacef87c8e09909d8"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Thu Jan 31 05:05:50 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jan 31 19:28:18 2008 -0800"
      },
      "message": "[NETNS]: Make bind buckets live in net namespaces.\n\nThis tags the inet_bind_bucket struct with net pointer,\ninitializes it during creation and makes a filtering\nduring lookup.\n\nA better hashfn, that takes the net into account is to\nbe done in the future, but currently all bind buckets\nwith similar port will be in one hash chain.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "5ee31fc1ecdcbc234c8c56dcacef87c8e09909d8",
      "tree": "5fe73acbcf784f9ee326d7d10ae217c7b4eb13ee",
      "parents": [
        "535174efbe0f0454f0595c31b823498c197eeb4f"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Thu Jan 31 05:04:45 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jan 31 19:28:17 2008 -0800"
      },
      "message": "[INET]: Consolidate inet(6)_hash_connect.\n\nThese two functions are the same except for what they call\nto \"check_established\" and \"hash\" for a socket.\n\nThis saves half-a-kilo for ipv4 and ipv6.\n\n add/remove: 1/0 grow/shrink: 1/4 up/down: 582/-1128 (-546)\n function                                     old     new   delta\n __inet_hash_connect                            -     577    +577\n arp_ignore                                   108     113      +5\n static.hint                                    8       4      -4\n rt_worker_func                               376     372      -4\n inet6_hash_connect                           584      25    -559\n inet_hash_connect                            586      25    -561\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "535174efbe0f0454f0595c31b823498c197eeb4f",
      "tree": "7fc438f82e73f117882e31b6f7025e295e399b09",
      "parents": [
        "22e0e62cd09dcf56fe1a7be66698b6e130e4314c"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Thu Jan 31 05:03:27 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jan 31 19:28:17 2008 -0800"
      },
      "message": "[IPV6]: Introduce the INET6_TW_MATCH macro.\n\nWe have INET_MATCH, INET_TW_MATCH and INET6_MATCH to test sockets and\ntwbuckets for matching, but ipv6 twbuckets are tested manually.\n\nHere\u0027s the INET6_TW_MATCH to help with it.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "32948588ac4ec54300bae1037e839277fd4536e2",
      "tree": "69836aa043bcd3b5207047558bbbd4866f97dc36",
      "parents": [
        "7cc3864d39837549c5ccb33c5b85183d6e6986bc"
      ],
      "author": {
        "name": "Jan Engelhardt",
        "email": "jengelh@computergmbh.de",
        "time": "Thu Jan 31 04:53:24 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jan 31 19:28:13 2008 -0800"
      },
      "message": "[NETFILTER]: nf_conntrack: annotate l3protos with const\n\nSigned-off-by: Jan Engelhardt \u003cjengelh@computergmbh.de\u003e\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "82f568fc2f6bcab18e4c80291d21f7f8463ee698",
      "tree": "cba612e58cf0f2dd47983f1341f71fc9c0b83d33",
      "parents": [
        "02e23f4057fa86d6ecdbd83b5116c3c0e4c76fac"
      ],
      "author": {
        "name": "Jan Engelhardt",
        "email": "jengelh@computergmbh.de",
        "time": "Thu Jan 31 04:52:07 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jan 31 19:28:10 2008 -0800"
      },
      "message": "[NETFILTER]: nf_{conntrack,nat}_proto_tcp: constify and annotate TCP modules\n\nConstify a few data tables use const qualifiers on variables where\npossible in the nf_*_proto_tcp sources.\n\nSigned-off-by: Jan Engelhardt \u003cjengelh@computergmbh.de\u003e\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "9ddd0ed050445176a97e11b2b24d6fbc01843da6",
      "tree": "8306fd4303ca5571dabbbefd537cbd1cb79db5e5",
      "parents": [
        "de24b4ebb811fcd7879bc580eb5c6f095b566321"
      ],
      "author": {
        "name": "Jan Engelhardt",
        "email": "jengelh@computergmbh.de",
        "time": "Thu Jan 31 04:51:23 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jan 31 19:28:09 2008 -0800"
      },
      "message": "[NETFILTER]: nf_{conntrack,nat}_pptp: annotate PPtP helper with const\n\nSigned-off-by: Jan Engelhardt \u003cjengelh@computergmbh.de\u003e\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "13f7d63c2911c9d1a254d13899986fc801641127",
      "tree": "65dc3e2389c12d4cc20af41b77f72082166a8d10",
      "parents": [
        "905e3e8ec5899ae618846c9ac6f38dd6c22e604e"
      ],
      "author": {
        "name": "Jan Engelhardt",
        "email": "jengelh@computergmbh.de",
        "time": "Thu Jan 31 04:50:25 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jan 31 19:28:08 2008 -0800"
      },
      "message": "[NETFILTER]: nf_{conntrack,nat}_sip: annotate SIP helper with const\n\nSigned-off-by: Jan Engelhardt \u003cjengelh@computergmbh.de\u003e\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "3cb609d57c20027a8b39fc60b79b930a89da82d4",
      "tree": "f88a4d355b6612665a0ea89ac91a746c06e2c3cc",
      "parents": [
        "715cf35ac9291f31a4fea7d022695a64cac0af80"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@sw.ru",
        "time": "Thu Jan 31 04:49:35 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jan 31 19:28:06 2008 -0800"
      },
      "message": "[NETFILTER]: x_tables: create per-netns /proc/net/*_tables_*\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@sw.ru\u003e\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "09e410def6432458c7d7e771a1807b157f4c2577",
      "tree": "409cb903573639d08b3dbe0418477a0ac6e87eee",
      "parents": [
        "d33b7c06bd721e21534c120d1c4a5944dc3eb9ce"
      ],
      "author": {
        "name": "Jan Engelhardt",
        "email": "jengelh@computergmbh.de",
        "time": "Thu Jan 31 04:48:13 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jan 31 19:28:04 2008 -0800"
      },
      "message": "[NETFILTER]: xt_hashlimit match, revision 1\n\nIntroduces the xt_hashlimit match revision 1. It adds support for\nkernel-level inversion and grouping source and/or destination IP\naddresses, allowing to limit on a per-subnet basis. While this would\ntechnically obsolete xt_limit, xt_hashlimit is a more expensive due\nto the hashbucketing.\n\nKernel-level inversion: Previously you had to do user-level inversion:\n\n\tiptables -N foo\n\tiptables -A foo -m hashlimit --hashlimit(-upto) 5/s -j RETURN\n\tiptables -A foo -j DROP\n\tiptables -A INPUT -j foo\n\nnow it is simpler:\n\n\tiptables -A INPUT -m hashlimit --hashlimit-over 5/s -j DROP\n\nSigned-off-by: Jan Engelhardt \u003cjengelh@computergmbh.de\u003e\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "c88130bcd546e73e66165f9c29113dae9facf1ec",
      "tree": "fd4992c4126c7ad771d297c778ee177f4fb06a72",
      "parents": [
        "76eb946040a7b4c797979a9c22464b9a07890ba5"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Thu Jan 31 04:42:11 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jan 31 19:27:59 2008 -0800"
      },
      "message": "[NETFILTER]: nf_conntrack: naming unification\n\nRename all \"conntrack\" variables to \"ct\" for more consistency and\navoiding some overly long lines.\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "ffaa9c100bd75c81744a2b7800a45daba53db0eb",
      "tree": "b4f856b426895feba2ae299b91ec6b6f124978b3",
      "parents": [
        "0794935e21a18e7c171b604c31219b60ad9749a9"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Thu Jan 31 04:41:14 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jan 31 19:27:57 2008 -0800"
      },
      "message": "[NETFILTER]: nf_conntrack: reorder struct nf_conntrack_l4proto\n\nReorder struct nf_conntrack_l4proto so all members used during packet\nprocessing are in the same cacheline.\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "380517dead6ab86d7249a1723f07f2f1b10af5f6",
      "tree": "3b6cee7a9b246305c5a98d62aba00aebdde6d77b",
      "parents": [
        "ba419aff2cda91680e5d4d3eeff95df49bd2edec"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Thu Jan 31 04:40:04 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jan 31 19:27:56 2008 -0800"
      },
      "message": "[NETFILTER]: nf_conntrack: avoid duplicate protocol comparison in nf_ct_tuple_equal()\n\nnf_ct_tuple_src_equal() and nf_ct_tuple_dst_equal() both compare the protocol\nnumbers. Unfortunately gcc doesn\u0027t optimize out the second comparison, so\nremove it and prefix both functions with __ to indicate that they should not\nbe used directly.\n\nSaves another 16 byte of text in __nf_conntrack_find() on x86_64:\n\n  nf_conntrack_tuple_taken |  -20 # 320 -\u003e 300, size inlines: 181 -\u003e 161\n  __nf_conntrack_find      |  -16 # 267 -\u003e 251, size inlines: 127 -\u003e 115\n  __nf_conntrack_confirm   |  -40 # 875 -\u003e 835, size inlines: 570 -\u003e 537\n 3 functions changed, 76 bytes removed\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "ba419aff2cda91680e5d4d3eeff95df49bd2edec",
      "tree": "6bb05d94dad612ec084ebb1c9089d06357e1e0a6",
      "parents": [
        "f8ba1affa18398610e765736153fff614309ccc8"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Thu Jan 31 04:39:23 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jan 31 19:27:55 2008 -0800"
      },
      "message": "[NETFILTER]: nf_conntrack: optimize __nf_conntrack_find()\n\nIgnoring specific entries in __nf_conntrack_find() is only needed by NAT\nfor nf_conntrack_tuple_taken(). Remove it from __nf_conntrack_find()\nand make nf_conntrack_tuple_taken() search the hash itself.\n\nSaves 54 bytes of text in the hotpath on x86_64:\n\n  __nf_conntrack_find      |  -54 # 321 -\u003e 267, # inlines: 3 -\u003e 2, size inlines: 181 -\u003e 127\n  nf_conntrack_tuple_taken | +305 # 15 -\u003e 320, lexblocks: 0 -\u003e 3, # inlines: 0 -\u003e 3, size inlines: 0 -\u003e 181\n  nf_conntrack_find_get    |   -2 # 90 -\u003e 88\n 3 functions changed, 305 bytes added, 56 bytes removed, diff: +249\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "f8ba1affa18398610e765736153fff614309ccc8",
      "tree": "b2143ef65aa92e5995070824798b04d935044e24",
      "parents": [
        "76507f69c44ed199a1a68086145398459e55835d"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Thu Jan 31 04:38:58 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jan 31 19:27:54 2008 -0800"
      },
      "message": "[NETFILTER]: nf_conntrack: switch rwlock to spinlock\n\nWith the RCU conversion only write_lock usages of nf_conntrack_lock are\nleft (except one read_lock that should actually use write_lock in the\nH.323 helper). Switch to a spinlock.\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "76507f69c44ed199a1a68086145398459e55835d",
      "tree": "2e83a70fa50f3432ca63eeef84e038c72d254d10",
      "parents": [
        "7d0742da1c8f5df3a34030f0170b30d1a052be80"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Thu Jan 31 04:38:38 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jan 31 19:27:54 2008 -0800"
      },
      "message": "[NETFILTER]: nf_conntrack: use RCU for conntrack hash\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "7d0742da1c8f5df3a34030f0170b30d1a052be80",
      "tree": "f5717a37a9b4fe27abfa7886996d7051c57b91b9",
      "parents": [
        "c52fbb410b2662a7bbc5cbe5969d73c733151498"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Thu Jan 31 04:38:19 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jan 31 19:27:53 2008 -0800"
      },
      "message": "[NETFILTER]: nf_conntrack_expect: use RCU for expectation hash\n\nUse RCU for expectation hash. This doesn\u0027t buy much for conntrack\nruntime performance, but allows to reduce the use of nf_conntrack_lock\nfor /proc and nf_netlink_conntrack.\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "58a3c9bb0c69f8517c2243cd0912b3f87b4f868c",
      "tree": "3c45d988e80440043b65fc964c88f361ffcef18f",
      "parents": [
        "47d9504543817b0aa908a37a335b90c30704a100"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Thu Jan 31 04:36:54 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jan 31 19:27:51 2008 -0800"
      },
      "message": "[NETFILTER]: nf_conntrack: use RCU for conntrack helpers\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b0a6363c2418c93f25dd30b8ffcd3fdd4ce23ad6",
      "tree": "81bf6cdd227ef619b8e8cb29674568725459a2fe",
      "parents": [
        "855304af29c042e002d902997661ec3dd507df0d"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Thu Jan 31 04:10:18 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jan 31 19:27:49 2008 -0800"
      },
      "message": "[NETFILTER]: {ip,arp,ip6}_tables: fix sparse warnings in compat code\n\n  CHECK   net/ipv4/netfilter/ip_tables.c\nnet/ipv4/netfilter/ip_tables.c:1453:8: warning: incorrect type in argument 3 (different signedness)\nnet/ipv4/netfilter/ip_tables.c:1453:8:    expected int *size\nnet/ipv4/netfilter/ip_tables.c:1453:8:    got unsigned int [usertype] *size\nnet/ipv4/netfilter/ip_tables.c:1458:44: warning: incorrect type in argument 3 (different signedness)\nnet/ipv4/netfilter/ip_tables.c:1458:44:    expected int *size\nnet/ipv4/netfilter/ip_tables.c:1458:44:    got unsigned int [usertype] *size\nnet/ipv4/netfilter/ip_tables.c:1603:2: warning: incorrect type in argument 2 (different signedness)\nnet/ipv4/netfilter/ip_tables.c:1603:2:    expected unsigned int *i\nnet/ipv4/netfilter/ip_tables.c:1603:2:    got int *\u003cnoident\u003e\nnet/ipv4/netfilter/ip_tables.c:1627:8: warning: incorrect type in argument 3 (different signedness)\nnet/ipv4/netfilter/ip_tables.c:1627:8:    expected int *size\nnet/ipv4/netfilter/ip_tables.c:1627:8:    got unsigned int *size\nnet/ipv4/netfilter/ip_tables.c:1634:40: warning: incorrect type in argument 3 (different signedness)\nnet/ipv4/netfilter/ip_tables.c:1634:40:    expected int *size\nnet/ipv4/netfilter/ip_tables.c:1634:40:    got unsigned int *size\nnet/ipv4/netfilter/ip_tables.c:1653:8: warning: incorrect type in argument 5 (different signedness)\nnet/ipv4/netfilter/ip_tables.c:1653:8:    expected unsigned int *i\nnet/ipv4/netfilter/ip_tables.c:1653:8:    got int *\u003cnoident\u003e\nnet/ipv4/netfilter/ip_tables.c:1666:2: warning: incorrect type in argument 2 (different signedness)\nnet/ipv4/netfilter/ip_tables.c:1666:2:    expected unsigned int *i\nnet/ipv4/netfilter/ip_tables.c:1666:2:    got int *\u003cnoident\u003e\n  CHECK   net/ipv4/netfilter/arp_tables.c\nnet/ipv4/netfilter/arp_tables.c:1285:40: warning: incorrect type in argument 3 (different signedness)\nnet/ipv4/netfilter/arp_tables.c:1285:40:    expected int *size\nnet/ipv4/netfilter/arp_tables.c:1285:40:    got unsigned int *size\nnet/ipv4/netfilter/arp_tables.c:1543:44: warning: incorrect type in argument 3 (different signedness)\nnet/ipv4/netfilter/arp_tables.c:1543:44:    expected int *size\nnet/ipv4/netfilter/arp_tables.c:1543:44:    got unsigned int [usertype] *size\n  CHECK   net/ipv6/netfilter/ip6_tables.c\nnet/ipv6/netfilter/ip6_tables.c:1481:8: warning: incorrect type in argument 3 (different signedness)\nnet/ipv6/netfilter/ip6_tables.c:1481:8:    expected int *size\nnet/ipv6/netfilter/ip6_tables.c:1481:8:    got unsigned int [usertype] *size\nnet/ipv6/netfilter/ip6_tables.c:1486:44: warning: incorrect type in argument 3 (different signedness)\nnet/ipv6/netfilter/ip6_tables.c:1486:44:    expected int *size\nnet/ipv6/netfilter/ip6_tables.c:1486:44:    got unsigned int [usertype] *size\nnet/ipv6/netfilter/ip6_tables.c:1631:2: warning: incorrect type in argument 2 (different signedness)\nnet/ipv6/netfilter/ip6_tables.c:1631:2:    expected unsigned int *i\nnet/ipv6/netfilter/ip6_tables.c:1631:2:    got int *\u003cnoident\u003e\nnet/ipv6/netfilter/ip6_tables.c:1655:8: warning: incorrect type in argument 3 (different signedness)\nnet/ipv6/netfilter/ip6_tables.c:1655:8:    expected int *size\nnet/ipv6/netfilter/ip6_tables.c:1655:8:    got unsigned int *size\nnet/ipv6/netfilter/ip6_tables.c:1662:40: warning: incorrect type in argument 3 (different signedness)\nnet/ipv6/netfilter/ip6_tables.c:1662:40:    expected int *size\nnet/ipv6/netfilter/ip6_tables.c:1662:40:    got unsigned int *size\nnet/ipv6/netfilter/ip6_tables.c:1680:8: warning: incorrect type in argument 5 (different signedness)\nnet/ipv6/netfilter/ip6_tables.c:1680:8:    expected unsigned int *i\nnet/ipv6/netfilter/ip6_tables.c:1680:8:    got int *\u003cnoident\u003e\nnet/ipv6/netfilter/ip6_tables.c:1693:2: warning: incorrect type in argument 2 (different signedness)\nnet/ipv6/netfilter/ip6_tables.c:1693:2:    expected unsigned int *i\nnet/ipv6/netfilter/ip6_tables.c:1693:2:    got int *\u003cnoident\u003e\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "96eb24d770381b8a257b26183f6b6c131ad51ab9",
      "tree": "77b7404c94e3aaad43d45d679b6eeb3aadc1edb1",
      "parents": [
        "06aa10728e36265cce82a53de025ad1aa672b2b0"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "shemminger@vyatta.com",
        "time": "Thu Jan 31 04:07:29 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jan 31 19:27:44 2008 -0800"
      },
      "message": "[NETFILTER]: nf_conntrack: sparse warnings\n\nThe hashtable size is really unsigned so sparse complains when you pass\na signed integer.  Change all uses to make it consistent.\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "edc26f7aaa23591c779d6d6fc833c0c96fbeb3c0",
      "tree": "4ba051cb54853003e308f70f69dad58a25a07753",
      "parents": [
        "37c08387fc31a0fe7a570664c93be4f1c1bc0c94"
      ],
      "author": {
        "name": "Jan Engelhardt",
        "email": "jengelh@computergmbh.de",
        "time": "Thu Jan 31 04:06:38 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jan 31 19:27:43 2008 -0800"
      },
      "message": "[NETFILTER]: xt_owner: allow matching UID/GID ranges\n\nAdd support for ranges to the new revision. This doesn\u0027t affect\ncompatibility since the new revision was not released yet.\n\nSigned-off-by: Jan Engelhardt \u003cjengelh@computergmbh.de\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "9ea0cb2601c4747dff758a9a7a5a4a433ad527f3",
      "tree": "3a8c85473b3f96abf54aefde3d90fd4a3878e609",
      "parents": [
        "79df341ab6c0b1eab77921265ddd1b17ec4db13a"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@sw.ru",
        "time": "Thu Jan 31 04:05:09 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jan 31 19:27:41 2008 -0800"
      },
      "message": "[NETFILTER]: arp_tables: per-netns arp_tables FILTER\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@sw.ru\u003e\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "79df341ab6c0b1eab77921265ddd1b17ec4db13a",
      "tree": "8a9607a237767a768e33b9113a93b589fb2e1ee4",
      "parents": [
        "8280aa6182f03c4e27dc235ce0440bc94927dc28"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@sw.ru",
        "time": "Thu Jan 31 04:04:32 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jan 31 19:27:40 2008 -0800"
      },
      "message": "[NETFILTER]: arp_tables: netns preparation\n\n* Propagate netns from userspace.\n* arpt_register_table() registers table in supplied netns.\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@sw.ru\u003e\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "8280aa6182f03c4e27dc235ce0440bc94927dc28",
      "tree": "aff3a05fabf07b8bb17d0e0867a48fdcf4921045",
      "parents": [
        "336b517fdc0f92f54a3f77a2d0933f9556aa79ad"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@sw.ru",
        "time": "Thu Jan 31 04:04:13 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jan 31 19:27:39 2008 -0800"
      },
      "message": "[NETFILTER]: ip6_tables: per-netns IPv6 FILTER, MANGLE, RAW\n\nNow it\u0027s possible to list and manipulate per-netns ip6tables rules.\nFiltering decisions are based on init_net\u0027s table so far.\n\nP.S.: remove init_net check in inet6_create() to see the effect\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@sw.ru\u003e\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "336b517fdc0f92f54a3f77a2d0933f9556aa79ad",
      "tree": "49fe68be0a741de7370196be70afaa71a990e38f",
      "parents": [
        "9335f047fe61587ec82ff12fbb1220bcfdd32006"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@sw.ru",
        "time": "Thu Jan 31 04:03:45 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jan 31 19:27:39 2008 -0800"
      },
      "message": "[NETFILTER]: ip6_tables: netns preparation\n\n* Propagate netns from userspace down to xt_find_table_lock()\n* Register ip6 tables in netns (modules still use init_net)\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@sw.ru\u003e\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "9335f047fe61587ec82ff12fbb1220bcfdd32006",
      "tree": "7200b38dfecbc1a7c21f39a62c88f4e154de2777",
      "parents": [
        "34bd137ba744c2e3a320ff50ac64ae51556cdfae"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@sw.ru",
        "time": "Thu Jan 31 04:03:23 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jan 31 19:27:38 2008 -0800"
      },
      "message": "[NETFILTER]: ip_tables: per-netns FILTER, MANGLE, RAW\n\nNow, iptables show and configure different set of rules in different\nnetnss\u0027. Filtering decisions are still made by consulting only\ninit_net\u0027s set.\n\nChanges are identical except naming so no splitting.\n\nP.S.: one need to remove init_net checks in nf_sockopt.c and inet_create()\n      to see the effect.\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@sw.ru\u003e\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "44d34e721e2c81ccdfb13cf34996309247ae2981",
      "tree": "fec2063c8573700fd01cb6c11875769751744603",
      "parents": [
        "8d870052079d255917ec4f8431f5ec102707b7af"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@sw.ru",
        "time": "Thu Jan 31 04:02:44 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jan 31 19:27:36 2008 -0800"
      },
      "message": "[NETFILTER]: x_tables: return new table from {arp,ip,ip6}t_register_table()\n\nTypical table module registers xt_table structure (i.e. packet_filter)\nand link it to list during it. We can\u0027t use one template for it because\ncorresponding list_head will become corrupted. We also can\u0027t unregister\nwith template because it wasn\u0027t changed at all and thus doesn\u0027t know in\nwhich list it is.\n\nSo, we duplicate template at the very first step of table registration.\nTable modules will save it for use during unregistration time and actual\nfiltering.\n\nDo it at once to not screw bisection.\n\nP.S.: renaming i.e. packet_filter \u003d\u003e __packet_filter is temporary until\n      full netnsization of table modules is done.\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@sw.ru\u003e\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "8d870052079d255917ec4f8431f5ec102707b7af",
      "tree": "77ab4f07ef4980d179c4e47d3a6e034c055f9bdf",
      "parents": [
        "a98da11d88dbec1d5cebe2c6dbe9939ed8d13f69"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@sw.ru",
        "time": "Thu Jan 31 04:02:13 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jan 31 19:27:35 2008 -0800"
      },
      "message": "[NETFILTER]: x_tables: per-netns xt_tables\n\nIn fact all we want is per-netns set of rules, however doing that will\nunnecessary complicate routines such as ipt_hook()/ipt_do_table, so\nmake full xt_table array per-netns.\n\nEvery user stubbed with init_net for a while.\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@sw.ru\u003e\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "a98da11d88dbec1d5cebe2c6dbe9939ed8d13f69",
      "tree": "25244c2368a90e1f9bf4b478829590a52b0b5e8c",
      "parents": [
        "30083c9500b8aa3bc48579eaadb5068ad057afbd"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@sw.ru",
        "time": "Thu Jan 31 04:01:49 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jan 31 19:27:35 2008 -0800"
      },
      "message": "[NETFILTER]: x_tables: change xt_table_register() return value convention\n\nSwitch from 0/-E to ptr/PTR_ERR convention.\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@sw.ru\u003e\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "abfdf1c48907f78ad7d943b77ea180bf5504564f",
      "tree": "a86caaae9c3c70b7a07f2abb10e854d3153e8124",
      "parents": [
        "000e8a53540b75a885efeb00ec1f1cb3c8d0bead"
      ],
      "author": {
        "name": "Jan Engelhardt",
        "email": "jengelh@computergmbh.de",
        "time": "Thu Jan 31 03:59:24 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jan 31 19:27:33 2008 -0800"
      },
      "message": "[NETFILTER]: ebtables: remove casts, use consts\n\nSigned-off-by: Jan Engelhardt \u003cjengelh@computergmbh.de\u003e\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "000e8a53540b75a885efeb00ec1f1cb3c8d0bead",
      "tree": "e5a9b4451e4d1bf51c697f540f3d254b23ec9d4e",
      "parents": [
        "b41649989c9640e54e47001994b7ecb927ea1822"
      ],
      "author": {
        "name": "Helge Deller",
        "email": "deller@gmx.de",
        "time": "Thu Jan 31 03:58:56 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jan 31 19:27:32 2008 -0800"
      },
      "message": "[NETFILTER]: nf_log: add netfilter gcc printf format checking\n\nSigned-off-by: Helge Deller \u003cdeller@gmx.de\u003e\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b41649989c9640e54e47001994b7ecb927ea1822",
      "tree": "4c733dd12a1d8f95ac05c431fb64a1eb7cd7e59e",
      "parents": [
        "41d0cdedd5d0a067069a1559315aa9bfdf00794a"
      ],
      "author": {
        "name": "Jan Engelhardt",
        "email": "jengelh@computergmbh.de",
        "time": "Thu Jan 31 03:58:24 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jan 31 19:27:31 2008 -0800"
      },
      "message": "[NETFILTER]: xt_conntrack: add port and direction matching\n\nExtend the xt_conntrack match revision 1 by port matching (all four\n{orig,repl}{src,dst}) and by packet direction matching.\n\nSigned-off-by: Jan Engelhardt \u003cjengelh@computergmbh.de\u003e\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "c82a5cb8b2b2ce15f1fb8add6772921b72da5943",
      "tree": "beb56c156e70c1c7ca106b8a7134b05ac99e6a67",
      "parents": [
        "2fd8e526f44beaf439f351b310648b559e62a7cb"
      ],
      "author": {
        "name": "Jan Engelhardt",
        "email": "jengelh@computergmbh.de",
        "time": "Thu Jan 31 03:57:36 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jan 31 19:27:30 2008 -0800"
      },
      "message": "linux/types.h: Use __u64 for aligned_u64\n\nSigned-off-by: Jan Engelhardt \u003cjengelh@computergmbh.de\u003e\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "2fd8e526f44beaf439f351b310648b559e62a7cb",
      "tree": "aae812290eef88f76efd682d8e4dd3cde67bd046",
      "parents": [
        "d44caf88e8f7906a4f99dbfc92108d660cfcd280"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Thu Jan 31 03:56:35 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jan 31 19:27:29 2008 -0800"
      },
      "message": "[NETFILTER]: bridge netfilter: remove nf_bridge_info read-only netoutdev member\n\nBefore the removal of the deferred output hooks, netoutdev was used in\ncase of VLANs on top of a bridge to store the VLAN device, so the\ndeferred hooks would see the correct output device. This isn\u0027t\nnecessary anymore since we\u0027re calling the output hooks for the correct\ndevice directly in the IP stack.\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "ecb6f85e11627a0fb26a7e2db0d3603c0d602937",
      "tree": "c8cd4e23bb646fbab3e0d8f3ddc6535cff297b1d",
      "parents": [
        "ca7c48ca97e5e1d9dbc26cef165814f96d38d96b"
      ],
      "author": {
        "name": "Jan Engelhardt",
        "email": "jengelh@computergmbh.de",
        "time": "Thu Jan 31 03:54:47 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jan 31 19:27:28 2008 -0800"
      },
      "message": "[NETFILTER]: Use const in struct xt_match, xt_target, xt_table\n\nSigned-off-by: Jan Engelhardt \u003cjengelh@computergmbh.de\u003e\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "3046d76746311ac7ff0cdc3ec42db15730528dbf",
      "tree": "575b92705383d8ae67aee0511cdbf46bb4de9ef9",
      "parents": [
        "8cd850efa4948d57a2ed836911cfd1ab299e89c6"
      ],
      "author": {
        "name": "Denis V. Lunev",
        "email": "den@openvz.org",
        "time": "Thu Jan 31 03:48:55 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jan 31 19:27:26 2008 -0800"
      },
      "message": "[RAW]: Wrong content of the /proc/net/raw6.\n\nThe address of IPv6 raw sockets was shown in the wrong format, from\nIPv4 ones.  The problem has been introduced by the commit\n42a73808ed4f30b739eb52bcbb33a02fe62ceef5 (\"[RAW]: Consolidate proc\ninterface.\")\n\nThanks to Adrian Bunk who originally noticed the problem.\n\nSigned-off-by: Denis V. Lunev \u003cden@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "377cf82d66ea43f3d3cb82c2563e65b5c12c9bfd",
      "tree": "9bce5ff5153b91104dcf560626a12289d013809e",
      "parents": [
        "b1641064a3f4a58644bc2e8edf40c025c58473b4"
      ],
      "author": {
        "name": "Denis V. Lunev",
        "email": "den@openvz.org",
        "time": "Thu Jan 31 03:46:12 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jan 31 19:27:24 2008 -0800"
      },
      "message": "[RAW]: Family check in the /proc/net/raw[6] is extra.\n\nDifferent hashtables are used for IPv6 and IPv4 raw sockets, so no\nneed to check the socket family in the iterator over hashtables. Clean\nthis out.\n\nSigned-off-by: Denis V. Lunev \u003cden@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "533cb5b0a63f28ecab5503cfceb77e641fa7f7c4",
      "tree": "62e7d7c65776c5fb30a8ff10fb3049e63257331c",
      "parents": [
        "2216b48376c40cf6984398d478a01b55e76c5434"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "dada1@cosmosbay.com",
        "time": "Wed Jan 30 19:11:50 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jan 31 19:27:20 2008 -0800"
      },
      "message": "[XFRM]: constify \u0027struct xfrm_type\u0027\n\nSigned-off-by: Eric Dumazet \u003cdada1@cosmosbay.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "4a19ec5800fc3bb64e2d87c4d9fdd9e636086fe0",
      "tree": "610bd4e7dbcbdae25ba3806f4256745e98617825",
      "parents": [
        "036c2e27bc3a6498afb35de017d810194032d765"
      ],
      "author": {
        "name": "Laszlo Attila Toth",
        "email": "panther@balabit.hu",
        "time": "Wed Jan 30 19:08:16 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jan 31 19:27:19 2008 -0800"
      },
      "message": "[NET]: Introducing socket mark socket option.\n\nA userspace program may wish to set the mark for each packets its send\nwithout using the netfilter MARK target. Changing the mark can be used\nfor mark based routing without netfilter or for packet filtering.\n\nIt requires CAP_NET_ADMIN capability.\n\nSigned-off-by: Laszlo Attila Toth \u003cpanther@balabit.hu\u003e\nAcked-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "1a6509d991225ad210de54c63314fd9542922095",
      "tree": "afe5c560388558bebd3e21b7c6f789a28a323a51",
      "parents": [
        "6fbf2cb77461a0cd0675228d20dd0f70d7b2251f"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Mon Jan 28 19:37:29 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jan 31 19:27:03 2008 -0800"
      },
      "message": "[IPSEC]: Add support for combined mode algorithms\n\nThis patch adds support for combined mode algorithms with GCM being\nthe first algorithm supported.\n\nCombined mode algorithms can be added through the xfrm_user interface\nusing the new algorithm payload type XFRMA_ALG_AEAD.  Each algorithms\nis identified by its name and the ICV length.\n\nFor the purposes of matching algorithms in xfrm_tmpl structures,\ncombined mode algorithms occupy the same name space as encryption\nalgorithms.  This is in line with how they are negotiated using IKE.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "38320c70d282be1997a5204c7c7fe14c3aa6bfaa",
      "tree": "aa86d8c3e26a3cc6d283a31b21116a35c7659f8f",
      "parents": [
        "bf164cc054d568fa7889ffab41d3b091f5758c75"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Mon Jan 28 19:35:05 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jan 31 19:27:02 2008 -0800"
      },
      "message": "[IPSEC]: Use crypto_aead and authenc in ESP\n\nThis patch converts ESP to use the crypto_aead interface and in particular\nthe authenc algorithm.  This lays the foundations for future support of\ncombined mode algorithms.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "3692e94f1559523b84a5a0e65929ee84b276e83f",
      "tree": "19e1c018d5f7dbebd0c22dd5ddb2876ea7354e12",
      "parents": [
        "039ee17d1baabaa21783a0d5ab3e8c6d8c794bdf"
      ],
      "author": {
        "name": "Jussi Kivilinna",
        "email": "jussi.kivilinna@mbnet.fi",
        "time": "Sat Jan 26 00:51:45 2008 +0200"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jan 31 19:27:00 2008 -0800"
      },
      "message": "Move usbnet.h and rndis_host.h to include/linux/usb\n\nMove headers usbnet.h and rndis_host.h to include/linux/usb and fix includes\nfor drivers/net/usb modules. Headers are moved because rndis_wlan will be\noutside drivers/net/usb in drivers/net/wireless and yet need these headers.\n\nSigned-off-by: Jussi Kivilinna \u003cjussi.kivilinna@mbnet.fi\u003e\nAcked-by: David Brownell \u003cdbrownell@users.sourceforge.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "303d9bf6bb64ead8e3f1d7e29904a4025502e591",
      "tree": "c33cc180a0f5084bcb1c2e8921cab35eb9aea476",
      "parents": [
        "09552ccd8277e6382097e93a40f7311a09449367"
      ],
      "author": {
        "name": "Iñaky Pérez-González",
        "email": "inaky.perez-gonzalez@intel.com",
        "time": "Wed Jan 23 13:40:27 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jan 31 19:26:46 2008 -0800"
      },
      "message": "rfkill: add the WiMAX radio type\n\nTeach rfkill about wimax radios.\n\nHad to define a KEY_WIMAX as a \u0027key for disabling only wimax radios\u0027,\nas other radio technologies have. This makes sense as hardware has\nspecific keys for disabling specific radios.\n\nThe RFKILL enabling part is, otherwise, a copy and paste of any other\nradio technology.\n\nSigned-off-by: Inaky Perez-Gonzalez \u003cinaky@linux.intel.com\u003e\nSigned-off-by: Ivo van Doorn \u003cIvDoorn@gmail.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "75659ca0c10992dcb39258518368a0f6f56e935d",
      "tree": "5d014ceb2f10158061a23d0d976f9a613d85e659",
      "parents": [
        "fbdde7bd274d74729954190f99afcb1e3d9bbfba",
        "2dfe485a2c8afa54cb069fcf48476f6c90ea3fdf"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Feb 01 11:45:47 2008 +1100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Feb 01 11:45:47 2008 +1100"
      },
      "message": "Merge branch \u0027task_killable\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/willy/misc\n\n* \u0027task_killable\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/willy/misc: (22 commits)\n  Remove commented-out code copied from NFS\n  NFS: Switch from intr mount option to TASK_KILLABLE\n  Add wait_for_completion_killable\n  Add wait_event_killable\n  Add schedule_timeout_killable\n  Use mutex_lock_killable in vfs_readdir\n  Add mutex_lock_killable\n  Use lock_page_killable\n  Add lock_page_killable\n  Add fatal_signal_pending\n  Add TASK_WAKEKILL\n  exit: Use task_is_*\n  signal: Use task_is_*\n  sched: Use task_contributes_to_load, TASK_ALL and TASK_NORMAL\n  ptrace: Use task_is_*\n  power: Use task_is_*\n  wait: Use TASK_NORMAL\n  proc/base.c: Use task_is_*\n  proc/array.c: Use TASK_REPORT\n  perfmon: Use task_is_*\n  ...\n\nFixed up conflicts in NFS/sunrpc manually..\n"
    },
    {
      "commit": "e1a9c9872dd004617555dff079b357a6ffd945e9",
      "tree": "c34779e59712ff345f8e4ee97e74086a85b34974",
      "parents": [
        "fcc3ff4f9d695a80dc6e6058e0d631a3026ed4c3",
        "2ecba4ffbbc6c85fce8c3878514be415edace413"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Feb 01 10:16:28 2008 +1100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Feb 01 10:16:28 2008 +1100"
      },
      "message": "Merge branch \u0027linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/perex/alsa\n\n* \u0027linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/perex/alsa: (299 commits)\n  [ALSA] version 1.0.16rc2\n  [ALSA] hda: fix Mic in as output\n  [ALSA] emu10k1 - Another EMU0404 Board ID\n  [ALSA] emu10k1 - Fix kthread handling at resume\n  [ALSA] emu10k1: General cleanup, add new locks, fix alsa bug#3501, kernel bug#9304.\n  [ALSA] emu10k1 - Use enum for emu_model types\n  [ALSA] emu10k1 - Don\u0027t create emu1010 controls for non-emu boards\n  [ALSA] emu10k1 - 1616(M) cardbus improvements\n  [ALSA] snd:emu10k1: E-Mu updates. Fixes to firmware loading and support for 0404.\n  [ALSA] emu10k1: Add comments regarding E-Mu ins and outs.\n  [ALSA] oxygen: revert SPI clock frequency change for AK4396/WM8785\n  [ALSA] es1938 - improve capture hw pointer reads\n  [ALSA] HDA-Intel - Add support for Intel SCH\n  [ALSA] hda: Add GPIO mute support to STAC9205\n  [ALSA] hda-codec - Add Dell T3400 support\n  [ALSA] hda-codec - Add model for HP DV9553EG laptop\n  [ALSA] hda-codec - Control SPDIF as slave\n  [ALSA] hda_intel: ALSA HD Audio patch for Intel ICH10 DeviceID\u0027s\n  [ALSA] Fix Oops with PCM OSS sync\n  [ALSA] hda-codec - Add speaker automute to ALC262 HP models\n  ...\n"
    },
    {
      "commit": "62152d0ea7012382cd814c7b361b4ef2029f26e6",
      "tree": "2552f298c9c5c1f9be6d863d58ab5b4c0b24c37f",
      "parents": [
        "5aa0508508e7cd62bec6e3933b86fce03d2e8502"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Jan 31 22:05:48 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Jan 31 22:05:48 2008 +0100"
      },
      "message": "asm-generic/tlb.h: build fix\n\nbring back the avr32, blackfin, sh, sparc architectures into working order,\nby reverting the effects of this change that came in via the x86 tree:\n\n   commit a5a19c63f4e55e32dc0bc3d936d7f94793d8b380\n   Author: Jeremy Fitzhardinge \u003cjeremy@goop.org\u003e\n   Date:   Wed Jan 30 13:33:39 2008 +0100\n\n       x86: demacro asm-x86/pgalloc_32.h\n\nSorry about that!\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "5aa0508508e7cd62bec6e3933b86fce03d2e8502",
      "tree": "575c16be2d09315f18dfba35df878f98b3d31440",
      "parents": [
        "072b7a58ca534a667f9649ead1628dfb20087e4b"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Jan 31 22:05:48 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Jan 31 22:05:48 2008 +0100"
      },
      "message": "x86: uninline __pte_free_tlb() and __pmd_free_tlb()\n\nthis also removes an include file dependency.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    }
  ],
  "next": "2ecba4ffbbc6c85fce8c3878514be415edace413"
}
