)]}'
{
  "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": "056075c76417b112b4924e7b6386fdc6dfc9ac03",
      "tree": "7326cbdb0f54f975b140e548bd4f4d6f4b3486cc",
      "parents": [
        "ec37d321b96621906337c4279c490e1b5893ecae"
      ],
      "author": {
        "name": "Paul Gortmaker",
        "email": "paul.gortmaker@windriver.com",
        "time": "Sun Jul 03 13:58:33 2011 -0400"
      },
      "committer": {
        "name": "Paul Gortmaker",
        "email": "paul.gortmaker@windriver.com",
        "time": "Mon Oct 31 19:31:18 2011 -0400"
      },
      "message": "md: Add module.h to all files using it implicitly\n\nA pending cleanup will mean that module.h won\u0027t be implicitly\neverywhere anymore.  Make sure the modular drivers in md dir\nare actually calling out for \u003cmodule.h\u003e explicitly in advance.\n\nSigned-off-by: Paul Gortmaker \u003cpaul.gortmaker@windriver.com\u003e\n"
    },
    {
      "commit": "02ab823fd1a27d193bda06b74fdad685a20a3e5e",
      "tree": "04b3db6e494f483fef34a55e487e88f6d7c585a5",
      "parents": [
        "2bd023452592e5f5cf90dd426cc39b7632b15b76"
      ],
      "author": {
        "name": "Kiyoshi Ueda",
        "email": "k-ueda@ct.jp.nec.com",
        "time": "Mon Jun 22 10:12:27 2009 +0100"
      },
      "committer": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Mon Jun 22 10:12:27 2009 +0100"
      },
      "message": "dm mpath: add start_io and nr_bytes to path selectors\n\nThis patch makes two additions to the dm path selector interface for\ndynamic load balancers:\n  o a new hook, start_io()\n  o a new parameter \u0027nr_bytes\u0027 to select_path()/start_io()/end_io()\n    to pass the size of the I/O\n\nstart_io() is called when a target driver actually submits I/O\nto the selected path.\nPath selectors can use it to start accounting of the I/O.\n(e.g. counting the number of in-flight I/Os.)\nThe start_io hook is based on the patch posted by Stefan Bader:\nhttps://www.redhat.com/archives/dm-devel/2005-October/msg00050.html\n\nnr_bytes, the size of the I/O, is so path selectors can take the\nsize of the I/O into account when deciding which path to use.\ndm-service-time uses it to estimate service time, for example.\n(Added the nr_bytes member to dm_mpath_io instead of using existing\n details.bi_size, since request-based dm patch deletes it.)\n\nSigned-off-by: Stefan Bader \u003cstefan.bader@canonical.com\u003e\nSigned-off-by: Kiyoshi Ueda \u003ck-ueda@ct.jp.nec.com\u003e\nSigned-off-by: Jun\u0027ichi Nomura \u003cj-nomura@ce.jp.nec.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": "0cd3312434cd1f29bee6bff53bf2790d733ad2a2",
      "tree": "fc833f871f1b4d320ee5ab365a3efb3e03b278db",
      "parents": [
        "ac818646d4be79123ad8dc5f1c4da8575d4960f8"
      ],
      "author": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Thu Jul 12 17:27:01 2007 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Jul 12 15:01:08 2007 -0700"
      },
      "message": "dm: remove duplicate module name from error msgs\n\nRemove explicit module name from messages as the macro now includes it\nautomatically.\n\nSigned-off-by: Alasdair G Kergon \u003cagk@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "c922d5f7f5457da9e9b5a26dd53e2dcef6ca2f7d",
      "tree": "15e0e7435f428e87662978d23c2567013e56b681",
      "parents": [
        "fec6d055da71fb02a76f9c2c12427fa79974018b"
      ],
      "author": {
        "name": "Josef \"Jeff\" Sipek",
        "email": "jsipek@cs.sunysb.edu",
        "time": "Fri Dec 08 02:36:33 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Fri Dec 08 08:28:40 2006 -0800"
      },
      "message": "[PATCH] struct path: rename DM\u0027s struct path\n\nRename DM\u0027s struct path to struct dm_path to prevent name collision between it\nand struct path from fs/namei.c.\n\nSigned-off-by: Josef \"Jeff\" Sipek \u003cjsipek@cs.sunysb.edu\u003e\nAcked-by: Alasdair G Kergon \u003cagk@redhat.com\u003e\nCc: \u003creiserfs-dev@namesys.com\u003e\nCc: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "5d55fdf94998db1df9ee7f1def8806bfd0e5ff73",
      "tree": "55a1bf7e05a9b319ca0ab5a95a72df6b929147f8",
      "parents": [
        "d287483d6d7a2d5b313aee155285f89b57d9cd4a"
      ],
      "author": {
        "name": "Jonathan E Brassow",
        "email": "jbrassow@redhat.com",
        "time": "Wed Nov 08 17:44:43 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Nov 08 18:29:23 2006 -0800"
      },
      "message": "[PATCH] dm: multipath: fix rr_add_path order\n\nWhen adding paths to the round-robin path selector, their order gets inverted,\nwhich is not desirable.\n\nFix by replacing list_add() with list_add_tail().\n\nSigned-off-by: Jonathan E Brassow \u003cjbrassow@redhat.com\u003e\nSigned-off-by: Alasdair G Kergon \u003cagk@redhat.com\u003e\nCc: \u003cdm-devel@redhat.com\u003e\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": "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"
    }
  ]
}
