)]}'
{
  "log": [
    {
      "commit": "a494d30ab1ae40cb7665680cadf5af3ca3830a73",
      "tree": "674be7e044838579d587911a31dad9b8b2fb0692",
      "parents": [
        "4a95eddcd1d599eb0d61677dab0e879e5ea51e78"
      ],
      "author": {
        "name": "Kirill Smirnov",
        "email": "kirill.k.smirnov@gmail.com",
        "time": "Thu Oct 01 04:19:35 2015 +0300"
      },
      "committer": {
        "name": "Brian Norris",
        "email": "computersforpeace@gmail.com",
        "time": "Thu Oct 01 10:04:03 2015 -0700"
      },
      "message": "mtd-utils: serve_image: use proper POSIX_C_SOURCE value\n\nstruct addrinfo and friends conform to POSIX.1-2001, not earlier.\nThis patch fixes linking against latest glibc 2.22\n\nSigned-off-by: Kirill Smirnov \u003ckirill.k.smirnov@gmail.com\u003e\nSigned-off-by: Brian Norris \u003ccomputersforpeace@gmail.com\u003e\n"
    },
    {
      "commit": "4a95eddcd1d599eb0d61677dab0e879e5ea51e78",
      "tree": "15f2c1868586eb670efb585ac8525e5ab025cacd",
      "parents": [
        "5f50207231414bfdbac8f0f974a2824f24177d6e"
      ],
      "author": {
        "name": "Paul McGougan",
        "email": "PMcGougan@topcon.com",
        "time": "Thu Apr 17 05:09:26 2014 +0000"
      },
      "committer": {
        "name": "Brian Norris",
        "email": "computersforpeace@gmail.com",
        "time": "Tue Sep 29 15:48:32 2015 -0700"
      },
      "message": "mtd: tests: Fix endian issue with CRC generation algorithm\n\nThe calculation of the CRC in /tests/checkfs/makefiles.c was writing the CRC\nInto the produced files in host byte-order which would cause CRC validation\nto fail on big-endian systems as the validation is performed bytewise.\n\nSigned-off-by: Paul McGougan \u003cpmcgougan AT topcon.com\u003e\n[Brian: add endian.h]\nSigned-off-by: Brian Norris \u003ccomputersforpeace@gmail.com\u003e\n"
    },
    {
      "commit": "5f50207231414bfdbac8f0f974a2824f24177d6e",
      "tree": "9ddf56e7134f1a113a5e42e62db5457d1b8320de",
      "parents": [
        "b5ac34c5cc3c345e51ff12eca0fafd2ca1add3a0"
      ],
      "author": {
        "name": "Enrico Jorns",
        "email": "ejo@pengutronix.de",
        "time": "Fri Sep 11 15:28:13 2015 +0200"
      },
      "committer": {
        "name": "Brian Norris",
        "email": "computersforpeace@gmail.com",
        "time": "Tue Sep 29 11:46:41 2015 -0700"
      },
      "message": "mtd-utils: ubinize: Always return error code (at least -1) in case of an error\n\nubinize should not fail silenty, this can be very annoying when using\nit from other tools that rely on the exit code for determining the\nsuccess of their operation.\n\nSigned-off-by: Enrico Jorns \u003cejo@pengutronix.de\u003e\nSigned-off-by: Brian Norris \u003ccomputersforpeace@gmail.com\u003e\n"
    },
    {
      "commit": "b5ac34c5cc3c345e51ff12eca0fafd2ca1add3a0",
      "tree": "34a3007d68a4236adfe27f0ab170feaa35736860",
      "parents": [
        "a2f50d4a0a253e9cb6eaaf0e0e1c67dd02b717ac"
      ],
      "author": {
        "name": "Brian Norris",
        "email": "computersforpeace@gmail.com",
        "time": "Fri Aug 28 09:05:43 2015 -0700"
      },
      "committer": {
        "name": "Brian Norris",
        "email": "computersforpeace@gmail.com",
        "time": "Mon Aug 31 14:42:37 2015 -0700"
      },
      "message": "don\u0027t include system headers in dependency files\n\nSystem library headers are not strictly part of our build. If they are\nchanging beneath our feet, then we probably have bigger problems.\n\nSigned-off-by: Brian Norris \u003ccomputersforpeace@gmail.com\u003e\nSuggested-by: Mike Frysinger \u003cvapier@gentoo.org\u003e\nAcked-by: Mike Frysinger \u003cvapier@gentoo.org\u003e\nSigned-off-by: Brian Norris \u003ccomputersforpeace@gmail.com\u003e\n"
    },
    {
      "commit": "a2f50d4a0a253e9cb6eaaf0e0e1c67dd02b717ac",
      "tree": "f2c18920dce36f3c2e01c2eed9dcddad0cea7bef",
      "parents": [
        "d583d1da01eb0a3e38f18dfc8eec0dde07be8320"
      ],
      "author": {
        "name": "Brian Norris",
        "email": "computersforpeace@gmail.com",
        "time": "Thu Aug 27 15:48:22 2015 -0700"
      },
      "committer": {
        "name": "Brian Norris",
        "email": "computersforpeace@gmail.com",
        "time": "Fri Aug 28 09:02:41 2015 -0700"
      },
      "message": "autogenerated dependency files are not being utilized properly\n\nTL;DR\nAcked-by: Mike Frysinger \u003cvapier@gentoo.org\u003e\n\n\u003d\u003d\u003d\u003d\u003d\n\nAuto-generated dependency rules are not being written correctly, so\nchanges to dependent files (e.g., headers) do not actually trigger\nrebuilds.\n\nThe problem\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n\nIt appears that when a dependency generation flag is passed directly to\nthe preprocessor (with \u0027-Wp,...\u0027), it loses information about the output\npath. So, it just makes up the output name as $(basename).o, with no\npath information. This yields .*.c.dep files that look like this:\n\n  flash_lock.o: flash_lock.c /usr/include/stdc-predef.h flash_unlock.c \\\n   (...)\n\nand\n\n  nanddump.o: nanddump.c /usr/include/stdc-predef.h /usr/include/ctype.h \\\n   (...)\n   include/libmtd.h\n\nThis is the case for both in-tree *and* out-of-tree builds. Naturally,\nthis is a problem for out-of-tree builds. But it is also a problem for\nin-tree builds, because we use rules like this for builds:\n\n  $(BUILDDIR)/%.o: %.c\n\nand make doesn\u0027t recognize $(BUILDDIR)/%.o as the same as %.o even when\n$(BUILDDIR) \u003d\u003d $(PWD).\n\nExample failures\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n\n  ## Rebuilding after touching common header doesn\u0027t recompile anything\n  $ make\n  (...)\n  $ touch include/libmtd.h\n  $ make\n    CHK     include/version.h\n\n  ## Same for out-of-tree builds\n  $ BUILDDIR\u003dtest make\n  (...)\n  $ touch include/libmtd.h\n  $ BUILDDIR\u003dtest make\n    CHK     include/version.h\n\nI noticed this when seeing that flash_lock would not get rebuilt when\nmodifying flash_unlock.c (where 99% of the source code lies):\n\n  $ make\n  (...)\n  $ touch flash_unlock.c\n  $ make\n    CHK     include/version.h\n    CC      flash_unlock.o\n    LD      flash_unlock\n\nThe fix\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n\nJust pass -MD straight to the compiler, and make sure to specify the\noutput file for the dependency info with -MF.\n\nSigned-off-by: Brian Norris \u003ccomputersforpeace@gmail.com\u003e\nCc: Mike Frysinger \u003cvapier@gentoo.org\u003e\nCc: David Woodhouse \u003cDavid.Woodhouse@intel.com\u003e\nSigned-off-by: Brian Norris \u003ccomputersforpeace@gmail.com\u003e\n"
    },
    {
      "commit": "d583d1da01eb0a3e38f18dfc8eec0dde07be8320",
      "tree": "5f7131fa78bdd9b083b00404cda539f1d1d878f3",
      "parents": [
        "0e602bf13911992598b9bade75b26cbf623a5e12"
      ],
      "author": {
        "name": "Dongsheng Yang",
        "email": "yangds.fnst@cn.fujitsu.com",
        "time": "Wed Aug 19 16:28:52 2015 +0800"
      },
      "committer": {
        "name": "Brian Norris",
        "email": "computersforpeace@gmail.com",
        "time": "Wed Aug 19 09:22:52 2015 -0700"
      },
      "message": "ubifs: correct the size of nnode in memset\n\nThere is a typo in lpt to memset nnode by the\nsize in sizeof(stuct ubifs_pnode).\n\nSigned-off-by: Dongsheng Yang \u003cyangds.fnst@cn.fujitsu.com\u003e\nSigned-off-by: Brian Norris \u003ccomputersforpeace@gmail.com\u003e\n"
    },
    {
      "commit": "0e602bf13911992598b9bade75b26cbf623a5e12",
      "tree": "dfa78495d58eec801ca02ed5ea02673adbc681cd",
      "parents": [
        "aea36417067dade75192bafa03af70b6eb2677b1"
      ],
      "author": {
        "name": "Brian Norris",
        "email": "computersforpeace@gmail.com",
        "time": "Mon Aug 03 11:08:08 2015 -0700"
      },
      "committer": {
        "name": "Brian Norris",
        "email": "computersforpeace@gmail.com",
        "time": "Mon Aug 03 11:08:08 2015 -0700"
      },
      "message": "make_a_release.sh: fix MTD spelling\n\nSigned-off-by: Brian Norris \u003ccomputersforpeace@gmail.com\u003e\n"
    },
    {
      "commit": "aea36417067dade75192bafa03af70b6eb2677b1",
      "tree": "89b052097f2bc08a6fc8ed6860ced3c02019275d",
      "parents": [
        "db3ef96765aace5e2a5ffa8165729dc0b75213ee"
      ],
      "author": {
        "name": "Brian Norris",
        "email": "computersforpeace@gmail.com",
        "time": "Fri Jul 24 18:18:53 2015 -0700"
      },
      "committer": {
        "name": "Brian Norris",
        "email": "computersforpeace@gmail.com",
        "time": "Fri Jul 24 18:18:53 2015 -0700"
      },
      "message": "Release mtd-utils-1.5.2\n\nSigned-off-by: Brian Norris \u003ccomputersforpeace@gmail.com\u003e\n"
    },
    {
      "commit": "db3ef96765aace5e2a5ffa8165729dc0b75213ee",
      "tree": "d137ff528faf4367e961d59d70c61e66fcd336de",
      "parents": [
        "5be8bafab070709ccc7535bc895ff16f141e3ad5"
      ],
      "author": {
        "name": "Brian Norris",
        "email": "computersforpeace@gmail.com",
        "time": "Fri Jul 24 18:18:14 2015 -0700"
      },
      "committer": {
        "name": "Brian Norris",
        "email": "computersforpeace@gmail.com",
        "time": "Fri Jul 24 18:18:14 2015 -0700"
      },
      "message": ".gitignore: add new mtdpart utility\n\nSigned-off-by: Brian Norris \u003ccomputersforpeace@gmail.com\u003e\n"
    },
    {
      "commit": "5be8bafab070709ccc7535bc895ff16f141e3ad5",
      "tree": "80a45de25720f6e18b82d375d0987d07c76ff7d1",
      "parents": [
        "b0dd15b567ef39ae1ac2454d77d5f482de31c7f9"
      ],
      "author": {
        "name": "Dongsheng Yang",
        "email": "yangds.fnst@cn.fujitsu.com",
        "time": "Wed Jul 01 11:44:16 2015 +0800"
      },
      "committer": {
        "name": "Brian Norris",
        "email": "computersforpeace@gmail.com",
        "time": "Mon Jul 06 14:55:03 2015 -0700"
      },
      "message": "mtd-utils: fix \u0027new blank line at EOF\u0027 problems\n\nSigned-off-by: Dongsheng Yang \u003cyangds.fnst@cn.fujitsu.com\u003e\nSigned-off-by: Brian Norris \u003ccomputersforpeace@gmail.com\u003e\n"
    },
    {
      "commit": "b0dd15b567ef39ae1ac2454d77d5f482de31c7f9",
      "tree": "61a8f5538c8abdb7e4bcd23a0b8ab16f2d8bcdb3",
      "parents": [
        "ddd8d3b39fc9b84a3bdb94d9ac62d2b20581dca4"
      ],
      "author": {
        "name": "Dongsheng Yang",
        "email": "yangds.fnst@cn.fujitsu.com",
        "time": "Wed Jul 01 11:44:15 2015 +0800"
      },
      "committer": {
        "name": "Brian Norris",
        "email": "computersforpeace@gmail.com",
        "time": "Mon Jul 06 14:52:36 2015 -0700"
      },
      "message": "mtd-utils: fix \u0027space before tab in indent\u0027 problem\n\nSigned-off-by: Dongsheng Yang \u003cyangds.fnst@cn.fujitsu.com\u003e\nSigned-off-by: Brian Norris \u003ccomputersforpeace@gmail.com\u003e\n"
    },
    {
      "commit": "ddd8d3b39fc9b84a3bdb94d9ac62d2b20581dca4",
      "tree": "5ae694e5678bc8450ff923c984f3afe0314d1280",
      "parents": [
        "e76eeca21de23ae884e415a12809ac683960cbca"
      ],
      "author": {
        "name": "Dongsheng Yang",
        "email": "yangds.fnst@cn.fujitsu.com",
        "time": "Wed Jul 01 11:44:14 2015 +0800"
      },
      "committer": {
        "name": "Brian Norris",
        "email": "computersforpeace@gmail.com",
        "time": "Mon Jul 06 14:52:35 2015 -0700"
      },
      "message": "mtd-utils: fix the trailing whitespace problems\n\nSigned-off-by: Dongsheng Yang \u003cyangds.fnst@cn.fujitsu.com\u003e\nSigned-off-by: Brian Norris \u003ccomputersforpeace@gmail.com\u003e\n"
    },
    {
      "commit": "e76eeca21de23ae884e415a12809ac683960cbca",
      "tree": "76d33ee51aea189b2d0a9d1c05d3af1dbadb11b9",
      "parents": [
        "eb3f8a53e92b250b1086b216da7049eff0bd4589"
      ],
      "author": {
        "name": "Dongsheng Yang",
        "email": "yangds.fnst@cn.fujitsu.com",
        "time": "Mon Jun 29 16:49:19 2015 +0800"
      },
      "committer": {
        "name": "Brian Norris",
        "email": "computersforpeace@gmail.com",
        "time": "Mon Jul 06 14:42:38 2015 -0700"
      },
      "message": "mtd-utils: ubi-tests: fix a some overflows\n\nSigned-off-by: Dongsheng Yang \u003cyangds.fnst@cn.fujitsu.com\u003e\nReviewed-by: Richard Weinberger \u003crichard@nod.at\u003e\nSigned-off-by: Brian Norris \u003ccomputersforpeace@gmail.com\u003e\n"
    },
    {
      "commit": "eb3f8a53e92b250b1086b216da7049eff0bd4589",
      "tree": "871a90efee59647afbbb4b6905078002c861170d",
      "parents": [
        "abcf731e041d8d977b992820c38f6e95ed63fd3b"
      ],
      "author": {
        "name": "Dongsheng Yang",
        "email": "yangds.fnst@cn.fujitsu.com",
        "time": "Mon Jun 29 16:49:18 2015 +0800"
      },
      "committer": {
        "name": "Brian Norris",
        "email": "computersforpeace@gmail.com",
        "time": "Mon Jul 06 14:39:59 2015 -0700"
      },
      "message": "mtd-utils: fs-tests: pass TEST_DIR to integck in run_all.sh\n\nTest integck requires a parameter but run_all.sh did no pass any to it.\nThen:\nintegck: error!: test file-system was not specified (use -h for help)\n\nSigned-off-by: Dongsheng Yang \u003cyangds.fnst@cn.fujitsu.com\u003e\nReviewed-by: Richard Weinberger \u003crichard@nod.at\u003e\nSigned-off-by: Brian Norris \u003ccomputersforpeace@gmail.com\u003e\n"
    },
    {
      "commit": "abcf731e041d8d977b992820c38f6e95ed63fd3b",
      "tree": "c4b54c1e8dd052f5926ba193ec921b6f99b31d36",
      "parents": [
        "bd9ed192b5d6ee7afc49bfd383a23b50792de8c2"
      ],
      "author": {
        "name": "Nam T. Nguyen",
        "email": "namnguyen@chromium.org",
        "time": "Tue Apr 28 08:12:12 2015 -0700"
      },
      "committer": {
        "name": "Brian Norris",
        "email": "computersforpeace@gmail.com",
        "time": "Thu May 28 16:31:34 2015 -0700"
      },
      "message": "mtd-utils: Add mtdpart to add/delete partition\n\nAdd a simple utility to exercise BLKPG ioctl.\n\nSigned-off-by: Nam T. Nguyen \u003cnamnguyen@chromium.org\u003e\nAcked-by: Mike Frysinger \u003cvapier@chromium.org\u003e\nSigned-off-by: Brian Norris \u003ccomputersforpeace@gmail.com\u003e\n"
    },
    {
      "commit": "bd9ed192b5d6ee7afc49bfd383a23b50792de8c2",
      "tree": "3c6c7e7653cf18a323701ef18d9bbbeb2f8221fa",
      "parents": [
        "60e251320e33240ea24611682f8ccdb4722a9010"
      ],
      "author": {
        "name": "Jörg Krause",
        "email": "joerg.krause@embedded.rocks",
        "time": "Fri Apr 24 00:12:51 2015 +0200"
      },
      "committer": {
        "name": "Brian Norris",
        "email": "computersforpeace@gmail.com",
        "time": "Thu May 28 16:31:34 2015 -0700"
      },
      "message": "include/common.h: fix build against musl\n\nLike uClibc version older than (not yet released) 0.9.34 musl does not have\na rpmatch() implementation.\n\nuClibc defines both __UCLIBC__ and __GLIBC__. So first check for uCibc and its\nversion and then for a non glibc implementation (like musl). Note, musl does\nnot define __MUSL__.\n\nSigned-off-by: Jörg Krause \u003cjoerg.krause@embedded.rocks\u003e\nSigned-off-by: Brian Norris \u003ccomputersforpeace@gmail.com\u003e\n"
    },
    {
      "commit": "60e251320e33240ea24611682f8ccdb4722a9010",
      "tree": "8facbe60a4c48d176aa4197d7ffa62ee8f3acc20",
      "parents": [
        "c2a904be061fbb854cba5cb6c2a0b3a20d463574"
      ],
      "author": {
        "name": "Jörg Krause",
        "email": "joerg.krause@embedded.rocks",
        "time": "Fri Apr 24 22:51:47 2015 +0200"
      },
      "committer": {
        "name": "Brian Norris",
        "email": "computersforpeace@gmail.com",
        "time": "Thu May 28 16:31:34 2015 -0700"
      },
      "message": "recv_image: do not include error.h\n\nrecv_image does not use anything from it and it is not available with all\nC libraries, e.g. musl.\n\nSigned-off-by: Jörg Krause \u003cjoerg.krause@embedded.rocks\u003e\nSigned-off-by: Brian Norris \u003ccomputersforpeace@gmail.com\u003e\n"
    },
    {
      "commit": "c2a904be061fbb854cba5cb6c2a0b3a20d463574",
      "tree": "1a29008a8dff69c0b898a10477d2731aa02873af",
      "parents": [
        "22cffe1259ce128766c7f00da84a614a06e77fcc"
      ],
      "author": {
        "name": "Jörg Krause",
        "email": "joerg.krause@embedded.rocks",
        "time": "Fri Apr 24 22:51:46 2015 +0200"
      },
      "committer": {
        "name": "Brian Norris",
        "email": "computersforpeace@gmail.com",
        "time": "Thu May 28 16:31:34 2015 -0700"
      },
      "message": "serve_image: do not include error.h\n\nserve_image does not use anything from it and it is not available with all\nC libraries, e.g. musl.\n\nSigned-off-by: Jörg Krause \u003cjoerg.krause@embedded.rocks\u003e\nSigned-off-by: Brian Norris \u003ccomputersforpeace@gmail.com\u003e\n"
    },
    {
      "commit": "22cffe1259ce128766c7f00da84a614a06e77fcc",
      "tree": "2e1a83b4fe55e0dca2180bec5dde7d1d6e793c22",
      "parents": [
        "f4d4ad26d57ed2d57509ed8fda2da99ce7b5f9ec"
      ],
      "author": {
        "name": "Baruch Siach",
        "email": "baruch@tkos.co.il",
        "time": "Wed Apr 29 11:28:43 2015 +0300"
      },
      "committer": {
        "name": "Brian Norris",
        "email": "computersforpeace@gmail.com",
        "time": "Thu May 28 16:31:34 2015 -0700"
      },
      "message": "libmtd: fix comment typo\n\nSigned-off-by: Baruch Siach \u003cbaruch@tkos.co.il\u003e\nSigned-off-by: Brian Norris \u003ccomputersforpeace@gmail.com\u003e\n"
    },
    {
      "commit": "f4d4ad26d57ed2d57509ed8fda2da99ce7b5f9ec",
      "tree": "1b60c230b610ed89ab7252fd1e97163abbc2f9e4",
      "parents": [
        "ce9757872796a8ae31bc641ec37f3d8df4aea2ee"
      ],
      "author": {
        "name": "Imre Kaloz",
        "email": "kaloz@openwrt.org",
        "time": "Mon May 04 15:36:34 2015 +0200"
      },
      "committer": {
        "name": "Brian Norris",
        "email": "computersforpeace@gmail.com",
        "time": "Thu May 28 16:31:34 2015 -0700"
      },
      "message": "mtd-utils: libfec: use standard C type instead of u_long\n\nFixes compilation on hosts with the musl C library.\nAlso drops the unused u_short typedef.\n\nSigned-off-by: Imre Kaloz \u003ckaloz@openwrt.org\u003e\nSigned-off-by: Brian Norris \u003ccomputersforpeace@gmail.com\u003e\n"
    },
    {
      "commit": "ce9757872796a8ae31bc641ec37f3d8df4aea2ee",
      "tree": "661d44918f31590e6a83c0e32174b08ac3b3381e",
      "parents": [
        "92686f212c9a4e16891c6a3c57629cbf4f0f8360"
      ],
      "author": {
        "name": "Bernhard Walle",
        "email": "bernhard@bwalle.de",
        "time": "Sat May 02 14:38:06 2015 +0200"
      },
      "committer": {
        "name": "Brian Norris",
        "email": "computersforpeace@gmail.com",
        "time": "Thu May 28 16:31:34 2015 -0700"
      },
      "message": "mkfs.ubifs: Fix build with gcc 5.1\n\nIn gcc 5.1, the default C standard which is used to compile a C file,\nhas changed from gnu89 to gnu11. This changed the meaning of \u0027extern\ninline\u0027. See https://gcc.gnu.org/gcc-5/porting_to.html.\n\nIn mkfs.ubifs, this leads to multiple definitions of\nhashtable_iterator_key and -hashtable_iterator_value. I think the most\npragmatic way to fix the issue is to replace \u0027extern inline\u0027 with\n\u0027static inline\u0027 here.\n\nSigned-off-by: Bernhard Walle \u003cbernhard@bwalle.de\u003e\nSigned-off-by: Brian Norris \u003ccomputersforpeace@gmail.com\u003e\n"
    },
    {
      "commit": "92686f212c9a4e16891c6a3c57629cbf4f0f8360",
      "tree": "d8d8281c2dd3dba0afd800dce847c60f2eb89028",
      "parents": [
        "51c918e149ee18399d58add66222cf94dd25d3e8"
      ],
      "author": {
        "name": "Timo Warns",
        "email": "timo.warns@gmail.com",
        "time": "Wed Oct 15 21:16:22 2014 +0200"
      },
      "committer": {
        "name": "Artem Bityutskiy",
        "email": "artem.bityutskiy@linux.intel.com",
        "time": "Wed Nov 05 14:57:17 2014 +0200"
      },
      "message": "mtd-utils: jffs2dump: XATTR and XREF support for endianess conversion\n\nAdd support for XATTR and XREF nodes to \"convert image endianness\" action of\njffs2dump.\n\nSigned-off-by: Timo Warns \u003ctimo.warns@gmail.com\u003e\nSigned-off-by: Artem Bityutskiy \u003cartem.bityutskiy@linux.intel.com\u003e\n"
    },
    {
      "commit": "51c918e149ee18399d58add66222cf94dd25d3e8",
      "tree": "8a1f9dad08eec0aab31939a08444dd444a1327ed",
      "parents": [
        "6eb466a4f34808d29e3a704f6cabc7f70beebdc8"
      ],
      "author": {
        "name": "Timo Warns",
        "email": "timo.warns@gmail.com",
        "time": "Wed Oct 15 21:12:03 2014 +0200"
      },
      "committer": {
        "name": "Artem Bityutskiy",
        "email": "artem.bityutskiy@linux.intel.com",
        "time": "Wed Nov 05 14:57:16 2014 +0200"
      },
      "message": "mtd-utils: jffs2dump: XATTR and XREF support for content dump\n\nAdd support for XATTR and XREF nodes to \"dump image content\" action of\njffs2dump.\n\nSigned-off-by: Timo Warns \u003ctimo.warns@gmail.com\u003e\nSigned-off-by: Artem Bityutskiy \u003cartem.bityutskiy@linux.intel.com\u003e\n"
    },
    {
      "commit": "6eb466a4f34808d29e3a704f6cabc7f70beebdc8",
      "tree": "8d85a980daabba2c742e96b5bf6d7b48b0d2cfb6",
      "parents": [
        "e53b1715172357cbaca2e07d58f6b8f6b0f14c64"
      ],
      "author": {
        "name": "Brian Norris",
        "email": "computersforpeace@gmail.com",
        "time": "Mon Sep 15 10:35:00 2014 -0700"
      },
      "committer": {
        "name": "Brian Norris",
        "email": "computersforpeace@gmail.com",
        "time": "Tue Nov 04 19:00:42 2014 -0800"
      },
      "message": "libmtd: don\u0027t ignore \"region index\" parameter in mtd_regioninfo()\n\nioctl(MEMGETREGIONINFO) has one input parameter (regionindex) and three\noutput parameters (info about the erase region). There are two problems\nin mtdinfo/libmtd here:\n\n 1. mtdinfo.c doesn\u0027t initialize its region_info_user struct, instead\n    passing uninitialized data to mtd_regioninfo()\n\n 2. mtd_regioninfo() fails to utilize the \u0027regidx\u0027 parameter to fill out\n    the regionindex parameter properly, so the garbage from mtdinfo.c is\n    propagated to the ioctl()\n\nThis means that mtdinfo will continuously probe the same (possibly\nout-of-range) erase region, instead of looping over the valid regions.\n\nLet\u0027s fix this in the mtd_regioninfo() helper, and at the same time,\nlet\u0027s zero out the mtdinfo.c buffer, as an additional precaution to keep\nfrom using uninitialized data.\n\nInitial error report from Yang, when running \"mtdinfo /dev/mtd0\" on a\nCavium 6100 board:\n\n\troot@CN61XX:~# mtdinfo /dev/mtd0\n\tmtd0\n\tName:                           phys_mapped_flash\n\tType:                           nor\n\tEraseblock size:                65536 bytes, 64.0 KiB\n\tAmount of eraseblocks:          128 (8388608 bytes, 8.0 MiB)\n\tMinimum input/output unit size: 1 byte\n\tSub-page size:                  1 byte\n\tAdditional erase regions:       0\n\tCharacter device major/minor:   90:0\n\tBad blocks are allowed:         false\n\tDevice is writable:             true\n\tlibmtd: error!: MEMGETREGIONINFO ioctl failed for erase region 0\n\t        error 22 (Invalid argument)\n\tEraseblock region 0:  info is unavailable\n\tlibmtd: error!: MEMGETREGIONINFO ioctl failed for erase region 1\n\t        error 22 (Invalid argument)\n\tEraseblock region 1:  info is unavailable\n\nReported-by: Yang Wei \u003cWei.Yang@windriver.com\u003e\nSigned-off-by: Brian Norris \u003ccomputersforpeace@gmail.com\u003e\n"
    },
    {
      "commit": "e53b1715172357cbaca2e07d58f6b8f6b0f14c64",
      "tree": "694ea3112a3302d0618f44bb1193b5cb1b37cb28",
      "parents": [
        "789d2d7019da3d74670e4cfc137f11a1065ef748"
      ],
      "author": {
        "name": "Artem Bityutskiy",
        "email": "artem.bityutskiy@linux.intel.com",
        "time": "Thu Oct 30 10:14:20 2014 +0200"
      },
      "committer": {
        "name": "Artem Bityutskiy",
        "email": "artem.bityutskiy@linux.intel.com",
        "time": "Thu Oct 30 10:14:20 2014 +0200"
      },
      "message": "ubifs-media.h: include \"byteorder.h\"\n\n... in order to have definitions of things like __le16.\n\nSigned-off-by: Artem Bityutskiy \u003cartem.bityutskiy@linux.intel.com\u003e\n"
    },
    {
      "commit": "789d2d7019da3d74670e4cfc137f11a1065ef748",
      "tree": "cc00eb2ede3a460d23e2df7333f60b380738be39",
      "parents": [
        "dd183c2c8000d42073d19fefc2740dc50bafd287"
      ],
      "author": {
        "name": "Artem Bityutskiy",
        "email": "artem.bityutskiy@linux.intel.com",
        "time": "Thu Oct 30 09:55:51 2014 +0200"
      },
      "committer": {
        "name": "Artem Bityutskiy",
        "email": "artem.bityutskiy@linux.intel.com",
        "time": "Thu Oct 30 10:01:56 2014 +0200"
      },
      "message": "Move mkfs.ubifs/ubifs-media.h to include/mtd\n\nThis file will be shared with the ubidump tool in the future.\n\nSigned-off-by: Artem Bityutskiy \u003cartem.bityutskiy@linux.intel.com\u003e\n"
    },
    {
      "commit": "dd183c2c8000d42073d19fefc2740dc50bafd287",
      "tree": "d7033e3951cc78b870a716dd4105eedb0be39651",
      "parents": [
        "a167204782941dae63a3318a9c26bde040c7b049"
      ],
      "author": {
        "name": "Artem Bityutskiy",
        "email": "artem.bityutskiy@linux.intel.com",
        "time": "Mon Oct 20 13:47:09 2014 +0300"
      },
      "committer": {
        "name": "Artem Bityutskiy",
        "email": "artem.bityutskiy@linux.intel.com",
        "time": "Mon Oct 20 13:47:09 2014 +0300"
      },
      "message": "mkfs.ubifs: start using common code\n\nSeveral commonly used macros are now defined in \u0027common.h\u0027, let\u0027s start using\nthem in mkfs.ubifs, instead of duplicating them.\n\nSigned-off-by: Artem Bityutskiy \u003cartem.bityutskiy@linux.intel.com\u003e\n"
    },
    {
      "commit": "a167204782941dae63a3318a9c26bde040c7b049",
      "tree": "b69b8c795d6b89f69bb9163a600d57be82364819",
      "parents": [
        "15685fe39f1665d53d8b316c8f837f20f8700d4b"
      ],
      "author": {
        "name": "hujianyang",
        "email": "hujianyang@huawei.com",
        "time": "Thu Oct 16 20:02:09 2014 +0800"
      },
      "committer": {
        "name": "Artem Bityutskiy",
        "email": "artem.bityutskiy@linux.intel.com",
        "time": "Mon Oct 20 13:41:56 2014 +0300"
      },
      "message": "mtd-utils: Add macros to include/common.h\n\nThis patch adds four macros:\n\n    ALIGN, __ALIGN_MASK, min_t and max_t\n\nto include/common.h.\n\nSigned-off-by: hujianyang \u003chujianyang@huawei.com\u003e\n"
    },
    {
      "commit": "15685fe39f1665d53d8b316c8f837f20f8700d4b",
      "tree": "71ca17ccea7ade0cc1b9a441b7d4a0e8da768e5c",
      "parents": [
        "51b71fb46a069fa137c7a02769d60561e178ba15"
      ],
      "author": {
        "name": "Artem Bityutskiy",
        "email": "artem.bityutskiy@linux.intel.com",
        "time": "Mon Sep 08 15:05:54 2014 +0300"
      },
      "committer": {
        "name": "Artem Bityutskiy",
        "email": "artem.bityutskiy@linux.intel.com",
        "time": "Tue Sep 16 18:11:50 2014 +0300"
      },
      "message": "ubiformat: fix the subpage size hint on the error path\n\nDavid Binderman \u003cdcb314@hotmail.com\u003e reports that the following piece of looks\nwrong:\n\nif (!args.subpage_size !\u003d mtd-\u003emin_io_size)\n    normsg(\"may be sub-page size is incorrect?\");\n\nI totally agree with him and I believe that we actually meant to have no\nnegation in fron to f \u0027args.subpage_size\u0027, so instead, the code should look\nlike this:\n\nif (args.subpage_size !\u003d mtd-\u003emin_io_size)\n    normsg(\"may be sub-page size is incorrect?\");\n\nSigned-off-by: Artem Bityutskiy \u003cartem.bityutskiy@linux.intel.com\u003e\n"
    },
    {
      "commit": "51b71fb46a069fa137c7a02769d60561e178ba15",
      "tree": "bd16987dc67bb91cf46a79466bff623108b0577c",
      "parents": [
        "ebf0d3d85910f485ebb64b3df2a6e2042a75c807"
      ],
      "author": {
        "name": "Guido Martínez",
        "email": "guido@vanguardiasur.com.ar",
        "time": "Wed Sep 10 11:56:40 2014 -0300"
      },
      "committer": {
        "name": "Brian Norris",
        "email": "computersforpeace@gmail.com",
        "time": "Mon Sep 15 10:11:02 2014 -0700"
      },
      "message": "libmtd: fix mtd_dev_present return value on legacy systems\n\nOn legacy systems, if \"/proc/mtd\" doesn\u0027t exist or gives a read error,\nmtd_dev_present returns -1 (since it calls legacy_dev_present), contrary\nto what\u0027s specified in the header file.\n\nThis causes checks like\n\n  if (mtd_dev_present(n)) {\n    ...\n  }\n\nto give false positives. Fix this by comparing the return value to 1.\n\nSigned-off-by: Guido Martínez \u003cguido@vanguardiasur.com.ar\u003e\nSigned-off-by: Brian Norris \u003ccomputersforpeace@gmail.com\u003e\n"
    },
    {
      "commit": "ebf0d3d85910f485ebb64b3df2a6e2042a75c807",
      "tree": "8c88bc9189c78aaa769638c53942a3457876491d",
      "parents": [
        "b7455d847ab4f9eeeb6a729efc306bfda7bddc99"
      ],
      "author": {
        "name": "Guido Martínez",
        "email": "guido@vanguardiasur.com.ar",
        "time": "Thu Aug 14 13:29:45 2014 -0300"
      },
      "committer": {
        "name": "Artem Bityutskiy",
        "email": "artem.bityutskiy@linux.intel.com",
        "time": "Mon Sep 08 13:29:32 2014 +0300"
      },
      "message": "nandtest: fix --reads argument\n\nThe --reads option specifies the argument as optional, but doesn\u0027t check\nfor a null optarg, which means that nandtest segfaults when run as\n\"nandtest --reads\".\n\nFix this by making the argument required, and changing the help text to\nnot specify it as optional. Argument -r already specifies the argument\nas required, so we fix this inconsistency too.\n\nSigned-off-by: Guido Martínez \u003cguido@vanguardiasur.com.ar\u003e\nAcked-by: Ezequiel Garcia \u003cezequiel@vanguardiasur.com.ar\u003e\nSigned-off-by: Artem Bityutskiy \u003cartem.bityutskiy@linux.intel.com\u003e\n"
    },
    {
      "commit": "b7455d847ab4f9eeeb6a729efc306bfda7bddc99",
      "tree": "005c6707814786b76a389b6e846ea796a8fcc7e7",
      "parents": [
        "7d2839b8dede3ae368780364b4a07473d2303219"
      ],
      "author": {
        "name": "Ezequiel García",
        "email": "ezequiel@vanguardiasur.com.ar",
        "time": "Tue May 06 12:07:49 2014 -0300"
      },
      "committer": {
        "name": "Brian Norris",
        "email": "computersforpeace@gmail.com",
        "time": "Fri May 30 16:35:07 2014 -0700"
      },
      "message": "nandtest: Introduce multiple reads \u0026 check iterations\n\nThe current nandtest performs a simple test which consists of:\n\n  1. erase block\n  2. write data\n  3. read and verify\n\nIn order to improve the nandtest strength, this commit adds a new parameter\nto increase the number of \"read and verify\" iterations. In other words,\nthe test now consists of:\n\n  1. erase block\n  2. write data\n  3. read and verify (N times)\n\nThis seem to apply more pressure on a NAND driver\u0027s ECC engine and has been\nused to discover stability problems with an old OMAP2.\n\nSigned-off-by: Ezequiel Garcia \u003cezequiel@vanguardiasur.com.ar\u003e\nAcked-by: Artem Bityutskiy \u003cartem.bityutskiy@linux.intel.com\u003e\nSigned-off-by: Brian Norris \u003ccomputersforpeace@gmail.com\u003e\n"
    },
    {
      "commit": "7d2839b8dede3ae368780364b4a07473d2303219",
      "tree": "155292e05cdd95b446ff6ad4da6e654e70163ccf",
      "parents": [
        "b4a2417a181a219f925e479d0c24cc344279d870"
      ],
      "author": {
        "name": "Ezequiel Garcia",
        "email": "ezequiel@vanguardiasur.com.ar",
        "time": "Mon Apr 28 10:14:18 2014 -0300"
      },
      "committer": {
        "name": "Artem Bityutskiy",
        "email": "artem.bityutskiy@linux.intel.com",
        "time": "Mon May 05 10:32:33 2014 +0300"
      },
      "message": "nandtest: Move the \"read and compare\" code to a function\n\nThis commit makes no functionality change, and simply moves the\nread and compare code into a separate read_and_compare() function.\n\nSigned-off-by: Ezequiel Garcia \u003cezequiel@vanguardiasur.com.ar\u003e\nSigned-off-by: Artem Bityutskiy \u003cartem.bityutskiy@linux.intel.com\u003e\n"
    },
    {
      "commit": "b4a2417a181a219f925e479d0c24cc344279d870",
      "tree": "5783319536b3d30db39ace6385416fca7f622039",
      "parents": [
        "5923077649ca167991a24ca05bd285fdf6fa1a06"
      ],
      "author": {
        "name": "Ezequiel Garcia",
        "email": "ezequiel@vanguardiasur.com.ar",
        "time": "Mon Apr 28 10:14:17 2014 -0300"
      },
      "committer": {
        "name": "Artem Bityutskiy",
        "email": "artem.bityutskiy@linux.intel.com",
        "time": "Mon May 05 10:31:04 2014 +0300"
      },
      "message": "nandtest: Remove redundant check\n\nThis commit removes a redundant \u0027len\u0027 check, which is already performed\njust after the pread call.\n\nSigned-off-by: Ezequiel Garcia \u003cezequiel@vanguardiasur.com.ar\u003e\nSigned-off-by: Artem Bityutskiy \u003cartem.bityutskiy@linux.intel.com\u003e\n"
    },
    {
      "commit": "5923077649ca167991a24ca05bd285fdf6fa1a06",
      "tree": "321866a9c1527b5461d9e9aeccc1d2feac465627",
      "parents": [
        "7556c09cbac5c9d8a7a6d9c7c4bb736e2c472366"
      ],
      "author": {
        "name": "Baruch Siach",
        "email": "baruch@tkos.co.il",
        "time": "Wed Apr 16 07:52:48 2014 +0300"
      },
      "committer": {
        "name": "Brian Norris",
        "email": "computersforpeace@gmail.com",
        "time": "Mon Apr 21 09:41:34 2014 -0700"
      },
      "message": "include/common.h: fix build against recent 0.9.33 uClibc\n\nAn implementation of rpmatch() was backported to the 0.9.33 branch of uClibc.\nSo the uClibc version check introduced in commit 50c9e11f7e (include/common.h:\nfix build against current uClibc) is not enough. Rename the local rpmatch()\nimplementation to avoid collision.\n\nSigned-off-by: Baruch Siach \u003cbaruch@tkos.co.il\u003e\nAcked-by: Mike Frysinger \u003cvapier@gentoo.org\u003e\nSigned-off-by: Brian Norris \u003ccomputersforpeace@gmail.com\u003e\n"
    },
    {
      "commit": "7556c09cbac5c9d8a7a6d9c7c4bb736e2c472366",
      "tree": "b6a5fa958c04bb3d8ae27820551c88872e7f965c",
      "parents": [
        "50c9e11f7ec21dfa17fd252426367333056ba7a5"
      ],
      "author": {
        "name": "Mats Kärrman",
        "email": "mats.karrman@tritech.se",
        "time": "Fri Apr 11 09:38:21 2014 +0200"
      },
      "committer": {
        "name": "Artem Bityutskiy",
        "email": "artem.bityutskiy@linux.intel.com",
        "time": "Tue Apr 15 16:01:12 2014 +0300"
      },
      "message": "mtd-utils: integck: Use $(CC) and $(AR) instead of \u0027gcc\u0027 and \u0027ar\u0027 consistently\n\nNot using the macros may be a problem when cross-compiling.\n\nSigned-off-by: Mats Karrman \u003cmats.karrman@tritech.se\u003e\nSigned-off-by: Artem Bityutskiy \u003cartem.bityutskiy@linux.intel.com\u003e\n"
    },
    {
      "commit": "50c9e11f7ec21dfa17fd252426367333056ba7a5",
      "tree": "87bb87ddc8005759a8d9f988b5bef9080d3bbef9",
      "parents": [
        "12158de7b14b8a05cfaab6c0b9e8bed52e50c8a9"
      ],
      "author": {
        "name": "Baruch Siach",
        "email": "baruch@tkos.co.il",
        "time": "Sun Apr 13 15:26:46 2014 +0300"
      },
      "committer": {
        "name": "Artem Bityutskiy",
        "email": "artem.bityutskiy@linux.intel.com",
        "time": "Tue Apr 15 15:55:24 2014 +0300"
      },
      "message": "include/common.h: fix build against current uClibc\n\nCommit dbe0fd17f2 (mtd-utils: new prompt() helper for talking to the user)\nintroduced a rpmatch() call. However, uClibc versions older than (not yet\nreleased) 0.9.34 don\u0027t have rpmatch() implementation. Add one.\n\nSigned-off-by: Baruch Siach \u003cbaruch@tkos.co.il\u003e\nSigned-off-by: Artem Bityutskiy \u003cartem.bityutskiy@linux.intel.com\u003e\nAcked-by: Mike Frysinger \u003cvapier@gentoo.org\u003e\n"
    },
    {
      "commit": "12158de7b14b8a05cfaab6c0b9e8bed52e50c8a9",
      "tree": "4bb43fb2925ee365961cfc3baeec7703d224e6c0",
      "parents": [
        "9f107132a6a073cce37434ca9cda6917dd8d866b"
      ],
      "author": {
        "name": "Artem Bityutskiy",
        "email": "artem.bityutskiy@linux.intel.com",
        "time": "Mon May 07 11:44:38 2012 +0300"
      },
      "committer": {
        "name": "Artem Bityutskiy",
        "email": "artem.bityutskiy@linux.intel.com",
        "time": "Mon Apr 07 14:05:54 2014 +0300"
      },
      "message": "make_a_release.sh: suggest announcement e-mail\n\nThe \u0027make_a_release.sh\u0027 script appears to be extremely useful - I do not\nforget things as I used to anymore (amending Makefile, signing, uploading\nto the FTP server, etc). It is very useful that it suggest me exact commands\nwhich I may just copy-past to my command line.\n\nThis patch improves the script and makes it suggest the e-mail announcement\nwhich I may just copy-paste to my command line and the announcement will\nbe sent using \u0027git send-email\u0027 command. It will include all the interested\nparties in CC.\n\nSigned-off-by: Artem Bityutskiy \u003cartem.bityutskiy@linux.intel.com\u003e\n"
    },
    {
      "commit": "9f107132a6a073cce37434ca9cda6917dd8d866b",
      "tree": "c451015c037d318ea18fcc5c0ef23eec7cf856a8",
      "parents": [
        "a9de8952104dcdf48858b9927c33a5f41a28568c"
      ],
      "author": {
        "name": "Artem Bityutskiy",
        "email": "artem.bityutskiy@linux.intel.com",
        "time": "Mon Apr 07 14:01:36 2014 +0300"
      },
      "committer": {
        "name": "Artem Bityutskiy",
        "email": "artem.bityutskiy@linux.intel.com",
        "time": "Mon Apr 07 14:01:36 2014 +0300"
      },
      "message": "Release mtd-utils-1.5.1\n\nSigned-off-by: Artem Bityutskiy \u003cartem.bityutskiy@linux.intel.com\u003e\n"
    },
    {
      "commit": "a9de8952104dcdf48858b9927c33a5f41a28568c",
      "tree": "1dc4039f27b36190a61566e641ca2dd2c92613f2",
      "parents": [
        "eac3108f123f7fcdfd1f2e368adb5729111574b3"
      ],
      "author": {
        "name": "Brian Norris",
        "email": "computersforpeace@gmail.com",
        "time": "Mon Mar 31 10:03:04 2014 -0700"
      },
      "committer": {
        "name": "Artem Bityutskiy",
        "email": "artem.bityutskiy@linux.intel.com",
        "time": "Mon Apr 07 13:44:47 2014 +0300"
      },
      "message": "ubiformat: correct \"non-ubifs\" warning message\n\nUBI\u0027s raw flash scan actually scans for UBI data, not UBIFS data (there\n*are* UBI users that are not UBIFS!), so correct the warning message.\nThis also matches the comment in libscan.h.\n\nSigned-off-by: Brian Norris \u003ccomputersforpeace@gmail.com\u003e\nSigned-off-by: Artem Bityutskiy \u003cartem.bityutskiy@linux.intel.com\u003e\n"
    },
    {
      "commit": "eac3108f123f7fcdfd1f2e368adb5729111574b3",
      "tree": "743f3283580f1492999d3d3d61d3238751aaaa69",
      "parents": [
        "4f291fbfa3ea677fd476466c82492a69ce6e562d"
      ],
      "author": {
        "name": "Daniel van Gerpen",
        "email": "daniel@vangerpen.de",
        "time": "Sun Mar 30 00:52:10 2014 +0100"
      },
      "committer": {
        "name": "Artem Bityutskiy",
        "email": "artem.bityutskiy@linux.intel.com",
        "time": "Mon Mar 31 12:52:38 2014 +0300"
      },
      "message": "ubi-utils: Fix file descriptor leaks in libubi\n\nAmended by Artem.\n\nSigned-off-by: Daniel van Gerpen \u003cdaniel@vangerpen.de\u003e\nSigned-off-by: Artem Bityutskiy \u003cartem.bityutskiy@linux.intel.com\u003e\n"
    },
    {
      "commit": "4f291fbfa3ea677fd476466c82492a69ce6e562d",
      "tree": "e92c3cb701b02ce04b2f60c24fcce3554a4b05df",
      "parents": [
        "6a9db93c239ff61412ba6629919b4411d836ae23"
      ],
      "author": {
        "name": "Brian Norris",
        "email": "computersforpeace@gmail.com",
        "time": "Fri Mar 21 23:45:44 2014 -0700"
      },
      "committer": {
        "name": "Artem Bityutskiy",
        "email": "artem.bityutskiy@linux.intel.com",
        "time": "Mon Mar 31 12:49:39 2014 +0300"
      },
      "message": "mkfs.ubifs: correct and improve LEB size error prints\n\nThe error message is incorrect for \"too small LEB size\" -- we were\nprinting the minimum I/O size instead of the LEB size.\n\nAt the same time, let\u0027s print the max LEB size along with the message\nfor \"too large LEB size\", to be consistent and more helpful.\n\nSigned-off-by: Brian Norris \u003ccomputersforpeace@gmail.com\u003e\nSigned-off-by: Artem Bityutskiy \u003cartem.bityutskiy@linux.intel.com\u003e\n"
    },
    {
      "commit": "6a9db93c239ff61412ba6629919b4411d836ae23",
      "tree": "5aa80cf857d2429f1687b6f275fee626005958b7",
      "parents": [
        "dcea43eba91642939c82739387147da26d572758"
      ],
      "author": {
        "name": "Ezequiel Garcia",
        "email": "ezequiel.garcia@free-electrons.com",
        "time": "Fri Mar 14 11:25:24 2014 -0300"
      },
      "committer": {
        "name": "Artem Bityutskiy",
        "email": "artem.bityutskiy@linux.intel.com",
        "time": "Tue Mar 25 09:54:48 2014 +0200"
      },
      "message": "ubi-utils: Add ubiblock tool\n\nWith the addition of block device access to UBI volumes, we now\nadd a simple userspace tool to access the new ioctls.\n\nUsage of this tool is as simple as it gets:\n\n  $ ubiblock --create /dev/ubi0_0\n\nwill create a new block device /dev/ubiblock0_0, and\n\n  $ ubiblock --remove /dev/ubi0_0\n\nwill remove the device.\n\nArtem: slightly changed the header comment.\n\nSigned-off-by: Ezequiel Garcia \u003cezequiel.garcia@free-electrons.com\u003e\nSigned-off-by: Artem Bityutskiy \u003cartem.bityutskiy@linux.intel.com\u003e\n"
    },
    {
      "commit": "dcea43eba91642939c82739387147da26d572758",
      "tree": "18e204e6abb8134a54c89c6c779e808cdf520208",
      "parents": [
        "89c22de378aba3e57f15b57af464e34bc0d38291"
      ],
      "author": {
        "name": "Aaron Sierra",
        "email": "asierra@xes-inc.com",
        "time": "Fri Sep 27 11:34:04 2013 -0500"
      },
      "committer": {
        "name": "Artem Bityutskiy",
        "email": "artem.bityutskiy@linux.intel.com",
        "time": "Sat Oct 26 11:25:33 2013 +0100"
      },
      "message": "mtd-utils: Makefile: add LDFLAGS_mkfs.ubifs\n\nThe build rule for mkfs.ubifs was missing an LDFLAGS_* variable like\nmkfs.jffs2 had. This prevented mkfs.ubifs from being built against\nexplicit external libraries which is needed when cross-compiling.\n\nThis also adds UUIDCPPFLAGS and UUIDLDFLAGS variables to support the\nmkfs.ubifs build.\n\nSigned-off-by: Aaron Sierra \u003casierra@xes-inc.com\u003e\n"
    },
    {
      "commit": "89c22de378aba3e57f15b57af464e34bc0d38291",
      "tree": "9318f95f4d4666274c2cc3faf11da93a6b231bf8",
      "parents": [
        "263e138719f6358c3cf2ce47d6254cebef31dd4b"
      ],
      "author": {
        "name": "Huang Shijie",
        "email": "b32955@freescale.com",
        "time": "Thu Oct 24 18:59:51 2013 +0800"
      },
      "committer": {
        "name": "Brian Norris",
        "email": "computersforpeace@gmail.com",
        "time": "Thu Oct 24 10:51:21 2013 -0700"
      },
      "message": "flash_erase: check the nand type\n\nNow, the MTD_NANDFLASH stands for SLC nand, and the MTD_MLCNANDFLASH\nstands for the MLC nand.\n\nThis patch includes the stdbool.h, and changes the \"isNAND\" to boolean type,\nand checks the right nand type for the MLC and SLC nand.\n\nIf the user wants to format a MLC nand for JFFS2, we will print out a message\nto warn him, and exit right now.\n\nSigned-off-by: Huang Shijie \u003cb32955@freescale.com\u003e\nSigned-off-by: Brian Norris \u003ccomputersforpeace@gmail.com\u003e\n"
    },
    {
      "commit": "263e138719f6358c3cf2ce47d6254cebef31dd4b",
      "tree": "fc8b86307b33dff1fb53cc125640da3b500c1e84",
      "parents": [
        "8e4c8259a59a62cec829edcbd2559006f57fc2aa"
      ],
      "author": {
        "name": "Huang Shijie",
        "email": "b32955@freescale.com",
        "time": "Tue Aug 20 13:58:37 2013 +0800"
      },
      "committer": {
        "name": "Brian Norris",
        "email": "computersforpeace@gmail.com",
        "time": "Tue Oct 22 16:19:23 2013 -0700"
      },
      "message": "check the MLC nand type\n\nIn the current code, the MTD_NANDFLASH stands for both the SLC and MLC.\n\nIn the kernel, the MTD_NANDFLASH only stands for the SLC now,\nso in order to keep the logic unchanged, we should also check the MLC\nNAND by MTD_MLCNANDFLASH.\n\nSigned-off-by: Huang Shijie \u003cb32955@freescale.com\u003e\nSigned-off-by: Brian Norris \u003ccomputersforpeace@gmail.com\u003e\n"
    },
    {
      "commit": "8e4c8259a59a62cec829edcbd2559006f57fc2aa",
      "tree": "1e8a53e1539f4b5593c6df1ae1d5316c6353e3e4",
      "parents": [
        "9561080de23f6e254b7eb9b7556adf960dad58a3"
      ],
      "author": {
        "name": "Huang Shijie",
        "email": "b32955@freescale.com",
        "time": "Tue Aug 20 13:58:36 2013 +0800"
      },
      "committer": {
        "name": "Brian Norris",
        "email": "computersforpeace@gmail.com",
        "time": "Tue Oct 22 16:18:23 2013 -0700"
      },
      "message": "flash_otp_write: use helper to check the nand\n\nUse the mtd_type_is_nand_user() helper to check if it is a NAND\n(including SLC/MLC).\n\nSigned-off-by: Huang Shijie \u003cb32955@freescale.com\u003e\nSigned-off-by: Brian Norris \u003ccomputersforpeace@gmail.com\u003e\n"
    },
    {
      "commit": "9561080de23f6e254b7eb9b7556adf960dad58a3",
      "tree": "ee626f0ff392932283fc1ad2b00c60625dcb39d7",
      "parents": [
        "2e4fe96b2bc5ad33793d0d5cbeb23c9f76155211"
      ],
      "author": {
        "name": "Huang Shijie",
        "email": "b32955@freescale.com",
        "time": "Tue Aug 20 13:58:35 2013 +0800"
      },
      "committer": {
        "name": "Brian Norris",
        "email": "computersforpeace@gmail.com",
        "time": "Tue Oct 22 16:18:19 2013 -0700"
      },
      "message": "mtd: mtd-abi: add a helper to detect the nand type\n\nThe helper is for user applications, and it is just a copy of\nthe kernel helper: mtd_type_is_nand();\n\nSigned-off-by: Huang Shijie \u003cb32955@freescale.com\u003e\nSigned-off-by: Brian Norris \u003ccomputersforpeace@gmail.com\u003e\n"
    },
    {
      "commit": "2e4fe96b2bc5ad33793d0d5cbeb23c9f76155211",
      "tree": "1be06adf1edcb05e6bb49801a15fd1a42e8bb8fd",
      "parents": [
        "ab8c6fb93ce9db0f09401c4b819b0b277dc00340"
      ],
      "author": {
        "name": "Huang Shijie",
        "email": "b32955@freescale.com",
        "time": "Tue Aug 20 13:58:34 2013 +0800"
      },
      "committer": {
        "name": "Brian Norris",
        "email": "computersforpeace@gmail.com",
        "time": "Tue Oct 22 16:17:52 2013 -0700"
      },
      "message": "add the MTD_MLCNANDFLASH case\n\nThe MTD_MLCNANDFLASH case is missed in the current code.\nThis patch adds it.\n\nSigned-off-by: Huang Shijie \u003cb32955@freescale.com\u003e\nSigned-off-by: Brian Norris \u003ccomputersforpeace@gmail.com\u003e\n"
    },
    {
      "commit": "ab8c6fb93ce9db0f09401c4b819b0b277dc00340",
      "tree": "52605fdb78f42db89e5d6a96f7e42c27cc071e6c",
      "parents": [
        "2bd7447e96e1c6cf8637713f9cbcec51b05e5aa1"
      ],
      "author": {
        "name": "Mike Frysinger",
        "email": "vapier@gentoo.org",
        "time": "Thu May 09 13:59:24 2013 -0400"
      },
      "committer": {
        "name": "Artem Bityutskiy",
        "email": "artem.bityutskiy@linux.intel.com",
        "time": "Mon Jul 01 09:15:24 2013 +0300"
      },
      "message": "ubiupdatevol: add a --skip option\n\nThis already has a --size option for controlling how many bytes to read\nfrom the input.  Add a --skip option to control the offset into the input\ntoo.  This way people don\u0027t have to do `dd | ubiupdatevol`.\n\nWhile we\u0027re here, I\u0027ve fixed the types used with args.size and the read\nloop so that they can hold the right sizes (like setting a 32bit+ size).\n\nSigned-off-by: Mike Frysinger \u003cvapier@gentoo.org\u003e\nSigned-off-by: Artem Bityutskiy \u003cartem.bityutskiy@linux.intel.com\u003e\n"
    },
    {
      "commit": "2bd7447e96e1c6cf8637713f9cbcec51b05e5aa1",
      "tree": "bb6795c6f21ba69e639d1db84489595c386dcfcc",
      "parents": [
        "e77565ee458a7d6863f8434a97156a66547f2b98"
      ],
      "author": {
        "name": "Artem Bityutskiy",
        "email": "artem.bityutskiy@linux.intel.com",
        "time": "Mon Jul 01 09:12:43 2013 +0300"
      },
      "committer": {
        "name": "Artem Bityutskiy",
        "email": "artem.bityutskiy@linux.intel.com",
        "time": "Mon Jul 01 09:12:43 2013 +0300"
      },
      "message": "nandwrite: amendment to Mike\u0027s --input-* series\n\nThis is a delta between v1 and v2 of the patches. I pushed v1 instead of\npicking v2, and this is a fixup.\n\nSigned-off-by: Artem Bityutskiy \u003cartem.bityutskiy@linux.intel.com\u003e\n"
    },
    {
      "commit": "e77565ee458a7d6863f8434a97156a66547f2b98",
      "tree": "4e489b84a56ead1b87ecf33a0d959de53a23869f",
      "parents": [
        "6d17edd24cfcf3595a7f302d70afcfaebfb45629"
      ],
      "author": {
        "name": "Mike Frysinger",
        "email": "vapier@gentoo.org",
        "time": "Wed May 08 20:03:14 2013 -0400"
      },
      "committer": {
        "name": "Artem Bityutskiy",
        "email": "artem.bityutskiy@linux.intel.com",
        "time": "Mon Jul 01 09:00:49 2013 +0300"
      },
      "message": "nandwrite: add --input-{skip,size} options\n\nIf you have a file image and want to copy sub-portions out and into\nNAND, there\u0027s no easy way to do that.  You can use dd to extract it\nto a temp file, or pipe it to nandwrite 1 page at a time.  Both suck.\n\nAdd two new flags to explicitly set the size and offset of the input\nfile.  Seeking stdin isn\u0027t currently supported as I\u0027m not sure it\u0027s\nnecessary.  It wouldn\u0027t be hard to add though...\n\nSigned-off-by: Mike Frysinger \u003cvapier@gentoo.org\u003e\nSigned-off-by: Artem Bityutskiy \u003cartem.bityutskiy@linux.intel.com\u003e\n"
    },
    {
      "commit": "6d17edd24cfcf3595a7f302d70afcfaebfb45629",
      "tree": "7a406187fd4b0e3b372ec3f46cbbe349bfdbfef3",
      "parents": [
        "f6b476ee29833e13c0285d49ebb75666176b2aa7"
      ],
      "author": {
        "name": "Mike Frysinger",
        "email": "vapier@gentoo.org",
        "time": "Wed May 08 20:03:13 2013 -0400"
      },
      "committer": {
        "name": "Artem Bityutskiy",
        "email": "artem.bityutskiy@linux.intel.com",
        "time": "Mon Jul 01 09:00:41 2013 +0300"
      },
      "message": "nandwrite: clean up length types\n\nWe use \u0027int\u0027 in many places to represent offsets/sizes.  That obviously\ndoes not play well with larger NAND devices on 32bit systems.  Instead,\nuse the right type as needed:\n - long long to represent the length of the image\n - use fstat() rather than lseek();lseek(); to get the length of the image\n - use size_t/ssize_t when working with read()\n - tweak the printf formats as needed\n\nSigned-off-by: Mike Frysinger \u003cvapier@gentoo.org\u003e\nSigned-off-by: Artem Bityutskiy \u003cartem.bityutskiy@linux.intel.com\u003e\n"
    },
    {
      "commit": "f6b476ee29833e13c0285d49ebb75666176b2aa7",
      "tree": "494def6d89b38b79a975479a770c6a2eda30eb9b",
      "parents": [
        "450e9cb17d3d86e3e45fd427c85644ac64ec60a4"
      ],
      "author": {
        "name": "Mike Frysinger",
        "email": "vapier@gentoo.org",
        "time": "Wed May 08 19:02:03 2013 -0400"
      },
      "committer": {
        "name": "Artem Bityutskiy",
        "email": "artem.bityutskiy@linux.intel.com",
        "time": "Mon Jul 01 09:00:32 2013 +0300"
      },
      "message": "nand{dump, test, write}: clean up --help handling\n\nWe should send the output to stdout when the user passes -h/--help\nand then exit(0), but otherwise the output should go to stderr and\nthen exit(1).\n\nSigned-off-by: Mike Frysinger \u003cvapier@gentoo.org\u003e\nSigned-off-by: Artem Bityutskiy \u003cartem.bityutskiy@linux.intel.com\u003e\n"
    },
    {
      "commit": "450e9cb17d3d86e3e45fd427c85644ac64ec60a4",
      "tree": "39e0c67d2650164c9095ba90d47485b8170c571f",
      "parents": [
        "1075562c9e34153b43c12ec5c0b173a1a593b92a"
      ],
      "author": {
        "name": "Mike Frysinger",
        "email": "vapier@gentoo.org",
        "time": "Wed May 08 19:01:55 2013 -0400"
      },
      "committer": {
        "name": "Artem Bityutskiy",
        "email": "artem.bityutskiy@linux.intel.com",
        "time": "Mon Jul 01 08:56:04 2013 +0300"
      },
      "message": "use xstrdup in a few more places\n\nThese call sites either assume there is no failure (they deref the\npointer right away), or the exit themselves.  Use xstrdup() instead.\n\nSigned-off-by: Mike Frysinger \u003cvapier@gentoo.org\u003e\nSigned-off-by: Artem Bityutskiy \u003cartem.bityutskiy@linux.intel.com\u003e\n"
    },
    {
      "commit": "1075562c9e34153b43c12ec5c0b173a1a593b92a",
      "tree": "b36fc3b7895ed129901060739337ffac09f4b66a",
      "parents": [
        "dbe0fd17f2323f108715db0bd0f734e9563e40d8"
      ],
      "author": {
        "name": "Mike Frysinger",
        "email": "vapier@gentoo.org",
        "time": "Wed May 08 12:27:26 2013 -0400"
      },
      "committer": {
        "name": "Artem Bityutskiy",
        "email": "artem.bityutskiy@linux.intel.com",
        "time": "Mon Jul 01 08:56:00 2013 +0300"
      },
      "message": "mkfs.ubifs: allow reformatting of devices\n\nSometimes I want to re-initialize an existing ubifs, but the tool\ncurrently bails out if the volume is already formatted.  Prompt the\nuser instead so they can decide.\n\nSigned-off-by: Mike Frysinger \u003cvapier@gentoo.org\u003e\nSigned-off-by: Artem Bityutskiy \u003cartem.bityutskiy@linux.intel.com\u003e\n"
    },
    {
      "commit": "dbe0fd17f2323f108715db0bd0f734e9563e40d8",
      "tree": "0e2342e773045ee2e7f937c1eec5250dbc0810f1",
      "parents": [
        "8b4786830174e06bc27810f15c76f72cb3e951d9"
      ],
      "author": {
        "name": "Mike Frysinger",
        "email": "vapier@gentoo.org",
        "time": "Wed May 08 12:27:25 2013 -0400"
      },
      "committer": {
        "name": "Artem Bityutskiy",
        "email": "artem.bityutskiy@linux.intel.com",
        "time": "Mon Jul 01 08:55:55 2013 +0300"
      },
      "message": "mtd-utils: new prompt() helper for talking to the user\n\nWe\u0027ve got a few tools that prompt the user for \"yes/no\" questions.\nAdd a common helper to simplify the various implementations.\n\nSigned-off-by: Mike Frysinger \u003cvapier@gentoo.org\u003e\nSigned-off-by: Artem Bityutskiy \u003cartem.bityutskiy@linux.intel.com\u003e\n"
    },
    {
      "commit": "8b4786830174e06bc27810f15c76f72cb3e951d9",
      "tree": "059765d63c74a281772da2f91c0c5fa285162de7",
      "parents": [
        "65405e7eb0b83f76ac3e1ace9db6549154568d99"
      ],
      "author": {
        "name": "Mike Frysinger",
        "email": "vapier@gentoo.org",
        "time": "Wed May 08 12:27:24 2013 -0400"
      },
      "committer": {
        "name": "Artem Bityutskiy",
        "email": "artem.bityutskiy@linux.intel.com",
        "time": "Mon Jul 01 08:55:49 2013 +0300"
      },
      "message": "move _GNU_SOURCE to the main makefile\n\nA bunch of utils are relying on _GNU_SOURCE already.  The new prompt code\nuses getline() which is now part of POSIX, but in older versions of glibc,\nit was behind _GNU_SOURCE as it was a GNU extension.\n\nThis change doesn\u0027t actually tie us to glibc.  Only code that uses GNU\nextensions does that.  It just kills warning when using older versions of\nglibc.\n\nSigned-off-by: Mike Frysinger \u003cvapier@gentoo.org\u003e\nSigned-off-by: Artem Bityutskiy \u003cartem.bityutskiy@linux.intel.com\u003e\n"
    },
    {
      "commit": "65405e7eb0b83f76ac3e1ace9db6549154568d99",
      "tree": "ab891290f09e3f488ae8c039c9f99e1e9f5ce790",
      "parents": [
        "f132219548fc452a9fcd6f80af89abce4294f0ea"
      ],
      "author": {
        "name": "Mike Frysinger",
        "email": "vapier@gentoo.org",
        "time": "Wed May 08 12:26:13 2013 -0400"
      },
      "committer": {
        "name": "Artem Bityutskiy",
        "email": "artem.bityutskiy@linux.intel.com",
        "time": "Mon Jul 01 08:49:33 2013 +0300"
      },
      "message": "fix build errors w/newer kernel headers \u0026 glibc\n\nBuilding with linux-headers-3.9 and glibc-2.17 fails like so:\nIn file included from summary.h:15:0,\n                 from jffs2dump.c:37:\n/usr/include/linux/uio.h:16:8: error: redefinition of \u0027struct iovec\u0027\n struct iovec\n        ^\nIn file included from /usr/include/bits/fcntl-linux.h:38:0,\n                 from /usr/include/bits/fcntl.h:61,\n                 from /usr/include/fcntl.h:35,\n                 from jffs2dump.c:25:\n/usr/include/bits/uio.h:43:8: note: originally defined here\n struct iovec\n        ^\n\nSigned-off-by: Mike Frysinger \u003cvapier@gentoo.org\u003e\n"
    },
    {
      "commit": "f132219548fc452a9fcd6f80af89abce4294f0ea",
      "tree": "636588746b28781876a95043e34947c764c41478",
      "parents": [
        "f1825095f5fe9173828262d64ba8c1588778ffc6"
      ],
      "author": {
        "name": "Mike Frysinger",
        "email": "vapier@gentoo.org",
        "time": "Wed May 08 12:21:23 2013 -0400"
      },
      "committer": {
        "name": "Artem Bityutskiy",
        "email": "artem.bityutskiy@linux.intel.com",
        "time": "Mon Jul 01 08:48:09 2013 +0300"
      },
      "message": "ftl_check/ftl_format/nftldump: use existing mtd_swab.h header\n\nWe already have a helper header for swapping bytes as needed, so cut\nthe ftl tools over to that rather than re-implement things.\n\nI don\u0027t actually have any devices with this kind of flash, so I can\u0027t\nruntime test it.  But things *look* ok to me :).\n\nSigned-off-by: Mike Frysinger \u003cvapier@gentoo.org\u003e\n"
    },
    {
      "commit": "f1825095f5fe9173828262d64ba8c1588778ffc6",
      "tree": "3a49361ae28ad3d6fc3821178d946d68ea14771b",
      "parents": [
        "d51d421d1b8f1afcedb8593ce835819c57792f45"
      ],
      "author": {
        "name": "Mike Frysinger",
        "email": "vapier@gentoo.org",
        "time": "Mon May 06 18:54:07 2013 -0400"
      },
      "committer": {
        "name": "Artem Bityutskiy",
        "email": "artem.bityutskiy@linux.intel.com",
        "time": "Mon Jul 01 08:37:54 2013 +0300"
      },
      "message": "ubinize: fix usage text\n\nDrop duplicate \"and the\", and tweak grammar slightly.\n\nSigned-off-by: Mike Frysinger \u003cvapier@gentoo.org\u003e\nSigned-off-by: Artem Bityutskiy \u003cartem.bityutskiy@linux.intel.com\u003e\n"
    },
    {
      "commit": "d51d421d1b8f1afcedb8593ce835819c57792f45",
      "tree": "a60714c04102e431b7bb96b7f4e5c2dc5ab5db76",
      "parents": [
        "c8f34d79c4f5d6f061d744538949167afa803f5f"
      ],
      "author": {
        "name": "Mike Frysinger",
        "email": "vapier@gentoo.org",
        "time": "Thu May 02 12:33:21 2013 -0400"
      },
      "committer": {
        "name": "Artem Bityutskiy",
        "email": "artem.bityutskiy@linux.intel.com",
        "time": "Wed May 29 15:36:01 2013 +0300"
      },
      "message": "flash_erase: use pwrite() rather than lseek() \u0026\u0026 write()\n\nSaves a syscall.\n\nSigned-off-by: Mike Frysinger \u003cvapier@gentoo.org\u003e\nSigned-off-by: Artem Bityutskiy \u003cartem.bityutskiy@linux.intel.com\u003e\n"
    },
    {
      "commit": "c8f34d79c4f5d6f061d744538949167afa803f5f",
      "tree": "acd5c55b74387f6e96a110a08cc21417ba1c24b9",
      "parents": [
        "66a2c7ba305ddf3865113aa42b5c99ace9289640"
      ],
      "author": {
        "name": "Artem Bityutskiy",
        "email": "artem.bityutskiy@linux.intel.com",
        "time": "Mon Mar 11 10:44:29 2013 +0200"
      },
      "committer": {
        "name": "Artem Bityutskiy",
        "email": "artem.bityutskiy@linux.intel.com",
        "time": "Mon Mar 11 10:44:29 2013 +0200"
      },
      "message": "integck: fix identation a bit\n\nSigned-off-by: Artem Bityutskiy \u003cartem.bityutskiy@linux.intel.com\u003e\n"
    },
    {
      "commit": "66a2c7ba305ddf3865113aa42b5c99ace9289640",
      "tree": "8a9c3213199c2f2a68ec99044522460fe6cee1c8",
      "parents": [
        "ca7a5eda221d53aa571836a6186ed117c804d702"
      ],
      "author": {
        "name": "Elie De Brauwer",
        "email": "eliedebrauwer@gmail.com",
        "time": "Fri Mar 01 19:37:40 2013 +0100"
      },
      "committer": {
        "name": "Artem Bityutskiy",
        "email": "artem.bityutskiy@linux.intel.com",
        "time": "Mon Mar 11 10:41:11 2013 +0200"
      },
      "message": "Typo fixes: avaiable -\u003e available and priortiry -\u003e priority\n\nSigned-off-by: Elie De Brauwer \u003celiedebrauwer@gmail.com\u003e\nSigned-off-by: Artem Bityutskiy \u003cartem.bityutskiy@linux.intel.com\u003e\n"
    },
    {
      "commit": "ca7a5eda221d53aa571836a6186ed117c804d702",
      "tree": "9254d8a667c60e4f3fb87f4f7f8fc29863876e2d",
      "parents": [
        "3ff90433ab22c001215d9a26c65de1b7f448dc79"
      ],
      "author": {
        "name": "Elie De Brauwer",
        "email": "eliedebrauwer@gmail.com",
        "time": "Fri Mar 01 19:37:39 2013 +0100"
      },
      "committer": {
        "name": "Artem Bityutskiy",
        "email": "artem.bityutskiy@linux.intel.com",
        "time": "Mon Mar 11 10:40:23 2013 +0200"
      },
      "message": "integck.c: Fix buffer overflow in save_file\n\nIn the problem above I\u0027ve spend several hours waiting for the issue to \nappear, only to had the \u0027luck\u0027 that it was found in a file whose name was\n256 bytes in length, resulting in the write to fail. Closer examination \nshowed that the buffer to store the path was 256 bytes in length, but this\nbuffer also includes /tmp and the read/write suffix and should be able to\ncontain a filename which is up to 255 bytes (NAME_MAX in linux/limits.h)\nin size which is a bad fit. So that array is modified to FILENAME_MAX\n(stdio_lim.h) and some checking is added to truncate the filename should\nit cause an overflow.\n\nThe following log shows the first patch in action (see the correct seed), \nand shows why this third patch is needed:\n\u003cquote\u003e\nintegck:     File Data:\nintegck:         Offset: 0  Size: 1  Seed: 5008310  R.Off: 0\nintegck:     1 writes\nintegck:     \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\nintegck:     Write Info:\nintegck:         Offset: 0  Size: 1  Seed: 5008310  R.Off: 0\nintegck:         Offset: 0  Size: 1  Seed: 8246352  R.Off: 0\nintegck:         Offset: 0  Size: 1  Seed: 5078796  R.Off: 0\nintegck:         Offset: 0  Size: 1  Seed: 2267087  R.Off: 0\nintegck:         Offset: 0  Size: 1  Seed: 3602680  R.Off: 0\nintegck:     5 writes or truncations\nintegck:     \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\nintegck: Saving /tmp/yqcnfygfitaatyeyvffrguegcdttamcnyhowhgieljfuxfipiljsjcbluaeaghwyinkggommsbwnmvekihgnwgiibccpbwfrpxuxwkmnyghnutrudienngxwgorudbskedaaekiuiyqksfazrwzfwbfhzjjqoiulebtlpbfiuffmsnguqkjzqjqizimsmhbqqagaebjdhqwmzdxghiavtcxubegawlgtvstuqurkurpnrckjfkgostdtpg.integ.sav.readn\nintegck: error!: condition \u0027w_fd !\u003d -1\u0027 failed in save_file() at integck.c:1445\nintegck: error 36 (File name too long)\n\u003c/quote\u003e\n\nSigned-off-by: Elie De Brauwer \u003celiedebrauwer@gmail.com\u003e\nSigned-off-by: Artem Bityutskiy \u003cartem.bityutskiy@linux.intel.com\u003e\n"
    },
    {
      "commit": "3ff90433ab22c001215d9a26c65de1b7f448dc79",
      "tree": "3e415b39434b2674e1351399a9c8592aa416c91a",
      "parents": [
        "681d1d6c311ac918986e964f65097d556b2acd78"
      ],
      "author": {
        "name": "Elie De Brauwer",
        "email": "eliedebrauwer@gmail.com",
        "time": "Fri Mar 01 19:37:38 2013 +0100"
      },
      "committer": {
        "name": "Artem Bityutskiy",
        "email": "artem.bityutskiy@linux.intel.com",
        "time": "Mon Mar 11 10:36:02 2013 +0200"
      },
      "message": "integck.c: rework file_check_data to immediately dump the buffer containing the errors\n\nSee my problem description int the previous commit, the point is that integck\nin file_check_data reads a buffer, and then checks if the data is correct,  it\nwill do a seek(0), and reread from the same fd. The point is that in the\nscenario I observed integck failed (due to a buffer mismatch) but the it saved\n(and what was in flash) was actually correct. So I modified this function to\ndump the buffers to stderr at the moment an error is found.\n\nSigned-off-by: Elie De Brauwer \u003celiedebrauwer@gmail.com\u003e\nSigned-off-by: Artem Bityutskiy \u003cartem.bityutskiy@linux.intel.com\u003e\n"
    },
    {
      "commit": "681d1d6c311ac918986e964f65097d556b2acd78",
      "tree": "6a2064623b36cf9a70663362c8d1ced313e37c17",
      "parents": [
        "1145ef7ee979dde2d611e09d00fc6ff0090dcc9d"
      ],
      "author": {
        "name": "Elie De Brauwer",
        "email": "eliedebrauwer@gmail.com",
        "time": "Fri Mar 01 19:37:37 2013 +0100"
      },
      "committer": {
        "name": "Artem Bityutskiy",
        "email": "artem.bityutskiy@linux.intel.com",
        "time": "Mon Mar 11 10:33:58 2013 +0200"
      },
      "message": "integck.c: Only verify the operation after all datastructures have been updated\n\n\u003cquote\u003e\nintegck:     File Data:\nintegck:         Offset: 0  Size: 196  Seed: 5999877  R.Off: 0\nintegck:         Offset: 196  Size: 33  Seed: 4160795  R.Off: 0\nintegck:         Offset: 229  Size: 1252  Seed: 8070052  R.Off: 0\nintegck:         Offset: 1481  Size: 612  Seed: 4160795  R.Off: 1285\nintegck:         Offset: 2093  Size: 6  Seed: 6946586  R.Off: 0\nintegck:         Offset: 2099  Size: 536  Seed: 4160795  R.Off: 1903\nintegck:         Offset: 2635  Size: 1562  Seed: 9845455  R.Off: 0\nintegck:         Offset: 4197  Size: 80  Seed: 702818  R.Off: 0\nintegck:         Offset: 4277  Size: 115  Seed: 9845455  R.Off: 1642\nintegck:     9 writes\nintegck:     \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\nintegck:     Write Info:\nintegck:         Offset: 826  Size: 357  Seed: 5908448  R.Off: 0\nintegck:         Offset: 4197  Size: 80  Seed: 702818  R.Off: 0\n...\n\u003c/quote\u003e\nAnd I would expect the file data listing to include at offset 826 something\nwith a size of 357 and a seed of 5908448. Clearly it is not there (which\nis already extremely confusing). The point is that file_write_info first \nupdates the raw_write, then verifies the data (passing the new write) \nand only after that updates the write structure. But in file_check_data\nonly the newly written data is verified (passed as an argument) whilst \nthe save_file() function to dump the file uses the raw_writes to recreate\nthe written data (while raw_writes is only updated after after this check\nwould have succeeded). Several lines to say that in this patch the verify\nonly gets called _after_ the datastructures are updated. \n\nSigned-off-by: Elie De Brauwer \u003celiedebrauwer@gmail.com\u003e\nSigned-off-by: Artem Bityutskiy \u003cartem.bityutskiy@linux.intel.com\u003e\n"
    },
    {
      "commit": "1145ef7ee979dde2d611e09d00fc6ff0090dcc9d",
      "tree": "4d9ddf29f2841957f9d8b2fbc9612110e607b070",
      "parents": [
        "86cf5bd1e0633f16c722500bd9717d999a7e2473"
      ],
      "author": {
        "name": "Uwe Kleine-König",
        "email": "u.kleine-koenig@pengutronix.de",
        "time": "Thu Feb 28 10:42:26 2013 +0100"
      },
      "committer": {
        "name": "Artem Bityutskiy",
        "email": "artem.bityutskiy@linux.intel.com",
        "time": "Mon Mar 11 09:51:29 2013 +0200"
      },
      "message": "flash_otp_write: fix a buffer overflow on NAND with write size \u003e 2048\n\nI\u0027m not aware of any chip having a write size bigger than 2048 today.\nStill checking for that instead of a sleeping problem to bite us maybe\nin a few years is easy.\n\nSigned-off-by: Uwe Kleine-König \u003cu.kleine-koenig@pengutronix.de\u003e\nSigned-off-by: Artem Bityutskiy \u003cartem.bityutskiy@linux.intel.com\u003e\n"
    },
    {
      "commit": "86cf5bd1e0633f16c722500bd9717d999a7e2473",
      "tree": "961c1608f96123d1a4a128b3266ce4036bfcfd2b",
      "parents": [
        "703bb3a4e0324ab7ef14b483e793738cc338358e"
      ],
      "author": {
        "name": "Uwe Kleine-König",
        "email": "u.kleine-koenig@pengutronix.de",
        "time": "Thu Feb 28 10:42:09 2013 +0100"
      },
      "committer": {
        "name": "Artem Bityutskiy",
        "email": "artem.bityutskiy@linux.intel.com",
        "time": "Mon Mar 11 09:51:29 2013 +0200"
      },
      "message": "flash_otp_write: fix writing to NAND in presence of partial reads\n\nWhen doing something like:\n\n\t{ printf \"\\xff\"; printf \"\\xfe\"; } | flash_otp_write -u /dev/mtd0 0\n\nflash_otp_write might see only a single byte when reading from stdin for\nthe first tim. In this case (and without this patch) it pads to\n$writesize with \u0027\\xff\u0027s and writes that out. In the next iteration it\nreads the 2nd byte, pads and writes again. So the 2nd byte is written to\noffset $writesize instead of 1.\n\nSigned-off-by: Uwe Kleine-König \u003cu.kleine-koenig@pengutronix.de\u003e\nSigned-off-by: Artem Bityutskiy \u003cartem.bityutskiy@linux.intel.com\u003e\n"
    },
    {
      "commit": "703bb3a4e0324ab7ef14b483e793738cc338358e",
      "tree": "6faeb10723735ce49cefe3ae9056b62c5f75bf22",
      "parents": [
        "c42d7667aaa5d90b5ffc04f86dd691fb174c34f3"
      ],
      "author": {
        "name": "Uwe Kleine-König",
        "email": "u.kleine-koenig@pengutronix.de",
        "time": "Wed Feb 20 17:41:31 2013 +0100"
      },
      "committer": {
        "name": "Artem Bityutskiy",
        "email": "artem.bityutskiy@linux.intel.com",
        "time": "Wed Mar 06 11:24:51 2013 +0200"
      },
      "message": "Makefile: also build and install flash_otp_lock and flash_otp_write\n\nSigned-off-by: Uwe Kleine-König \u003cu.kleine-koenig@pengutronix.de\u003e\nSigned-off-by: Artem Bityutskiy \u003cartem.bityutskiy@linux.intel.com\u003e\n"
    },
    {
      "commit": "c42d7667aaa5d90b5ffc04f86dd691fb174c34f3",
      "tree": "cec3eee75cadfcc18fe52ceb0d446e00027e1344",
      "parents": [
        "93d08c464eabc5c667972be155226008c2eb7c9f"
      ],
      "author": {
        "name": "Wolfram Sang",
        "email": "w.sang@pengutronix.de",
        "time": "Thu Dec 13 17:41:14 2012 +0100"
      },
      "committer": {
        "name": "Artem Bityutskiy",
        "email": "artem.bityutskiy@linux.intel.com",
        "time": "Tue Jan 15 10:37:56 2013 +0200"
      },
      "message": "ubiformat: fix error path\n\nA few error paths were closing the device, although it was not opened\nyet.\n\nSigned-off-by: Wolfram Sang \u003cw.sang@pengutronix.de\u003e\nSigned-off-by: Artem Bityutskiy \u003cartem.bityutskiy@linux.intel.com\u003e\n"
    },
    {
      "commit": "93d08c464eabc5c667972be155226008c2eb7c9f",
      "tree": "983e1872ee5dec809c0aa826e047f54fc88de49e",
      "parents": [
        "3835899b3b29904eede98e0c22973a430c9cb1f9"
      ],
      "author": {
        "name": "Wolfram Sang",
        "email": "w.sang@pengutronix.de",
        "time": "Thu Dec 13 17:35:58 2012 +0100"
      },
      "committer": {
        "name": "Artem Bityutskiy",
        "email": "artem.bityutskiy@linux.intel.com",
        "time": "Tue Jan 15 10:36:37 2013 +0200"
      },
      "message": "ubiformat: clean up synopsis of command-line parameters\n\nAdd -Q and --image-seq, remove double -v\n\nSigned-off-by: Wolfram Sang \u003cw.sang@pengutronix.de\u003e\nSigned-off-by: Artem Bityutskiy \u003cartem.bityutskiy@linux.intel.com\u003e\n"
    },
    {
      "commit": "3835899b3b29904eede98e0c22973a430c9cb1f9",
      "tree": "a0d8af79f9c4420af3b38a6378121c69ce0c58cc",
      "parents": [
        "7343528e5821c69224000ed7cfd3e8aaf47b7a93"
      ],
      "author": {
        "name": "Brian Norris",
        "email": "computersforpeace@gmail.com",
        "time": "Sat Nov 24 23:26:09 2012 -0800"
      },
      "committer": {
        "name": "Artem Bityutskiy",
        "email": "artem.bityutskiy@linux.intel.com",
        "time": "Mon Dec 03 15:16:55 2012 +0200"
      },
      "message": "ubi-tests: fix pthreads linking\n\nTechnically, \u0027-l\u0027 linker options should be included only after the\nobjects which must link to the library. So when we include \u0027-lpthread\u0027\nin the LDFLAGS variable, it gets placed too early (i.e., before the\nio_paral.o object), and so the pthread linkage never occurs. The\nfollowing error probably only shows up with linkers that don\u0027t link\npthreads by default.\n\n$ make tests V\u003d1\n...\ngcc -I../../ubi-utils//include -I ../../include -lpthread -Wall -Wextra -Wwrite-strings -Wno-sign-compare -ffunction-sections -fdata-sections -Wl,--gc-sections   -g -o /home/norris/git/mtd-utils/tests/ubi-tests/io_paral /home/norris/git/mtd-utils/tests/ubi-tests/io_paral.o /home/norris/git/mtd-utils/tests/ubi-tests/helpers.o libubi.a\n/home/norris/git/mtd-utils/tests/ubi-tests/io_paral.o: In function `main\u0027:\n/home/norris/git/mtd-utils/tests/ubi-tests/io_paral.c:287: undefined reference to `pthread_create\u0027\n/home/norris/git/mtd-utils/tests/ubi-tests/io_paral.c:295: undefined reference to `pthread_create\u0027\n/home/norris/git/mtd-utils/tests/ubi-tests/io_paral.c:303: undefined reference to `pthread_join\u0027\ncollect2: ld returned 1 exit status\nmake[2]: *** [/home/norris/git/mtd-utils/tests/ubi-tests/io_paral] Error 1\n...\n\n$ ld --version\nGNU ld (GNU Binutils for Ubuntu) 2.22\n...\n$ gcc --version\ngcc (Ubuntu/Linaro 4.6.3-1ubuntu5) 4.6.3\n...\n\nSigned-off-by: Brian Norris \u003ccomputersforpeace@gmail.com\u003e\nSigned-off-by: Artem Bityutskiy \u003cartem.bityutskiy@linux.intel.com\u003e\n"
    },
    {
      "commit": "7343528e5821c69224000ed7cfd3e8aaf47b7a93",
      "tree": "8f283ceefef028996c0ce1b5de9bf5214ed8752c",
      "parents": [
        "98ed9f3360bb5cbfb02d2cb82ee3167fce437772"
      ],
      "author": {
        "name": "Artem Bityutskiy",
        "email": "artem.bityutskiy@linux.intel.com",
        "time": "Fri Nov 16 09:56:52 2012 +0200"
      },
      "committer": {
        "name": "Artem Bityutskiy",
        "email": "artem.bityutskiy@linux.intel.com",
        "time": "Fri Nov 16 10:09:54 2012 +0200"
      },
      "message": "ubi-tests: switch to using common.h from the top level\n\nSorry, the commit is huge, I just did not have time to split it.\n\nSigned-off-by: Artem Bityutskiy \u003cartem.bityutskiy@linux.intel.com\u003e\n"
    },
    {
      "commit": "98ed9f3360bb5cbfb02d2cb82ee3167fce437772",
      "tree": "1d174314cb22a079eb27575564b406b7be016102",
      "parents": [
        "c557e71b1070e3282156c0466462975a95d0d05c"
      ],
      "author": {
        "name": "Artem Bityutskiy",
        "email": "artem.bityutskiy@linux.intel.com",
        "time": "Fri Nov 16 09:52:21 2012 +0200"
      },
      "committer": {
        "name": "Artem Bityutskiy",
        "email": "artem.bityutskiy@linux.intel.com",
        "time": "Fri Nov 16 09:52:21 2012 +0200"
      },
      "message": "ubi-tests: rename common.[ch] to helpers.[ch]\n\n... to avoid confusion when the local common.h shadows the top-level common.h.\n\nSigned-off-by: Artem Bityutskiy \u003cartem.bityutskiy@linux.intel.com\u003e\n"
    },
    {
      "commit": "c557e71b1070e3282156c0466462975a95d0d05c",
      "tree": "74d76dc3d3687dea11f22874f46499909003e4a4",
      "parents": [
        "d81ac614683e3de9b21b82c4dcdb1eb81a4f849a"
      ],
      "author": {
        "name": "Bill Pringlemeir",
        "email": "bpringle@sympatico.ca",
        "time": "Mon Nov 05 12:38:36 2012 -0500"
      },
      "committer": {
        "name": "Artem Bityutskiy",
        "email": "artem.bityutskiy@linux.intel.com",
        "time": "Fri Nov 16 09:35:25 2012 +0200"
      },
      "message": "ubi-tests: ubi_leb_change_start() no longer uses \u0027dtype\u0027.\n\nThis will not compile for me (due to bit rot?).  Maybe the program is\nnever used?\n\nSigned-off-by: Bill Pringlemeir \u003cbpringlemeir@nbsps.com\u003e\nSigned-off-by: Artem Bityutskiy \u003cartem.bityutskiy@linux.intel.com\u003e\n"
    },
    {
      "commit": "d81ac614683e3de9b21b82c4dcdb1eb81a4f849a",
      "tree": "e3ee5ff3f133d8041aed86085e9b52863f7094a7",
      "parents": [
        "334221cf5a94ec3a75c7620661eb5b7b5332256c"
      ],
      "author": {
        "name": "Wolfram Sang",
        "email": "w.sang@pengutronix.de",
        "time": "Sat Oct 20 17:12:56 2012 +0200"
      },
      "committer": {
        "name": "Artem Bityutskiy",
        "email": "artem.bityutskiy@linux.intel.com",
        "time": "Mon Nov 12 17:20:30 2012 +0200"
      },
      "message": "ubiformat: really skip some messages when quiet\n\nBoth logic (only print when not quiet) and the indentation suggest that\nthe braces around the block have been forgotten.\n\nSigned-off-by: Wolfram Sang \u003cw.sang@pengutronix.de\u003e\nSigned-off-by: Artem Bityutskiy \u003cartem.bityutskiy@linux.intel.com\u003e\n"
    },
    {
      "commit": "334221cf5a94ec3a75c7620661eb5b7b5332256c",
      "tree": "51bf303c959d04e4de539017a41f2e6eb2142675",
      "parents": [
        "17f66065837415e0b1b4d619f12a2219af987c80"
      ],
      "author": {
        "name": "Marcus Prebble",
        "email": "marcus.prebble@axis.com",
        "time": "Tue Oct 16 13:51:01 2012 +0200"
      },
      "committer": {
        "name": "Artem Bityutskiy",
        "email": "artem.bityutskiy@linux.intel.com",
        "time": "Fri Oct 26 16:55:57 2012 +0300"
      },
      "message": "mkfs.ubifs: Improve error handling of is_contained()\n\nThe is_contained() function returns -1 if an error occurs when\ncanonicalizing the output file path/root directory. This resulted in the\nconfusing error message \u0027Error: The output file cannot be in the UBIFS\nroot\u0027 when specifying a non-existent directory for the output.\nThis patch changes the error handling to display a different error\nmessage for the case when is_contained() returns -1.\nAdditionally it frees all memory allocated by is_contained().\n\nSigned-off-by: Marcus Prebble \u003cmarcus.prebble@axis.com\u003e\nSigned-off-by: Artem Bityutskiy \u003cartem.bityutskiy@linux.intel.com\u003e\n"
    },
    {
      "commit": "17f66065837415e0b1b4d619f12a2219af987c80",
      "tree": "fd4270c54ee0a9f0c733d76f38d3d7829de4b40a",
      "parents": [
        "56840a198a70604ece50d9d727cebcc28930ab4c"
      ],
      "author": {
        "name": "Artem Bityutskiy",
        "email": "artem.bityutskiy@linux.intel.com",
        "time": "Wed Oct 10 14:23:18 2012 +0300"
      },
      "committer": {
        "name": "Artem Bityutskiy",
        "email": "artem.bityutskiy@linux.intel.com",
        "time": "Thu Oct 11 10:56:58 2012 +0300"
      },
      "message": "mkfs.ubifs: rewrite path checking\n\nWe use the \u0027in_path()\u0027 function to check whether the output image is\nwithing the mkfs.ubifs root directory or not. However, this function\nis not correct and it fails for the following situation, as\nMarcus Prebble \u003cmarcus.prebble@axis.com\u003e reports:\n\n1. We have our root file-system mounted at / and want to build an image\n   out of it.\n2. We have tmpfs mounted at /tmp\n3. We mount the root file-system under /tmp/newroot\n4. We run mkfs.ubifs with -r /tmp/newroot -o /tmp/image\n\nAnd this fails. It fails because \u0027in_path()\u0027 misses this use-case.\n\nThis patch re-implements the check completely. Now we use \u0027realpath()\u0027\nto find canonical paths and just check that the output file is not\nunder the root mkfs.ubifs directory.\n\nReported-by: Marcus Prebble \u003cmarcus.prebble@axis.com\u003e\nSigned-off-by: Artem Bityutskiy \u003cartem.bityutskiy@linux.intel.com\u003e\nTested-by: Marcus Prebble \u003cmarcus.prebble@axis.com\u003e\n"
    },
    {
      "commit": "56840a198a70604ece50d9d727cebcc28930ab4c",
      "tree": "01d55ca602ebcd88f09a3fe67592062bf7f0db25",
      "parents": [
        "f3f3a208048eac5f8b5752a17ebcd44db9230fd8"
      ],
      "author": {
        "name": "Richard Genoud",
        "email": "richard.genoud@gmail.com",
        "time": "Wed Sep 12 16:38:35 2012 +0200"
      },
      "committer": {
        "name": "Artem Bityutskiy",
        "email": "artem.bityutskiy@linux.intel.com",
        "time": "Tue Sep 25 18:06:54 2012 +0300"
      },
      "message": "mkfs.jffs2: correct some warnings using PRIdoff_t\n\nWhen compiled with WITHOUT_LARGEFILE, there was warnings like that:\nwarning: format \u0027%9llu\u0027 expects type \u0027long long unsigned int\u0027,\nbut argument 3 has type \u0027__off_t\u0027\n\nUsing PRIdoff_t corrects that.\n\nSigned-off-by: Richard Genoud \u003crichard.genoud@gmail.com\u003e\nSigned-off-by: Artem Bityutskiy \u003cartem.bityutskiy@linux.intel.com\u003e\n"
    },
    {
      "commit": "f3f3a208048eac5f8b5752a17ebcd44db9230fd8",
      "tree": "2f697e448f84cf55ecaebcb19f6fc1b10d54e303",
      "parents": [
        "4f1b10827b81cd9acaa9e02b0da0dc447f1471ea"
      ],
      "author": {
        "name": "Richard Genoud",
        "email": "richard.genoud@gmail.com",
        "time": "Wed Sep 12 16:38:34 2012 +0200"
      },
      "committer": {
        "name": "Artem Bityutskiy",
        "email": "artem.bityutskiy@linux.intel.com",
        "time": "Tue Sep 25 18:06:50 2012 +0300"
      },
      "message": "consistency between u_int32_t / off_t / off64_t\n\nWe should use the off_t type instead of off64_t or u_int32_t as its\nlength is controlled by the WITHOUT_LARGEFILE flag.\n\nSigned-off-by: Richard Genoud \u003crichard.genoud@gmail.com\u003e\nSigned-off-by: Artem Bityutskiy \u003cartem.bityutskiy@linux.intel.com\u003e\n"
    },
    {
      "commit": "4f1b10827b81cd9acaa9e02b0da0dc447f1471ea",
      "tree": "b975f29a12a5ef809ea4da8ec8f03ee97d79fc45",
      "parents": [
        "c009e12a7c87ed8dc591d7c67fd71b53b6ebf538"
      ],
      "author": {
        "name": "Richard Genoud",
        "email": "richard.genoud@gmail.com",
        "time": "Wed Sep 12 16:38:33 2012 +0200"
      },
      "committer": {
        "name": "Artem Bityutskiy",
        "email": "artem.bityutskiy@linux.intel.com",
        "time": "Tue Sep 25 18:06:46 2012 +0300"
      },
      "message": "introduce PRIxoff_t and PRIdoff_t printf helpers\n\nThey will be usefull when printing offsets.\n\nSigned-off-by: Richard Genoud \u003crichard.genoud@gmail.com\u003e\nSigned-off-by: Artem Bityutskiy \u003cartem.bityutskiy@linux.intel.com\u003e\n"
    },
    {
      "commit": "c009e12a7c87ed8dc591d7c67fd71b53b6ebf538",
      "tree": "ee0b413ffa1a46d7c2fa6878fcce49f5830ad35c",
      "parents": [
        "1d73b5ef185b10f44afb73b91c960c9e9e6d2bf6"
      ],
      "author": {
        "name": "Richard Genoud",
        "email": "richard.genoud@gmail.com",
        "time": "Wed Sep 12 16:37:54 2012 +0200"
      },
      "committer": {
        "name": "Artem Bityutskiy",
        "email": "artem.bityutskiy@linux.intel.com",
        "time": "Tue Sep 25 17:04:41 2012 +0300"
      },
      "message": "tests: io_update correct lseek parameters order\n\nThere\u0027s a typo in lseek parameters order.\n\nBut, due to the value of SEEK_SET, this commit doesn\u0027t introduce a\nchange.\n\nSigned-off-by: Richard Genoud \u003crichard.genoud@gmail.com\u003e\nSigned-off-by: Artem Bityutskiy \u003cartem.bityutskiy@linux.intel.com\u003e\n"
    },
    {
      "commit": "1d73b5ef185b10f44afb73b91c960c9e9e6d2bf6",
      "tree": "a5b9386d38613a04fc421150ab64a92201b8f628",
      "parents": [
        "3a8e8d14f0ecaf2362e0d12541087036a2a201dd"
      ],
      "author": {
        "name": "Richard Genoud",
        "email": "richard.genoud@gmail.com",
        "time": "Wed Sep 12 16:37:19 2012 +0200"
      },
      "committer": {
        "name": "Artem Bityutskiy",
        "email": "artem.bityutskiy@linux.intel.com",
        "time": "Tue Sep 25 17:04:09 2012 +0300"
      },
      "message": "ubiformat: fix failure on big partitions (\u003e4Gio)\n\nThe offset (which is 64bits when mtd-utils are not compile with\nWITHOUT_LARGEFILE) is calculated like that:\noffset \u003d nb * size;\nBut nb and size are int, so on 32bits platforms, there\u0027s a possible\noverflow.\n\nSo, it should be replace with:\noffset \u003d (off_t)nb * size;\nIf WITHOUT_LARGEFILE is defined, there still be an overflow, but it\u0027s\nwhat we want, right ?\n\nCheney Chen tested an ubiformat on a NAND (5.9 GiB mtd part).\n\nReported-by: Cheney Chen \u003ccheneychencl2012@gmail.com\u003e\nTested-by: Cheney Chen \u003ccheneychencl2012@gmail.com\u003e\nSigned-off-by: Richard Genoud \u003crichard.genoud@gmail.com\u003e\nSigned-off-by: Artem Bityutskiy \u003cartem.bityutskiy@linux.intel.com\u003e\n"
    },
    {
      "commit": "3a8e8d14f0ecaf2362e0d12541087036a2a201dd",
      "tree": "601b76d5a6675fbb67a0b5cf84495cd075771445",
      "parents": [
        "9d8751b3f5c6358b6167c38899f1e41498d24a45"
      ],
      "author": {
        "name": "Richard Genoud",
        "email": "richard.genoud@gmail.com",
        "time": "Fri Aug 31 16:50:05 2012 +0200"
      },
      "committer": {
        "name": "Artem Bityutskiy",
        "email": "artem.bityutskiy@linux.intel.com",
        "time": "Mon Sep 03 10:30:33 2012 +0300"
      },
      "message": "ubirmvol: correct missing space on usage\n\nSigned-off-by: Richard Genoud \u003crichard.genoud@gmail.com\u003e\nSigned-off-by: Artem Bityutskiy \u003cartem.bityutskiy@linux.intel.com\u003e\n"
    },
    {
      "commit": "9d8751b3f5c6358b6167c38899f1e41498d24a45",
      "tree": "db952e5015e6f33a2e93e3cf477227ea5d52dfc9",
      "parents": [
        "878e06ea555ba5dbfb974b3904d1a86a9a0e20f5"
      ],
      "author": {
        "name": "Richard Genoud",
        "email": "richard.genoud@gmail.com",
        "time": "Wed Aug 22 18:04:37 2012 +0200"
      },
      "committer": {
        "name": "Artem Bityutskiy",
        "email": "artem.bityutskiy@linux.intel.com",
        "time": "Thu Aug 23 12:48:54 2012 +0300"
      },
      "message": "ubiattach: fail if kernel ignores max_beb_per1024\n\nIf the kernel doesn\u0027t know the max_beb_per1024 parameter in the attach\nioctl, but the call still succeeded ubi_attach and ubi_attach_mtd will\nreturn 1 instead of 0.\n\nIn this case, the ubiattach command will detach the device and fail with\nan error message.\n\nSigned-off-by: Richard Genoud \u003crichard.genoud@gmail.com\u003e\nSigned-off-by: Artem Bityutskiy \u003cartem.bityutskiy@linux.intel.com\u003e\n"
    },
    {
      "commit": "878e06ea555ba5dbfb974b3904d1a86a9a0e20f5",
      "tree": "a262182820d5025c780c23100f832e82287e7833",
      "parents": [
        "257ad252e70a7b65f11f7f006416a76e4498f3d2"
      ],
      "author": {
        "name": "Richard Genoud",
        "email": "richard.genoud@gmail.com",
        "time": "Wed Aug 22 18:04:36 2012 +0200"
      },
      "committer": {
        "name": "Artem Bityutskiy",
        "email": "artem.bityutskiy@linux.intel.com",
        "time": "Thu Aug 23 12:16:10 2012 +0300"
      },
      "message": "ubiattach: introduce max_beb_per1024 in UBI_IOCATT\n\nThe ioctl UBI_IOCATT has been extended with max_beb_per1024 parameter.\n\nThis parameter is used for adjusting the \"maximum expected number of\nbad blocks per 1024 blocks\" for each mtd device.\nThe number of physical erase blocks (PEB) that UBI will reserve for bad\nblock handling is now:\nwhole_flash_chipset__PEB_number * max_beb_per1024 / 1024\n\nThis means that for a 4096 PEB NAND device with 3 MTD partitions:\nmtd0: 512 PEB\nmtd1: 1536 PEB\nmtd2: 2048 PEB\n\nthe commands:\nubiattach -m 0 -d 0 -b 20 /dev/ubi_ctrl\nubiattach -m 1 -d 1 -b 20 /dev/ubi_ctrl\nubiattach -m 2 -d 2 -b 20 /dev/ubi_ctrl\nwill attach mtdx to UBIx and reserve:\n80 PEB for bad block handling on UBI0\n80 PEB for bad block handling on UBI1\n80 PEB for bad block handling on UBI2\n\n\u003d\u003e for the whole device, 240 PEB will be reserved for bad block\nhandling.\n\nThis may seems a waste of space, but as far as the bad blocks can appear\nevery where on a flash device, in the worst case scenario they can\nall appear in one MTD partition.\nSo the maximum number of expected erase blocks given by the NAND\nmanufacturer should be reserve on each MTD partition.\n\nSigned-off-by: Richard Genoud \u003crichard.genoud@gmail.com\u003e\nSigned-off-by: Artem Bityutskiy \u003cartem.bityutskiy@linux.intel.com\u003e\n"
    },
    {
      "commit": "257ad252e70a7b65f11f7f006416a76e4498f3d2",
      "tree": "ce2396403f1f19d4feaa3ef0c33d57bb2cfde365",
      "parents": [
        "24c95043a1fd464388563f31b5f40831f74e04b3"
      ],
      "author": {
        "name": "Artem Bityutskiy",
        "email": "artem.bityutskiy@linux.intel.com",
        "time": "Thu Aug 23 11:37:05 2012 +0300"
      },
      "committer": {
        "name": "Artem Bityutskiy",
        "email": "artem.bityutskiy@linux.intel.com",
        "time": "Thu Aug 23 11:37:05 2012 +0300"
      },
      "message": "libubi: kill ubi_attach_mtd\n\nThe \u0027ubi_attach_mtd()\u0027 is not used and it is redundant now. \u0027ubi_attach()\u0027\nfunction may be used instead.\n\nSigned-off-by: Artem Bityutskiy \u003cartem.bityutskiy@linux.intel.com\u003e\n"
    },
    {
      "commit": "24c95043a1fd464388563f31b5f40831f74e04b3",
      "tree": "24c5f9df7277a9d175c42183af7c95bcd82ab5bb",
      "parents": [
        "dd6898d9ecb210e5187b95adb54a94ab12b9bd2b"
      ],
      "author": {
        "name": "Richard Genoud",
        "email": "richard.genoud@gmail.com",
        "time": "Wed Aug 22 18:04:34 2012 +0200"
      },
      "committer": {
        "name": "Artem Bityutskiy",
        "email": "artem.bityutskiy@linux.intel.com",
        "time": "Thu Aug 23 11:31:36 2012 +0300"
      },
      "message": "libubi: factorize ubi_attach and ubi_attach_mtd code\n\nThe req-\u003emtd_num value is now updated with the MTD device number found\nby mtd_node_to_num.\n\nSigned-off-by: Richard Genoud \u003crichard.genoud@gmail.com\u003e\nSigned-off-by: Artem Bityutskiy \u003cartem.bityutskiy@linux.intel.com\u003e\n"
    },
    {
      "commit": "dd6898d9ecb210e5187b95adb54a94ab12b9bd2b",
      "tree": "37bd935452b81a664c1ec969743b91df1cdc9ecd",
      "parents": [
        "312e784fb06eaafff4cfebe29c74b8d0ecc09167"
      ],
      "author": {
        "name": "Richard Genoud",
        "email": "richard.genoud@gmail.com",
        "time": "Wed Aug 22 11:27:59 2012 +0200"
      },
      "committer": {
        "name": "Artem Bityutskiy",
        "email": "artem.bityutskiy@linux.intel.com",
        "time": "Wed Aug 22 13:28:00 2012 +0300"
      },
      "message": "ubi-user.h: add max_beb_per1024 parameter\n\nSigned-off-by: Richard Genoud \u003crichard.genoud@gmail.com\u003e\nSigned-off-by: Artem Bityutskiy \u003cartem.bityutskiy@linux.intel.com\u003e\n"
    },
    {
      "commit": "312e784fb06eaafff4cfebe29c74b8d0ecc09167",
      "tree": "70e8354a62c61946d8836d1eef85a8654ea49789",
      "parents": [
        "3a814dbfbfb44e8f1805592921b4f39fe0391723"
      ],
      "author": {
        "name": "Richard Genoud",
        "email": "richard.genoud@gmail.com",
        "time": "Wed Aug 22 11:27:56 2012 +0200"
      },
      "committer": {
        "name": "Artem Bityutskiy",
        "email": "artem.bityutskiy@linux.intel.com",
        "time": "Wed Aug 22 13:20:49 2012 +0300"
      },
      "message": "UBI: sync ubi-user.h with kernel v3.6-rc1\n\nAlso remove the eraseblock type support, because kernel commit\na65a0eb6d198e058687a9214683bd1c418f20d39 set the dtype\nparameter as obsolete.\n\nAlso adjust to some renames:\n* \u0027UBI_PROP_DIRECT_WRITE\u0027 -\u003e \u0027UBI_VOL_PROP_DIRECT_WRITE\u0027\n* \u0027struct ubi_set_prop_req\u0027 -\u003e \u0027struct ubi_set_vol_prop_req\u0027.\n* \u0027UBI_IOCSETPROP\u0027 -\u003e \u0027UBI_IOCSETVOLPROP\u0027\n\nSigned-off-by: Richard Genoud \u003crichard.genoud@gmail.com\u003e\nSigned-off-by: Artem Bityutskiy \u003cartem.bityutskiy@linux.intel.com\u003e\n"
    },
    {
      "commit": "3a814dbfbfb44e8f1805592921b4f39fe0391723",
      "tree": "3996655f06e2dc4b78fc8e47dac1b77d357f8791",
      "parents": [
        "eab2cfb9ab9abe594469218f00aed54eac0241b2"
      ],
      "author": {
        "name": "Artem Bityutskiy",
        "email": "artem.bityutskiy@linux.intel.com",
        "time": "Fri Aug 03 17:25:40 2012 +0300"
      },
      "committer": {
        "name": "Artem Bityutskiy",
        "email": "artem.bityutskiy@linux.intel.com",
        "time": "Fri Aug 03 17:25:40 2012 +0300"
      },
      "message": "stress-test.sh: remove a warning\n\nIf /proc/mtd does not exist, we have this warning:\ngrep: /proc/mtd: No such file or directory\n\nGet rid of this.\n\nSigned-off-by: Artem Bityutskiy \u003cartem.bityutskiy@linux.intel.com\u003e\n"
    },
    {
      "commit": "eab2cfb9ab9abe594469218f00aed54eac0241b2",
      "tree": "cfb888b5da1d6944ea55c666b871f77c52c67db9",
      "parents": [
        "e58ba4ec15b9db4f185be7905743a15cf2854603"
      ],
      "author": {
        "name": "Artem Bityutskiy",
        "email": "artem.bityutskiy@linux.intel.com",
        "time": "Fri Aug 03 16:38:16 2012 +0300"
      },
      "committer": {
        "name": "Artem Bityutskiy",
        "email": "artem.bityutskiy@linux.intel.com",
        "time": "Fri Aug 03 16:38:16 2012 +0300"
      },
      "message": "stress-test.sh: add mtdram tests\n\nSigned-off-by: Artem Bityutskiy \u003cartem.bityutskiy@linux.intel.com\u003e\n"
    },
    {
      "commit": "e58ba4ec15b9db4f185be7905743a15cf2854603",
      "tree": "0b8251da73e1dd2e158aa72f95d59253f2c1b594",
      "parents": [
        "c97af410a2b1ee06b121e2fcb91449d10df530fb"
      ],
      "author": {
        "name": "Artem Bityutskiy",
        "email": "artem.bityutskiy@linux.intel.com",
        "time": "Fri Aug 03 15:36:04 2012 +0300"
      },
      "committer": {
        "name": "Artem Bityutskiy",
        "email": "artem.bityutskiy@linux.intel.com",
        "time": "Fri Aug 03 15:36:04 2012 +0300"
      },
      "message": "stress-test.sh: support testing without sub-pages\n\nRun the tests with VID header at the second page as well for better coverage.\n\nSigned-off-by: Artem Bityutskiy \u003cartem.bityutskiy@linux.intel.com\u003e\n"
    },
    {
      "commit": "c97af410a2b1ee06b121e2fcb91449d10df530fb",
      "tree": "8dbcc4066b0c1093708edb674c49f5679ca2e1ac",
      "parents": [
        "a2a62b09c8fc6d7e3018d61b89fe1cebfc468802"
      ],
      "author": {
        "name": "Artem Bityutskiy",
        "email": "artem.bityutskiy@linux.intel.com",
        "time": "Fri Aug 03 11:33:07 2012 +0300"
      },
      "committer": {
        "name": "Artem Bityutskiy",
        "email": "artem.bityutskiy@linux.intel.com",
        "time": "Fri Aug 03 11:33:07 2012 +0300"
      },
      "message": "stress-test.sh: develop the test further\n\nAdd a lot of test passes on nandsim with different geometry.\n\nSigned-off-by: Artem Bityutskiy \u003cartem.bityutskiy@linux.intel.com\u003e\n"
    },
    {
      "commit": "a2a62b09c8fc6d7e3018d61b89fe1cebfc468802",
      "tree": "8b5e50b413e1bf91461adb2c473112ea51f19fd2",
      "parents": [
        "f28ddd5a9259f399e042c819f6a076738b5ea89a"
      ],
      "author": {
        "name": "Artem Bityutskiy",
        "email": "artem.bityutskiy@linux.intel.com",
        "time": "Fri Aug 03 11:32:18 2012 +0300"
      },
      "committer": {
        "name": "Artem Bityutskiy",
        "email": "artem.bityutskiy@linux.intel.com",
        "time": "Fri Aug 03 11:32:18 2012 +0300"
      },
      "message": "runtests.sh: print more consistent messages\n\nOn success we print \"SUCCESS\", lets print \"FAILURE\" on failure.\n\nSigned-off-by: Artem Bityutskiy \u003cartem.bityutskiy@linux.intel.com\u003e\n"
    },
    {
      "commit": "f28ddd5a9259f399e042c819f6a076738b5ea89a",
      "tree": "bf1439ff8d530ed6d141f4212cb51cb0dd39dd9e",
      "parents": [
        "f90ca3d493d78fc270ce6cd9142aeea9ce43bc54"
      ],
      "author": {
        "name": "Artem Bityutskiy",
        "email": "artem.bityutskiy@linux.intel.com",
        "time": "Fri Aug 03 10:35:36 2012 +0300"
      },
      "committer": {
        "name": "Artem Bityutskiy",
        "email": "artem.bityutskiy@linux.intel.com",
        "time": "Fri Aug 03 10:35:36 2012 +0300"
      },
      "message": "load_nandsim: switch to sh\n\nWe do not use bashizms any longer, so we can switch to \u0027sh\u0027. Also, use\nstrict sh options.\n\nSigned-off-by: Artem Bityutskiy \u003cartem.bityutskiy@linux.intel.com\u003e\n"
    },
    {
      "commit": "f90ca3d493d78fc270ce6cd9142aeea9ce43bc54",
      "tree": "ed8b7b5c339ff4c9867c628925e2f0cf80eb4b3e",
      "parents": [
        "a79e8d32b9c2ee20da1258688948ff409d6fb46b"
      ],
      "author": {
        "name": "Artem Bityutskiy",
        "email": "artem.bityutskiy@linux.intel.com",
        "time": "Fri Aug 03 10:33:35 2012 +0300"
      },
      "committer": {
        "name": "Artem Bityutskiy",
        "email": "artem.bityutskiy@linux.intel.com",
        "time": "Fri Aug 03 10:33:35 2012 +0300"
      },
      "message": "load_nandsim.sh: simplify the code\n\nFirst find out what the kernel module parameters should be, then load it\nonce, instead of doing it in each \u0027case\u0027 section.\n\nSigned-off-by: Artem Bityutskiy \u003cartem.bityutskiy@linux.intel.com\u003e\n"
    },
    {
      "commit": "a79e8d32b9c2ee20da1258688948ff409d6fb46b",
      "tree": "7681f88156127b514eaa2cd30bd245d8cf929b2c",
      "parents": [
        "6837ec6fe9b9d915c7bc6605e2ae252ffc1a3316"
      ],
      "author": {
        "name": "Artem Bityutskiy",
        "email": "artem.bityutskiy@linux.intel.com",
        "time": "Fri Aug 03 10:22:40 2012 +0300"
      },
      "committer": {
        "name": "Artem Bityutskiy",
        "email": "artem.bityutskiy@linux.intel.com",
        "time": "Fri Aug 03 10:22:40 2012 +0300"
      },
      "message": "load_nandsim.sh: rename variable\n\nRename local variables - make them more descriptive and stop using capital\nletters.\n\nSigned-off-by: Artem Bityutskiy \u003cartem.bityutskiy@linux.intel.com\u003e\n"
    },
    {
      "commit": "6837ec6fe9b9d915c7bc6605e2ae252ffc1a3316",
      "tree": "ab04db392df8a9b1509f71803ac71efe22bfe112",
      "parents": [
        "37d14ad9bd706a035c6ce3050bfede6c9ac6f12a"
      ],
      "author": {
        "name": "Artem Bityutskiy",
        "email": "artem.bityutskiy@linux.intel.com",
        "time": "Fri Aug 03 10:19:07 2012 +0300"
      },
      "committer": {
        "name": "Artem Bityutskiy",
        "email": "artem.bityutskiy@linux.intel.com",
        "time": "Fri Aug 03 10:19:07 2012 +0300"
      },
      "message": "load_nandsim.sh: introduce a separate usage function\n\nJust because this is more readable.\n\nSigned-off-by: Artem Bityutskiy \u003cartem.bityutskiy@linux.intel.com\u003e\n"
    }
  ],
  "next": "37d14ad9bd706a035c6ce3050bfede6c9ac6f12a"
}
