)]}'
{
  "log": [
    {
      "commit": "6133308ad1a386e7e7f776003a1c44e8b54e2166",
      "tree": "b2102f3bd3b25e0f105cd91b6a22bd96a351c5d7",
      "parents": [
        "e8650a08232e75274304b812ff04cfce9af9671c",
        "62f384552b6756cf1ea71f8762d1e97dc77dbd90"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 22 19:30:27 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 22 19:30:27 2012 -0700"
      },
      "message": "Merge tag \u0027upstream-3.5-rc1\u0027 of git://git.infradead.org/linux-ubifs\n\nPull UBI and UBIFS updates from Artem Bityutskiy:\n\nUBIFS:\n   * Always support xattrs    (remove the Kconfig option)\n   * Always support debugging (remove the Kconfig option)\n   * A fix for a memory leak on error path\n   * A number of clean-ups\nUBI:\n   * Always support debugging (remove the Kconfig option)\n   * Remove \"data type\" hint support\n   * Huge amount of renames to prepare for the fastmap wor\n   * A lot of clean-ups\n\n* tag \u0027upstream-3.5-rc1\u0027 of git://git.infradead.org/linux-ubifs: (54 commits)\n  UBI: modify ubi_wl_flush function to clear work queue for a lnum\n  UBI: introduce UBI_ALL constant\n  UBI: add lnum and vol_id to struct ubi_work\n  UBI: add volume id struct ubi_ainf_peb\n  UBI: add in hex the value for UBI_INTERNAL_VOL_START to comment\n  UBI: rename scan.c to attach.c\n  UBI: remove scan.h\n  UBI: rename UBI_SCAN_UNKNOWN_EC\n  UBI: move and rename attach_by_scanning\n  UBI: rename _init_scan functions\n  UBI: amend comments after all the renamings\n  UBI: rename ubi_scan_leb_slab\n  UBI: rename ubi_scan_move_to_list\n  UBI: rename ubi_scan_destroy_ai\n  UBI: rename ubi_scan_get_free_peb\n  UBI: rename ubi_scan_rm_volume\n  UBI: rename ubi_scan_find_av\n  UBI: rename ubi_scan_add_used\n  UBI: remove unused function\n  UBI: make ubi_scan_erase_peb static and rename\n  ...\n"
    },
    {
      "commit": "f70b7e52aa23c9aea5346b9730b402fb55f9079b",
      "tree": "20882b6e8345b8836d395248fd7f31fce7d09236",
      "parents": [
        "1baafd28dc17422f10be9b2a3a75432154e3abc7"
      ],
      "author": {
        "name": "Artem Bityutskiy",
        "email": "artem.bityutskiy@linux.intel.com",
        "time": "Wed May 16 19:53:46 2012 +0300"
      },
      "committer": {
        "name": "Artem Bityutskiy",
        "email": "artem.bityutskiy@linux.intel.com",
        "time": "Wed May 16 19:53:46 2012 +0300"
      },
      "message": "UBIFS: remove Kconfig debugging option\n\nHave the debugging stuff always compiled-in instead. It simplifies maintanance\na lot.\n\nSigned-off-by: Artem Bityutskiy \u003cartem.bityutskiy@linux.intel.com\u003e\n"
    },
    {
      "commit": "edf6be245fd34a4438646375cecb11f5feb92646",
      "tree": "ca1ddfc1900d5875d5434c6c7f39ca4966ef3baa",
      "parents": [
        "7c46d0ae29ba880963db283706950de7aa86c0a0"
      ],
      "author": {
        "name": "Artem Bityutskiy",
        "email": "artem.bityutskiy@linux.intel.com",
        "time": "Wed May 16 19:15:56 2012 +0300"
      },
      "committer": {
        "name": "Artem Bityutskiy",
        "email": "artem.bityutskiy@linux.intel.com",
        "time": "Wed May 16 19:15:56 2012 +0300"
      },
      "message": "UBIFS: rename dumping functions\n\nThis commit re-names all functions which dump something from \"dbg_dump_*()\" to\n\"ubifs_dump_*()\". This is done for consistency with UBI and because this way it\nwill be more logical once we remove the debugging sompilation option.\n\nSigned-off-by: Artem Bityutskiy \u003cartem.bityutskiy@linux.intel.com\u003e\n"
    },
    {
      "commit": "7c46d0ae29ba880963db283706950de7aa86c0a0",
      "tree": "1ba1ba22f2281dda27116443db50ebbcfc84cc09",
      "parents": [
        "1bdcc63112a0fe10030abee6ad71aaecd091e68e"
      ],
      "author": {
        "name": "Artem Bityutskiy",
        "email": "artem.bityutskiy@linux.intel.com",
        "time": "Wed May 16 19:04:54 2012 +0300"
      },
      "committer": {
        "name": "Artem Bityutskiy",
        "email": "artem.bityutskiy@linux.intel.com",
        "time": "Wed May 16 19:04:54 2012 +0300"
      },
      "message": "UBIFS: get rid of dbg_dump_stack\n\nIn case of errors we almost always need the stack dump - it makes no sense\nto compile it out. Remove the \u0027dbg_dump_stack()\u0027 function completely.\n\nSigned-off-by: Artem Bityutskiy \u003cartem.bityutskiy@linux.intel.com\u003e\n"
    },
    {
      "commit": "26fe575028703948880fce4355a210c76bb0536e",
      "tree": "0a7d04289e1eb1f1739659ebc9498d40f2add5da",
      "parents": [
        "ee983e89670704b2a05e897b161f2674a42d1508"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 10 13:14:12 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 10 19:54:35 2012 -0700"
      },
      "message": "vfs: make it possible to access the dentry hash/len as one 64-bit entry\n\nThis allows comparing hash and len in one operation on 64-bit\narchitectures.  Right now only __d_lookup_rcu() takes advantage of this,\nsince that is the case we care most about.\n\nThe use of anonymous struct/unions hides the alternate 64-bit approach\nfrom most users, the exception being a few cases where we initialize a\n\u0027struct qstr\u0027 with a static initializer.  This makes the problematic\ncases use a new QSTR_INIT() helper function for that (but initializing\njust the name pointer with a \"{ .name \u003d xyzzy }\" initializer remains\nvalid, as does just copying another qstr structure).\n\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "94b1984ab9ab61cc6047c07e074d766485299a9c",
      "tree": "4b6cba21caf3d99129bea6a5eba0544b2fe8402a",
      "parents": [
        "1a52bb0b686844021597d190e562ab55d1210104",
        "515315a123af641a9533e4ff0f178c470dc08fc7"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 13 10:31:33 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 13 10:31:33 2012 -0800"
      },
      "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: fix key printing\n  UBIFS: use snprintf instead of sprintf when printing keys\n  UBIFS: fix debugging messages\n  UBIFS: make debugging messages light again\n  UBI: fix debugging messages\n  UBI: make vid_hdr non-static\n"
    },
    {
      "commit": "515315a123af641a9533e4ff0f178c470dc08fc7",
      "tree": "1a215c3df46286d7ff878cd86517818404758900",
      "parents": [
        "beba006074e7170d3bc91470c8a6c914730d4c63"
      ],
      "author": {
        "name": "Artem Bityutskiy",
        "email": "artem.bityutskiy@linux.intel.com",
        "time": "Fri Jan 13 12:33:53 2012 +0200"
      },
      "committer": {
        "name": "Artem Bityutskiy",
        "email": "artem.bityutskiy@linux.intel.com",
        "time": "Fri Jan 13 12:50:42 2012 +0200"
      },
      "message": "UBIFS: fix key printing\n\nBefore commit 56e46742e846e4de167dde0e1e1071ace1c882a5 we have had locking\naround all printing macros and we could use static buffers for creating\nkey strings and printing them. However, now we do not have that locking and\nwe cannot use static buffers. This commit removes the old DBGKEY() macros\nand introduces few new helper macros for printing debugging messages plus\na key at the end. Thankfully, all the messages are already structures in\na way that the key is printed in the end.\n\nSigned-off-by: Artem Bityutskiy \u003cartem.bityutskiy@linux.intel.com\u003e\n"
    },
    {
      "commit": "eaecf43a6970c8d0ef54a31427c82a99e4863fe8",
      "tree": "998f383df3a68c34e08efb5064dfc82536af5a48",
      "parents": [
        "cfcfc9eca2bcbd26a8e206baeb005b055dbf8e37"
      ],
      "author": {
        "name": "Thomas Meyer",
        "email": "thomas@m3y3r.de",
        "time": "Fri Nov 18 00:00:52 2011 +0100"
      },
      "committer": {
        "name": "Artem Bityutskiy",
        "email": "artem.bityutskiy@linux.intel.com",
        "time": "Tue Nov 22 10:58:48 2011 +0200"
      },
      "message": "UBIFS: Use kmemdup rather than duplicating its implementation\n\nThe semantic patch that makes this change is available\nin scripts/coccinelle/api/memdup.cocci.\n\nSigned-off-by: Thomas Meyer \u003cthomas@m3y3r.de\u003e\nSigned-off-by: Artem Bityutskiy \u003cartem.bityutskiy@linux.intel.com\u003e\n"
    },
    {
      "commit": "d304820a1f6cdacab691bbcb7faa35ec631c6398",
      "tree": "b958f273673000d68a2dc088298425ae1f32e85f",
      "parents": [
        "83cef708c606f46a2b527af025acb3d24555f0c4"
      ],
      "author": {
        "name": "Artem Bityutskiy",
        "email": "Artem.Bityutskiy@nokia.com",
        "time": "Fri Jun 03 14:03:25 2011 +0300"
      },
      "committer": {
        "name": "Artem Bityutskiy",
        "email": "dedekind1@gmail.com",
        "time": "Mon Jul 04 10:54:33 2011 +0300"
      },
      "message": "UBIFS: switch to ubifs_leb_read\n\nInstead of using \u0027ubi_read()\u0027 function directly, used the \u0027ubifs_leb_read()\u0027\nhelper function instead. This allows to get rid of several redundant error\nmessages and make sure that we always have a stack dump on read errors.\n\nSigned-off-by: Artem Bityutskiy \u003cArtem.Bityutskiy@nokia.com\u003e\n"
    },
    {
      "commit": "2b1844a8c934723134ee1ff313e51d0d281cdef1",
      "tree": "1c490adba95a54eb14f9b00890ce9b09050358f7",
      "parents": [
        "d808efb407e1a2cf83a8d21411157195f26bdef9"
      ],
      "author": {
        "name": "Artem Bityutskiy",
        "email": "Artem.Bityutskiy@nokia.com",
        "time": "Fri Jun 03 08:31:29 2011 +0300"
      },
      "committer": {
        "name": "Artem Bityutskiy",
        "email": "dedekind1@gmail.com",
        "time": "Mon Jul 04 10:54:28 2011 +0300"
      },
      "message": "UBIFS: introduce helper functions for debugging checks and tests\n\nThis patch introduces helper functions for all debugging checks, so instead of\ndoing\n\nif (!(ubifs_chk_flags \u0026 UBIFS_CHK_GEN))\n\nwe now do\n\nif (!dbg_is_chk_gen(c))\n\nThis is a preparation to further changes where the flags will go away, and\nwe\u0027ll need to only change the helper functions, but the code which utilizes\nthem won\u0027t be touched.\n\nAt the same time this patch removes \u0027dbg_force_in_the_gaps()\u0027,\n\u0027dbg_force_in_the_gaps_enabled()\u0027, and dbg_failure_mode helpers for\nconsistency.\n\nSigned-off-by: Artem Bityutskiy \u003cArtem.Bityutskiy@nokia.com\u003e\n"
    },
    {
      "commit": "f42eed7cba7f83197b0ffbb023e7d89a0b2fd71d",
      "tree": "b5590faffe190cd1401945e13c66684bec2f5b48",
      "parents": [
        "1f42596ec0a7d3d50a494d95e3f1afbd117250f8"
      ],
      "author": {
        "name": "Artem Bityutskiy",
        "email": "Artem.Bityutskiy@nokia.com",
        "time": "Mon May 30 14:45:30 2011 +0300"
      },
      "committer": {
        "name": "Artem Bityutskiy",
        "email": "dedekind1@gmail.com",
        "time": "Mon Jul 04 10:54:27 2011 +0300"
      },
      "message": "UBIFS: harmonize znode flag helpers\n\nWe have 3 znode flags: cow, obsolete, dirty. For the last flag we have a\n\u0027ubifs_zn_dirty()\u0027 helper function, but for the other 2 flags we use\n\u0027test_bit()\u0027 directly.\n\nThis patch makes the situation more consistent and introduces helpers for the\nother 2 flags: \u0027ubifs_zn_cow()\u0027 and \u0027ubifs_zn_obsolete()\u0027.\n\nSigned-off-by: Artem Bityutskiy \u003cArtem.Bityutskiy@nokia.com\u003e\n"
    },
    {
      "commit": "4315fb4072905e45da94d51e2c1e86fa41c5fc5f",
      "tree": "e8e5f514cddf7b0d13cfe71897a83019da58da5c",
      "parents": [
        "bfcf677decd8051c305b1d8fda407d069c2361e3"
      ],
      "author": {
        "name": "Artem Bityutskiy",
        "email": "Artem.Bityutskiy@nokia.com",
        "time": "Wed May 25 17:32:42 2011 +0300"
      },
      "committer": {
        "name": "Artem Bityutskiy",
        "email": "dedekind1@gmail.com",
        "time": "Mon Jul 04 10:54:26 2011 +0300"
      },
      "message": "UBIFS: improve inode dumping function\n\nTeach \u0027dbg_dump_inode()\u0027 dump directory entries for directory inodes.\nThis requires few additional changes:\n1. The \u0027c\u0027 argument of \u0027dbg_dump_inode()\u0027 cannot be const any more.\n2. Users of \u0027dbg_dump_inode()\u0027 should not have \u0027tnc_mutex\u0027 locked.\n\nSigned-off-by: Artem Bityutskiy \u003cArtem.Bityutskiy@nokia.com\u003e\n"
    },
    {
      "commit": "837072377034d0a0b18b851d1ab95676b245cc0a",
      "tree": "7020b369ac3373f292d59fe5fd470f73ecb69897",
      "parents": [
        "812eb258311f89bcd664a34a620f249d54a2cd83"
      ],
      "author": {
        "name": "Artem Bityutskiy",
        "email": "Artem.Bityutskiy@nokia.com",
        "time": "Tue May 31 14:26:07 2011 +0300"
      },
      "committer": {
        "name": "Artem Bityutskiy",
        "email": "Artem.Bityutskiy@nokia.com",
        "time": "Fri Jun 03 18:12:31 2011 +0300"
      },
      "message": "UBIFS: fix clean znode counter corruption in error cases\n\nUBIFS maintains per-filesystem and global clean znode counters\n(\u0027c-\u003eclean_zn_cnt\u0027 and \u0027ubifs_clean_zn_cnt\u0027). It is important to maintain\ncorrect values there since the shrinker relies on \u0027ubifs_clean_zn_cnt\u0027.\n\nHowever, in case of failures during commit the counters were corrupted. E.g.,\nif a failure happens in the middle of \u0027write_index()\u0027, then some nodes in the\ncommit list (\u0027c-\u003ecnext\u0027) are marked as clean, and some are marked as dirty. And\nthe \u0027ubifs_destroy_tnc_subtree()\u0027 frees does not retrun correct count, and we\nend up with non-zero \u0027c-\u003eclean_zn_cnt\u0027 when unmounting. This means that if we\nhave 2 file-sytem and one of them fails, and we unmount it,\n\u0027ubifs_clean_zn_cnt\u0027 stays incorrect and confuses the shrinker.\n\nSigned-off-by: Artem Bityutskiy \u003cArtem.Bityutskiy@nokia.com\u003e\n"
    },
    {
      "commit": "c43615702f9c5957981693a4d966ed81d8fc1ecc",
      "tree": "2ebe066623e693e2f0d85a609b19a5ccd27a0993",
      "parents": [
        "1bbfc848a915081237660d898bbcf50e4a8fc59f"
      ],
      "author": {
        "name": "Artem Bityutskiy",
        "email": "Artem.Bityutskiy@nokia.com",
        "time": "Fri Mar 25 15:27:40 2011 +0200"
      },
      "committer": {
        "name": "Artem Bityutskiy",
        "email": "Artem.Bityutskiy@nokia.com",
        "time": "Fri May 13 19:23:53 2011 +0300"
      },
      "message": "UBIFS: fix minor stylistic issues\n\nFix several minor stylistic issues:\n* lines longer than 80 characters\n* space before closing parenthesis \u0027)\u0027\n* spaces in the indentations\n\nSigned-off-by: Artem Bityutskiy \u003cArtem.Bityutskiy@nokia.com\u003e\n"
    },
    {
      "commit": "18d1d7fbcc260e67d249bf90b454d8cf34288453",
      "tree": "160479d5a455ea2ac111ecbbf0e48f6a5dfcf0ea",
      "parents": [
        "d8cdda3efb9331bedbcca2343591eab2316f4cae"
      ],
      "author": {
        "name": "Artem Bityutskiy",
        "email": "Artem.Bityutskiy@nokia.com",
        "time": "Mon Jan 17 22:27:56 2011 +0200"
      },
      "committer": {
        "name": "Artem Bityutskiy",
        "email": "Artem.Bityutskiy@nokia.com",
        "time": "Mon Jan 17 23:24:30 2011 +0200"
      },
      "message": "UBIFS: introduce mounting flag\n\nThis is a preparational patch which removes the \u0027c-\u003ealways_chk_crc\u0027 which was\nset during mounting and remounting to R/W mode and introduces \u0027c-\u003emounting\u0027\nflag which is set when mounting. Now the \u0027c-\u003ealways_chk_crc\u0027 flag is the\nsame as \u0027c-\u003eremounting_rw \u0026\u0026 c-\u003emounting\u0027.\n\nThis patch is a preparation for the next one which will need to know when we\nare mounting and remounting to R/W mode, which is exactly what\n\u0027c-\u003ealways_chk_crc\u0027 effectively is, but its name does not suite the\nnext patch. The other possibility would be to just re-name it, but then\nwe\u0027d end up with less logical flags coverage.\n\nSigned-off-by: Artem Bityutskiy \u003cArtem.Bityutskiy@nokia.com\u003e\n"
    },
    {
      "commit": "ba2f48f70efcf4d82deafb2be327ed64b1f043a5",
      "tree": "a05dd8287bb6588117f2a2a921b54f8ebf3425f4",
      "parents": [
        "5b7a3a2e1b0cbc7d5410a8da60dac266a3e19268"
      ],
      "author": {
        "name": "Artem Bityutskiy",
        "email": "Artem.Bityutskiy@nokia.com",
        "time": "Sun Aug 22 07:10:12 2010 +0300"
      },
      "committer": {
        "name": "Artem Bityutskiy",
        "email": "Artem.Bityutskiy@nokia.com",
        "time": "Mon Aug 30 10:19:08 2010 +0300"
      },
      "message": "UBIFS: mark unused key objects as invalid\n\nWhen scanning the flash, UBIFS builds a list of flash nodes of type\n\u0027struct ubifs_scan_node\u0027. Each scanned node has a \u0027snod-\u003ekey\u0027 field. This field\nis valid for most of the nodes, but invalid for some node type, e.g., truncation\nnodes. It is safer to explicitly initialize such keys to something invalid,\nrather than leaving them initialized to all zeros, which has key type of\nUBIFS_INO_KEY.\n\nThis patch introduces new \"fake\" key type UBIFS_INVALID_KEY and initializes\nunused \u0027snod-\u003ekey\u0027 objects to this type. It also adds debugging assertions in\nthe TNC code to make sure no one ever tries to look these nodes up in the TNC.\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": "e3c3efc243462d67ba9fa7f67620dcbc4597bf0a",
      "tree": "ae29cf8fade7c9bfac77f7ceff0381e775d80c0d",
      "parents": [
        "8c6866b071cb242584df287dbd342e5815e8407f"
      ],
      "author": {
        "name": "Artem Bityutskiy",
        "email": "Artem.Bityutskiy@nokia.com",
        "time": "Thu Aug 27 16:34:19 2009 +0300"
      },
      "committer": {
        "name": "Artem Bityutskiy",
        "email": "Artem.Bityutskiy@nokia.com",
        "time": "Thu Sep 10 09:58:11 2009 +0300"
      },
      "message": "UBIFS: add inode size debugging check\n\nAdd one more check to UBIFS - a check that makes sure that there\nare no data nodes beyond inode size. And few commantaries fixes\nalong the line.\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": "6f7ab6d458bbfc2f55d295fa3e6b9e69cdb1d517",
      "tree": "7d07f5ff88d205a652998c2fd281e7123ba9a112",
      "parents": [
        "6ba87c9b920bea8c2703308d31eb7de925242c30"
      ],
      "author": {
        "name": "Artem Bityutskiy",
        "email": "Artem.Bityutskiy@nokia.com",
        "time": "Tue Jan 27 16:12:31 2009 +0200"
      },
      "committer": {
        "name": "Artem Bityutskiy",
        "email": "Artem.Bityutskiy@nokia.com",
        "time": "Tue Jan 27 16:25:10 2009 +0200"
      },
      "message": "UBIFS: fix no_chk_data_crc\n\nWhen data CRC checking is disabled, UBIFS returns incorrect return\ncode from the \u0027try_read_node()\u0027 function (0 instead of 1, which means\nCRC error), which make the caller re-read the data node again, but using\na different code patch, so the second read is fine. Thus, we read the\nsame node twice. And the result of this is that UBIFS is slower\nwith no_chk_data_crc option than it is with chk_data_crc option.\nThis patches fixes the problem.\n\nReported-by: Reuben Dowle \u003cReuben.Dowle@navico.com\u003e\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": "6c0c42cdfd73fb161417403d8d077cb136e10bbf",
      "tree": "343de0cb98df07295bc3e03eee083012ac12bae7",
      "parents": [
        "39ce81ce7168aa7226fb9f182c3a2b57060d0905"
      ],
      "author": {
        "name": "Artem Bityutskiy",
        "email": "Artem.Bityutskiy@nokia.com",
        "time": "Tue Nov 18 20:20:05 2008 +0200"
      },
      "committer": {
        "name": "Artem Bityutskiy",
        "email": "Artem.Bityutskiy@nokia.com",
        "time": "Fri Nov 21 18:59:25 2008 +0200"
      },
      "message": "UBIFS: do not allocate too much\n\nBulk-read allocates 128KiB or more using kmalloc. The allocation\nstarts failing often when the memory gets fragmented. UBIFS still\nworks fine in this case, because it falls-back to standard\n(non-optimized) read method, though. This patch teaches bulk-read\nto allocate exactly the amount of memory it needs, instead of\nallocating 128KiB every time.\n\nThis patch is also a preparation to the further fix where we\u0027ll\nhave a pre-allocated bulk-read buffer as well. For example, now\nthe @bu object is prepared in \u0027ubifs_bulk_read()\u0027, so we could\npath either pre-allocated or allocated information to\n\u0027ubifs_do_bulk_read()\u0027 later. Or teaching \u0027ubifs_do_bulk_read()\u0027\nnot to allocate \u0027bu-\u003ebuf\u0027 if it is already there.\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": "63c300b68fd93a9fadc5e317d4d001b7a6985486",
      "tree": "8d9a35c531c9b9e93ee56f3135ef25e75baacf9c",
      "parents": [
        "73944a6de048c2c49422e9063e57198256efd23e"
      ],
      "author": {
        "name": "Adrian Hunter",
        "email": "ext-adrian.hunter@nokia.com",
        "time": "Wed Sep 17 12:11:13 2008 +0300"
      },
      "committer": {
        "name": "Artem Bityutskiy",
        "email": "Artem.Bityutskiy@nokia.com",
        "time": "Tue Sep 30 11:12:59 2008 +0300"
      },
      "message": "UBIFS: correct condition to eliminate unecessary assignment\n\nSigned-off-by: Adrian Hunter \u003cext-adrian.hunter@nokia.com\u003e\n"
    },
    {
      "commit": "2242c689ecc390fb4719f595751351d1ecc5c409",
      "tree": "f6116b867d6c65c924e67d9b53024e103d65e207",
      "parents": [
        "2953e73f1ce4b3284b409aefb9d46bbde6515c37"
      ],
      "author": {
        "name": "Adrian Hunter",
        "email": "ext-adrian.hunter@nokia.com",
        "time": "Fri Sep 05 11:56:05 2008 +0300"
      },
      "committer": {
        "name": "Artem Bityutskiy",
        "email": "Artem.Bityutskiy@nokia.com",
        "time": "Tue Sep 30 11:12:57 2008 +0300"
      },
      "message": "UBIFS: improve znode splitting rules\n\nWhen inserting into a full znode it is split into two\nznodes.  Because data node keys are usually consecutive,\nit is better to try to keep them together.  This patch\ndoes a better job of that.\n\nSigned-off-by: Adrian Hunter \u003cext-adrian.hunter@nokia.com\u003e\n"
    },
    {
      "commit": "2953e73f1ce4b3284b409aefb9d46bbde6515c37",
      "tree": "56126c6a589bd0450eb288db6a93946e50e5bc29",
      "parents": [
        "4793e7c5e1c88382ead18db5ca072bac54467318"
      ],
      "author": {
        "name": "Adrian Hunter",
        "email": "ext-adrian.hunter@nokia.com",
        "time": "Thu Sep 04 16:26:00 2008 +0300"
      },
      "committer": {
        "name": "Artem Bityutskiy",
        "email": "Artem.Bityutskiy@nokia.com",
        "time": "Tue Sep 30 11:12:56 2008 +0300"
      },
      "message": "UBIFS: add no_chk_data_crc mount option\n\nUBIFS read performance can be improved by skipping the CRC\ncheck when data nodes are read.  This option can be used if\nthe underlying media is considered to be highly reliable.\nNote that CRCs are always checked for metadata.\n\nRead speed on Arm platform with OneNAND goes from 19 MiB/s\nto 27 MiB/s with data CRC checking disabled.\n\nSigned-off-by: Adrian Hunter \u003cext-adrian.hunter@nokia.com\u003e\n"
    },
    {
      "commit": "4793e7c5e1c88382ead18db5ca072bac54467318",
      "tree": "07e5e99d988b28fed07d5a01141169362c5a007d",
      "parents": [
        "a70948b564e9f6cb81115c606d46f5b74a77b7c2"
      ],
      "author": {
        "name": "Adrian Hunter",
        "email": "ext-adrian.hunter@nokia.com",
        "time": "Tue Sep 02 16:29:46 2008 +0300"
      },
      "committer": {
        "name": "Artem Bityutskiy",
        "email": "Artem.Bityutskiy@nokia.com",
        "time": "Tue Sep 30 11:12:56 2008 +0300"
      },
      "message": "UBIFS: add bulk-read facility\n\nSome flash media are capable of reading sequentially at faster rates.\nUBIFS bulk-read facility is designed to take advantage of that, by\nreading in one go consecutive data nodes that are also located\nconsecutively in the same LEB.\n\nRead speed on Arm platform with OneNAND goes from 17 MiB/s to\n19 MiB/s.\n\nSigned-off-by: Adrian Hunter \u003cext-adrian.hunter@nokia.com\u003e\n"
    },
    {
      "commit": "8d47aef43ba166bdd11d522307c61ab23aab61c3",
      "tree": "7d462c2d304610b4eba3ceab1e39995efdc62bf9",
      "parents": [
        "948cfb219bbbc3c8e1b10a671ca88219fa42a052"
      ],
      "author": {
        "name": "Hirofumi Nakagawa",
        "email": "hnakagawa@miraclelinux.com",
        "time": "Thu Aug 21 17:16:40 2008 +0300"
      },
      "committer": {
        "name": "Artem Bityutskiy",
        "email": "Artem.Bityutskiy@nokia.com",
        "time": "Tue Sep 30 11:12:55 2008 +0300"
      },
      "message": "UBIFS: remove unneeded unlikely()\n\nIS_ERR() macro already has unlikely(), so do not use constructions\nlike \u0027if (unlikely(IS_ERR())\u0027.\n\nSigned-off-by: Hirofumi Nakagawa \u003chnakagawa@miraclelinux.com\u003e\nSigned-off-by: Artem Bityutskiy \u003cArtem.Bityutskiy@nokia.com\u003e\n"
    },
    {
      "commit": "6dcfac4f13d6b32fbaa60b64a23249999e66af8e",
      "tree": "007884a8327658dc53252c7f1be9ab9daeb7ea14",
      "parents": [
        "0855f310dff76ae42c5aac32f600f8f692bbd23f"
      ],
      "author": {
        "name": "Adrian Hunter",
        "email": "ext-adrian.hunter@nokia.com",
        "time": "Fri Sep 12 12:27:47 2008 +0300"
      },
      "committer": {
        "name": "Artem Bityutskiy",
        "email": "Artem.Bityutskiy@nokia.com",
        "time": "Wed Sep 17 14:23:26 2008 +0300"
      },
      "message": "UBIFS: TNC / GC race fixes\n\n- update GC sequence number if any nodes may have been moved\neven if GC did not finish the LEB\n- don\u0027t ignore error return when reading\n\nSigned-off-by: Adrian Hunter \u003cext-adrian.hunter@nokia.com\u003e\nSigned-off-by: Artem Bityutskiy \u003cArtem.Bityutskiy@nokia.com\u003e\n"
    },
    {
      "commit": "601c0bc46753007be011b513ba4fc50ed8e30aef",
      "tree": "39017065a8418b60362686a7771afe138e100c08",
      "parents": [
        "761e29f3bb19b05bea55285dfdf2d28e001a63b8"
      ],
      "author": {
        "name": "Adrian Hunter",
        "email": "ext-adrian.hunter@nokia.com",
        "time": "Fri Aug 22 14:23:35 2008 +0300"
      },
      "committer": {
        "name": "Artem Bityutskiy",
        "email": "Artem.Bityutskiy@nokia.com",
        "time": "Mon Aug 25 14:34:02 2008 +0300"
      },
      "message": "UBIFS: allow for racing between GC and TNC\n\nThe TNC mutex is unlocked prematurely when reading leaf nodes\nwith non-hashed keys.  This is unsafe because the node may be\nmoved by garbage collection and the eraseblock unmapped, although\nthat has never actually happened during stress testing.\n\nThis patch fixes the flaw by detecting the race and retrying with\nthe TNC mutex locked.\n\nSigned-off-by: Adrian Hunter \u003cext-adrian.hunter@nokia.com\u003e\n"
    },
    {
      "commit": "761e29f3bb19b05bea55285dfdf2d28e001a63b8",
      "tree": "36acaae9cbcca6f613c03e29f7e7fe61bb4f243b",
      "parents": [
        "04da11bfcf511544ae19e0a7e5f994b3237752ac"
      ],
      "author": {
        "name": "Adrian Hunter",
        "email": "ext-adrian.hunter@nokia.com",
        "time": "Wed Aug 20 16:32:40 2008 +0300"
      },
      "committer": {
        "name": "Artem Bityutskiy",
        "email": "Artem.Bityutskiy@nokia.com",
        "time": "Mon Aug 25 14:33:41 2008 +0300"
      },
      "message": "UBIFS: always read hashed-key nodes under TNC mutex\n\nLeaf-nodes that have a hashed key are stored in the\nleaf-node-cache (LNC) which is protected by the TNC\nmutex.  Consequently, when reading a leaf node with\na hashed key (i.e. directory entries, xattr entries)\nthe TNC mutex is always required.\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"
    }
  ]
}
