)]}'
{
  "log": [
    {
      "commit": "8215d6ec5fee1e76545decea2cd73717efb5cb42",
      "tree": "54ed2c995c3b91417def0ad31368e3094f72bd81",
      "parents": [
        "0f3649a9e305ea22eb196a84a2d7520afcaa6060"
      ],
      "author": {
        "name": "Nikanth Karthikesan",
        "email": "knikanth@novell.com",
        "time": "Sat Mar 06 02:32:27 2010 +0000"
      },
      "committer": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Sat Mar 06 02:32:27 2010 +0000"
      },
      "message": "dm table: remove unused dm_get_device range parameters\n\nRemove unused parameters(start and len) of dm_get_device()\nand fix the callers.\n\nSigned-off-by: Nikanth Karthikesan \u003cknikanth@suse.de\u003e\nSigned-off-by: Alasdair G Kergon \u003cagk@redhat.com\u003e\n"
    },
    {
      "commit": "64b30c46e866bbff8a9e17883a18636adc358455",
      "tree": "e79ecbec9170dad5704df2ceddda7b65b1e5d1f6",
      "parents": [
        "c0da3748b9a894b9f9b561ecc2d090a913988a0f"
      ],
      "author": {
        "name": "Mikulas Patocka",
        "email": "mpatocka@redhat.com",
        "time": "Thu Dec 10 23:52:02 2009 +0000"
      },
      "committer": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Thu Dec 10 23:52:02 2009 +0000"
      },
      "message": "dm raid1: report flush errors separately in status\n\nReport flush errors as \u0027F\u0027 instead of \u0027D\u0027 for log and mirror devices.\n\nSigned-off-by: Mikulas Patocka \u003cmpatocka@redhat.com\u003e\nSigned-off-by: Alasdair G Kergon \u003cagk@redhat.com\u003e\n"
    },
    {
      "commit": "076010e2e6ea5b66dfd1f81a6133fb014c9b291d",
      "tree": "b8b6e7ebeb1b60166611e3bbd536818748689a6d",
      "parents": [
        "87a8f240e9bcf025ba45e4563c842b0d59c5e8ef"
      ],
      "author": {
        "name": "Mikulas Patocka",
        "email": "mpatocka@redhat.com",
        "time": "Thu Dec 10 23:52:01 2009 +0000"
      },
      "committer": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Thu Dec 10 23:52:01 2009 +0000"
      },
      "message": "dm log: use flush callback fn\n\nCall the flush callback from the log.\n\nIf flush failed, we have no alternative but to mark the whole log as dirty.\nAlso we set the variable flush_failed to prevent any bits ever being marked as\nclean again.\n\nSigned-off-by: Mikulas Patocka \u003cmpatocka@redhat.com\u003e\nSigned-off-by: Alasdair G Kergon \u003cagk@redhat.com\u003e\n"
    },
    {
      "commit": "87a8f240e9bcf025ba45e4563c842b0d59c5e8ef",
      "tree": "b6b42a74fc1135c11656d8cf4bf5ea4005c74a77",
      "parents": [
        "5adc78d0d231b030405b31759f125f13404fdb64"
      ],
      "author": {
        "name": "Mikulas Patocka",
        "email": "mpatocka@redhat.com",
        "time": "Thu Dec 10 23:52:01 2009 +0000"
      },
      "committer": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Thu Dec 10 23:52:01 2009 +0000"
      },
      "message": "dm log: add flush callback fn\n\nIntroduce a callback pointer from the log to dm-raid1 layer.\n\nBefore some region is set as \"in-sync\", we need to flush hardware cache on\nall the disks. But the log module doesn\u0027t have access to the mirror_set\nstructure. So it will use this callback.\n\nSo far the callback is unused, it will be used in further patches.\n\nSigned-off-by: Mikulas Patocka \u003cmpatocka@redhat.com\u003e\nSigned-off-by: Alasdair G Kergon \u003cagk@redhat.com\u003e\n"
    },
    {
      "commit": "5adc78d0d231b030405b31759f125f13404fdb64",
      "tree": "8906799cb47e78790335eac122987872ef193dab",
      "parents": [
        "20a34a8ecc7d03eaa5054f58169ebff12f5f1f8c"
      ],
      "author": {
        "name": "Mikulas Patocka",
        "email": "mpatocka@redhat.com",
        "time": "Thu Dec 10 23:52:00 2009 +0000"
      },
      "committer": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Thu Dec 10 23:52:00 2009 +0000"
      },
      "message": "dm log: introduce flush_failed variable\n\nIntroduce \"flush failed\" variable.  When a flush before clearing a bit\nin the log fails, we don\u0027t know anything about which which regions are\nin-sync and which not.\n\nSo we need to set all regions as not-in-sync and set the variable\n\"flush_failed\" to prevent setting the in-sync bit in the future.\n\nA target reload is the only way to get out of this situation.\n\nThe variable will be set in following patches.\n\nSigned-off-by: Mikulas Patocka \u003cmpatocka@redhat.com\u003e\nSigned-off-by: Alasdair G Kergon \u003cagk@redhat.com\u003e\n"
    },
    {
      "commit": "20a34a8ecc7d03eaa5054f58169ebff12f5f1f8c",
      "tree": "87dd9a93e2bd11c8917d9c4bb000c3acb85723c8",
      "parents": [
        "b09acf1aa79462bdacfe6744b469a17722a52702"
      ],
      "author": {
        "name": "Mikulas Patocka",
        "email": "mpatocka@redhat.com",
        "time": "Thu Dec 10 23:52:00 2009 +0000"
      },
      "committer": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Thu Dec 10 23:52:00 2009 +0000"
      },
      "message": "dm log: add flush_header function\n\nIntroduce flush_header and use it to flush the log device.\n\nNote that we don\u0027t have to flush if all the regions transition\nfrom \"dirty\" to \"clean\" state.\n\nSigned-off-by: Mikulas Patocka \u003cmpatocka@redhat.com\u003e\nSigned-off-by: Alasdair G Kergon \u003cagk@redhat.com\u003e\n"
    },
    {
      "commit": "b09acf1aa79462bdacfe6744b469a17722a52702",
      "tree": "27ef83ed0d0bbf35938814f8ba3206e7881a170d",
      "parents": [
        "4184153f9e483f9bb63339ed316e059962fe9794"
      ],
      "author": {
        "name": "Mikulas Patocka",
        "email": "mpatocka@redhat.com",
        "time": "Thu Dec 10 23:51:59 2009 +0000"
      },
      "committer": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Thu Dec 10 23:51:59 2009 +0000"
      },
      "message": "dm raid1: split touched state into two\n\nSplit the variable \"touched\" into two, \"touched_dirtied\" and\n\"touched_cleaned\", set when some region was dirtied or cleaned.\n\nThis will be used to optimize flushes.\n\nAfter a transition from \"dirty\" to \"clean\" state we don\u0027t have flush hardware\ncache on the log device. After a transition from \"clean\" to \"dirty\" the cache\nmust be flushed.\n\nBefore a transition from \"clean\" to \"dirty\" state we don\u0027t have to flush all\nthe raid legs. Before a transition from \"dirty\" to \"clean\" we must flush all\nthe legs to make sure that they are really in sync.\n\nSigned-off-by: Mikulas Patocka \u003cmpatocka@redhat.com\u003e\nSigned-off-by: Alasdair G Kergon \u003cagk@redhat.com\u003e\n"
    },
    {
      "commit": "18d8594dd93a1ae2fafd591ec026e87d743292bf",
      "tree": "9a4b0ac8512864666fef0c6e3bc26c5db172f649",
      "parents": [
        "af4874e03ed82f050d5872d8c39ce64bf16b5c38"
      ],
      "author": {
        "name": "Mike Snitzer",
        "email": "snitzer@redhat.com",
        "time": "Mon Jun 22 10:12:33 2009 +0100"
      },
      "committer": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Mon Jun 22 10:12:33 2009 +0100"
      },
      "message": "dm log: fix create_log_context to use logical_block_size of log device\n\ncreate_log_context() must use the logical_block_size from the log disk,\nwhere the I/O happens, not the target\u0027s logical_block_size.\n\nSigned-off-by: Mike Snitzer \u003csnitzer@redhat.com\u003e\nSigned-off-by: Alasdair G Kergon \u003cagk@redhat.com\u003e\n"
    },
    {
      "commit": "5657e8fa45cf230df278040c420fb80e06309d8f",
      "tree": "7817e1bd6c9b721be85fe54a1aec6ef971d7d96b",
      "parents": [
        "8cbeb67ad50f7d68e5e83be2cb2284de8f9c03b5"
      ],
      "author": {
        "name": "Mikulas Patocka",
        "email": "mpatocka@redhat.com",
        "time": "Mon Jun 22 10:12:14 2009 +0100"
      },
      "committer": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Mon Jun 22 10:12:14 2009 +0100"
      },
      "message": "dm: use i_size_read\n\nUse i_size_read() instead of reading i_size.\n\nIf someone changes the size of the device simultaneously, i_size_read\nis guaranteed to return a valid value (either the old one or the new one).\n\ni_size can return some intermediate invalid value (on 32-bit computers\nwith 64-bit i_size, the reads to both halves of i_size can be interleaved\nwith updates to i_size, resulting in garbage being returned).\n\nCc: stable@kernel.org\nSigned-off-by: Mikulas Patocka \u003cmpatocka@redhat.com\u003e\nSigned-off-by: Alasdair G Kergon \u003cagk@redhat.com\u003e\n"
    },
    {
      "commit": "e1defc4ff0cf57aca6c5e3ff99fa503f5943c1f1",
      "tree": "d60d15a082171c58ac811d547d51a9c3119f23e3",
      "parents": [
        "9bd7de51ee8537094656149eaf45338cadb7d7d4"
      ],
      "author": {
        "name": "Martin K. Petersen",
        "email": "martin.petersen@oracle.com",
        "time": "Fri May 22 17:17:49 2009 -0400"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Fri May 22 23:22:54 2009 +0200"
      },
      "message": "block: Do away with the notion of hardsect_size\n\nUntil now we have had a 1:1 mapping between storage device physical\nblock size and the logical block sized used when addressing the device.\nWith SATA 4KB drives coming out that will no longer be the case.  The\nsector size will be 4KB but the logical block size will remain\n512-bytes.  Hence we need to distinguish between the physical block size\nand the logical ditto.\n\nThis patch renames hardsect_size to logical_block_size.\n\nSigned-off-by: Martin K. Petersen \u003cmartin.petersen@oracle.com\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "ec44ab9d6681ddf9026b593e866bec9c0e075e1d",
      "tree": "56c0f99068c7bf2a474e8094c1fa9d14a7861ae8",
      "parents": [
        "84e67c9319eb2232757a022c24f6a461291eaee5"
      ],
      "author": {
        "name": "Mike Snitzer",
        "email": "snitzer@redhat.com",
        "time": "Thu Apr 02 19:55:30 2009 +0100"
      },
      "committer": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Thu Apr 02 19:55:30 2009 +0100"
      },
      "message": "dm log: remove struct dm_dirty_log_internal\n\nRemove the \u0027dm_dirty_log_internal\u0027 structure.  The resulting cleanup\neliminates extra memory allocations.  Therefore exposing the internal\nlist_head to the external \u0027dm_dirty_log_type\u0027 structure is a worthwhile\ncompromise.\n\nSigned-off-by: Mike Snitzer \u003csnitzer@redhat.com\u003e\nSigned-off-by: Alasdair G Kergon \u003cagk@redhat.com\u003e\n"
    },
    {
      "commit": "84e67c9319eb2232757a022c24f6a461291eaee5",
      "tree": "581e427fa8bc914089de24f70235e471c5bd0c5b",
      "parents": [
        "b81d6cf79b57f6123a5d4f7a4932cc359995484d"
      ],
      "author": {
        "name": "Mike Snitzer",
        "email": "snitzer@redhat.com",
        "time": "Thu Apr 02 19:55:29 2009 +0100"
      },
      "committer": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Thu Apr 02 19:55:29 2009 +0100"
      },
      "message": "dm log: use standard kernel module refcount\n\nAvoid private module usage accounting by removing \u0027use\u0027 from\ndm_dirty_log_internal.  The standard module reference counting is\nsufficient.\n\nSigned-off-by: Mike Snitzer \u003csnitzer@redhat.com\u003e\nSigned-off-by: Alasdair G Kergon \u003cagk@redhat.com\u003e\n"
    },
    {
      "commit": "ac1f0ac22c7be908fd33407273b9808bfaedada4",
      "tree": "f6a867138918b591639464802744506f6b83ad14",
      "parents": [
        "2045e88edb4e0c9ce62d317f77dc59d27d9c530e"
      ],
      "author": {
        "name": "Milan Broz",
        "email": "mbroz@redhat.com",
        "time": "Tue Jan 06 03:05:02 2009 +0000"
      },
      "committer": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Tue Jan 06 03:05:02 2009 +0000"
      },
      "message": "dm log: ensure log bitmap fits on log device\n\nCheck that the log bitmap will fit within the log device.\n\nSigned-off-by: Milan Broz \u003cmbroz@redhat.com\u003e\nSigned-off-by: Alasdair G Kergon \u003cagk@redhat.com\u003e\n"
    },
    {
      "commit": "2045e88edb4e0c9ce62d317f77dc59d27d9c530e",
      "tree": "324eeea271b889263d0141fe0c82d4b0e43d0079",
      "parents": [
        "6f3af01cb0eda0ec50fe1e4cbdf028269dc396fe"
      ],
      "author": {
        "name": "Milan Broz",
        "email": "mbroz@redhat.com",
        "time": "Tue Jan 06 03:05:01 2009 +0000"
      },
      "committer": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Tue Jan 06 03:05:01 2009 +0000"
      },
      "message": "dm log: move region_size validation\n\nMove log size validation from mirror target to log constructor.\n\nRemoved PAGE_SIZE restriction we no longer think necessary.\n\nSigned-off-by: Milan Broz \u003cmbroz@redhat.com\u003e\nSigned-off-by: Alasdair G Kergon \u003cagk@redhat.com\u003e\n"
    },
    {
      "commit": "6f3af01cb0eda0ec50fe1e4cbdf028269dc396fe",
      "tree": "29988ebe5a40ee1092bdbeac45eb0bdc312ff670",
      "parents": [
        "10d3bd09a3c25df114f74f7f86e1b58d070bef32"
      ],
      "author": {
        "name": "Takahiro Yasui",
        "email": "tyasui@redhat.com",
        "time": "Tue Jan 06 03:04:59 2009 +0000"
      },
      "committer": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Tue Jan 06 03:04:59 2009 +0000"
      },
      "message": "dm log: avoid reinitialising io_req on every operation\n\nrw_header function updates three members of io_req data every time\nwhen I/O is processed. bi_rw and notify.fn are never modified once\nthey get initialized, and so they can be set in advance.\n\nheader_to_disk() can also be pulled out of write_header() since only one\ncaller needs it and write_header() can be replaced by rw_header()\ndirectly.\n\nSigned-off-by: Takahiro Yasui \u003ctyasui@redhat.com\u003e\nSigned-off-by: Alasdair G Kergon \u003cagk@redhat.com\u003e\n"
    },
    {
      "commit": "c7a2bd19b7c1e0bd2c7604c53d2583e91e536948",
      "tree": "bb896040c05397026745de9d05bd6f491d26603f",
      "parents": [
        "90fa1527bddc7147dc0d590ee6184ca88bc50ecf"
      ],
      "author": {
        "name": "Takahiro Yasui",
        "email": "tyasui@redhat.com",
        "time": "Tue Jan 06 03:04:56 2009 +0000"
      },
      "committer": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Tue Jan 06 03:04:56 2009 +0000"
      },
      "message": "dm log: fix dm_io_client leak on error paths\n\nIn create_log_context function, dm_io_client_destroy function needs\nto be called, when memory allocation of disk_header, sync_bits and\nrecovering_bits failed, but dm_io_client_destroy is not called.\n\nCc: stable@kernel.org\nSigned-off-by: Takahiro Yasui \u003ctyasui@redhat.com\u003e\nAcked-by: Jonathan Brassow \u003cjbrassow@redhat.com\u003e\nSigned-off-by: Alasdair G Kergon \u003cagk@redhat.com\u003e\n"
    },
    {
      "commit": "586e80e6ee0d137c7d79fbae183bb37bc60ee97e",
      "tree": "1f3cc124ed6ad93abd4c14f9c8900333c6cba6fb",
      "parents": [
        "d63a5ce3c0d25c96bdadc78792e5b48b846e899d"
      ],
      "author": {
        "name": "Mikulas Patocka",
        "email": "mpatocka@redhat.com",
        "time": "Tue Oct 21 17:44:59 2008 +0100"
      },
      "committer": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Tue Oct 21 17:44:59 2008 +0100"
      },
      "message": "dm: remove dm header from targets\n\nChange #include \"dm.h\" to #include \u003clinux/device-mapper.h\u003e in all targets.\nTargets should not need direct access to internal DM structures.\n\nSigned-off-by: Mikulas Patocka \u003cmpatocka@redhat.com\u003e\nSigned-off-by: Alasdair G Kergon \u003cagk@redhat.com\u003e\n"
    },
    {
      "commit": "c8da2f8dd86d70559ec4e50251f6a755b42bd5b4",
      "tree": "1991d27441d08a727160d75d7b2723b5514b19e1",
      "parents": [
        "371b2e348b7731a548b0a7432ca2ba32e90dd16f"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@kernel.org",
        "time": "Mon Jul 21 12:00:27 2008 +0100"
      },
      "committer": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Mon Jul 21 12:00:27 2008 +0100"
      },
      "message": "dm log: make dm_dirty_log init and exit static\n\ndm_dirty_log_{init,exit}() can now become static.\n\nSigned-off-by: Adrian Bunk \u003cbunk@kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Alasdair G Kergon \u003cagk@redhat.com\u003e\n"
    },
    {
      "commit": "a765e20eeb423d0fa6a02ffab51141e53bbd93cb",
      "tree": "fc7279fa73a21518373e1ba2efad27dab89a2214",
      "parents": [
        "2d1e580afe23287871529ce54429e249809525a1"
      ],
      "author": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Thu Apr 24 22:02:01 2008 +0100"
      },
      "committer": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Fri Apr 25 13:26:55 2008 +0100"
      },
      "message": "dm: move include files\n\nPublish the dm-io, dm-log and dm-kcopyd headers in include/linux.\n\nSigned-off-by: Alasdair G Kergon \u003cagk@redhat.com\u003e\n"
    },
    {
      "commit": "2a23aa1ddb1f0c9eef2c929c89565c387f6bf68b",
      "tree": "dc029b4230dc1282363a16d8a9d9126f1c9d7ffe",
      "parents": [
        "b8206bc3de0b0665d47655d270c18ea46aff5372"
      ],
      "author": {
        "name": "Jonathan Brassow",
        "email": "jbrassow@redhat.com",
        "time": "Thu Apr 24 21:43:41 2008 +0100"
      },
      "committer": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Fri Apr 25 13:26:48 2008 +0100"
      },
      "message": "dm log: make module use tracking internal\n\nRemove internal module reference fields from the interface.\n\nSigned-off-by: Jonathan Brassow \u003cjbrassow@redhat.com\u003e\nSigned-off-by: Alasdair G Kergon \u003cagk@redhat.com\u003e\n"
    },
    {
      "commit": "b8206bc3de0b0665d47655d270c18ea46aff5372",
      "tree": "ae52f89c65b36f12887015104a37c4178303e889",
      "parents": [
        "416cd17b1982217bca3dc41b9f00b0b38fdaadad"
      ],
      "author": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Thu Apr 24 21:43:38 2008 +0100"
      },
      "committer": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Fri Apr 25 13:26:47 2008 +0100"
      },
      "message": "dm log: move register functions\n\nReorder a couple of functions in the file so the next patch is readable.\n\nSigned-off-by: Alasdair G Kergon \u003cagk@redhat.com\u003e\n"
    },
    {
      "commit": "416cd17b1982217bca3dc41b9f00b0b38fdaadad",
      "tree": "dcb73db9876f5b973ad26b47449083b98efad1b6",
      "parents": [
        "eb69aca5d3370b81450d68edeebc2bb9a3eb9689"
      ],
      "author": {
        "name": "Heinz Mauelshagen",
        "email": "hjm@redhat.com",
        "time": "Thu Apr 24 21:43:35 2008 +0100"
      },
      "committer": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Fri Apr 25 13:26:46 2008 +0100"
      },
      "message": "dm log: clean interface\n\nClean up the dm-log interface to prepare for publishing it in include/linux.\n\nSigned-off-by: Heinz Mauelshagen \u003chjm@redhat.com\u003e\nSigned-off-by: Alasdair G Kergon \u003cagk@redhat.com\u003e\n"
    },
    {
      "commit": "22a1ceb1e6a7fbce95a1531ff10bb4fb036d4a37",
      "tree": "5b6ebebc747a0027626684a153b418a26119d074",
      "parents": [
        "e01fd7eeb00f8078103f4ed3e8ef64474c11f300"
      ],
      "author": {
        "name": "Heinz Mauelshagen",
        "email": "hjm@redhat.com",
        "time": "Thu Apr 24 21:43:17 2008 +0100"
      },
      "committer": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Fri Apr 25 13:26:43 2008 +0100"
      },
      "message": "dm io: clean interface\n\nClean up the dm-io interface to prepare for publishing it in include/linux.\n\nSigned-off-by: Heinz Mauelshagen \u003chjm@redhat.com\u003e\nSigned-off-by: Alasdair G Kergon \u003cagk@redhat.com\u003e\n"
    },
    {
      "commit": "769aef30f0f505c44bbe9fcd2c911a052a386139",
      "tree": "8c9d8da4d1f173935d54398b1daf52df316fc3ca",
      "parents": [
        "b7fd54a70f99061721e604d72d940541e5b2b168"
      ],
      "author": {
        "name": "Heinz Mauelshagen",
        "email": "hjm@redhat.com",
        "time": "Thu Apr 24 21:43:09 2008 +0100"
      },
      "committer": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Fri Apr 25 13:26:39 2008 +0100"
      },
      "message": "dm log: move dirty region log code into separate module\n\nMove the dirty region log code into a separate module so\nother targets can share the code.\n\nSigned-off-by: Heinz Mauelshagen \u003chjm@redhat.com\u003e\nSigned-off-by: Alasdair G Kergon \u003cagk@redhat.com\u003e\n"
    },
    {
      "commit": "b7fd54a70f99061721e604d72d940541e5b2b168",
      "tree": "177d9dfc5b0f2b9f79bf6708b41d904173712df4",
      "parents": [
        "c12bfc923ee02de5611730ddec087c11b3947038"
      ],
      "author": {
        "name": "Heinz Mauelshagen",
        "email": "hjm@redhat.com",
        "time": "Thu Apr 24 21:43:06 2008 +0100"
      },
      "committer": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Fri Apr 25 13:26:38 2008 +0100"
      },
      "message": "dm log: generalise name in messages\n\nChange dm-log.c messages from \"mirror log\" to \"dirty region log\" as\na new dm target wants to share this code.\n\nSigned-off-by: Heinz Mauelshagen \u003chjm@redhat.com\u003e\nSigned-off-by: Alasdair G Kergon \u003cagk@redhat.com\u003e\n"
    },
    {
      "commit": "fb8b284806124bef250196007d7373ea3fe26194",
      "tree": "8e34cc38a2c5a0e8e7a937c53421cf7f76466a00",
      "parents": [
        "304f3f6a58301316da612d7bf21d9abe1369d456"
      ],
      "author": {
        "name": "Jonathan Brassow",
        "email": "jbrassow@redhat.com",
        "time": "Fri Feb 08 02:11:19 2008 +0000"
      },
      "committer": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Fri Feb 08 02:11:19 2008 +0000"
      },
      "message": "dm log: auto load modules\n\nIf the log type is not recognised, attempt to load the module\n\u0027dm-log-\u003ctype\u003e.ko\u0027.\n\nSigned-off-by: Jonathan Brassow \u003cjbrassow@redhat.com\u003e\nSigned-off-by: Alasdair G Kergon \u003cagk@redhat.com\u003e\n"
    },
    {
      "commit": "6b3df0d7a5e85ad2afd3eecc50e2dee59e876ae8",
      "tree": "d20f30d0a40d1162a6cc135dca31403ae38198e5",
      "parents": [
        "fe97e2aa0502922488ad62303a19a20c8044ae18"
      ],
      "author": {
        "name": "Jonathan Brassow",
        "email": "jbrassow@redhat.com",
        "time": "Fri Oct 19 22:47:57 2007 +0100"
      },
      "committer": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Sat Oct 20 02:01:21 2007 +0100"
      },
      "message": "dm log: split suspend\n\nThere are now two phases to a suspend in device-mapper -\npresuspend and postsuspend.  This patch removes the\nsingle \u0027suspend\u0027 in the logging API and replaces it with\n\u0027presuspend\u0027 and \u0027postsuspend\u0027 functions to align it\nbetter with core device-mapper.\n\nA subsequent patch will make use of \u0027presuspend\u0027.\n\nSigned-off-by: Jonathan Brassow \u003cjbrassow@redhat.com\u003e\nSigned-off-by: Alasdair G Kergon \u003cagk@redhat.com\u003e\n"
    },
    {
      "commit": "ba8b45cea5f632540d561d37d94c71c07f6af1aa",
      "tree": "03604401cd4162a16d1888b71e7d65c8cc14ec31",
      "parents": [
        "b997b82d266c9fb910fc2ad95b9bb93b3bccf9be"
      ],
      "author": {
        "name": "Jonathan Brassow",
        "email": "jbrassow@redhat.com",
        "time": "Wed May 09 02:33:08 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed May 09 12:30:48 2007 -0700"
      },
      "message": "dm log: fix resume failed log device\n\nThis patch removes the possibility of having uninitialized log state if the\nlog device has failed.\n\nWhen a mirror resumes operation, it calls \u0027resume\u0027 on the logging module.  If\ndisk based logging is being used, the log device is read to fill in the log\nstate.  If the log device has failed, we cannot simply return, because this\nwould leave the in-memory log state uninitialized.  Instead, we assume all\nregions are out-of-sync and reset the log state.  Failure to do this could\nresult in the logging code reporting a region as in-sync, even though it\nisn\u0027t; which could result in a corrupted mirror.\n\nSigned-off-by: Jonathan Brassow \u003cjbrassow@redhat.com\u003e\nSigned-off-by: Alasdair G Kergon \u003cagk@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "5d234d1e03d0a4cef4da32177be6657b45cc513f",
      "tree": "6f1cd0cedbd2a9ad276b1a92195f00925ce517fd",
      "parents": [
        "6cca1e7af543aa396b3e4919c251080741a49e69"
      ],
      "author": {
        "name": "Heinz Mauelshagen",
        "email": "heinzm@redhat.com",
        "time": "Wed May 09 02:33:03 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed May 09 12:30:47 2007 -0700"
      },
      "message": "dm log: update dm io interface\n\nThis patch ports dm-log.c to the new dm-io interface in order to make it\nscalable to have a large number of persistent dirty logs active in parallel.\n\nSigned-off-by: Heinz Mauelshagen \u003cheinzm@redhat.com\u003e\nCc: Milan Broz \u003cmbroz@redhat.com\u003e\nSigned-off-by: Alasdair G Kergon \u003cagk@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "315dcc226f066c1d3cef79283dcde807fe0e32d1",
      "tree": "f3abf75905aec13819292564ef4c2711c8bf4b8d",
      "parents": [
        "01d03a660e73fb524957c09825a3eb7c2ae7c205"
      ],
      "author": {
        "name": "Jonathan E Brassow",
        "email": "jbrassow@redhat.com",
        "time": "Wed May 09 02:32:58 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed May 09 12:30:47 2007 -0700"
      },
      "message": "dm log: report fault status\n\nThis patch reports the status of the log device so that userspace can detect\nthe error and take appropriate action.\n\nSigned-off-by: Jonathan E Brassow \u003cjbrassow@redhat.com\u003e\nSigned-off-by: Alasdair G Kergon \u003cagk@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "01d03a660e73fb524957c09825a3eb7c2ae7c205",
      "tree": "8f87a5b6b6e34f9baab8661c127bf427cb4eaf41",
      "parents": [
        "2cd54d9bedb79a97f014e86c0da393416b264eb3"
      ],
      "author": {
        "name": "Jonathan E Brassow",
        "email": "jbrassow@redhat.com",
        "time": "Wed May 09 02:32:57 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed May 09 12:30:47 2007 -0700"
      },
      "message": "dm log: fault detection\n\nThis patch gives the disk logging code the ability to store the fact that an\nerror occured on the log device.  In addition, an event is raised when an\nerror is encountered during I/O to the log device.\n\nSigned-off-by: Jonathan E Brassow \u003cjbrassow@redhat.com\u003e\nSigned-off-by: Alasdair G Kergon \u003cagk@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "88b20a1a71d98d6e0b8373fa68fb784340b3ee51",
      "tree": "c6406a5e5502356bb86555703b52573372ba3b5a",
      "parents": [
        "f3ee6b2f621fec7bc8bfe43fb465e938c37c8d20"
      ],
      "author": {
        "name": "Jonathan E Brassow",
        "email": "jbrassow@redhat.com",
        "time": "Fri Dec 08 02:41:12 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Fri Dec 08 08:29:09 2006 -0800"
      },
      "message": "[PATCH] dm: raid1: reset sync_search on resume\n\nReset sync_search on resume.  The effect is to retry syncing all out-of-sync\nregions when a mirror is resumed, including ones that previously failed.\n\nSigned-off-by: Jonathan E Brassow \u003cjbrassow@redhat.com\u003e\nSigned-off-by: Alasdair G Kergon \u003cagk@redhat.com\u003e\nCc: dm-devel@redhat.com\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "f3ee6b2f621fec7bc8bfe43fb465e938c37c8d20",
      "tree": "3d790014bbd3280fc7b0232dc212f4b34f06092f",
      "parents": [
        "31c93a0c29bf96efd806ccf4ee81cacf04f255de"
      ],
      "author": {
        "name": "Jonathan E Brassow",
        "email": "jbrassow@redhat.com",
        "time": "Fri Dec 08 02:41:11 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Fri Dec 08 08:29:09 2006 -0800"
      },
      "message": "[PATCH] dm: log: rename complete_resync_work\n\nThe complete_resync_work function only provides the ability to change an\nout-of-sync region to in-sync.  This patch enhances the function to allow us\nto change the status from in-sync to out-of-sync as well, something that is\nneeded when a mirror write to one of the devices or an initial resync on a\ngiven region fails.\n\nSigned-off-by: Jonathan E Brassow \u003cjbrassow@redhat.com\u003e\nSigned-off-by: Alasdair G Kergon \u003cagk@redhat.com\u003e\nCc: dm-devel@redhat.com\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "72d9486169a2a8353e022813185ba2f32d7dde69",
      "tree": "2fe6c382feb3f21d829abf543c54be486007557c",
      "parents": [
        "5c6bd75d06db512515a3781aa97e42df2faf0815"
      ],
      "author": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Mon Jun 26 00:27:35 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Jun 26 09:58:36 2006 -0700"
      },
      "message": "[PATCH] dm: improve error message consistency\n\nTidy device-mapper error messages to include context information\nautomatically.\n\nSigned-off-by: Alasdair G Kergon \u003cagk@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "8a835f11bce68ed990533e49b5dedb00bee46d71",
      "tree": "8311b7c5b722fdf1a2b1c7267098ca0c05bd9a54",
      "parents": [
        "29121bd0b00ebb9524971a583fea4a2f7afe8041"
      ],
      "author": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Mon Jun 26 00:27:30 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Jun 26 09:58:35 2006 -0700"
      },
      "message": "[PATCH] dm mirror log: sync_count fix\n\nWhen a mirror is reduced in size, clear the part of the bitmap that is no\nlonger used.\n\nSigned-off-by: Alasdair G Kergon \u003cagk@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "29121bd0b00ebb9524971a583fea4a2f7afe8041",
      "tree": "499be8e6dea167fd9a17ccce11467d6bdd1c40dc",
      "parents": [
        "b7cca195c4cc051210f3e60a859b779ca833a2e4"
      ],
      "author": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Mon Jun 26 00:27:29 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Jun 26 09:58:35 2006 -0700"
      },
      "message": "[PATCH] dm mirror log: bitset_size fix\n\nFix the \u0027sizeof\u0027 in the region log bitmap size calculation: it\u0027s uint32_t, not\nunsigned long - this breaks on some archs.\n\nSigned-off-by: Alasdair G Kergon \u003cagk@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "b7cca195c4cc051210f3e60a859b779ca833a2e4",
      "tree": "f9d7f2cc386c90214eaec2617715365708118bdc",
      "parents": [
        "702ca6f0be9ef95087ee2c9f31e6517492554483"
      ],
      "author": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Mon Jun 26 00:27:29 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Jun 26 09:58:35 2006 -0700"
      },
      "message": "[PATCH] dm mirror log: refactor context\n\nRefactor the code that creates the core and disk log contexts to avoid the\nrepeated allocation of clean_bits introduced by the last patch.\n\nSigned-off-by: Alasdair G Kergon \u003cagk@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "702ca6f0be9ef95087ee2c9f31e6517492554483",
      "tree": "e59b9a1e71e68a9f0230d12a10931b60da1ac9c4",
      "parents": [
        "143535396c7ebd9395a931a000b3963f457712b8"
      ],
      "author": {
        "name": "Kevin Corry",
        "email": "kevcorry@us.ibm.com",
        "time": "Mon Jun 26 00:27:28 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Jun 26 09:58:35 2006 -0700"
      },
      "message": "[PATCH] dm mirror log: sector size fix\n\nOn-disk logs for dm-mirror devices are currently hard-coded to use 512 byte\nhard-sector-sizes.  This patch fixes dm-log so it will work with devices with\nnon-512-byte hard-sector-sizes.\n\nTo maintain full compatibility, instead of moving the clean-bits bitset to a\nbitset, and enlarges the disk-header buffer to encompass both the header and\nthe bitset.  The I/O routines for the bitset are removed, and the I/O routines\nfor the disk-header now also read/write the bitset.\n\nSigned-off-by: Kevin Corry \u003ckevcorry@us.ibm.com\u003e\nSigned-off-by: Alasdair G Kergon \u003cagk@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "1113a7e92e483074c6235da59460759e33b9b144",
      "tree": "632a2eded0668e9ce925ccae721feaf387364cff",
      "parents": [
        "35849c75d7750a254119c1a4b88c90156919df2a"
      ],
      "author": {
        "name": "Stefan Bader",
        "email": "shbader@de.ibm.com",
        "time": "Thu Feb 02 14:28:07 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Thu Feb 02 15:07:13 2006 -0800"
      },
      "message": "[PATCH] device-mapper log bitset: fix big endian find_next_zero_bit\n\nThis is a fix to the device-mapper-log-bitset-fix-endian patch that\nswitched to ext2_* versions of the set and clear bit functions.  The\nfind_next_zero_bit function also has to be the ext2 one.  Otherwise the\nmirror target tries to recover non-existent regions beyond the end of\ndevice.\n\nSigned-off-by: Stefan Bader \u003cshbader@de.ibm.com\u003e\nSigned-off-by: Alasdair G Kergon \u003cagk@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "a4fc4717fc55a3bcd3cfdafa285b7af164b83051",
      "tree": "bce42a0cc5a6675ab50fb6b525e4418b66863fdf",
      "parents": [
        "aa14edeb994f8f7e223d02ad14780bf2fa719f6d"
      ],
      "author": {
        "name": "Patrick Caulfield",
        "email": "pcaulfie@redhat.com",
        "time": "Wed Feb 01 03:04:51 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Feb 01 08:53:10 2006 -0800"
      },
      "message": "[PATCH] device-mapper log bitset: fix endian\n\nClean up the code responsible for the on-disk mirror logs by using the\nset_le_bit test_le_bit functions of ext2.  That makes the BE machines keep the\nbitmap internally in LE order - it does mean you can\u0027t use any other type of\noperations on the bitmap words but that looks to be OK in this instance.  The\nefficiency tradeoff is very minimal as you would expect for something that\next2 uses.\n\nThis allows us to remove bits_to_core(), bits_to_disk() and log-\u003edisk_bits.\n\nAlso increment the mirror log disk version transparently to avoid sharing with\nolder kernels that suffered from the 64-bit BE bug.\n\nSigned-off-by: Patrick Caulfield \u003cpcaulfie@redhat.com\u003e\nSigned-off-by: Alasdair G Kergon \u003cagk@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "ac81b2ee45eb811fdb0aa1cfb71d468d944d00ce",
      "tree": "68ec667534f7669e60aadc09115f67fb0caf5fbe",
      "parents": [
        "9d3520a339d62f942085e9888f66905eb8b350bd"
      ],
      "author": {
        "name": "Darrick J. Wong",
        "email": "djwong@us.ibm.com",
        "time": "Fri Jan 06 00:20:11 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Jan 06 08:34:01 2006 -0800"
      },
      "message": "[PATCH] make dm-mirror not issue invalid resync requests\n\nI\u0027ve been attempting to set up a (Host)RAID mirror with dm_mirror on\n2.6.14.3, and I\u0027ve been having a strange little problem.  The configuration\nin question is a set of 9GB SCSI disks that have 17942584 sectors.  I set\nup the dm_mirror table as such:\n\n0 17942528 mirror core 2 2048 nosync 2 8:48 0 8:64 0\n\nIf I\u0027m not mistaken, this sets up a 9GB RAID1 mriror with 1MB stripes\nacross both SCSI disks.  The sector count of the dm device is less than the\nsize of the disks, so we shouldn\u0027t fall off the end.  However, I always get\nthe messages like this in dmesg when I set up the dm table:\n\nattempt to access beyond end of device\nsdd: rw\u003d0, want\u003d17958656, limit\u003d17942584\n\nClearly, something is trying to read sectors past the end of the drive.  I\ntraced it down to the __rh_recovery_prepare function in dm-raid1.c, which\ngets called when we\u0027re putting the mirror set together.  This function\ncalls the dirty region log\u0027s get_resync_work function to see if there\u0027s any\nresync that needs to be done, and queues up any areas that are out of sync.\n The log\u0027s get_resync_work function is actually a pointer to the\ncore_get_resync_work function in dm-log.c.\n\nThe core_get_resync_work function queries a bitset lc-\u003esync_bits to find\nout if there are any regions that are out of date (i.e.  the bit is 0),\nwhich is where the problem occurs.  If every bit in lc-\u003esync_bits is 1\n(which is the case when we\u0027ve just configured a new RAID1 with the nosync\noption), the find_next_zero_bit does NOT return the size parameter\n(lc-\u003eregion_count in this case), it returns the size parameter rounded up\nto the nearest multiple of 32!  I don\u0027t know if this is intentional, but\ni386 and x86_64 both exhibit this behavior.\n\nIn any case, the statement \"if (*region \u003d\u003d lc-\u003eregion_count)\" looks like\nit\u0027s supposed to catch the case where are no regions to resync and\nreturn 0.  Since find_next_zero_bit apparently has a habit of returning\na value that\u0027s larger than lc-\u003eregion_count, the enclosed patch changes\nthe equality test to a greater-than test so that we don\u0027t try to resync\nareas outside of the RAID1 region.  Seeing as the HostRAID metadata\nlives just past the end of the RAID1 data, mucking around in that area\nis not a good idea.\n\nI suppose another way to fix this would be to amend find_next_zero_bit so\nthat it doesn\u0027t return values larger than \"size\", but I don\u0027t know if\nthere\u0027s a reason for the current behavior.\n\nSigned-Off-By: Darrick J. Wong \u003cdjwong@us.ibm.com\u003e\nAcked-by: Alasdair G Kergon \u003cagk@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "0e56822d30184d0da35a6ecc51f38c4ceb457a80",
      "tree": "a9ee18ce0e724f16dde3c5c97af67fb3a92701f7",
      "parents": [
        "c4cc66351a24da5feec298be2da59a85f68dd3ea"
      ],
      "author": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Mon Nov 21 21:32:34 2005 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Nov 22 09:14:31 2005 -0800"
      },
      "message": "[PATCH] device-mapper: mirror log bitset fix\n\nThe linux bitset operators (test_bit, set_bit etc) work on arrays of \"unsigned\nlong\".  dm-log uses such bitsets but treats them as arrays of uint32_t, only\nallocating and zeroing a multiple of 4 bytes (as \u0027clean_bits\u0027 is a uint32_t).\n\nThe patch below fixes this problem.\n\nThe problem is specific to 64-bit big endian machines such as s390x or ppc-64\nand can prevent pvmove terminating.\n\nIn the simplest case, if \"region_count\" were (say) 30, then\nbitset_size (below) would be 4 and bitset_uint32_count would be 1.\nThus the memory for this butset, after allocation and zeroing would\nbe\n   0 0 0 0 X X X X\nOn a bigendian 64bit machine, bit 0 for this bitset is in the 8th\nbyte! (and every bit that dm-log would use would be in the X area).\n\n   0 0 0 0 X X X X\n                 ^\n                 here\n\nwhich hasn\u0027t been cleared properly.\n\nAs the dm-raid1 code only syncs and counts regions which have a 0 in the\n\u0027sync_bits\u0027 bitset, and only finishes when it has counted high enough, a large\nnumber of 1\u0027s among those \u0027X\u0027s will cause the sync to not complete.\n\nIt is worth noting that the code uses the same bitsets for in-memory and\non-disk logs.  As these bitsets are host-endian and host-sized, this means\nthat they cannot safely be moved between computers with\n\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: Alasdair G Kergon \u003cagk@redhat.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"
    }
  ]
}
