)]}'
{
  "log": [
    {
      "commit": "802ba064c49f655d20fed563f2a4924c8256ea10",
      "tree": "f705b597b2da6583239e9f028fa0d6f6ec319682",
      "parents": [
        "011e3a9ad4891ba1b27e281e085228189c56b137"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Wed Dec 13 00:34:13 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Wed Dec 13 09:05:48 2006 -0800"
      },
      "message": "[PATCH] md: Don\u0027t assume that READ\u003d\u003d0 and WRITE\u003d\u003d1 - use the names explicitly\n\nThanks Jens for alerting me to this.\n\nCc: Jens Axboe \u003cjens.axboe@oracle.com\u003e\nCc: \u003craziebe@gmail.com\u003e\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "969b755aadf7bcf3df5991a127a103acd0145a52",
      "tree": "d2c2db7b98e1e760c47e508f879619cd6b71f373",
      "parents": [
        "750a8f3e8f64654a584e54038c2c8db380813c79"
      ],
      "author": {
        "name": "Randy Dunlap",
        "email": "randy.dunlap@oracle.com",
        "time": "Sat Oct 28 10:38:32 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sat Oct 28 11:30:52 2006 -0700"
      },
      "message": "[PATCH] md: fix printk format warnings, seen on powerpc64:\n\ndrivers/md/raid1.c:1479: warning: long long unsigned int format, long unsigned int arg (arg 4)\ndrivers/md/raid10.c:1475: warning: long long unsigned int format, long unsigned int arg (arg 4)\n\nSigned-off-by: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "2e333e89860431d22816c1bdaa2ea72c2753396e",
      "tree": "df1a82cc995ec45936bf9ded1f57166f5f8e1ee9",
      "parents": [
        "3c5473f80770768ab5712eb5a7492c16e97209fe"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Sat Oct 21 10:24:07 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sat Oct 21 13:35:05 2006 -0700"
      },
      "message": "[PATCH] md: fix calculation of -\u003edegraded for multipath and raid10\n\nTwo less-used md personalities have bugs in the calculation of -\u003edegraded (the\nextent to which the array is degraded).\n\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\nCc: \u003cstable@kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "0d12922823408b26f83b15cae4a4feff4bd22f28",
      "tree": "a3509f442e6fc75ca9304757ffa3dce4918ef55e",
      "parents": [
        "26be34dc3a46be983352dd89683db374b0cb73fa"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Tue Oct 03 01:15:54 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Oct 03 08:04:18 2006 -0700"
      },
      "message": "[PATCH] md: define -\u003econgested_fn for raid1, raid10, and multipath\n\nraid1, raid10 and multipath don\u0027t report their \u0027congested\u0027 status through\nbdi_*_congested, but should.\n\nThis patch adds the appropriate functions which just check the \u0027congested\u0027\nstatus of all active members (with appropriate locking).\n\nraid1 read_balance should be modified to prefer devices where\nbdi_read_congested returns false.  Then we could use the \u0027\u0026\u0027 branch rather\nthan the \u0027|\u0027 branch.  However that should would need some benchmarking first\nto make sure it is actually a good idea.\n\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "c04be0aa82ff535e3676ab3e573957bdeef41879",
      "tree": "8481ab270218bed246eb02b3ba04a4b84d4e90d0",
      "parents": [
        "11ce99e625fe2718ad2682bfdd99070b337e6252"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Tue Oct 03 01:15:53 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Oct 03 08:04:18 2006 -0700"
      },
      "message": "[PATCH] md: Improve locking around error handling\n\nThe error handling routines don\u0027t use proper locking, and so two concurrent\nerrors could trigger a problem.\n\nSo:\n  - use test-and-set and test-and-clear to synchonise\n    the In_sync bits with the -\u003edegraded count\n  - use the spinlock to protect updates to the\n    degraded count (could use an atomic_t but that\n    would be a bigger change in code, and isn\u0027t\n    really justified)\n  - remove un-necessary locking in raid5\n\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "76186dd8b73d2b7b9b4c8629b89c845e97009801",
      "tree": "1f1c2fe5530de65fa149faa3e6b2969044e7b0a8",
      "parents": [
        "02c2de8cc835885bdff51a8bfd6c0b659b969f50"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Tue Oct 03 01:15:48 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Oct 03 08:04:17 2006 -0700"
      },
      "message": "[PATCH] md: remove \u0027working_disks\u0027 from raid10 state\n\nIt isn\u0027t needed as mddev-\u003edegraded contains equivalent info.\n\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "850b2b420cd5b363ed4cf48a8816d656c8b5251b",
      "tree": "b63aa37b3fb7dfb7a0b674d5a2ebe9da13cc7405",
      "parents": [
        "6814d5368d68341ec6b5e4ecd10ea5947130775a"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Tue Oct 03 01:15:46 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Oct 03 08:04:17 2006 -0700"
      },
      "message": "[PATCH] md: replace magic numbers in sb_dirty with well defined bit flags\n\nInstead of magic numbers (0,1,2,3) in sb_dirty, we have\nsome flags instead:\nMD_CHANGE_DEVS\n   Some device state has changed requiring superblock update\n   on all devices.\nMD_CHANGE_CLEAN\n   The array has transitions from \u0027clean\u0027 to \u0027dirty\u0027 or back,\n   requiring a superblock update on active devices, but possibly\n   not on spares\nMD_CHANGE_PENDING\n   A superblock update is underway.\n\nWe wait for an update to complete by waiting for all flags to be clear.  A\nflag can be set at any time, even during an update, without risk that the\nchange will be lost.\n\nStop exporting md_update_sb - isn\u0027t needed.\n\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "6814d5368d68341ec6b5e4ecd10ea5947130775a",
      "tree": "07440216f8f1b94429eee8f79469e0b800505251",
      "parents": [
        "b5c124af69119c1b5c1e728bd2e7b5b1fad9b7be"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Tue Oct 03 01:15:45 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Oct 03 08:04:17 2006 -0700"
      },
      "message": "[PATCH] md: factor out part of raid10d into a separate function.\n\nraid10d has toooo many nested block, so take the fix_read_error functionality\nout into a separate function.\n\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "d69504325978c461b51b03cca49626026970307b",
      "tree": "73ea1d68d5d3cca777cb6ea9828c5757b4cd6df8",
      "parents": [
        "67463acb646904d76a8e237cc31eaa87872f30cc"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Mon Jul 10 04:44:20 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Jul 10 13:24:17 2006 -0700"
      },
      "message": "[PATCH] md: include sector number in messages about corrected read errors\n\nThis is generally useful, but particularly helps see if it is the same sector\nthat always needs correcting, or different ones.\n\n[akpm@osdl.org: fix printk warnings]\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "8838832830d2c6c28ae2db93188ae90652eb7fc2",
      "tree": "d17a7027161352ea1893236dc6ea5bd309f6ceb4",
      "parents": [
        "ce25c31bdd3b39266debd86a7732007e05983a67"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Mon Jun 26 00:27:50 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Jun 26 09:58:39 2006 -0700"
      },
      "message": "[PATCH] md: Calculate correct array size for raid10 in new offset mode\n\nThe size calculation made assumtion which the new offset mode didn\u0027t\nfollow.  This gets the size right in all cases.\n\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "c93983bf517c100a31e40ef087e19bd3d7aa2d28",
      "tree": "9361c68d5f00ccd34cbc0a3bc7bc2389ce7f4c3a",
      "parents": [
        "7c7546ccf6463edbeee8d9aac6de7be1cd80d08a"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Mon Jun 26 00:27:41 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Jun 26 09:58:37 2006 -0700"
      },
      "message": "[PATCH] md: support stripe/offset mode in raid10\n\nThe \"industry standard\" DDF format allows for a stripe/offset layout where\ndata is duplicated on different stripes.  e.g.\n\n  A  B  C  D\n  D  A  B  C\n  E  F  G  H\n  H  E  F  G\n\n(columns are drives, rows are stripes, LETTERS are chunks of data).\n\nThis is similar to raid10\u0027s \u0027far\u0027 mode, but not quite the same.  So enhance\n\u0027far\u0027 mode with a \u0027far/offset\u0027 option which follows the layout of DDFs\nstripe/offset.\n\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "5fd6c1dce06ec24ef3de20fe0c7ecf2ba9fe5ef9",
      "tree": "bd7cc8c22615e8622d3d63b7fc68dcc3ac1964de",
      "parents": [
        "a8a55c387da28d67d98f56e4f5021462cb61f7a6"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Mon Jun 26 00:27:40 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Jun 26 09:58:37 2006 -0700"
      },
      "message": "[PATCH] md: allow checkpoint of recovery with version-1 superblock\n\nFor a while we have had checkpointing of resync.  The version-1 superblock\nallows recovery to be checkpointed as well, and this patch implements that.\n\nDue to early carelessness we need to add a feature flag to signal that the\nrecovery_offset field is in use, otherwise older kernels would assume that a\npartially recovered array is in fact fully recovered.\n\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "8932c2e0dcae52e73430878fd8a7a7800176eada",
      "tree": "3b734ccaa0fb210f1fd76ff9bb6fb9700d1c4095",
      "parents": [
        "c70810b327a247d12805554d0aa4605e257effb8"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Mon Jun 26 00:27:36 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Jun 26 09:58:36 2006 -0700"
      },
      "message": "[PATCH] md: remove arbitrary limit on chunk size\n\nThe largest chunk size the code can support without substantial surgery is\n2^30 bytes, so make that the limit instead of an arbitrary 4Meg.  Some day,\nthe \u0027chunksize\u0027 should change to a sector-shift instead of a byte-count.  Then\nno limit would be needed.\n\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "e0a33270ed0e8e00cbb882a33d21e1f92aac0ceb",
      "tree": "37879a141c5168577813b318cf825ccc0c97204c",
      "parents": [
        "df30d0f4ca3c41b60068232d6de9d58be88436f0"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Mon May 01 12:15:45 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon May 01 18:17:42 2006 -0700"
      },
      "message": "[PATCH] md: Fixed refcounting/locking when attempting read error correction in raid10\n\nWe need to hold a reference to rdevs while reading and writing to attempt to\ncorrect read errors.  This reference must be taken under an rcu lock.\n\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\nCc: \"Paul E. McKenney\" \u003cpaulmck@us.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "df30d0f4ca3c41b60068232d6de9d58be88436f0",
      "tree": "f9ea546b15f0c8908d6248480c7f3dad820a5f5e",
      "parents": [
        "235acec78e87a60ace01d1ecb4b87ad1d689715a"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Mon May 01 12:15:44 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon May 01 18:17:42 2006 -0700"
      },
      "message": "[PATCH] md: Avoid oops when attempting to fix read errors on raid10\n\nWe should add to the counter for the rdev *after* checking if the rdev is\nNULL!!!\n\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\nCc: \u003cstable@kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "b6385483840e903d99cb753593faea215ae8d324",
      "tree": "9617999432507882287ef4cd2d9be1f20017d6ba",
      "parents": [
        "43dab9bbe9fda735589f2749004f639349966b20"
      ],
      "author": {
        "name": "Eric Sesterhenn",
        "email": "snakebyte@gmx.de",
        "time": "Sun Apr 02 13:34:29 2006 +0200"
      },
      "committer": {
        "name": "Adrian Bunk",
        "email": "bunk@stusta.de",
        "time": "Sun Apr 02 13:34:29 2006 +0200"
      },
      "message": "BUG_ON() Conversion in md/raid10.c\n\nthis changes if() BUG(); constructs to BUG_ON() which is\ncleaner and can better optimized away\n\nSigned-off-by: Eric Sesterhenn \u003csnakebyte@gmx.de\u003e\nSigned-off-by: Adrian Bunk \u003cbunk@stusta.de\u003e\n"
    },
    {
      "commit": "29fc7e3e70a05e9eea28afb6707a39c1a53e2f66",
      "tree": "4e8bc28c717116ade3cd723a921f3260656327aa",
      "parents": [
        "284ae7cab0f7335c9e0aa8992b28415ef1a54c7c"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Fri Feb 03 03:03:41 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Feb 03 08:32:00 2006 -0800"
      },
      "message": "[PATCH] md: Assorted little md fixes\n\n- version-1 superblock\n  + The default_bitmap_offset is in sectors, not bytes.\n  + the \u0027size\u0027 field in the superblock is in sectors, not KB\n- raid0_run should return a negative number on error, not \u00271\u0027\n- raid10_read_balance should not return a valid \u0027disk\u0027 number if\n     -\u003erdev turned out to be NULL\n- kmem_cache_destroy doesn\u0027t like being passed a NULL.\n\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "858119e159384308a5dde67776691a2ebf70df0f",
      "tree": "f360768f999d51edc0863917ce0bf79e88c0ec4c",
      "parents": [
        "b0a9499c3dd50d333e2aedb7e894873c58da3785"
      ],
      "author": {
        "name": "Arjan van de Ven",
        "email": "arjan@infradead.org",
        "time": "Sat Jan 14 13:20:43 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sat Jan 14 18:27:06 2006 -0800"
      },
      "message": "[PATCH] Unlinline a bunch of other functions\n\nRemove the \"inline\" keyword from a bunch of big functions in the kernel with\nthe goal of shrinking it by 30kb to 40kb\n\nSigned-off-by: Arjan van de Ven \u003carjan@infradead.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nAcked-by: Jeff Garzik \u003cjgarzik@pobox.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "4dbcdc751cb25ffca3a8374cbc5ab6de961cc545",
      "tree": "61d1eb6e35c0eec66e5a8610c1f57b1e6eec135c",
      "parents": [
        "d9d166c2a9d5d01af34396793950aa695883eed4"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Fri Jan 06 00:20:52 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Jan 06 08:34:09 2006 -0800"
      },
      "message": "[PATCH] md: count corrected read errors per drive\n\nStore this total in superblock (As appropriate), and make it available to\nuserspace via sysfs.\n\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\nAcked-by: Greg KH \u003cgreg@kroah.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "d9d166c2a9d5d01af34396793950aa695883eed4",
      "tree": "6cb593cc0636476ebec9a9690aa48997510f9701",
      "parents": [
        "8bb93aaca2062cd54cc2c58c76ee8409cae209a7"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Fri Jan 06 00:20:51 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Jan 06 08:34:09 2006 -0800"
      },
      "message": "[PATCH] md: allow array level to be set textually via sysfs\n\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\nAcked-by: Greg KH \u003cgreg@kroah.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "f188593ee7af8c71755d2df269a7a5f62c4b695e",
      "tree": "e83fb5678870511aade9b0eb9139ae4c83f5c14e",
      "parents": [
        "bce74dac082787375e76d2b33726b94c9701fabc"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Fri Jan 06 00:20:42 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Jan 06 08:34:07 2006 -0800"
      },
      "message": "[PATCH] md: fix typo in comment\n\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "1345b1d8adbdeceb1c871d9a4af5e2a700b341c6",
      "tree": "0da1db7d273752ad5281db415e9245f3f3a63383",
      "parents": [
        "7dd5d34c6c2da04e8cd0732e08b33cd3359e4bae"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Fri Jan 06 00:20:40 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Jan 06 08:34:07 2006 -0800"
      },
      "message": "[PATCH] md: define and use safe_put_page for md\n\nmd sometimes call put_page on NULL pointers (treating it like kfree).  This is\nnot safe, so define and use a \u0027safe_put_page\u0027 which checks for NULL.\n\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "097426f689f179747f3cd6b4749eb2a6b605702d",
      "tree": "92b0a78f8aebedd4afdb52dfa23b311a4468719d",
      "parents": [
        "2604b703b6b3db80e3c75ce472a54dfd0b7bf9f4"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Fri Jan 06 00:20:37 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Jan 06 08:34:06 2006 -0800"
      },
      "message": "[PATCH] md: fix possible problem in raid1/raid10 error overwriting\n\nThe code to overwrite/reread for addressing read errors in raid1/raid10\ncurrently assumes that the read will not alter the buffer which could be used\nto write to the next device.  This is not a safe assumption to make.\n\nSo we split the loops into a overwrite loop and a separate re-read loop, so\nthat the writing is complete before reading is attempted.\n\nCc: Paul Clements \u003cpaul.clements@steeleye.com\u003e\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "2604b703b6b3db80e3c75ce472a54dfd0b7bf9f4",
      "tree": "8c0e985c455ff35af24fbe60d8a3f5a276034370",
      "parents": [
        "a24a8dd858e0ba50f06a9fd8f61fe8c4fe7a8d8e"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Fri Jan 06 00:20:36 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Jan 06 08:34:06 2006 -0800"
      },
      "message": "[PATCH] md: remove personality numbering from md\n\nmd supports multiple different RAID level, each being implemented by a\n\u0027personality\u0027 (which is often in a separate module).\n\nThese personalities have fairly artificial \u0027numbers\u0027.  The numbers\nare use to:\n 1- provide an index into an array where the various personalities\n    are recorded\n 2- identify the module (via an alias) which implements are particular\n    personality.\n\nNeither of these uses really justify the existence of personality numbers.\nThe array can be replaced by a linked list which is searched (array lookup\nonly happens very rarely).  Module identification can be done using an alias\nbased on level rather than \u0027personality\u0027 number.\n\nThe current \u0027raid5\u0027 modules support two level (4 and 5) but only one\npersonality.  This slight awkwardness (which was handled in the mapping from\nlevel to personality) can be better handled by allowing raid5 to register 2\npersonalities.\n\nWith this change in place, the core md module does not need to have an\nexhaustive list of all possible personalities, so other personalities can be\nadded independently.\n\nThis patch also moves the check for chunksize being non-zero into the -\u003erun\nroutines for the personalities that need it, rather than having it in core-md.\n This has a side effect of allowing \u0027faulty\u0027 and \u0027linear\u0027 not to have a\nchunk-size set.\n\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "a24a8dd858e0ba50f06a9fd8f61fe8c4fe7a8d8e",
      "tree": "14236abb515dcb8101ade92632d5da0d772d7330",
      "parents": [
        "a8745db232dd86f145bff6946e78f839acab511b"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Fri Jan 06 00:20:35 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Jan 06 08:34:06 2006 -0800"
      },
      "message": "[PATCH] md: break out of a loop that doesn\u0027t need to run to completion\n\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "9ffae0cf3ea02f75d163922accfd3e592d87adde",
      "tree": "4974727e9f36e1b618b68d2789644ee3a0d7a371",
      "parents": [
        "2d1f3b5d1b2cd11a162eb29645df749ec0036413"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Fri Jan 06 00:20:32 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Jan 06 08:34:05 2006 -0800"
      },
      "message": "[PATCH] md: convert md to use kzalloc throughout\n\nReplace multiple kmalloc/memset pairs with kzalloc calls.\n\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "2d1f3b5d1b2cd11a162eb29645df749ec0036413",
      "tree": "bb87ef9fcd2d9760b618d196fc8361a5a4dd851e",
      "parents": [
        "d7603b7e3a7f802c67f9190b2387d4d5d111ec14"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Fri Jan 06 00:20:31 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Jan 06 08:34:05 2006 -0800"
      },
      "message": "[PATCH] md: clean up \u0027page\u0027 related names in md\n\nSubstitute:\n\n  page_cache_get -\u003e get_page\n  page_cache_release -\u003e put_page\n  PAGE_CACHE_SHIFT -\u003e PAGE_SHIFT\n  PAGE_CACHE_SIZE -\u003e PAGE_SIZE\n  PAGE_CACHE_MASK -\u003e PAGE_MASK\n  __free_page -\u003e put_page\n\nbecause we aren\u0027t using the page cache, we are just using pages.\n\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "0eb3ff12aa8a12538ef681dc83f4361636a0699f",
      "tree": "e5d4b8353362cefd096a4b1ee1a8f473c01169b6",
      "parents": [
        "4443ae10ca15d07922ceda622f03db8865fa3d13"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Fri Jan 06 00:20:29 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Jan 06 08:34:05 2006 -0800"
      },
      "message": "[PATCH] md: raid10 read-error handling - resync and read-only\n\nAdd in correct read-error handling for resync and read-only situations.\n\nWhen read-only, we don\u0027t over-write, so we need to mark the failed drive in\nthe r10_bio so we don\u0027t re-try it.  During resync, we always read all blocks,\nso if there is a read error, we simply over-write it with the good block that\nwe found (assuming we found one).\n\nNote that the recovery case still isn\u0027t handled in an interesting way.  There\nis nothing useful to do for the 2-copies case.  If there are 3 or more copies,\nthen we could try reading from one of the non-missing copies, but this is a\nbit complicated and very rarely would be used, so I\u0027m leaving it for now.\n\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "4443ae10ca15d07922ceda622f03db8865fa3d13",
      "tree": "f1f0a6a82142effbdde93913d53596aeeacc9dc4",
      "parents": [
        "220946c9018de74b952446e3a4dff1bfd4cbf310"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Fri Jan 06 00:20:28 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Jan 06 08:34:05 2006 -0800"
      },
      "message": "[PATCH] md: auto-correct correctable read errors in raid10\n\nLargely just a cross-port from raid1.\n\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "18f08819f42b647783e4f6ea99141623881bf182",
      "tree": "062f5b77cd2593239af5e8aa720f20781dc8d80e",
      "parents": [
        "9910f16af35419a5382fa7850eecc220103036fa"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Fri Jan 06 00:20:25 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Jan 06 08:34:04 2006 -0800"
      },
      "message": "[PATCH] md: support check-without-repair of raid10 arrays\n\nAlso keep count on the number of errors found.\n\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "6cce3b23f6f8e974c00af7a9b88f1d413ba368a8",
      "tree": "8c156f26a10de82b1626d74f810704cfd6f5ba2b",
      "parents": [
        "b15c2e57f0f5bf596a19e9c5571e5b07cdfc7363"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Fri Jan 06 00:20:16 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Jan 06 08:34:03 2006 -0800"
      },
      "message": "[PATCH] md: write intent bitmap support for raid10\n\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "0a27ec96b6fb1abf867e36d7b0b681d67588767a",
      "tree": "4db5d9b8ef02b417fc2077d65311e2ea7cda5ce0",
      "parents": [
        "17999be4aa408e7ff3b9d32c735649676567a3cd"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Fri Jan 06 00:20:13 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Jan 06 08:34:02 2006 -0800"
      },
      "message": "[PATCH] md: improve raid10 \"IO Barrier\" concept\n\nraid10 needs to put up a barrier to new requests while it does resync or other\nbackground recovery.  The code for this is currently open-coded, slighty\nobscure by its use of two waitqueues, and not documented.\n\nThis patch gathers all the related code into 4 functions, and includes a\ncomment which (hopefully) explains what is happening.\n\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "22dfdf5212e5864b844f629736fb993d4611f190",
      "tree": "e5c2dfd3fbd786323e8adad35f98f26ca22efde2",
      "parents": [
        "20c5ab6821b3a7aad31fb5a4660e9fe414fb37f6"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Mon Nov 28 13:44:09 2005 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Nov 28 14:42:25 2005 -0800"
      },
      "message": "[PATCH] md: improve read speed to raid10 arrays using \u0027far copies\u0027\n\nraid10 has two different layouts.  One uses near-copies (so multiple\ncopies of a block are at the same or similar offsets of different\ndevices) and the other uses far-copies (so multiple copies of a block\nare stored a greatly different offsets on different devices).  The point\nof far-copies is that it allows the first section (normally first half)\nto be layed out in normal raid0 style, and thus provide raid0 sequential\nread performance.\n\nUnfortunately, the read balancing in raid10 makes some poor decisions\nfor far-copies arrays and you don\u0027t get the desired performance.  So\nturn off that bad bit of read_balance for far-copies arrays.\n\nWith this patch, read speed of an \u0027f2\u0027 array is comparable with a raid0\nwith the same number of devices, though write speed is ofcourse still\nvery slow.\n\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "b2d444d7ad975d555bb919601bcdc0e58975a40e",
      "tree": "963a29258af95f05dd28d9de0180ac9ef533aeed",
      "parents": [
        "ba22dcbf106338a5c46d6979f9b19564faae3d49"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Tue Nov 08 21:39:31 2005 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Nov 09 07:56:38 2005 -0800"
      },
      "message": "[PATCH] md: convert \u0027faulty\u0027 and \u0027in_sync\u0027 fields to bits in \u0027flags\u0027 field\n\nThis has the advantage of removing the confusion caused by \u0027rdev_t\u0027 and\n\u0027mddev_t\u0027 both having \u0027in_sync\u0027 fields.\n\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "d6065f7bf8bec170c9c56524a250093ce73ca5d9",
      "tree": "336c7db10aa8cee48386171e3de7569fca01dcfd",
      "parents": [
        "9d88883e68f404d5581bd391713ceef470ea53a9"
      ],
      "author": {
        "name": "Suzanne Wood",
        "email": "suzannew@cs.pdx.edu",
        "time": "Tue Nov 08 21:39:27 2005 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Nov 09 07:56:37 2005 -0800"
      },
      "message": "[PATCH] md: provide proper rcu_dereference / rcu_assign_pointer annotations in md\n\nAcked-by: \u003cpaulmck@us.ibm.com\u003e\nSigned-off-by: Suzanne Wood \u003csuzannew@cs.pdx.edu\u003e\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "a362357b6cd62643d4dda3b152639303d78473da",
      "tree": "fe4ce823e638ded151edcb142f28a240860f0d33",
      "parents": [
        "d72d904a5367ad4ca3f2c9a2ce8c3a68f0b28bf0"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "axboe@suse.de",
        "time": "Tue Nov 01 09:26:16 2005 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "axboe@suse.de",
        "time": "Tue Nov 01 09:26:16 2005 +0100"
      },
      "message": "[BLOCK] Unify the seperate read/write io stat fields into arrays\n\nInstead of having -\u003eread_sectors and -\u003ewrite_sectors, combine the two\ninto -\u003esectors[2] and similar for the other fields. This saves a branch\nseveral places in the io path, since we don\u0027t have to care for what the\nactual io direction is. On my x86-64 box, that\u0027s 200 bytes less text in\njust the core (not counting the various drivers).\n\nSigned-off-by: Jens Axboe \u003caxboe@suse.de\u003e\n"
    },
    {
      "commit": "dd0fc66fb33cd610bc1a5db8a5e232d34879b4d7",
      "tree": "51f96a9db96293b352e358f66032e1f4ff79fafb",
      "parents": [
        "3b0e77bd144203a507eb191f7117d2c5004ea1de"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@ftp.linux.org.uk",
        "time": "Fri Oct 07 07:46:04 2005 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sat Oct 08 15:00:57 2005 -0700"
      },
      "message": "[PATCH] gfp flags annotations - part 1\n\n - added typedef unsigned int __nocast gfp_t;\n\n - replaced __nocast uses for gfp flags with gfp_t - it gives exactly\n   the same warnings as far as sparse is concerned, doesn\u0027t change\n   generated code (from gcc point of view we replaced unsigned int with\n   typedef) and documents what\u0027s going on far better.\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "87fc767b832ef5a681a0ff9d203c3289bc3be2bf",
      "tree": "141e59c5ab978675339b34e6ddb8fe0b39156853",
      "parents": [
        "6d508242b231cb6e6803faaef54456abe846edb8"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Fri Sep 09 16:24:04 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Sep 09 16:39:15 2005 -0700"
      },
      "message": "[PATCH] md: fix BUG when raid10 rebuilds without enough drives\n\nThis shouldn\u0027t be a BUG.  We should cope.\n\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "6d508242b231cb6e6803faaef54456abe846edb8",
      "tree": "c41ca18f31dd2320f2ae7b54602682f81bf18e6e",
      "parents": [
        "611815651b2640449bda928079160b9263efac1c"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Fri Sep 09 16:24:03 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Sep 09 16:39:14 2005 -0700"
      },
      "message": "[PATCH] md: fix raid10 assembly when too many devices are missing\n\nIf you try to assemble an array with too many missing devices, raid10 will now\nreject the attempt, instead of allowing it.\n\nAlso check when hot-adding a drive and refuse the hot-add if the array is\nbeyond hope.\n\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "e5dcdd80a60627371f40797426273048630dc8ca",
      "tree": "1621f68394ceaa4da86d89c6da3b93fd306415fc",
      "parents": [
        "3ec67ac1a399d576d48b0736096bcce7721fe3cf"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@cse.unsw.edu.au",
        "time": "Fri Sep 09 16:23:41 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Sep 09 16:39:09 2005 -0700"
      },
      "message": "[PATCH] md: fail IO request to md that require a barrier.\n\nmd does not yet support BIO_RW_BARRIER, so be honest about it and fail\n(-EOPNOTSUPP) any such requests.\n\nSigned-off-by: Neil Brown \u003cneilb@cse.unsw.edu.au\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "3ec67ac1a399d576d48b0736096bcce7721fe3cf",
      "tree": "6fbe7fb44b1455516a406cf0f0596ea29b62eac1",
      "parents": [
        "486a153f0e294f7cc735838edcb6b32e623cbe52"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@cse.unsw.edu.au",
        "time": "Fri Sep 09 16:23:40 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Sep 09 16:39:09 2005 -0700"
      },
      "message": "[PATCH] md: fix minor error in raid10 read-balancing calculation.\n\n\u0027this_sector\u0027 is a virtual (array) address while \u0027head_position\u0027 is a physical\n(device) address, so substraction doesn\u0027t make any sense.  devs[slot].addr\nshould be used instead of this_sector.\n\nHowever, this patch doesn\u0027t make much practical different to the read\nbalancing due to the effects of later code.\n\nSigned-off-by: Neil Brown \u003cneilb@cse.unsw.edu.au\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "990a8baf568ca1d0ae65e59783ff821794118d07",
      "tree": "1fe187b2f119f7a9d96d56380b211f9ddb9f8390",
      "parents": [
        "8a5e9cf1d6626586ff08e49f400a006a9f0c3275"
      ],
      "author": {
        "name": "Jesper Juhl",
        "email": "juhl-lkml@dif.dk",
        "time": "Tue Jun 21 17:17:30 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Tue Jun 21 19:07:48 2005 -0700"
      },
      "message": "[PATCH] md: remove unneeded NULL checks before kfree\n\nThis patch removes some unneeded checks of pointers being NULL before\ncalling kfree() on them.  kfree() handles NULL pointers just fine, checking\nfirst is pointless.\n\nSigned-off-by: Jesper Juhl \u003cjuhl-lkml@dif.dk\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "3d310eb7b3df1252e8595d059d982b0a9825a137",
      "tree": "9bca5e7eaa437d60010c1745b9aeb9592439d482",
      "parents": [
        "41158c7eb22312cfaa256744e1553bb4042ff085"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@cse.unsw.edu.au",
        "time": "Tue Jun 21 17:17:26 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Tue Jun 21 19:07:46 2005 -0700"
      },
      "message": "[PATCH] md: fix deadlock due to md thread processing delayed requests.\n\nBefore completing a \u0027write\u0027 the md superblock might need to be updated.\nThis is best done by the md_thread.\n\nThe current code schedules this up and queues the write request for later\nhandling by the md_thread.\n\nHowever some personalities (Raid5/raid6) will deadlock if the md_thread\ntries to submit requests to its own array.\n\nSo this patch changes things so the processes submitting the request waits\nfor the superblock to be written and then submits the request itself.\n\nThis fixes a recently-created deadlock in raid5/raid6\n\nSigned-off-by: Neil Brown \u003cneilb@cse.unsw.edu.au\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "57afd89f98a990747445f01c458ecae64263b2f8",
      "tree": "cab9f5941f32299bc97936e111f6552ebcee9cf6",
      "parents": [
        "06d91a5fe0b50c9060e70bdf7786f8a3c66249db"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@cse.unsw.edu.au",
        "time": "Tue Jun 21 17:17:13 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Tue Jun 21 19:07:43 2005 -0700"
      },
      "message": "[PATCH] md: improve the interface to sync_request\n\n1/ change the return value (which is number-of-sectors synced)\n from \u0027int\u0027 to \u0027sector_t\u0027.\n The number of sectors is usually easily small enough to fit\n in an int, but if resync needs to abort, it may want to return\n the total number of remaining sectors, which could be large.\n Also errors cannot be returned as negative numbers now, so use\n 0 instead\n2/ Add a \u0027skipped\u0027 return parameter to allow the array to report\n that it skipped the sectors.  This allows md to take this into account\n in the speed calculations.\n Currently there is no important skipping, but the bitmap-based-resync\n that is coming will use this.\n\nSigned-off-by: Neil Brown \u003cneilb@cse.unsw.edu.au\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "06d91a5fe0b50c9060e70bdf7786f8a3c66249db",
      "tree": "95a8b9228534cebb12eb31c1cc9cc0c45f685410",
      "parents": [
        "fca4d848f0e6fafdc2b25f8a0cf1e76935f13ac2"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@cse.unsw.edu.au",
        "time": "Tue Jun 21 17:17:12 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Tue Jun 21 19:07:43 2005 -0700"
      },
      "message": "[PATCH] md: improve locking on \u0027safemode\u0027 and move superblock writes\n\nWhen md marks the superblock dirty before a write, it calls\ngeneric_make_request (to write the superblock) from within\ngeneric_make_request (to write the first dirty block), which could cause\nproblems later.\n\nWith this patch, the superblock write is always done by the helper thread, and\nwrite request are delayed until that write completes.\n\nAlso, the locking around marking the array dirty and writing the superblock is\nimproved to avoid possible races.\n\nSigned-off-by: Neil Brown \u003cneilb@cse.unsw.edu.au\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "fca4d848f0e6fafdc2b25f8a0cf1e76935f13ac2",
      "tree": "cabed019bfe5d00ddbe06e349f20cff78ab6f6bf",
      "parents": [
        "c361777fb9347a4d16b82272f7d3b234e94bef2d"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@cse.unsw.edu.au",
        "time": "Tue Jun 21 17:17:11 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Tue Jun 21 19:07:42 2005 -0700"
      },
      "message": "[PATCH] md: merge md_enter_safemode into md_check_recovery\n\nmd_enter_safemode checks if it is time to mark the md superblock as \u0027clean\u0027.\ni.e.  if all writes have completed and a suitable delay has passed.\n\nThis is currently called from md_handle_safemode which in-turn is called\n(almost) every time md_check_recovery is called, and from the end of\nmd_do_sync which causes the mddev-\u003ethread to run, which will always call\nmd_check_recovery as well.\n\nSo it doesn\u0027t need to be a separate function and fits quite well into\nmd_check_recovery.\n\nThe \"almost\" is because multipathd calls md_check_recovery but not\nmd_handle_safemode.  This is OK because the code from md_enter_safemode is a\nno-op if mddev-\u003esafemode \u003d\u003d 0, which it always is for a multipathd (providing\nwe don\u0027t allow it to be set to 2 on a signal...)\n\nSigned-off-by: Neil Brown \u003cneilb@cse.unsw.edu.au\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "7a5febe9ffeecd1e78c5b505260ccc1ef18021b4",
      "tree": "f3d61987a3f961f33a77334052805457a2ef2460",
      "parents": [
        "29ac8e056f2016a8404edc02749d095019aa1f82"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@cse.unsw.edu.au",
        "time": "Mon May 16 21:53:16 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Tue May 17 07:59:12 2005 -0700"
      },
      "message": "[PATCH] md: set the unplug_fn and issue_flush_fn for md devices *after* committed to creation\n\nWe we set the too early, they may still be in place and possibly get called\neven though the array didn\u0027t get set up properly.\n\nSigned-off-by: Neil Brown \u003cneilb@cse.unsw.edu.au\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "fbd568a3e61a7decb8a754ad952aaa5b5c82e9e5",
      "tree": "40a44149a9b6a39eac5481380e2212f9b9b74eb2",
      "parents": [
        "9b06e818985d139fd9e82c28297f7744e1b484e1"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paulmck@us.ibm.com",
        "time": "Sun May 01 08:59:04 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sun May 01 08:59:04 2005 -0700"
      },
      "message": "[PATCH] Change synchronize_kernel to _rcu and _sched\n\nThis patch changes calls to synchronize_kernel(), deprecated in the earlier\n\"Deprecate synchronize_kernel, GPL replacement\" patch to instead call the new\nsynchronize_rcu() and synchronize_sched() APIs.\n\nSigned-off-by: Paul E. McKenney \u003cpaulmck@us.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "1da177e4c3f41524e886b7f1b8a0c1fc7321cac2",
      "tree": "0bba044c4ce775e45a88a51686b5d9f90697ea9d",
      "parents": [],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sat Apr 16 15:20:36 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sat Apr 16 15:20:36 2005 -0700"
      },
      "message": "Linux-2.6.12-rc2\n\nInitial git repository build. I\u0027m not bothering with the full history,\neven though we have it. We can create a separate \"historical\" git\narchive of that later if we want to, and in the meantime it\u0027s about\n3.2GB when imported into git - space that would just make the early\ngit days unnecessarily complicated, when we don\u0027t have a lot of good\ninfrastructure for it.\n\nLet it rip!\n"
    }
  ]
}
