)]}'
{
  "log": [
    {
      "commit": "06d362931a530e0d48c1a9554a752da4ed240f0b",
      "tree": "283304f08f3c01cec6922e6bb76291a9588352db",
      "parents": [
        "f5d9d249b9a6884daff513ef08afa43d3f7e085f",
        "6599fcbd01baf9d57e847db103d215ea4ec088f9"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Oct 22 16:34:03 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Oct 22 16:34:03 2010 -0700"
      },
      "message": "Merge branch \u0027linux-next\u0027 of git://git.infradead.org/ubifs-2.6\n\n* \u0027linux-next\u0027 of git://git.infradead.org/ubifs-2.6:\n  UBIFS: do not allocate unneeded scan buffer\n  UBIFS: do not forget to cancel timers\n  UBIFS: remove a bit of unneeded code\n  UBIFS: add a commentary about log recovery\n  UBIFS: avoid kernel error if ubifs superblock read fails\n  UBIFS: introduce new flags for RO mounts\n  UBIFS: introduce new flag for RO due to errors\n  UBIFS: check return code of pnode_lookup\n  UBIFS: check return code of ubifs_lpt_lookup\n  UBIFS: improve error reporting when reading bad node\n  UBIFS: introduce list sorting debugging checks\n  UBIFS: fix assertion warnings in comparison function\n  UBIFS: mark unused key objects as invalid\n  UBIFS: do not write rubbish into truncation scanning node\n  UBIFS: improve assertion in node comparison functions\n  UBIFS: do not use key type in list_sort\n  UBIFS: do not look up truncation nodes\n  UBIFS: fix assertion warning\n  UBIFS: do not treat ENOSPC specially\n  UBIFS: switch to RO mode after synchronizing\n"
    },
    {
      "commit": "6038f373a3dc1f1c26496e60b6c40b164716f07e",
      "tree": "a0d3bbd026eea41b9fc36b8c722cbaf56cd9f825",
      "parents": [
        "1ec5584e3edf9c4bf2c88c846534d19cf986ba11"
      ],
      "author": {
        "name": "Arnd Bergmann",
        "email": "arnd@arndb.de",
        "time": "Sun Aug 15 18:52:59 2010 +0200"
      },
      "committer": {
        "name": "Arnd Bergmann",
        "email": "arnd@arndb.de",
        "time": "Fri Oct 15 15:53:27 2010 +0200"
      },
      "message": "llseek: automatically add .llseek fop\n\nAll file_operations should get a .llseek operation so we can make\nnonseekable_open the default for future file operations without a\n.llseek pointer.\n\nThe three cases that we can automatically detect are no_llseek, seq_lseek\nand default_llseek. For cases where we can we can automatically prove that\nthe file offset is always ignored, we use noop_llseek, which maintains\nthe current behavior of not returning an error from a seek.\n\nNew drivers should normally not use noop_llseek but instead use no_llseek\nand call nonseekable_open at open time.  Existing drivers can be converted\nto do the same when the maintainer knows for certain that no user code\nrelies on calling seek on the device file.\n\nThe generated code is often incorrectly indented and right now contains\ncomments that clarify for each added line why a specific variant was\nchosen. In the version that gets submitted upstream, the comments will\nbe gone and I will manually fix the indentation, because there does not\nseem to be a way to do that using coccinelle.\n\nSome amount of new code is currently sitting in linux-next that should get\nthe same modifications, which I will do at the end of the merge window.\n\nMany thanks to Julia Lawall for helping me learn to write a semantic\npatch that does all this.\n\n\u003d\u003d\u003d\u003d\u003d begin semantic patch \u003d\u003d\u003d\u003d\u003d\n// This adds an llseek\u003d method to all file operations,\n// as a preparation for making no_llseek the default.\n//\n// The rules are\n// - use no_llseek explicitly if we do nonseekable_open\n// - use seq_lseek for sequential files\n// - use default_llseek if we know we access f_pos\n// - use noop_llseek if we know we don\u0027t access f_pos,\n//   but we still want to allow users to call lseek\n//\n@ open1 exists @\nidentifier nested_open;\n@@\nnested_open(...)\n{\n\u003c+...\nnonseekable_open(...)\n...+\u003e\n}\n\n@ open exists@\nidentifier open_f;\nidentifier i, f;\nidentifier open1.nested_open;\n@@\nint open_f(struct inode *i, struct file *f)\n{\n\u003c+...\n(\nnonseekable_open(...)\n|\nnested_open(...)\n)\n...+\u003e\n}\n\n@ read disable optional_qualifier exists @\nidentifier read_f;\nidentifier f, p, s, off;\ntype ssize_t, size_t, loff_t;\nexpression E;\nidentifier func;\n@@\nssize_t read_f(struct file *f, char *p, size_t s, loff_t *off)\n{\n\u003c+...\n(\n   *off \u003d E\n|\n   *off +\u003d E\n|\n   func(..., off, ...)\n|\n   E \u003d *off\n)\n...+\u003e\n}\n\n@ read_no_fpos disable optional_qualifier exists @\nidentifier read_f;\nidentifier f, p, s, off;\ntype ssize_t, size_t, loff_t;\n@@\nssize_t read_f(struct file *f, char *p, size_t s, loff_t *off)\n{\n... when !\u003d off\n}\n\n@ write @\nidentifier write_f;\nidentifier f, p, s, off;\ntype ssize_t, size_t, loff_t;\nexpression E;\nidentifier func;\n@@\nssize_t write_f(struct file *f, const char *p, size_t s, loff_t *off)\n{\n\u003c+...\n(\n  *off \u003d E\n|\n  *off +\u003d E\n|\n  func(..., off, ...)\n|\n  E \u003d *off\n)\n...+\u003e\n}\n\n@ write_no_fpos @\nidentifier write_f;\nidentifier f, p, s, off;\ntype ssize_t, size_t, loff_t;\n@@\nssize_t write_f(struct file *f, const char *p, size_t s, loff_t *off)\n{\n... when !\u003d off\n}\n\n@ fops0 @\nidentifier fops;\n@@\nstruct file_operations fops \u003d {\n ...\n};\n\n@ has_llseek depends on fops0 @\nidentifier fops0.fops;\nidentifier llseek_f;\n@@\nstruct file_operations fops \u003d {\n...\n .llseek \u003d llseek_f,\n...\n};\n\n@ has_read depends on fops0 @\nidentifier fops0.fops;\nidentifier read_f;\n@@\nstruct file_operations fops \u003d {\n...\n .read \u003d read_f,\n...\n};\n\n@ has_write depends on fops0 @\nidentifier fops0.fops;\nidentifier write_f;\n@@\nstruct file_operations fops \u003d {\n...\n .write \u003d write_f,\n...\n};\n\n@ has_open depends on fops0 @\nidentifier fops0.fops;\nidentifier open_f;\n@@\nstruct file_operations fops \u003d {\n...\n .open \u003d open_f,\n...\n};\n\n// use no_llseek if we call nonseekable_open\n////////////////////////////////////////////\n@ nonseekable1 depends on !has_llseek \u0026\u0026 has_open @\nidentifier fops0.fops;\nidentifier nso ~\u003d \"nonseekable_open\";\n@@\nstruct file_operations fops \u003d {\n...  .open \u003d nso, ...\n+.llseek \u003d no_llseek, /* nonseekable */\n};\n\n@ nonseekable2 depends on !has_llseek @\nidentifier fops0.fops;\nidentifier open.open_f;\n@@\nstruct file_operations fops \u003d {\n...  .open \u003d open_f, ...\n+.llseek \u003d no_llseek, /* open uses nonseekable */\n};\n\n// use seq_lseek for sequential files\n/////////////////////////////////////\n@ seq depends on !has_llseek @\nidentifier fops0.fops;\nidentifier sr ~\u003d \"seq_read\";\n@@\nstruct file_operations fops \u003d {\n...  .read \u003d sr, ...\n+.llseek \u003d seq_lseek, /* we have seq_read */\n};\n\n// use default_llseek if there is a readdir\n///////////////////////////////////////////\n@ fops1 depends on !has_llseek \u0026\u0026 !nonseekable1 \u0026\u0026 !nonseekable2 \u0026\u0026 !seq @\nidentifier fops0.fops;\nidentifier readdir_e;\n@@\n// any other fop is used that changes pos\nstruct file_operations fops \u003d {\n... .readdir \u003d readdir_e, ...\n+.llseek \u003d default_llseek, /* readdir is present */\n};\n\n// use default_llseek if at least one of read/write touches f_pos\n/////////////////////////////////////////////////////////////////\n@ fops2 depends on !fops1 \u0026\u0026 !has_llseek \u0026\u0026 !nonseekable1 \u0026\u0026 !nonseekable2 \u0026\u0026 !seq @\nidentifier fops0.fops;\nidentifier read.read_f;\n@@\n// read fops use offset\nstruct file_operations fops \u003d {\n... .read \u003d read_f, ...\n+.llseek \u003d default_llseek, /* read accesses f_pos */\n};\n\n@ fops3 depends on !fops1 \u0026\u0026 !fops2 \u0026\u0026 !has_llseek \u0026\u0026 !nonseekable1 \u0026\u0026 !nonseekable2 \u0026\u0026 !seq @\nidentifier fops0.fops;\nidentifier write.write_f;\n@@\n// write fops use offset\nstruct file_operations fops \u003d {\n... .write \u003d write_f, ...\n+\t.llseek \u003d default_llseek, /* write accesses f_pos */\n};\n\n// Use noop_llseek if neither read nor write accesses f_pos\n///////////////////////////////////////////////////////////\n\n@ fops4 depends on !fops1 \u0026\u0026 !fops2 \u0026\u0026 !fops3 \u0026\u0026 !has_llseek \u0026\u0026 !nonseekable1 \u0026\u0026 !nonseekable2 \u0026\u0026 !seq @\nidentifier fops0.fops;\nidentifier read_no_fpos.read_f;\nidentifier write_no_fpos.write_f;\n@@\n// write fops use offset\nstruct file_operations fops \u003d {\n...\n .write \u003d write_f,\n .read \u003d read_f,\n...\n+.llseek \u003d noop_llseek, /* read and write both use no f_pos */\n};\n\n@ depends on has_write \u0026\u0026 !has_read \u0026\u0026 !fops1 \u0026\u0026 !fops2 \u0026\u0026 !has_llseek \u0026\u0026 !nonseekable1 \u0026\u0026 !nonseekable2 \u0026\u0026 !seq @\nidentifier fops0.fops;\nidentifier write_no_fpos.write_f;\n@@\nstruct file_operations fops \u003d {\n... .write \u003d write_f, ...\n+.llseek \u003d noop_llseek, /* write uses no f_pos */\n};\n\n@ depends on has_read \u0026\u0026 !has_write \u0026\u0026 !fops1 \u0026\u0026 !fops2 \u0026\u0026 !has_llseek \u0026\u0026 !nonseekable1 \u0026\u0026 !nonseekable2 \u0026\u0026 !seq @\nidentifier fops0.fops;\nidentifier read_no_fpos.read_f;\n@@\nstruct file_operations fops \u003d {\n... .read \u003d read_f, ...\n+.llseek \u003d noop_llseek, /* read uses no f_pos */\n};\n\n@ depends on !has_read \u0026\u0026 !has_write \u0026\u0026 !fops1 \u0026\u0026 !fops2 \u0026\u0026 !has_llseek \u0026\u0026 !nonseekable1 \u0026\u0026 !nonseekable2 \u0026\u0026 !seq @\nidentifier fops0.fops;\n@@\nstruct file_operations fops \u003d {\n...\n+.llseek \u003d noop_llseek, /* no read or write fn */\n};\n\u003d\u003d\u003d\u003d\u003d End semantic patch \u003d\u003d\u003d\u003d\u003d\n\nSigned-off-by: Arnd Bergmann \u003carnd@arndb.de\u003e\nCc: Julia Lawall \u003cjulia@diku.dk\u003e\nCc: Christoph Hellwig \u003chch@infradead.org\u003e\n"
    },
    {
      "commit": "3bb66b47a4268a4419594b4c4aec58dbeb6b58d2",
      "tree": "42e4e7b28adc166573ffef4c23dc03492fd981b4",
      "parents": [
        "1a9476a77083354005750c9df45ba9d71ad12c8c"
      ],
      "author": {
        "name": "Artem Bityutskiy",
        "email": "Artem.Bityutskiy@nokia.com",
        "time": "Sat Aug 07 10:06:11 2010 +0300"
      },
      "committer": {
        "name": "Artem Bityutskiy",
        "email": "Artem.Bityutskiy@nokia.com",
        "time": "Mon Aug 30 10:19:09 2010 +0300"
      },
      "message": "UBIFS: introduce list sorting debugging checks\n\nThe UBIFS bug in the GC list sorting comparison functions inspired\nme to write internal debugging check functions which verify that\nthe list of nodes is sorted properly.\n\nSo, this patch implements 2 new debugging functions:\n o \u0027dbg_check_data_nodes_order()\u0027 - check order of data nodes list\n o \u0027dbg_check_nondata_nodes_order()\u0027 - check order of non-data nodes list\n\nThe debugging functions are executed only if general UBIFS debugging checks are\nenabled. And they are compiled out if UBIFS debugging is disabled.\n\nSigned-off-by: Artem Bityutskiy \u003cArtem.Bityutskiy@nokia.com\u003e\n"
    },
    {
      "commit": "5a0e3ad6af8660be21ca98a971cd00f331318c05",
      "tree": "5bfb7be11a03176a87296a43ac6647975c00a1d1",
      "parents": [
        "ed391f4ebf8f701d3566423ce8f17e614cde9806"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Wed Mar 24 17:04:11 2010 +0900"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Tue Mar 30 22:02:32 2010 +0900"
      },
      "message": "include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h\n\npercpu.h is included by sched.h and module.h and thus ends up being\nincluded when building most .c files.  percpu.h includes slab.h which\nin turn includes gfp.h making everything defined by the two files\nuniversally available and complicating inclusion dependencies.\n\npercpu.h -\u003e slab.h dependency is about to be removed.  Prepare for\nthis change by updating users of gfp and slab facilities include those\nheaders directly instead of assuming availability.  As this conversion\nneeds to touch large number of source files, the following script is\nused as the basis of conversion.\n\n  http://userweb.kernel.org/~tj/misc/slabh-sweep.py\n\nThe script does the followings.\n\n* Scan files for gfp and slab usages and update includes such that\n  only the necessary includes are there.  ie. if only gfp is used,\n  gfp.h, if slab is used, slab.h.\n\n* When the script inserts a new include, it looks at the include\n  blocks and try to put the new include such that its order conforms\n  to its surrounding.  It\u0027s put in the include block which contains\n  core kernel includes, in the same order that the rest are ordered -\n  alphabetical, Christmas tree, rev-Xmas-tree or at the end if there\n  doesn\u0027t seem to be any matching order.\n\n* If the script can\u0027t find a place to put a new include (mostly\n  because the file doesn\u0027t have fitting include block), it prints out\n  an error message indicating which .h file needs to be added to the\n  file.\n\nThe conversion was done in the following steps.\n\n1. The initial automatic conversion of all .c files updated slightly\n   over 4000 files, deleting around 700 includes and adding ~480 gfp.h\n   and ~3000 slab.h inclusions.  The script emitted errors for ~400\n   files.\n\n2. Each error was manually checked.  Some didn\u0027t need the inclusion,\n   some needed manual addition while adding it to implementation .h or\n   embedding .c file was more appropriate for others.  This step added\n   inclusions to around 150 files.\n\n3. The script was run again and the output was compared to the edits\n   from #2 to make sure no file was left behind.\n\n4. Several build tests were done and a couple of problems were fixed.\n   e.g. lib/decompress_*.c used malloc/free() wrappers around slab\n   APIs requiring slab.h to be added manually.\n\n5. The script was run on all .h files but without automatically\n   editing them as sprinkling gfp.h and slab.h inclusions around .h\n   files could easily lead to inclusion dependency hell.  Most gfp.h\n   inclusion directives were ignored as stuff from gfp.h was usually\n   wildly available and often used in preprocessor macros.  Each\n   slab.h inclusion directive was examined and added manually as\n   necessary.\n\n6. percpu.h was updated not to include slab.h.\n\n7. Build test were done on the following configurations and failures\n   were fixed.  CONFIG_GCOV_KERNEL was turned off for all tests (as my\n   distributed build env didn\u0027t work with gcov compiles) and a few\n   more options had to be turned off depending on archs to make things\n   build (like ipr on powerpc/64 which failed due to missing writeq).\n\n   * x86 and x86_64 UP and SMP allmodconfig and a custom test config.\n   * powerpc and powerpc64 SMP allmodconfig\n   * sparc and sparc64 SMP allmodconfig\n   * ia64 SMP allmodconfig\n   * s390 SMP allmodconfig\n   * alpha SMP allmodconfig\n   * um on x86_64 SMP allmodconfig\n\n8. percpu.h modifications were reverted so that it could be applied as\n   a separate patch and serve as bisection point.\n\nGiven the fact that I had only a couple of failures from tests on step\n6, I\u0027m fairly confident about the coverage of this conversion patch.\nIf there is a breakage, it\u0027s likely to be something in one of the arch\nheaders which should be easily discoverable easily on most builds of\nthe specific arch.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nGuess-its-ok-by: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nCc: Ingo Molnar \u003cmingo@redhat.com\u003e\nCc: Lee Schermerhorn \u003cLee.Schermerhorn@hp.com\u003e\n"
    },
    {
      "commit": "7f2f4e72d3423977cc62152ecf29afe701553a67",
      "tree": "2eb0c3e5bd86d188aa46aa04774f0becd3d61a85",
      "parents": [
        "f0b34ae63488fecf0ec4ab42024d607917f90c45"
      ],
      "author": {
        "name": "Joe Perches",
        "email": "joe@perches.com",
        "time": "Mon Dec 14 18:01:13 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 15 08:53:33 2009 -0800"
      },
      "message": "fs/ubifs: use %pUB to print UUIDs\n\nSigned-off-by: Joe Perches \u003cjoe@perches.com\u003e\nCc: Artem Bityutskiy \u003cdedekind@infradead.org\u003e\nCc: Adrian Hunter \u003cadrian.hunter@nokia.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "b38882f5c066dc681679e90f1903eda323e605b1",
      "tree": "da9f693c414415c416e69e45bd9379bb27003640",
      "parents": [
        "6afaf8a484cbbfd2ccf58a4e5396d1f280469789"
      ],
      "author": {
        "name": "Roel Kluin",
        "email": "roel.kluin@gmail.com",
        "time": "Mon Dec 07 14:21:45 2009 +0100"
      },
      "committer": {
        "name": "Artem Bityutskiy",
        "email": "Artem.Bityutskiy@nokia.com",
        "time": "Tue Dec 08 14:24:00 2009 +0200"
      },
      "message": "UBIFS: fix return code in check_leaf\n\nReturn the PTR_ERR of the correct pointer. This fixes the debugging code.\n\nSigned-off-by: Roel Kluin \u003croel.kluin@gmail.com\u003e\nSigned-off-by: Artem Bityutskiy \u003cArtem.Bityutskiy@nokia.com\u003e\n"
    },
    {
      "commit": "e055f7e873d900925c222cf2d1ec955af4a9ca90",
      "tree": "9696d7bcf60f35140b10a2c0ecf421991623c430",
      "parents": [
        "be9e62a7307583594d88f6ccf57a4e30308e7b21"
      ],
      "author": {
        "name": "Artem Bityutskiy",
        "email": "Artem.Bityutskiy@nokia.com",
        "time": "Thu Sep 17 15:08:31 2009 +0300"
      },
      "committer": {
        "name": "Artem Bityutskiy",
        "email": "Artem.Bityutskiy@nokia.com",
        "time": "Thu Sep 17 15:08:31 2009 +0300"
      },
      "message": "UBIFS: fix debugging dump\n\nIn \u0027dbg_check_space_info()\u0027 we want to dump current lprops statistics,\nbut actually dump old statistics. Fix this.\n\nSigned-off-by: Artem Bityutskiy \u003cArtem.Bityutskiy@nokia.com\u003e\n"
    },
    {
      "commit": "be9e62a7307583594d88f6ccf57a4e30308e7b21",
      "tree": "b30b5ccb97f583c4bbc2095923f6f5f9fd18890a",
      "parents": [
        "055da1b704e95fea39597bd84d64cea7d4f7d2aa"
      ],
      "author": {
        "name": "Artem Bityutskiy",
        "email": "Artem.Bityutskiy@nokia.com",
        "time": "Sun Dec 28 10:17:23 2008 +0200"
      },
      "committer": {
        "name": "Artem Bityutskiy",
        "email": "Artem.Bityutskiy@nokia.com",
        "time": "Tue Sep 15 17:09:48 2009 +0300"
      },
      "message": "UBIFS: improve lprops dump\n\nImprove \u0027dbg_dump_lprop()\u0027 and print dark and dead space there,\ndecode flags, and journal heads.\n\nSigned-off-by: Artem Bityutskiy \u003cArtem.Bityutskiy@nokia.com\u003e\n"
    },
    {
      "commit": "77a7ae580c6cc8a0f0d5d7a7d61eb7e9fe8d99dc",
      "tree": "299adfb136ca146d9bbfd7e171351ab971c1b93d",
      "parents": [
        "d6d140097beb554daa967d3fb576e94ad2f82dcd"
      ],
      "author": {
        "name": "Artem Bityutskiy",
        "email": "Artem.Bityutskiy@nokia.com",
        "time": "Tue Sep 15 15:03:51 2009 +0300"
      },
      "committer": {
        "name": "Artem Bityutskiy",
        "email": "Artem.Bityutskiy@nokia.com",
        "time": "Tue Sep 15 17:05:06 2009 +0300"
      },
      "message": "UBIFS: improve journal head debugging prints\n\nConvert the journal head integer into the head name when printing\ndebugging information.\n\nSigned-off-by: Artem Bityutskiy \u003cArtem.Bityutskiy@nokia.com\u003e\n"
    },
    {
      "commit": "348709bad348d2fd013e1529b4cf5f220717c328",
      "tree": "e5ba0fb86c1c41d078c38f6ca67bda957241ef53",
      "parents": [
        "e3c3efc243462d67ba9fa7f67620dcbc4597bf0a"
      ],
      "author": {
        "name": "Artem Bityutskiy",
        "email": "Artem.Bityutskiy@nokia.com",
        "time": "Tue Aug 25 15:00:55 2009 +0300"
      },
      "committer": {
        "name": "Artem Bityutskiy",
        "email": "Artem.Bityutskiy@nokia.com",
        "time": "Thu Sep 10 12:06:47 2009 +0300"
      },
      "message": "UBIFS: do not print scary error messages needlessly\n\nAt the moment UBIFS print large and scary error messages and\nflash dumps in case of nearly any corruption, even if it is\na recoverable corruption. For example, if the master node is\ncorrupted, ubifs_scan() prints error dumps, then UBIFS recovers\njust fine and goes on.\n\nThis patch makes UBIFS print scary error messages only in\nreal cases, which are not recoverable. It adds \u0027quiet\u0027 argument\nto the \u0027ubifs_scan()\u0027 function, so the caller may ask \u0027ubi_scan()\u0027\nnot to print error messages if the caller is able to do recovery.\n\nSigned-off-by: Artem Bityutskiy \u003cArtem.Bityutskiy@nokia.com\u003e\nReviewed-by: Adrian Hunter \u003cAdrian.Hunter@nokia.com\u003e\n"
    },
    {
      "commit": "7d4e9ccb435e51e013e63abd340b4f496428139c",
      "tree": "c61d7f4b984cf67de137f8a8f821e1dc4da3fa50",
      "parents": [
        "fb1cd01a33ecb8a49d590c034ba146dff80c5597"
      ],
      "author": {
        "name": "Artem Bityutskiy",
        "email": "Artem.Bityutskiy@nokia.com",
        "time": "Fri Mar 20 19:11:12 2009 +0200"
      },
      "committer": {
        "name": "Artem Bityutskiy",
        "email": "Artem.Bityutskiy@nokia.com",
        "time": "Fri Mar 20 19:11:12 2009 +0200"
      },
      "message": "UBIFS: fix commentaries\n\nSigned-off-by: Artem Bityutskiy \u003cArtem.Bityutskiy@nokia.com\u003e\n"
    },
    {
      "commit": "c9927c3ee2d3d14893efd793a2a9ea772ddb4289",
      "tree": "f1ed930413d6dd2f81c46c226d288310622c02c6",
      "parents": [
        "0a6fb8d9c435c612171b453449f98da28e9969a5"
      ],
      "author": {
        "name": "Artem Bityutskiy",
        "email": "Artem.Bityutskiy@nokia.com",
        "time": "Mon Mar 16 09:42:03 2009 +0200"
      },
      "committer": {
        "name": "Artem Bityutskiy",
        "email": "Artem.Bityutskiy@nokia.com",
        "time": "Mon Mar 16 10:52:02 2009 +0200"
      },
      "message": "UBIFS: use KERN_CONT\n\nSigned-off-by: Artem Bityutskiy \u003cArtem.Bityutskiy@nokia.com\u003e\n"
    },
    {
      "commit": "227c75c91dbfa037d109ab7ef45b7f5ba9cab6d0",
      "tree": "605bf9ec3f49a5209d9efac23ef6ba47baf44072",
      "parents": [
        "3eb14297c4b85af0c5e6605e18d93b6031330d71"
      ],
      "author": {
        "name": "Adrian Hunter",
        "email": "ext-adrian.hunter@nokia.com",
        "time": "Thu Jan 29 11:53:51 2009 +0200"
      },
      "committer": {
        "name": "Artem Bityutskiy",
        "email": "Artem.Bityutskiy@nokia.com",
        "time": "Thu Jan 29 16:15:51 2009 +0200"
      },
      "message": "UBIFS: spelling fix \u0027date\u0027 -\u003e \u0027data\u0027\n\nSigned-off-by: Adrian Hunter \u003cext-adrian.hunter@nokia.com\u003e\nSigned-off-by: Artem Bityutskiy \u003cArtem.Bityutskiy@nokia.com\u003e\n"
    },
    {
      "commit": "84abf972ccff5c13d10b672972949eba431a6e0e",
      "tree": "378ebf8a77fbc1f906fa8eee2472f8bd6d935772",
      "parents": [
        "e4d9b6cbfc98d696a28d2c24a3d49768695811ee"
      ],
      "author": {
        "name": "Artem Bityutskiy",
        "email": "Artem.Bityutskiy@nokia.com",
        "time": "Fri Jan 23 14:54:59 2009 +0200"
      },
      "committer": {
        "name": "Artem Bityutskiy",
        "email": "Artem.Bityutskiy@nokia.com",
        "time": "Mon Jan 26 12:54:11 2009 +0200"
      },
      "message": "UBIFS: add re-mount debugging checks\n\nWe observe space corrupted accounting when re-mounting. So add some\ndebbugging checks to catch problems like this.\n\nSigned-off-by: Artem Bityutskiy \u003cArtem.Bityutskiy@nokia.com\u003e\n"
    },
    {
      "commit": "5d38b3ac78e0e0e420fba134716fc3d20e6b978a",
      "tree": "4a1496fd04e1d7d92b0ce1e1c3f29e443ca46c53",
      "parents": [
        "80736d41f895bc472b2433a1c27fa6d4afe6ca35"
      ],
      "author": {
        "name": "Artem Bityutskiy",
        "email": "Artem.Bityutskiy@nokia.com",
        "time": "Tue Dec 30 17:58:42 2008 +0200"
      },
      "committer": {
        "name": "Artem Bityutskiy",
        "email": "Artem.Bityutskiy@nokia.com",
        "time": "Wed Dec 31 14:13:25 2008 +0200"
      },
      "message": "UBIFS: print debugging messages properly\n\nWe cannot use ubifs_err() macro with DBGKEY() and DBGKEY1(),\nbecause this is racy and holding dbg_lock is needed. Use\ndbg_err() instead, which does have the lock held.\n\nSigned-off-by: Artem Bityutskiy \u003cArtem.Bityutskiy@nokia.com\u003e\n"
    },
    {
      "commit": "f92b982680e4b4149c559789a54e1e9db190752a",
      "tree": "fb24f6351be9f307d8f9001f226f8aa0ee71cfdc",
      "parents": [
        "6a4a9b438fe43397f4652853838f284cddd629b5"
      ],
      "author": {
        "name": "Artem Bityutskiy",
        "email": "Artem.Bityutskiy@nokia.com",
        "time": "Sun Dec 28 11:34:26 2008 +0200"
      },
      "committer": {
        "name": "Artem Bityutskiy",
        "email": "Artem.Bityutskiy@nokia.com",
        "time": "Wed Dec 31 14:13:25 2008 +0200"
      },
      "message": "UBIFS: fix checkpatch.pl warnings\n\nThese are mostly long lines and wrong indentation warning\nfixes. But also there are two volatile variables and\ncheckpatch.pl complains about them:\n\nWARNING: Use of volatile is usually wrong: see Documentation/volatile-considered-harmful.txt\n+       volatile int gc_seq;\n\nWARNING: Use of volatile is usually wrong: see Documentation/volatile-considered-harmful.txt\n+       volatile int gced_lnum;\n\nWell, we anyway use smp_wmb() for c-\u003egc_seq and c-\u003egced_lnum, so\nthese \u0027volatile\u0027 modifiers can be just dropped.\n\nSigned-off-by: Artem Bityutskiy \u003cArtem.Bityutskiy@nokia.com\u003e\n"
    },
    {
      "commit": "4d61db4f87b527734ac0cc830dda8fcc4e2add2f",
      "tree": "881cb7614a928ba004f588a82c064592f461fee3",
      "parents": [
        "af14a1ad792621942a03e4bd0e5f17b6e177e2e0"
      ],
      "author": {
        "name": "Artem Bityutskiy",
        "email": "Artem.Bityutskiy@nokia.com",
        "time": "Thu Dec 18 14:06:51 2008 +0200"
      },
      "committer": {
        "name": "Artem Bityutskiy",
        "email": "Artem.Bityutskiy@nokia.com",
        "time": "Tue Dec 23 12:23:40 2008 +0200"
      },
      "message": "UBIFS: use nicer 64-bit math\n\nInstead of using do_div(), use better primitives from\nlinux/math64.h.\n\nSigned-off-by: Artem Bityutskiy \u003cArtem.Bityutskiy@nokia.com\u003e\n"
    },
    {
      "commit": "21a60258976227daaf7a4c35e96c3d77d4988b15",
      "tree": "73c9de022a0a947ca4f5e8d8edfdbd8321270464",
      "parents": [
        "24fa9e9438b263600737c839b36543981d87d65b"
      ],
      "author": {
        "name": "Artem Bityutskiy",
        "email": "Artem.Bityutskiy@nokia.com",
        "time": "Fri Dec 12 11:13:17 2008 -0500"
      },
      "committer": {
        "name": "Artem Bityutskiy",
        "email": "Artem.Bityutskiy@nokia.com",
        "time": "Tue Dec 23 12:22:58 2008 +0200"
      },
      "message": "UBIFS: improve budgeting dump\n\nDump available space calculated by budgeting subsystem.\n\nSigned-off-by: Artem Bityutskiy \u003cArtem.Bityutskiy@nokia.com\u003e\n"
    },
    {
      "commit": "24fa9e9438b263600737c839b36543981d87d65b",
      "tree": "4426bb9b605db661f9bc2e5320a650e192f7fe9f",
      "parents": [
        "7bbe5b5aa6d1e38af6f1fc866efc0aa461d73f19"
      ],
      "author": {
        "name": "Artem Bityutskiy",
        "email": "Artem.Bityutskiy@nokia.com",
        "time": "Wed Dec 17 17:45:14 2008 +0200"
      },
      "committer": {
        "name": "Artem Bityutskiy",
        "email": "Artem.Bityutskiy@nokia.com",
        "time": "Tue Dec 23 12:22:39 2008 +0200"
      },
      "message": "UBIFS: fix tnc dumping\n\ndebugfs tnc dumping was broken because of an obvious typo.\n\nSigned-off-by: Artem Bityutskiy \u003cArtem.Bityutskiy@nokia.com\u003e\n"
    },
    {
      "commit": "2ba5f7ae8165b3f575dd3a7d8bb18f421fab8273",
      "tree": "c2916fd6398b0a380eed9ac3cd9e59c92ae8cbd5",
      "parents": [
        "787845bdeadd368eedeace92d5bf53f5aa1450ba"
      ],
      "author": {
        "name": "Artem Bityutskiy",
        "email": "Artem.Bityutskiy@nokia.com",
        "time": "Fri Oct 31 17:32:30 2008 +0200"
      },
      "committer": {
        "name": "Artem Bityutskiy",
        "email": "Artem.Bityutskiy@nokia.com",
        "time": "Wed Dec 03 13:14:34 2008 +0200"
      },
      "message": "UBIFS: introduce LPT dump function\n\nSigned-off-by: Artem Bityutskiy \u003cArtem.Bityutskiy@nokia.com\u003e\n"
    },
    {
      "commit": "552ff3179d1e93a3e982357544c059f3e9a5516e",
      "tree": "fb53c9ab1b19e1c98fc0a316859413723e34d186",
      "parents": [
        "17c2f9f85c896b48a5d74a9155d99ec5b241a0e6"
      ],
      "author": {
        "name": "Artem Bityutskiy",
        "email": "Artem.Bityutskiy@nokia.com",
        "time": "Thu Oct 23 11:49:28 2008 +0300"
      },
      "committer": {
        "name": "Artem Bityutskiy",
        "email": "Artem.Bityutskiy@nokia.com",
        "time": "Wed Dec 03 13:14:33 2008 +0200"
      },
      "message": "UBIFS: add debugfs support\n\nWe need to have a possibility to see various UBIFS variables\nand ask UBIFS to dump various information. Debugfs is what\nwe need.\n\nSigned-off-by: Artem Bityutskiy \u003cArtem.Bityutskiy@nokia.com\u003e\n"
    },
    {
      "commit": "17c2f9f85c896b48a5d74a9155d99ec5b241a0e6",
      "tree": "9d3e38e673d1d3af650072388a671ec767d3941a",
      "parents": [
        "5dd7cbc083f3a91fa7454125fe992826701b67bc"
      ],
      "author": {
        "name": "Artem Bityutskiy",
        "email": "Artem.Bityutskiy@nokia.com",
        "time": "Fri Oct 17 13:31:39 2008 +0300"
      },
      "committer": {
        "name": "Artem Bityutskiy",
        "email": "Artem.Bityutskiy@nokia.com",
        "time": "Wed Dec 03 13:14:33 2008 +0200"
      },
      "message": "UBIFS: separate debugging fields out\n\nIntroduce a new data structure which contains all debugging\nstuff inside. This is cleaner than having debugging stuff\ndirectly in \u0027c\u0027.\n\nSigned-off-by: Artem Bityutskiy \u003cArtem.Bityutskiy@nokia.com\u003e\n"
    },
    {
      "commit": "e84461ad9c4f0ff91ab8553596acdb7bf5522df4",
      "tree": "e5b17679617466289603df7644d11bd213cef2ff",
      "parents": [
        "e2966cbe8901e3f1c120ef82d29c59db1b3bd882"
      ],
      "author": {
        "name": "Artem Bityutskiy",
        "email": "Artem.Bityutskiy@nokia.com",
        "time": "Wed Oct 29 12:08:43 2008 +0200"
      },
      "committer": {
        "name": "Artem Bityutskiy",
        "email": "Artem.Bityutskiy@nokia.com",
        "time": "Thu Nov 06 11:06:31 2008 +0200"
      },
      "message": "UBIFS: fix compilation warnings\n\nWe print \u0027ino_t\u0027 type using \u0027%lu\u0027 printk() placeholder, but this\nresults in many warnings when compiling for Alpha platform. Fix\nthis by adding (unsingned long) casts.\n\nFixes these warnings:\n\nfs/ubifs/journal.c:693: warning: format \u0027%lu\u0027 expects type \u0027long unsigned int\u0027, but argument 4 has type \u0027ino_t\u0027\nfs/ubifs/journal.c:1131: warning: format \u0027%lu\u0027 expects type \u0027long unsigned int\u0027, but argument 4 has type \u0027ino_t\u0027\nfs/ubifs/dir.c:163: warning: format \u0027%lu\u0027 expects type \u0027long unsigned int\u0027, but argument 4 has type \u0027ino_t\u0027\nfs/ubifs/tnc.c:2680: warning: format \u0027%lu\u0027 expects type \u0027long unsigned int\u0027, but argument 4 has type \u0027ino_t\u0027\nfs/ubifs/tnc.c:2700: warning: format \u0027%lu\u0027 expects type \u0027long unsigned int\u0027, but argument 5 has type \u0027ino_t\u0027\nfs/ubifs/replay.c:1066: warning: format \u0027%lu\u0027 expects type \u0027long unsigned int\u0027, but argument 7 has type \u0027ino_t\u0027\nfs/ubifs/orphan.c:108: warning: format \u0027%lu\u0027 expects type \u0027long unsigned int\u0027, but argument 4 has type \u0027ino_t\u0027\nfs/ubifs/orphan.c:135: warning: format \u0027%lu\u0027 expects type \u0027long unsigned int\u0027, but argument 4 has type \u0027ino_t\u0027\nfs/ubifs/orphan.c:142: warning: format \u0027%lu\u0027 expects type \u0027long unsigned int\u0027, but argument 4 has type \u0027ino_t\u0027\nfs/ubifs/orphan.c:154: warning: format \u0027%lu\u0027 expects type \u0027long unsigned int\u0027, but argument 4 has type \u0027ino_t\u0027\nfs/ubifs/orphan.c:159: warning: format \u0027%lu\u0027 expects type \u0027long unsigned int\u0027, but argument 4 has type \u0027ino_t\u0027\nfs/ubifs/orphan.c:451: warning: format \u0027%lu\u0027 expects type \u0027long unsigned int\u0027, but argument 4 has type \u0027ino_t\u0027\nfs/ubifs/orphan.c:539: warning: format \u0027%lu\u0027 expects type \u0027long unsigned int\u0027, but argument 4 has type \u0027ino_t\u0027\nfs/ubifs/orphan.c:612: warning: format \u0027%lu\u0027 expects type \u0027long unsigned int\u0027, but argument 4 has type \u0027ino_t\u0027\nfs/ubifs/orphan.c:843: warning: format \u0027%lu\u0027 expects type \u0027long unsigned int\u0027, but argument 4 has type \u0027ino_t\u0027\nfs/ubifs/orphan.c:856: warning: format \u0027%lu\u0027 expects type \u0027long unsigned int\u0027, but argument 4 has type \u0027ino_t\u0027\nfs/ubifs/recovery.c:1438: warning: format \u0027%lu\u0027 expects type \u0027long unsigned int\u0027, but argument 4 has type \u0027ino_t\u0027\nfs/ubifs/recovery.c:1443: warning: format \u0027%lu\u0027 expects type \u0027long unsigned int\u0027, but argument 4 has type \u0027ino_t\u0027\nfs/ubifs/recovery.c:1475: warning: format \u0027%lu\u0027 expects type \u0027long unsigned int\u0027, but argument 4 has type \u0027ino_t\u0027\nfs/ubifs/recovery.c:1495: warning: format \u0027%lu\u0027 expects type \u0027long unsigned int\u0027, but argument 4 has type \u0027ino_t\u0027\nfs/ubifs/debug.c:105: warning: format \u0027%lu\u0027 expects type \u0027long unsigned int\u0027, but argument 3 has type \u0027ino_t\u0027\nfs/ubifs/debug.c:105: warning: format \u0027%lu\u0027 expects type \u0027long unsigned int\u0027, but argument 3 has type \u0027ino_t\u0027\nfs/ubifs/debug.c:110: warning: format \u0027%lu\u0027 expects type \u0027long unsigned int\u0027, but argument 3 has type \u0027ino_t\u0027\nfs/ubifs/debug.c:110: warning: format \u0027%lu\u0027 expects type \u0027long unsigned int\u0027, but argument 3 has type \u0027ino_t\u0027\nfs/ubifs/debug.c:114: warning: format \u0027%lu\u0027 expects type \u0027long unsigned int\u0027, but argument 3 has type \u0027ino_t\u0027\nfs/ubifs/debug.c:114: warning: format \u0027%lu\u0027 expects type \u0027long unsigned int\u0027, but argument 3 has type \u0027ino_t\u0027\nfs/ubifs/debug.c:118: warning: format \u0027%lu\u0027 expects type \u0027long unsigned int\u0027, but argument 3 has type \u0027ino_t\u0027\nfs/ubifs/debug.c:118: warning: format \u0027%lu\u0027 expects type \u0027long unsigned int\u0027, but argument 3 has type \u0027ino_t\u0027\nfs/ubifs/debug.c:1591: warning: format \u0027%lu\u0027 expects type \u0027long unsigned int\u0027, but argument 4 has type \u0027ino_t\u0027\nfs/ubifs/debug.c:1671: warning: format \u0027%lu\u0027 expects type \u0027long unsigned int\u0027, but argument 4 has type \u0027ino_t\u0027\nfs/ubifs/debug.c:1674: warning: format \u0027%lu\u0027 expects type \u0027long unsigned int\u0027, but argument 5 has type \u0027ino_t\u0027\nfs/ubifs/debug.c:1680: warning: format \u0027%lu\u0027 expects type \u0027long unsigned int\u0027, but argument 4 has type \u0027ino_t\u0027\nfs/ubifs/debug.c:1699: warning: format \u0027%lu\u0027 expects type \u0027long unsigned int\u0027, but argument 5 has type \u0027ino_t\u0027\nfs/ubifs/debug.c:1788: warning: format \u0027%lu\u0027 expects type \u0027long unsigned int\u0027, but argument 5 has type \u0027ino_t\u0027\nfs/ubifs/debug.c:1821: warning: format \u0027%lu\u0027 expects type \u0027long unsigned int\u0027, but argument 5 has type \u0027ino_t\u0027\nfs/ubifs/debug.c:1833: warning: format \u0027%lu\u0027 expects type \u0027long unsigned int\u0027, but argument 5 has type \u0027ino_t\u0027\nfs/ubifs/debug.c:1924: warning: format \u0027%lu\u0027 expects type \u0027long unsigned int\u0027, but argument 4 has type \u0027ino_t\u0027\nfs/ubifs/debug.c:1932: warning: format \u0027%lu\u0027 expects type \u0027long unsigned int\u0027, but argument 4 has type \u0027ino_t\u0027\nfs/ubifs/debug.c:1938: warning: format \u0027%lu\u0027 expects type \u0027long unsigned int\u0027, but argument 4 has type \u0027ino_t\u0027\nfs/ubifs/debug.c:1945: warning: format \u0027%lu\u0027 expects type \u0027long unsigned int\u0027, but argument 4 has type \u0027ino_t\u0027\nfs/ubifs/debug.c:1953: warning: format \u0027%lu\u0027 expects type \u0027long unsigned int\u0027, but argument 4 has type \u0027ino_t\u0027\nfs/ubifs/debug.c:1960: warning: format \u0027%lu\u0027 expects type \u0027long unsigned int\u0027, but argument 4 has type \u0027ino_t\u0027\nfs/ubifs/debug.c:1967: warning: format \u0027%lu\u0027 expects type \u0027long unsigned int\u0027, but argument 4 has type \u0027ino_t\u0027\nfs/ubifs/debug.c:1973: warning: format \u0027%lu\u0027 expects type \u0027long unsigned int\u0027, but argument 4 has type \u0027ino_t\u0027\nfs/ubifs/debug.c:1988: warning: format \u0027%lu\u0027 expects type \u0027long unsigned int\u0027, but argument 4 has type \u0027ino_t\u0027\nfs/ubifs/debug.c:1991: warning: format \u0027%lu\u0027 expects type \u0027long unsigned int\u0027, but argument 5 has type \u0027ino_t\u0027\nfs/ubifs/debug.c:2009: warning: format \u0027%lu\u0027 expects type \u0027long unsigned int\u0027, but argument 2 has type \u0027ino_t\u0027\n\nReported-by: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nSigned-off-by: Artem Bityutskiy \u003cArtem.Bityutskiy@nokia.com\u003e\n"
    },
    {
      "commit": "0ecb9529a4d47825778e7b0d226eb36019252a9d",
      "tree": "1d39f3ba19e63ab4a47171433898171eba5ee793",
      "parents": [
        "069782a1ee55105220e5ae2db448495dac267cb1"
      ],
      "author": {
        "name": "Harvey Harrison",
        "email": "harvey.harrison@gmail.com",
        "time": "Fri Oct 24 10:52:57 2008 -0700"
      },
      "committer": {
        "name": "Artem Bityutskiy",
        "email": "Artem.Bityutskiy@nokia.com",
        "time": "Thu Nov 06 11:06:19 2008 +0200"
      },
      "message": "UBIFS: endian handling fixes and annotations\n\nNoticed by sparse:\nfs/ubifs/file.c:75:2: warning: restricted __le64 degrades to integer\nfs/ubifs/file.c:629:4: warning: restricted __le64 degrades to integer\nfs/ubifs/dir.c:431:3: warning: restricted __le64 degrades to integer\n\nThis should be checked to ensure the ubifs_assert is working as\nintended, I\u0027ve done the suggested annotation in this patch.\n\nfs/ubifs/sb.c:298:6: warning: incorrect type in assignment (different base types)\nfs/ubifs/sb.c:298:6:    expected int [signed] [assigned] tmp\nfs/ubifs/sb.c:298:6:    got restricted __le64 [usertype] \u003cnoident\u003e\nfs/ubifs/sb.c:299:19: warning: incorrect type in assignment (different base types)\nfs/ubifs/sb.c:299:19:    expected restricted __le64 [usertype] atime_sec\nfs/ubifs/sb.c:299:19:    got int [signed] [assigned] tmp\nfs/ubifs/sb.c:300:19: warning: incorrect type in assignment (different base types)\nfs/ubifs/sb.c:300:19:    expected restricted __le64 [usertype] ctime_sec\nfs/ubifs/sb.c:300:19:    got int [signed] [assigned] tmp\nfs/ubifs/sb.c:301:19: warning: incorrect type in assignment (different base types)\nfs/ubifs/sb.c:301:19:    expected restricted __le64 [usertype] mtime_sec\nfs/ubifs/sb.c:301:19:    got int [signed] [assigned] tmp\n\nThis looks like a bugfix as your tmp was a u32 so there was truncation in\nthe atime, mtime, ctime value, probably not intentional, add a tmp_le64\nand use it here.\n\nfs/ubifs/key.h:348:9: warning: cast to restricted __le32\nfs/ubifs/key.h:348:9: warning: cast to restricted __le32\nfs/ubifs/key.h:419:9: warning: cast to restricted __le32\n\nRead from the annotated union member instead.\n\nfs/ubifs/recovery.c:175:13: warning: incorrect type in assignment (different base types)\nfs/ubifs/recovery.c:175:13:    expected unsigned int [unsigned] [usertype] save_flags\nfs/ubifs/recovery.c:175:13:    got restricted __le32 [usertype] flags\nfs/ubifs/recovery.c:186:13: warning: incorrect type in assignment (different base types)\nfs/ubifs/recovery.c:186:13:    expected restricted __le32 [usertype] flags\nfs/ubifs/recovery.c:186:13:    got unsigned int [unsigned] [usertype] save_flags\n\nDo byteshifting at compile time of the flag value.  Annotate the saved_flags\nas le32.\n\nfs/ubifs/debug.c:368:10: warning: cast to restricted __le32\nfs/ubifs/debug.c:368:10: warning: cast from restricted __le64\n\nShould be checked if the truncation was intentional, I\u0027ve changed the\nprintk to print the full width.\n\nSigned-off-by: Harvey Harrison \u003charvey.harrison@gmail.com\u003e\nSigned-off-by: Artem Bityutskiy \u003cArtem.Bityutskiy@nokia.com\u003e\n"
    },
    {
      "commit": "73944a6de048c2c49422e9063e57198256efd23e",
      "tree": "048789b4d3228dcf6e0f33a446bdbf423ebf5b6f",
      "parents": [
        "5c0013c16bd2ee08ffef1a1365622556a57218f5"
      ],
      "author": {
        "name": "Adrian Hunter",
        "email": "ext-adrian.hunter@nokia.com",
        "time": "Fri Sep 12 18:13:31 2008 +0300"
      },
      "committer": {
        "name": "Artem Bityutskiy",
        "email": "Artem.Bityutskiy@nokia.com",
        "time": "Tue Sep 30 11:12:59 2008 +0300"
      },
      "message": "UBIFS: add more debugging messages for LPT\n\nAlso add debugging checks for LPT size and separate\nout c-\u003echeck_lpt_free from unrelated bitfields.\n\nSigned-off-by: Adrian Hunter \u003cext-adrian.hunter@nokia.com\u003e\n"
    },
    {
      "commit": "b5e426e9a4a8d4ccc65a6849420d47f87c080d5d",
      "tree": "b50d85c186e58938a78e32daae27fd530169de1f",
      "parents": [
        "be61678b1d97c9b47bb839beb3c3f48da36af072"
      ],
      "author": {
        "name": "Artem Bityutskiy",
        "email": "Artem.Bityutskiy@nokia.com",
        "time": "Tue Sep 09 11:20:35 2008 +0300"
      },
      "committer": {
        "name": "Artem Bityutskiy",
        "email": "Artem.Bityutskiy@nokia.com",
        "time": "Tue Sep 30 11:12:58 2008 +0300"
      },
      "message": "UBIFS: update dbg_dump_inode\n\n\u0027dbg_dump_inode()\u0027 is quite outdated and does not print all\nthe fileds.\n\nSigned-off-by: Artem Bityutskiy \u003cArtem.Bityutskiy@nokia.com\u003e\n"
    },
    {
      "commit": "7424bac82ff3bd956ea04101550e01bdae17284d",
      "tree": "a9f5e3aacc822ad1bdb9fcb84193b44e1df147d3",
      "parents": [
        "6e14968c869cd30e236bb626dd0c16421d2a658d"
      ],
      "author": {
        "name": "Alexander Beregalov",
        "email": "a.beregalov@gmail.com",
        "time": "Wed Sep 17 22:09:41 2008 +0400"
      },
      "committer": {
        "name": "Artem Bityutskiy",
        "email": "Artem.Bityutskiy@nokia.com",
        "time": "Thu Sep 18 09:57:57 2008 +0300"
      },
      "message": "UBIFS: fix printk format warnings\n\nfs/ubifs/dir.c:428: warning: format \u0027%llu\u0027 expects type \u0027long long\nunsigned int\u0027, but argument 5 has type \u0027long unsigned int\u0027\n\nfs/ubifs/debug.c:541: warning: format \u0027%llu\u0027 expects type \u0027long long\nunsigned int\u0027, but argument 2 has type \u0027long unsigned int\u0027\n\nSigned-off-by: Alexander Beregalov \u003ca.beregalov@gmail.com\u003e\nSigned-off-by: Artem Bityutskiy \u003cArtem.Bityutskiy@nokia.com\u003e\n"
    },
    {
      "commit": "1de9415906bccab51fb74c6adf575948610f0909",
      "tree": "585d0a78393c8a96d8aa031bf248b98af5a79cb7",
      "parents": [
        "dab4b4d2f915a65022343012a795f4ae4ae7e83c"
      ],
      "author": {
        "name": "Artem Bityutskiy",
        "email": "Artem.Bityutskiy@nokia.com",
        "time": "Fri Jul 25 12:58:38 2008 +0300"
      },
      "committer": {
        "name": "Artem Bityutskiy",
        "email": "Artem.Bityutskiy@nokia.com",
        "time": "Wed Aug 13 11:35:58 2008 +0300"
      },
      "message": "UBIFS: print pid in dump function\n\nUseful when something fails and there are many processes\nracing.\n\nSigned-off-by: Artem Bityutskiy \u003cArtem.Bityutskiy@nokia.com\u003e\n"
    },
    {
      "commit": "16dfd804b44ef7156d1c201f100bd0d9dc6b7c4b",
      "tree": "8286d4c108b93037f0775ca5fbaf09985b5f658b",
      "parents": [
        "1e0f358e29cc91c8eb09e10cbf1f6bb58a62c795"
      ],
      "author": {
        "name": "Adrian Hunter",
        "email": "ext-adrian.hunter@nokia.com",
        "time": "Fri Jul 18 16:47:41 2008 +0300"
      },
      "committer": {
        "name": "Artem Bityutskiy",
        "email": "Artem.Bityutskiy@nokia.com",
        "time": "Wed Aug 13 11:22:41 2008 +0300"
      },
      "message": "UBIFS: fix error return in failure mode\n\nUBIFS recovery testing debug facility simulates media failures.\nWhen simulating an IO error, the error code returned must be\n-EIO but it was not always if the user switched off the\ndebug recovery testing option at the same time.\n\nSigned-off-by: Adrian Hunter \u003cext-adrian.hunter@nokia.com\u003e\n"
    },
    {
      "commit": "1e51764a3c2ac05a23a22b2a95ddee4d9bffb16d",
      "tree": "919debdd48aef9eee9ff0e8f465ef2649325b993",
      "parents": [
        "e56a99d5a42dcb91e622ae7a0289d8fb2ddabffb"
      ],
      "author": {
        "name": "Artem Bityutskiy",
        "email": "Artem.Bityutskiy@nokia.com",
        "time": "Mon Jul 14 19:08:37 2008 +0300"
      },
      "committer": {
        "name": "Artem Bityutskiy",
        "email": "Artem.Bityutskiy@nokia.com",
        "time": "Tue Jul 15 17:35:15 2008 +0300"
      },
      "message": "UBIFS: add new flash file system\n\nThis is a new flash file system. See\nhttp://www.linux-mtd.infradead.org/doc/ubifs.html\n\nSigned-off-by: Artem Bityutskiy \u003cArtem.Bityutskiy@nokia.com\u003e\nSigned-off-by: Adrian Hunter \u003cext-adrian.hunter@nokia.com\u003e\n"
    }
  ]
}
