)]}'
{
  "log": [
    {
      "commit": "2430af8b7fa37ac0be102c77f9dc6ee669d24ba9",
      "tree": "76199ce83fd1ef26f1438302fb2f4898f537531d",
      "parents": [
        "6f4d6dc167a001267eeff18bdea0ce3e9108c662"
      ],
      "author": {
        "name": "Jiri Bohac",
        "email": "jbohac@suse.cz",
        "time": "Tue Apr 19 02:09:55 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Apr 20 01:44:43 2011 -0700"
      },
      "message": "bonding: 802.3ad - fix agg_device_up\n\nThe slave member of struct aggregator does not necessarily point\nto a slave which is part of the aggregator. It points to the\nslave structure containing the aggregator structure, while\ncompletely different slaves (or no slaves at all) may be part of\nthe aggregator.\n\nThe agg_device_up() function wrongly uses agg-\u003eslave to find the state\nof the aggregator.  Use agg-\u003elag_ports-\u003eslave instead. The bug has\nbeen introduced by commit 4cd6fe1c6483cde93e2ec91f58b7af9c9eea51ad\n(\"bonding: fix link down handling in 802.3ad mode\").\n\nSigned-off-by: Jiri Bohac \u003cjbohac@suse.cz\u003e\nSigned-off-by: Jay Vosburgh \u003cfubar@us.ibm.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "77c8e2c01542649f7a02fef8eb3b3d0e7fed6bbd",
      "tree": "2bdeb6ff656f5b0155d1fc001c8f54f47da68c0a",
      "parents": [
        "9814290ad0314fa0ce7991eae34ac44956e40b12"
      ],
      "author": {
        "name": "Peter Pan(潘卫平)",
        "email": "panweiping3@gmail.com",
        "time": "Mon Apr 11 00:16:32 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Apr 11 13:15:56 2011 -0700"
      },
      "message": "bonding:fix two typos\n\nreplace relpy with reply.\nreplace premanent with permanent.\n\nSigned-off-by: Weiping Pan(潘卫平) \u003cpanweiping3@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "9814290ad0314fa0ce7991eae34ac44956e40b12",
      "tree": "fd507ee6c38aff738ff764b942d4025d1e42ee4d",
      "parents": [
        "26f007b85a1bb73e1974ebd371cf5cd1e80c0a00"
      ],
      "author": {
        "name": "Peter Pan(潘卫平)",
        "email": "panweiping3@gmail.com",
        "time": "Mon Apr 11 00:15:57 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Apr 11 13:15:56 2011 -0700"
      },
      "message": "net: fix tranmitted/tranmitting typo\n\nreplace tranmitted with transmitted.\nreplace tranmitting with transmitting.\n\nSigned-off-by: Weiping Pan(潘卫平) \u003cpanweiping3@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "26f007b85a1bb73e1974ebd371cf5cd1e80c0a00",
      "tree": "677b2dc6a4b5d2885aaede92368beb1132134ad4",
      "parents": [
        "3b647568454acedb8f09f72931bfe92b73f812c7"
      ],
      "author": {
        "name": "Peter Pan(潘卫平)",
        "email": "panweiping3@gmail.com",
        "time": "Sun Apr 10 22:17:25 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Apr 11 13:15:55 2011 -0700"
      },
      "message": "bonding:delete unused rlb_interval_counter\n\nNow, alb_bond_info uses rx_ntt,rlb_update_delay_counter and\nrlb_update_retry_counter to decide when to call rlb_update_rx_clients().\n\nSigned-off-by: Weiping Pan(潘卫平) \u003cpanweiping3@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "3b647568454acedb8f09f72931bfe92b73f812c7",
      "tree": "ddb1610b5157c89c75b3ee0694c685c2783a9c3c",
      "parents": [
        "38dbaf0afb518e462de7afca552acad048237a73"
      ],
      "author": {
        "name": "Peter Pan(潘卫平)",
        "email": "panweiping3@gmail.com",
        "time": "Sun Apr 10 22:17:24 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Apr 11 13:15:55 2011 -0700"
      },
      "message": "bonding:delete unused alb_timer\n\nNow bonding-alb uses delayed_work instead of timer_list.\n\nSigned-off-by: Weiping Pan(潘卫平) \u003cpanweiping3@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "38dbaf0afb518e462de7afca552acad048237a73",
      "tree": "abebb39d02e08d539930332835ff8192bfa8134c",
      "parents": [
        "a08070acd43a76069ab20000cd02474369506add"
      ],
      "author": {
        "name": "Peter Pan(潘卫平)",
        "email": "panweiping3@gmail.com",
        "time": "Fri Apr 08 03:40:19 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Apr 11 13:15:54 2011 -0700"
      },
      "message": "bonding:set save_load to 0 when initializing\n\nIt is unnecessary to set save_load to 1 here,\nas the tx_hashtbl is just kzalloced.\n\nSigned-off-by: Weiping Pan(潘卫平) \u003cpanweiping3@gmail.com\u003e\nSigned-off-by: Jay Vosburgh \u003cfubar@us.ibm.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "42933bac11e811f02200c944d8562a15f8ec4ff0",
      "tree": "fcdd9afe56eb0e746565ddd1f92f22d36678b843",
      "parents": [
        "2b9accbee563f535046ff2cd382d0acaa92e130c",
        "25985edcedea6396277003854657b5f3cb31a628"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Apr 07 11:14:49 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Apr 07 11:14:49 2011 -0700"
      },
      "message": "Merge branch \u0027for-linus2\u0027 of git://git.profusion.mobi/users/lucas/linux-2.6\n\n* \u0027for-linus2\u0027 of git://git.profusion.mobi/users/lucas/linux-2.6:\n  Fix common misspellings\n"
    },
    {
      "commit": "25985edcedea6396277003854657b5f3cb31a628",
      "tree": "f026e810210a2ee7290caeb737c23cb6472b7c38",
      "parents": [
        "6aba74f2791287ec407e0f92487a725a25908067"
      ],
      "author": {
        "name": "Lucas De Marchi",
        "email": "lucas.demarchi@profusion.mobi",
        "time": "Wed Mar 30 22:57:33 2011 -0300"
      },
      "committer": {
        "name": "Lucas De Marchi",
        "email": "lucas.demarchi@profusion.mobi",
        "time": "Thu Mar 31 11:26:23 2011 -0300"
      },
      "message": "Fix common misspellings\n\nFixes generated by \u0027codespell\u0027 and manually reviewed.\n\nSigned-off-by: Lucas De Marchi \u003clucas.demarchi@profusion.mobi\u003e\n"
    },
    {
      "commit": "5e8996e72899847269ca36061ea33ea24bf6cb90",
      "tree": "60cf9ddfd3a3157c134799fe93648f112e13b7a5",
      "parents": [
        "a84b50ceb7d640437d0dc28a2bef0d0de054de89"
      ],
      "author": {
        "name": "Peter Pan(潘卫平)",
        "email": "panweiping3@gmail.com",
        "time": "Wed Mar 30 20:46:19 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Mar 31 01:54:22 2011 -0700"
      },
      "message": "bonding:typo in comment\n\nuse accumulates instead of acumulates.\n\nSigned-off-by: Pan Weiping \u003cpanweiping3@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "35d48903e9781975e823b359ee85c257c9ff5c1c",
      "tree": "889a517bd0ccfbf64978ca9f8b5e70225a268d87",
      "parents": [
        "cda6587c21a887254c8ed4b58da8fcc4040ab557"
      ],
      "author": {
        "name": "Jiri Pirko",
        "email": "jpirko@redhat.com",
        "time": "Tue Mar 22 02:38:12 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Mar 23 12:45:10 2011 -0700"
      },
      "message": "bonding: fix rx_handler locking\n\nThis prevents possible race between bond_enslave and bond_handle_frame\nas reported by Nicolas by moving rx_handler register/unregister.\nslave-\u003ebond is added to hold pointer to master bonding sructure. That\nway dev-\u003emaster is no longer used in bond_handler_frame.\nAlso, this removes \"BUG: scheduling while atomic\" message\n\nReported-by: Nicolas de Pesloüan \u003cnicolas.2p.debian@gmail.com\u003e\nSigned-off-by: Jiri Pirko \u003cjpirko@redhat.com\u003e\nSigned-off-by: Andy Gospodarek \u003candy@greyhouse.net\u003e\nTested-by: Nicolas de Pesloüan \u003cnicolas.2p.debian@free.fr\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "dadaa10b077133e5c03333131b82ecb13679af2b",
      "tree": "a13c20b71252303cd3726795c6bf5d2d970bc4f0",
      "parents": [
        "93d03203d5a165d7a757546245dd1543dfe0ff80"
      ],
      "author": {
        "name": "Nicolas de Pesloüan",
        "email": "nicolas.2p.debian@free.fr",
        "time": "Sat Mar 19 13:36:18 2011 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Mar 19 13:36:18 2011 -0700"
      },
      "message": "bonding: fix a typo in a comment\n\nSigned-off-by: Nicolas de Pesloüan \u003cnicolas.2p.debian@free.fr\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "ceda86a108671294052cbf51660097b6534672f5",
      "tree": "fd82cf21c099ba455e429bac7b8b0bbb9bd0d7ea",
      "parents": [
        "fbd5060875d25f7764fd1c3d35b83a8ed1d88d7b"
      ],
      "author": {
        "name": "Andy Gospodarek",
        "email": "andy@greyhouse.net",
        "time": "Mon Mar 14 12:05:21 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Mar 16 12:57:53 2011 -0700"
      },
      "message": "bonding: enable netpoll without checking link status\n\nOnly slaves that are up should transmit netpoll frames, so there is no\nneed to check to see if a slave is up before enabling netpoll on it.\nThis resolves a reported failure on active-backup bonds where a slave\ninterface is down when netpoll was enabled.\n\nSigned-off-by: Andy Gospodarek \u003candy@greyhouse.net\u003e\nTested-by: WANG Cong \u003camwang@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "8a4eb5734e8d1dc60a8c28576bbbdfdcc643626d",
      "tree": "ed4cd2f9a2a04a30994a8f8964a81834c895c0c9",
      "parents": [
        "2d7011ca79f1a8792e04d131b8ea21db179ab917"
      ],
      "author": {
        "name": "Jiri Pirko",
        "email": "jpirko@redhat.com",
        "time": "Sat Mar 12 03:14:39 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Mar 16 12:53:54 2011 -0700"
      },
      "message": "net: introduce rx_handler results and logic around that\n\nThis patch allows rx_handlers to better signalize what to do next to\nit\u0027s caller. That makes skb-\u003edeliver_no_wcard no longer needed.\n\nkernel-doc for rx_handler_result is taken from Nicolas\u0027 patch.\n\nSigned-off-by: Jiri Pirko \u003cjpirko@redhat.com\u003e\nReviewed-by: Nicolas de Pesloüan \u003cnicolas.2p.debian@free.fr\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "2d7011ca79f1a8792e04d131b8ea21db179ab917",
      "tree": "5c9c43a4d02c75b3c46e9fff94bb3f77c0607cd7",
      "parents": [
        "e30bc066ab67a4c8abcb972227ffe7c576f06a86"
      ],
      "author": {
        "name": "Jiri Pirko",
        "email": "jpirko@redhat.com",
        "time": "Wed Mar 16 08:46:43 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Mar 16 12:51:20 2011 -0700"
      },
      "message": "bonding: get rid of IFF_SLAVE_INACTIVE netdev-\u003epriv_flag\n\nSince bond-related code was moved from net/core/dev.c into bonding,\nIFF_SLAVE_INACTIVE is no longer needed. Replace is with flag \"inactive\"\nstored in slave structure\n\nSigned-off-by: Jiri Pirko \u003cjpirko@redhat.com\u003e\nReviewed-by: Nicolas de Pesloüan \u003cnicolas.2p.debian@free.fr\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e30bc066ab67a4c8abcb972227ffe7c576f06a86",
      "tree": "923689cd4ceade32c85d602a59b4e5feb320c300",
      "parents": [
        "0bd80dad57d82676ee484fb1f9aa4c5e8b5bc469"
      ],
      "author": {
        "name": "Jiri Pirko",
        "email": "jpirko@redhat.com",
        "time": "Sat Mar 12 03:14:37 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Mar 16 12:51:20 2011 -0700"
      },
      "message": "bonding: wrap slave state work\n\ntransfers slave-\u003estate into slave-\u003ebackup (that it\u0027s going to transfer\ninto bitfield. Introduce wrapper inlines to do the work with it.\n\nSigned-off-by: Jiri Pirko \u003cjpirko@redhat.com\u003e\nReviewed-by: Nicolas de Pesloüan \u003cnicolas.2p.debian@free.fr\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "0bd80dad57d82676ee484fb1f9aa4c5e8b5bc469",
      "tree": "f74ad36f8ab30ef3cff0404946cb440744d2b8b5",
      "parents": [
        "f1c1775ac7e61950225925c949045406ffcb43de"
      ],
      "author": {
        "name": "Jiri Pirko",
        "email": "jpirko@redhat.com",
        "time": "Wed Mar 16 08:45:23 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Mar 16 12:51:19 2011 -0700"
      },
      "message": "net: get rid of multiple bond-related netdevice-\u003epriv_flags\n\nNow when bond-related code is moved from net/core/dev.c into bonding\ncode, multiple priv_flags are not needed anymore. So let them rot.\n\nSigned-off-by: Jiri Pirko \u003cjpirko@redhat.com\u003e\nReviewed-by: Nicolas de Pesloüan \u003cnicolas.2p.debian@free.fr\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "f1c1775ac7e61950225925c949045406ffcb43de",
      "tree": "dff2fc348c566df3c18f023043fd308bb75662f7",
      "parents": [
        "c888385a0d61c4c6923ecc3b9dacfe8a1d8cb222"
      ],
      "author": {
        "name": "Jiri Pirko",
        "email": "jpirko@redhat.com",
        "time": "Sat Mar 12 03:14:35 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Mar 16 12:51:19 2011 -0700"
      },
      "message": "bonding: register slave pointer for rx_handler\n\nRegister slave pointer as rx_handler data. That would eventually prevent\nneed to loop over slave devices to find the right slave.\n\nUse synchronize_net to ensure that bond_handle_frame does not get slave\nstructure freed when working with that.\n\nSigned-off-by: Jiri Pirko \u003cjpirko@redhat.com\u003e\nReviewed-by: Nicolas de Pesloüan \u003cnicolas.2p.debian@free.fr\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "5f86cad1e8224af9e3b9b43dd84b146a9ff0df87",
      "tree": "45c7140cd8651fa51a285a4596539a3d56688af1",
      "parents": [
        "e826eafa65c6f1f7c8db5a237556cebac57ebcc5"
      ],
      "author": {
        "name": "Phil Oester",
        "email": "kernel@linuxace.com",
        "time": "Mon Mar 14 06:22:06 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Mar 15 19:29:39 2011 -0700"
      },
      "message": "bonding: Improve syslog message at device creation time\n\nWhen the bonding module is loaded, it creates bond0 by default.\nThen, when attempting to create bond0, the following messages\nare printed to syslog:\n\n    kernel: bonding: bond0 is being created...\n    kernel: bonding: Bond creation failed.\n\nWhich seems to indicate a problem, when in reality there is no\nproblem.  Since the actual error code is passed down from bond_create,\nmake use of it to print a bit less ominous message:\n\n    kernel: bonding: bond0 is being created...\n    kernel: bond0 already exists.\n\nSigned-off-by: Phil Oester \u003ckernel@linuxace.com\u003e\nSigned-off-by: Andy Gospodarek \u003candy@greyhouse.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e826eafa65c6f1f7c8db5a237556cebac57ebcc5",
      "tree": "4f88eb6bd3ae6e963ab02250f3051379e1d91276",
      "parents": [
        "fd0e435b0fe85622f167b84432552885a4856ac8"
      ],
      "author": {
        "name": "Phil Oester",
        "email": "kernel@linuxace.com",
        "time": "Mon Mar 14 06:22:05 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Mar 15 19:29:38 2011 -0700"
      },
      "message": "bonding: Call netif_carrier_off after register_netdevice\n\nBringing up a bond interface with all network cables disconnected\ndoes not properly set the interface as DOWN because the call to\nnetif_carrier_off occurs too early in bond_init.  The call needs\nto occur after register_netdevice has set dev-\u003ereg_state to\nNETREG_REGISTERED, so that netif_carrier_off will trigger the\ncall to linkwatch_fire_event.\n\nSigned-off-by: Phil Oester \u003ckernel@linuxace.com\u003e\nSigned-off-by: Andy Gospodarek \u003candy@greyhouse.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "fd0e435b0fe85622f167b84432552885a4856ac8",
      "tree": "787a74b3a33ea940fffbee7a2e46fb14e9c27fa2",
      "parents": [
        "4a37390de98547e42ad0cb617bd2f2d452f2d4c7"
      ],
      "author": {
        "name": "Phil Oester",
        "email": "kernel@linuxace.com",
        "time": "Mon Mar 14 06:22:04 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Mar 15 19:29:37 2011 -0700"
      },
      "message": "bonding: Incorrect TX queue offset\n\nWhen packets come in from a device with \u003e\u003d 16 receive queues\nheaded out a bonding interface, syslog gets filled with this:\n\n    kernel: bond0 selects TX queue 16, but real number of TX queues is 16\n\nbecause queue_mapping is offset by 1.  Adjust return value\nto account for the offset.\n\nThis is a revision of my earlier patch (which did not use the\nskb_rx_queue_* helpers - thanks to Ben for the suggestion).\nAndy submitted a similar patch which emits a pr_warning on\ninvalid queue selection, but I believe the log spew is\nnot useful.  We can revisit that question in the future,\nbut in the interim I believe fixing the core problem is\nworthwhile.\n\nSigned-off-by: Phil Oester \u003ckernel@linuxace.com\u003e\nSigned-off-by: Andy Gospodarek \u003candy@greyhouse.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "78fbfd8a653ca972afe479517a40661bfff6d8c3",
      "tree": "9dccc5c16bf269d53d8499064ec95a998e84c646",
      "parents": [
        "1561747ddf9d28185548687b11aae7074d6129c4"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Mar 12 00:00:52 2011 -0500"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Mar 12 15:08:42 2011 -0800"
      },
      "message": "ipv4: Create and use route lookup helpers.\n\nThe idea here is this minimizes the number of places one has to edit\nin order to make changes to how flows are defined and used.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "33175d84ee3fa29991adb80513683e010769e807",
      "tree": "3731f61cf82451b6892cf1368701e57e35d92908",
      "parents": [
        "c5908939b2738bafe1b309bc2465cb9f2e6184c5",
        "6dfbd87a20a737641ef228230c77f4262434fa24"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Mar 10 14:26:00 2011 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Mar 10 14:26:00 2011 -0800"
      },
      "message": "Merge branch \u0027master\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6\n\nConflicts:\n\tdrivers/net/bnx2x/bnx2x_cmn.c\n"
    },
    {
      "commit": "bd33acc3cc525972ac779067e98efb26516c5b94",
      "tree": "ba11a65bb14001f390abe15644c7397c7ffc4935",
      "parents": [
        "a015f6f49968c330b236ca2f6c2170820414f922"
      ],
      "author": {
        "name": "Amerigo Wang",
        "email": "amwang@redhat.com",
        "time": "Sun Mar 06 21:58:46 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Mar 09 13:32:17 2011 -0800"
      },
      "message": "bonding: move procfs code into bond_procfs.c\n\nV2: Move #ifdef CONFIG_PROC_FS into bonding.h, as suggested by David.\n\nbond_main.c is bloating, separate the procfs code out,\nmove them to bond_procfs.c\n\nSigned-off-by: WANG Cong \u003camwang@redhat.com\u003e\nReviewed-by: Jiri Pirko \u003cjpirko@redhat.com\u003e\nSigned-off-by: Andy Gospodarek \u003candy@greyhouse.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "9ac3524a948cab48137a8b40a4fa8ae1092b0a24",
      "tree": "ab03bb4ace08ee4803b01d75e1f85d7e4de7b308",
      "parents": [
        "16d79d7dc98e56d4700054b9b785a92102d8998c"
      ],
      "author": {
        "name": "Nils Carlson",
        "email": "nils.carlson@ericsson.com",
        "time": "Thu Mar 03 22:09:12 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Mar 07 16:02:18 2011 -0800"
      },
      "message": "bonding 802.3ad: Rename rx_machine_lock to state_machine_lock\n\nRename the rx_machine_lock to state_machine_lock as this makes more\nsense in light of it now protecting all the state machines against\nconcurrency.\n\nSigned-off-by: Nils Carlson \u003cnils.carlson@ericsson.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "16d79d7dc98e56d4700054b9b785a92102d8998c",
      "tree": "975e808eed2b39d12fd09bb884fc24dd013410d6",
      "parents": [
        "ce3c869283739379134e1a90c37dd1a30b5f31b7"
      ],
      "author": {
        "name": "Nils Carlson",
        "email": "nils.carlson@ericsson.com",
        "time": "Thu Mar 03 22:09:11 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Mar 07 16:02:17 2011 -0800"
      },
      "message": "bonding 802.3ad: Fix the state machine locking v2\n\nChanges since v1:\n* Clarify an unclear comment\n* Move a (possible) name change to a separate patch\n\nThe ad_rx_machine, ad_periodic_machine and ad_port_selection_logic\nfunctions all inspect and alter common fields within the port structure.\nPrevious to this patch, only the ad_rx_machines were mutexed, and the\nperiodic and port_selection could run unmutexed against an ad_rx_machine\ntrigged by an arriving LACPDU.\n\nThis patch remedies the situation by protecting all the state machines\nfrom concurrency. This is accomplished by locking around all the state\nmachines for a given port, which are executed at regular intervals; and\nthe ad_rx_machine when handling an incoming LACPDU.\n\nSigned-off-by: Nils Carlson \u003cnils.carlson@ericsson.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "541ac7c9b30ee2ff84ad87f27e0bc069e143afb5",
      "tree": "bb1e2377bf33ecee73518b0c517980f5a33b8405",
      "parents": [
        "cca134fe784a01cf4eb9f0621b0104591b7ddfba"
      ],
      "author": {
        "name": "Changli Gao",
        "email": "xiaosuo@gmail.com",
        "time": "Wed Mar 02 21:07:14 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Mar 07 15:45:08 2011 -0800"
      },
      "message": "bonding: COW before overwriting the destination MAC address\n\nWhen there is a ptype handler holding a clone of this skb, whose\ndestination MAC addresse is overwritten, the owner of this handler may\nget a corrupted packet.\n\nSigned-off-by: Changli Gao \u003cxiaosuo@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "cca134fe784a01cf4eb9f0621b0104591b7ddfba",
      "tree": "fd273d10393538a13be950a97073c4ea8126ae26",
      "parents": [
        "ef28a4e6ecb8fbe742ea51fc9ec836b5289d1301"
      ],
      "author": {
        "name": "Changli Gao",
        "email": "xiaosuo@gmail.com",
        "time": "Wed Mar 02 18:26:21 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Mar 07 15:45:07 2011 -0800"
      },
      "message": "bonding: remove the unused dummy functions when net poll controller isn\u0027t enabled\n\nThese two functions are only used when net poll controller is enabled.\n\nSigned-off-by: Changli Gao \u003cxiaosuo@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b23dd4fe42b455af5c6e20966b7d6959fa8352ea",
      "tree": "bf97323eae9a8d084170e573ff2c0c40bc72c3cd",
      "parents": [
        "452edd598f60522c11f7f88fdbab27eb36509d1a"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Mar 02 14:31:35 2011 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Mar 02 14:31:35 2011 -0800"
      },
      "message": "ipv4: Make output route lookup return rtable directly.\n\nInstead of on the stack.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e364a3416d81c7717dd642dc9b3ab132b7885f66",
      "tree": "4ca2bccdb3db1d08378da976f7e53e3ccfa426c8",
      "parents": [
        "8da83f8e73a42fa3142843938aa1590b82acb6ec"
      ],
      "author": {
        "name": "Amerigo Wang",
        "email": "amwang@redhat.com",
        "time": "Sun Feb 27 23:34:28 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Feb 28 13:21:28 2011 -0800"
      },
      "message": "bonding: use the correct size for _simple_hash()\n\nClearly it should be the size of -\u003eip_dst here.\nAlthough this is harmless, but it still reads odd.\n\nSigned-off-by: WANG Cong \u003camwang@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "4ec952b8ab636e87465ed78a1ca5fa5efe0d5e0f",
      "tree": "20b4dc6b8364aaa8b6315e93e3a680d9ab68bc54",
      "parents": [
        "a693e69897e7811e2790295f38a0ce3a92c4b45c"
      ],
      "author": {
        "name": "stephen hemminger",
        "email": "shemminger@vyatta.com",
        "time": "Wed Feb 23 07:40:33 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Feb 28 12:39:58 2011 -0800"
      },
      "message": "bonding: fix sparse warning\n\nFix use of zero where NULL expected. And wrap long line.\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nSigned-off-by: Jay Vosburgh \u003cfubar@us.ibm.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "5b2c4dd2ec12cf0e53b2bd2926f0fe2d1fbb4eda",
      "tree": "281cf5e006d738d5121153c564d9b1f48171a366",
      "parents": [
        "e3dfa389fd2c79526b4bbf295726b66d21001664"
      ],
      "author": {
        "name": "Jiri Pirko",
        "email": "jpirko@redhat.com",
        "time": "Wed Feb 23 09:05:42 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Feb 27 23:29:01 2011 -0800"
      },
      "message": "net: convert bonding to use rx_handler\n\nThis patch converts bonding to use rx_handler. Results in cleaner\n__netif_receive_skb() with much less exceptions needed. Also\nbond-specific work is moved into bond code.\n\nDid performance test using pktgen and counting incoming packets by\niptables. No regression noted.\n\nSigned-off-by: Jiri Pirko \u003cjpirko@redhat.com\u003e\nReviewed-by: Nicolas de Pesloüan \u003cnicolas.2p.debian@free.fr\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "080e4130b1fb6a02e75149a1cccc8192e734713d",
      "tree": "09627d9d6e7811fc4ae119df03b892327efbd0dc",
      "parents": [
        "8a8efa22f51b3c3f879d272914e3dbbc2041bf91"
      ],
      "author": {
        "name": "Amerigo Wang",
        "email": "amwang@redhat.com",
        "time": "Thu Feb 17 23:43:33 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Feb 27 16:11:51 2011 -0800"
      },
      "message": "netpoll: remove IFF_IN_NETPOLL flag\n\nV4: rebase to net-next-2.6\n\nThis patch removes the flag IFF_IN_NETPOLL, we don\u0027t need it any more since\nwe have netpoll_tx_running() now.\n\nSigned-off-by: WANG Cong \u003camwang@redhat.com\u003e\nAcked-by: Neil Horman \u003cnhorman@tuxdriver.com\u003e\nCc: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "8a8efa22f51b3c3f879d272914e3dbbc2041bf91",
      "tree": "dc4fd5df150bec7a54b92dd70f8a1f64c0ce5b26",
      "parents": [
        "70919e23ac35c9c244dfd73f97312894cae7d65f"
      ],
      "author": {
        "name": "Amerigo Wang",
        "email": "amwang@redhat.com",
        "time": "Thu Feb 17 23:43:32 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Feb 27 16:11:50 2011 -0800"
      },
      "message": "bonding: sync netpoll code with bridge\n\nV4: rebase to net-next-2.6\nV3: remove an useless #ifdef.\n\nThis patch unifies the netpoll code in bonding with netpoll code in bridge,\nthanks to Herbert that code is much cleaner now.\n\nSigned-off-by: WANG Cong \u003camwang@redhat.com\u003e\nAcked-by: Neil Horman \u003cnhorman@tuxdriver.com\u003e\nCc: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "9232ecca3ecd2e32140118c8fdabd7f8fb9ef4d5",
      "tree": "083caf3744bb7cd6505d1561b770fdca764dbe68",
      "parents": [
        "fbaec0ea54f7d9131891ff98744e82c073ce03b1"
      ],
      "author": {
        "name": "Jiri Pirko",
        "email": "jpirko@redhat.com",
        "time": "Sun Feb 13 09:33:01 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Feb 13 16:58:40 2011 -0800"
      },
      "message": "bond: implement [add/del]_slave ops\n\nallow enslaving/releasing using netlink interface\n\nSigned-off-by: Jiri Pirko \u003cjpirko@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "1765a575334f1a232c1478accdee5c7d19f4b3e3",
      "tree": "6613f53ce9095b799048d891f0b4b6e34a479fe0",
      "parents": [
        "d59cfde2fb960b5970ccb5a38cea25d38b37a8e8"
      ],
      "author": {
        "name": "Jiri Pirko",
        "email": "jpirko@redhat.com",
        "time": "Sat Feb 12 06:48:36 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Feb 13 10:42:07 2011 -0800"
      },
      "message": "net: make dev-\u003emaster general\n\ndev-\u003emaster is now tightly connected to bonding driver. This patch makes\nthis pointer more general and ready to be used by others.\n\n - netdev_set_master() - bond specifics moved to new function\n   netdev_set_bond_master()\n - introduced netif_is_bond_slave() to check if device is a bonding slave\n\nSigned-off-by: Jiri Pirko \u003cjpirko@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "672bda337060fa2ff99866a6ebfa3ae036f8b23b",
      "tree": "3dde2d776d9a38494790a9d8c6eeb593676218b7",
      "parents": [
        "a512b92b3af4b03fc6834617a042dc85fbd4e34e"
      ],
      "author": {
        "name": "Jiri Pirko",
        "email": "jpirko@redhat.com",
        "time": "Tue Jan 25 11:03:25 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jan 25 13:13:16 2011 -0800"
      },
      "message": "bonding: fix return value of couple of store functions\n\ncount is incorrectly returned even in case of fail. Return ret instead.\n\nSigned-off-by: Jiri Pirko \u003cjpirko@redhat.com\u003e\nSigned-off-by: Jay Vosburgh \u003cfubar@us.ibm.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "acd1130e8793fb150fb522da8ec51675839eb4b1",
      "tree": "0da6f9f8f7690b426ff069f95bb28bf9e692d534",
      "parents": [
        "04ed3e741d0f133e02bed7fa5c98edba128f90e7"
      ],
      "author": {
        "name": "Michał Mirosław",
        "email": "mirq-linux@rere.qmqm.pl",
        "time": "Mon Jan 24 15:45:15 2011 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jan 24 15:45:15 2011 -0800"
      },
      "message": "net: reduce and unify printk level in netdev_fix_features()\n\nReduce printk() levels to KERN_INFO in netdev_fix_features() as this will\nbe used by ethtool and might spam dmesg unnecessarily.\n\nThis converts the function to use netdev_info() instead of plain printk().\n\nAs a side effect, bonding and bridge devices will now log dropped features\non every slave device change.\n\nSigned-off-by: Michał Mirosław \u003cmirq-linux@rere.qmqm.pl\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "04ed3e741d0f133e02bed7fa5c98edba128f90e7",
      "tree": "3dde4ca8306e98536faa69bccf0e47a2549c088f",
      "parents": [
        "57422dc530115e427dff464cc0a32bcd0efb5008"
      ],
      "author": {
        "name": "Michał Mirosław",
        "email": "mirq-linux@rere.qmqm.pl",
        "time": "Mon Jan 24 15:32:47 2011 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jan 24 15:32:47 2011 -0800"
      },
      "message": "net: change netdev-\u003efeatures to u32\n\nQuoting Ben Hutchings: we presumably won\u0027t be defining features that\ncan only be enabled on 64-bit architectures.\n\nOccurences found by `grep -r` on net/, drivers/net, include/\n\n[ Move features and vlan_features next to each other in\n  struct netdev, as per Eric Dumazet\u0027s suggestion -DaveM ]\n\nSigned-off-by: Michał Mirosław \u003cmirq-linux@rere.qmqm.pl\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e92427b289d252cfbd4cb5282d92f4ce1a5bb1fb",
      "tree": "6d30e5e7b7f8e9aaa51d43b7128ac56860fa03bb",
      "parents": [
        "c506653d35249bb4738bb139c24362e1ae724bc1",
        "ec30f343d61391ab23705e50a525da1d55395780"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jan 24 13:17:06 2011 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jan 24 13:17:06 2011 -0800"
      },
      "message": "Merge branch \u0027master\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/torvalds/linux-2.6\n"
    },
    {
      "commit": "b30532515f0a62bfe17207ab00883dd262497006",
      "tree": "136732c3bb862639d3e4c1d5a0f3724cd7e8000d",
      "parents": [
        "6a3c869a6021f4abcd69aa5fbb15c63f69eb36fe"
      ],
      "author": {
        "name": "Neil Horman",
        "email": "nhorman@tuxdriver.com",
        "time": "Thu Jan 20 09:02:31 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jan 20 16:45:56 2011 -0800"
      },
      "message": "bonding: Ensure that we unshare skbs prior to calling pskb_may_pull\n\nRecently reported oops:\n\nkernel BUG at net/core/skbuff.c:813!\ninvalid opcode: 0000 [#1] SMP\nlast sysfs file: /sys/devices/virtual/net/bond0/broadcast\nCPU 8\nModules linked in: sit tunnel4 cpufreq_ondemand acpi_cpufreq freq_table bonding\nipv6 dm_mirror dm_region_hash dm_log cdc_ether usbnet mii serio_raw i2c_i801\ni2c_core iTCO_wdt iTCO_vendor_support shpchp ioatdma i7core_edac edac_core bnx2\nixgbe dca mdio sg ext4 mbcache jbd2 sd_mod crc_t10dif mptsas mptscsih mptbase\nscsi_transport_sas dm_mod [last unloaded: microcode]\n\nModules linked in: sit tunnel4 cpufreq_ondemand acpi_cpufreq freq_table bonding\nipv6 dm_mirror dm_region_hash dm_log cdc_ether usbnet mii serio_raw i2c_i801\ni2c_core iTCO_wdt iTCO_vendor_support shpchp ioatdma i7core_edac edac_core bnx2\nixgbe dca mdio sg ext4 mbcache jbd2 sd_mod crc_t10dif mptsas mptscsih mptbase\nscsi_transport_sas dm_mod [last unloaded: microcode]\nPid: 0, comm: swapper Not tainted 2.6.32-71.el6.x86_64 #1 BladeCenter HS22\n-[7870AC1]-\nRIP: 0010:[\u003cffffffff81405b16\u003e]  [\u003cffffffff81405b16\u003e]\npskb_expand_head+0x36/0x1e0\nRSP: 0018:ffff880028303b70  EFLAGS: 00010202\nRAX: 0000000000000002 RBX: ffff880c6458ec80 RCX: 0000000000000020\nRDX: 0000000000000000 RSI: 0000000000000000 RDI: ffff880c6458ec80\nRBP: ffff880028303bc0 R08: ffffffff818a6180 R09: ffff880c6458ed64\nR10: ffff880c622b36c0 R11: 0000000000000400 R12: 0000000000000000\nR13: 0000000000000180 R14: ffff880c622b3000 R15: 0000000000000000\nFS:  0000000000000000(0000) GS:ffff880028300000(0000) knlGS:0000000000000000\nCS:  0010 DS: 0018 ES: 0018 CR0: 000000008005003b\nCR2: 00000038653452a4 CR3: 0000000001001000 CR4: 00000000000006e0\nDR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000\nDR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400\nProcess swapper (pid: 0, threadinfo ffff8806649c2000, task ffff880c64f16ab0)\nStack:\n ffff880028303bc0 ffffffff8104fff9 000000000000001c 0000000100000000\n\u003c0\u003e ffff880000047d80 ffff880c6458ec80 000000000000001c ffff880c6223da00\n\u003c0\u003e ffff880c622b3000 0000000000000000 ffff880028303c10 ffffffff81407f7a\nCall Trace:\n\u003cIRQ\u003e\n [\u003cffffffff8104fff9\u003e] ? __wake_up_common+0x59/0x90\n [\u003cffffffff81407f7a\u003e] __pskb_pull_tail+0x2aa/0x360\n [\u003cffffffffa0244530\u003e] bond_arp_rcv+0x2c0/0x2e0 [bonding]\n [\u003cffffffff814a0857\u003e] ? packet_rcv+0x377/0x440\n [\u003cffffffff8140f21b\u003e] netif_receive_skb+0x2db/0x670\n [\u003cffffffff8140f788\u003e] napi_skb_finish+0x58/0x70\n [\u003cffffffff8140fc89\u003e] napi_gro_receive+0x39/0x50\n [\u003cffffffffa01286eb\u003e] ixgbe_clean_rx_irq+0x35b/0x900 [ixgbe]\n [\u003cffffffffa01290f6\u003e] ixgbe_clean_rxtx_many+0x136/0x240 [ixgbe]\n [\u003cffffffff8140fe53\u003e] net_rx_action+0x103/0x210\n [\u003cffffffff81073bd7\u003e] __do_softirq+0xb7/0x1e0\n [\u003cffffffff810d8740\u003e] ? handle_IRQ_event+0x60/0x170\n [\u003cffffffff810142cc\u003e] call_softirq+0x1c/0x30\n [\u003cffffffff81015f35\u003e] do_softirq+0x65/0xa0\n [\u003cffffffff810739d5\u003e] irq_exit+0x85/0x90\n [\u003cffffffff814cf915\u003e] do_IRQ+0x75/0xf0\n [\u003cffffffff81013ad3\u003e] ret_from_intr+0x0/0x11\n \u003cEOI\u003e\n [\u003cffffffff8101bc01\u003e] ? mwait_idle+0x71/0xd0\n [\u003cffffffff814cd80a\u003e] ? atomic_notifier_call_chain+0x1a/0x20\n [\u003cffffffff81011e96\u003e] cpu_idle+0xb6/0x110\n [\u003cffffffff814c17c8\u003e] start_secondary+0x1fc/0x23f\n\nResulted from bonding driver registering packet handlers via dev_add_pack and\nthen trying to call pskb_may_pull. If another packet handler (like for AF_PACKET\nsockets) gets called first, the delivered skb will have a user count \u003e 1, which\ncauses pskb_may_pull to BUG halt when it does its skb_shared check.  Fix this by\ncalling skb_share_check prior to the may_pull call sites in the bonding driver\nto clone the skb when needed.  Tested by myself and the reported successfully.\n\nSigned-off-by: Neil Horman\nCC: Andy Gospodarek \u003candy@greyhouse.net\u003e\nCC: Jay Vosburgh \u003cfubar@us.ibm.com\u003e\nCC: \"David S. Miller\" \u003cdavem@davemloft.net\u003e\nSigned-off-by: Jay Vosburgh \u003cfubar@us.ibm.com\u003e\nSigned-off-by: Andy Gospodarek \u003candy@greyhouse.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "008d23e4852d78bb2618f2035f8b2110b6a6b968",
      "tree": "81c88f744f6f3fc84132527c1ddc0b4da410c5e2",
      "parents": [
        "8f685fbda43deccd130d192c9fcef1444649eaca",
        "bfc672dcf323877228682aff79dff8ecd9f30ff8"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 13 10:05:56 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 13 10:05:56 2011 -0800"
      },
      "message": "Merge branch \u0027for-next\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial\n\n* \u0027for-next\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial: (43 commits)\n  Documentation/trace/events.txt: Remove obsolete sched_signal_send.\n  writeback: fix global_dirty_limits comment runtime -\u003e real-time\n  ppc: fix comment typo singal -\u003e signal\n  drivers: fix comment typo diable -\u003e disable.\n  m68k: fix comment typo diable -\u003e disable.\n  wireless: comment typo fix diable -\u003e disable.\n  media: comment typo fix diable -\u003e disable.\n  remove doc for obsolete dynamic-printk kernel-parameter\n  remove extraneous \u0027is\u0027 from Documentation/iostats.txt\n  Fix spelling milisec -\u003e ms in snd_ps3 module parameter description\n  Fix spelling mistakes in comments\n  Revert conflicting V4L changes\n  i7core_edac: fix typos in comments\n  mm/rmap.c: fix comment\n  sound, ca0106: Fix assignment to \u0027channel\u0027.\n  hrtimer: fix a typo in comment\n  init/Kconfig: fix typo\n  anon_inodes: fix wrong function name in comment\n  fix comment typos concerning \"consistent\"\n  poll: fix a typo in comment\n  ...\n\nFix up trivial conflicts in:\n - drivers/net/wireless/iwlwifi/iwl-core.c (moved to iwl-legacy.c)\n - fs/ext4/ext4.h\n\nAlso fix missed \u0027diabled\u0027 typo in drivers/net/bnx2x/bnx2x.h while at it.\n"
    },
    {
      "commit": "57cc7215b70856dc6bae8e55b00ecd7b1d7429b1",
      "tree": "f6dedefd41e6745a9b801166b99af7d830e41ef2",
      "parents": [
        "37721e1b0cf98cb65895f234d8c500d270546529"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Mon Jan 10 08:18:25 2011 +0200"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jan 10 08:51:44 2011 -0800"
      },
      "message": "headers: kobject.h redux\n\nRemove kobject.h from files which don\u0027t need it, notably,\nsched.h and fs.h.\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "4b7bd364700d9ac8372eff48832062b936d0793b",
      "tree": "0dbf78c95456a0b02d07fcd473281f04a87e266d",
      "parents": [
        "c0d8768af260e2cbb4bf659ae6094a262c86b085",
        "90a8a73c06cc32b609a880d48449d7083327e11a"
      ],
      "author": {
        "name": "Jiri Kosina",
        "email": "jkosina@suse.cz",
        "time": "Wed Dec 22 18:57:02 2010 +0100"
      },
      "committer": {
        "name": "Jiri Kosina",
        "email": "jkosina@suse.cz",
        "time": "Wed Dec 22 18:57:02 2010 +0100"
      },
      "message": "Merge branch \u0027master\u0027 into for-next\n\nConflicts:\n\tMAINTAINERS\n\tarch/arm/mach-omap2/pm24xx.c\n\tdrivers/scsi/bfa/bfa_fcpim.c\n\nNeeded to update to apply fixes for which the old branch was too\noutdated.\n"
    },
    {
      "commit": "b4aa9e05a61b845541fa6f5b1d246976922601f0",
      "tree": "ca94478c3df281ab76a3399f5ba6341ade3f5791",
      "parents": [
        "1dc0f3c54ce1df957f99c17b145488fd03eb1a59",
        "4b8fe66300acb2fba8b16d62606e0d30204022fc"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Dec 17 12:27:22 2010 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Dec 17 12:27:22 2010 -0800"
      },
      "message": "Merge branch \u0027master\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6\n\nConflicts:\n\tdrivers/net/bnx2x/bnx2x.h\n\tdrivers/net/wireless/iwlwifi/iwl-1000.c\n\tdrivers/net/wireless/iwlwifi/iwl-6000.c\n\tdrivers/net/wireless/iwlwifi/iwl-core.h\n\tdrivers/vhost/vhost.c\n"
    },
    {
      "commit": "caafa84251b886feb6cdf23d50e2cc99dcdaaaf3",
      "tree": "13f37d7be313fea5eb2b9d8e0557a5e3ff1107fb",
      "parents": [
        "411204a5a1ec1a35363d8ef450c77e2b8235da4d"
      ],
      "author": {
        "name": "Taku Izumi",
        "email": "izumi.taku@jp.fujitsu.com",
        "time": "Sun Dec 12 19:04:43 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Dec 16 13:16:05 2010 -0800"
      },
      "message": "bonding: add the debugfs interface to see RLB hash table\n\nThis patch provices the debugfs interface to see RLB hash table\nlike the following:\n\n# cat /sys/kernel/debug/bonding/bond0/rlb_hash_table\nSourceIP        DestinationIP   Destination MAC   DEV\n10.124.196.205  10.124.196.205  ff:ff:ff:ff:ff:ff eth4\n10.124.196.205  10.124.196.81   00:19:99:XX:XX:XX eth3\n10.124.196.205  10.124.196.1    00:21:d8:XX:XX:XX eth0\n\nThis is helpful to check if the receive load balancing works as expected.\n\nSigned-off-by: Taku Izumi \u003cizumi.taku@jp.fujitsu.com\u003e\nSigned-off-by: Jay Vosburgh \u003cfubar@us.ibm.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "411204a5a1ec1a35363d8ef450c77e2b8235da4d",
      "tree": "6f40217c3a6d3f7395507880a86aad1a158b047b",
      "parents": [
        "ad6bad3efbb82206837daad8cba2bc9343d778bf"
      ],
      "author": {
        "name": "Taku Izumi",
        "email": "izumi.taku@jp.fujitsu.com",
        "time": "Sun Dec 12 19:03:24 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Dec 16 13:16:05 2010 -0800"
      },
      "message": "bonding: migrate some macros from bond_alb.c to bond_alb.h\n\nThis patch simply migrates some macros from bond_alb.c to bond_alb.h.\n\nSigned-off-by: Taku Izumi \u003cizumi.taku@jp.fujitsu.com\u003e\nSigned-off-by: Jay Vosburgh \u003cfubar@us.ibm.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "f88a4a9b65a6f3422b81be995535d0e69df11bb8",
      "tree": "7b9875784d13030b70a0f55219afa97de437b051",
      "parents": [
        "ffa95ed50f9fb2d8faaa6bd73086a7056ea46a06"
      ],
      "author": {
        "name": "Ben Hutchings",
        "email": "bhutchings@solarflare.com",
        "time": "Mon Dec 13 08:20:24 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Dec 16 12:43:22 2010 -0800"
      },
      "message": "bonding/vlan: Fix mangled NAs on slaves without VLAN tag insertion\n\nbond_na_send() attempts to insert a VLAN tag in between building and\nsending packets of the respective formats.  If the slave does not\nimplement hardware VLAN tag insertion then vlan_put_tag() will mangle\nthe network-layer header because the Ethernet header is not present at\nthis point (unlike in bond_arp_send()).\n\nFix this by adding the tag out-of-line and relying on\ndev_hard_start_xmit() to insert it inline if necessary.\n\nSigned-off-by: Ben Hutchings \u003cbhutchings@solarflare.com\u003e\nSigned-off-by: Jay Vosburgh \u003cfubar@us.ibm.com\u003e\nReviewed-by: Jesse Gross \u003cjesse@nicira.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "ffa95ed50f9fb2d8faaa6bd73086a7056ea46a06",
      "tree": "17502c5275b8f28563ccfd15f23fe85a5e2dabfe",
      "parents": [
        "8387451e558853f7b513790c0070e3b6f0c135aa"
      ],
      "author": {
        "name": "Ben Hutchings",
        "email": "bhutchings@solarflare.com",
        "time": "Mon Dec 13 08:19:56 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Dec 16 12:43:22 2010 -0800"
      },
      "message": "bonding: Change active slave quietly when bond is down\n\nbond_change_active_slave() may be called when a slave is added, even\nif the bond has not been brought up yet.  It may then attempt to send\npackets, and further it may use mcast_work which is uninitialised\nbefore the bond is brought up.  Add the necessary checks for\nnetif_running(bond-\u003edev).\n\nSigned-off-by: Ben Hutchings \u003cbhutchings@solarflare.com\u003e\nSigned-off-by: Jay Vosburgh \u003cfubar@us.ibm.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "8387451e558853f7b513790c0070e3b6f0c135aa",
      "tree": "4ba7b1c1190e690f750323dc802b9d5b4337a76d",
      "parents": [
        "42dccd1f757d674a6604077a61d1577d1578c755"
      ],
      "author": {
        "name": "Ben Hutchings",
        "email": "bhutchings@solarflare.com",
        "time": "Mon Dec 13 08:19:28 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Dec 16 12:43:21 2010 -0800"
      },
      "message": "bonding/vlan: Remove redundant VLAN tag insertion logic\n\nA bond may have a mixture of slave devices with and without hardware\nVLAN tag insertion capability.  Therefore it always claims this\ncapability and performs software VLAN tag insertion if the slave does\nnot.\n\nSince commit 7b9c60903714bf0a19d746b228864bad3497284e, this has\nalso been done by dev_hard_start_xmit().  The result is that VLAN-\ntagged skbs are now double-tagged when transmitted through slave\ndevices without hardware VLAN tag insertion!\n\nRemove the now-redundant logic from bond_dev_queue_xmit().\n\nSigned-off-by: Ben Hutchings \u003cbhutchings@solarflare.com\u003e\nSigned-off-by: Jay Vosburgh \u003cfubar@us.ibm.com\u003e\nReviewed-by: Jesse Gross \u003cjesse@nicira.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "af3e5bd5f650163c2e12297f572910a1af1b8236",
      "tree": "378ed230dc95ca29058c772aaf38aee44e583f63",
      "parents": [
        "82cc4f5cb8be6dede34c32a814ab1470409e1840"
      ],
      "author": {
        "name": "Hillf Danton",
        "email": "dhillf@gmail.com",
        "time": "Fri Dec 10 18:54:11 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Dec 16 12:24:02 2010 -0800"
      },
      "message": "bonding: Fix slave selection bug.\n\nThe returned slave is incorrect, if the net device under check is not\ncharged yet by the master.\n\nSigned-off-by: Hillf Danton \u003cdhillf@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "f073c7ca29a4a7e14060d9d3ddf09bfbb7cd9cc0",
      "tree": "d545b7e77908ffb101c16d1be8cfe641828fa9b9",
      "parents": [
        "6c2c9d964e71770e7d6efc1a82f3621005d12185"
      ],
      "author": {
        "name": "Taku Izumi",
        "email": "izumi.taku@jp.fujitsu.com",
        "time": "Thu Dec 09 15:17:13 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Dec 10 16:24:33 2010 -0800"
      },
      "message": "bonding: add the debugfs facility to the bonding driver\n\nThis patch provides the debugfs facility to the bonding driver.\nThe \"bonding\" directory is created in the debugfs root and directories of\neach bonding interface (like bond0, bond1...) are created in that.\n\n # mount -t debugfs none /sys/kernel/debug\n\n # ls /sys/kernel/debug/bonding\n bond0  bond1\n\nSigned-off-by: Taku Izumi \u003cizumi.taku@jp.fujitsu.com\u003e\nSigned-off-by: Jay Vosburgh \u003cfubar@us.ibm.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "fb4fa76a1fa59340154c42d998d700e1f8bf21e0",
      "tree": "c9d66f1bd9468708ad5a241aa818c075f93f071f",
      "parents": [
        "4e085e76cbe558b79b54cbab772f61185879bc64"
      ],
      "author": {
        "name": "Neil Horman",
        "email": "nhorman@tuxdriver.com",
        "time": "Mon Dec 06 09:05:50 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Dec 09 20:33:46 2010 -0800"
      },
      "message": "net: Convert netpoll blocking api in bonding driver to be a counter\n\nA while back I made some changes to enable netpoll in the bonding driver.  Among\nthem was a per-cpu flag that indicated we were in a path that held locks which\ncould cause the netpoll path to block in during tx, and as such the tx path\nshould queue the frame for later use.  This appears to have given rise to a\nregression.  If one of those paths on which we hold the per-cpu flag yields the\ncpu, its possible for us to come back on a different cpu, leading to us clearing\na different flag than we set.  This results in odd netpoll drops, and BUG\nbacktraces appearing in the log, as we check to make sure that we only clear set\nbits, and only set clear bits.  I had though briefly about changing the\noffending paths so that they wouldn\u0027t sleep, but looking at my origional work\nmore closely, it doesn\u0027t appear that a per-cpu flag is warranted.  We alrady\ngate the checking of this flag on IFF_IN_NETPOLL, so we don\u0027t hit this in the\nnormal tx case anyway.  And practically speaking, the normal use case for\nnetpoll is to only have one client anyway, so we\u0027re not going to erroneously\nqueue netpoll frames when its actually safe to do so.  As such, lets just\nconvert that per-cpu flag to an atomic counter.  It fixes the rescheduling bugs,\nis equivalent from a performance perspective and actually eliminates some code\nin the process.\n\nTested by the reporter and myself, successfully\n\nReported-by: Liang Zheng \u003clzheng@redhat.com\u003e\nCC: Jay Vosburgh \u003cfubar@us.ibm.com\u003e\nCC: Andy Gospodarek \u003candy@greyhouse.net\u003e\nCC: David S. Miller \u003cdavem@davemloft.net\u003e\nSigned-off-by: Neil Horman \u003cnhorman@tuxdriver.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "fe6c791570efe717946ea7b7dd50aec96b70d551",
      "tree": "1becb5e8aea7a9c9a7d78f987bd73b0a5d8ee434",
      "parents": [
        "f8bf5681cf15f77692c8ad8cb95d059ff7c622c9",
        "f19872575ff7819a3723154657a497d9bca66b33"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Dec 08 13:15:38 2010 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Dec 08 13:47:38 2010 -0800"
      },
      "message": "Merge branch \u0027master\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6\n\nConflicts:\n\tdrivers/net/wireless/ath/ath9k/ar9003_eeprom.c\n\tnet/llc/af_llc.c\n"
    },
    {
      "commit": "d13a2cb63d06fe2e3067c7d40f9a5946abd614c8",
      "tree": "02c1a03ebd493b1dde6ace6f2ee88bb60866e741",
      "parents": [
        "6c08af030212d1a34593397bb01f262ff31c3629"
      ],
      "author": {
        "name": "David Strand",
        "email": "dpstrand@gmail.com",
        "time": "Wed Dec 01 11:43:08 2010 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Dec 01 11:43:08 2010 -0800"
      },
      "message": "bonding: check for assigned mac before adopting the slaves mac address\n\nRestore the check for an unassigned mac address before adopting the\nfirst slaves as it\u0027s own. The change in behavior was introduced by:\n\ncommit c20811a79e671a6a1fe86a8c1afe04aca8a7f085\nAuthor: Jiri Pirko \u003cjpirko@redhat.com\u003e\n\n    bonding: move dev_addr cpy to bond_enslave\n\n\nSigned-off-by: David Strand \u003cdpstrand@gmail.com\u003e\nSigned-off-by: Jay Vosburgh \u003cfubar@us.ibm.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "24912420e923d56461b400d83f250a31bed8a964",
      "tree": "3bb599e665ed7510df2e3f4c8cb008f7a33f50a9",
      "parents": [
        "0670b8ae66daf1d326c7bd10e73daff5f18fcf92",
        "0302b8622ce696af1cda22fcf207d3793350e896"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Nov 19 13:13:47 2010 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Nov 19 13:13:47 2010 -0800"
      },
      "message": "Merge branch \u0027master\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6\n\nConflicts:\n\tdrivers/net/bonding/bond_main.c\n\tnet/core/net-sysfs.c\n\tnet/ipv6/addrconf.c\n"
    },
    {
      "commit": "866f3b25a2eb60d7529c227a0ecd80c3aba443fd",
      "tree": "b11b24cf158a232641548b6c652bf9e001ae1446",
      "parents": [
        "dda0b38692a7298f433b92b1329867b1ecabb4bb"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Thu Nov 18 09:33:19 2010 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Nov 18 09:33:19 2010 -0800"
      },
      "message": "bonding: IGMP handling cleanup\n\nInstead of iterating in_dev-\u003emc_list from bonding driver, its better\nto call a helper function provided by igmp.c\nDetails of implementation (locking) are private to igmp code.\n\nip_mc_rejoin_group(struct ip_mc_list *im) becomes\nip_mc_rejoin_groups(struct in_device *in_dev);\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "3006bc38895895f1a0352c2e17e1a503f35f7e2f",
      "tree": "24a3a9ecbee9215898b4c6b30357740eeeb632bb",
      "parents": [
        "28cb6ccd2c7e86b3a4db94c7062cd27937bed424"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Thu Nov 18 09:30:42 2010 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Nov 18 09:30:42 2010 -0800"
      },
      "message": "bonding: fix a race in IGMP handling\n\nRCU conversion in IGMP code done in net-next-2.6 raised a race in\n__bond_resend_igmp_join_requests().\n\nIt iterates in_dev-\u003emc_list without appropriate protection (RTNL, or\nread_lock on in_dev-\u003emc_list_lock).\n\nAnother cpu might delete an entry while we use it and trigger a fault.\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "c04914af6861d62df303aeedbbe554972ce4e736",
      "tree": "47e835b36264498574a6e09e8d1032ece0cbcdfc",
      "parents": [
        "a17531fa4c951f32ca4f90b04ca42cfb11924098"
      ],
      "author": {
        "name": "Joe Perches",
        "email": "joe@perches.com",
        "time": "Mon Nov 15 11:12:25 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Nov 17 10:36:50 2010 -0800"
      },
      "message": "drivers/net/bonding: Remove unnecessary casts of netdev_priv\n\nSigned-off-by: Joe Perches \u003cjoe@perches.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e4a7b93bd5d84e1e79917d024d17d745d190fc9a",
      "tree": "84a80b1b60ca952498a6e8e5587256a5bb8d54cf",
      "parents": [
        "840a185dddfd098b78b96a30da4cad722a7aef18"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Fri Oct 29 01:52:46 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Nov 08 13:50:07 2010 -0800"
      },
      "message": "bonding: remove dev_base_lock use\n\nbond_info_seq_start() uses a read_lock(\u0026dev_base_lock) to make sure\ndevice doesn’t disappear. Same goal can be achieved using RCU.\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b595076a180a56d1bb170e6eceda6eb9d76f4cd3",
      "tree": "bc01ec7283808013e0b8ce7713fd6fc40f810429",
      "parents": [
        "6aaccece1c483f189f76f1282b3984ff4c7ecb0a"
      ],
      "author": {
        "name": "Uwe Kleine-König",
        "email": "u.kleine-koenig@pengutronix.de",
        "time": "Mon Nov 01 15:38:34 2010 -0400"
      },
      "committer": {
        "name": "Jiri Kosina",
        "email": "jkosina@suse.cz",
        "time": "Mon Nov 01 15:38:34 2010 -0400"
      },
      "message": "tree-wide: fix comment/printk typos\n\n\"gadget\", \"through\", \"command\", \"maintain\", \"maintain\", \"controller\", \"address\",\n\"between\", \"initiali[zs]e\", \"instead\", \"function\", \"select\", \"already\",\n\"equal\", \"access\", \"management\", \"hierarchy\", \"registration\", \"interest\",\n\"relative\", \"memory\", \"offset\", \"already\",\n\nSigned-off-by: Uwe Kleine-König \u003cu.kleine-koenig@pengutronix.de\u003e\nSigned-off-by: Jiri Kosina \u003cjkosina@suse.cz\u003e\n"
    },
    {
      "commit": "a71fb88145a03678fef3796930993e390db68a15",
      "tree": "d35645b0f3768861e2b18723c2a4bcc68c0034eb",
      "parents": [
        "74b0b85b88aaa952023762e0280799aaae849841"
      ],
      "author": {
        "name": "Jarek Poplawski",
        "email": "jarkao2@gmail.com",
        "time": "Wed Oct 27 07:08:22 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Oct 27 14:24:07 2010 -0700"
      },
      "message": "bonding: Fix lockdep warning after bond_vlan_rx_register()\n\nFix lockdep warning:\n[   52.991402] \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n[   52.991511] [ INFO: SOFTIRQ-safe -\u003e SOFTIRQ-unsafe lock order detected ]\n[   52.991569] 2.6.36-04573-g4b60626-dirty #65\n[   52.991622] ------------------------------------------------------\n[   52.991696] ip/4842 [HC0[0]:SC0[4]:HE1:SE0] is trying to acquire:\n[   52.991758]  (\u0026bond-\u003elock){++++..}, at: [\u003cefe4d300\u003e] bond_set_multicast_list+0x60/0x2c0 [bonding]\n[   52.991966]\n[   52.991967] and this task is already holding:\n[   52.992008]  (\u0026bonding_netdev_addr_lock_key){+.....}, at: [\u003cc04e5530\u003e] dev_mc_sync+0x50/0xa0\n[   52.992008] which would create a new lock dependency:\n[   52.992008]  (\u0026bonding_netdev_addr_lock_key){+.....} -\u003e (\u0026bond-\u003elock){++++..}\n[   52.992008]\n[   52.992008] but this new dependency connects a SOFTIRQ-irq-safe lock:\n[   52.992008]  (\u0026(\u0026mc-\u003emca_lock)-\u003erlock){+.-...}\n[   52.992008] ... which became SOFTIRQ-irq-safe at:\n[   52.992008]   [\u003cc0272beb\u003e] __lock_acquire+0x96b/0x1960\n[   52.992008]   [\u003cc027415e\u003e] lock_acquire+0x7e/0xf0\n[   52.992008]   [\u003cc05f356d\u003e] _raw_spin_lock_bh+0x3d/0x50\n[   52.992008]   [\u003cc0584e40\u003e] mld_ifc_timer_expire+0xf0/0x280\n[   52.992008]   [\u003cc024cee6\u003e] run_timer_softirq+0x146/0x310\n[   52.992008]   [\u003cc024591d\u003e] __do_softirq+0xad/0x1c0\n[   52.992008]\n[   52.992008] to a SOFTIRQ-irq-unsafe lock:\n[   52.992008]  (\u0026bond-\u003elock){++++..}\n[   52.992008] ... which became SOFTIRQ-irq-unsafe at:\n[   52.992008] ...  [\u003cc0272c3b\u003e] __lock_acquire+0x9bb/0x1960\n[   52.992008]   [\u003cc027415e\u003e] lock_acquire+0x7e/0xf0\n[   52.992008]   [\u003cc05f36b8\u003e] _raw_write_lock+0x38/0x50\n[   52.992008]   [\u003cefe4cbe4\u003e] bond_vlan_rx_register+0x24/0x70 [bonding]\n[   52.992008]   [\u003cc0598010\u003e] register_vlan_dev+0xc0/0x280\n[   52.992008]   [\u003cc0599f3a\u003e] vlan_newlink+0xaa/0xd0\n[   52.992008]   [\u003cc04ed4b4\u003e] rtnl_newlink+0x404/0x490\n[   52.992008]   [\u003cc04ece35\u003e] rtnetlink_rcv_msg+0x1e5/0x220\n[   52.992008]   [\u003cc050424e\u003e] netlink_rcv_skb+0x8e/0xb0\n[   52.992008]   [\u003cc04ecbac\u003e] rtnetlink_rcv+0x1c/0x30\n[   52.992008]   [\u003cc0503bfb\u003e] netlink_unicast+0x24b/0x290\n[   52.992008]   [\u003cc0503e37\u003e] netlink_sendmsg+0x1f7/0x310\n[   52.992008]   [\u003cc04cd41c\u003e] sock_sendmsg+0xac/0xe0\n[   52.992008]   [\u003cc04ceb80\u003e] sys_sendmsg+0x130/0x230\n[   52.992008]   [\u003cc04cf04e\u003e] sys_socketcall+0xde/0x280\n[   52.992008]   [\u003cc0202d10\u003e] sysenter_do_call+0x12/0x36\n[   52.992008]\n[   52.992008] other info that might help us debug this:\n...\n[ Full info at netdev: Wed, 27 Oct 2010 12:24:30 +0200\n  Subject: [BUG net-2.6 vlan/bonding] lockdep splats ]\n\nUse BH variant of write_lock(\u0026bond-\u003elock) (as elsewhere in bond_main)\nto prevent this dependency.\n\nFixes commit f35188faa0fbabefac476536994f4b6f3677380f [v2.6.36]\n\nReported-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nTested-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: Jarek Poplawski \u003cjarkao2@gmail.com\u003e\nAcked-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nCc: Jay Vosburgh \u003cfubar@us.ibm.com\u003e\n"
    },
    {
      "commit": "7bfc47532301a84c575cfc20b4531f5de5c326bc",
      "tree": "fbe14b9923e12084c1b983fc09ba8158744907cc",
      "parents": [
        "128ea6c3eece8e87c05813d3a57f4ea079c3dbc7"
      ],
      "author": {
        "name": "Bandan Das",
        "email": "bandan.das@stratus.com",
        "time": "Sat Oct 16 20:19:59 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Oct 21 03:09:49 2010 -0700"
      },
      "message": "bonding: cleanup: remove braces from single block statements\n\ncheckpatch.pl cleanup : Remove braces from single statement\nblocks.\n\nSigned-off-by: Bandan Das \u003cbandan.das@stratus.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "128ea6c3eece8e87c05813d3a57f4ea079c3dbc7",
      "tree": "8ccdf5b26793039947df1b03628166e6371de9b6",
      "parents": [
        "7453da829786061e81c9c11b7a34a2834146894f"
      ],
      "author": {
        "name": "Bandan Das",
        "email": "bandan.das@stratus.com",
        "time": "Sat Oct 16 20:19:58 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Oct 21 03:09:49 2010 -0700"
      },
      "message": "bonding: cleanup : add space around operators\n\ncheckpatch.pl cleanup: Added spaces around operators at various places.\nAlso fixed some c99 style comments that I came across.\n\nSigned-off-by: Bandan Das \u003cbandan.das@stratus.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "26d8ee75e08cfca8b65ade871d68c8cd96e4ea23",
      "tree": "d27ed544e355915b8624a59ebcdc97d1a3e3a118",
      "parents": [
        "1c4c40c42da468ef02dc04940930c1926c964558"
      ],
      "author": {
        "name": "stephen hemminger",
        "email": "shemminger@vyatta.com",
        "time": "Fri Oct 15 05:09:34 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Oct 21 03:09:46 2010 -0700"
      },
      "message": "bonding: make release_and_destroy static\n\nOnly used in main file.\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nAcked-by: Andy Gospodarek \u003candy@greyhouse.net\u003e\nSigned-off-by: Jay Vosburgh \u003cfubar@us.ibm.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "379b7383413d883ffc4db55914626ca303e6f7f5",
      "tree": "95b004fbb4f4064e277ce0913a9001c113f322e4",
      "parents": [
        "d215697fe14a0c5a96765c6279b4751e632587a5"
      ],
      "author": {
        "name": "stephen hemminger",
        "email": "shemminger@vyatta.com",
        "time": "Fri Oct 15 11:02:56 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Oct 21 03:09:43 2010 -0700"
      },
      "message": "bonding: make bond_resend_igmp_join_requests_delayed static\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nAcked-by: Flavio Leitner \u003cfleitner@redhat.com\u003e\nSigned-off-by: Jay Vosburgh \u003cfubar@us.ibm.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "9ff76c951c5194d44a7cdce51d807d67fc3ae514",
      "tree": "afd0af3d6c304e58483c59ffeaaf0f2c30b10a31",
      "parents": [
        "0683e31ad5d9b4cab3cc32d033269e8cf675823a"
      ],
      "author": {
        "name": "Neil Horman",
        "email": "nhorman@tuxdriver.com",
        "time": "Tue Oct 19 07:04:25 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Oct 20 01:44:29 2010 -0700"
      },
      "message": "netpoll: Remove netpoll blocking from uninit path\n\nSome recent testing in netpoll with bonding showed this backtrace\n\n ------------[ cut here ]------------\n kernel BUG at drivers/net/bonding/bonding.h:134!\n invalid opcode: 0000 [#1] SMP\n last sysfs file: /sys/devices/pci0000:00/0000:00:1d.2/usb7/devnum\n CPU 0\n Pid: 1876, comm: rmmod Not tainted 2.6.36-rc3+ #10 D26928/\n RIP: 0010:[\u003cffffffffa0514ba4\u003e]  [\u003cffffffffa0514ba4\u003e] bond_uninit+0x6f4/0x7a0\n RSP: 0018:ffff88003b1b5d58  EFLAGS: 00010296\n RAX: ffff88003b9b6200 RBX: ffff8800373e8e00 RCX: 00000000000f4240\n RDX: 00000000ffffffff RSI: 0000000000000286 RDI: 0000000000000286\n RBP: ffff88003b1b5dc8 R08: 0000000000000000 R09: 00000001af7de920\n R10: 0000000000000000 R11: ffff880002495e98 R12: ffff880037922700\n R13: ffff880038c31000 R14: ffff880037922730 R15: 0000000000000286\n FS:  00007f90e6d72700(0000) GS:ffff880002400000(0000) knlGS:0000000000000000\n CS:  0010 DS: 0000 ES: 0000 CR0: 000000008005003b\n CR2: 000000346f0d9ad0 CR3: 000000003b263000 CR4: 00000000000006f0\n DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000\n DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400\n Process rmmod (pid: 1876, threadinfo ffff88003b1b4000, task ffff88003b36aa80)\n Stack:\n 00000000ffffffff ffff88003b1b5d7a ffff8800379221e8 ffff880037922000\n \u003c0\u003e ffff88003b1b5dc8 ffffffff813eb5fb ffff88003b1b5da8 0000000031b177a3\n \u003c0\u003e ffff88003b1b5da8 ffff880037922000 ffff88003b1b5e48 ffff88003b1b5e48\n Call Trace:\n [\u003cffffffff813eb5fb\u003e] ? rtmsg_ifinfo+0xcb/0xf0\n [\u003cffffffff813daad8\u003e] rollback_registered_many+0x168/0x280\n [\u003cffffffff813dac09\u003e] unregister_netdevice_many+0x19/0x80\n [\u003cffffffff813e97b3\u003e] __rtnl_kill_links+0x63/0x90\n [\u003cffffffff813e980b\u003e] __rtnl_link_unregister+0x2b/0x60\n [\u003cffffffff813e9bde\u003e] rtnl_link_unregister+0x1e/0x30\n [\u003cffffffffa052124b\u003e] bonding_exit+0x37/0x51 [bonding]\n [\u003cffffffff81098b2e\u003e] sys_delete_module+0x19e/0x270\n [\u003cffffffff810bb2b2\u003e] ? audit_syscall_entry+0x252/0x280\n [\u003cffffffff8100b0b2\u003e] system_call_fastpath+0x16/0x1b\n RIP  [\u003cffffffffa0514ba4\u003e] bond_uninit+0x6f4/0x7a0 [bonding]\n RSP \u003cffff88003b1b5d58\u003e\n ---[ end trace 1395ad691cea24d1 ]---\n\nIt occurs because of my recent netpoll blocking patches, which I added to avoid\nrecursive deadlock in the bonding driver.  It relies on some per cpu bits, but\nthe shutdown path forces some rescheduling as we cancel workqueues for the\ndriver and wait for some device refcounts.  If after the forced reschedule, we\nwind up on a different cpu we trigger the bughalt in unblock_netpoll_tx.\n\nThe fix is to remove the netpoll block/unblock calls from bond_release_all.\nThis is safe to do because bond_uninit, which is called via ndo_uninit in\nrollback_registered_many, doesn\u0027t occur until we send a NETDEV_UNREGISTER event,\nwhich triggers netconsole to remove us as a netpoll client, so we are guaranteed\nnot to recurse into our own tx path here.\n\nSigned-off-by: Neil Horman \u003cnhorman@tuxdriver.com\u003e\nReviewed-by: WANG Cong \u003camwang@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "45b0cb8abdbdd425934f6b02dbb3963dd89fef55",
      "tree": "85f5d0bbee2dbcf4538b62bc0f8e90a2992c4dcb",
      "parents": [
        "3b410a310b48a8e7de3438957635093596ad5ca5"
      ],
      "author": {
        "name": "Neil Horman",
        "email": "nhorman@tuxdriver.com",
        "time": "Wed Oct 13 16:01:53 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Oct 18 08:32:09 2010 -0700"
      },
      "message": "bonding: Re-enable netpoll over bonding\n\nWith the inclusion of previous fixup patches, netpoll over bonding apears to\nwork reliably with failover conditions.  This reverts Gospos previous commit\nc22d7ac844f1cb9c6a5fd20f89ebadc2feef891b, and allows access again to the netpoll\nfunctionality in the bonding driver.\n\nSigned-off-by: Neil Horman \u003cnhorman@tuxdriver.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e843fa50887582c867d8b7995f81fe9c1a076806",
      "tree": "5a8e34f5afaeeed539d519b0e91b7a4c92268b11",
      "parents": [
        "c2355e1ab910278a94d487b78590ee3c8eecd08a"
      ],
      "author": {
        "name": "Neil Horman",
        "email": "nhorman@tuxdriver.com",
        "time": "Wed Oct 13 16:01:50 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Oct 18 08:32:07 2010 -0700"
      },
      "message": "bonding: Fix deadlock in bonding driver resulting from internal locking when using netpoll\n\nThe monitoring paths in the bonding driver take write locks that are shared by\nthe tx path.  If netconsole is in use, these paths can call printk which puts us\nin the netpoll tx path, which, if netconsole is attached to the bonding driver,\nresult in deadlock (the xmit_lock guards are useless in netpoll_send_skb, as the\nmonitor paths in the bonding driver don\u0027t claim the xmit_lock, nor should they).\nThe solution is to use a per cpu flag internal to the driver to indicate when a\ncpu is holding the lock in a path that might recusrse into the tx path for the\ndriver via netconsole.  By checking this flag on transmit, we can defer the\nsending of the netconsole frames until a later time using the retransmit feature\nof netpoll_send_skb that is triggered on the return code NETDEV_TX_BUSY.  I\u0027ve\ntested this and am able to transmit via netconsole while causing failover\nconditions on the bond slave links.\n\nSigned-off-by: Neil Horman \u003cnhorman@tuxdriver.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "c2355e1ab910278a94d487b78590ee3c8eecd08a",
      "tree": "6a3adce66355ad36483500475f9931d0e359695e",
      "parents": [
        "c6ce3854f098e1307ecd3bde07903d65fb14a9cb"
      ],
      "author": {
        "name": "Neil Horman",
        "email": "nhorman@tuxdriver.com",
        "time": "Wed Oct 13 16:01:49 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Oct 18 08:32:07 2010 -0700"
      },
      "message": "bonding: Fix bonding drivers improper modification of netpoll structure\n\nThe bonding driver currently modifies the netpoll structure in its xmit path\nwhile sending frames from netpoll.  This is racy, as other cpus can access the\nnetpoll structure in parallel. Since the bonding driver points np-\u003edev to a\nslave device, other cpus can inadvertently attempt to send data directly to\nslave devices, leading to improper locking with the bonding master, lost frames,\nand deadlocks.  This patch fixes that up.\n\nThis patch also removes the real_dev pointer from the netpoll structure as that\ndata is really only used by bonding in the poll_controller, and we can emulate\nits behavior by check each slave for IS_UP.\n\nSigned-off-by: Neil Horman \u003cnhorman@tuxdriver.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "69259abb64d4da77273bf59accfc9fa79e7165f4",
      "tree": "bd043ab03a788b749c8d5ae4049d8defae9abf34",
      "parents": [
        "dd53df265b1ee7a1fbbc76bb62c3bec2383bbd44",
        "12e94471b2be5ef9b55b10004a3a2cd819490036"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Oct 06 19:39:31 2010 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Oct 06 19:39:31 2010 -0700"
      },
      "message": "Merge branch \u0027master\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6\n\nConflicts:\n\tdrivers/net/pcmcia/pcnet_cs.c\n\tnet/caif/caif_socket.c\n"
    },
    {
      "commit": "dd53df265b1ee7a1fbbc76bb62c3bec2383bbd44",
      "tree": "33bf0fc60aafea1363ec89cdb756b93414419130",
      "parents": [
        "767e97e1e0db0d0f3152cd2f3bd3403596aedbad"
      ],
      "author": {
        "name": "Krzysztof Oledzki",
        "email": "ole@ans.pl",
        "time": "Thu Sep 30 06:19:04 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Oct 06 18:43:34 2010 -0700"
      },
      "message": "bonding: add Speed/Duplex information to /proc/net/bonding/bond\n\nEffect:\n Slave Interface: eth5\n MII Status: up\n Speed: 10000 Mbps\n Duplex: full\n Link Failure Count: 0\n Permanent HW addr: XX:XX:XX:XX:XX:XX\n Slave queue ID: 0\n\nSigned-off-by: Krzysztof Piotr Oledzki \u003cole@ans.pl\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "546add79468183f266c75c632c96e4b0029e0d96",
      "tree": "1be2cca38edc0d2fdc2f5fc2c9cdddb0585cbaa3",
      "parents": [
        "700c2a779e6d5a60e2ef4716e75ea7f41546602f"
      ],
      "author": {
        "name": "Krzysztof Piotr Oledzki",
        "email": "ole@ans.pl",
        "time": "Wed Oct 06 14:28:22 2010 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Oct 06 14:28:22 2010 -0700"
      },
      "message": "bonding: reread information about speed and duplex when interface goes up\n\nWhen an interface was enslaved when it was down, bonding thinks\nit has speed -1 even after it goes up. This leads into selecting\na wrong active interface in active/backup mode on mixed 10G/1G or\n1G/100M environment.\n\nbefore:\n bonding: bond0: link status definitely up for interface eth5, 100 Mbps full duplex.\n bonding: bond0: link status definitely up for interface eth0, 100 Mbps full duplex.\n\nafter:\n bonding: bond0: link status definitely up for interface eth5, 10000 Mbps full duplex.\n bonding: bond0: link status definitely up for interface eth0, 1000 Mbps full duplex.\n\nSigned-off-by: Krzysztof Piotr Oledzki \u003cole@ans.pl\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "700c2a779e6d5a60e2ef4716e75ea7f41546602f",
      "tree": "c2558f87d2db5d9bc1e2c4110970d6db27d5c02b",
      "parents": [
        "4f5157307652f1cbff2413b5e81ebcadd8e2524b"
      ],
      "author": {
        "name": "Krzysztof Piotr Oledzki",
        "email": "ole@ans.pl",
        "time": "Wed Oct 06 14:25:06 2010 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Oct 06 14:25:06 2010 -0700"
      },
      "message": "bonding: print information about speed and duplex seen by the driver\n\nbefore:\n bonding: bond0: link status definitely up for interface eth5\n bonding: bond0: link status definitely up for interface eth0\n\nafter:\n bonding: bond0: link status definitely up for interface eth5, 100 Mbps full duplex.\n bonding: bond0: link status definitely up for interface eth0, 100 Mbps full duplex.\n\n\nSigned-off-by: Krzysztof Piotr Oledzki \u003cole@ans.pl\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "c2952c314b4fe61820ba8fd6c949eed636140d52",
      "tree": "dd7ab927c7d344279e128f38d90387214cd06e13",
      "parents": [
        "e12b453904c54bbdc515778ff664d87a7f9473af"
      ],
      "author": {
        "name": "Flavio Leitner",
        "email": "fleitner@redhat.com",
        "time": "Tue Oct 05 14:23:59 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Oct 05 20:26:58 2010 -0700"
      },
      "message": "bonding: add retransmit membership reports tunable\n\nAllow sysadmins to configure the number of multicast\nmembership report sent on a link failure event.\n\nSigned-off-by: Flavio Leitner \u003cfleitner@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "5a37e8ca8536c47871d46c82211f399adf06fd44",
      "tree": "a691902b909171122ebaa51412165051c54a2a85",
      "parents": [
        "a8bb69f78194dc483f6c4a4bf8860c1ede35fa25"
      ],
      "author": {
        "name": "Flavio Leitner",
        "email": "fleitner@redhat.com",
        "time": "Tue Oct 05 14:23:57 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Oct 05 20:26:56 2010 -0700"
      },
      "message": "bonding: rejoin multicast groups on VLANs\n\nDuring a failover, the IGMP membership is sent to update\nthe switch restoring the traffic, but it misses groups added\nto VLAN devices running on top of bonding devices.\n\nThis patch changes it to iterate over all VLAN devices\non top of it sending IGMP memberships too.\n\nSigned-off-by: Flavio Leitner \u003cfleitner@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "27e6f065df132b5270014d3285889b15185e9da9",
      "tree": "b529f186972ab0577e96e4234803d795f143a2bd",
      "parents": [
        "392bd0cb000d4aac9e88e4f50823db85e7220688"
      ],
      "author": {
        "name": "Neil Horman",
        "email": "nhorman@tuxdriver.com",
        "time": "Tue Oct 05 03:39:21 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Oct 05 20:06:01 2010 -0700"
      },
      "message": "bonding: fix WARN_ON when writing to bond_master sysfs file\n\nFix a WARN_ON failure in bond_masters sysfs file\n\nGot a report of this warning recently\n\nbonding: bond0 is being created...\n------------[ cut here ]------------\nWARNING: at fs/proc/generic.c:590 proc_register+0x14d/0x185()\nHardware name: ProLiant BL465c G1\nproc_dir_entry \u0027bonding/bond0\u0027 already registered\nModules linked in: bonding ipv6 tg3 bnx2 shpchp amd64_edac_mod edac_core\nipmi_si\nipmi_msghandler serio_raw i2c_piix4 k8temp edac_mce_amd hpwdt microcode hpsa\ncc\niss radeon ttm drm_kms_helper drm i2c_algo_bit i2c_core [last unloaded:\nscsi_wai\nt_scan]\nPid: 935, comm: ifup-eth Not tainted 2.6.33.5-124.fc13.x86_64 #1\nCall Trace:\n[\u003cffffffff8104b54c\u003e] warn_slowpath_common+0x77/0x8f\n[\u003cffffffff8104b5b1\u003e] warn_slowpath_fmt+0x3c/0x3e\n[\u003cffffffff8114bf0b\u003e] proc_register+0x14d/0x185\n[\u003cffffffff8114c20c\u003e] proc_create_data+0x87/0xa1\n[\u003cffffffffa0211e9b\u003e] bond_create_proc_entry+0x55/0x95 [bonding]\n[\u003cffffffffa0215e5d\u003e] bond_init+0x95/0xd0 [bonding]\n[\u003cffffffff8138cd97\u003e] register_netdevice+0xdd/0x29e\n[\u003cffffffffa021240b\u003e] bond_create+0x8e/0xb8 [bonding]\n[\u003cffffffffa021c4be\u003e] bonding_store_bonds+0xb3/0x1c1 [bonding]\n[\u003cffffffff812aec85\u003e] class_attr_store+0x27/0x29\n[\u003cffffffff8115423d\u003e] sysfs_write_file+0x10f/0x14b\n[\u003cffffffff81101acf\u003e] vfs_write+0xa9/0x106\n[\u003cffffffff81101be2\u003e] sys_write+0x45/0x69\n[\u003cffffffff81009b02\u003e] system_call_fastpath+0x16/0x1b\n---[ end trace a677c3f7f8b16b1e ]---\nbonding: Bond creation failed.\n\nIt happens because a user space writer to bond_master can try to\nregister an already existing bond interface name.  Fix it by teaching\nbond_create to check for the existance of devices with that name first\nin cases where a non-NULL name parameter has been passed in\n\nSigned-off-by: Neil Horman \u003cnhorman@tuxdriver.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e40051d134f7ee95c8c1f7a3471e84eafc9ab326",
      "tree": "88eb44e49a75721ae926665a2c42f08badac9d07",
      "parents": [
        "42099d7a3941d4aaf853caac92b3ae76149fc6e7",
        "2cc6d2bf3d6195fabcf0febc192c01f99519a8f3"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Sep 27 01:03:03 2010 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Sep 27 01:03:03 2010 -0700"
      },
      "message": "Merge branch \u0027master\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6\n\nConflicts:\n\tdrivers/net/qlcnic/qlcnic_init.c\n\tnet/ipv4/ip_output.c\n"
    },
    {
      "commit": "807540baae406c84dcb9c1c8ef07a56d2d2ae84a",
      "tree": "ccd5c2cb57710dd6b73cf8df11eedf67abc14ae4",
      "parents": [
        "cb4dfe562cac6fcb544df752e40c1d78000d0712"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Thu Sep 23 05:40:09 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Sep 26 18:34:29 2010 -0700"
      },
      "message": "drivers/net: return operator cleanup\n\nChange \"return (EXPR);\" to \"return EXPR;\"\n\nreturn is not a function, parentheses are not required.\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e6599c2ecf18002339fe81cde1fa83b37bf26290",
      "tree": "8cd7549605c0459e9730537e0e9235e6d01355d8",
      "parents": [
        "07af7a2bfa853db3957a22f9a41f437bf0f10e63"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Fri Sep 17 09:25:07 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Sep 17 16:53:24 2010 -0700"
      },
      "message": "bonding: enable gro by default\n\ngro can be enabled by default on bonding devices.\n\nActual support depends on the lower devices.\n\nOne can still use ethtool to switch off GRO if needed.\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "ab12811c89e88f2e66746790b1fe4469ccb7bdd9",
      "tree": "50420aacb4a53367c90574a3462cc5ea100c43d1",
      "parents": [
        "a89b47639f3e11dd9a8eb78a5d3382e109c876f2"
      ],
      "author": {
        "name": "Andy Gospodarek",
        "email": "andy@greyhouse.net",
        "time": "Fri Sep 10 11:43:20 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Sep 14 14:25:32 2010 -0700"
      },
      "message": "bonding: correctly process non-linear skbs\n\nIt was recently brought to my attention that 802.3ad mode bonds would no\nlonger form when using some network hardware after a driver update.\nAfter snooping around I realized that the particular hardware was using\npage-based skbs and found that skb-\u003edata did not contain a valid LACPDU\nas it was not stored there.  That explained the inability to form an\n802.3ad-based bond.  For balance-alb mode bonds this was also an issue\nas ARPs would not be properly processed.\n\nThis patch fixes the issue in my tests and should be applied to 2.6.36\nand as far back as anyone cares to add it to stable.\n\nThanks to Alexander Duyck \u003calexander.h.duyck@intel.com\u003e and Jesse\nBrandeburg \u003cjesse.brandeburg@intel.com\u003e for the suggestions on this one.\n\nSigned-off-by: Andy Gospodarek \u003candy@greyhouse.net\u003e\nCC: Alexander Duyck \u003calexander.h.duyck@intel.com\u003e\nCC: Jesse Brandeburg \u003cjesse.brandeburg@intel.com\u003e\nCC: stable@kerne.org\nSigned-off-by: Jay Vosburgh \u003cfubar@us.ibm.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "cb32f2a0d194212e4e750a8cdedcc610c9ca4876",
      "tree": "2f3762514e3feddb612c9d74379df98ac54eb300",
      "parents": [
        "c4433be6e19e3680727f3f89c938a22e7b789b43"
      ],
      "author": {
        "name": "Jiri Bohac",
        "email": "jbohac@suse.cz",
        "time": "Thu Sep 02 05:45:54 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Sep 07 13:57:20 2010 -0700"
      },
      "message": "bonding: Fix jiffies overflow problems (again)\n\nThe time_before_eq()/time_after_eq() functions operate on unsigned\nlong and only work if the difference between the two compared values\nis smaller than half the range of unsigned long (31 bits on i386).\n\nSome of the variables (slave-\u003ejiffies, dev-\u003etrans_start, dev-\u003elast_rx)\nused by bonding store a copy of jiffies and may not be updated for a\nlong time. With HZ\u003d1000, time_before_eq()/time_after_eq() will start\ngiving bad results after ~25 days.\n\njiffies will never be before slave-\u003ejiffies, dev-\u003etrans_start,\ndev-\u003elast_rx by more than possibly a couple ticks caused by preemption\nof this code. This allows us to detect/prevent these overflows by\nreplacing time_before_eq()/time_after_eq() with time_in_range().\n\nSigned-off-by: Jiri Bohac \u003cjbohac@suse.cz\u003e\nSigned-off-by: Jean Delvare \u003cjdelvare@suse.de\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "c5cb002fb0c82a0ccaef24e002ab370165b55be7",
      "tree": "023901db3964b3fafa72b629727676b42d192940",
      "parents": [
        "75f5e1c6f6cef2c201da688b2279cf15156db56d"
      ],
      "author": {
        "name": "Andy Gospodarek",
        "email": "andy@greyhouse.net",
        "time": "Wed Jul 28 15:13:56 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Jul 30 23:27:57 2010 -0700"
      },
      "message": "bonding: prevent sysfs from allowing arp monitoring with alb/tlb\n\nWhen using module options arp monitoring and balance-alb/balance-tlb\nare mutually exclusive options.  Anytime balance-alb/balance-tlb are\nenabled mii monitoring is forced to 100ms if not set.  When configuring\nvia sysfs no checking is currently done.\n\nHandling these cases with sysfs has to be done a bit differently because\nwe do not have all configuration information available at once.  This\npatch will not allow a mode change to balance-alb/balance-tlb if\narp_interval is already non-zero.  It will also not allow the user to\nset a non-zero arp_interval value if the mode is already set to\nbalance-alb/balance-tlb.  They are still mutually exclusive on a\nfirst-come, first serve basis.\n\nTested with initscripts on Fedora and manual setting via sysfs.\n\nSigned-off-by: Andy Gospodarek \u003cgospo@redhat.com\u003e\nSigned-off-by: Jay Vosburgh \u003cfubar@us.ibm.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "bb7e95c8fd859922c6cf3ebbb3a8546007df1748",
      "tree": "58b54c6306ba168b76f25cc6dc9a2d1d2eb830a7",
      "parents": [
        "b8bc0421ab7f83712a0a8ef7eb05fa73ec53c027",
        "5447080cfa3c77154498dfbf225367ac85b4c2b5"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jul 27 21:01:35 2010 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jul 27 21:01:35 2010 -0700"
      },
      "message": "Merge branch \u0027master\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6\n\nConflicts:\n\tdrivers/net/bnx2x_main.c\n\nMerge bnx2x bug fixes in by hand... :-/\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "d8190dff018ffe932d17cae047c6b3d1c5fc7574",
      "tree": "7435b5596e7a022ef7a321a4f515d79bb3c138cf",
      "parents": [
        "64e724f62ab743d55229cd5e27ec8b068b68eb16"
      ],
      "author": {
        "name": "Greg Edwards",
        "email": "greg.edwards@hp.com",
        "time": "Fri Jul 23 10:02:04 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Jul 24 20:37:48 2010 -0700"
      },
      "message": "bonding: set device in RLB ARP packet handler\n\nAfter:\n\ncommit 6146b1a4da98377e4abddc91ba5856bef8f23f1e\nAuthor: Jay Vosburgh \u003cfubar@us.ibm.com\u003e\nDate:   Tue Nov 4 17:51:15 2008 -0800\n\n    bonding: Fix ALB mode to balance traffic on VLANs\n\nthe dev field in the RLB ARP packet handler was set to NULL to wildcard\nand accommodate balancing VLANs on top of bonds.\n\nThis has the side-effect of the packet handler being called against\nother, non RLB-enabled bonds, and a kernel oops results when it tries to\ndereference rx_hashtbl in rlb_update_entry_from_arp(), which won\u0027t be\nset for those bonds, e.g. active-backup.\n\nWith the __netif_receive_skb() changes from:\n\ncommit 1f3c8804acba841b5573b953f5560d2683d2db0d\nAuthor: Andy Gospodarek \u003candy@greyhouse.net\u003e\nDate:   Mon Dec 14 10:48:58 2009 +0000\n\n    bonding: allow arp_ip_targets on separate vlans to use arp validation\n\nframes received on VLANs correctly make their way to the bond\u0027s handler,\nso we no longer need to wildcard the device.\n\nThe oops can be reproduced by:\n\nmodprobe bonding\n\necho active-backup \u003e /sys/class/net/bond0/bonding/mode\necho 100 \u003e /sys/class/net/bond0/bonding/miimon\nifconfig bond0 xxx.xxx.xxx.xxx netmask xxx.xxx.xxx.xxx\necho +eth0 \u003e /sys/class/net/bond0/bonding/slaves\necho +eth1 \u003e /sys/class/net/bond0/bonding/slaves\n\necho +bond1 \u003e /sys/class/net/bonding_masters\necho balance-alb \u003e /sys/class/net/bond1/bonding/mode\necho 100 \u003e /sys/class/net/bond1/bonding/miimon\nifconfig bond1 xxx.xxx.xxx.xxx netmask xxx.xxx.xxx.xxx\necho +eth2 \u003e /sys/class/net/bond1/bonding/slaves\necho +eth3 \u003e /sys/class/net/bond1/bonding/slaves\n\nPass some traffic on bond0.  Boom.\n\n[ Tested, behaves as advertised.  I do not believe a test of the bonding\nmode is necessary, as there is no race between the packet handler and\nthe bonding mode changing (the mode can only change when the device is\nclosed).  Also updated the log message to include the reproduction and\nfull commit ids.  -J ]\n\nSigned-off-by: Greg Edwards \u003cgreg.edwards@hp.com\u003e\nSigned-off-by: Jay Vosburgh \u003cfubar@us.ibm.com\u003e\nAcked-by: Andy Gospodarek \u003candy@greyhouse.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "03dc2f4c525afb9488edb687c2e1f7057d59b40e",
      "tree": "59702784f96f5a7427e4053c65845aad9a2d1d68",
      "parents": [
        "f35188faa0fbabefac476536994f4b6f3677380f"
      ],
      "author": {
        "name": "Jay Vosburgh",
        "email": "fubar@us.ibm.com",
        "time": "Wed Jul 21 12:14:48 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jul 22 14:14:47 2010 -0700"
      },
      "message": "bonding: don\u0027t lock when copying/clearing VLAN list on slave\n\nWhen copying VLAN information to or removing from a slave\nduring slave addition or removal, the bonding code currently holds\nthe bond-\u003elock for write to prevent concurrent modification of the\nvlan_list / vlgrp.\n\n\tThis is unnecessary, as all of these operations occur under\nRTNL.  Holding the bond-\u003elock also caused might_sleep issues for\nsome drivers\u0027 ndo_vlan_* functions.  This patch removes the extra\nlocking.\n\n\tProblem reported by Michael Chan \u003cmchan@broadcom.com\u003e\n\nSigned-off-by: Jay Vosburgh \u003cfubar@us.ibm.com\u003e\nCc: Michael Chan \u003cmchan@broadcom.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "f35188faa0fbabefac476536994f4b6f3677380f",
      "tree": "460c54e3d8505fd0ce42d16a1798c1f8c371d4a9",
      "parents": [
        "4bee1f9ac066ef0350b961eab9fedc4d0bd0a549"
      ],
      "author": {
        "name": "Jay Vosburgh",
        "email": "fubar@us.ibm.com",
        "time": "Wed Jul 21 12:14:47 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jul 22 14:14:46 2010 -0700"
      },
      "message": "bonding: change test for presence of VLANs\n\nAfter commit ad1afb00393915a51c21b1ae8704562bf036855f\n(\"vlan_dev: VLAN 0 should be treated as \"no vlan tag\" (802.1p packet)\")\nit is now regular practice for a VLAN \"add vid\" for VLAN 0 to\narrive prior to any VLAN registration or creation of a vlan_group.\n\n\tThis patch updates the bonding code that tests for the presence\nof VLANs configured above bonding.  The new logic tests for bond-\u003evlgrp\nto determine if a registration has occured, instead of testing that\nbonding\u0027s internal vlan_list is empty.\n\n\tThe old code would panic when vlan_list was not empty, but\nvlgrp was still NULL (because only an \"add vid\" for VLAN 0 had occured).\n\n\tBonding still adds VLAN 0 to its internal list so that 802.1p\nframes are handled correctly on transmit when non-VLAN accelerated\nslaves are members of the bond.  The test against bond-\u003evlan_list\nremains in bond_dev_queue_xmit for this reason.\n\n\tModification to the bond-\u003evlgrp now occurs under lock (in\naddition to RTNL), because not all inspections of it occur under RTNL.\n\n\tAdditionally, because 8021q will never issue a \"kill vid\" for\nVLAN 0, there is now logic in bond_uninit to release any remaining\nentries from vlan_list.\n\nSigned-off-by: Jay Vosburgh \u003cfubar@us.ibm.com\u003e\nCc: Pedro Garcia \u003cpedro.netdev@dondevamos.com\u003e\nCc: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "90e1795b9b18ce47e95cd26028a9cfd0f4cc35ba",
      "tree": "95a6d3c6339f4d8ed44535e27bb6b57872e23163",
      "parents": [
        "e6e4ec2f98ae3b75cfede011c8794120914e789f"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Mon Jul 19 06:52:36 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jul 19 13:34:16 2010 -0700"
      },
      "message": "bonding: avoid a warning\n\ndrivers/net/bonding/bond_main.c:179:12: warning: ‘disable_netpoll’\ndefined but not used\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "db5dda905759c931ceb8f3f2fcfd7719009acc98",
      "tree": "b02a3f5e48ee9dfec6c04ea5fcacb69075ce2998",
      "parents": [
        "c26875e2e1a07137f6e7a621fa802b03c00535b6"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Mon Jul 19 03:24:14 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jul 19 09:34:31 2010 -0700"
      },
      "message": "bonding: fix bond_inet6addr_event()\n\nAfter commit ad1afb0039391 (vlan_dev: VLAN 0 should be treated\nas \"no vlan tag\" (802.1p packet)),\nbond_inet6addr_event() might be called with a NULL bond-\u003evlgrp pointer, and\na non empty bond-\u003evlan_list. vlan_group_get_device() is dereferencing a NULL pointer.\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "79236680bde29913dc6bfaf9165973b74223d5f7",
      "tree": "a34d509c3afa9596e02af63c54d407b4fd8266b1",
      "parents": [
        "04d5821fa506551afbc072456fecee7b34b2977d"
      ],
      "author": {
        "name": "Nicolas de Pesloüan",
        "email": "nicolas.2p.debian@free.fr",
        "time": "Wed Jul 14 18:24:54 2010 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jul 14 18:24:54 2010 -0700"
      },
      "message": "bonding: fix a buffer overflow in bonding_show_queue_id.\n\nThe test for buffer overflow ensures we have room for 6 more bytes.\nsprintf, called with %s:%d, slave-\u003edev-\u003ename, slave-\u003equeue_id may yield\nfar more than 6 bytes.\n\nThe correct test is res \u003e (PAGE_SIZE - IFNAMSIZ - 6) .\n\nSigned-off-by: Nicolas de Pesloüan \u003cnicolas.2p.debian@free.fr\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "597e608a8492d662736c9bc6aa507dbf1cadc17d",
      "tree": "6c330cdd0a4809f67dd191b37e34f5b4318cef78",
      "parents": [
        "acbc0f039ff4b93da737c91937b7c70018ded39f",
        "33b665eeeb85956ccbdf31c4c31a4e2a31133c44"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jul 07 15:59:38 2010 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jul 07 15:59:38 2010 -0700"
      },
      "message": "Merge branch \u0027master\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6\n"
    },
    {
      "commit": "28172739f0a276eb8d6ca917b3974c2edb036da3",
      "tree": "b1dc00cfa20c209992e247c6f73601f609f9ca3b",
      "parents": [
        "217d32dc5f299c483ca0d3c8cc6811c72c0339c4"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Wed Jul 07 14:58:56 2010 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jul 07 14:58:56 2010 -0700"
      },
      "message": "net: fix 64 bit counters on 32 bit arches\n\nThere is a small possibility that a reader gets incorrect values on 32\nbit arches. SNMP applications could catch incorrect counters when a\n32bit high part is changed by another stats consumer/provider.\n\nOne way to solve this is to add a rtnl_link_stats64 param to all\nndo_get_stats64() methods, and also add such a parameter to\ndev_get_stats().\n\nRule is that we are not allowed to use dev-\u003estats64 as a temporary\nstorage for 64bit stats, but a caller provided area (usually on stack)\n\nOld drivers (only providing get_stats() method) need no changes.\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "42d782ac1bef7cbcdf05b857731345c6e8149f90",
      "tree": "a832741c37a71797220914f360b454dcca1fff18",
      "parents": [
        "dd1589a431e90f9ff587e640c67101a565e52bba"
      ],
      "author": {
        "name": "Flavio Leitner",
        "email": "fleitner@redhat.com",
        "time": "Tue Jun 29 08:24:39 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jun 30 13:51:11 2010 -0700"
      },
      "message": "bonding: check if clients MAC addr has changed\n\nWhen two systems using bonding devices in adaptive load\nbalancing (ALB) communicates with each other, an endless\nping-pong of ARP replies starts between these two systems.\n\nWhat happens? In the ALB mode, bonding driver keeps track\nof each client connected in a hash table, so it can do the\nreceive load balancing (RLB). This hash table is updated\nwhen an ARP reply is received, then it scans for the client\nentry, updates its MAC address and flag it to be announced\nlater. Therefore, two seconds later, the alb monitor runs\nand send for each updated client entry two ARP replies\nupdating this specific client. The same process happens on\nthe receiving system, causing the endless ping-pong of arp\nreplies.\n\nSee more information including the relevant functions below:\n\n   System 1                          System 2\n    bond0                             bond0\n\n   ping \u003csystem2\u003e\n    ARP request  ---------\u003e\n                           \u003c--------- ARP reply\n\n+-\u003erlb_arp_recv  \u003c---------------------+   \u003c--- loop begins\n|  rlb_update_entry_from_arp           |\n|  client_info-\u003entt \u003d 1;               |\n|  bond_info-\u003erx_ntt \u003d 1;              |\n|                                      |\n|         \u003ccommunication succeed\u003e      |\n|                                      |\n|  bond_alb_monitor                    |\n|  rlb_update_rx_clients               |\n|  rlb_update_client                   |\n|  arp_create(ARPOP_REPLY)             |\n|   send ARP reply --------------\u003e     V\n|   send ARP reply --------------\u003e\n|                               rlb_arp_recv\n|                               rlb_update_entry_from_arp\n|                               client_info-\u003entt \u003d 1;\n|                               bond_info-\u003erx_ntt \u003d 1;\n|                           \u003c snipped, same as in system 1\u003e\n+-------           \u003c-------------- send ARP reply\n                   \u003c-------------- send ARP reply\n\nBesides the unneeded networking traffic, this loop breaks\na cluster because a backup system can\u0027t take over the IP\naddress. There is always one system sending an ARP reply\npoisoning the network.\n\nThis patch fixes the problem adding a check for the MAC\naddress before updating it. Thus, if the MAC address didn\u0027t\nchange, there is no need to update neither to announce it later.\n\nSigned-off-by: Flavio Leitner \u003cfleitner@redhat.com\u003e\nSigned-off-by: Jay Vosburgh \u003cfubar@us.ibm.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "c22d7ac844f1cb9c6a5fd20f89ebadc2feef891b",
      "tree": "63af10f1115dfdc5ec0c08765ba342b62809d808",
      "parents": [
        "e2f5b04563786d4b7d7648868de7e941a0649372"
      ],
      "author": {
        "name": "Andy Gospodarek",
        "email": "andy@greyhouse.net",
        "time": "Fri Jun 25 09:50:44 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jun 28 23:54:10 2010 -0700"
      },
      "message": "bonding: prevent netpoll over bonded interfaces\n\nSupport for netpoll over bonded interfaces was added here:\n\n\tcommit f6dc31a85cd46a959bdd987adad14c3b645e03c1\n\tAuthor: WANG Cong \u003camwang@redhat.com\u003e\n\tDate:   Thu May 6 00:48:51 2010 -0700\n\n\t    bonding: make bonding support netpoll\n\nbut it is bad enough that we should probably just disable netpoll over\nbonding until some of the locking logic in the bonding driver is changed\nor converted completely to RCU.  Simple actions like changing the active\nslave in active-backup mode will hang the box if a high enough printk\ndebugging level is enabled.\n\nKeeping the old code around will be good for anyone that wants to work\non it (and for after the RCU conversion), so I propose this small patch\nrather than ripping it all out.\n\nSigned-off-by: Andy Gospodarek \u003candy@greyhouse.net\u003e\nSigned-off-by: Jay Vosburgh \u003cfubar@us.ibm.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "be1f3c2c027cc5ad735df6a45a542ed1db7ec48b",
      "tree": "c97815a7cf25ea62e8f3a6b3597cfa8957f40b81",
      "parents": [
        "d19b51499967baddf4f9f12a0067146c2554527a"
      ],
      "author": {
        "name": "Ben Hutchings",
        "email": "bhutchings@solarflare.com",
        "time": "Tue Jun 08 07:19:54 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Jun 12 15:51:22 2010 -0700"
      },
      "message": "net: Enable 64-bit net device statistics on 32-bit architectures\n\nUse struct rtnl_link_stats64 as the statistics structure.\n\nOn 32-bit architectures, insert 32 bits of padding after/before each\nfield of struct net_device_stats to make its layout compatible with\nstruct rtnl_link_stats64.  Add an anonymous union in net_device; move\nstats into the union and add struct rtnl_link_stats64 stats64.\n\nAdd net_device_ops::ndo_get_stats64, implementations of which will\nreturn a pointer to struct rtnl_link_stats64.  Drivers that implement\nthis operation must not update the structure asynchronously.\n\nChange dev_get_stats() to call ndo_get_stats64 if available, and to\nreturn a pointer to struct rtnl_link_stats64.  Change callers of\ndev_get_stats() accordingly.\n\nSigned-off-by: Ben Hutchings \u003cbhutchings@solarflare.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "d8d1f30b95a635dbd610dcc5eb641aca8f4768cf",
      "tree": "71424d82a96facd5fcf05cc769ef2ba52b584aeb",
      "parents": [
        "592fcb9dfafaa02dd0edc207bf5d3a0ee7a1f8df"
      ],
      "author": {
        "name": "Changli Gao",
        "email": "xiaosuo@gmail.com",
        "time": "Thu Jun 10 23:31:35 2010 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jun 10 23:31:35 2010 -0700"
      },
      "message": "net-next: remove useless union keyword\n\nremove useless union keyword in rtable, rt6_info and dn_route.\n\nSince there is only one member in a union, the union keyword isn\u0027t useful.\n\nSigned-off-by: Changli Gao \u003cxiaosuo@gmail.com\u003e\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "bb1d912323d5dd50e1079e389f4e964be14f0ae3",
      "tree": "7d20fff2e63bc6add251a56625110257d3ccc45f",
      "parents": [
        "ebd8e4977a87cb81d93c62a9bff0102a9713722f"
      ],
      "author": {
        "name": "Andy Gospodarek",
        "email": "andy@greyhouse.net",
        "time": "Wed Jun 02 08:40:18 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Jun 05 02:23:17 2010 -0700"
      },
      "message": "bonding: allow user-controlled output slave selection\n\nv2: changed bonding module version, modified to apply on top of changes\nfrom previous patch in series, and updated documentation to elaborate on\nmultiqueue awareness that now exists in bonding driver.\n\nThis patch give the user the ability to control the output slave for\nround-robin and active-backup bonding.  Similar functionality was\ndiscussed in the past, but Jay Vosburgh indicated he would rather see a\nfeature like this added to existing modes rather than creating a\ncompletely new mode.  Jay\u0027s thoughts as well as Neil\u0027s input surrounding\nsome of the issues with the first implementation pushed us toward a\ndesign that relied on the queue_mapping rather than skb marks.\nRound-robin and active-backup modes were chosen as the first users of\nthis slave selection as they seemed like the most logical choices when\nconsidering a multi-switch environment.\n\nRound-robin mode works without any modification, but active-backup does\nrequire inclusion of the first patch in this series and setting\nthe \u0027all_slaves_active\u0027 flag.  This will allow reception of unicast traffic on\nany of the backup interfaces.\n\nThis was tested with IPv4-based filters as well as VLAN-based filters\nwith good results.\n\nMore information as well as a configuration example is available in the\npatch to Documentation/networking/bonding.txt.\n\nSigned-off-by: Andy Gospodarek \u003candy@greyhouse.net\u003e\nSigned-off-by: Neil Horman \u003cnhorman@tuxdriver.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "ebd8e4977a87cb81d93c62a9bff0102a9713722f",
      "tree": "c91a15f48f3156a5ff6d60fd879a97b7e789fe8a",
      "parents": [
        "b78462ebc6a4ef9074aa80abebcdd470dc5f0ce0"
      ],
      "author": {
        "name": "Andy Gospodarek",
        "email": "andy@greyhouse.net",
        "time": "Wed Jun 02 08:39:21 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Jun 05 02:23:17 2010 -0700"
      },
      "message": "bonding: add all_slaves_active parameter\n\nv2: changed parameter name from \u0027keep_all\u0027 to \u0027all_slaves_active\u0027 and\nskipped setting slaves to inactive rather than creating a new flag at\nJay\u0027s suggestion.\n\nIn an effort to suppress duplicate frames on certain bonding modes\n(specifically the modes that do not require additional configuration on\nthe switch or switches connected to the host), code was added in the\ngeneric receive patch in 2.6.16.  The current behavior works quite well\nfor most users, but there are some times it would be nice to restore old\nfunctionality and allow all frames to make their way up the stack.\n\nThis patch adds support for a new module option and sysfs file called\n\u0027all_slaves_active\u0027 that will restore pre-2.6.16 functionality if the\nuser desires.  The default value is \u00270\u0027 and retains existing behavior,\nbut the user can set it to \u00271\u0027 and allow all frames up if desired.\n\nSigned-off-by: Andy Gospodarek \u003candy@greyhouse.net\u003e\nSigned-off-by: Jay Vosburgh \u003cfubar@us.ibm.com\u003e\nSigned-off-by: Neil Horman \u003cnhorman@tuxdriver.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "097811bb48c7837db94d7fe5d94f0f4b5e19e78c",
      "tree": "61701eb46c49d0a2db449be87ae1d114e03ac9f7",
      "parents": [
        "5206e24c2c348d739c31ebed10a741a02bbde9e0"
      ],
      "author": {
        "name": "Jiri Pirko",
        "email": "jpirko@redhat.com",
        "time": "Wed May 19 03:26:39 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jun 02 04:16:24 2010 -0700"
      },
      "message": "bonding: optimize tlb_get_least_loaded_slave\n\nIn the worst case, when the first loop breaks an the end of the slave list,\nthe slave list is iterated through twice. This patch reduces this\nfunction only to one loop. Also makes it simpler.\n\nSigned-off-by: Jiri Pirko \u003cjpirko@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "5206e24c2c348d739c31ebed10a741a02bbde9e0",
      "tree": "28993a140fb5cdbd6c9b47e091207a8af866d888",
      "parents": [
        "c20811a79e671a6a1fe86a8c1afe04aca8a7f085"
      ],
      "author": {
        "name": "Jiri Pirko",
        "email": "jpirko@redhat.com",
        "time": "Wed May 19 01:17:41 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jun 02 04:16:24 2010 -0700"
      },
      "message": "bonding: remove unused original_flags struct slave member\n\nThis is stored but never restored. So remove this as it is useless.\n\nSigned-off-by: Jiri Pirko \u003cjpirko@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "c20811a79e671a6a1fe86a8c1afe04aca8a7f085",
      "tree": "21c68c6a711de84781dff4a561566dc0e325959b",
      "parents": [
        "e95095540c5276fc9922cb14376afc36f846af1f"
      ],
      "author": {
        "name": "Jiri Pirko",
        "email": "jpirko@redhat.com",
        "time": "Wed May 19 01:14:29 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jun 02 04:16:23 2010 -0700"
      },
      "message": "bonding: move dev_addr cpy to bond_enslave\n\nMove the code that copies slave\u0027s mac address in case that\u0027s the first slave into\nbond_enslave. Ifenslave app does this also but that\u0027s not a problem. This is\nsomething that should be done in bond_enslave, and it shound not matter from\nwhere is it called.\n\nSigned-off-by: Jiri Pirko \u003cjpirko@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    }
  ],
  "next": "f9f3545e1e5de3d3f5376ae6c522aedb1205f4e1"
}
