)]}'
{
  "log": [
    {
      "commit": "f57cb188ccd9c0242111d99b7283eda7827746c4",
      "tree": "687b8b3f6e91594461f663ebd6568b9a534d8e32",
      "parents": [
        "0a541b14e819f972d14f29d17cb9fd8b4b71222e"
      ],
      "author": {
        "name": "Artem Bityutskiy",
        "email": "Artem.Bityutskiy@nokia.com",
        "time": "Fri Jun 03 14:51:41 2011 +0300"
      },
      "committer": {
        "name": "Artem Bityutskiy",
        "email": "dedekind1@gmail.com",
        "time": "Mon Jul 04 10:54:33 2011 +0300"
      },
      "message": "UBIFS: remove custom list of superblocks\n\nThis is a clean-up of the power-cut emulation code - remove the custom list of\nsuperblocks which we maintained to find the superblock by the UBI volume\ndescriptor. We do not need that crud any longer, because now we can get the\nsuperblock as a function argument.\n\nSigned-off-by: Artem Bityutskiy \u003cArtem.Bityutskiy@nokia.com\u003e\n"
    },
    {
      "commit": "987226a5d3a356792650f8e9028132a79815f6ef",
      "tree": "f230d62a1f05f80e99ed1d6836bfbce84b74c250",
      "parents": [
        "d304820a1f6cdacab691bbcb7faa35ec631c6398"
      ],
      "author": {
        "name": "Artem Bityutskiy",
        "email": "Artem.Bityutskiy@nokia.com",
        "time": "Fri Jun 03 14:12:10 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_write\n\nStop using \u0027ubi_leb_write()\u0027 directly and switch to the \u0027ubifs_leb_write()\u0027\nhelper.\n\nSigned-off-by: Artem Bityutskiy \u003cArtem.Bityutskiy@nokia.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": "83cef708c606f46a2b527af025acb3d24555f0c4",
      "tree": "f5f91da8f13a7f013304ae596e56e7d52a5dcd76",
      "parents": [
        "d033c98b17ecf30d64d83d96938ce7bfb47f7520"
      ],
      "author": {
        "name": "Artem Bityutskiy",
        "email": "Artem.Bityutskiy@nokia.com",
        "time": "Fri Jun 03 13:45:09 2011 +0300"
      },
      "committer": {
        "name": "Artem Bityutskiy",
        "email": "dedekind1@gmail.com",
        "time": "Mon Jul 04 10:54:33 2011 +0300"
      },
      "message": "UBIFS: introduce more I/O helpers\n\nIntroduce the following I/O helper functions: \u0027ubifs_leb_read()\u0027,\n\u0027ubifs_leb_write()\u0027, \u0027ubifs_leb_change()\u0027, \u0027ubifs_leb_unmap()\u0027,\n\u0027ubifs_leb_map()\u0027, \u0027ubifs_is_mapped().\n\nThe idea is to wrap all UBI I/O functions in order to encapsulate various\nassertions and error path handling (error message, stack dump, switching to R/O\nmode). And there are some other benefits of this which will be used in the\nfollowing patches.\n\nThis patch does not switch whole UBIFS to use these functions yet.\n\nSigned-off-by: Artem Bityutskiy \u003cArtem.Bityutskiy@nokia.com\u003e\n"
    },
    {
      "commit": "d033c98b17ecf30d64d83d96938ce7bfb47f7520",
      "tree": "079b36f4b63bb7c13f177cec15f144dff794f08e",
      "parents": [
        "891a54a153646f9b16bffe5df6cb74cb3f1e9dc6"
      ],
      "author": {
        "name": "Artem Bityutskiy",
        "email": "Artem.Bityutskiy@nokia.com",
        "time": "Fri Jun 03 13:16:08 2011 +0300"
      },
      "committer": {
        "name": "Artem Bityutskiy",
        "email": "dedekind1@gmail.com",
        "time": "Mon Jul 04 10:54:33 2011 +0300"
      },
      "message": "UBIFS: always print stacktrace when switching to R/O mode\n\nWhen switching to R/O mode due to an I/O error, always dump the stack, not only\nwhen debugging is enabled.\n\nSigned-off-by: Artem Bityutskiy \u003cArtem.Bityutskiy@nokia.com\u003e\n"
    },
    {
      "commit": "4f1ab9b01d34eac9fc958f7150d3bf266dcc1685",
      "tree": "77ff5efa6449743984e77f491902fa53f7716969",
      "parents": [
        "837072377034d0a0b18b851d1ab95676b245cc0a"
      ],
      "author": {
        "name": "Ben Gardiner",
        "email": "bengardiner@nanometrics.ca",
        "time": "Mon May 30 14:56:14 2011 -0400"
      },
      "committer": {
        "name": "Artem Bityutskiy",
        "email": "Artem.Bityutskiy@nokia.com",
        "time": "Fri Jun 03 18:12:31 2011 +0300"
      },
      "message": "UBIFS: assert no fixup when writing a node\n\nThe current free space fixup can result in some writing to the UBI volume\nwhen the space_fixup flag is set.\n\nTo catch instances where UBIFS is writing to the NAND while the space_fixup\nflag is set, add an assert to ubifs_write_node().\n\nArtem: tweaked the patch, added similar assertion to the write buffer\n       write path.\n\nSigned-off-by: Ben Gardiner \u003cbengardiner@nanometrics.ca\u003e\nReviewed-by: Matthew L. Creech \u003cmlcreech@gmail.com\u003e\nSigned-off-by: Artem Bityutskiy \u003cArtem.Bityutskiy@nokia.com\u003e\n"
    },
    {
      "commit": "cb14a18465686ea6add51b1008865b8174c28bd7",
      "tree": "9e1b7aa466e83c77628fa74af00049893db84c40",
      "parents": [
        "c49139d8096dc1c392455dbc3f158b46038fc9d4"
      ],
      "author": {
        "name": "Artem Bityutskiy",
        "email": "Artem.Bityutskiy@nokia.com",
        "time": "Sun May 15 14:51:54 2011 +0300"
      },
      "committer": {
        "name": "Artem Bityutskiy",
        "email": "Artem.Bityutskiy@nokia.com",
        "time": "Mon May 16 10:31:41 2011 +0300"
      },
      "message": "UBIFS: synchronize write-buffer before switching to the next bud\n\nCurrently when UBIFS fills up the current bud (which is the last in the journal\nhead) and switches to the next bud, it first writes the log reference node for\nthe next bud and only after this synchronizes the write-buffer of the previous\nbud. This is not a big deal, but an unclean power cut may lead to a situation\nwhen we have corruption in a next-to-last bud, although it is much more logical\nthat we have to have corruption only in the last bud.\n\nThis patch also removes write-buffer synchronization from\n\u0027ubifs_wbuf_seek_nolock()\u0027 because this is not needed anymore (we synchronize\nthe write-buffer explicitly everywhere now) and also because this is just\nprone to various errors.\n\nSigned-off-by: Artem Bityutskiy \u003cArtem.Bityutskiy@nokia.com\u003e\n"
    },
    {
      "commit": "12f338914e7f2a9ab0def09564b9e78ab45a474f",
      "tree": "58730ff8615d2a82fc52566cb235ce053437c0f1",
      "parents": [
        "7703f09ded1b8719d2defe0f61215b4a08702ffa"
      ],
      "author": {
        "name": "Artem Bityutskiy",
        "email": "Artem.Bityutskiy@nokia.com",
        "time": "Sat May 14 17:37:47 2011 +0300"
      },
      "committer": {
        "name": "Artem Bityutskiy",
        "email": "Artem.Bityutskiy@nokia.com",
        "time": "Mon May 16 10:31:40 2011 +0300"
      },
      "message": "UBIFS: remove unnecessary stack variable\n\nThis is patch removes an unnecessary \u0027offs\u0027 variable from \u0027ubifs_wbuf_write_nolock()\u0027\n- we can just keep \u0027wbuf-\u003eoffs\u0027 up-to-date instead. This patch is very minor\nthe only motivation for it was that it is cleaner to keep wbuf-\u003eoffs up-to-date\nby the time we call \u0027ubifs_leb_write()\u0027.\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": "6c7f74f703cc4baf053270a6e78a32f832f03445",
      "tree": "3674246ea035096e5ab7536e7c6fdad8899c6d3a",
      "parents": [
        "3c89f396dc78671cfbc1eb20ef1d5be6a9a02780"
      ],
      "author": {
        "name": "Artem Bityutskiy",
        "email": "Artem.Bityutskiy@nokia.com",
        "time": "Sun Feb 06 14:45:26 2011 +0200"
      },
      "committer": {
        "name": "Artem Bityutskiy",
        "email": "Artem.Bityutskiy@nokia.com",
        "time": "Tue Mar 08 10:12:49 2011 +0200"
      },
      "message": "UBIFS: use max_write_size for write-buffers\n\nSwitch write-buffers from \u0027c-\u003emin_io_size\u0027 to \u0027c-\u003emax_write_size\u0027 which\npresumably has to be more write speed-efficient. However, when write-buffer\nis synchronized, write only the the min. I/O units which contain the\ndata, do not write whole write-buffer. This is more space-efficient.\n\nAdditionally, this patch takes into account that the LEB might not start\nfrom the max. write unit-aligned address.\n\nSigned-off-by: Artem Bityutskiy \u003cArtem.Bityutskiy@nokia.com\u003e\n"
    },
    {
      "commit": "3c89f396dc78671cfbc1eb20ef1d5be6a9a02780",
      "tree": "6ed2ba3d484f8b92eed00b619128a79ecd094f4d",
      "parents": [
        "ca2ec61d157f23ec24aaa200f8016ea0a8aeb617"
      ],
      "author": {
        "name": "Artem Bityutskiy",
        "email": "Artem.Bityutskiy@nokia.com",
        "time": "Tue Feb 01 19:02:49 2011 +0200"
      },
      "committer": {
        "name": "Artem Bityutskiy",
        "email": "Artem.Bityutskiy@nokia.com",
        "time": "Tue Mar 08 10:12:49 2011 +0200"
      },
      "message": "UBIFS: introduce write-buffer size field\n\nCurrently we assume write-buffer size is always min_io_size. But\nthis is about to change and write-buffers may be of variable size.\nNamely, they will be of max_write_size at the beginning, but will\nget smaller when we are approaching the end of LEB.\n\nThis is a preparation patch which introduces \u0027size\u0027 field in\nthe write-buffer structure which carries the current write-buffer\nsize.\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": "2ef13294d29bcfb306e0d360f1b97f37b647b0c0",
      "tree": "877e1ece00c14de0f0d79e86b6480d284d309216",
      "parents": [
        "2680d722bf2c5f75225dd9acb3ec9e5a9e2652f4"
      ],
      "author": {
        "name": "Artem Bityutskiy",
        "email": "Artem.Bityutskiy@nokia.com",
        "time": "Sun Sep 19 18:34:26 2010 +0300"
      },
      "committer": {
        "name": "Artem Bityutskiy",
        "email": "Artem.Bityutskiy@nokia.com",
        "time": "Sun Sep 19 21:07:58 2010 +0300"
      },
      "message": "UBIFS: introduce new flags for RO mounts\n\nCommit 2fde99cb55fb9d9b88180512a5e8a5d939d27fec \"UBIFS: mark VFS SB RO too\"\nintroduced regression. This commit made UBIFS set the \u0027MS_RDONLY\u0027 flag in the\nVFS superblock when it switches to R/O mode due to an error. This was done\nto make VFS show the R/O UBIFS flag in /proc/mounts.\n\nHowever, several places in UBIFS relied on the \u0027MS_RDONLY\u0027 flag and assume this\nflag can only change when we re-mount. For example, \u0027ubifs_put_super()\u0027.\n\nThis patch introduces new UBIFS flag - \u0027c-\u003ero_mount\u0027 which changes only when\nwe re-mount, and preserves the way UBIFS was originally mounted (R/W or R/O).\nThis allows us to de-initialize UBIFS cleanly in \u0027ubifs_put_super()\u0027.\n\nThis patch also changes all \u0027ubifs_assert(!c-\u003ero_media)\u0027 assertions to\n\u0027ubifs_assert(!c-\u003ero_media \u0026\u0026 !c-\u003ero_mount)\u0027, because we never should write\nanything if the FS was mounter R/O.\n\nAll the places where we test for \u0027MS_RDONLY\u0027 flag in the VFS SB were changed\nand now we test the \u0027c-\u003ero_mount\u0027 flag instead, because it preserves the\noriginal UBIFS mount type, unlike the \u0027MS_RDONLY\u0027 flag.\n\nSigned-off-by: Artem Bityutskiy \u003cArtem.Bityutskiy@nokia.com\u003e\n"
    },
    {
      "commit": "2680d722bf2c5f75225dd9acb3ec9e5a9e2652f4",
      "tree": "af016ede5f300a33ddd3ad66a8c3c0e6bf05774e",
      "parents": [
        "8c893a5545ca772744376295690723dcb0b47d96"
      ],
      "author": {
        "name": "Artem Bityutskiy",
        "email": "Artem.Bityutskiy@nokia.com",
        "time": "Fri Sep 17 16:44:28 2010 +0300"
      },
      "committer": {
        "name": "Artem Bityutskiy",
        "email": "Artem.Bityutskiy@nokia.com",
        "time": "Fri Sep 17 17:08:09 2010 +0300"
      },
      "message": "UBIFS: introduce new flag for RO due to errors\n\nThe R/O state may have various reasons:\n\n1. The UBI volume is R/O\n2. The FS is mounted R/O\n3. The FS switched to R/O mode because of an error\n\nHowever, in UBIFS we have only one variable which represents cases\n1 and 3 - \u0027c-\u003ero_media\u0027. Indeed, we set this to 1 if we switch to\nR/O mode due to an error, and then we test it in many places to\nmake sure that we stop writing as soon as the error happens.\n\nBut this is very unclean. One consequence of this, for example, is\nthat in \u0027ubifs_remount_fs()\u0027 we use \u0027c-\u003ero_media\u0027 to check whether\nwe are in R/O mode because on an error, and we print a message\nin this case. However, if we are in R/O mode because the media\nis R/O, our message is bogus.\n\nThis patch introduces new flag - \u0027c-\u003ero_error\u0027 which is set when\nwe switch to R/O mode because of an error. It also changes all\n\"if (c-\u003ero_media)\" checks to \"if (c-\u003ero_error)\" checks, because\nthis is what the checks actually mean. We do not need to check\nfor \u0027c-\u003ero_media\u0027 because if the UBI volume is in R/O mode, we\ndo not allow R/W mounting, and now writes can happen. This is\nguaranteed by VFS. But it is good to double-check this, so this\npatch also adds many \"ubifs_assert(!c-\u003ero_media)\" checks.\n\nIn the \u0027ubifs_remount_fs()\u0027 function this patch makes a bit more\nchanges - it fixes the error messages as well.\n\nSigned-off-by: Artem Bityutskiy \u003cArtem.Bityutskiy@nokia.com\u003e\n"
    },
    {
      "commit": "3a8fa0ed3e1a8dc54f9297d2a2292b87e03e21b5",
      "tree": "395e9ea22dda9361867afdfc5588a932530b1c10",
      "parents": [
        "3bb66b47a4268a4419594b4c4aec58dbeb6b58d2"
      ],
      "author": {
        "name": "Artem Bityutskiy",
        "email": "Artem.Bityutskiy@nokia.com",
        "time": "Sun Aug 22 21:27:30 2010 +0300"
      },
      "committer": {
        "name": "Artem Bityutskiy",
        "email": "Artem.Bityutskiy@nokia.com",
        "time": "Mon Aug 30 10:19:09 2010 +0300"
      },
      "message": "UBIFS: improve error reporting when reading bad node\n\nWhen an error happens during validation of read node, the typical situation is that\nthe LEB we read is unmapped (due to some bug). It is handy to include the mapping\nstatus into the error message.\n\nSigned-off-by: Artem Bityutskiy \u003cArtem.Bityutskiy@nokia.com\u003e\n"
    },
    {
      "commit": "2fde99cb55fb9d9b88180512a5e8a5d939d27fec",
      "tree": "52113a2ea0c08f5beb496a6a9c00da618c07c67d",
      "parents": [
        "01bf0b64579ead8a82e7cfc32ae44bc667e7ad0f"
      ],
      "author": {
        "name": "ZhangJieJing",
        "email": "kzjeef@gmail.com",
        "time": "Fri Apr 16 11:36:50 2010 +0800"
      },
      "committer": {
        "name": "Artem Bityutskiy",
        "email": "Artem.Bityutskiy@nokia.com",
        "time": "Thu Apr 29 15:12:18 2010 +0300"
      },
      "message": "UBIFS: mark VFS SB RO too\n\nIf some read/write error happens (eg.CRC error), UBIFS swotches to\nread-only mode, but the VFS infomation still not update.\nThis patch add this also make /proc/mounts update.\n\nSigned-off-by: Zhang Jiejing \u003ckzjeef@gmail.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": "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": "44737589442bf69d811e003d9d0064b8fc1541d6",
      "tree": "8b75c1cb6fe22e95ac6235535e25960c47231ea9",
      "parents": [
        "cb54ef8b1304fe25f3d57031e0f85558a043239f"
      ],
      "author": {
        "name": "Adrian Hunter",
        "email": "adrian.hunter@nokia.com",
        "time": "Wed Jun 24 10:15:12 2009 +0300"
      },
      "committer": {
        "name": "Artem Bityutskiy",
        "email": "Artem.Bityutskiy@nokia.com",
        "time": "Sun Jul 05 18:45:18 2009 +0300"
      },
      "message": "UBIFS: fix 64-bit divisions in debug print\n\nSigned-off-by: Adrian Hunter \u003cadrian.hunter@nokia.com\u003e\n"
    },
    {
      "commit": "cb54ef8b1304fe25f3d57031e0f85558a043239f",
      "tree": "47a6ed1628a6f7028b5f1befe0c67d84c6f4c5bc",
      "parents": [
        "2a35a3a8ab3e94afd631ed4b45878ceb98f7ab28"
      ],
      "author": {
        "name": "Artem Bityutskiy",
        "email": "Artem.Bityutskiy@nokia.com",
        "time": "Tue Jun 23 20:30:32 2009 +0300"
      },
      "committer": {
        "name": "Artem Bityutskiy",
        "email": "Artem.Bityutskiy@nokia.com",
        "time": "Sun Jul 05 18:45:18 2009 +0300"
      },
      "message": "UBIFS: few spelling fixes\n\nSigned-off-by: Artem Bityutskiy \u003cArtem.Bityutskiy@nokia.com\u003e\n"
    },
    {
      "commit": "2a35a3a8ab3e94afd631ed4b45878ceb98f7ab28",
      "tree": "ff0c5dc8b420bfa4e4cf160b11e7d2902b7aed76",
      "parents": [
        "0b335b9d7d5f0b832e90ac469480789c07be80ad"
      ],
      "author": {
        "name": "Artem Bityutskiy",
        "email": "Artem.Bityutskiy@nokia.com",
        "time": "Tue Jun 23 20:26:33 2009 +0300"
      },
      "committer": {
        "name": "Artem Bityutskiy",
        "email": "Artem.Bityutskiy@nokia.com",
        "time": "Sun Jul 05 18:45:17 2009 +0300"
      },
      "message": "UBIFS: set write-buffer timout to 3-5 seconds\n\nThis patch cleans up write-buffer timeout initialization and\nsets it to 3-5 interval.\n\nSigned-off-by: Artem Bityutskiy \u003cArtem.Bityutskiy@nokia.com\u003e\n"
    },
    {
      "commit": "0b335b9d7d5f0b832e90ac469480789c07be80ad",
      "tree": "5001522f18092e1cafb538a74eedae3087c17145",
      "parents": [
        "70aee2f153972f70fad5f7025134fec063f9efbe"
      ],
      "author": {
        "name": "Artem Bityutskiy",
        "email": "Artem.Bityutskiy@nokia.com",
        "time": "Tue Jun 23 12:30:43 2009 +0300"
      },
      "committer": {
        "name": "Artem Bityutskiy",
        "email": "Artem.Bityutskiy@nokia.com",
        "time": "Sun Jul 05 18:45:16 2009 +0300"
      },
      "message": "UBIFS: slightly optimize write-buffer timer usage\n\nThis patch adds the following minor optimization:\n\n1. If write-buffer does not use the timer, indicate it with the\n   wbuf-\u003eno_timer variable, instead of using the wbuf-\u003esoftlimit\n   variable. This is better because wbuf-\u003esoftlimit is of ktime_t\n   type, and the ktime_to_ns function contains 64-bit multiplication.\n\n2. Do not call the \u0027hrtimer_cancel()\u0027 function for write-buffers\n   which do not use timers.\n\n3. Do not cancel the timer in \u0027ubifs_put_super()\u0027 because the\n   synchronization function does this.\n\nThis patch also removes a confusing comment.\n\nSigned-off-by: Artem Bityutskiy \u003cArtem.Bityutskiy@nokia.com\u003e\n"
    },
    {
      "commit": "70aee2f153972f70fad5f7025134fec063f9efbe",
      "tree": "d6a00fe0a8c900935c360abf7a622078f8d22afa",
      "parents": [
        "e3dc5a665d39112e98cfd5bbc7fda2963c00c12c"
      ],
      "author": {
        "name": "Artem Bityutskiy",
        "email": "Artem.Bityutskiy@nokia.com",
        "time": "Thu Jun 18 13:37:15 2009 +0300"
      },
      "committer": {
        "name": "Artem Bityutskiy",
        "email": "Artem.Bityutskiy@nokia.com",
        "time": "Sun Jul 05 18:45:16 2009 +0300"
      },
      "message": "UBIFS: improve debugging messaged\n\n1. Make the I/O debugging message print the journal head number.\n2. Add prints to timer functions.\n\nSigned-off-by: Artem Bityutskiy \u003cArtem.Bityutskiy@nokia.com\u003e\n"
    },
    {
      "commit": "e3dc5a665d39112e98cfd5bbc7fda2963c00c12c",
      "tree": "b4f4c2ecec85bfb029f4ec31c56bb7477a86aba1",
      "parents": [
        "8e4a718ff38d8539938ec3421935904c27e00c39"
      ],
      "author": {
        "name": "Adrian Hunter",
        "email": "adrian.hunter@nokia.com",
        "time": "Mon Jun 22 17:31:09 2009 +0300"
      },
      "committer": {
        "name": "Artem Bityutskiy",
        "email": "Artem.Bityutskiy@nokia.com",
        "time": "Sun Jul 05 18:45:15 2009 +0300"
      },
      "message": "UBIFS: fix integer overflow warning\n\nFix the following warning:\n\nfs/ubifs/io.c: In function \u0027ubifs_wbuf_init\u0027:\nfs/ubifs/io.c:860: warning: integer overflow in expression\n\nAnd limit maximum hrtimer delta to ULONG_MAX because the\nargument is \u0027unsigned long\u0027.\n\nSigned-off-by: Adrian Hunter \u003cadrian.hunter@nokia.com\u003e\nSigned-off-by: Artem Bityutskiy \u003cArtem.Bityutskiy@nokia.com\u003e\n"
    },
    {
      "commit": "f2c5dbd7b7396457efc114f825acfdd4db4608f8",
      "tree": "9c65570230dfc05b8580c86db0154b6b2a98515c",
      "parents": [
        "8daa21e61be47a5b136c4ee1be82e391a5788696"
      ],
      "author": {
        "name": "Artem Bityutskiy",
        "email": "Artem.Bityutskiy@nokia.com",
        "time": "Thu May 28 16:24:15 2009 +0300"
      },
      "committer": {
        "name": "Artem Bityutskiy",
        "email": "Artem.Bityutskiy@nokia.com",
        "time": "Mon Jun 08 11:14:58 2009 +0300"
      },
      "message": "UBIFS: start using hrtimers\n\nUBIFS uses timers for write-buffer write-back. It is not\ncrucial for us to write-back exactly on time. We are fine\nto write-back a little earlier or later. And this means\nwe may optimize UBIFS timer so that it could be groped\nwith a close timer event, so that the CPU would not be\nwaken up just to do the write back. This is optimization\nto lessen power consumption, which is important in\nembedded devices UBIFS is used for.\n\nhrtimers have a nice feature: they are effectively range\ntimers, and we may defind the soft and hard limits for\nit. Standard timers do not have these feature. They may\nonly be made deferrable, but this means there is effectively\nno hard limit. So, we will better use hrtimers.\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": "ccb3eba72453a3b5aa37dda02e3a690449e3d229",
      "tree": "b0e2b094126ede0e69ea0c3820872d9a1dff2883",
      "parents": [
        "2242c689ecc390fb4719f595751351d1ecc5c409"
      ],
      "author": {
        "name": "Artem Bityutskiy",
        "email": "Artem.Bityutskiy@nokia.com",
        "time": "Mon Sep 08 16:07:01 2008 +0300"
      },
      "committer": {
        "name": "Artem Bityutskiy",
        "email": "Artem.Bityutskiy@nokia.com",
        "time": "Tue Sep 30 11:12:57 2008 +0300"
      },
      "message": "UBIFS: check data CRC when in error state\n\nWhen UBIFS switches to R/O mode because of an error,\nit is reasonable to enable data CRC checking.\n\nSigned-off-by: Artem Bityutskiy \u003cArtem.Bityutskiy@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": "ff46d7b3e0870a70331b069372c36fbc43018c2d",
      "tree": "8a650ad44c110e2ea3587cf5f8e86137b3bf32dd",
      "parents": [
        "2fb42b11f61cbcef7dfc225c1d26c4511436583d"
      ],
      "author": {
        "name": "Adrian Hunter",
        "email": "ext-adrian.hunter@nokia.com",
        "time": "Mon Jul 21 15:39:05 2008 +0300"
      },
      "committer": {
        "name": "Artem Bityutskiy",
        "email": "Artem.Bityutskiy@nokia.com",
        "time": "Wed Aug 13 11:24:26 2008 +0300"
      },
      "message": "UBIFS: make ubifs_ro_mode() not inline\n\nWe use ubifs_ro_mode() quite a lot, and not in fast-path, so\nthere is no reason to blow the code up by having it inlined.\nAlso, we usually want R/O mode change to be seen to other\nCPUs as soon as possible, so when we make this a function\ncall, we will automatically have a memory barrier.\n\nSigned-off-by: Adrian Hunter \u003cext-adrian.hunter@nokia.com\u003e\nSigned-off-by: Artem Bityutskiy \u003cArtem.Bityutskiy@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"
    }
  ]
}
