)]}'
{
  "log": [
    {
      "commit": "b0f9ec047b79a92e8b8a9dfbf97537c8fbef234a",
      "tree": "2761193e869ed51d08674c39ed3df105cd91f4de",
      "parents": [
        "2cffc4a01dd90a502324e3453d7b245d6d16e1c2"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Tue Mar 31 15:27:18 2009 +1100"
      },
      "committer": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Tue Mar 31 15:27:18 2009 +1100"
      },
      "message": "md/raid5: minor code cleanups in make_request.\n\n... and to be certain the that make_request doesn\u0027t wait forever,\nadd a \u0027wake_up\u0027 when -\u003ereshape_progress has been set to MaxSector\n\nSigned-off-by: NeilBrown \u003cneilb@suse.de\u003e\n"
    },
    {
      "commit": "2cffc4a01dd90a502324e3453d7b245d6d16e1c2",
      "tree": "bcaf6e9fb8169c4e863173d33624de4c9a181246",
      "parents": [
        "ab69ae12ceef7f23c578a3c230144e94a167a821"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Tue Mar 31 15:27:05 2009 +1100"
      },
      "committer": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Tue Mar 31 15:27:05 2009 +1100"
      },
      "message": "md: remove CONFIG_MD_RAID_RESHAPE config option.\n\nThis was only needed when the code was experimental.  Most of it\nis well tested now, so the option is no longer useful.\n\nSigned-off-by: NeilBrown \u003cneilb@suse.de\u003e\n"
    },
    {
      "commit": "ab69ae12ceef7f23c578a3c230144e94a167a821",
      "tree": "01bee8e4c4a91a1714596c4f85769bfe72e328ce",
      "parents": [
        "d1a7c50369835f9ecbd7752016cd9302ecfae678"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Tue Mar 31 15:26:47 2009 +1100"
      },
      "committer": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Tue Mar 31 15:26:47 2009 +1100"
      },
      "message": "md/raid5: be more careful about write ordering when reshaping.\n\nWhen we are reshaping an array, it is very important that we read\nthe data from a particular sector offset before writing new data\nat that offset.\n\nIn most cases when growing or shrinking an array we read long before\nwe even consider writing.  But when restriping an array without\nchanging it size, there is a small possibility that we might have\nsome data to available write before the read has happened at the same\nlocation.  This would require some stripes to be in cache already.\n\nTo guard against this small possibility, we check, before writing,\nthat the \u0027old\u0027 stripe at the same location is not in the process of\nbeing read.  And we ensure that we mark all \u0027source\u0027 stripes as such\nbefore allowing new \u0027destination\u0027 stripes to proceed.\n\nSigned-off-by: NeilBrown \u003cneilb@suse.de\u003e\n"
    },
    {
      "commit": "d1a7c50369835f9ecbd7752016cd9302ecfae678",
      "tree": "2c6bcc8c5cb4d045d555e0d030321cb887a4e05a",
      "parents": [
        "88ce4930e2b80378d45506ce2c3bb5820e156e85"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Tue Mar 31 15:24:32 2009 +1100"
      },
      "committer": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Tue Mar 31 15:24:32 2009 +1100"
      },
      "message": "md: don\u0027t display meaningless values in sysfs files resync_start and sync_speed\n\nWhen no resync if happening, both of these files currently have\nmeaningless values (is slightly different ways).\nChange them to \"none\" in that case.\n\nSigned-off-by: NeilBrown \u003cneilb@suse.de\u003e\n"
    },
    {
      "commit": "88ce4930e2b80378d45506ce2c3bb5820e156e85",
      "tree": "75847293ede7cd396b5470c0d1c4f50dc79ff031",
      "parents": [
        "7a6613810785872b7c028fba22fc0bae1c91733d"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Tue Mar 31 15:24:23 2009 +1100"
      },
      "committer": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Tue Mar 31 15:24:23 2009 +1100"
      },
      "message": "md/raid5: allow layout and chunksize to be changed on active array.\n\nIf an array has 3 or more devices, we allow the chunksize or layout\nto be changed and when a reshape starts, we use these as the \u0027new\u0027\nvalues.\n\n\nSigned-off-by: NeilBrown \u003cneilb@suse.de\u003e\n"
    },
    {
      "commit": "7a6613810785872b7c028fba22fc0bae1c91733d",
      "tree": "b716e9278d42e83c82888d82671062d64fbf0bea",
      "parents": [
        "e183eaedd53807e33f02ee80573e2833890e1f21"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Tue Mar 31 15:21:40 2009 +1100"
      },
      "committer": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Tue Mar 31 15:21:40 2009 +1100"
      },
      "message": "md/raid5: reshape using largest of old and new chunk size\n\nThis ensures that even when old and new stripes are overlapping,\nwe will try to read all of the old before having to write any\nof the new.\n\nSigned-off-by: NeilBrown \u003cneilb@suse.de\u003e\n"
    },
    {
      "commit": "e183eaedd53807e33f02ee80573e2833890e1f21",
      "tree": "ba648feacbc930936e5a66006a19ee8822ac28f5",
      "parents": [
        "784052ecc6ade6b6acf4f67e4ada8e5f2e6df446"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Tue Mar 31 15:20:22 2009 +1100"
      },
      "committer": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Tue Mar 31 15:20:22 2009 +1100"
      },
      "message": "md/raid5: prepare for allowing reshape to change layout\n\nAdd prev_algo to raid5_conf_t along the same lines as prev_chunk\nand previous_raid_disks.\n\nSigned-off-by: NeilBrown \u003cneilb@suse.de\u003e\n"
    },
    {
      "commit": "784052ecc6ade6b6acf4f67e4ada8e5f2e6df446",
      "tree": "f0b1060215922ba30a4d676a00dbdad8ddb724c9",
      "parents": [
        "86b42c713be3e5f6807aa14b4cbdb005d35c64d5"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Tue Mar 31 15:19:07 2009 +1100"
      },
      "committer": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Tue Mar 31 15:19:07 2009 +1100"
      },
      "message": "md/raid5: prepare for allowing reshape to change chunksize.\n\nAdd \"prev_chunk\" to raid5_conf_t, similar to \"previous_raid_disks\", to\nremember what the chunk size was before the reshape that is currently\nunderway.\n\nThis seems like duplication with \"chunk_size\" and \"new_chunk\" in\nmddev_t, and to some extent it is, but there are differences.\nThe values in mddev_t are always defined and often the same.\nThe prev* values are only defined if a reshape is underway.\n\nAlso (and more significantly) the raid5_conf_t values will be changed\nat the same time (inside an appropriate lock) that the reshape is\nstarted by setting reshape_position.  In contrast, the new_chunk value\nis set when the sysfs file is written which could be well before the\nreshape starts.\n\nSigned-off-by: NeilBrown \u003cneilb@suse.de\u003e\n"
    },
    {
      "commit": "86b42c713be3e5f6807aa14b4cbdb005d35c64d5",
      "tree": "d6c70a966a6bda99e6cd4ce055efa84ab0ded701",
      "parents": [
        "11373542344bdc35be1e6e68b0baadd1b6f7acbb"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Tue Mar 31 15:19:03 2009 +1100"
      },
      "committer": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Tue Mar 31 15:19:03 2009 +1100"
      },
      "message": "md/raid5: clearly differentiate \u0027before\u0027 and \u0027after\u0027 stripes during reshape.\n\nDuring a raid5 reshape, we have some stripes in the cache that are\n\u0027before\u0027 the reshape (and are still to be processed) and some that are\n\u0027after\u0027.  They are currently differentiated by having different\n-\u003edisks values as the only reshape current supported involves changing\nthe number of disks.\n\nHowever we will soon support reshapes that do not change the number\nof disks (chunk parity or chunk size).  So make the difference more\nexplicit with a \u0027generation\u0027 number.\n\nSigned-off-by: NeilBrown \u003cneilb@suse.de\u003e\n"
    },
    {
      "commit": "ec32a2bd35bd6b933a5db6542c48210ce069a376",
      "tree": "32d30344202025cf1c6cd202394e65ff7e99753f",
      "parents": [
        "fef9c61fdfabf97a307c2cf3621a6949f0a4b995"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Tue Mar 31 15:17:38 2009 +1100"
      },
      "committer": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Tue Mar 31 15:17:38 2009 +1100"
      },
      "message": "md: allow number of drives in raid5 to be reduced\n\nWhen reshaping a raid5 to have fewer devices, we work from the end of\nthe array to the beginning.\nmd_do_sync gives addresses to sync_request that go from the beginning\nto the end.  So largely ignore them use the internal state variable\n\"reshape_progress\" to keep track of what to do next.\n\nNever allow the size to be reduced below the minimum (4 for raid6,\n3 otherwise).\n\nWe require that the size of the array has already been reduced before\nthe array is reshaped to a smaller size.  This is because simply\nreducing the size is an easily reversible operation, while the reshape\nis immediately destructive and so is not reversible for the blocks at\nthe ends of the devices.\nThus to reshape an array to have fewer devices, you must first write\nan appropriately small size to md/array_size.\n\nWhen reshape finished, we remove any drives that are no longer\nneeded and fix up -\u003edegraded.\n\nSigned-off-by: NeilBrown \u003cneilb@suse.de\u003e\n"
    },
    {
      "commit": "fef9c61fdfabf97a307c2cf3621a6949f0a4b995",
      "tree": "82b128341c12205db62fe092d692d32103a7ea9f",
      "parents": [
        "cea9c22800773cecb1d41f4a6139f9eb6a95368b"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Tue Mar 31 15:16:46 2009 +1100"
      },
      "committer": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Tue Mar 31 15:16:46 2009 +1100"
      },
      "message": "md/raid5: change reshape-progress measurement to cope with reshaping backwards.\n\nWhen reducing the number of devices in a raid4/5/6, the reshape\nprocess has to start at the end of the array and work down to the\nbeginning.  So we need to handle expand_progress and expand_lo\ndifferently.\n\nThis patch renames \"expand_progress\" and \"expand_lo\" to avoid the\nimplication that anything is getting bigger (expand-\u003ereshape) and\nevery place they are used, we make sure that they are used the right\nway depending on whether delta_disks is positive or negative.\n\nSigned-off-by: NeilBrown \u003cneilb@suse.de\u003e\n"
    },
    {
      "commit": "cea9c22800773cecb1d41f4a6139f9eb6a95368b",
      "tree": "d070d22390b86768fefb8ba04c64d74993ed28e9",
      "parents": [
        "7ec0547838976d088dfb9cb0adb073e6e8a15aa3"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Tue Mar 31 15:15:05 2009 +1100"
      },
      "committer": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Tue Mar 31 15:15:05 2009 +1100"
      },
      "message": "md: add explicit method to signal the end of a reshape.\n\nCurrently raid5 (the only module that supports restriping)\nnotices that the reshape has finished be sync_request being\ngiven a large value, and handles any cleanup them.\n\nThis patch changes it so md_check_recovery calls into an\nexplicit finish_reshape method as well.\n\nThe clean-up from sync_request can do things that need to be\ndone promptly, typically things local to the raid5_conf_t\nstructure.\n\nThe \"finish_reshape\" method is called under the mddev_lock\nso it can do things involving reconfiguring the device.\n\nThis allows us to get rid of md_set_array_sectors_locked, which\nwould have caused a deadlock if you tried to stop and array\nwhile a reshape was happening.\n\nSigned-off-by: NeilBrown \u003cneilb@suse.de\u003e\n"
    },
    {
      "commit": "7ec0547838976d088dfb9cb0adb073e6e8a15aa3",
      "tree": "32f2d5aa5d112e99bebbfb9bfde49ba82b66809d",
      "parents": [
        "34e04e87fb8b2c62c9e8868f41c8179d0e15f51a"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Tue Mar 31 15:10:36 2009 +1100"
      },
      "committer": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Tue Mar 31 15:10:36 2009 +1100"
      },
      "message": "md/raid5: enhance raid5_size to work correctly with negative delta_disks\n\nThis is the first of four patches which combine to allow md/raid5 to\nreduce the number of devices in the array by restriping the data over\na subset of the devices.\n\nIf the number of disks in a raid4/5/6 is being reduced, then the\ndefault size must be based on the new number, not the old number\nof devices.\nIn general, it should be based on the smaller of new and old.\n\nSigned-off-by: NeilBrown \u003cneilb@suse.de\u003e\n"
    },
    {
      "commit": "34e04e87fb8b2c62c9e8868f41c8179d0e15f51a",
      "tree": "19d62e6b77f6f786902cc5ab5f8f068fb889efe1",
      "parents": [
        "f701d589aa34d7531183c9ac6f7713ba14212b02"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Tue Mar 31 15:10:16 2009 +1100"
      },
      "committer": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Tue Mar 31 15:10:16 2009 +1100"
      },
      "message": "md/raid5: drop qd_idx from r6_state\n\nWe now have this value in stripe_head so we don\u0027t need to duplicate\nit.\n\nSigned-off-by: NeilBrown \u003cneilb@suse.de\u003e\n"
    },
    {
      "commit": "f701d589aa34d7531183c9ac6f7713ba14212b02",
      "tree": "d388cd7fa54c520f12233470a35ebb0676677e7a",
      "parents": [
        "18b0033491f584a2d79697da714b1ef9d6b27d22"
      ],
      "author": {
        "name": "Dan Williams",
        "email": "dan.j.williams@intel.com",
        "time": "Tue Mar 31 15:09:39 2009 +1100"
      },
      "committer": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Tue Mar 31 15:09:39 2009 +1100"
      },
      "message": "md/raid6: move raid6 data processing to raid6_pq.ko\n\nMove the raid6 data processing routines into a standalone module\n(raid6_pq) to prepare them to be called from async_tx wrappers and other\nnon-md drivers/modules.  This precludes a circular dependency of raid456\nneeding the async modules for data processing while those modules in\nturn depend on raid456 for the base level synchronous raid6 routines.\n\nTo support this move:\n1/ The exportable definitions in raid6.h move to include/linux/raid/pq.h\n2/ The raid6_call, recovery calls, and table symbols are exported\n3/ Extra #ifdef __KERNEL__ statements to enable the userspace raid6test to\n   compile\n\nSigned-off-by: Dan Williams \u003cdan.j.williams@intel.com\u003e\nSigned-off-by: NeilBrown \u003cneilb@suse.de\u003e\n"
    },
    {
      "commit": "18b0033491f584a2d79697da714b1ef9d6b27d22",
      "tree": "c06549a4d8fb65418671d6f55a9d647975b9abbc",
      "parents": [
        "b522adcde9c4d3fb7b579cfa9160d8bde7744be8"
      ],
      "author": {
        "name": "Andre Noll",
        "email": "maan@systemlinux.org",
        "time": "Tue Mar 31 15:00:56 2009 +1100"
      },
      "committer": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Tue Mar 31 15:00:56 2009 +1100"
      },
      "message": "md: raid5 run(): Fix max_degraded for raid level 4.\n\nraid4 allows only one failed disk.\n\nSigned-off-by: Andre Noll \u003cmaan@systemlinux.org\u003e\nSigned-off-by: NeilBrown \u003cneilb@suse.de\u003e\n"
    },
    {
      "commit": "b522adcde9c4d3fb7b579cfa9160d8bde7744be8",
      "tree": "4208e3dcec3ebdfa6ad9bc153f76129400532717",
      "parents": [
        "1f403624bde3c678a166984b1e6a727a0ce06f2b"
      ],
      "author": {
        "name": "Dan Williams",
        "email": "dan.j.williams@intel.com",
        "time": "Tue Mar 31 15:00:31 2009 +1100"
      },
      "committer": {
        "name": "Dan Williams",
        "email": "dan.j.williams@intel.com",
        "time": "Tue Mar 31 15:00:31 2009 +1100"
      },
      "message": "md: \u0027array_size\u0027 sysfs attribute\n\nAllow userspace to set the size of the array according to the following\nsemantics:\n\n1/ size must be \u003c\u003d to the size returned by mddev-\u003epers-\u003esize(mddev, 0, 0)\n   a) If size is set before the array is running, do_md_run will fail\n      if size is greater than the default size\n   b) A reshape attempt that reduces the default size to less than the set\n      array size should be blocked\n2/ once userspace sets the size the kernel will not change it\n3/ writing \u0027default\u0027 to this attribute returns control of the size to the\n   kernel and reverts to the size reported by the personality\n\nAlso, convert locations that need to know the default size from directly\nreading -\u003earray_sectors to \u003cpers\u003e_size.  Resync/reshape operations\nalways follow the default size.\n\nFinally, fixup other locations that read a number of 1k-blocks from\nuserspace to use strict_blocks_to_sectors() which checks for unsigned\nlong long to sector_t overflow and blocks to sectors overflow.\n\nReviewed-by: Andre Noll \u003cmaan@systemlinux.org\u003e\nSigned-off-by: Dan Williams \u003cdan.j.williams@intel.com\u003e\n"
    },
    {
      "commit": "1f403624bde3c678a166984b1e6a727a0ce06f2b",
      "tree": "b66ed37091e825bcde1cd0d333d4ebba86772805",
      "parents": [
        "80c3a6ce4ba4470379b9e6a4d9bcd9d2ee26ae03"
      ],
      "author": {
        "name": "Dan Williams",
        "email": "dan.j.williams@intel.com",
        "time": "Tue Mar 31 14:59:03 2009 +1100"
      },
      "committer": {
        "name": "Dan Williams",
        "email": "dan.j.williams@intel.com",
        "time": "Tue Mar 31 14:59:03 2009 +1100"
      },
      "message": "md: centralize -\u003earray_sectors modifications\n\nGet personalities out of the business of directly modifying\n-\u003earray_sectors.  Lays groundwork to introduce policy on when\n-\u003earray_sectors can be modified.\n\nReviewed-by: Andre Noll \u003cmaan@systemlinux.org\u003e\nSigned-off-by: Dan Williams \u003cdan.j.williams@intel.com\u003e\n"
    },
    {
      "commit": "80c3a6ce4ba4470379b9e6a4d9bcd9d2ee26ae03",
      "tree": "de88622f05a7e681ac7bff7714e8f2d8953b66ac",
      "parents": [
        "93ed05e2a56b5ee06c0100a169433b11c4aa5d0b"
      ],
      "author": {
        "name": "Dan Williams",
        "email": "dan.j.williams@intel.com",
        "time": "Tue Mar 17 18:10:40 2009 -0700"
      },
      "committer": {
        "name": "Dan Williams",
        "email": "dan.j.williams@intel.com",
        "time": "Tue Mar 31 14:57:49 2009 +1100"
      },
      "message": "md: add \u0027size\u0027 as a personality method\n\nIn preparation for giving userspace control over -\u003earray_sectors we need\nto be able to retrieve the \u0027default\u0027 size, and the \u0027anticipated\u0027 size\nwhen a reshape is requested.  For personalities that do not reshape emit\na warning if anything but the default size is requested.\n\nIn the raid5 case we need to update -\u003eprevious_raid_disks to make the\nnew \u0027default\u0027 size available.\n\nReviewed-by: Andre Noll \u003cmaan@systemlinux.org\u003e\nSigned-off-by: Dan Williams \u003cdan.j.williams@intel.com\u003e\n"
    },
    {
      "commit": "93ed05e2a56b5ee06c0100a169433b11c4aa5d0b",
      "tree": "7d66d1c72a0dafaf5542f3733c221b54dbf8c13e",
      "parents": [
        "fc9739c6d626ee79a148ec367d143b0601299a9d"
      ],
      "author": {
        "name": "Atsushi SAKAI",
        "email": "sakaia@jp.fujitsu.com",
        "time": "Tue Mar 31 14:57:37 2009 +1100"
      },
      "committer": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Tue Mar 31 14:57:37 2009 +1100"
      },
      "message": "md: fix typo in FSF address\n\nHello,\n\n I found a typo Bosto\"m\" in FSF address.\nAnd I am checking around linux source code.\nHere is the only place which uses Bosto\"m\" (not Boston).\n\nSigned-off-by: Atsushi SAKAI \u003csakaia@jp.fujitsu.com\u003e\nSigned-off-by: NeilBrown \u003cneilb@suse.de\u003e\n"
    },
    {
      "commit": "fc9739c6d626ee79a148ec367d143b0601299a9d",
      "tree": "492a3a29fe44fdd99d9177bef77b16a463a771f9",
      "parents": [
        "e9d4758f6e93488dc719a1445ce54659a570938f"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Tue Mar 31 14:57:20 2009 +1100"
      },
      "committer": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Tue Mar 31 14:57:20 2009 +1100"
      },
      "message": "md: add takeover support for converting raid6 back into raid5\n\nIf a raid6 is still in the layout that comes from converting raid5\ninto a raid6. this will allow us to convert it back again.\n\nSigned-off-by: NeilBrown \u003cneilb@suse.de\u003e\n"
    },
    {
      "commit": "e9d4758f6e93488dc719a1445ce54659a570938f",
      "tree": "13fb97a1f47f806b25b957cbf9d1ec69df8d0de8",
      "parents": [
        "b3546035277847028df650b147469fc943cf5c71"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Tue Mar 31 14:57:09 2009 +1100"
      },
      "committer": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Tue Mar 31 14:57:09 2009 +1100"
      },
      "message": "md: add takeover support for raid4 -\u003e raid5 conversion.\n\nSigned-off-by: NeilBrown \u003cneilb@suse.de\u003e\n"
    },
    {
      "commit": "b3546035277847028df650b147469fc943cf5c71",
      "tree": "87966abc5456a62845326eb8d5a5cf0f88879b2d",
      "parents": [
        "d562b0c4313e3ddea402a400371afa47ddf679f9"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Tue Mar 31 14:56:41 2009 +1100"
      },
      "committer": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Tue Mar 31 14:56:41 2009 +1100"
      },
      "message": "md/raid5: allow layout/chunksize to be changed on an active 2-drive raid5.\n\n2-drive raid5\u0027s aren\u0027t very interesting.  But if you are converting\na raid1 into a raid5, you will at least temporarily have one.  And\nthat it a good time to set the layout/chunksize for the new RAID5\nif you aren\u0027t happy with the defaults.\n\nlayout and chunksize don\u0027t actually affect the placement of data\non a 2-drive raid5, so we just do some internal book-keeping.\n\nSigned-off-by: NeilBrown \u003cneilb@suse.de\u003e\n"
    },
    {
      "commit": "d562b0c4313e3ddea402a400371afa47ddf679f9",
      "tree": "e895c3f1688493f6587ad61d9824e96994ca38d6",
      "parents": [
        "245f46c2c221ef09c7db892f0e3fc2149be42052"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Tue Mar 31 14:39:39 2009 +1100"
      },
      "committer": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Tue Mar 31 14:39:39 2009 +1100"
      },
      "message": "md: add -\u003etakeover method for raid5 to be able to take over raid1\n\nThe RAID1 must have two drives and be a suitable size to\nbe a multiple of a chunksize that isn\u0027t too small.\n\nSigned-off-by: NeilBrown \u003cneilb@suse.de\u003e\n"
    },
    {
      "commit": "245f46c2c221ef09c7db892f0e3fc2149be42052",
      "tree": "be7e6f4b7b65b682c43e59ef17f7ed580bc8a82b",
      "parents": [
        "409c57f3801701dfee27a28103dda4831306cb20"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Tue Mar 31 14:39:39 2009 +1100"
      },
      "committer": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Tue Mar 31 14:39:39 2009 +1100"
      },
      "message": "md: add -\u003etakeover method to support changing the personality managing an array\n\nImplement this for RAID6 to be able to \u0027takeover\u0027 a RAID5 array.  The\nnew RAID6 will use a layout which places Q on the last device, and\nthat device will be missing.\nIf there are any available spares, one will immediately have Q\nrecovered onto it.\n\nSigned-off-by: NeilBrown \u003cneilb@suse.de\u003e\n"
    },
    {
      "commit": "409c57f3801701dfee27a28103dda4831306cb20",
      "tree": "430c8e4ebe879b27250e061dc1a1171b12aaadf0",
      "parents": [
        "e0cf8f045b2023b0b3f919ee93eb94345f648434"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Tue Mar 31 14:39:39 2009 +1100"
      },
      "committer": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Tue Mar 31 14:39:39 2009 +1100"
      },
      "message": "md: enable suspend/resume of md devices.\n\nTo be able to change the \u0027level\u0027 of an md/raid array, we need to\nsuspend the device so that no requests are active - then move some\npointers around etc.\n\nThe code already keeps counts of active requests and the -\u003equiesce\nfunction can be used to wait until those counts hit zero.\nHowever the quiesce function blocks new requests once they are all\nready \u0027inside\u0027 the personality module, and that is too late if we want\nto replace the personality modules.\n\nSo make all md requests come in through a common md_make_request\nfunction that keeps track of how many requests have entered the\nmodules but may not yet be on the internal reference counts.\nAllow md_make_request to be blocked when we want to suspend the\ndevice, and make it possible to wait for all those in-transit requests\nto be added to internal lists so that -\u003equiesce can wait for them.\n\nThere is still a problem that when a request completes, we drop the\nref count inside the personality code so there is a short time between\nwhen the refcount hits zero, and when the personality code is no\nlonger being used.\nThe personality code never blocks (schedule or spinlock) between\ndropping the refcount and exiting the routine, so this should be safe\n(as put_module calls synchronize_sched() before unmapping the module\ncode).\n\nSigned-off-by: NeilBrown \u003cneilb@suse.de\u003e\n"
    },
    {
      "commit": "e0cf8f045b2023b0b3f919ee93eb94345f648434",
      "tree": "21d8d0741a5ae4676fea5b53939cc806ae2b41bd",
      "parents": [
        "91adb56473febeeb3ef657bb5147ddd355465700"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Tue Mar 31 14:39:39 2009 +1100"
      },
      "committer": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Tue Mar 31 14:39:39 2009 +1100"
      },
      "message": "md: md_unregister_thread should cope with being passed NULL\n\nMostly md_unregister_thread is only called when we know that the\nthread is NULL, but sometimes we need to check first.  It is safer\nto put the check inside md_unregister_thread itself.\n\nSigned-off-by: NeilBrown \u003cneilb@suse.de\u003e\n"
    },
    {
      "commit": "91adb56473febeeb3ef657bb5147ddd355465700",
      "tree": "9ed414dd2bf999d91a536449c01273ee23ddbcfa",
      "parents": [
        "34817e8c3948ea20316dfa8fd8947d6d0ee82ba9"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Tue Mar 31 14:39:39 2009 +1100"
      },
      "committer": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Tue Mar 31 14:39:39 2009 +1100"
      },
      "message": "md/raid5: refactor raid5 \"run\"\n\n.. so that the code to create the private data structures is separate.\nThis will help with future code to change the level of an active\narray.\n\nSigned-off-by: NeilBrown \u003cneilb@suse.de\u003e\n"
    },
    {
      "commit": "34817e8c3948ea20316dfa8fd8947d6d0ee82ba9",
      "tree": "f4d2e75473b46db94928e21e9fe54b029432418b",
      "parents": [
        "67cc2b8165857ba019920d1f00d64bcc4140075d"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Tue Mar 31 14:39:38 2009 +1100"
      },
      "committer": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Tue Mar 31 14:39:38 2009 +1100"
      },
      "message": "md: make sure new_level, new_chunksize, new_layout always have sensible values.\n\nWhen an md array is undergoing a change, we have new_* fields that\nshow the new values.\nWhen no change is happening, it is least confusing if these have\nthe same value as the normal fields.\nThis is true in most cases, but not when the values are set via sysfs.\n\nSo fix this up.\n\nA subsequent patch will BUG_ON if these things aren\u0027t consistent.\n\n\nSigned-off-by: NeilBrown \u003cneilb@suse.de\u003e\n"
    },
    {
      "commit": "67cc2b8165857ba019920d1f00d64bcc4140075d",
      "tree": "ff8e8eed440640acfa561160115ac44aedf811c2",
      "parents": [
        "99c0fb5f92828ae96909d390f2df137b89093b37"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Tue Mar 31 14:39:38 2009 +1100"
      },
      "committer": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Tue Mar 31 14:39:38 2009 +1100"
      },
      "message": "md/raid5: finish support for DDF/raid6\n\nDDF requires RAID6 calculations over different devices in a different\norder.\nFor md/raid6, we calculate over just the data devices, starting\nimmediately after the \u0027Q\u0027 block.\nFor ddf/raid6 we calculate over all devices, using zeros in place of\nthe P and Q blocks.\n\nThis requires unfortunately complex loops...\n\nSigned-off-by: NeilBrown \u003cneilb@suse.de\u003e\n"
    },
    {
      "commit": "99c0fb5f92828ae96909d390f2df137b89093b37",
      "tree": "67757972da005990d619b810c3b75fb8b6c9969f",
      "parents": [
        "911d4ee8536d89ea8a6cd3e96b1c95a3ebc5ea66"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Tue Mar 31 14:39:38 2009 +1100"
      },
      "committer": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Tue Mar 31 14:39:38 2009 +1100"
      },
      "message": "md/raid5: Add support for new layouts for raid5 and raid6.\n\nDDF uses different layouts for P and Q blocks than current md/raid6\nso add those that are missing.\nAlso add support for RAID6 layouts that are identical to various\nraid5 layouts with the simple addition of one device to hold all of\nthe \u0027Q\u0027 blocks.\nFinally add \u0027raid5\u0027 layouts to match raid4.\nThese last to will allow online level conversion.\n\nNote that this does not provide correct support for DDF/raid6 yet\nas the order in which data blocks are summed to produce the Q block\nis significant and different between current md code and DDF\nrequirements.\n\nSigned-off-by: NeilBrown \u003cneilb@suse.de\u003e\n"
    },
    {
      "commit": "911d4ee8536d89ea8a6cd3e96b1c95a3ebc5ea66",
      "tree": "222c79b83b7cdcd0b73501c40ed11092b9af10cf",
      "parents": [
        "d0dabf7e577411c2bf6b616c751544dc241213d4"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Tue Mar 31 14:39:38 2009 +1100"
      },
      "committer": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Tue Mar 31 14:39:38 2009 +1100"
      },
      "message": "md/raid5: simplify raid5_compute_sector interface\n\nRather than passing \u0027pd_idx\u0027 and \u0027qd_idx\u0027 to be filled in, pass\na \u0027struct stripe_head *\u0027 and fill in the relevant fields.  This is\nmore extensible.\n\nSigned-off-by: NeilBrown \u003cneilb@suse.de\u003e\n"
    },
    {
      "commit": "d0dabf7e577411c2bf6b616c751544dc241213d4",
      "tree": "26a41b66f1ae83e2127eceace281332134518eb0",
      "parents": [
        "112bf8970dbdfc00bd4667da5996e57c2ce58066"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Tue Mar 31 14:39:38 2009 +1100"
      },
      "committer": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Tue Mar 31 14:39:38 2009 +1100"
      },
      "message": "md/raid6: remove expectation that Q device is immediately after P device.\n\n\nCode currently assumes that the devices in a raid6 stripe are\n  0 1 ... N-1 P Q\nin some rotated order.  We will shortly add new layouts in which\nthis strict pattern is broken.\nSo remove this expectation.  We still assume that the data disks\nare roughly in-order.  However P and Q can be inserted anywhere within\nthat order.\n\nSigned-off-by: NeilBrown \u003cneilb@suse.de\u003e\n"
    },
    {
      "commit": "112bf8970dbdfc00bd4667da5996e57c2ce58066",
      "tree": "504afc2dec2ef28d27ef9248eb80b6165cdf95de",
      "parents": [
        "b5663ba405fe3e51176ddb6c91a5e186590c26b5"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Tue Mar 31 14:39:38 2009 +1100"
      },
      "committer": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Tue Mar 31 14:39:38 2009 +1100"
      },
      "message": "md/raid5: change raid5_compute_sector and stripe_to_pdidx to take a \u0027previous\u0027 argument\n\nThis similar to the recent change to get_active_stripe.\nThere is no functional change, just come rearrangement to make\nfuture patches cleaner.\n\nSigned-off-by: NeilBrown \u003cneilb@suse.de\u003e\n"
    },
    {
      "commit": "b5663ba405fe3e51176ddb6c91a5e186590c26b5",
      "tree": "5eb8f009b97a02a90cf23db012588971c2f9aa0d",
      "parents": [
        "dd8ac336c13fd8afdb082ebacb1cddd5cf727889"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Tue Mar 31 14:39:38 2009 +1100"
      },
      "committer": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Tue Mar 31 14:39:38 2009 +1100"
      },
      "message": "md/raid5: simplify interface for init_stripe and get_active_stripe\n\nRather than passing \u0027pd_idx\u0027 and \u0027disks\u0027 to these functions, just pass\n\u0027previous\u0027 which tells whether to use the \u0027previous\u0027 or \u0027current\u0027\ngeometry during a reshape, and let init_stripe calculate\ndisks and pd_idx and anything else it might need.\n\nThis is not a substantial simplification and even adds a division.\nHowever we will shortly be adding more complexity to init_stripe\nto handle more interesting \u0027reshape\u0027 activities, and without this\nchange, the interface to these functions would get very complex.\n\nSigned-off-by: NeilBrown \u003cneilb@suse.de\u003e\n"
    },
    {
      "commit": "dd8ac336c13fd8afdb082ebacb1cddd5cf727889",
      "tree": "0baa8111d7406774525a1053be461135257d73d2",
      "parents": [
        "58c0fed400603a802968b23ddf78f029c5a84e41"
      ],
      "author": {
        "name": "Andre Noll",
        "email": "maan@systemlinux.org",
        "time": "Tue Mar 31 14:33:13 2009 +1100"
      },
      "committer": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Tue Mar 31 14:33:13 2009 +1100"
      },
      "message": "md: Represent raid device size in sectors.\n\nThis patch renames the \"size\" field of struct mdk_rdev_s to\n\"sectors\" and changes this field to store sectors instead of\nblocks.\n\nAll users of this field, linear.c, raid0.c and md.c, are fixed up\naccordingly which gets rid of many multiplications and divisions.\n\nSigned-off-by: Andre Noll \u003cmaan@systemlinux.org\u003e\nSigned-off-by: NeilBrown \u003cneilb@suse.de\u003e\n"
    },
    {
      "commit": "58c0fed400603a802968b23ddf78f029c5a84e41",
      "tree": "474fcb9775bb07f39ebb7802fb9b51d69222dcbb",
      "parents": [
        "575a80fa4f623141e9791e41879d87800fb6d862"
      ],
      "author": {
        "name": "Andre Noll",
        "email": "maan@systemlinux.org",
        "time": "Tue Mar 31 14:33:13 2009 +1100"
      },
      "committer": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Tue Mar 31 14:33:13 2009 +1100"
      },
      "message": "md: Make mddev-\u003esize sector-based.\n\nThis patch renames the \"size\" field of struct mddev_s to \"dev_sectors\"\nand stores the number of 512-byte sectors instead of the number of\n1K-blocks in it.\n\nAll users of that field, including raid levels 1,4-6,10, are adjusted\naccordingly. This simplifies the code a bit because it allows to get\nrid of a couple of divisions/multiplications by two.\n\nIn order to make checkpatch happy, some minor coding style issues\nhave also been addressed. In particular, size_store() now uses\nstrict_strtoull() instead of simple_strtoull().\n\nSigned-off-by: Andre Noll \u003cmaan@systemlinux.org\u003e\nSigned-off-by: NeilBrown \u003cneilb@suse.de\u003e\n"
    },
    {
      "commit": "575a80fa4f623141e9791e41879d87800fb6d862",
      "tree": "f316efc3ee33b2914d8b9f3a3041394560ee9e90",
      "parents": [
        "97e4f42d62badb0f9fbc27c013e89bc1336a03bc"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Tue Mar 31 14:33:13 2009 +1100"
      },
      "committer": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Tue Mar 31 14:33:13 2009 +1100"
      },
      "message": "md: be more consistent about setting WriteMostly flag when adding a drive to an array\n\nWhen a drive is added to an array using ADD_NEW_DISK, there are two\nplaces we can get certain flags from:  the metadata on the disk or the\nflags passed through the IOCTL.\n\nFor the WriteMostly flag (aka MD_DISK_WRITEMOSTLY) we take the value\nfrom either of those sources depending on if it is set (i.e. we\neffectively \u0027or\u0027 the two sources together).\n\nThis makes it awkward to clear, and is at best inconsistent.\n\nAs documented code (in mdadm) requires that setting\nMD_DISK_WRITEMOSTLY in the ioctl will be effective, we resolve the\ninconsistency by always using the value for this flag from the ioctl,\nand ignoring the value on disk.\n\n\nSigned-off-by: NeilBrown \u003cneilb@suse.de\u003e\n"
    },
    {
      "commit": "97e4f42d62badb0f9fbc27c013e89bc1336a03bc",
      "tree": "04cc809702a6b080c417c4ddf605642bbf7de521",
      "parents": [
        "43b2e5d86d8bdd77386226db0bc961529492c043"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Tue Mar 31 14:33:13 2009 +1100"
      },
      "committer": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Tue Mar 31 14:33:13 2009 +1100"
      },
      "message": "md: occasionally checkpoint drive recovery to reduce duplicate effort after a crash\n\nVersion 1.x metadata has the ability to record the status of a\npartially completed drive recovery.\nHowever we only update that record on a clean shutdown.\nIt would be nice to update it on unclean shutdowns too, particularly\nwhen using a bitmap that removes much to the \u0027sync\u0027 effort after an\nunclean shutdown.\n\nOne complication with checkpointing recovery is that we only know\nwhere we are up to in terms of IO requests started, not which ones\nhave completed.  And we need to know what has completed to record\nhow much is recovered.  So occasionally pause the recovery until all\nsubmitted requests are completed, then update the record of where\nwe are up to.\n\nWhen we have a bitmap, we already do that pause occasionally to keep\nthe bitmap up-to-date.  So enhance that code to record the recovery\noffset and schedule a superblock update.\nAnd when there is no bitmap, just pause 16 times during the resync to\ndo a checkpoint.\n\u002716\u0027 is a fairly arbitrary number.  But we don\u0027t really have any good\nway to judge how often is acceptable, and it seems like a reasonable\nnumber for now.\n\n\nSigned-off-by: NeilBrown \u003cneilb@suse.de\u003e\n"
    },
    {
      "commit": "43b2e5d86d8bdd77386226db0bc961529492c043",
      "tree": "601a885b1410324678cf319eee77cc54a02f2cf3",
      "parents": [
        "bff61975b3d6c18ee31457cc5b4d73042f44915f"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Tue Mar 31 14:33:13 2009 +1100"
      },
      "committer": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Tue Mar 31 14:33:13 2009 +1100"
      },
      "message": "md: move md_k.h from include/linux/raid/ to drivers/md/\n\nIt really is nicer to keep related code together..\n\nSigned-off-by: NeilBrown \u003cneilb@suse.de\u003e\n"
    },
    {
      "commit": "bff61975b3d6c18ee31457cc5b4d73042f44915f",
      "tree": "3aff48088b35172e74f56ae54f0b53e76a0c2150",
      "parents": [
        "92022950c6b1bb3da90b2976b20271cdfd98b8a3"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Tue Mar 31 14:33:13 2009 +1100"
      },
      "committer": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Tue Mar 31 14:33:13 2009 +1100"
      },
      "message": "md: move lots of #include lines out of .h files and into .c\n\nThis makes the includes more explicit, and is preparation for moving\nmd_k.h to drivers/md/md.h\n\nRemove include/raid/md.h as its only remaining use was to #include\nother files.\n\nSigned-off-by: NeilBrown \u003cneilb@suse.de\u003e\n"
    },
    {
      "commit": "8b2b5c217c20b5460218ab8731295f2e46c7dd29",
      "tree": "f5da8b06b3d2a53e80c31e0c0aa386e381b3a841",
      "parents": [
        "ef740c372dfd80e706dbf955d4e4aedda6c0c148"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Tue Mar 31 14:27:03 2009 +1100"
      },
      "committer": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Tue Mar 31 14:27:03 2009 +1100"
      },
      "message": "md: move LEVEL_* definition from md_k.h to md_u.h\n\n.. as they are part of the user-space interface.\nAlso move MdpMinorShift into there so we can remove duplication.\n\nLastly move mdp_major in.  It is less obviously part of the user-space\ninterface, but do_mounts_md.c uses it, and it is acting a bit like\nuser-space.\n\nSigned-off-by: NeilBrown \u003cneilb@suse.de\u003e\n"
    },
    {
      "commit": "ef740c372dfd80e706dbf955d4e4aedda6c0c148",
      "tree": "8d9ef9db346ee1ba319a125c9de83cdde049510d",
      "parents": [
        "2a40a8aed083d988df6822bb9b1b08fb7ce21e1d"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Tue Mar 31 14:27:03 2009 +1100"
      },
      "committer": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Tue Mar 31 14:27:03 2009 +1100"
      },
      "message": "md: move headers out of include/linux/raid/\n\nMove the headers with the local structures for the disciplines and\nbitmap.h into drivers/md/ so that they are more easily grepable for\nhacking and not far away.  md.h is left where it is for now as there\nare some uses from the outside.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: NeilBrown \u003cneilb@suse.de\u003e\n"
    },
    {
      "commit": "2a40a8aed083d988df6822bb9b1b08fb7ce21e1d",
      "tree": "73b814307d6c6beaea2013496518696f515f7cf4",
      "parents": [
        "3dbd8c2e3ff0185585e068f190289d2a267a3e83"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Tue Mar 31 14:27:02 2009 +1100"
      },
      "committer": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Tue Mar 31 14:27:02 2009 +1100"
      },
      "message": "cleanup drivers/md/Makefile\n\nUse the -y variables instead of the old -objs so we can easily add\nconditional objects to the modules.  Also always use +\u003d to add\nsubobjects to avoid problems when placing additional objects in\nsome place in the file.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: NeilBrown \u003cneilb@suse.de\u003e\n"
    },
    {
      "commit": "3dbd8c2e3ff0185585e068f190289d2a267a3e83",
      "tree": "f49dfbb19fc57e7888a53e763449c36e692367c4",
      "parents": [
        "3f9d99c12a533809342b475c95452e82761bcc1c"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Tue Mar 31 14:27:02 2009 +1100"
      },
      "committer": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Tue Mar 31 14:27:02 2009 +1100"
      },
      "message": "md: stop defining MAJOR_NR\n\nMAJOR_NR was only required for magic in linux/blk.h in 2.4 or earlier\nkernels, so no need to keep it around.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: NeilBrown \u003cneilb@suse.de\u003e\n"
    },
    {
      "commit": "3f9d99c12a533809342b475c95452e82761bcc1c",
      "tree": "8e8bcc72dce1b69e958317f77c351bc0bd4e1c28",
      "parents": [
        "355a43e641b948a7b755cb4c2466ec548d5b495f"
      ],
      "author": {
        "name": "Martin K. Petersen",
        "email": "martin.petersen@oracle.com",
        "time": "Tue Mar 31 14:27:02 2009 +1100"
      },
      "committer": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Tue Mar 31 14:27:02 2009 +1100"
      },
      "message": "MD data integrity support\n\nmd: Add support for data integrity to MD\n\nIf all subdevices support the same protection format the MD device is\nflagged as integrity capable.\n\nSigned-off-by: Martin K. Petersen \u003cmartin.petersen@oracle.com\u003e\nSigned-off-by: NeilBrown \u003cneilb@suse.de\u003e\n"
    },
    {
      "commit": "355a43e641b948a7b755cb4c2466ec548d5b495f",
      "tree": "bed8f87adde74f054c6b822ffdbae74395e76710",
      "parents": [
        "d0a4bb492772ce5c4bdfba3744a99ed6f6fb238f"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Tue Mar 31 14:27:02 2009 +1100"
      },
      "committer": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Tue Mar 31 14:27:02 2009 +1100"
      },
      "message": "md: write bitmap information to devices that are undergoing recovery.\n\nWhen we add some spares to an array and start recovery, and we have\na bitmap which is stored \u0027internally\u0027 on all devices, we call\nbitmap_write_all to make sure the bitmap is correct on the new\ndevice(s).\nHowever that doesn\u0027t work as write_sb_page only writes to\n\u0027In_sync\u0027 devices, and devices undergoing recovery are not\n\u0027In_sync\u0027 until recovery finishes.\n\nSo extend write_sb_page (actually next_active_rdev) to include devices\nthat are under recovery.\n\nSigned-off-by: NeilBrown \u003cneilb@suse.de\u003e\n"
    },
    {
      "commit": "d0a4bb492772ce5c4bdfba3744a99ed6f6fb238f",
      "tree": "a76356c2051e6f225c31989dbf278689554dfcbf",
      "parents": [
        "1187cf0a3c8b647d08bc86e043563c8d2a327adc"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Tue Mar 31 14:27:02 2009 +1100"
      },
      "committer": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Tue Mar 31 14:27:02 2009 +1100"
      },
      "message": "md: never clear bit from the write-intent bitmap when the array is degraded.\n\n\nIt is safe to clear a bit from the write-intent bitmap for a raid1\nif we know the data has been written to all devices, which is\nwhat the current test does.\n\nBut it is not always safe to update the \u0027events_cleared\u0027 counter in\nthat case.  This is because one request could complete successfully\nafter some other request has partially failed.\n\nSo simply disable the clearing and updating of events_cleared whenever\nthe array is degraded.  This might end up not clearing some bits that\ncould safely be cleared, but it is safest approach.\n\nNote that the bug fixed here did not risk corrupting data by letting\nthe array get out-of-sync.  Rather it meant that when a device is\nremoved and re-added to the array, it might incorrectly require a full\nrecovery rather than just recovering based on the bitmap.\n\nSigned-off-by: NeilBrown \u003cneilb@suse.de\u003e\n"
    },
    {
      "commit": "1187cf0a3c8b647d08bc86e043563c8d2a327adc",
      "tree": "759515a3fdcbf962f35255f90ea6c4d7c708391a",
      "parents": [
        "eea1bf384e05b5ab747f8530c4fba9e9e6907fff"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Tue Mar 31 14:27:02 2009 +1100"
      },
      "committer": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Tue Mar 31 14:27:02 2009 +1100"
      },
      "message": "md: Allow write-intent bitmaps to have chunksize \u003c PAGE_SIZE\n\nmd currently insists that the chunk size used for write-intent\nbitmaps (the amount of data that corresponds to one chunk)\nbe at least one page.\n\nThe reason for this restriction is lost in the mists of time,\nbut a review of the code (and a vague memory) suggests that the only\nproblem would be related to resync.  Resync tries very hard to\nwork in multiples of a page, but also needs to sync with units\nof a bitmap_chunk too.\n\nThis connection comes out in the bitmap_start_sync call.\n\nSo change bitmap_start_sync to always work in multiples of a page.\nIf the bitmap chunk size is less that one page, we flag multiple\nchunks as \u0027syncing\u0027 and generally make them all appear to the\nresync routines like one chunk.\n\nAll other code either already works with data ranges that could\nspan multiple chunks, or explicitly only cares about a single chunk.\n\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\n"
    },
    {
      "commit": "eea1bf384e05b5ab747f8530c4fba9e9e6907fff",
      "tree": "ed4c05f8bd7e5805092e9c6a2c257ca71dc0fe2d",
      "parents": [
        "99adcd9d67aaf04e28f5ae96df280f236bde4b66"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Tue Mar 31 14:27:02 2009 +1100"
      },
      "committer": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Tue Mar 31 14:27:02 2009 +1100"
      },
      "message": "md: Fix is_mddev_idle test (again).\n\nThere are two problems with is_mddev_idle.\n\n1/ sync_io is \u0027atomic_t\u0027 and hence \u0027int\u0027.  curr_events and all the\n   rest are \u0027long\u0027.\n   So if sync_io were to wrap on a 64bit host, the value of\n   curr_events would go very negative suddenly, and take a very\n   long time to return to positive.\n\n   So do all calculations as \u0027int\u0027.  That gives us plenty of precision\n   for what we need.\n\n2/ To initialise rdev-\u003elast_events we simply call is_mddev_idle, on\n   the assumption that it will make sure that last_events is in a\n   suitable range.  It used to do this, but now it does not.\n   So now we need to be more explicit about initialisation.\n\nSigned-off-by: NeilBrown \u003cneilb@suse.de\u003e\n"
    },
    {
      "commit": "99adcd9d67aaf04e28f5ae96df280f236bde4b66",
      "tree": "4fd43e20697199bd2884a21a8d469f0ff6632cbd",
      "parents": [
        "2d5516cbb9daf7d0e342a2e3b0fc6f8c39a81205",
        "753b7aea8e4611433c13ac157f944d8b4bf42482"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Mar 09 13:23:59 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Mar 09 13:23:59 2009 -0700"
      },
      "message": "Merge branch \u0027fixes\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/davej/cpufreq\n\n* \u0027fixes\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/davej/cpufreq:\n  [CPUFREQ] Add p4-clockmod sysfs-ui removal to feature-removal schedule.\n  Revert \"[CPUFREQ] Disable sysfs ui for p4-clockmod.\"\n"
    },
    {
      "commit": "129f8ae9b1b5be94517da76009ea956e89104ce8",
      "tree": "f79cbe8397dd2578349d3aefe25dc72f26eab291",
      "parents": [
        "694593e3374a67d95ece6a275a1f181644c2c4d8"
      ],
      "author": {
        "name": "Dave Jones",
        "email": "davej@redhat.com",
        "time": "Mon Mar 09 15:07:33 2009 -0400"
      },
      "committer": {
        "name": "Dave Jones",
        "email": "davej@redhat.com",
        "time": "Mon Mar 09 15:07:33 2009 -0400"
      },
      "message": "Revert \"[CPUFREQ] Disable sysfs ui for p4-clockmod.\"\n\nThis reverts commit e088e4c9cdb618675874becb91b2fd581ee707e6.\n\nRemoving the sysfs interface for p4-clockmod was flagged as a\nregression in bug 12826.\n\nCourse of action:\n - Find out the remaining causes of overheating, and fix them\n   if possible. ACPI should be doing the right thing automatically.\n   If it isn\u0027t, we need to fix that.\n - mark p4-clockmod ui as deprecated\n - try again with the removal in six months.\n\nIt\u0027s not really feasible to printk about the deprecation, because\nit needs to happen at all the sysfs entry points, which means adding\na lot of strcmp(\"p4-clockmod\".. calls to the core, which.. bleuch.\n\nSigned-off-by: Dave Jones \u003cdavej@redhat.com\u003e\n"
    },
    {
      "commit": "df0b4a5080ca668636831b641a6356500fb5c637",
      "tree": "aaab82b392b4e1fdc672ab55efb017c91fdc6616",
      "parents": [
        "39a3478c1c0122640b1a0ead0d7cccd0804b1750",
        "c0350024723b4a69e38655816484d934aca8eb30"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Mar 09 09:15:40 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Mar 09 09:15:40 2009 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6: (29 commits)\n  p54: fix race condition in memory management\n  cfg80211: test before subtraction on unsigned\n  iwlwifi: fix error flow in iwl*_pci_probe\n  rt2x00 : more devices to rt73usb.c\n  rt2x00 : more devices to rt2500usb.c\n  bonding: Fix device passed into -\u003endo_neigh_setup().\n  vlan: Fix vlan-in-vlan crashes.\n  net: Fix missing dev-\u003eneigh_setup in register_netdevice().\n  tmspci: fix request_irq race\n  pkt_sched: act_police: Fix a rate estimator test.\n  tg3: Fix 5906 link problems\n  SCTP: change sctp_ctl_sock_init() to try IPv4 if IPv6 fails\n  IPv6: add \"disable\" module parameter support to ipv6.ko\n  sungem: another error printed one too early\n  aoe: error printed 1 too early\n  net pcmcia: worklimit reaches -1\n  net: more timeouts that reach -1\n  net: fix tokenring license\n  dm9601: new vendor/product IDs\n  netlink: invert error code in netlink_set_err()\n  ...\n"
    },
    {
      "commit": "6db6a5f3ae2ca6b874b0fd97ae16fdc9b5cdd6cc",
      "tree": "567ab7d3593f6ab63fecfb8c9797fb4efda67ea7",
      "parents": [
        "cbd88c8e6f5cdb8d4b9af01df825305200240382"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Mon Mar 09 10:06:28 2009 -0600"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Mon Mar 09 10:06:29 2009 +1030"
      },
      "message": "lguest: fix for CONFIG_SPARSE_IRQ\u003dy\n\nImpact: remove lots of lguest boot WARN_ON() when CONFIG_SPARSE_IRQ\u003dy\n\nWe now need to call irq_to_desc_alloc_cpu() before\nset_irq_chip_and_handler_name(), but we can\u0027t do that from init_IRQ (no\nkmalloc available).\n\nSo do it as we use interrupts instead.  Also means we only alloc for\nirqs we use, which was the intent of CONFIG_SPARSE_IRQ anyway.\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nCc: Ingo Molnar \u003cmingo@redhat.com\u003e\n"
    },
    {
      "commit": "7a203f3b089be4410fe065dd9927027eade94557",
      "tree": "dfccff61334ba6cf6047cbfca09fd6147a3a8d8a",
      "parents": [
        "dbb9be8a79802d1d1fd487d54ad48ac0b7fc17df",
        "cda56ac29f2d8288d62978272856884d26e0b47b"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Mar 08 10:37:57 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Mar 08 10:37:57 2009 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/drzeus/mmc\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/drzeus/mmc:\n  mmc: fix data timeout for SEND_EXT_CSD\n"
    },
    {
      "commit": "cd3c1cde262b0f068d27d980648892b2843966d4",
      "tree": "b3c4433b39b790894836ac1fde2ee6d5f878e296",
      "parents": [
        "5b61f6accfd6449150aefe13a7679ec360abcc16",
        "c9a0c8a6845b5efb64841f40b8efb4c387051d46"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Mar 08 10:25:13 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Mar 08 10:25:13 2009 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/wim/linux-2.6-watchdog\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/wim/linux-2.6-watchdog:\n  [WATCHDOG] orion5x_wdt.c: \u0027ORION5X_TCLK\u0027 undeclared\n  [WATCHDOG] gef_wdt.c: fsl_get_sys_freq() failure not noticed\n  [WATCHDOG] ks8695_wdt.c: \u0027CLOCK_TICK_RATE\u0027 undeclared\n  [WATCHDOG] rc32434_wdt: fix sections\n  [WATCHDOG] rc32434_wdt: fix watchdog driver\n"
    },
    {
      "commit": "5dc18f51a2c06ddab708184e30b7967fb71c1784",
      "tree": "b080f2a651f694f523491487bf92d28c3c63d981",
      "parents": [
        "fd6ec5f3acfe7e94469d83374b83ff183953fa45",
        "7cbd4877e5b167b56a3d6033b926a9f925186e12"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Mar 08 10:23:05 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Mar 08 10:23:05 2009 -0700"
      },
      "message": "Merge branch \u0027fixes\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/djbw/async_tx\n\n* \u0027fixes\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/djbw/async_tx:\n  dmatest: fix use after free in dmatest_exit\n  ipu_idmac: fix spinlock type\n  iop-adma, mv_xor: fix mem leak on self-test setup failure\n  fsldma: fix off by one in dma_halt\n  I/OAT: fail self-test if callback test reaches timeout\n  I/OAT: update driver version and copyright dates\n  I/OAT: list usage cleanup\n  I/OAT: set tcp_dma_copybreak to 256k for I/OAT ver.3\n  I/OAT: cancel watchdog before dma remove\n  I/OAT: fail initialization on zero channels detection\n  I/OAT: do not set DCACTRL_CMPL_WRITE_ENABLE for I/OAT ver.3\n  I/OAT: add verification for proper APICID_TAG_MAP setting by BIOS\n  dmaengine: update kerneldoc\n"
    },
    {
      "commit": "fd6ec5f3acfe7e94469d83374b83ff183953fa45",
      "tree": "6f7aa80a8e95c054424d9e8229da3df0dd694ecd",
      "parents": [
        "83d5a325107cd0befa2b863e795675bc8ff881d7",
        "d42ad15b759d05a87f22b484af63987eff38ea88"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Mar 08 10:22:22 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Mar 08 10:22:22 2009 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/bart/ide-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/bart/ide-2.6:\n  ata: add CFA specific identify data words\n  remove stale comment from \u003clinux/hdreg.h\u003e\n  AT91: initialize Compact Flash on AT91SAM9263 cpu\n  ide: add at91_ide driver\n  ide: allow to wrap interrupt handler\n  ide-iops: fix odd-length ATAPI PIO transfers\n  ide: NULL noise: drivers/ide/ide-*.c\n  ide: expiry() returns int, negative expiry() return values won\u0027t be noticed\n"
    },
    {
      "commit": "83d5a325107cd0befa2b863e795675bc8ff881d7",
      "tree": "64cd1a69d726b19e70783f2b350baf3f8aa38489",
      "parents": [
        "d0cdb070ced5453fd1790d83c32bdc59d8ff9375",
        "968e594afdbc40b4270f9d4032ae8350475749d6"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Mar 08 10:22:01 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Mar 08 10:22:01 2009 -0700"
      },
      "message": "Merge branch \u0027upstream-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jgarzik/libata-dev\n\n* \u0027upstream-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jgarzik/libata-dev:\n  libata: Don\u0027t trust current capacity values in identify words 57-58\n  libata: make sure port is thawed when skipping resets\n  sata_nv: fix module parameter description\n  ahci: Add the Device IDs for MCP89 and remove IDs of MCP7B to/from ahci.c\n  libata: don\u0027t use on-stack sense buffer\n  libata: align ap-\u003esector_buf\n  libata: fix dma_unmap_sg misuse\n  libata: change drive ready wait after hard reset to 5s\n"
    },
    {
      "commit": "cda56ac29f2d8288d62978272856884d26e0b47b",
      "tree": "ff9290ffa90f8fb17ebd4dda181cf799ca6bc705",
      "parents": [
        "559595a985e106d2fa9f0c79b7f5805453fed593"
      ],
      "author": {
        "name": "Adrian Hunter",
        "email": "adrian.hunter@nokia.com",
        "time": "Tue Feb 10 16:32:33 2009 +0200"
      },
      "committer": {
        "name": "Pierre Ossman",
        "email": "drzeus@drzeus.cx",
        "time": "Sun Mar 08 14:46:04 2009 +0100"
      },
      "message": "mmc: fix data timeout for SEND_EXT_CSD\n\nCommit 0d3e0460f307e84904968aad6cff97bd688583d8\n\"MMC: CSD and CID timeout values\" inadvertently broke\nthe timeout for the MMC command SEND_EXT_CSD.\n\nThis patch puts it back again.\n\nDepending on the characteristics of the controller,\nthis bug may prevent the use of MMC cards.\n\nSigned-off-by: Adrian Hunter \u003cadrian.hunter@nokia.com\u003e\nSigned-off-by: Pierre Ossman \u003cdrzeus@drzeus.cx\u003e\n"
    },
    {
      "commit": "c0350024723b4a69e38655816484d934aca8eb30",
      "tree": "3c7ab2ba6f97daf654249fb4ed98f3b1922955a9",
      "parents": [
        "bd05f28e1a15ae62994fe309a524695fe26dd834"
      ],
      "author": {
        "name": "Christian Lamparter",
        "email": "chunkeey@web.de",
        "time": "Fri Mar 06 00:53:59 2009 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Mar 06 15:54:32 2009 -0500"
      },
      "message": "p54: fix race condition in memory management\n\nThis patch fixes a number of race conditions in the driver.\nUp until now, \"entry\" pointer was initialized before acquiring the right lock.\n\nSigned-off-by: Christian Lamparter \u003cchunkeey@web.de\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "c9a0c8a6845b5efb64841f40b8efb4c387051d46",
      "tree": "7300fabb12ecc358cac7137d7c53a93abfe7d11d",
      "parents": [
        "26952669f01646c3e7d0832c99b310b199fe2b20"
      ],
      "author": {
        "name": "Wim Van Sebroeck",
        "email": "wim@iguana.be",
        "time": "Wed Feb 25 13:33:01 2009 +0100"
      },
      "committer": {
        "name": "Wim Van Sebroeck",
        "email": "wim@iguana.be",
        "time": "Thu Mar 05 19:25:05 2009 +0000"
      },
      "message": "[WATCHDOG] orion5x_wdt.c: \u0027ORION5X_TCLK\u0027 undeclared\n\norion5x_wdt no longer compiled after the changes in commit\nebe35aff883496c07248df82c8576c3b6e84bbbe (\"Orion: prepare for\nruntime-determined timer tick rate\").\n\nThe tick rate define (ORION5X_TCLK) was removed in favor of a runtime\ndetection. The quick fix is to add the define in the watchdog driver.\nThe fix is not correct for all supported orion5x platforms, but since\nthe supported platforms right now are 133 Mhz and 166 Mhz, it won\u0027t\nbe _that_ far off. ;-) A fix that uses the runtime-determined timer\ntick rate will be applied later.\n\nSigned-off-by: Wim Van Sebroeck \u003cwim@iguana.be\u003e\nCc: Kristof Provost \u003ckristof@sigsegv.be\u003e\nAcked-by: Lennert Buytenhek \u003cbuytenh@wantstofly.org\u003e\nCc: Nicolas Pitre \u003cnico@cam.org\u003e\nCc: Russell King \u003crmk@arm.linux.org.uk\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\n\n"
    },
    {
      "commit": "623d563e52d4d4041612e24b33a5610a900dd778",
      "tree": "9929b79207e85ca89004f27beeca7aafd18c6668",
      "parents": [
        "ef4bb70d876b4ae5787cc43727477d1a36cdc2e8"
      ],
      "author": {
        "name": "Reinette Chatre",
        "email": "reinette.chatre@intel.com",
        "time": "Tue Mar 03 11:37:04 2009 -0800"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Thu Mar 05 13:43:06 2009 -0500"
      },
      "message": "iwlwifi: fix error flow in iwl*_pci_probe\n\nBoth the agn and 3945 drivers has some problems with dealing with\nerrors in their probe functions. Ensure that a goto will undo only\nthings that was done before the goto was called.\n\nSigned-off-by: Reinette Chatre \u003creinette.chatre@intel.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "ef4bb70d876b4ae5787cc43727477d1a36cdc2e8",
      "tree": "d736b775b83e8c3c7342c502f70d412a3c2da9b6",
      "parents": [
        "9eb77ab0762d8cfc4686e1ec5e9a52905f3a5009"
      ],
      "author": {
        "name": "Xose Vazquez Perez",
        "email": "xose.vazquez@gmail.com",
        "time": "Sat Feb 28 00:34:23 2009 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Thu Mar 05 13:43:05 2009 -0500"
      },
      "message": "rt2x00 : more devices to rt73usb.c\n\nadd more usb_dev to rt73usb.c . IDs \u0027stolen\u0027 from the\nwindows inf file(10/21/2008, 1.03.02.0000) plus some\nfrom the Ralink linux driver(2009_0206_RT73_Linux_STA_Drv1.1.0.2.tar.bz2)\n\nSigned-off-by: Xose Vazquez Perez \u003cxose.vazquez@gmail.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "9eb77ab0762d8cfc4686e1ec5e9a52905f3a5009",
      "tree": "b252a0395abfb42f7239bdd53f44250c7c85ba1e",
      "parents": [
        "72e2240f181871675d3a979766330c91d48a1673"
      ],
      "author": {
        "name": "Xose Vazquez Perez",
        "email": "xose.vazquez@gmail.com",
        "time": "Sat Feb 28 00:26:09 2009 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Thu Mar 05 13:43:05 2009 -0500"
      },
      "message": "rt2x00 : more devices to rt2500usb.c\n\nadd more usb_dev to rt2500usb.c . IDs \u0027stolen\u0027 from the\nwindows inf file(02/12/2009, 2.01.01.0015).\n\nSigned-off-by: Xose Vazquez Perez \u003cxose.vazquez@gmail.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "6e5f1e1115bb041993f9f247036996364b4c84d5",
      "tree": "51f3bd4bce0ddb4afdcaf8fac10c7905d8119882",
      "parents": [
        "849d7130001ab740a5a4778a561049841fdd77c9"
      ],
      "author": {
        "name": "Stanislaw Gruszka",
        "email": "stf_xl@wp.pl",
        "time": "Thu Mar 05 16:10:58 2009 +0100"
      },
      "committer": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Thu Mar 05 16:10:58 2009 +0100"
      },
      "message": "ide: add at91_ide driver\n\nThis is IDE host driver for AT91 (SAM9, CAP9, AT572D940HF) Static Memory\nController with Compact Flash True IDE Mode logic.\n\nDriver have to switch 8/16 bit bus width when accessing Task Tile or Data\nRegister. Moreover some extra things need to be done when setting PIO mode.\nOnly PIO mode is used, hardware have no DMA support. If interrupt line is\nconnected through GPIO extra quirk is needed to cope with fake interrupts.\n\nSigned-off-by: Stanislaw Gruszka \u003cstf_xl@wp.pl\u003e\nCc: Andrew Victor \u003cavictor.za@gmail.com\u003e\nAcked-by: Sergei Shtylyov \u003csshtylyov@ru.mvista.com\u003e\nSigned-off-by: Bartlomiej Zolnierkiewicz \u003cbzolnier@gmail.com\u003e\n"
    },
    {
      "commit": "849d7130001ab740a5a4778a561049841fdd77c9",
      "tree": "c7031ed3d3aa24270d0f001d3616698aeb3fe39a",
      "parents": [
        "a509538d4fb4f99cdf0a095213d57cc3b2347615"
      ],
      "author": {
        "name": "Stanislaw Gruszka",
        "email": "stf_xl@wp.pl",
        "time": "Thu Mar 05 16:10:57 2009 +0100"
      },
      "committer": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Thu Mar 05 16:10:57 2009 +0100"
      },
      "message": "ide: allow to wrap interrupt handler\n\nSigned-off-by: Stanislaw Gruszka \u003cstf_xl@wp.pl\u003e\nCc: Andrew Victor \u003clinux@maxim.org.za\u003e\n[bart: minor checkpatch.pl / CodingStyle fixups]\nSigned-off-by: Bartlomiej Zolnierkiewicz \u003cbzolnier@gmail.com\u003e\n"
    },
    {
      "commit": "a509538d4fb4f99cdf0a095213d57cc3b2347615",
      "tree": "a8ece5f264365dd239c009eb4d64f086e5adef71",
      "parents": [
        "71bfc7a7c73eaf1f99e309dba60822ba050e3ec5"
      ],
      "author": {
        "name": "Sergei Shtylyov",
        "email": "sshtylyov@ru.mvista.com",
        "time": "Thu Mar 05 16:10:56 2009 +0100"
      },
      "committer": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Thu Mar 05 16:10:56 2009 +0100"
      },
      "message": "ide-iops: fix odd-length ATAPI PIO transfers\n\nCommit 9567b349f7e7dd7e2483db99ee8e4a6fe0caca38 (ide: merge -\u003eatapi_*put_bytes\nand -\u003eata_*put_data methods) introduced a regression  WRT the odd-length ATAPI\nPIO transfers -- the final word didn\u0027t get written (causing command timeouts).\n\nSigned-off-by: Sergei Shtylyov \u003csshtylyov@ru.mvista.com\u003e\nSigned-off-by: Bartlomiej Zolnierkiewicz \u003cbzolnier@gmail.com\u003e\n"
    },
    {
      "commit": "71bfc7a7c73eaf1f99e309dba60822ba050e3ec5",
      "tree": "6eaf8bc81002fa8f699a5a6e2c790022b19a7742",
      "parents": [
        "e0c6dcd8d4257a129fc813ac68f20b77c6ae2a7a"
      ],
      "author": {
        "name": "Hannes Eder",
        "email": "hannes@hanneseder.net",
        "time": "Thu Mar 05 16:10:56 2009 +0100"
      },
      "committer": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Thu Mar 05 16:10:56 2009 +0100"
      },
      "message": "ide: NULL noise: drivers/ide/ide-*.c\n\nFix this sparse warnings:\n  drivers/ide/ide-disk_proc.c:130:11: warning: Using plain integer as NULL pointer\n  drivers/ide/ide-floppy_proc.c:32:11: warning: Using plain integer as NULL pointer\n  drivers/ide/ide-proc.c:234:11: warning: Using plain integer as NULL pointer\n  drivers/ide/ide-tape.c:2141:11: warning: Using plain integer as NULL pointer\n\nSigned-off-by: Hannes Eder \u003channes@hanneseder.net\u003e\nCc: trivial@kernel.org\nCc: kernel-janitors@vger.kernel.org\nCc: Al Viro \u003cviro@ZenIV.linux.org.uk\u003e\nSigned-off-by: Bartlomiej Zolnierkiewicz \u003cbzolnier@gmail.com\u003e\n"
    },
    {
      "commit": "e0c6dcd8d4257a129fc813ac68f20b77c6ae2a7a",
      "tree": "5e1c311878095b66aa67712334d4b506a455376f",
      "parents": [
        "fec6c6fec3e20637bee5d276fb61dd8b49a3f9cc"
      ],
      "author": {
        "name": "Roel Kluin",
        "email": "roel.kluin@gmail.com",
        "time": "Thu Mar 05 16:10:55 2009 +0100"
      },
      "committer": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Thu Mar 05 16:10:55 2009 +0100"
      },
      "message": "ide: expiry() returns int, negative expiry() return values won\u0027t be noticed\n\nbart:\nIt seems like the bug could cause insanely long timeouts for:\n- ATA_DMA_ERR error in dma_timer_expiry()\n- commands without -\u003eexpiry in tc86c001_timer_expiry()\n  (TC86C001 IDE controller only)\n\nSigned-off-by: Roel Kluin \u003croel.kluin@gmail.com\u003e\nCc: Sergei Shtylyov \u003csshtylyov@ru.mvista.com\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\n[bart: port it to the current tree]\nSigned-off-by: Bartlomiej Zolnierkiewicz \u003cbzolnier@gmail.com\u003e\n"
    },
    {
      "commit": "26952669f01646c3e7d0832c99b310b199fe2b20",
      "tree": "e34390eed4512a74208c4c9588661861b0d54727",
      "parents": [
        "b02c387892fc6b3cc59c78ab2f79413d55f50190"
      ],
      "author": {
        "name": "Roel Kluin",
        "email": "roel.kluin@gmail.com",
        "time": "Tue Mar 03 15:10:05 2009 +0100"
      },
      "committer": {
        "name": "Wim Van Sebroeck",
        "email": "wim@iguana.be",
        "time": "Thu Mar 05 14:02:53 2009 +0000"
      },
      "message": "[WATCHDOG] gef_wdt.c: fsl_get_sys_freq() failure not noticed\n\nfsl_get_sys_freq() may return -1 when \u0027soc\u0027 isn\u0027t found, but in\ngef_wdt_probe() \u0027freq\u0027 is unsigned, so the test doesn\u0027t catch that.\n\nSigned-off-by: Roel Kluin \u003croel.kluin@gmail.com\u003e\nSigned-off-by: Wim Van Sebroeck \u003cwim@iguana.be\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\n\n"
    },
    {
      "commit": "b02c387892fc6b3cc59c78ab2f79413d55f50190",
      "tree": "66712ea5c5244fc2e5ca6d0ca3d8cc2ea83c003f",
      "parents": [
        "d9a8798c4bab5ccd40e45e011f668099cfb3eb83"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Thu Feb 12 13:42:41 2009 +0300"
      },
      "committer": {
        "name": "Wim Van Sebroeck",
        "email": "wim@iguana.be",
        "time": "Thu Mar 05 13:59:05 2009 +0000"
      },
      "message": "[WATCHDOG] ks8695_wdt.c: \u0027CLOCK_TICK_RATE\u0027 undeclared\n\nOn arm-acs5k_tiny:\n\ndrivers/watchdog/ks8695_wdt.c:68: error: \u0027CLOCK_TICK_RATE\u0027 undeclared\n\t(first use in this function)\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nSigned-off-by: Wim Van Sebroeck \u003cwim@iguana.be\u003e\nCc: stable \u003cstable@kernel.org\u003e\n\n"
    },
    {
      "commit": "968e594afdbc40b4270f9d4032ae8350475749d6",
      "tree": "d6f0c680a507685f304b315dd92692f261d74346",
      "parents": [
        "d6515e6ff4ad3db4bd5ef2dd4e1026a7aca2482e"
      ],
      "author": {
        "name": "Robert Hancock",
        "email": "hancockrwd@gmail.com",
        "time": "Mon Feb 16 20:15:08 2009 -0600"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@redhat.com",
        "time": "Thu Mar 05 07:26:10 2009 -0500"
      },
      "message": "libata: Don\u0027t trust current capacity values in identify words 57-58\n\nHanno Böck reported a problem where an old Conner CP30254 240MB hard drive\nwas reported as 1.1TB in capacity by libata:\n\nhttp://lkml.org/lkml/2009/2/13/134\n\nThis was caused by libata trusting the drive\u0027s reported current capacity in\nsectors in identify words 57 and 58 if the drive does not support LBA and the\ncurrent CHS translation values appear valid. Unfortunately it seems older\nATA specs were vague about what this field should contain and a number of drives\nused values with wrong byte order or that were totally bogus. There\u0027s no\nunique information that it conveys and so we can just calculate the number\nof sectors from the reported current CHS values.\n\nWhile we\u0027re at it, clean up this function to use named constants for the\nidentify word values.\n\nSigned-off-by: Robert Hancock \u003chancockrwd@gmail.com\u003e\nSigned-off-by: Jeff Garzik \u003cjgarzik@redhat.com\u003e\n"
    },
    {
      "commit": "d6515e6ff4ad3db4bd5ef2dd4e1026a7aca2482e",
      "tree": "0c9e899b0c120483661964283807205048071ec8",
      "parents": [
        "55f784c826af2506e417bcc484d7e0e4d27f1977"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Wed Mar 04 15:59:30 2009 +0900"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@redhat.com",
        "time": "Thu Mar 05 07:25:43 2009 -0500"
      },
      "message": "libata: make sure port is thawed when skipping resets\n\nWhen SCR access is available and the link is offline, softreset is\nskipped as it only wastes time and some controllers don\u0027t respond very\nwell.  However, the skip path forgot to thaw the port, which not only\nblocks further event notification from the port but also causes\nrepeated EH invocations on the same event on drivers which rely on\n-\u003ethaw() to clear events if the IRQ is shared with another device or\nport.\n\nThis problem has always been there but is uncovered by recent sata_nv\nnf2/3 change which dropped hardreset support while maintaining SCR\naccess.  nf2/3 doesn\u0027t clear hotplug event mask from the interrupt\nhandler but relies on -\u003ethaw() to clear them.  When the hardreset was\nthere, the reset action was never skipped and the port was always\nthawed but, with the hardreset gone, -\u003eprereset() determines that\nthere\u0027s no need for softreset and both -\u003esoftreset() and -\u003ethaw() are\nskipped.  This leads to stuck hotplug event in the IRQ status register\ntriggering hotplug event whenever IRQ is delieverd on the same IRQ.\nAs the controller shares the same IRQ for both ports, this happens on\nevery IO if one port is occpupied and the other isn\u0027t.\n\nThis patch fixes the problem by making sure that the port is thawed on\nreset-skip path.\n\nbko#11615 reports this problem.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nCc: Robert Hancock \u003chancockrwd@gmail.com\u003e\nReported-by: Dan Andresan \u003cdanyer@gmail.com\u003e\nReported-by: Arne Woerner \u003carne_woerner@yahoo.com\u003e\nReported-by: Stefan Lippers-Hollmann \u003cs.L-H@gmx.de\u003e\nSigned-off-by: Jeff Garzik \u003cjgarzik@redhat.com\u003e\n"
    },
    {
      "commit": "55f784c826af2506e417bcc484d7e0e4d27f1977",
      "tree": "45694ad730098b1cc84d2c8efc5bfcefa32dc779",
      "parents": [
        "7adbe46b9289794f8fe629cd78c876169741177f"
      ],
      "author": {
        "name": "Brandon Ehle",
        "email": "azverkan@yahoo.com",
        "time": "Sun Mar 01 00:02:49 2009 -0800"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@redhat.com",
        "time": "Thu Mar 05 07:25:37 2009 -0500"
      },
      "message": "sata_nv: fix module parameter description\n\nUpdate MODULE_PARM_DESC for ADMA to reflect the fact that the\noption is disabled by default.\n\nSigned-off-by: Brandon Ehle \u003cazverkan@yahoo.com\u003e\nSigned-off-by: Jeff Garzik \u003cjgarzik@redhat.com\u003e\n"
    },
    {
      "commit": "7adbe46b9289794f8fe629cd78c876169741177f",
      "tree": "fac9674a7416b43e6f80c75adb3a51b02953119e",
      "parents": [
        "b53570814692db79c3525523b6e9ec9874416c04"
      ],
      "author": {
        "name": "peerchen",
        "email": "peerchen@gmail.com",
        "time": "Fri Feb 27 16:58:41 2009 +0800"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@redhat.com",
        "time": "Thu Mar 05 07:25:30 2009 -0500"
      },
      "message": "ahci: Add the Device IDs for MCP89 and remove IDs of MCP7B to/from ahci.c\n\nAdded the Device IDs for MCP89 AHCI controller.\n\nRemoved the IDs of MCP7B because this chipset had been cancelled.\n\nSigned-off-by: Peer Chen \u003cpeerchen@gmail.com\u003e\nSigned-off-by: Jeff Garzik \u003cjgarzik@redhat.com\u003e\n"
    },
    {
      "commit": "b53570814692db79c3525523b6e9ec9874416c04",
      "tree": "854cfbcb231bb0914be2b0de9ea73dbf5cc07e6b",
      "parents": [
        "84bda12af31f930e4200c5244aa111de2485d7b0"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Mon Mar 02 18:55:16 2009 +0900"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@redhat.com",
        "time": "Thu Mar 05 07:25:10 2009 -0500"
      },
      "message": "libata: don\u0027t use on-stack sense buffer\n\nsense_buffer is used as DMA target and shouldn\u0027t be allocated on\nstack.  Use ap-\u003esector_buf instead.  This problem is spotted by Chuck\nEbbert.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nReported-by: Chuck Ebbert \u003ccebbert@redhat.com\u003e\nSigned-off-by: Jeff Garzik \u003cjgarzik@redhat.com\u003e\n"
    },
    {
      "commit": "5825627c9463581fd9e70f8285685889ae5bb9bb",
      "tree": "321a20a0e25aee8f32254b13730f423f6b434486",
      "parents": [
        "e7d3ef13d52a126438f687a1a32da65ff926ed57"
      ],
      "author": {
        "name": "FUJITA Tomonori",
        "email": "fujita.tomonori@lab.ntt.co.jp",
        "time": "Fri Feb 27 17:35:43 2009 +0900"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@redhat.com",
        "time": "Thu Mar 05 07:24:57 2009 -0500"
      },
      "message": "libata: fix dma_unmap_sg misuse\n\nlibata passes the returned value of dma_map_sg() to\ndma_unmap_sg(),which is the misuse of dma_unmap_sg().\n\nDMA-mapping.txt says:\n\nTo unmap a scatterlist, just call:\n\n\tpci_unmap_sg(pdev, sglist, nents, direction);\n\nAgain, make sure DMA activity has already finished.\n\nPLEASE NOTE:  The \u0027nents\u0027 argument to the pci_unmap_sg call must be\n              the _same_ one you passed into the pci_map_sg call,\n\t      it should _NOT_ be the \u0027count\u0027 value _returned_ from the\n              pci_map_sg call.\n\nSigned-off-by: FUJITA Tomonori \u003cfujita.tomonori@lab.ntt.co.jp\u003e\nAcked-by: Bartlomiej Zolnierkiewicz \u003cbzolnier@gmail.com\u003e\nAcked-by: Tejun Heo \u003ctj@kernel.org\u003e\nSigned-off-by: Jeff Garzik \u003cjgarzik@redhat.com\u003e\n"
    },
    {
      "commit": "a3941ec101a5ec54c1e929730afeb196441a171e",
      "tree": "f714362623fb68f2e8e462be854f0feff88b63f1",
      "parents": [
        "5e18cfd04feca78cc08a6b8b71a60a610de81eaa"
      ],
      "author": {
        "name": "Roel Kluin",
        "email": "roel.kluin@gmail.com",
        "time": "Thu Mar 05 08:03:53 2009 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Thu Mar 05 12:04:57 2009 +0100"
      },
      "message": "loop: don\u0027t increment p-\u003eoffset with (size_t) -EINVAL\n\nUpon a \u0027transfer error block\u0027 size is set to -EINVAL, but this becomes positive\nsince size is unsigned: p-\u003eoffset still gets incremented.\n\nSigned-off-by: Roel Kluin \u003croel.kluin@gmail.com\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "5e18cfd04feca78cc08a6b8b71a60a610de81eaa",
      "tree": "a63e4cc6cbdd18528e8f15152685b9861d320f16",
      "parents": [
        "a1a15ac5f9aeee521c048a88fc1aec848e623de7"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Fri Feb 27 08:10:26 2009 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Thu Mar 05 12:04:57 2009 +0100"
      },
      "message": "cciss: remove 30 second initial timeout on controller reset\n\nCommit 5e4c91c84b194b26cf592779e451f4b5be777cba forgot to remove the\ninitial sleep, get rid of it.\n\nThanks to Randy Dunlap \u003crandy.dunlap@oracle.com\u003e for spotting this error.\n\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "a1a15ac5f9aeee521c048a88fc1aec848e623de7",
      "tree": "964c1fe343bbc8edc24003df15dd475f1255e7e5",
      "parents": [
        "559595a985e106d2fa9f0c79b7f5805453fed593"
      ],
      "author": {
        "name": "Kris Shannon",
        "email": "kris@shannon.id.au",
        "time": "Mon Mar 02 19:47:37 2009 +1100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Thu Mar 05 12:04:57 2009 +0100"
      },
      "message": "Fix kernel NULL pointer dereference in xen-blkfront\n\nWhen booting Xen Dom0 on a pre-release 3.2.1 hypervisor the system Oopses on a\n\"Unable to handle kernel NULL pointer dereference\" in xenwatch.\n\nFrom the backtrace it looks like backend_changed is calling bdget_disk\nwith a NULL pointer.  Checking for NULL and returning ENODEV instead\nallows the kernel to boot.\n"
    },
    {
      "commit": "72e2240f181871675d3a979766330c91d48a1673",
      "tree": "b6905491b40a80761e153e5532f69d4bbc3aac76",
      "parents": [
        "77827a7cf3aa415f8afec6d9d0537dda8de90ef1"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Thu Mar 05 01:57:44 2009 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Mar 05 01:57:44 2009 -0800"
      },
      "message": "bonding: Fix device passed into -\u003endo_neigh_setup().\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "77827a7cf3aa415f8afec6d9d0537dda8de90ef1",
      "tree": "503ab81e2b997e3625360b380f1cd18f923a6454",
      "parents": [
        "9d40bbda599def1e1d155d7f7dca14fe8744bd2b",
        "559595a985e106d2fa9f0c79b7f5805453fed593"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Mar 04 23:59:54 2009 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Mar 04 23:59:54 2009 -0800"
      },
      "message": "Merge branch \u0027master\u0027 of /home/davem/src/GIT/linux-2.6/\n"
    },
    {
      "commit": "87786945fe4b0e60e8f1db62d5ee8a3cec539a67",
      "tree": "3175ca2f79ebb1c40498907273dc09a82548db37",
      "parents": [
        "a883bf564ea555447a76682bb2d8d4bc92e23e0e"
      ],
      "author": {
        "name": "Meelis Roos",
        "email": "mroos@linux.ee",
        "time": "Wed Mar 04 04:59:41 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Mar 04 19:24:27 2009 -0800"
      },
      "message": "tmspci: fix request_irq race\n\nCurrently, tmspci tokenring driver crashes on device initialization\nbecause it requests its irq before initializing corresponding data\nstructures. Fix this by moving request_irq call to a safer place.\n\nSigned-off-by: Meelis Roos \u003cmroos@linux.ee\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "9f8ac0b7b063be77f0de7a27fe5e6a0aa2cce58d",
      "tree": "26519ff5710b58f9ed49f329f7cae4630b94cc5d",
      "parents": [
        "fb13d9f9e450bceafd88ac8a98f7a98e8096a5fe"
      ],
      "author": {
        "name": "Matt Carlson",
        "email": "mcarlson@broadcom.com",
        "time": "Wed Feb 25 14:21:20 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Mar 04 15:08:19 2009 -0800"
      },
      "message": "tg3: Fix 5906 link problems\n\nCommit 6833c043f9fc03696fde623914c4a0277df2a0bc introduced the phy\nauto-powerdown capability.  While the APD feature only works for 5761\nand 5784 asic revisions, the (harmless portion of the) code was applied\nto all 5705 and newer devices.  However, the 5906 phy departs from the\nusual design.  This commit was interfering with the 5906\u0027s ability to\nnegotiate link against some switches.  This patch corrects the problem.\n\nSigned-off-by: Matt Carlson \u003cmcarlson@broadcom.com\u003e\nSigned-off-by: Benjamin Li \u003cbenli@broadcom.com\u003e\nSigned-off-by: Michael Chan \u003cmchan@broadcom.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "7cbd4877e5b167b56a3d6033b926a9f925186e12",
      "tree": "03dbe000fa5086d07df0fcae8d9ac1534bd3d239",
      "parents": [
        "c74ef1f867d18171c8617519ee5fe40b02903934"
      ],
      "author": {
        "name": "Dan Williams",
        "email": "dan.j.williams@intel.com",
        "time": "Wed Mar 04 16:06:03 2009 -0700"
      },
      "committer": {
        "name": "Dan Williams",
        "email": "dan.j.williams@intel.com",
        "time": "Wed Mar 04 16:06:03 2009 -0700"
      },
      "message": "dmatest: fix use after free in dmatest_exit\n\ndmatest_cleanup_chanel will free dtc, so grab -\u003echan before it goes away\nand use it to do the release.\n\nReported-by: Thierry Reding \u003cthierry.reding@avionic-design.de\u003e\nSigned-off-by: Dan Williams \u003cdan.j.williams@intel.com\u003e\n"
    },
    {
      "commit": "c74ef1f867d18171c8617519ee5fe40b02903934",
      "tree": "35aacfe4325ecf38bea4ec484444fc4b04d66b6d",
      "parents": [
        "a09b09ae51ace43d28cd9bc1c8bb97986f2b55a6"
      ],
      "author": {
        "name": "Luotao Fu",
        "email": "l.fu@pengutronix.de",
        "time": "Thu Feb 26 12:29:20 2009 +0100"
      },
      "committer": {
        "name": "Dan Williams",
        "email": "dan.j.williams@intel.com",
        "time": "Wed Mar 04 16:04:41 2009 -0700"
      },
      "message": "ipu_idmac: fix spinlock type\n\nfix a probably accidently dropped reference operator while calling\nspin_unlock_restore to an ipu lock.\n\nSigned-off-by: Luotao Fu \u003cl.fu@pengutronix.de\u003e\nCc: Guennadi Liakhovetski \u003clg@denx.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Dan Williams \u003cdan.j.williams@intel.com\u003e\n"
    },
    {
      "commit": "a09b09ae51ace43d28cd9bc1c8bb97986f2b55a6",
      "tree": "a70862b01fc038b92067faf13f623ce5b9492105",
      "parents": [
        "900325a6ce33995688b7a680a34e7698f16f4d72"
      ],
      "author": {
        "name": "Roel Kluin",
        "email": "roel.kluin@gmail.com",
        "time": "Wed Feb 25 13:56:21 2009 +0100"
      },
      "committer": {
        "name": "Dan Williams",
        "email": "dan.j.williams@intel.com",
        "time": "Wed Mar 04 16:04:40 2009 -0700"
      },
      "message": "iop-adma, mv_xor: fix mem leak on self-test setup failure\n\niop_adma_zero_sum_self_test has the brackets in the wrong place for the\nsetup failure deallocation path.  This error was duplicated in\nmv_xor_xor_self_test.\n\nSigned-off-by: Roel Kluin \u003croel.kluin@gmail.com\u003e\nSigned-off-by: Dan Williams \u003cdan.j.williams@intel.com\u003e\n"
    },
    {
      "commit": "900325a6ce33995688b7a680a34e7698f16f4d72",
      "tree": "8684bc969f3c355307bec56a0c55ad50a1094c0e",
      "parents": [
        "0c33e1ca3d80647f2e72e44524fd21e79214da20"
      ],
      "author": {
        "name": "Dan Williams",
        "email": "dan.j.williams@intel.com",
        "time": "Mon Mar 02 15:33:46 2009 -0700"
      },
      "committer": {
        "name": "Dan Williams",
        "email": "dan.j.williams@intel.com",
        "time": "Wed Mar 04 16:04:40 2009 -0700"
      },
      "message": "fsldma: fix off by one in dma_halt\n\nPrevent dev_err from firing even if we successfully detected \u0027dma-idle\u0027\nbefore the full 1ms timeout has elapsed.\n\nAcked-by: Roel Kluin \u003croel.kluin@gmail.com\u003e\nSigned-off-by: Dan Williams \u003cdan.j.williams@intel.com\u003e\n\n"
    },
    {
      "commit": "0c33e1ca3d80647f2e72e44524fd21e79214da20",
      "tree": "672be83761daef7e927ab6479c7bfa4986b12fbf",
      "parents": [
        "211a22ce08dbb27eb1a66df8a4bdae5e96092bc8"
      ],
      "author": {
        "name": "Dan Williams",
        "email": "dan.j.williams@intel.com",
        "time": "Mon Mar 02 13:31:35 2009 -0700"
      },
      "committer": {
        "name": "Dan Williams",
        "email": "dan.j.williams@intel.com",
        "time": "Wed Mar 04 16:04:40 2009 -0700"
      },
      "message": "I/OAT: fail self-test if callback test reaches timeout\n\nIf we miss interrupts in the self test then fail registration of this\nchannel as it is unsuitable for use as a public channel.\n\nSigned-off-by: Maciej Sosnowski \u003cmaciej.sosnowski@intel.com\u003e\nSigned-off-by: Dan Williams \u003cdan.j.williams@intel.com\u003e\n"
    },
    {
      "commit": "211a22ce08dbb27eb1a66df8a4bdae5e96092bc8",
      "tree": "34391f0ab37094ff7651f5c5a884ae42ca34004e",
      "parents": [
        "aa2d0b8b97efa1033609ca89b9faa5d3a1232959"
      ],
      "author": {
        "name": "Maciej Sosnowski",
        "email": "maciej.sosnowski@intel.com",
        "time": "Thu Feb 26 11:05:43 2009 +0100"
      },
      "committer": {
        "name": "Dan Williams",
        "email": "dan.j.williams@intel.com",
        "time": "Wed Mar 04 16:04:40 2009 -0700"
      },
      "message": "I/OAT: update driver version and copyright dates\n\nTogether with new fixes update driver version\nand extend copyright dates ranges.\n\nSigned-off-by: Maciej Sosnowski \u003cmaciej.sosnowski@intel.com\u003e\nSigned-off-by: Shannon Nelson \u003cshannon.nelson@intel.com\u003e\nAcked-by: Jeff Kirsher \u003cjeffrey.t.kirsher@intel.com\u003e\nSigned-off-by: Dan Williams \u003cdan.j.williams@intel.com\u003e\n"
    },
    {
      "commit": "aa2d0b8b97efa1033609ca89b9faa5d3a1232959",
      "tree": "b7fd99a540a30d8a81df75718ebdd9a16997e964",
      "parents": [
        "5de22343b2303b278ab562e5d166ffe306566d30"
      ],
      "author": {
        "name": "Eric Sesterhenn",
        "email": "snakebyte@gmx.de",
        "time": "Thu Feb 26 11:05:30 2009 +0100"
      },
      "committer": {
        "name": "Dan Williams",
        "email": "dan.j.williams@intel.com",
        "time": "Wed Mar 04 16:04:40 2009 -0700"
      },
      "message": "I/OAT: list usage cleanup\n\nTrivial cleanup, list_del(); list_add_tail() is equivalent\nto list_move_tail(). Semantic patch for coccinelle can be\nfound at www.cccmz.de/~snakebyte/list_move_tail.spatch\n\nSigned-off-by: Eric Sesterhenn \u003csnakebyte@gmx.de\u003e\nSigned-off-by: Maciej Sosnowski \u003cmaciej.sosnowski@intel.com\u003e\nSigned-off-by: Shannon Nelson \u003cshannon.nelson@intel.com\u003e\nAcked-by: Jeff Kirsher \u003cjeffrey.t.kirsher@intel.com\u003e\nSigned-off-by: Dan Williams \u003cdan.j.williams@intel.com\u003e\n"
    },
    {
      "commit": "5de22343b2303b278ab562e5d166ffe306566d30",
      "tree": "6c48b83e1dc60afb6d22d3afc74058bbcfaa87d7",
      "parents": [
        "2b8a6bf896ef47cc7d84c503079cc7b99789f9fa"
      ],
      "author": {
        "name": "Maciej Sosnowski",
        "email": "maciej.sosnowski@intel.com",
        "time": "Thu Feb 26 11:05:17 2009 +0100"
      },
      "committer": {
        "name": "Dan Williams",
        "email": "dan.j.williams@intel.com",
        "time": "Wed Mar 04 16:04:40 2009 -0700"
      },
      "message": "I/OAT: set tcp_dma_copybreak to 256k for I/OAT ver.3\n\nUpcoming server platforms from Intel based on the Nehalem performance\nhave significantly improved CPU based copy performance.\nHowever, the DMA engine can still be effective at higher I/O sizes\nfor TCP traffic and at this time copybreak\nshould be set to 256k for TCP traffic only.\n\nSigned-off-by: Maciej Sosnowski \u003cmaciej.sosnowski@intel.com\u003e\nSigned-off-by: Shannon Nelson \u003cshannon.nelson@intel.com\u003e\nAcked-by: Jeff Kirsher \u003cjeffrey.t.kirsher@intel.com\u003e\nSigned-off-by: Dan Williams \u003cdan.j.williams@intel.com\u003e\n"
    },
    {
      "commit": "2b8a6bf896ef47cc7d84c503079cc7b99789f9fa",
      "tree": "2c742bd8b7343d0e57abc7b11fce62d914886228",
      "parents": [
        "8b794b141c633083408d0bfb2229b3406d0ebf99"
      ],
      "author": {
        "name": "Maciej Sosnowski",
        "email": "maciej.sosnowski@intel.com",
        "time": "Thu Feb 26 11:05:07 2009 +0100"
      },
      "committer": {
        "name": "Dan Williams",
        "email": "dan.j.williams@intel.com",
        "time": "Wed Mar 04 16:04:40 2009 -0700"
      },
      "message": "I/OAT: cancel watchdog before dma remove\n\nChannel watchdog should be canceled before the rest of dma remove stuff.\n\nSigned-off-by: Maciej Sosnowski \u003cmaciej.sosnowski@intel.com\u003e\nSigned-off-by: Shannon Nelson \u003cshannon.nelson@intel.com\u003e\nAcked-by: Jeff Kirsher \u003cjeffrey.t.kirsher@intel.com\u003e\nSigned-off-by: Dan Williams \u003cdan.j.williams@intel.com\u003e\n"
    },
    {
      "commit": "8b794b141c633083408d0bfb2229b3406d0ebf99",
      "tree": "767cad4cafccce7c606003088ead281b70477fe3",
      "parents": [
        "ea9c717d0148d4194f9bd04ecfa6b59b20fc0a08"
      ],
      "author": {
        "name": "Maciej Sosnowski",
        "email": "maciej.sosnowski@intel.com",
        "time": "Thu Feb 26 11:04:54 2009 +0100"
      },
      "committer": {
        "name": "Dan Williams",
        "email": "dan.j.williams@intel.com",
        "time": "Wed Mar 04 16:04:39 2009 -0700"
      },
      "message": "I/OAT: fail initialization on zero channels detection\n\nOn some systems with I/OAT ver.2 when DCA is disabled in BIOS\nsituations have been observed\nthat zero DMA channels are detected instead of four.\nTo avoid kernel panic driver should fail gracefully with appropriate message.\n\nSigned-off-by: Maciej Sosnowski \u003cmaciej.sosnowski@intel.com\u003e\nSigned-off-by: Shannon Nelson \u003cshannon.nelson@intel.com\u003e\nAcked-by: Jeff Kirsher \u003cjeffrey.t.kirsher@intel.com\u003e\nSigned-off-by: Dan Williams \u003cdan.j.williams@intel.com\u003e\n"
    },
    {
      "commit": "ea9c717d0148d4194f9bd04ecfa6b59b20fc0a08",
      "tree": "9a7a614443b99c697ec1ad99547167fb79736faa",
      "parents": [
        "49bc46360d68156ce82b2b1a12badb80078453a0"
      ],
      "author": {
        "name": "Maciej Sosnowski",
        "email": "maciej.sosnowski@intel.com",
        "time": "Thu Feb 26 11:04:38 2009 +0100"
      },
      "committer": {
        "name": "Dan Williams",
        "email": "dan.j.williams@intel.com",
        "time": "Wed Mar 04 16:04:39 2009 -0700"
      },
      "message": "I/OAT: do not set DCACTRL_CMPL_WRITE_ENABLE for I/OAT ver.3\n\nFlag DCACTRL_CMPL_WRITE_ENABLE is valid only for I/OAT ver.2\nso it should not be set for I/OAT ver.3.\n\nSigned-off-by: Maciej Sosnowski \u003cmaciej.sosnowski@intel.com\u003e\nSigned-off-by: Shannon Nelson \u003cshannon.nelson@intel.com\u003e\nAcked-by: Jeff Kirsher \u003cjeffrey.t.kirsher@intel.com\u003e\nSigned-off-by: Dan Williams \u003cdan.j.williams@intel.com\u003e\n"
    },
    {
      "commit": "49bc46360d68156ce82b2b1a12badb80078453a0",
      "tree": "df7f187e26e3443384074376f52e47e516cf1bca",
      "parents": [
        "1d93e52eb48df986a3c4d5ad8a520bf1f6837367"
      ],
      "author": {
        "name": "Maciej Sosnowski",
        "email": "maciej.sosnowski@intel.com",
        "time": "Thu Feb 26 11:04:23 2009 +0100"
      },
      "committer": {
        "name": "Dan Williams",
        "email": "dan.j.williams@intel.com",
        "time": "Wed Mar 04 16:04:39 2009 -0700"
      },
      "message": "I/OAT: add verification for proper APICID_TAG_MAP setting by BIOS\n\nBIOS versions for systems with I/OAT ver.2 have been found\nwhich fail to program APICID_TAG_MAP for DCA.\nThe ioatdma driver should recognize incorrectly set APICID_TAG_MAP\nand disable DCA in that case.\n\nSigned-off-by: Maciej Sosnowski \u003cmaciej.sosnowski@intel.com\u003e\nSigned-off-by: Shannon Nelson \u003cshannon.nelson@intel.com\u003e\nAcked-by: Jeff Kirsher \u003cjeffrey.t.kirsher@intel.com\u003e\nSigned-off-by: Dan Williams \u003cdan.j.williams@intel.com\u003e\n"
    },
    {
      "commit": "5ad8b7d12605e88d1e532061699102797fdefe08",
      "tree": "fd930824114374337f22f2fae55fc28067655401",
      "parents": [
        "fec6c6fec3e20637bee5d276fb61dd8b49a3f9cc"
      ],
      "author": {
        "name": "Helge Bahmann",
        "email": "helge.bahmann@secunet.com",
        "time": "Wed Mar 04 21:49:14 2009 +1000"
      },
      "committer": {
        "name": "Dave Airlie",
        "email": "airlied@linux.ie",
        "time": "Wed Mar 04 21:49:14 2009 +1000"
      },
      "message": "drm: fix double lock typo\n\n[airlied: you shall not retype patches from other trees half asleep]\n\nSigned-of-by: Dave Airlie \u003cairlied@redhat.com\u003e\n"
    },
    {
      "commit": "4a8fd2cfdad4d043a1fadba2f3f340945d966825",
      "tree": "b4cf4e6dd1f3a6878063a5ca96d0e99fd81cbd97",
      "parents": [
        "948731115774c2e5ff7409360f35389459502211"
      ],
      "author": {
        "name": "Roel Kluin",
        "email": "roel.kluin@gmail.com",
        "time": "Wed Mar 04 00:08:39 2009 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Mar 04 00:11:53 2009 -0800"
      },
      "message": "sungem: another error printed one too early\n\nAnother error was printed one too early.\n\nSigned-off-by: Roel Kluin \u003croel.kluin@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "948731115774c2e5ff7409360f35389459502211",
      "tree": "7a6c8901195861939ac7f9bde508d62f7403bb0d",
      "parents": [
        "b9bdcd9bd78d253dcc8e13c29f0acd67e080e7c1"
      ],
      "author": {
        "name": "Roel Kluin",
        "email": "roel.kluin@gmail.com",
        "time": "Wed Mar 04 00:07:57 2009 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Mar 04 00:11:52 2009 -0800"
      },
      "message": "aoe: error printed 1 too early\n\nwith while (i-- \u003e 0); i reaches -1 after the loop, so the test below is printed\none too early: 0 still means success.\n\nSigned-off-by: Roel Kluin \u003croel.kluin@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    }
  ],
  "next": "b9bdcd9bd78d253dcc8e13c29f0acd67e080e7c1"
}
