)]}'
{
  "log": [
    {
      "commit": "feddbb34ebd75e9b6bf573b852079e327a88c07a",
      "tree": "99b11dc996e6ce633c332a165a073e76cb05601c",
      "parents": [
        "3627924acf70a9a26587712e4888ee7144489678"
      ],
      "author": {
        "name": "Artem Bityutskiy",
        "email": "Artem.Bityutskiy@nokia.com",
        "time": "Mon Mar 28 10:12:25 2011 +0300"
      },
      "committer": {
        "name": "Artem Bityutskiy",
        "email": "Artem.Bityutskiy@nokia.com",
        "time": "Thu Apr 14 11:34:41 2011 +0300"
      },
      "message": "UBI: fix minor stylistic issues\n\nFix checkpatch.pl errors and warnings:\n\n* space before tab\n* line over 80 characters\n* include linux/ioctl.h instead of asm/ioctl.h\n\nSigned-off-by: Artem Bityutskiy \u003cArtem.Bityutskiy@nokia.com\u003e\n"
    },
    {
      "commit": "3627924acf70a9a26587712e4888ee7144489678",
      "tree": "1804290f2659105b2bd00e4d31f677f43f7d0dc1",
      "parents": [
        "e8e088de305d7cc00b2c8b2a857ceb62d5fa68d3"
      ],
      "author": {
        "name": "Artem Bityutskiy",
        "email": "Artem.Bityutskiy@nokia.com",
        "time": "Mon Mar 28 10:04:09 2011 +0300"
      },
      "committer": {
        "name": "Artem Bityutskiy",
        "email": "Artem.Bityutskiy@nokia.com",
        "time": "Thu Apr 14 11:34:41 2011 +0300"
      },
      "message": "UBI: use __packed instead of __attribute__((packed))\n\nThere was an attempt to standartize various \"__attribute__\" and\nother macros in order to have potentially portable and more\nconsistent code, see commit 82ddcb040570411fc2d421d96b3e69711c670328.\n\nNote, that commit refers Rober Love\u0027s blog post, but the URL\nis broken, the valid URL is:\nhttp://blog.rlove.org/2005/10/with-little-help-from-your-compiler.html\n\nMoreover, nowadays checkpatch.pl warns about using\n__attribute__((packed)):\n\n\"WARNING: __packed is preferred over __attribute__((packed))\"\n\nIt is not a big deal for UBI to use __packed, so let\u0027s do it.\n\nSigned-off-by: Artem Bityutskiy \u003cArtem.Bityutskiy@nokia.com\u003e\n"
    },
    {
      "commit": "e8e088de305d7cc00b2c8b2a857ceb62d5fa68d3",
      "tree": "740b455702ba546c92f4ce0eafb4020777e81326",
      "parents": [
        "6748482f4153fc0e095aa3dc831d5edac5656a80"
      ],
      "author": {
        "name": "Artem Bityutskiy",
        "email": "Artem.Bityutskiy@nokia.com",
        "time": "Tue Mar 15 16:37:57 2011 +0200"
      },
      "committer": {
        "name": "Artem Bityutskiy",
        "email": "Artem.Bityutskiy@nokia.com",
        "time": "Thu Apr 14 11:34:40 2011 +0300"
      },
      "message": "UBI: cleanup comments around volume properties\n\nCleanup and improve commentaries around the \"set volume properties\" ioctl,\nmake a simple indentation fix as well.\n\nSigned-off-by: Artem Bityutskiy \u003cArtem.Bityutskiy@nokia.com\u003e\n"
    },
    {
      "commit": "6748482f4153fc0e095aa3dc831d5edac5656a80",
      "tree": "7b1a276c26ac3b4171d56100e059d693a9963be3",
      "parents": [
        "e10b376e98332edcc2530aaed384a7e248477052"
      ],
      "author": {
        "name": "Artem Bityutskiy",
        "email": "Artem.Bityutskiy@nokia.com",
        "time": "Tue Mar 15 16:25:38 2011 +0200"
      },
      "committer": {
        "name": "Artem Bityutskiy",
        "email": "Artem.Bityutskiy@nokia.com",
        "time": "Thu Apr 14 11:34:40 2011 +0300"
      },
      "message": "UBI: re-name set volume properties ioctl\n\nRename the ioctl which sets volume properties from \u0027UBI_IOCSETPROP\u0027 to\n\u0027UBI_IOCSETVOLPROP\u0027 to reflect the fact that this ioctl is about volume\nproperties, not device properties. This is also consistent with the\nother volume ioctl name - \u0027UBI_IOCVOLUP\u0027.\n\nThe main motivation for the re-name, however, is that we are going\nto introduce the per-UBI device \"set properties\" ioctl, so we need\ngood and logical naming.\n\nAt the same time, re-name the \"set volume properties request\" data\nstructure from \u0027struct ubi_set_prop_req\u0027 to\n\u0027struct ubi_set_vol_prop_req\u0027.\n\nAnd re-name \u0027UBI_PROP_DIRECT_WRITE\u0027 to \u0027UBI_VOL_PROP_DIRECT_WRITE\u0027.\n\nSigned-off-by: Artem Bityutskiy \u003cArtem.Bityutskiy@nokia.com\u003e\n"
    },
    {
      "commit": "a1452a3771c4eb85bd779790b040efdc36f4274e",
      "tree": "a0fc935c63a4705dc012be3f795fd6be70ba850c",
      "parents": [
        "6088c0587706b2cf21ce50c11576718bff5fae0c"
      ],
      "author": {
        "name": "David Woodhouse",
        "email": "David.Woodhouse@intel.com",
        "time": "Sun Aug 08 20:58:20 2010 +0100"
      },
      "committer": {
        "name": "David Woodhouse",
        "email": "David.Woodhouse@intel.com",
        "time": "Sun Aug 08 20:58:20 2010 +0100"
      },
      "message": "mtd: Update copyright notices\n\nSigned-off-by: David Woodhouse \u003cdwmw2@infradead.org\u003e\n"
    },
    {
      "commit": "ccef7ab534347e2e1e1ef398d2ec987d37e519f3",
      "tree": "1f74e2abb5ad84725e3eb52ac3320ffda480f281",
      "parents": [
        "9adfbfb611307060db54691bc7e6d53fdc12312b"
      ],
      "author": {
        "name": "Arnd Bergmann",
        "email": "arnd@arndb.de",
        "time": "Thu Feb 26 00:51:41 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Mar 26 18:14:17 2009 +0100"
      },
      "message": "make MTD headers use strict integer types\n\nThe MTD headers traditionally use stdint types rather than\nthe kernel integer types. This converts them to do the\nsame as all the others.\n\nCc: David Woodhouse \u003cdwmw2@infradead.org\u003e\nSigned-off-by: Arnd Bergmann \u003carnd@arndb.de\u003e\nSigned-off-by: H. Peter Anvin \u003chpa@linux.intel.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "766fb95ba06e1bbf531d30dc05e21b2d4a0e8dd2",
      "tree": "a7041e919ca5f6d5460b7d7ecfb27e08b9119236",
      "parents": [
        "36b477d005fbda29e7581c3cef7ee31a59d8970b"
      ],
      "author": {
        "name": "Sidney Amani",
        "email": "seed@uffs.org",
        "time": "Tue Jan 27 10:11:46 2009 +0100"
      },
      "committer": {
        "name": "Artem Bityutskiy",
        "email": "Artem.Bityutskiy@nokia.com",
        "time": "Tue Jan 27 16:54:41 2009 +0200"
      },
      "message": "UBI: allow direct user-space I/O\n\nIntroduce a new ioctl UBI_IOCSETPROP to set properties\non a volume. Also add the first property:\nUBI_PROP_DIRECT_WRITE, this property is used to set the\nability to use direct writes in userspace\n\nSigned-off-by: Sidney Amani \u003cseed@uffs.org\u003e\nSigned-off-by: Corentin Chary \u003ccorentincj@iksaif.net\u003e\nSigned-off-by: Artem Bityutskiy \u003cArtem.Bityutskiy@nokia.com\u003e\n"
    },
    {
      "commit": "f7fc6f3f33703e3365c0ef9d4bf322b88cc9dae7",
      "tree": "ad54a4c4fc8b480559f2d8600d4724384b0fb77f",
      "parents": [
        "a27ce8f55dd5fddf0b8ea179cce8f399c13dc94f"
      ],
      "author": {
        "name": "Artem Bityutskiy",
        "email": "Artem.Bityutskiy@nokia.com",
        "time": "Wed Jan 07 16:10:58 2009 +0200"
      },
      "committer": {
        "name": "Artem Bityutskiy",
        "email": "Artem.Bityutskiy@nokia.com",
        "time": "Sun Jan 18 14:02:08 2009 +0200"
      },
      "message": "UBI: improve ioctl commentaries\n\nSigned-off-by: Artem Bityutskiy \u003cArtem.Bityutskiy@nokia.com\u003e\n"
    },
    {
      "commit": "a27ce8f55dd5fddf0b8ea179cce8f399c13dc94f",
      "tree": "ce20328f8c29c8ba98446799aeb8412056dcef71",
      "parents": [
        "c3da23be1673be4e738aea235604b4e6cb259655"
      ],
      "author": {
        "name": "Corentin Chary",
        "email": "corentincj@iksaif.net",
        "time": "Mon Jan 05 14:48:59 2009 +0100"
      },
      "committer": {
        "name": "Artem Bityutskiy",
        "email": "Artem.Bityutskiy@nokia.com",
        "time": "Sun Jan 18 14:02:08 2009 +0200"
      },
      "message": "UBI: add ioctl for is_mapped operation\n\nThis patch adds ioctl to check if an LEB is mapped or not (as a\ndebugging option so far).\n\n[Re-named ioctl to make it look the same as the other one and made\n some minor stylistic changes. Artem Bityutskiy.]\n\nSigned-off-by: Corentin Chary \u003ccorentincj@iksaif.net\u003e\nSigned-off-by: Artem Bityutskiy \u003cArtem.Bityutskiy@nokia.com\u003e\n"
    },
    {
      "commit": "c3da23be1673be4e738aea235604b4e6cb259655",
      "tree": "876a7f8625e2c733bd87f58f1980e9b40031f8a0",
      "parents": [
        "141e6ebd1b1759bd5cebf092b7216b6f1c7b4c4f"
      ],
      "author": {
        "name": "Corentin Chary",
        "email": "corentincj@iksaif.net",
        "time": "Mon Jan 05 14:46:19 2009 +0100"
      },
      "committer": {
        "name": "Artem Bityutskiy",
        "email": "Artem.Bityutskiy@nokia.com",
        "time": "Sun Jan 18 14:02:08 2009 +0200"
      },
      "message": "UBI: add ioctl for unmap operation\n\nThis patch adds ioctl for the LEB unmap operation (as a debugging\noption so far).\n\n[Re-named ioctl to make it look the same as the other one and made\n some minor stylistic changes. Artem Bityutskiy.]\n\nSigned-off-by: Corentin Chary \u003ccorentincj@iksaif.net\u003e\nSigned-off-by: Artem Bityutskiy \u003cArtem.Bityutskiy@nokia.com\u003e\n"
    },
    {
      "commit": "141e6ebd1b1759bd5cebf092b7216b6f1c7b4c4f",
      "tree": "91b66f4b4d54fdb07084f8f5ee21c00491fe754b",
      "parents": [
        "1de9e8e70f5acc441550ca75433563d91b269bbe"
      ],
      "author": {
        "name": "Corentin Chary",
        "email": "corentincj@iksaif.net",
        "time": "Mon Jan 05 14:44:11 2009 +0100"
      },
      "committer": {
        "name": "Artem Bityutskiy",
        "email": "Artem.Bityutskiy@nokia.com",
        "time": "Sun Jan 18 14:02:08 2009 +0200"
      },
      "message": "UBI: add ioctl for map operation\n\nThis patch adds ioctl for the LEB map operation (as a debugging\noption so far).\n\n[Re-named ioctl to make it look the same as the other one and made\n some minor stylistic changes. Artem Bityutskiy.]\n\nSigned-off-by: Corentin Chary \u003ccorentincj@iksaif.net\u003e\nSigned-off-by: Artem Bityutskiy \u003cArtem.Bityutskiy@nokia.com\u003e\n"
    },
    {
      "commit": "025dfdafe77f20b3890981a394774baab7b9c827",
      "tree": "c4d514990d7a0673df5d32aa11fded95f9644ff0",
      "parents": [
        "0abb8b6a939b742f273edc68b64dba26c57331bc"
      ],
      "author": {
        "name": "Frederik Schwarzer",
        "email": "schwarzerf@gmail.com",
        "time": "Thu Oct 16 19:02:37 2008 +0200"
      },
      "committer": {
        "name": "Jiri Kosina",
        "email": "jkosina@suse.cz",
        "time": "Tue Jan 06 11:28:06 2009 +0100"
      },
      "message": "trivial: fix then -\u003e than typos in comments and documentation\n\n- (better, more, bigger ...) then -\u003e (...) than\n\nSigned-off-by: Frederik Schwarzer \u003cschwarzerf@gmail.com\u003e\nSigned-off-by: Jiri Kosina \u003cjkosina@suse.cz\u003e\n"
    },
    {
      "commit": "9c9ec147709e63e4e8ac6a037c6bb50688ff8e9c",
      "tree": "d66805c819ffa2ae42bf5743ac77f077c903ad19",
      "parents": [
        "4d88de4beb6f327dfc7c2221eab532dad5b2bb3e"
      ],
      "author": {
        "name": "Artem Bityutskiy",
        "email": "Artem.Bityutskiy@nokia.com",
        "time": "Fri Jul 18 13:19:52 2008 +0300"
      },
      "committer": {
        "name": "Artem Bityutskiy",
        "email": "Artem.Bityutskiy@nokia.com",
        "time": "Thu Jul 24 13:36:09 2008 +0300"
      },
      "message": "UBI: fix checkpatch.pl errors and warnings\n\nJust out or curiousity ran checkpatch.pl for whole UBI,\nand discovered there are quite a few of stylistic issues.\nFix them.\n\nSigned-off-by: Artem Bityutskiy \u003cArtem.Bityutskiy@nokia.com\u003e\n"
    },
    {
      "commit": "f40ac9cdf6991287f19bdafe9b0752ee40137908",
      "tree": "a49120d5be3729feaa40880962f29e3679c1800e",
      "parents": [
        "c8566350a3229ca505b84313c65d1403b4d0cbfc"
      ],
      "author": {
        "name": "Artem Bityutskiy",
        "email": "Artem.Bityutskiy@nokia.com",
        "time": "Sun Jul 13 21:47:47 2008 +0300"
      },
      "committer": {
        "name": "Artem Bityutskiy",
        "email": "Artem.Bityutskiy@nokia.com",
        "time": "Thu Jul 24 13:34:46 2008 +0300"
      },
      "message": "UBI: implement multiple volumes rename\n\nQuite useful ioctl which allows to make atomic system upgrades.\nThe idea belongs to Richard Titmuss \u003crichard_titmuss@logitech.com\u003e\n\nSigned-off-by: Artem Bityutskiy \u003cArtem.Bityutskiy@nokia.com\u003e\n"
    },
    {
      "commit": "866136827b9a71c39dcb06d23ce523f719eab74b",
      "tree": "4ec353d1c0b4ad8bc43ea9f692268c654ba79f63",
      "parents": [
        "60c031531a85b3580f66c2530f9b2802adcad4df"
      ],
      "author": {
        "name": "Artem Bityutskiy",
        "email": "Artem.Bityutskiy@nokia.com",
        "time": "Thu Jan 24 16:15:14 2008 +0200"
      },
      "committer": {
        "name": "Artem Bityutskiy",
        "email": "Artem.Bityutskiy@nokia.com",
        "time": "Fri Jan 25 16:41:25 2008 +0200"
      },
      "message": "UBI: introduce atomic LEB change ioctl\n\nWe have to be able to change individual LEBs for utilities like\nubifsck, ubifstune. For example, ubifsck has to be able to fix\nerrors on the media, ubifstune has to be able to change the\nthe superblock, hence this ioctl.\n\nSigned-off-by: Artem Bityutskiy \u003cArtem.Bityutskiy@nokia.com\u003e\n"
    },
    {
      "commit": "9b79cc0f84edecceb04b806b9014fcec1306c34d",
      "tree": "badf70fe3267064b11d2673ad724a6bd038671cb",
      "parents": [
        "dd38fccfbc77e12417512c38508a5283ea79a375"
      ],
      "author": {
        "name": "Artem Bityutskiy",
        "email": "Artem.Bityutskiy@nokia.com",
        "time": "Tue Dec 18 18:22:16 2007 +0200"
      },
      "committer": {
        "name": "Artem Bityutskiy",
        "email": "Artem.Bityutskiy@nokia.com",
        "time": "Wed Dec 26 19:15:17 2007 +0200"
      },
      "message": "UBI: introduce attach ioctls\n\nSigned-off-by: Artem Bityutskiy \u003cArtem.Bityutskiy@nokia.com\u003e\n"
    },
    {
      "commit": "801c135ce73d5df1caf3eca35b66a10824ae0707",
      "tree": "eaf6e7859650557192533b70746479de686c56e1",
      "parents": [
        "de46c33745f5e2ad594c72f2cf5f490861b16ce1"
      ],
      "author": {
        "name": "Artem B. Bityutskiy",
        "email": "dedekind@linutronix.de",
        "time": "Tue Jun 27 12:22:22 2006 +0400"
      },
      "committer": {
        "name": "Frank Haverkamp",
        "email": "haver@vnet.ibm.com",
        "time": "Fri Apr 27 14:23:33 2007 +0300"
      },
      "message": "UBI: Unsorted Block Images\n\nUBI (Latin: \"where?\") manages multiple logical volumes on a single\nflash device, specifically supporting NAND flash devices. UBI provides\na flexible partitioning concept which still allows for wear-levelling\nacross the whole flash device.\n\nIn a sense, UBI may be compared to the Logical Volume Manager\n(LVM). Whereas LVM maps logical sector numbers to physical HDD sector\nnumbers, UBI maps logical eraseblocks to physical eraseblocks.\n\nMore information may be found at\nhttp://www.linux-mtd.infradead.org/doc/ubi.html\n\nPartitioning/Re-partitioning\n\n  An UBI volume occupies a certain number of erase blocks. This is\n  limited by a configured maximum volume size, which could also be\n  viewed as the partition size. Each individual UBI volume\u0027s size can\n  be changed independently of the other UBI volumes, provided that the\n  sum of all volume sizes doesn\u0027t exceed a certain limit.\n\n  UBI supports dynamic volumes and static volumes. Static volumes are\n  read-only and their contents are protected by CRC check sums.\n\nBad eraseblocks handling\n\n  UBI transparently handles bad eraseblocks. When a physical\n  eraseblock becomes bad, it is substituted by a good physical\n  eraseblock, and the user does not even notice this.\n\nScrubbing\n\n  On a NAND flash bit flips can occur on any write operation,\n  sometimes also on read. If bit flips persist on the device, at first\n  they can still be corrected by ECC, but once they accumulate,\n  correction will become impossible. Thus it is best to actively scrub\n  the affected eraseblock, by first copying it to a free eraseblock\n  and then erasing the original. The UBI layer performs this type of\n  scrubbing under the covers, transparently to the UBI volume users.\n\nErase Counts\n\n  UBI maintains an erase count header per eraseblock. This frees\n  higher-level layers (like file systems) from doing this and allows\n  for centralized erase count management instead. The erase counts are\n  used by the wear-levelling algorithm in the UBI layer. The algorithm\n  itself is exchangeable.\n\nBooting from NAND\n\n  For booting directly from NAND flash the hardware must at least be\n  capable of fetching and executing a small portion of the NAND\n  flash. Some NAND flash controllers have this kind of support. They\n  usually limit the window to a few kilobytes in erase block 0. This\n  \"initial program loader\" (IPL) must then contain sufficient logic to\n  load and execute the next boot phase.\n\n  Due to bad eraseblocks, which may be randomly scattered over the\n  flash device, it is problematic to store the \"secondary program\n  loader\" (SPL) statically. Also, due to bit-flips it may become\n  corrupted over time. UBI allows to solve this problem gracefully by\n  storing the SPL in a small static UBI volume.\n\nUBI volumes vs. static partitions\n\n  UBI volumes are still very similar to static MTD partitions:\n\n    * both consist of eraseblocks (logical eraseblocks in case of UBI\n      volumes, and physical eraseblocks in case of static partitions;\n    * both support three basic operations - read, write, erase.\n\n  But UBI volumes have the following advantages over traditional\n  static MTD partitions:\n\n    * there are no eraseblock wear-leveling constraints in case of UBI\n      volumes, so the user should not care about this;\n    * there are no bit-flips and bad eraseblocks in case of UBI volumes.\n\n  So, UBI volumes may be considered as flash devices with relaxed\n  restrictions.\n\nWhere can it be found?\n\n  Documentation, kernel code and applications can be found in the MTD\n  gits.\n\nWhat are the applications for?\n\n  The applications help to create binary flash images for two purposes: pfi\n  files (partial flash images) for in-system update of UBI volumes, and plain\n  binary images, with or without OOB data in case of NAND, for a manufacturing\n  step. Furthermore some tools are/and will be created that allow flash content\n  analysis after a system has crashed..\n\nWho did UBI?\n\n  The original ideas, where UBI is based on, were developed by Andreas\n  Arnez, Frank Haverkamp and Thomas Gleixner. Josh W. Boyer and some others\n  were involved too. The implementation of the kernel layer was done by Artem\n  B. Bityutskiy. The user-space applications and tools were written by Oliver\n  Lohmann with contributions from Frank Haverkamp, Andreas Arnez, and Artem.\n  Joern Engel contributed a patch which modifies JFFS2 so that it can be run on\n  a UBI volume. Thomas Gleixner did modifications to the NAND layer. Alexander\n  Schmidt made some testing work as well as core functionality improvements.\n\nSigned-off-by: Artem B. Bityutskiy \u003cdedekind@linutronix.de\u003e\nSigned-off-by: Frank Haverkamp \u003chaver@vnet.ibm.com\u003e\n"
    }
  ]
}
