)]}'
{
  "log": [
    {
      "commit": "e231c2ee64eb1c5cd3c63c31da9dac7d888dcf7f",
      "tree": "d4b17ef65960594681397a3acac02c2d248200b5",
      "parents": [
        "d1bc8e95445224276d7896b8b08cbb0b28a0ca80"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Thu Feb 07 00:15:26 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Feb 07 08:42:26 2008 -0800"
      },
      "message": "Convert ERR_PTR(PTR_ERR(p)) instances to ERR_CAST(p)\n\nConvert instances of ERR_PTR(PTR_ERR(p)) to ERR_CAST(p) using:\n\nperl -spi -e \u0027s/ERR_PTR[(]PTR_ERR[(](.*)[)][)]/ERR_CAST(\\1)/\u0027 `grep -rl \u0027ERR_PTR[(]*PTR_ERR\u0027 fs crypto net security`\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "727674435470537a5e75e5f81f96d5d97de57956",
      "tree": "30a150314968aed6166ee5b2ac4db85d48d75287",
      "parents": [
        "8a0dc95fd976a052e5e799ef33e6c8e3141b5dff"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@linux-foundation.org",
        "time": "Wed Feb 06 19:25:01 2008 -0600"
      },
      "committer": {
        "name": "Eric Van Hensbergen",
        "email": "ericvh@opteron.homeip.net",
        "time": "Wed Feb 06 19:25:01 2008 -0600"
      },
      "message": "9p: fix p9_printfcall export\n\nERROR: \"p9_printfcall\" [net/9p/9pnet_virtio.ko] undefined!\n\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nAcked-by: Eric Van Hensbergen \u003cericvh@gmail.com\u003e\n\n"
    },
    {
      "commit": "8a0dc95fd976a052e5e799ef33e6c8e3141b5dff",
      "tree": "3275903539244acd76c716662c324833aa419377",
      "parents": [
        "f39335453fe79f4e12e263e7c6387dc9fb86bfff"
      ],
      "author": {
        "name": "Eric Van Hensbergen",
        "email": "ericvh@opteron.homeip.net",
        "time": "Wed Feb 06 19:25:03 2008 -0600"
      },
      "committer": {
        "name": "Eric Van Hensbergen",
        "email": "ericvh@opteron.homeip.net",
        "time": "Wed Feb 06 19:25:03 2008 -0600"
      },
      "message": "9p: transport API reorganization\n\nThis merges the mux.c (including the connection interface) with trans_fd\nin preparation for transport API changes.  Ultimately, trans_fd will need\nto be rewritten to clean it up and simplify the implementation, but this\nreorganization is viewed as the first step.\n\nSigned-off-by: Eric Van Hensbergen \u003cericvh@gmail.com\u003e\n\n"
    },
    {
      "commit": "f39335453fe79f4e12e263e7c6387dc9fb86bfff",
      "tree": "ba28cdf9097527437086d2197e515a78d6359ff1",
      "parents": [
        "dea7bbb603735ceceb07bb370eca17198faf7c8d"
      ],
      "author": {
        "name": "Eric Van Hensbergen",
        "email": "ericvh@ericvh-desktop.(none)",
        "time": "Wed Feb 06 19:25:04 2008 -0600"
      },
      "committer": {
        "name": "Eric Van Hensbergen",
        "email": "ericvh@opteron.homeip.net",
        "time": "Wed Feb 06 19:25:04 2008 -0600"
      },
      "message": "9p: add remove function to trans_virtio\n\nRequest from rusty:\nJust cleaning up patches for 2.6.25 merge, and noticed that\nnet/9p/trans_virtio.c doesn\u0027t have a remove function.  This will crash when\nremoving the module (console doesn\u0027t have one because it can\u0027t really be\nremoved).\n\nSigned-off-by: Eric Van Hensbergen \u003cericvh@gmail.com\u003e\n\n"
    },
    {
      "commit": "dea7bbb603735ceceb07bb370eca17198faf7c8d",
      "tree": "9792ffca08225d8b1b19c250c33dd2b74441698f",
      "parents": [
        "14b8869ff4f00f105ea76678997b4d49d27baae3"
      ],
      "author": {
        "name": "Anthony Liguori",
        "email": "aliguori@us.ibm.com",
        "time": "Wed Feb 06 19:25:04 2008 -0600"
      },
      "committer": {
        "name": "Eric Van Hensbergen",
        "email": "ericvh@opteron.homeip.net",
        "time": "Wed Feb 06 19:25:04 2008 -0600"
      },
      "message": "9p: Convert semaphore to spinlock for p9_idpool\n\nWhen booting from v9fs, down_interruptible in p9_idpool_get() triggered a BUG\nas it was being called with IRQs disabled.  A spinlock seems like the right\nthing to be using since the idr functions go out of their way not to sleep.\n\nThis patch eliminates the BUG by converting the semaphore to a spinlock.\n\nSigned-off-by: Anthony Liguori \u003caliguori@us.ibm.com\u003e\nAcked-by: Eric Van Hensbergen \u003cericvh@gmail.com\u003e\n\n"
    },
    {
      "commit": "7c7d90f2dda6daec5a6aaf8f97aacc10ee4deb77",
      "tree": "918b84a88cb4515de1e46125534e6a266f567b29",
      "parents": [
        "c55703d807a8c6c239a5fea7b9cd7da08c27d7a9"
      ],
      "author": {
        "name": "Eric Van Hensbergen",
        "email": "ericvh@opteron.homeip.net",
        "time": "Wed Feb 06 19:25:07 2008 -0600"
      },
      "committer": {
        "name": "Eric Van Hensbergen",
        "email": "ericvh@opteron.homeip.net",
        "time": "Wed Feb 06 19:25:07 2008 -0600"
      },
      "message": "9p: Fix soft lockup in virtio transport\n\nThis fixes a poorly placed spinlock which could result in a\nsoft lockup condition.\n\nSigned-off-by: Eric Van Hensbergen \u003cericvh@gmail.com\u003e\n\n"
    },
    {
      "commit": "e2735b7720320b68590ca2b32b78ca91213931b2",
      "tree": "fcc260ada01dc7b1d0304aaf34a2a8f21cdc93fd",
      "parents": [
        "043aba403e9958c6526c9279b63919273cb09c13"
      ],
      "author": {
        "name": "Eric Van Hensbergen",
        "email": "ericvh@gmail.com",
        "time": "Wed Feb 06 19:25:58 2008 -0600"
      },
      "committer": {
        "name": "Eric Van Hensbergen",
        "email": "ericvh@opteron.homeip.net",
        "time": "Wed Feb 06 19:25:58 2008 -0600"
      },
      "message": "9p: block-based virtio client\n\nThis replaces the console-based virto client with a block-based\nclient using a single request queue.\n\nSigned-off-by: Eric Van Hensbergen \u003cericvh@gmail.com\u003e\n\n"
    },
    {
      "commit": "043aba403e9958c6526c9279b63919273cb09c13",
      "tree": "a8caca5d1d9691407588f2e8dc8a1200843c998f",
      "parents": [
        "afcf0c13aeac04a39fa4d1eafdb75604b81af860"
      ],
      "author": {
        "name": "Eric Van Hensbergen",
        "email": "ericvh@gmail.com",
        "time": "Wed Feb 06 19:25:09 2008 -0600"
      },
      "committer": {
        "name": "Eric Van Hensbergen",
        "email": "ericvh@opteron.homeip.net",
        "time": "Wed Feb 06 19:25:09 2008 -0600"
      },
      "message": "9p: create transport rpc cut-thru\n\nAdd a new transport function which allows a cut-thru directly to\nthe transport instead of processing request through the mux if the\ncut-thru exists.\n\nSigned-off-by: Eric Van Hensbergen \u003cericvh@gmail.com\u003e\n\n"
    },
    {
      "commit": "afcf0c13aeac04a39fa4d1eafdb75604b81af860",
      "tree": "9f3cab296191512f6bd3d88ca2a553fdaadd55f8",
      "parents": [
        "3e6bdf473f489664dac4d7511d26c7ac3dfdc748"
      ],
      "author": {
        "name": "Martin Stava",
        "email": "martin.stava@gmail.com",
        "time": "Tue Feb 05 09:27:09 2008 -0600"
      },
      "committer": {
        "name": "Eric Van Hensbergen",
        "email": "ericvh@opteron.homeip.net",
        "time": "Wed Feb 06 19:20:44 2008 -0600"
      },
      "message": "9p: fix bug in p9_clone_stat\n\nThis patch fixes a bug in the copying of 9P\nstat information where string references\nweren\u0027t being updated properly.\n\nSigned-off-by: Martin Sava \u003cmartin.stava@gmail.com\u003e\nSigned-off-by: Eric Van Hensbergen \u003cericvh@gmail.com\u003e\n"
    },
    {
      "commit": "9c1ca6e68a5d8d58776833b6496c0656a10be50c",
      "tree": "3aa8373b116eb37a5b5b6e918a97b008434f06dd",
      "parents": [
        "a29961b33b089cf4d252ac125891a2784d20ef2f"
      ],
      "author": {
        "name": "Sven Wegener",
        "email": "sven.wegener@stealer.net",
        "time": "Tue Feb 05 20:00:10 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Feb 05 20:00:10 2008 -0800"
      },
      "message": "ipvs: Make wrr \"no available servers\" error message rate-limited\n\nNo available servers is more an error message than something informational. It\nshould also be rate-limited, else we\u0027re going to flood our logs on a busy\ndirector, if all real servers are out of order with a weight of zero.\n\nSigned-off-by: Sven Wegener \u003csven.wegener@stealer.net\u003e\nAcked-by: Simon Horman \u003chorms@verge.net.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "a29961b33b089cf4d252ac125891a2784d20ef2f",
      "tree": "8fcaa56db74d1357b73ddebb33fadba410ed1439",
      "parents": [
        "731a0609df9cef35ae861d31004f50a02ebde6c2",
        "b79caa68c0d48477453a90d12be34b47cb75f3a8"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Feb 05 19:58:05 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Feb 05 19:58:05 2008 -0800"
      },
      "message": "Merge branch \u0027fixes\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/linville/wireless-2.6\n"
    },
    {
      "commit": "9ec138101f8a79007bc571174976a7814ed616f8",
      "tree": "1839f02b9cee63ebf10707a8d3c5da3f8e4f4213",
      "parents": [
        "181499356e5a9f0bcbd69adc3c6df450f6e2586d"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Tue Feb 05 16:21:04 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Feb 05 16:21:04 2008 -0800"
      },
      "message": "[NET_SCHED]: cls_flow: support classification based on VLAN tag\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "4f25049106e0507ff21a9e1fc0645d849e19faf0",
      "tree": "0bb28370f4ef81d89030e56df0cf192b778e67dd",
      "parents": [
        "0ea9d70df8f8be741ee0525490370de06163d2de"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Tue Feb 05 16:19:59 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Feb 05 16:19:59 2008 -0800"
      },
      "message": "[NET_SCHED]: cls_flow: fix key mask validity check\n\nSince we\u0027re using fls(), we need to check whether the value is\nnon-zero first.\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "0ea9d70df8f8be741ee0525490370de06163d2de",
      "tree": "6e5287dfe92165852c9b4b24e012e3cdf3fe52dd",
      "parents": [
        "21511abd0a248a3f225d3b611cfabb93124605a7"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Tue Feb 05 16:19:33 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Feb 05 16:19:33 2008 -0800"
      },
      "message": "[NET_SCHED]: em_meta: fix compile warning\n\nnet/sched/em_meta.c: In function \u0027meta_int_vlan_tag\u0027:\nnet/sched/em_meta.c:179: warning: \u0027tag\u0027 may be used uninitialized in this function\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "03ac7a8141e1613add92d42e389a35a126b1caf8",
      "tree": "b824efba91540fcefcadc8c61fb4adbc9e010d2c",
      "parents": [
        "221c80cf03d77490b8e45184a273834d0259b9e0"
      ],
      "author": {
        "name": "Michael Buesch",
        "email": "mb@bu3sch.de",
        "time": "Mon Feb 04 18:11:41 2008 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue Feb 05 14:35:47 2008 -0500"
      },
      "message": "mac80211: Is not EXPERIMENTAL anymore\n\nRemove the EXPERIMENTAL dependency, as the existing mac80211\nfeatures are stable.\n\nSigned-off-by: Michael Buesch \u003cmb@bu3sch.de\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "3d412f60b71e588544e7b75861084f12aa1d7acd",
      "tree": "cd527e396da9e85dcf85e14c4fabfe29e61ff5d0",
      "parents": [
        "3098a1801f8b92575a5cd69c77d9fa94ea504dde",
        "3113e88c3cb3c0a22920b621f8e4d1f2ccc07f1e"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Feb 05 10:09:07 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Feb 05 10:09:07 2008 -0800"
      },
      "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: (21 commits)\n  [PKT_SCHED]: vlan tag match\n  [NET]: Add if_addrlabel.h to sanitized headers.\n  [NET] rtnetlink.c: remove no longer used functions\n  [ICMP]: Restore pskb_pull calls in receive function\n  [INET]: Fix accidentally broken inet(6)_hash_connect\u0027s port offset calculations.\n  [NET]: Remove further references to net-modules.txt\n  bluetooth rfcomm tty: destroy before tty_close()\n  bluetooth: blacklist another Broadcom BCM2035 device\n  drivers/bluetooth/btsdio.c: fix double-free\n  drivers/bluetooth/bpa10x.c: fix memleak\n  bluetooth: uninlining\n  bluetooth: hidp_process_hid_control remove unnecessary parameter dealing\n  tun: impossible to deassert IFF_ONE_QUEUE or IFF_NO_PI\n  hamradio: fix dmascc section mismatch\n  [SCTP]: Fix kernel panic while received AUTH chunk with BAD shared key identifier\n  [SCTP]: Fix kernel panic while received AUTH chunk while enabled auth\n  [IPV4]: Formatting fix for /proc/net/fib_trie.\n  [IPV6]: Fix sysctl compilation error.\n  [NET_SCHED]: Add #ifdef CONFIG_NET_EMATCH in net/sched/cls_flow.c (latest git broken build)\n  [IPV4]: Fix compile error building without CONFIG_FS_PROC\n  ...\n"
    },
    {
      "commit": "eda61d32e8ad1d9102872f9a0abf3344bf9c5e67",
      "tree": "d1c11a47c97b3f29d54021cd4aa9c0b8963ed0c8",
      "parents": [
        "97829955ad291acec1d8b94e9911b3ceb1118bb1"
      ],
      "author": {
        "name": "Paul Moore",
        "email": "paul.moore@hp.com",
        "time": "Mon Feb 04 22:29:47 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Feb 05 09:44:20 2008 -0800"
      },
      "message": "NetLabel: introduce a new kernel configuration API for NetLabel\n\nAdd a new set of configuration functions to the NetLabel/LSM API so that\nLSMs can perform their own configuration of the NetLabel subsystem without\nrelying on assistance from userspace.\n\nSigned-off-by: Paul Moore \u003cpaul.moore@hp.com\u003e\nSigned-off-by: Casey Schaufler \u003ccasey@schaufler-ca.com\u003e\nReviewed-by: James Morris \u003cjmorris@namei.org\u003e\nCc: Chris Wright \u003cchrisw@sous-sol.org\u003e\nCc: Stephen Smalley \u003csds@tycho.nsa.gov\u003e\nCc: Casey Schaufler \u003ccasey@schaufler-ca.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "3113e88c3cb3c0a22920b621f8e4d1f2ccc07f1e",
      "tree": "241192a6492a5254cd1a2fb8fff8e87969ef0420",
      "parents": [
        "dded91611a728d65721cdab3dd41d801a356fa15"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "shemminger@vyatta.com",
        "time": "Tue Feb 05 03:20:13 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Feb 05 03:20:13 2008 -0800"
      },
      "message": "[PKT_SCHED]: vlan tag match\n\nProvide a way to use tc filters on vlan tag even if tag is buried in\nskb due to hardware acceleration.\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "03245ce2f03228d681580c30c435225efadca602",
      "tree": "0126ae58202d2b8152992eb39b99a85b5b5806c0",
      "parents": [
        "8cf229437fd826c32a44546899412b1eb3e1db6f"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@kernel.org",
        "time": "Tue Feb 05 03:17:22 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Feb 05 03:17:22 2008 -0800"
      },
      "message": "[NET] rtnetlink.c: remove no longer used functions\n\nThis patch removes the following no longer used functions:\n- rtattr_parse()\n- rtattr_strlcpy()\n- __rtattr_parse_nested_compat()\n\nSigned-off-by: Adrian Bunk \u003cbunk@kernel.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "8cf229437fd826c32a44546899412b1eb3e1db6f",
      "tree": "3afef8d1a3839b1ede06c738a0847f06bb3da3dd",
      "parents": [
        "5d8c0aa9433b09387d9021358baef7939f9b32c4"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Tue Feb 05 03:15:50 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Feb 05 03:15:50 2008 -0800"
      },
      "message": "[ICMP]: Restore pskb_pull calls in receive function\n\nSomewhere along the development of my ICMP relookup patch the header\nlength check went AWOL on the non-IPsec path.  This patch restores the\ncheck.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "5d8c0aa9433b09387d9021358baef7939f9b32c4",
      "tree": "839a532abef00a33e3b2357340ad52cec92bce5f",
      "parents": [
        "2bfc79de2b6482955f0e352da7e53787dd8167c0"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Tue Feb 05 03:14:44 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Feb 05 03:14:44 2008 -0800"
      },
      "message": "[INET]: Fix accidentally broken inet(6)_hash_connect\u0027s port offset calculations.\n\nThe port offset calculations depend on the protocol family, but, as\nAdrian noticed, I broke this logic with the commit\n\n\t5ee31fc1ecdcbc234c8c56dcacef87c8e09909d8\n\t[INET]: Consolidate inet(6)_hash_connect.\n\nReturn this logic back, by passing the port offset directly into the\nconsolidated function.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nNoticed-by: Adrian Bunk \u003cbunk@kernel.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "93d807401ced2320d0d1e56bf9de099bba5c0424",
      "tree": "8d9a471779124e7dea089ec59933b20d4c7480f4",
      "parents": [
        "6e46c8cb3cbfa7bafe78d43a3d57750605a2dfa3"
      ],
      "author": {
        "name": "Dave Young",
        "email": "hidave.darkstar@gmail.com",
        "time": "Tue Feb 05 03:12:06 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Feb 05 03:12:06 2008 -0800"
      },
      "message": "bluetooth rfcomm tty: destroy before tty_close()\n\nrfcomm dev could be deleted in tty_hangup, so we must not call\nrfcomm_dev_del again to prevent from destroying rfcomm dev before tty\nclose.\n\nSigned-off-by: Dave Young \u003chidave.darkstar@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "91f5cca3d1b4341624715f6dd01ee09be9af46c4",
      "tree": "19e12d37244cbe39203586da26ef055b92abef49",
      "parents": [
        "eff001e35a857361f3fb289fea86e97c334a5446"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@linux-foundation.org",
        "time": "Tue Feb 05 03:07:58 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Feb 05 03:07:58 2008 -0800"
      },
      "message": "bluetooth: uninlining\n\nRemove all those inlines which were either a) unneeded or b) increased code\nsize.\n\n          text    data     bss     dec     hex filename\nbefore:   6997      74       8    7079    1ba7 net/bluetooth/hidp/core.o\nafter:    6492      74       8    6574    19ae net/bluetooth/hidp/core.o\n\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "eff001e35a857361f3fb289fea86e97c334a5446",
      "tree": "c7ec83833c94eab39fd844a36a51896a63878f8b",
      "parents": [
        "a26af1e08a3a1e0f88e6f2685ac2313d713a59c9"
      ],
      "author": {
        "name": "Dave Young",
        "email": "hidave.darkstar@gmail.com",
        "time": "Tue Feb 05 03:07:14 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Feb 05 03:07:14 2008 -0800"
      },
      "message": "bluetooth: hidp_process_hid_control remove unnecessary parameter dealing\n\nAccording to the bluetooth HID spec v1.0 chapter 7.4.2\n\n\"This code requests a major state change in a BT-HID device.  A HID_CONTROL\nrequest does not generate a HANDSHAKE response.\"\n\n\"A HID_CONTROL packet with a parameter of VIRTUAL_CABLE_UNPLUG is the only\nHID_CONTROL packet a device can send to a host.  A host will ignore all other\npackets.\"\n\nSo in the hidp_precess_hid_control function, we just need to deal with the\nUNLUG packet.\n\nSigned-off-by: Dave Young \u003chidave.darkstar@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "7cc08b55fc476a9474e4dc9da41071b5dc2b406e",
      "tree": "0fce947d2feb2242d644f800c69965b944733d0e",
      "parents": [
        "d2f19fa13ee5e78d4195a771f8f1ff7d42a80740"
      ],
      "author": {
        "name": "Wei Yongjun",
        "email": "yjwei@cn.fujitsu.com",
        "time": "Tue Feb 05 03:03:06 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Feb 05 03:03:06 2008 -0800"
      },
      "message": "[SCTP]: Fix kernel panic while received AUTH chunk with BAD shared key identifier\n\nIf SCTP-AUTH is enabled, received AUTH chunk with BAD shared key \nidentifier will cause kernel panic.\n\nTest as following:\nstep1: enabled /proc/sys/net/sctp/auth_enable\nstep 2:  connect  to SCTP server with auth capable. Association is \nestablished between endpoints. Then send a AUTH chunk with a bad \nshareid, SCTP server will kernel panic after received that AUTH chunk.\n\nSCTP client                   SCTP server\n  INIT         ----------\u003e  \n    (with auth capable)\n               \u003c----------    INIT-ACK\n                              (with auth capable)\n  COOKIE-ECHO  ----------\u003e\n               \u003c----------    COOKIE-ACK\n  AUTH         ----------\u003e\n\n\nAUTH chunk is like this:\n  AUTH chunk\n    Chunk type: AUTH (15)\n    Chunk flags: 0x00\n    Chunk length: 28\n    Shared key identifier: 10\n    HMAC identifier: SHA-1 (1)\n    HMAC: 0000000000000000000000000000000000000000\n\nThe assignment of NULL to key can safely be removed, since key_for_each \n(which is just list_for_each_entry under the covers does an initial \nassignment to key anyway).\n\nIf the endpoint_shared_keys list is empty, or if the key_id being \nrequested does not exist, the function as it currently stands returns \nthe actuall list_head (in this case endpoint_shared_keys.  Since that \nlist_head isn\u0027t surrounded by an actuall data structure, the last \niteration through list_for_each_entry will do a container_of on key, and \nwe wind up returning a bogus pointer, instead of NULL, as we should.\n\n\u003e Neil Horman wrote:\n\u003e\u003e On Tue, Jan 22, 2008 at 05:29:20PM +0900, Wei Yongjun wrote:\n\u003e\u003e\n\u003e\u003e FWIW, Ack from me.  The assignment of NULL to key can safely be \n\u003e\u003e removed, since\n\u003e\u003e key_for_each (which is just list_for_each_entry under the covers does \n\u003e\u003e an initial\n\u003e\u003e assignment to key anyway).\n\u003e\u003e If the endpoint_shared_keys list is empty, or if the key_id being \n\u003e\u003e requested does\n\u003e\u003e not exist, the function as it currently stands returns the actuall \n\u003e\u003e list_head (in\n\u003e\u003e this case endpoint_shared_keys.  Since that list_head isn\u0027t \n\u003e\u003e surrounded by an\n\u003e\u003e actuall data structure, the last iteration through \n\u003e\u003e list_for_each_entry will do a\n\u003e\u003e container_of on key, and we wind up returning a bogus pointer, \n\u003e\u003e instead of NULL,\n\u003e\u003e as we should.  Wei\u0027s patch corrects that.\n\u003e\u003e\n\u003e\u003e Regards\n\u003e\u003e Neil\n\u003e\u003e\n\u003e\u003e Acked-by: Neil Horman \u003cnhorman@tuxdriver.com\u003e\n\u003e\u003e\n\u003e\n\u003e Yep, the patch is correct.\n\u003e\n\u003e Acked-by: Vlad Yasevich \u003cvladislav.yasevich@hp.com\u003e\n\u003e\n\u003e -vlad\n\u003e\n\nSigned-off-by: Wei Yongjun \u003cyjwei@cn.fujitsu.com\u003e\nAcked-by: Neil Horman \u003cnhorman@tuxdriver.com\u003e\nAcked-by: Vlad Yasevich \u003cvladislav.yasevich@hp.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "d2f19fa13ee5e78d4195a771f8f1ff7d42a80740",
      "tree": "1faad0851f729cb8bf45b976cf3b28c5de9a2164",
      "parents": [
        "b9c4d82a853713d49ac53b507964d7cf30ee408d"
      ],
      "author": {
        "name": "Wei Yongjun",
        "email": "yjwei@cn.fujitsu.com",
        "time": "Tue Feb 05 03:02:26 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Feb 05 03:02:26 2008 -0800"
      },
      "message": "[SCTP]: Fix kernel panic while received AUTH chunk while enabled auth\n\nIf STCP is started while /proc/sys/net/sctp/auth_enable is set 0 and\nassociation is established between endpoints. Then if\n/proc/sys/net/sctp/auth_enable is set 1, a received AUTH chunk will\ncause kernel panic.\n\nTest as following:\nstep 1: echo 0\u003e /proc/sys/net/sctp/auth_enable\nstep 2:\n\n   SCTP client                  SCTP server\n      INIT          ---------\u003e\n                    \u003c---------   INIT-ACK\n      COOKIE-ECHO   ---------\u003e\n                    \u003c---------   COOKIE-ACK\nstep 3:\n    echo 1\u003e /proc/sys/net/sctp/auth_enable\nstep 4:\n   SCTP client                  SCTP server\n       AUTH        -----------\u003e  Kernel Panic\n\n\nThis patch fix this probleam to treat AUTH chunk as unknow chunk if peer \nhas initialized with no auth capable.\n\n\u003e Sorry for the delay.  Was on vacation without net access.\n\u003e\n\u003e Wei Yongjun wrote:\n\u003e\u003e\n\u003e\u003e\n\u003e\u003e This patch fix this probleam to treat AUTH chunk as unknow chunk if \n\u003e\u003e peer has initialized with no auth capable.\n\u003e\u003e\n\u003e\u003e Signed-off-by: Wei Yongjun \u003cyjwei@cn.fujitsu.com\u003e\n\u003e\n\u003e Acked-by: Vlad Yasevich \u003cvladislav.yasevich@hp.com\u003e\n\u003e\n\u003e\u003e\n\nSigned-off-by: Wei Yongjun \u003cyjwei@cn.fujitsu.com\u003e\nAcked-by: Vlad Yasevich \u003cvladislav.yasevich@hp.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b9c4d82a853713d49ac53b507964d7cf30ee408d",
      "tree": "7f01acfa76c7cdfddc71868e2ed343df78c4f4ac",
      "parents": [
        "6de1a9104034a2c58db3abdaf03cddb507225137"
      ],
      "author": {
        "name": "Denis V. Lunev",
        "email": "den@openvz.org",
        "time": "Tue Feb 05 02:58:45 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Feb 05 02:58:45 2008 -0800"
      },
      "message": "[IPV4]: Formatting fix for /proc/net/fib_trie.\n\nThe line in the /proc/net/fib_trie for route with TOS specified\n- has extra \\n at the end\n- does not have a space after route scope\nlike below.\n           |-- 1.1.1.1\n              /32 universe UNICASTtos \u003d1\n\nSigned-off-by: Denis V. Lunev \u003cden@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "0aead543479e7f20013217fe3fc33a604fdd8944",
      "tree": "ca02be1f38085de89b1ed42d845ed2c1a450ffad",
      "parents": [
        "cc8274f50f2ad9a97a837451f63a0a3e65f7f490"
      ],
      "author": {
        "name": "Rami Rosen",
        "email": "ramirose@gmail.com",
        "time": "Tue Feb 05 02:56:48 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Feb 05 02:56:48 2008 -0800"
      },
      "message": "[NET_SCHED]: Add #ifdef CONFIG_NET_EMATCH in net/sched/cls_flow.c (latest git broken build)\n\nThe 2.6 latest git build was broken when using the following\nconfiguration options:\nCONFIG_NET_EMATCH\u003dn\nCONFIG_NET_CLS_FLOW\u003dy\n\nwith the following error:\nnet/sched/cls_flow.c: In function \u0027flow_dump\u0027:\nnet/sched/cls_flow.c:598: error: \u0027struct tcf_ematch_tree\u0027 has no\nmember named \u0027hdr\u0027\nmake[2]: *** [net/sched/cls_flow.o] Error 1\nmake[1]: *** [net/sched] Error 2\nmake: *** [net] Error 2\n\n\nsee the recent post by Li Zefan:\n  http://www.spinics.net/lists/netdev/msg54434.html\n\nThe reason for this crash is that struct tcf_ematch_tree\n(net/pkt_cls.h) is empty when CONFIG_NET_EMATCH is not defined.\n\nWhen CONFIG_NET_EMATCH is defined, the tcf_ematch_tree structure\nindeed holds a struct tcf_ematch_tree_hdr (hdr) as flow_dump()\nexpects.\n\nThis patch adds #ifdef CONFIG_NET_EMATCH in flow_dump to avoid this.\n\nSigned-off-by: Rami Rosen \u003cramirose@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "322c8a3c364ef4d9ead17e86890c19816b0e262f",
      "tree": "90bdc2eaed88131ff2ad091ced8e0b21c9a52ef6",
      "parents": [
        "9ef9dc69d4167276c04590d67ee55de8380bc1ad"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@kernel.org",
        "time": "Tue Feb 05 02:51:39 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Feb 05 02:51:39 2008 -0800"
      },
      "message": "[IPSEC] xfrm4_beet_input(): fix an if()\n\nA bug every C programmer makes at some point in time...\n\nSigned-off-by: Adrian Bunk \u003cbunk@kernel.org\u003e\nAcked-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "93890b71a34f9490673a6edd56b61c2124215e46",
      "tree": "c5d82620f2cb69f0bf43639e63f54b0c0e2eb744",
      "parents": [
        "f5bb3a5e9dcdb8435471562b6cada89525cf4df1",
        "6b35e40767c6c1ac783330109ae8e0c09ea6bc82"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Feb 04 08:00:54 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Feb 04 08:00:54 2008 -0800"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux-2.6-for-linus\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux-2.6-for-linus: (25 commits)\n  virtio: balloon driver\n  virtio: Use PCI revision field to indicate virtio PCI ABI version\n  virtio: PCI device\n  virtio_blk: implement naming for vda-vdz,vdaa-vdzz,vdaaa-vdzzz\n  virtio_blk: Dont waste major numbers\n  virtio_blk: provide getgeo\n  virtio_net: parametrize the napi_weight for virtio receive queue.\n  virtio: free transmit skbs when notified, not on next xmit.\n  virtio: flush buffers on open\n  virtnet: remove double ether_setup\n  virtio: Allow virtio to be modular and used by modules\n  virtio: Use the sg_phys convenience function.\n  virtio: Put the virtio under the virtualization menu\n  virtio: handle interrupts after callbacks turned off\n  virtio: reset function\n  virtio: populate network rings in the probe routine, not open\n  virtio: Tweak virtio_net defines\n  virtio: Net header needs hdr_len\n  virtio: remove unused id field from struct virtio_blk_outhdr\n  virtio: clarify NO_NOTIFY flag usage\n  ...\n"
    },
    {
      "commit": "f5bb3a5e9dcdb8435471562b6cada89525cf4df1",
      "tree": "7b7cf9b90bacd0e2fe07cb3387516e9243f1ab66",
      "parents": [
        "9853832c49dc1685587abeb4e1decd4be690d256",
        "1560a79a2c2ea0c3826150da8029991d685de990"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Feb 04 07:58:52 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Feb 04 07:58:52 2008 -0800"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/bunk/trivial\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/bunk/trivial: (79 commits)\n  Jesper Juhl is the new trivial patches maintainer\n  Documentation: mention email-clients.txt in SubmittingPatches\n  fs/binfmt_elf.c: spello fix\n  do_invalidatepage() comment typo fix\n  Documentation/filesystems/porting fixes\n  typo fixes in net/core/net_namespace.c\n  typo fix in net/rfkill/rfkill.c\n  typo fixes in net/sctp/sm_statefuns.c\n  lib/: Spelling fixes\n  kernel/: Spelling fixes\n  include/scsi/: Spelling fixes\n  include/linux/: Spelling fixes\n  include/asm-m68knommu/: Spelling fixes\n  include/asm-frv/: Spelling fixes\n  fs/: Spelling fixes\n  drivers/watchdog/: Spelling fixes\n  drivers/video/: Spelling fixes\n  drivers/ssb/: Spelling fixes\n  drivers/serial/: Spelling fixes\n  drivers/scsi/: Spelling fixes\n  ...\n"
    },
    {
      "commit": "18445c4d501b9ab4336f66ef46b092661ddaf336",
      "tree": "9d23185f207d912942890cf047d1d3200806b401",
      "parents": [
        "a586d4f6016f7139d8c26df0e6927131168d3b5b"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Mon Feb 04 23:49:57 2008 -0500"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Mon Feb 04 23:49:58 2008 +1100"
      },
      "message": "virtio: explicit enable_cb/disable_cb rather than callback return.\n\nIt seems that virtio_net wants to disable callbacks (interrupts) before\ncalling netif_rx_schedule(), so we can\u0027t use the return value to do so.\n\nRename \"restart\" to \"cb_enable\" and introduce \"cb_disable\" hook: callback\nnow returns void, rather than a boolean.\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\n"
    },
    {
      "commit": "a586d4f6016f7139d8c26df0e6927131168d3b5b",
      "tree": "1c47e1a6b6b8fb18baa42f32980f29c4ae9cbbdc",
      "parents": [
        "f35d9d8aae08940b7fdd1bb8110619da2ece6b28"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Mon Feb 04 23:49:56 2008 -0500"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Mon Feb 04 23:49:57 2008 +1100"
      },
      "message": "virtio: simplify config mechanism.\n\nPreviously we used a type/len pair within the config space, but this\nseems overkill.  We now simply define a structure which represents the\nlayout in the config space: the config space can now only be extended\nat the end.\n\nThe main driver-visible changes:\n1) We indicate what fields are present with an explicit feature bit.\n2) Virtqueues are explicitly numbered, and not in the config space.\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\n"
    },
    {
      "commit": "f35d9d8aae08940b7fdd1bb8110619da2ece6b28",
      "tree": "562d8d7a6583d0a0750ec8d996026b73e8315421",
      "parents": [
        "9135f1901ee6449dfe338adf6e40e9c2025b8150"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Mon Feb 04 23:49:54 2008 -0500"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Mon Feb 04 23:49:56 2008 +1100"
      },
      "message": "virtio: Implement skb_partial_csum_set, for setting partial csums on untrusted packets.\n\nUse it in virtio_net (replacing buggy version there), it\u0027s also going\nto be used by TAP for partial csum support.\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nAcked-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "53379e57a7705e2946c8d77d09a57a169097a6fe",
      "tree": "b367f55b3b492fed8cec4c32afe9e03e6790f2cd",
      "parents": [
        "1dbede87148c4723789e59ce2e415c909c8ccc3d"
      ],
      "author": {
        "name": "Oliver Pinter",
        "email": "oliver.pntr@gmail.com",
        "time": "Sun Feb 03 17:56:48 2008 +0200"
      },
      "committer": {
        "name": "Adrian Bunk",
        "email": "bunk@kernel.org",
        "time": "Sun Feb 03 17:56:48 2008 +0200"
      },
      "message": "typo fixes in net/core/net_namespace.c\n\nSigned-off-by: Oliver Pinter \u003coliver.pntr@gmail.com\u003e\nSigned-off-by: Adrian Bunk \u003cbunk@kernel.org\u003e\n"
    },
    {
      "commit": "1dbede87148c4723789e59ce2e415c909c8ccc3d",
      "tree": "42b8b167f7af9dcc639873a6e16843f8a1273cfb",
      "parents": [
        "ac461a0330abe9f8ceffbf3ad7c50b116a72de33"
      ],
      "author": {
        "name": "Oliver Pinter",
        "email": "oliver.pntr@gmail.com",
        "time": "Sun Feb 03 17:55:45 2008 +0200"
      },
      "committer": {
        "name": "Adrian Bunk",
        "email": "bunk@kernel.org",
        "time": "Sun Feb 03 17:55:45 2008 +0200"
      },
      "message": "typo fix in net/rfkill/rfkill.c\n\nSigned-off-by: Oliver Pinter \u003coliver.pntr@gmail.com\u003e\nSigned-off-by: Adrian Bunk \u003cbunk@kernel.org\u003e\n"
    },
    {
      "commit": "ac461a0330abe9f8ceffbf3ad7c50b116a72de33",
      "tree": "6d3aa131d7c297929a5a38702be33b29f683a517",
      "parents": [
        "643d1f7fe3aa12c8bdea6fa5b4ba874ff6dd601d"
      ],
      "author": {
        "name": "Oliver Pinter",
        "email": "oliver.pntr@gmail.com",
        "time": "Sun Feb 03 17:52:41 2008 +0200"
      },
      "committer": {
        "name": "Adrian Bunk",
        "email": "bunk@kernel.org",
        "time": "Sun Feb 03 17:52:41 2008 +0200"
      },
      "message": "typo fixes in net/sctp/sm_statefuns.c\n\nSigned-off-by: Oliver Pinter \u003coliver.pntr@gmail.com\u003e\nSigned-off-by: Adrian Bunk \u003cbunk@kernel.org\u003e\n"
    },
    {
      "commit": "a80f509f4a4f41ea8693733124470ad63a12664a",
      "tree": "b32c1412837a0041800b1dfdc0abd65685b0bc71",
      "parents": [
        "246f19d194ec99ee8992106e129a133142dc6a10",
        "04a9e451fdbbfb84d6b87042b991f729f1c14249"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Feb 03 04:43:34 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Feb 03 04:43:34 2008 -0800"
      },
      "message": "Merge branch \u0027fixes\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/linville/wireless-2.6\n"
    },
    {
      "commit": "ab1e0a13d70299e792fd0527cefd070c1405fa5b",
      "tree": "d470e7b94b0e33ea59b12713366f1bee0b94f78c",
      "parents": [
        "9dc7f30e3bac329998a2a9bb814bd0abc7cb58e2"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Sun Feb 03 04:06:04 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Feb 03 04:28:52 2008 -0800"
      },
      "message": "[SOCK] proto: Add hashinfo member to struct proto\n\nThis way we can remove TCP and DCCP specific versions of\n\nsk-\u003esk_prot-\u003eget_port: both v4 and v6 use inet_csk_get_port\nsk-\u003esk_prot-\u003ehash:     inet_hash is directly used, only v6 need\n                       a specific version to deal with mapped sockets\nsk-\u003esk_prot-\u003eunhash:   both v4 and v6 use inet_hash directly\n\nstruct inet_connection_sock_af_ops also gets a new member, bind_conflict, so\nthat inet_csk_get_port can find the per family routine.\n\nNow only the lookup routines receive as a parameter a struct inet_hashtable.\n\nWith this we further reuse code, reducing the difference among INET transport\nprotocols.\n\nEventually work has to be done on UDP and SCTP to make them share this\ninfrastructure and get as a bonus inet_diag interfaces so that iproute can be\nused with these protocols.\n\nnet-2.6/net/ipv4/inet_hashtables.c:\n  struct proto\t\t\t     |   +8\n  struct inet_connection_sock_af_ops |   +8\n 2 structs changed\n  __inet_hash_nolisten               |  +18\n  __inet_hash                        | -210\n  inet_put_port                      |   +8\n  inet_bind_bucket_create            |   +1\n  __inet_hash_connect                |   -8\n 5 functions changed, 27 bytes added, 218 bytes removed, diff: -191\n\nnet-2.6/net/core/sock.c:\n  proto_seq_show                     |   +3\n 1 function changed, 3 bytes added, diff: +3\n\nnet-2.6/net/ipv4/inet_connection_sock.c:\n  inet_csk_get_port                  |  +15\n 1 function changed, 15 bytes added, diff: +15\n\nnet-2.6/net/ipv4/tcp.c:\n  tcp_set_state                      |   -7\n 1 function changed, 7 bytes removed, diff: -7\n\nnet-2.6/net/ipv4/tcp_ipv4.c:\n  tcp_v4_get_port                    |  -31\n  tcp_v4_hash                        |  -48\n  tcp_v4_destroy_sock                |   -7\n  tcp_v4_syn_recv_sock               |   -2\n  tcp_unhash                         | -179\n 5 functions changed, 267 bytes removed, diff: -267\n\nnet-2.6/net/ipv6/inet6_hashtables.c:\n  __inet6_hash |   +8\n 1 function changed, 8 bytes added, diff: +8\n\nnet-2.6/net/ipv4/inet_hashtables.c:\n  inet_unhash                        | +190\n  inet_hash                          | +242\n 2 functions changed, 432 bytes added, diff: +432\n\nvmlinux:\n 16 functions changed, 485 bytes added, 492 bytes removed, diff: -7\n\n/home/acme/git/net-2.6/net/ipv6/tcp_ipv6.c:\n  tcp_v6_get_port                    |  -31\n  tcp_v6_hash                        |   -7\n  tcp_v6_syn_recv_sock               |   -9\n 3 functions changed, 47 bytes removed, diff: -47\n\n/home/acme/git/net-2.6/net/dccp/proto.c:\n  dccp_destroy_sock                  |   -7\n  dccp_unhash                        | -179\n  dccp_hash                          |  -49\n  dccp_set_state                     |   -7\n  dccp_done                          |   +1\n 5 functions changed, 1 bytes added, 242 bytes removed, diff: -241\n\n/home/acme/git/net-2.6/net/dccp/ipv4.c:\n  dccp_v4_get_port                   |  -31\n  dccp_v4_request_recv_sock          |   -2\n 2 functions changed, 33 bytes removed, diff: -33\n\n/home/acme/git/net-2.6/net/dccp/ipv6.c:\n  dccp_v6_get_port                   |  -31\n  dccp_v6_hash                       |   -7\n  dccp_v6_request_recv_sock          |   +5\n 3 functions changed, 5 bytes added, 38 bytes removed, diff: -33\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "63e9b66e29357dd12e8b1d3ebf7036e7591f81e3",
      "tree": "5aa6a70a8f4bbf306e2825a1e2fa2660c2c1c187",
      "parents": [
        "687fcdf741e4a268c2c7bac8b3734de761bb9719",
        "ea339d46b93c7b16e067a29aad1812f7a389815a"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Feb 02 14:31:28 2008 +1100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Feb 02 14:31:28 2008 +1100"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://linux-nfs.org/~bfields/linux\n\n* \u0027for-linus\u0027 of git://linux-nfs.org/~bfields/linux: (100 commits)\n  SUNRPC: RPC program information is stored in unsigned integers\n  SUNRPC: Move exported symbol definitions after function declaration part 2\n  NLM: tear down RPC clients in nlm_shutdown_hosts\n  SUNRPC: spin svc_rqst initialization to its own function\n  nfsd: more careful input validation in nfsctl write methods\n  lockd: minor log message fix\n  knfsd: don\u0027t bother mapping putrootfh enoent to eperm\n  rdma: makefile\n  rdma: ONCRPC RDMA protocol marshalling\n  rdma: SVCRDMA sendto\n  rdma: SVCRDMA recvfrom\n  rdma: SVCRDMA Core Transport Services\n  rdma: SVCRDMA Transport Module\n  rdma: SVCRMDA Header File\n  svc: Add svc_xprt_names service to replace svc_sock_names\n  knfsd: Support adding transports by writing portlist file\n  svc: Add svc API that queries for a transport instance\n  svc: Add /proc/sys/sunrpc/transport files\n  svc: Add transport hdr size for defer/revisit\n  svc: Move the xprt independent code to the svc_xprt.c file\n  ...\n"
    },
    {
      "commit": "ea339d46b93c7b16e067a29aad1812f7a389815a",
      "tree": "2e260fc9d3310a1ff11e61adaa21d3350e5f9013",
      "parents": [
        "d2f7e79e3bad31b3d52c405085b9e01e5f6c01e0"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Fri Oct 26 13:32:56 2007 -0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Feb 01 17:01:31 2008 -0500"
      },
      "message": "SUNRPC: RPC program information is stored in unsigned integers\n\nClean up: When looping over RPC version and procedure numbers, use\nunsigned index variables.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "d2f7e79e3bad31b3d52c405085b9e01e5f6c01e0",
      "tree": "a7247bf6849ecd2df43fcceca1f296c88af9866e",
      "parents": [
        "d801b861681116ea23a7fb87a70bf463d29c8b9c"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sat Jul 14 15:39:58 2007 -0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Feb 01 17:01:24 2008 -0500"
      },
      "message": "SUNRPC: Move exported symbol definitions after function declaration part 2\n\nDo it for the server code...\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "0113ab34644649aceaac37ef4b7e5c7d5c183be3",
      "tree": "b0b1cde6e10b550bf4b9fcc523d855a6a1fade9d",
      "parents": [
        "87d26ea7771ad637035e6bd5a2700d81ee9162da"
      ],
      "author": {
        "name": "Jeff Layton",
        "email": "jlayton@redhat.com",
        "time": "Tue Jan 29 10:30:54 2008 -0500"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Feb 01 16:42:15 2008 -0500"
      },
      "message": "SUNRPC: spin svc_rqst initialization to its own function\n\nMove the initialzation in __svc_create_thread that happens prior to\nthread creation to a new function. Export the function to allow\nservices to have better control over the svc_rqst structs.\n\nAlso rearrange the rqstp initialization to prevent NULL pointer\ndereferences in svc_exit_thread in case allocations fail.\n\nSigned-off-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nReviewed-by: NeilBrown \u003cneilb@suse.de\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "4b8449af75fa2e2d9736ec503a818be626a4e763",
      "tree": "bf08d006b87556fd1a20e46fe7abe3895cf8d7b9",
      "parents": [
        "ef1eac0a3fa86b06aa2d87021f157d13abc1903f"
      ],
      "author": {
        "name": "Tom Tucker",
        "email": "tom@opengridcomputing.com",
        "time": "Wed Dec 12 16:13:30 2007 -0600"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Feb 01 16:42:14 2008 -0500"
      },
      "message": "rdma: makefile\n\nAdd the svcrdma module to the xprtrdma makefile.\n\nSigned-off-by: Tom Tucker \u003ctom@opengridcomputing.com\u003e\nAcked-by: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "ef1eac0a3fa86b06aa2d87021f157d13abc1903f",
      "tree": "a91fab9fc27b3318747fa70e8b2021765ef801df",
      "parents": [
        "c06b540a54ad01d2fda8cfb5d8823b9b3d8d1cb2"
      ],
      "author": {
        "name": "Tom Tucker",
        "email": "tom@opengridcomputing.com",
        "time": "Wed Dec 12 16:13:27 2007 -0600"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Feb 01 16:42:14 2008 -0500"
      },
      "message": "rdma: ONCRPC RDMA protocol marshalling\n\nThis logic parses the ONCRDMA protocol headers that\nprecede the actual RPC header. It is placed in a separate\nfile to keep all protocol aware code in a single place.\n\nSigned-off-by: Tom Tucker \u003ctom@opengridcomputing.com\u003e\nAcked-by: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "c06b540a54ad01d2fda8cfb5d8823b9b3d8d1cb2",
      "tree": "e983370ad07af62682d59084d5ae8fe1ba9d3684",
      "parents": [
        "d5b31be6823320d81570e0199acd60d3a3f75d85"
      ],
      "author": {
        "name": "Tom Tucker",
        "email": "tom@opengridcomputing.com",
        "time": "Wed Dec 12 16:13:25 2007 -0600"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Feb 01 16:42:14 2008 -0500"
      },
      "message": "rdma: SVCRDMA sendto\n\nThis file implements the RDMA transport sendto function. A RPC reply\non an RDMA transport consists of some number of RDMA_WRITE requests\nfollowed by an RDMA_SEND request. The sendto function parses the\nONCRPC RDMA reply header to determine how to send the reply back to\nthe client. The send queue is sized so as to be able to send complete\nreplies for requests in most cases.  In the event that there are not\nenough SQ WR slots to reply, e.g.  big data, the send will block the\nNFSD thread. The I/O callback functions in svc_rdma_transport.c that\nreap WR completions wake any waiters blocked on the SQ. In general,\nthe goal is not to block NFSD threads and the has_wspace method\nstall requests when the SQ is nearly full.\n\nSigned-off-by: Tom Tucker \u003ctom@opengridcomputing.com\u003e\nAcked-by: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "d5b31be6823320d81570e0199acd60d3a3f75d85",
      "tree": "7b8bee749a3c1b637c6d8e88ee73c802cb3698cd",
      "parents": [
        "377f9b2f4529e0ac702fd7b91e216afd0adc959e"
      ],
      "author": {
        "name": "Tom Tucker",
        "email": "tom@opengridcomputing.com",
        "time": "Wed Dec 12 16:13:23 2007 -0600"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Feb 01 16:42:14 2008 -0500"
      },
      "message": "rdma: SVCRDMA recvfrom\n\nThis file implements the RDMA transport recvfrom function. The function\ndequeues work reqeust completion contexts from an I/O list that it shares\nwith the I/O tasklet in svc_rdma_transport.c. For ONCRPC RDMA, an RPC may\nnot be complete when it is received. Instead, the RDMA header that precedes\nthe RPC message informs the transport where to get the RPC data from on\nthe client and where to place it in the RPC message before it is delivered\nto the server. The svc_rdma_recvfrom function therefore, parses this RDMA\nheader and issues any necessary RDMA operations to fetch the remainder of\nthe RPC from the client.\n\nSpecial handling is required when the request involves an RDMA_READ.\nIn this case, recvfrom submits the RDMA_READ requests to the underlying\ntransport driver and then returns 0. When the transport\ncompletes the last RDMA_READ for the request, it enqueues it on a\nread completion queue and enqueues the transport. The recvfrom code\nfavors this queue over the regular DTO queue when satisfying reads.\n\nSigned-off-by: Tom Tucker \u003ctom@opengridcomputing.com\u003e\nAcked-by: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "377f9b2f4529e0ac702fd7b91e216afd0adc959e",
      "tree": "b81b97c041dcc3f3030c4df350ecf734ea8186d4",
      "parents": [
        "ef7fbf59e6f780a0fa03536839e3c42e9ce40ad1"
      ],
      "author": {
        "name": "Tom Tucker",
        "email": "tom@opengridcomputing.com",
        "time": "Wed Dec 12 16:13:21 2007 -0600"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Feb 01 16:42:14 2008 -0500"
      },
      "message": "rdma: SVCRDMA Core Transport Services\n\nThis file implements the core transport data management and I/O\npath. The I/O path for RDMA involves receiving callbacks on interrupt\ncontext. Since all the svc transport locks are _bh locks we enqueue the\ntransport on a list, schedule a tasklet to dequeue data indications from\nthe RDMA completion queue. The tasklet in turn takes _bh locks to\nenqueue receive data indications on a list for the transport. The\nsvc_rdma_recvfrom transport function dequeues data from this list in an\nNFSD thread context.\n\nSigned-off-by: Tom Tucker \u003ctom@opengridcomputing.com\u003e\nAcked-by: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "ef7fbf59e6f780a0fa03536839e3c42e9ce40ad1",
      "tree": "17967c171d3e88fba7726edf0549c5c82fc5b709",
      "parents": [
        "d21b05f101ae732d9bc322f13eea2f59c0aa60f5"
      ],
      "author": {
        "name": "Tom Tucker",
        "email": "tom@opengridcomputing.com",
        "time": "Wed Dec 12 16:13:19 2007 -0600"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Feb 01 16:42:14 2008 -0500"
      },
      "message": "rdma: SVCRDMA Transport Module\n\nThis file implements the RDMA transport module initialization and\ntermination logic and registers the transport sysctl variables.\n\nSigned-off-by: Tom Tucker \u003ctom@opengridcomputing.com\u003e\nAcked-by: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "9571af18fa1e4a431dc6f6023ddbd87d1112fd5d",
      "tree": "d8eafdea71ea1c13fe9c733442d41857e17901ac",
      "parents": [
        "a217813f9067b785241cb7f31956e51d2071703a"
      ],
      "author": {
        "name": "Tom Tucker",
        "email": "tom@opengridcomputing.com",
        "time": "Sun Dec 30 21:08:37 2007 -0600"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Feb 01 16:42:14 2008 -0500"
      },
      "message": "svc: Add svc_xprt_names service to replace svc_sock_names\n\nCreate a transport independent version of the svc_sock_names function.\n\nThe toclose capability of the svc_sock_names service can be implemented\nusing the svc_xprt_find and svc_xprt_close services.\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": "a217813f9067b785241cb7f31956e51d2071703a",
      "tree": "5bda9ab6a461562975506d2100b16db19e3e628b",
      "parents": [
        "7fcb98d58cb4d18af6386f71025fc5192f25fbca"
      ],
      "author": {
        "name": "Tom Tucker",
        "email": "tom@opengridcomputing.com",
        "time": "Sun Dec 30 21:08:35 2007 -0600"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Feb 01 16:42:13 2008 -0500"
      },
      "message": "knfsd: Support adding transports by writing portlist file\n\nUpdate the write handler for the portlist file to allow creating new\nlistening endpoints on a transport. The general form of the string is:\n\n\u003ctransport_name\u003e\u003cspace\u003e\u003cport number\u003e\n\nFor example:\n\necho \"tcp 2049\" \u003e /proc/fs/nfsd/portlist\n\nThis is intended to support the creation of a listening endpoint for\nRDMA transports without adding #ifdef code to the nfssvc.c file.\n\nTransports can also be removed as follows:\n\n\u0027-\u0027\u003ctransport_name\u003e\u003cspace\u003e\u003cport number\u003e\n\nFor example:\n\necho \"-tcp 2049\" \u003e /proc/fs/nfsd/portlist\n\nAttempting to add a listener with an invalid transport string results\nin EPROTONOSUPPORT and a perror string of \"Protocol not supported\".\n\nAttempting to remove an non-existent listener (.e.g. bad proto or port)\nresults in ENOTCONN and a perror string of\n\"Transport endpoint is not connected\"\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": "7fcb98d58cb4d18af6386f71025fc5192f25fbca",
      "tree": "7ccd884928c644cebd717306937565fbcdc9dd88",
      "parents": [
        "dc9a16e49dbba3dd042e6aec5d9a7929e099a89b"
      ],
      "author": {
        "name": "Tom Tucker",
        "email": "tom@opengridcomputing.com",
        "time": "Sun Dec 30 21:08:33 2007 -0600"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Feb 01 16:42:13 2008 -0500"
      },
      "message": "svc: Add svc API that queries for a transport instance\n\nAdd a new svc function that allows a service to query whether a\ntransport instance has already been created. This is used in lockd\nto determine whether or not a transport needs to be created when\na lockd instance is brought up.\n\nSpecifying 0 for the address family or port is effectively a wild-card,\nand will result in matching the first transport in the service\u0027s list\nthat has a matching class name.\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": "dc9a16e49dbba3dd042e6aec5d9a7929e099a89b",
      "tree": "5aee4ec75869697350d3cebdfaaf8e10435ebbc2",
      "parents": [
        "260c1d1298f6703d38fdccd3dd5a310766327340"
      ],
      "author": {
        "name": "Tom Tucker",
        "email": "tom@opengridcomputing.com",
        "time": "Sun Dec 30 21:08:31 2007 -0600"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Feb 01 16:42:13 2008 -0500"
      },
      "message": "svc: Add /proc/sys/sunrpc/transport files\n\nAdd a file that when read lists the set of registered svc\ntransports.\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": "260c1d1298f6703d38fdccd3dd5a310766327340",
      "tree": "95bf71a81a9bba5d1e69940ccba99943682029c5",
      "parents": [
        "0f0257eaa5d29b80f6ab2c40ed21aa65bb4527f6"
      ],
      "author": {
        "name": "Tom Tucker",
        "email": "tom@opengridcomputing.com",
        "time": "Sun Dec 30 21:08:29 2007 -0600"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Feb 01 16:42:13 2008 -0500"
      },
      "message": "svc: Add transport hdr size for defer/revisit\n\nSome transports have a header in front of the RPC header. The current\ndefer/revisit processing considers only the iov_len and arg_len to\ndetermine how much to back up when saving the original request\nto revisit. Add a field to the rqstp structure to save the size\nof the transport header so svc_defer can correctly compute\nthe start of a request.\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": "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": "18d19f949d5a9c927b2b88402630c5137971b619",
      "tree": "f66d3366d322c2fa78166bf6a4164c7caf7d14bd",
      "parents": [
        "57b1d3babaafea1c395c932914e38c2ff9493001"
      ],
      "author": {
        "name": "Tom Tucker",
        "email": "tom@opengridcomputing.com",
        "time": "Sun Dec 30 21:08:25 2007 -0600"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Feb 01 16:42:13 2008 -0500"
      },
      "message": "svc: Make svc_check_conn_limits xprt independent\n\nThe svc_check_conn_limits function only manipulates xprt fields. Change references\nto svc_sock-\u003esk_xprt to svc_xprt 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": "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": "4e5caaa5f24b3df1fe01097e1e7576461e70d491",
      "tree": "c682473e9a40f4e8a8a1317906a516b41d47ec30",
      "parents": [
        "9f8bfae693c724120ffc8fb77564f6deb508daf3"
      ],
      "author": {
        "name": "Tom Tucker",
        "email": "tom@opengridcomputing.com",
        "time": "Sun Dec 30 21:08:20 2007 -0600"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Feb 01 16:42:13 2008 -0500"
      },
      "message": "svc: Move create logic to common code\n\nMove the svc transport list logic into common transport creation code.\nRefactor this code path to make the flow of control easier to read.\n\nMove the setting and clearing of the BUSY_BIT during transport creation\nto common code.\n\nSigned-off-by: Tom Tucker \u003ctom@opengridcomputing.com\u003e\nAcked-by: Neil Brown \u003cneilb@suse.de\u003e\nReviewed-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nReviewed-by: Greg Banks \u003cgnb@sgi.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "9f8bfae693c724120ffc8fb77564f6deb508daf3",
      "tree": "abcd5cad6a5a4e798d428a8568e5256adc8e1cb8",
      "parents": [
        "c36adb2a7f9132b37d4b669b2e2c04e46d5188b2"
      ],
      "author": {
        "name": "Tom Tucker",
        "email": "tom@opengridcomputing.com",
        "time": "Sun Dec 30 21:08:18 2007 -0600"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Feb 01 16:42:13 2008 -0500"
      },
      "message": "svc: Make svc_age_temp_sockets svc_age_temp_transports\n\nThis function is transport independent. Change it to use svc_xprt directly\nand change it\u0027s name to reflect this.\n\nSigned-off-by: Tom Tucker \u003ctom@opengridcomputing.com\u003e\nAcked-by: Neil Brown \u003cneilb@suse.de\u003e\nReviewed-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nReviewed-by: Greg Banks \u003cgnb@sgi.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "c36adb2a7f9132b37d4b669b2e2c04e46d5188b2",
      "tree": "0047a71515d96cdd4085adbd1691232db42c2b9f",
      "parents": [
        "eab996d4aca7a9d8621d2b98c00ce420df85eaed"
      ],
      "author": {
        "name": "Tom Tucker",
        "email": "tom@opengridcomputing.com",
        "time": "Sun Dec 30 21:08:16 2007 -0600"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Feb 01 16:42:12 2008 -0500"
      },
      "message": "svc: Make svc_recv transport neutral\n\nAll of the transport field and functions used by svc_recv are now\ntransport independent. Change the svc_recv function to use the svc_xprt\nstructure directly instead of the transport specific svc_sock structure.\n\nSigned-off-by: Tom Tucker \u003ctom@opengridcomputing.com\u003e\nAcked-by: Neil Brown \u003cneilb@suse.de\u003e\nReviewed-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nReviewed-by: Greg Banks \u003cgnb@sgi.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "eab996d4aca7a9d8621d2b98c00ce420df85eaed",
      "tree": "beee1815aebbb5e31628d939cd08330cf3417c3f",
      "parents": [
        "9dbc240f199c16c3c0859c255ad52a663d8ee51d"
      ],
      "author": {
        "name": "Tom Tucker",
        "email": "tom@opengridcomputing.com",
        "time": "Sun Dec 30 21:08:14 2007 -0600"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Feb 01 16:42:12 2008 -0500"
      },
      "message": "svc: Make svc_sock_release svc_xprt_release\n\nThe svc_sock_release function only touches transport independent fields.\nChange the function to manipulate svc_xprt directly instead of the transport\ndependent svc_sock structure.\n\nSigned-off-by: Tom Tucker \u003ctom@opengridcomputing.com\u003e\nAcked-by: Neil Brown \u003cneilb@suse.de\u003e\nReviewed-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nReviewed-by: Greg Banks \u003cgnb@sgi.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "9dbc240f199c16c3c0859c255ad52a663d8ee51d",
      "tree": "0e81dd425c36590e65accfe9654d905632783c7f",
      "parents": [
        "8c7b0172a1db8120d25ecb4eff69664c52ee7639"
      ],
      "author": {
        "name": "Tom Tucker",
        "email": "tom@opengridcomputing.com",
        "time": "Sun Dec 30 21:08:12 2007 -0600"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Feb 01 16:42:12 2008 -0500"
      },
      "message": "svc: Move the sockaddr information to svc_xprt\n\nThis patch moves the transport sockaddr to the svc_xprt\nstructure.  Convenience functions are added to set and\nget the local and remote addresses of a transport from\nthe transport provider as well as determine the length\nof a sockaddr.\n\nA transport is responsible for setting the xpt_local\nand xpt_remote addresses in the svc_xprt structure as\npart of transport creation and xpo_accept processing. This\ncannot be done in a generic way and in fact varies\nbetween TCP, UDP and RDMA. A set of xpo_ functions\n(e.g. getlocalname, getremotename) could have been\nadded but this would have resulted in additional\ncaching and copying of the addresses around.  Note that\nthe xpt_local address should also be set on listening\nendpoints; for TCP/RDMA this is done as part of\nendpoint creation.\n\nFor connected transports like TCP and RDMA, the addresses\nnever change and can be set once and copied into the\nrqstp structure for each request. For UDP, however, the\nlocal and remote addresses may change for each request. In\nthis case, the address information is obtained from the\nUDP recvmsg info and copied into the rqstp structure from\nthere.\n\nA svc_xprt_local_port function was also added that returns\nthe local port given a transport. This is used by\nsvc_create_xprt when returning the port associated with\na newly created transport, and later when creating a\ngeneric find transport service to check if a service is\nalready listening on a given port.\n\nSigned-off-by: Tom Tucker \u003ctom@opengridcomputing.com\u003e\nAcked-by: Neil Brown \u003cneilb@suse.de\u003e\nReviewed-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nReviewed-by: Greg Banks \u003cgnb@sgi.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "8c7b0172a1db8120d25ecb4eff69664c52ee7639",
      "tree": "d048ab4c5c378d2a90e5dd52a09dee4e24712cc9",
      "parents": [
        "def13d7401e9b95bbd34c20057ebeb2972708b1b"
      ],
      "author": {
        "name": "Tom Tucker",
        "email": "tom@opengridcomputing.com",
        "time": "Sun Dec 30 21:08:10 2007 -0600"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Feb 01 16:42:12 2008 -0500"
      },
      "message": "svc: Make deferral processing xprt independent\n\nThis patch moves the transport independent sk_deferred list to the svc_xprt\nstructure and updates the svc_deferred_req structure to keep pointers to\nsvc_xprt\u0027s directly. The deferral processing code is also moved out of the\ntransport dependent recvfrom functions and into the generic svc_recv path.\n\nSigned-off-by: Tom Tucker \u003ctom@opengridcomputing.com\u003e\nAcked-by: Neil Brown \u003cneilb@suse.de\u003e\nReviewed-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nReviewed-by: Greg Banks \u003cgnb@sgi.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "def13d7401e9b95bbd34c20057ebeb2972708b1b",
      "tree": "afea72afdfe80c645eaf75aa828a49a6e1dec864",
      "parents": [
        "4bc6c497b26a7984cac842a09e2e8f8c46242782"
      ],
      "author": {
        "name": "Tom Tucker",
        "email": "tom@opengridcomputing.com",
        "time": "Sun Dec 30 21:08:08 2007 -0600"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Feb 01 16:42:12 2008 -0500"
      },
      "message": "svc: Move the authinfo cache to svc_xprt.\n\nMove the authinfo cache to svc_xprt. This allows both the TCP and RDMA\ntransports to share this logic. A flag bit is used to determine if\nauth information is to be cached or not. Previously, this code looked\nat the transport protocol.\n\nI\u0027ve also changed the spin_lock/unlock logic so that a lock is not taken for\ntransports that are not caching auth info.\n\nSigned-off-by: Tom Tucker \u003ctom@opengridcomputing.com\u003e\nAcked-by: Neil Brown \u003cneilb@suse.de\u003e\nReviewed-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nReviewed-by: Greg Banks \u003cgnb@sgi.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "4bc6c497b26a7984cac842a09e2e8f8c46242782",
      "tree": "4b4d4d700ed6539e3b13bc2b66af4bdf179b35aa",
      "parents": [
        "6bc5ab1367e43e59671d3fd19e6b0d2e4c138323"
      ],
      "author": {
        "name": "Tom Tucker",
        "email": "tom@opengridcomputing.com",
        "time": "Sun Dec 30 21:08:05 2007 -0600"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Feb 01 16:42:12 2008 -0500"
      },
      "message": "svc: Remove sk_lastrecv\n\nWith the implementation of the new mark and sweep algorithm for shutting\ndown old connections, the sk_lastrecv field is no longer needed.\n\nSigned-off-by: Tom Tucker \u003ctom@opengridcomputing.com\u003e\nAcked-by: Neil Brown \u003cneilb@suse.de\u003e\nReviewed-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nReviewed-by: Greg Banks \u003cgnb@sgi.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "6bc5ab1367e43e59671d3fd19e6b0d2e4c138323",
      "tree": "37b94ecc396a3e763677ad741c8b8b5f4fa36518",
      "parents": [
        "a6046f71f2b598af241e7496a8ead90f2979224b"
      ],
      "author": {
        "name": "Tom Tucker",
        "email": "tom@opengridcomputing.com",
        "time": "Sun Dec 30 21:08:03 2007 -0600"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Feb 01 16:42:12 2008 -0500"
      },
      "message": "svc: Move accept call to svc_xprt_received to common code\n\nNow that the svc_xprt_received function handles transports, the call\nto svc_xprt_received in the xpo_tcp_accept function can be moved to\ncommon code.\n\nSigned-off-by: Tom Tucker \u003ctom@opengridcomputing.com\u003e\nAcked-by: Neil Brown \u003cneilb@suse.de\u003e\nReviewed-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nReviewed-by: Greg Banks \u003cgnb@sgi.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "a6046f71f2b598af241e7496a8ead90f2979224b",
      "tree": "bceb453e9c7aac478a86253528ff2a00b0726fcc",
      "parents": [
        "a50fea26b9d2aa7b66fdd6d9579de10827ec086a"
      ],
      "author": {
        "name": "Tom Tucker",
        "email": "tom@opengridcomputing.com",
        "time": "Sun Dec 30 21:08:01 2007 -0600"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Feb 01 16:42:12 2008 -0500"
      },
      "message": "svc: Change svc_sock_received to svc_xprt_received and export it\n\nAll fields touched by svc_sock_received are now transport independent.\nChange it to use svc_xprt directly. This function is called from\ntransport dependent code, so export it.\n\nUpdate the comment to clearly state the rules for calling this function.\n\nSigned-off-by: Tom Tucker \u003ctom@opengridcomputing.com\u003e\nAcked-by: Neil Brown \u003cneilb@suse.de\u003e\nReviewed-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nReviewed-by: Greg Banks \u003cgnb@sgi.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "a50fea26b9d2aa7b66fdd6d9579de10827ec086a",
      "tree": "efb7893e6e45b417405e9320d3b82100b1684daf",
      "parents": [
        "f6150c3cab6e788afacb07470be3c6b4a722f1ed"
      ],
      "author": {
        "name": "Tom Tucker",
        "email": "tom@opengridcomputing.com",
        "time": "Sun Dec 30 21:07:59 2007 -0600"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Feb 01 16:42:11 2008 -0500"
      },
      "message": "svc: Make svc_send transport neutral\n\nMove the sk_mutex field to the transport independent svc_xprt structure.\nNow all the fields that svc_send touches are transport neutral. Change the\nsvc_send function to use the transport independent svc_xprt directly instead\nof the transport dependent svc_sock structure.\n\nSigned-off-by: Tom Tucker \u003ctom@opengridcomputing.com\u003e\nAcked-by: Neil Brown \u003cneilb@suse.de\u003e\nReviewed-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nReviewed-by: Greg Banks \u003cgnb@sgi.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "f6150c3cab6e788afacb07470be3c6b4a722f1ed",
      "tree": "b770317b97975b5e3f12482d13873bd27cd2cb7e",
      "parents": [
        "7a90e8cc21ad80529b3a3371dc97acc8832cc592"
      ],
      "author": {
        "name": "Tom Tucker",
        "email": "tom@opengridcomputing.com",
        "time": "Sun Dec 30 21:07:57 2007 -0600"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Feb 01 16:42:11 2008 -0500"
      },
      "message": "svc: Make the enqueue service transport neutral and export it.\n\nThe svc_sock_enqueue function is now transport independent since all of\nthe fields it touches have been moved to the transport independent svc_xprt\nstructure. Change the function to use the svc_xprt structure directly\ninstead of the transport specific svc_sock structure.\n\nTransport specific data-ready handlers need to call this function, so\nexport it.\n\nSigned-off-by: Tom Tucker \u003ctom@opengridcomputing.com\u003e\nAcked-by: Neil Brown \u003cneilb@suse.de\u003e\nReviewed-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nReviewed-by: Greg Banks \u003cgnb@sgi.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "7a90e8cc21ad80529b3a3371dc97acc8832cc592",
      "tree": "3a5527b0cce3c046067c72705d6acd5d6bc1184b",
      "parents": [
        "7a18208383ab3f3ce4a1f4e0536acc9372523d81"
      ],
      "author": {
        "name": "Tom Tucker",
        "email": "tom@opengridcomputing.com",
        "time": "Sun Dec 30 21:07:55 2007 -0600"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Feb 01 16:42:11 2008 -0500"
      },
      "message": "svc: Move sk_reserved to svc_xprt\n\nThis functionally trivial patch moves the sk_reserved field to the\ntransport independent svc_xprt structure.\n\nSigned-off-by: Tom Tucker \u003ctom@opengridcomputing.com\u003e\nAcked-by: Neil Brown \u003cneilb@suse.de\u003e\nReviewed-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nReviewed-by: Greg Banks \u003cgnb@sgi.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "7a18208383ab3f3ce4a1f4e0536acc9372523d81",
      "tree": "851a1cc29d753297c2e7cf4cb4a95c4af7868427",
      "parents": [
        "bb5cf160b282644c4491afbf76fbc66f5dc35030"
      ],
      "author": {
        "name": "Tom Tucker",
        "email": "tom@opengridcomputing.com",
        "time": "Sun Dec 30 21:07:53 2007 -0600"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Feb 01 16:42:11 2008 -0500"
      },
      "message": "svc: Make close transport independent\n\nMove sk_list and sk_ready to svc_xprt. This involves close because these\nlists are walked by svcs when closing all their transports. So I combined\nthe moving of these lists to svc_xprt with making close transport independent.\n\nThe svc_force_sock_close has been changed to svc_close_all and takes a list\nas an argument. This removes some svc internals knowledge from the svcs.\n\nThis code races with module removal and transport addition.\n\nThanks to Simon Holm Thøgersen for a compile fix.\n\nSigned-off-by: Tom Tucker \u003ctom@opengridcomputing.com\u003e\nAcked-by: Neil Brown \u003cneilb@suse.de\u003e\nReviewed-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nReviewed-by: Greg Banks \u003cgnb@sgi.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\nCc: Simon Holm Thøgersen \u003codie@cs.aau.dk\u003e\n"
    },
    {
      "commit": "bb5cf160b282644c4491afbf76fbc66f5dc35030",
      "tree": "76443ea6f87faf4d2e039ca6d2e3a7008261a1d2",
      "parents": [
        "02fc6c36188be0ad19502cfd39266150ffab7603"
      ],
      "author": {
        "name": "Tom Tucker",
        "email": "tom@opengridcomputing.com",
        "time": "Sun Dec 30 21:07:50 2007 -0600"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Feb 01 16:42:11 2008 -0500"
      },
      "message": "svc: Move sk_server and sk_pool to svc_xprt\n\nThis is another incremental change that moves transport independent\nfields from svc_sock to the svc_xprt structure. The changes\nshould be functionally null.\n\nSigned-off-by: Tom Tucker \u003ctom@opengridcomputing.com\u003e\nAcked-by: Neil Brown \u003cneilb@suse.de\u003e\nReviewed-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nReviewed-by: Greg Banks \u003cgnb@sgi.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "02fc6c36188be0ad19502cfd39266150ffab7603",
      "tree": "e1d85b49c18944209232bbb1ebaf51001b6af602",
      "parents": [
        "e1b3157f9710622bad6c7747d3b08ed3d2394cf6"
      ],
      "author": {
        "name": "Tom Tucker",
        "email": "tom@opengridcomputing.com",
        "time": "Sun Dec 30 21:07:48 2007 -0600"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Feb 01 16:42:11 2008 -0500"
      },
      "message": "svc: Move sk_flags to the svc_xprt structure\n\nThis functionally trivial change moves the transport independent sk_flags\nfield to the transport independent svc_xprt structure.\n\nSigned-off-by: Tom Tucker \u003ctom@opengridcomputing.com\u003e\nAcked-by: Neil Brown \u003cneilb@suse.de\u003e\nReviewed-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nReviewed-by: Greg Banks \u003cgnb@sgi.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "e1b3157f9710622bad6c7747d3b08ed3d2394cf6",
      "tree": "e03687e0363fdb2307f7e4909a735e8d1331050a",
      "parents": [
        "d7c9f1ed972b4a468dd24a2457721704dfe9ca70"
      ],
      "author": {
        "name": "Tom Tucker",
        "email": "tom@opengridcomputing.com",
        "time": "Sun Dec 30 21:07:46 2007 -0600"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Feb 01 16:42:11 2008 -0500"
      },
      "message": "svc: Change sk_inuse to a kref\n\nChange the atomic_t reference count to a kref and move it to the\ntransport indepenent svc_xprt structure. Change the reference count\nwrapper names to be generic.\n\nSigned-off-by: Tom Tucker \u003ctom@opengridcomputing.com\u003e\nAcked-by: Neil Brown \u003cneilb@suse.de\u003e\nReviewed-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nReviewed-by: Greg Banks \u003cgnb@sgi.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "d7c9f1ed972b4a468dd24a2457721704dfe9ca70",
      "tree": "40cd2b38db79df4d90753b58789c3e4bc274095f",
      "parents": [
        "b700cbb11fced2a0e953fdd19eac07ffaad86598"
      ],
      "author": {
        "name": "Tom Tucker",
        "email": "tom@opengridcomputing.com",
        "time": "Sun Dec 30 21:07:44 2007 -0600"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Feb 01 16:42:09 2008 -0500"
      },
      "message": "svc: Change services to use new svc_create_xprt service\n\nModify the various kernel RPC svcs to use the svc_create_xprt service.\n\nSigned-off-by: Tom Tucker \u003ctom@opengridcomputing.com\u003e\nAcked-by: Neil Brown \u003cneilb@suse.de\u003e\nReviewed-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nReviewed-by: Greg Banks \u003cgnb@sgi.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "b700cbb11fced2a0e953fdd19eac07ffaad86598",
      "tree": "345028d75f049b63bcec574158b94e205e9684bc",
      "parents": [
        "f9f3cc4fae04c87c815a4b473fb577cf74ef27da"
      ],
      "author": {
        "name": "Tom Tucker",
        "email": "tom@opengridcomputing.com",
        "time": "Sun Dec 30 21:07:42 2007 -0600"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Feb 01 16:42:09 2008 -0500"
      },
      "message": "svc: Add a generic transport svc_create_xprt function\n\nThe svc_create_xprt function is a transport independent version\nof the svc_makesock function.\n\nSince transport instance creation contains transport dependent and\nindependent components, add an xpo_create transport function. The\ntransport implementation of this function allocates the memory for the\nendpoint, implements the transport dependent initialization logic, and\ncalls svc_xprt_init to initialize the transport independent field (svc_xprt)\nin it\u0027s data structure.\n\nSigned-off-by: Tom Tucker \u003ctom@opengridcomputing.com\u003e\nAcked-by: Neil Brown \u003cneilb@suse.de\u003e\nReviewed-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nReviewed-by: Greg Banks \u003cgnb@sgi.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "f9f3cc4fae04c87c815a4b473fb577cf74ef27da",
      "tree": "906550a4f9db0bf79adea43b3b9ac1fbc2b2c4e6",
      "parents": [
        "44a6995b32eb9b021ee71b279edb84728c9f5160"
      ],
      "author": {
        "name": "Tom Tucker",
        "email": "tom@opengridcomputing.com",
        "time": "Sun Dec 30 21:07:40 2007 -0600"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Feb 01 16:42:09 2008 -0500"
      },
      "message": "svc: Move connection limit checking to its own function\n\nMove the code that poaches connections when the connection limit is hit\nto a subroutine to make the accept logic path easier to follow. Since this\nis in the new connection path, it should not be a performance issue.\n\nSigned-off-by: Tom Tucker \u003ctom@opengridcomputing.com\u003e\nAcked-by: Neil Brown \u003cneilb@suse.de\u003e\nReviewed-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nReviewed-by: Greg Banks \u003cgnb@sgi.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "44a6995b32eb9b021ee71b279edb84728c9f5160",
      "tree": "fbe6492dc072aaf80cda94353e2bfce8738802e9",
      "parents": [
        "38a417cc993f4535548e47207f9894e7c27e05e4"
      ],
      "author": {
        "name": "Tom Tucker",
        "email": "tom@opengridcomputing.com",
        "time": "Sun Dec 30 21:07:38 2007 -0600"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Feb 01 16:42:09 2008 -0500"
      },
      "message": "svc: Remove unnecessary call to svc_sock_enqueue\n\nThe svc_tcp_accept function calls svc_sock_enqueue after setting the\nSK_CONN bit. This doesn\u0027t actually do anything because the SK_BUSY bit\nis still set. The call is unnecessary anyway because the generic code in\nsvc_recv calls svc_sock_received after calling the accept function.\n\nSigned-off-by: Tom Tucker \u003ctom@opengridcomputing.com\u003e\nAcked-by: Neil Brown \u003cneilb@suse.de\u003e\nReviewed-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nReviewed-by: Greg Banks \u003cgnb@sgi.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "38a417cc993f4535548e47207f9894e7c27e05e4",
      "tree": "f8035bcf6bc9a4831b152f5556b14cb3b48a72b8",
      "parents": [
        "d7979ae4a050a45b78af51832475001b68263d2a"
      ],
      "author": {
        "name": "Tom Tucker",
        "email": "tom@opengridcomputing.com",
        "time": "Sun Dec 30 21:07:36 2007 -0600"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Feb 01 16:42:08 2008 -0500"
      },
      "message": "svc: Add xpo_accept transport function\n\nPreviously, the accept logic looked into the socket state to determine\nwhether to call accept or recv when data-ready was indicated on an endpoint.\nSince some transports don\u0027t use sockets, this logic now uses a flag\nbit (SK_LISTENER) to identify listening endpoints. A transport function\n(xpo_accept) allows each transport to define its own accept processing.\nA transport\u0027s initialization logic is reponsible for setting the\nSK_LISTENER bit. I didn\u0027t see any way to do this in transport independent\nlogic since the passive side of a UDP connection doesn\u0027t listen and\nalways recv\u0027s.\n\nIn the svc_recv function, if the SK_LISTENER bit is set, the transport\nxpo_accept function is called to handle accept processing.\n\nNote that all functions are defined even if they don\u0027t make sense\nfor a given transport. For example, accept doesn\u0027t mean anything for\nUDP. The function is defined anyway and bug checks if called. The\nUDP transport should never set the SK_LISTENER bit.\n\nSigned-off-by: Tom Tucker \u003ctom@opengridcomputing.com\u003e\nAcked-by: Neil Brown \u003cneilb@suse.de\u003e\nReviewed-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nReviewed-by: Greg Banks \u003cgnb@sgi.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "d7979ae4a050a45b78af51832475001b68263d2a",
      "tree": "f76bf9dea36d03a1141824202015d26002000589",
      "parents": [
        "323bee32e9bef14c6dd943ecc8e8cd373a9c94d9"
      ],
      "author": {
        "name": "Tom Tucker",
        "email": "tom@opengridcomputing.com",
        "time": "Sun Dec 30 21:07:34 2007 -0600"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Feb 01 16:42:08 2008 -0500"
      },
      "message": "svc: Move close processing to a single place\n\nClose handling was duplicated in the UDP and TCP recvfrom\nmethods. This code has been moved to the transport independent\nsvc_recv function.\n\nSigned-off-by: Tom Tucker \u003ctom@opengridcomputing.com\u003e\nAcked-by: Neil Brown \u003cneilb@suse.de\u003e\nReviewed-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nReviewed-by: Greg Banks \u003cgnb@sgi.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "323bee32e9bef14c6dd943ecc8e8cd373a9c94d9",
      "tree": "5779a724dfcbe3aee1f06d9eb989931d1dcfa163",
      "parents": [
        "e831fe65b10199e1e301a7316c66d6ced133712d"
      ],
      "author": {
        "name": "Tom Tucker",
        "email": "tom@opengridcomputing.com",
        "time": "Sun Dec 30 21:07:31 2007 -0600"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Feb 01 16:42:08 2008 -0500"
      },
      "message": "svc: Add a transport function that checks for write space\n\nIn order to avoid blocking a service thread, the receive side checks\nto see if there is sufficient write space to reply to the request.\nEach transport has a different mechanism for determining if there is\nenough write space to reply.\n\nThe code that checked for write space was coupled with code that\nchecked for CLOSE and CONN. These checks have been broken out into\nseparate statements to make the code easier to read.\n\nSigned-off-by: Tom Tucker \u003ctom@opengridcomputing.com\u003e\nAcked-by: Neil Brown \u003cneilb@suse.de\u003e\nReviewed-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nReviewed-by: Greg Banks \u003cgnb@sgi.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "e831fe65b10199e1e301a7316c66d6ced133712d",
      "tree": "33436ef94e099e854c4824e78cd62f341e5f357a",
      "parents": [
        "755cceaba7555027e61dfa79f1e55bdfc6906633"
      ],
      "author": {
        "name": "Tom Tucker",
        "email": "tom@opengridcomputing.com",
        "time": "Sun Dec 30 21:07:29 2007 -0600"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Feb 01 16:42:08 2008 -0500"
      },
      "message": "svc: Add xpo_prep_reply_hdr\n\nSome transports add fields to the RPC header for replies, e.g. the TCP\nrecord length. This function is called when preparing the reply header\nto allow each transport to add whatever fields it requires.\n\nSigned-off-by: Tom Tucker \u003ctom@opengridcomputing.com\u003e\nAcked-by: Neil Brown \u003cneilb@suse.de\u003e\nReviewed-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nReviewed-by: Greg Banks \u003cgnb@sgi.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "755cceaba7555027e61dfa79f1e55bdfc6906633",
      "tree": "13fa81b19e96af8130414b3535ced72b910a1aef",
      "parents": [
        "5148bf4ebc1f59dc6a0ec43a220c55ff0771246e"
      ],
      "author": {
        "name": "Tom Tucker",
        "email": "tom@opengridcomputing.com",
        "time": "Sun Dec 30 21:07:27 2007 -0600"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Feb 01 16:42:08 2008 -0500"
      },
      "message": "svc: Add per-transport delete functions\n\nAdd transport specific xpo_detach and xpo_free functions. The xpo_detach\nfunction causes the transport to stop delivering data-ready events\nand enqueing the transport for I/O.\n\nThe xpo_free function frees all resources associated with the particular\ntransport instance.\n\nSigned-off-by: Tom Tucker \u003ctom@opengridcomputing.com\u003e\nAcked-by: Neil Brown \u003cneilb@suse.de\u003e\nReviewed-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nReviewed-by: Greg Banks \u003cgnb@sgi.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "5148bf4ebc1f59dc6a0ec43a220c55ff0771246e",
      "tree": "d7ba46947483308dc77736335b05d1124befa7c4",
      "parents": [
        "5d137990f5860451a6e0428e0903f62933d05287"
      ],
      "author": {
        "name": "Tom Tucker",
        "email": "tom@opengridcomputing.com",
        "time": "Sun Dec 30 21:07:25 2007 -0600"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Feb 01 16:42:08 2008 -0500"
      },
      "message": "svc: Add transport specific xpo_release function\n\nThe svc_sock_release function releases pages allocated to a thread. For\nUDP this frees the receive skb. For RDMA it will post a receive WR\nand bump the client credit count.\n\nSigned-off-by: Tom Tucker \u003ctom@opengridcomputing.com\u003e\nAcked-by: Neil Brown \u003cneilb@suse.de\u003e\nReviewed-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nReviewed-by: Greg Banks \u003cgnb@sgi.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "5d137990f5860451a6e0428e0903f62933d05287",
      "tree": "71f57e8a13138530c8c82f9de19067687d0b428d",
      "parents": [
        "490231558e058547da4ffab6d8ce8e28771749cc"
      ],
      "author": {
        "name": "Tom Tucker",
        "email": "tom@opengridcomputing.com",
        "time": "Sun Dec 30 21:07:23 2007 -0600"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Feb 01 16:42:08 2008 -0500"
      },
      "message": "svc: Move sk_sendto and sk_recvfrom to svc_xprt_class\n\nThe sk_sendto and sk_recvfrom are function pointers that allow svc_sock\nto be used for both UDP and TCP. Move these function pointers to the\nsvc_xprt_ops structure.\n\nSigned-off-by: Tom Tucker \u003ctom@opengridcomputing.com\u003e\nAcked-by: Neil Brown \u003cneilb@suse.de\u003e\nReviewed-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nReviewed-by: Greg Banks \u003cgnb@sgi.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "490231558e058547da4ffab6d8ce8e28771749cc",
      "tree": "aac2eef69dbd262a755ee1cafec34787faf5d2f0",
      "parents": [
        "9f29868b491beee706931e0cf875a60cb4688754"
      ],
      "author": {
        "name": "Tom Tucker",
        "email": "tom@opengridcomputing.com",
        "time": "Sun Dec 30 21:07:21 2007 -0600"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Feb 01 16:42:08 2008 -0500"
      },
      "message": "svc: Add a max payload value to the transport\n\nThe svc_max_payload function currently looks at the socket type\nto determine the max payload. Add a max payload value to svc_xprt_class\nso it can be returned directly.\n\nSigned-off-by: Tom Tucker \u003ctom@opengridcomputing.com\u003e\nAcked-by: Neil Brown \u003cneilb@suse.de\u003e\nReviewed-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nReviewed-by: Greg Banks \u003cgnb@sgi.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "360d873864c8903a650b227758b49dd50e6ecc9f",
      "tree": "806631491e4848b194abd539293f124b366a49de",
      "parents": [
        "1d8206b97a09e7ff2fbef17d8d1ea008d764eeaa"
      ],
      "author": {
        "name": "Tom Tucker",
        "email": "tom@opengridcomputing.com",
        "time": "Sun Dec 30 21:07:17 2007 -0600"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Feb 01 16:42:07 2008 -0500"
      },
      "message": "svc: Make svc_sock the tcp/udp transport\n\nMake TCP and UDP svc_sock transports, and register them\nwith the svc transport core.\n\nA transport type (svc_sock) has an svc_xprt as its first member,\nand calls svc_xprt_init to initialize this field.\n\nSigned-off-by: Tom Tucker \u003ctom@opengridcomputing.com\u003e\nAcked-by: Neil Brown \u003cneilb@suse.de\u003e\nReviewed-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nReviewed-by: Greg Banks \u003cgnb@sgi.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "1d8206b97a09e7ff2fbef17d8d1ea008d764eeaa",
      "tree": "0975483e82fab57c25fdbb19a9946985659a8ca2",
      "parents": [
        "cb5c7d668e1af269a9409721268f027b86abf29c"
      ],
      "author": {
        "name": "Tom Tucker",
        "email": "tom@opengridcomputing.com",
        "time": "Sun Dec 30 21:07:15 2007 -0600"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Feb 01 16:42:07 2008 -0500"
      },
      "message": "svc: Add an svc transport class\n\nThe transport class (svc_xprt_class) represents a type of transport, e.g.\nudp, tcp, rdma.  A transport class has a unique name and a set of transport\noperations kept in the svc_xprt_ops structure.\n\nA transport class can be dynamically registered and unregisterd. The\nsvc_xprt_class represents the module that implements the transport\ntype and keeps reference counts on the module to avoid unloading while\nthere are active users.\n\nThe endpoint (svc_xprt) is a generic, transport independent endpoint that can\nbe used to send and receive data for an RPC service. It inherits it\u0027s\noperations from the transport class.\n\nA transport driver module registers and unregisters itself with svc sunrpc\nby calling svc_reg_xprt_class, and svc_unreg_xprt_class respectively.\n\nSigned-off-by: Tom Tucker \u003ctom@opengridcomputing.com\u003e\nAcked-by: Neil Brown \u003cneilb@suse.de\u003e\nReviewed-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nReviewed-by: Greg Banks \u003cgnb@sgi.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "cb5c7d668e1af269a9409721268f027b86abf29c",
      "tree": "11900b9087aaa34d5a5cf360d8fdac0e54c8003e",
      "parents": [
        "54ca95eb362d6988a577965ffb77c08702adb890"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Mon Jan 14 16:05:07 2008 -0500"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Feb 01 16:42:07 2008 -0500"
      },
      "message": "svcrpc: ensure gss DESTROY tokens free contexts from cache\n\nIf we don\u0027t do this then we\u0027ll end up with a pointless unusable context\nsitting in the cache until the time the original context would have\nexpired.\n\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "b39c18fce003bb2d5a51a4734d8fdd2c81fa1a78",
      "tree": "c89bd8e3e0af4cd11373ee317400f741010bc111",
      "parents": [
        "16141c0288f6a6ce2de51a1c39cc3407c841a535"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Sun Jan 06 21:32:37 2008 -0500"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Feb 01 16:42:07 2008 -0500"
      },
      "message": "sunrpc: gss: simplify rsi_parse logic\n\nMake an obvious simplification that removes a few lines and some\nunnecessary indentation; no change in behavior.\n\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "980e5a40a44400edc3f75b7931b8e75fcc3c21a3",
      "tree": "6edcef9f67ba32d817da97f500a2374e19734bd6",
      "parents": [
        "5c002b3bb294a637312cab7ad92a0deafa05a758"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Wed Dec 12 18:21:17 2007 -0500"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Feb 01 16:42:07 2008 -0500"
      },
      "message": "nfsd: fix rsi_cache reference count leak\n\nFor some reason we haven\u0027t been put()\u0027ing the reference count here.\n\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "dbf847ecb6318d3a22c6758fe39696d00f39063a",
      "tree": "2b71e776ca98bc94258f3539bd7f0ea53d2733a8",
      "parents": [
        "ffe9386b6e08e7132cb7730025d0ea310e08a182"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Thu Nov 08 17:20:34 2007 -0500"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Feb 01 16:42:05 2008 -0500"
      },
      "message": "knfsd: allow cache_register to return error on failure\n\nNewer server features such as nfsv4 and gss depend on proc to work, so a\nfailure to initialize the proc files they need should be treated as\nfatal.\n\nThanks to Andrew Morton for style fix and compile fix in case where\nCONFIG_NFSD_V4 is undefined.\n\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nAcked-by: NeilBrown \u003cneilb@suse.de\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "ffe9386b6e08e7132cb7730025d0ea310e08a182",
      "tree": "9189fca685067e105c4fbaf9f22d568e16639080",
      "parents": [
        "e331f606a85a2a9e84e9c63c94d43c0517136139"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Mon Nov 12 17:04:29 2007 -0500"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Feb 01 16:42:04 2008 -0500"
      },
      "message": "nfsd: move cache proc (un)registration to separate function\n\nJust some minor cleanup.\n\nAlso I don\u0027t see much point in trying to register further proc entries\nif initial entries fail; so just stop trying in that case.\n\nAcked-by: NeilBrown \u003cneilb@suse.de\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "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": "a490c681cbcf65d548138c377bb691c85824d323",
      "tree": "c95c06f827f3e8c0738c285556cc4919afbd0571",
      "parents": [
        "48b4ba3fdd7af319e90ade395162430934ee7b87"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Tue Nov 06 14:15:19 2007 -0500"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Feb 01 16:42:03 2008 -0500"
      },
      "message": "knfsd: fix cache.c comment\n\nThe path here must be left over from some earlier draft; fix it.  And do\nsome more minor cleanup while we\u0027re there.\n\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "e5cff482c78a35b9f149a06aa777a1bd693864fb",
      "tree": "2b60e05b09f78f82b2c90b1877f175769d55b45c",
      "parents": [
        "01b2969a8528b926f5e4d98161ae37053234475c"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Thu Nov 01 16:56:47 2007 -0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Feb 01 16:42:02 2008 -0500"
      },
      "message": "SUNRPC: Use unsigned string lengths in xdr_decode_string_inplace\n\nXDR strings, opaques, and net objects should all use unsigned lengths.\nTo wit, RFC 4506 says:\n\n4.2.  Unsigned Integer\n\n   An XDR unsigned integer is a 32-bit datum that encodes a non-negative\n   integer in the range [0,4294967295].\n\n ...\n\n4.11.  String\n\n   The standard defines a string of n (numbered 0 through n-1) ASCII\n   bytes to be the number n encoded as an unsigned integer (as described\n   above), and followed by the n bytes of the string.\n\nAfter this patch, xdr_decode_string_inplace now matches the other XDR\nstring and array helpers that take a string length argument.  See:\n\nxdr_encode_opaque_fixed, xdr_encode_opaque, xdr_encode_array\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nAcked-By: NeilBrown \u003cneilb@suse.de\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "01b2969a8528b926f5e4d98161ae37053234475c",
      "tree": "942fbf141743721476a3d79aa7b920ab9e72910f",
      "parents": [
        "d4395e03fec0895d01451904b8a2276ceda663c9"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Fri Oct 26 13:31:20 2007 -0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Feb 01 16:42:02 2008 -0500"
      },
      "message": "SUNRPC: Prevent length underflow in read_flush()\n\nMake sure we compare an unsigned length to an unsigned count in\nread_flush().\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "3eadf5f4f635ed6a6cd921195c320d58b5f9a185",
      "tree": "c784b178435b8554bc570a106a78577bb28c443a",
      "parents": [
        "f0b9205cfb77d992e8c0f727de3099159c80dbbd"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Thu Jan 31 19:33:53 2008 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Feb 01 16:15:40 2008 -0500"
      },
      "message": "mac80211: fix initialisation error path\n\nThe error handling in ieee80211_init() is broken when any of\nthe built-in rate control algorithms fail to initialise, fix\nit and rename the error labels.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "f0b9205cfb77d992e8c0f727de3099159c80dbbd",
      "tree": "cbeb323910b291afbaec19f9a0bd5d2749945a22",
      "parents": [
        "e903fbd41e9a723da194e91816bfb69d442eb116"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Thu Jan 31 19:31:57 2008 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Feb 01 16:14:30 2008 -0500"
      },
      "message": "mac80211 rate control: fix section mismatch\n\nWhen the rate control algorithms are built-in, their exit\nfunctions can be called from mac80211\u0027s init function so\nthey cannot be marked __exit.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nAcked-by: Stefano Brivio \u003cstefano.brivio@polimi.it\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "6feeb8aad7925b4c00f785eac3039c772629b42f",
      "tree": "d61348505908cfcddd1ff8af18f5bab613bbb6de",
      "parents": [
        "24e1c13c93cbdd05e4b7ea921c0050b036555adc"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Tue Jan 29 16:57:51 2008 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Feb 01 16:12:24 2008 -0500"
      },
      "message": "mac80211: make alignment warning optional\n\nDriver authors should be aware of the alignment requirements, but\nnot everybody cares about the warning. This patch makes it depend\non a new Kconfig symbol MAC80211_DEBUG_PACKET_ALIGNMENT which can\nbe enabled regardless of MAC80211_DEBUG and is recommended for\ndriver authors (only). This also restricts the warning to data\npackets so other packets need not be realigned to not trigger the\nwarning.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    }
  ],
  "next": "7759db82774802885f96c250b36c3dfe317e62ff"
}
