)]}'
{
  "log": [
    {
      "commit": "31998ef19385c944600d9a981b96252f98204bee",
      "tree": "ab757b8d6e3d349cf42827354e594687dcf6c5c8",
      "parents": [
        "0447568fc51e0268e201f7086d2450cf986e0411"
      ],
      "author": {
        "name": "Mikulas Patocka",
        "email": "mpatocka@redhat.com",
        "time": "Wed Mar 28 18:41:26 2012 +0100"
      },
      "committer": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Wed Mar 28 18:41:26 2012 +0100"
      },
      "message": "dm: reject trailing characters in sccanf input\n\nDevice mapper uses sscanf to convert arguments to numbers. The problem is that\nthe way we use it ignores additional unmatched characters in the scanned string.\n\nFor example, this `if (sscanf(string, \"%d\", \u0026number) \u003d\u003d 1)\u0027 will match a number,\nbut also it will match number with some garbage appended, like \"123abc\".\n\nAs a result, device mapper accepts garbage after some numbers. For example\nthe command `dmsetup create vg1-new --table \"0 16384 linear 254:1bla 34816bla\"\u0027\nwill pass without an error.\n\nThis patch fixes all sscanf uses in device mapper. It appends \"%c\" with\na pointer to a dummy character variable to every sscanf statement.\n\nThe construct `if (sscanf(string, \"%d%c\", \u0026number, \u0026dummy) \u003d\u003d 1)\u0027 succeeds\nonly if string is a null-terminated number (optionally preceded by some\nwhitespace characters). If there is some character appended after the number,\nsscanf matches \"%c\", writes the character to the dummy variable and returns 2.\nWe check the return value for 1 and consequently reject numbers with some\ngarbage appended.\n\nSigned-off-by: Mikulas Patocka \u003cmpatocka@redhat.com\u003e\nAcked-by: Mike Snitzer \u003csnitzer@redhat.com\u003e\nSigned-off-by: Alasdair G Kergon \u003cagk@redhat.com\u003e\n"
    },
    {
      "commit": "4d4d66ab5322fa9b0f51842a76139387a40e1ce9",
      "tree": "37485e2fa56c38044c496ac5632e8304c5cc25db",
      "parents": [
        "f521f074abe7b3990f5df65482cdc3d851b80665"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Thu Jan 13 19:59:57 2011 +0000"
      },
      "committer": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Thu Jan 13 19:59:57 2011 +0000"
      },
      "message": "dm: convert workqueues to alloc_ordered\n\nConvert all create[_singlethread]_work() users to the new\nalloc[_ordered]_workqueue().  This conversion is mechanical and\ndoesn\u0027t introduce any behavior change.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nSigned-off-by: Mike Snitzer \u003csnitzer@redhat.com\u003e\nSigned-off-by: Alasdair G Kergon \u003cagk@redhat.com\u003e\n"
    },
    {
      "commit": "3fd5d48027181168ce85e8094b926aeb9f34c556",
      "tree": "740534f0992225e64b2874df296b6dff59111c0b",
      "parents": [
        "f8facb61b5095488a4d78fa78116ef4f4b82bc4d"
      ],
      "author": {
        "name": "Mike Snitzer",
        "email": "snitzer@redhat.com",
        "time": "Thu Aug 12 04:14:13 2010 +0100"
      },
      "committer": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Thu Aug 12 04:14:13 2010 +0100"
      },
      "message": "dm delay: support discard\n\nEnable discard support for the delay target.\n\nSigned-off-by: Mike Snitzer \u003csnitzer@redhat.com\u003e\nSigned-off-by: Alasdair G Kergon \u003cagk@redhat.com\u003e\n"
    },
    {
      "commit": "b441a262e7d1c56fbe21794c91d7a9c83809113f",
      "tree": "cc9acb2c3f7045ff513739fd81bba8a789d713b6",
      "parents": [
        "56a67df766039666f61fb15b079f713e44a735ae"
      ],
      "author": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Thu Aug 12 04:14:11 2010 +0100"
      },
      "committer": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Thu Aug 12 04:14:11 2010 +0100"
      },
      "message": "dm: use dm_target_offset macro\n\nUse new dm_target_offset() macro to avoid most references to ti-\u003ebegin\nin dm targets.\n\nSigned-off-by: Alasdair G Kergon \u003cagk@redhat.com\u003e\n"
    },
    {
      "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": "5dea271b6d87bd1d79a59c1d5baac2596a841c37",
      "tree": "c85bcee4f90729927285fc282c6df94bf18d023d",
      "parents": [
        "a732c207d19e899845ae47139708af898daaf9fd"
      ],
      "author": {
        "name": "Mike Snitzer",
        "email": "snitzer@redhat.com",
        "time": "Thu Jul 23 20:30:42 2009 +0100"
      },
      "committer": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Thu Jul 23 20:30:42 2009 +0100"
      },
      "message": "dm table: pass correct dev area size to device_area_is_valid\n\nIncorrect device area lengths are being passed to device_area_is_valid().\n\nThe regression appeared in 2.6.31-rc1 through commit\n754c5fc7ebb417b23601a6222a6005cc2e7f2913.\n\nWith the dm-stripe target, the size of the target (ti-\u003elen) was used\ninstead of the stripe_width (ti-\u003elen/#stripes).  An example of a\nconsequent incorrect error message is:\n\n  device-mapper: table: 254:0: sdb too small for target\n\nSigned-off-by: Mike Snitzer \u003csnitzer@redhat.com\u003e\nSigned-off-by: Alasdair G Kergon \u003cagk@redhat.com\u003e\n"
    },
    {
      "commit": "af4874e03ed82f050d5872d8c39ce64bf16b5c38",
      "tree": "38aa5dee43b4bb7a369995d4f38dee992cb051e0",
      "parents": [
        "1197764e403d97231eb6da2b1e16f511a7fd3101"
      ],
      "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 target:s introduce iterate devices fn\n\nAdd .iterate_devices to \u0027struct target_type\u0027 to allow a function to be\ncalled for all devices in a DM target.  Implemented it for all targets\nexcept those in dm-snap.c (origin and snapshot).\n\n(The raid1 version number jumps to 1.12 because we originally reserved\n1.1 to 1.11 for \u0027block_on_error\u0027 but ended up using \u0027handle_errors\u0027\ninstead.)\n\nSigned-off-by: Mike Snitzer \u003csnitzer@redhat.com\u003e\nSigned-off-by: Alasdair G Kergon \u003cagk@redhat.com\u003e\nCc: martin.petersen@oracle.com\n"
    },
    {
      "commit": "c927259e34e518d913d86f51c71b786a513f94d6",
      "tree": "0797e9e4689749ad70b6739f845374dc9c57c65d",
      "parents": [
        "647c7db14ef9cacc4ccb3683e206b61f0de6dc2b"
      ],
      "author": {
        "name": "Mikulas Patocka",
        "email": "mpatocka@redhat.com",
        "time": "Mon Jun 22 10:12:23 2009 +0100"
      },
      "committer": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Mon Jun 22 10:12:23 2009 +0100"
      },
      "message": "dm delay: support barriers\n\nFlush support for dm-delay target.\n\nSigned-off-by: Mikulas Patocka \u003cmpatocka@redhat.com\u003e\nSigned-off-by: Alasdair G Kergon \u003cagk@redhat.com\u003e\n"
    },
    {
      "commit": "8f3d8ba20e67991b531e9c0227dcd1f99271a32c",
      "tree": "337efd46f067ce3b7eeab0c3627b02a7edef4afd",
      "parents": [
        "0882e8dd3aad33eca41696d463bb896e6c8817eb"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Tue Apr 07 19:55:13 2009 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Wed Apr 15 08:28:09 2009 +0200"
      },
      "message": "block: move bio list helpers into bio.h\n\nIt\u0027s used by DM and MD and generally useful, so move the bio list\nhelpers into bio.h.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nAcked-by: Alasdair G Kergon \u003cagk@redhat.com\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "10d3bd09a3c25df114f74f7f86e1b58d070bef32",
      "tree": "a44e2fe5ccc5950b87a1d31849e5f0ac24fdcc16",
      "parents": [
        "d460c65a6a9ec9e0d284864ec3a9a2d1b73f0e43"
      ],
      "author": {
        "name": "Mikulas Patocka",
        "email": "mpatocka@redhat.com",
        "time": "Tue Jan 06 03:04:58 2009 +0000"
      },
      "committer": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Tue Jan 06 03:04:58 2009 +0000"
      },
      "message": "dm: consolidate target deregistration error handling\n\nChange dm_unregister_target to return void and use BUG() for error\nreporting.\n\ndm_unregister_target can only fail because of programming bug in the\ntarget driver. It can\u0027t fail because of user\u0027s behavior or disk errors.\n\nThis patch changes unregister_target to return void and use BUG if\nsomeone tries to unregister non-registered target or unregister target\nthat is in use.\n\nThis patch removes code duplication (testing of error codes in all dm\ntargets) and reports bugs in just one place, in dm_unregister_target. In\nsome target drivers, these return codes were ignored, which could lead\nto a situation where bugs could be missed.\n\nSigned-off-by: Mikulas Patocka \u003cmpatocka@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": "051814c69fac92f1964739c0cf08b5e3b1156b04",
      "tree": "5a279c06d13f5d953119d89bdcbd9b5f616c8a00",
      "parents": [
        "bb56acf840600421e68f49bb037d1c659fcb37f8"
      ],
      "author": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Fri Oct 19 22:38:55 2007 +0100"
      },
      "committer": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Sat Oct 20 02:01:11 2007 +0100"
      },
      "message": "dm: bio_list macro renaming\n\nRemove BIO_LIST and DEFINE_BIO_LIST macros that gain us nothing\nsince contents are initialised to NULL.\n\nCc: Jan Engelhardt \u003cjengelh@linux01.gwdg.de\u003e\nSigned-off-by: Alasdair G Kergon \u003cagk@redhat.com\u003e\n"
    },
    {
      "commit": "79662d1ea37392651f2cff08626cab6a40ba3adc",
      "tree": "fb029c530e9223f7577607d08e3fd692ed8b2e24",
      "parents": [
        "2e64a0f92830791f160274c46aef3678fabcf044"
      ],
      "author": {
        "name": "Milan Broz",
        "email": "mbroz@redhat.com",
        "time": "Fri Oct 19 22:38:42 2007 +0100"
      },
      "committer": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Sat Oct 20 02:01:04 2007 +0100"
      },
      "message": "dm delay: fix status\n\nFix missing space in dm-delay target status output\nif separate read and write delay are configured.\n\nSigned-off-by: Milan Broz \u003cmbroz@redhat.com\u003e\nSigned-off-by: Alasdair G Kergon \u003cagk@redhat.com\u003e\n"
    },
    {
      "commit": "2e64a0f92830791f160274c46aef3678fabcf044",
      "tree": "9ca6464cf43743f8651c7e3303401188fc6cf6f6",
      "parents": [
        "a72cf737e09da409e047863e38410930dae5fe05"
      ],
      "author": {
        "name": "Dmitry Monakhov",
        "email": "dmonakhov@openvz.org",
        "time": "Fri Oct 19 22:38:41 2007 +0100"
      },
      "committer": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Sat Oct 20 02:01:02 2007 +0100"
      },
      "message": "dm delay: fix ctr error paths\n\nAdd missing \u0027dm_put_device\u0027 to dm-delay target constructor.\n\nSigned-off-by: Dmitry Monakhov \u003cdmonakhov@openvz.org\u003e\nSigned-off-by: Milan Broz \u003cmbroz@redhat.com\u003e\nSigned-off-by: Alasdair G Kergon \u003cagk@redhat.com\u003e\n"
    },
    {
      "commit": "ac818646d4be79123ad8dc5f1c4da8575d4960f8",
      "tree": "7efa3bb2f34998a0cad96fad1f355bf0c12b474b",
      "parents": [
        "028867ac28e51afc834a5931e7545c022557eded"
      ],
      "author": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Thu Jul 12 17:26:47 2007 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Jul 12 15:01:08 2007 -0700"
      },
      "message": "dm delay: cleanup\n\nUse setup_timer().\nReplace semaphore with mutex.\n\nSigned-off-by: Alasdair G Kergon \u003cagk@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "028867ac28e51afc834a5931e7545c022557eded",
      "tree": "0a268776ac68f26c86a28416b35a60ab54e3fb94",
      "parents": [
        "79e15ae424afa0a40b1a0c4478046d6ba0b71e20"
      ],
      "author": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Thu Jul 12 17:26:32 2007 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Jul 12 15:01:08 2007 -0700"
      },
      "message": "dm: use kmem_cache macro\n\nUse new KMEM_CACHE() macro and make the newly-exposed structure names more\nmeaningful.  Also remove some superfluous casts and inlines (let a modern\ncompiler be the judge).\n\nAcked-by: Christoph Lameter \u003cclameter@sgi.com\u003e\nSigned-off-by: Alasdair G Kergon \u003cagk@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "26b9f228703f0518a90e7513d6fe7b6abeed5138",
      "tree": "3437e92667c338ea46ad47b064ce4908d7d75fe2",
      "parents": [
        "0ba699347e96b5468b42b3decf1f381abbf99652"
      ],
      "author": {
        "name": "Heinz Mauelshagen",
        "email": "mauelshagen@redhat.com",
        "time": "Wed May 09 02:33:06 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed May 09 12:30:47 2007 -0700"
      },
      "message": "dm: delay target\n\nNew device-mapper target that can delay I/O (for testing).  Reads can be\nseparated from writes, redirected to different underlying devices and delayed\nby differing amounts of time.\n\nSigned-off-by: Heinz Mauelshagen \u003cmauelshagen@redhat.com\u003e\nSigned-off-by: 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"
    }
  ]
}
