)]}'
{
  "log": [
    {
      "commit": "b36a261e8c0ab323d04db9cdd1f6bb4c273c4b32",
      "tree": "00c90c5fa556f335338f4f61c808d4dfe502bb74",
      "parents": [
        "0964f6a27b3574d9210c59ec883cbb3fff78a78d"
      ],
      "author": {
        "name": "Richard Weinberger",
        "email": "richard@nod.at",
        "time": "Mon May 14 17:55:51 2012 +0200"
      },
      "committer": {
        "name": "Artem Bityutskiy",
        "email": "artem.bityutskiy@linux.intel.com",
        "time": "Sun May 20 20:25:59 2012 +0300"
      },
      "message": "UBI: Kill data type hint\n\nWe do not need this feature and to our shame it even was not working\nand there was a bug found very recently.\n\t-- Artem Bityutskiy\n\nWithout the data type hint UBI2 (fastmap) will be easier to implement.\n\nSigned-off-by: Richard Weinberger \u003crichard@nod.at\u003e\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": "1bdcc63112a0fe10030abee6ad71aaecd091e68e",
      "tree": "0fa4760bfed47a315b4d4291438b8865c06fc5c1",
      "parents": [
        "273946a5c507ff5bce12349143470e8629bbe0a7"
      ],
      "author": {
        "name": "Subodh Nijsure",
        "email": "subodh.nijsure@gmail.com",
        "time": "Sat Apr 14 09:09:57 2012 -0700"
      },
      "committer": {
        "name": "Artem Bityutskiy",
        "email": "artem.bityutskiy@linux.intel.com",
        "time": "Thu May 03 14:11:11 2012 +0300"
      },
      "message": "UBIFS: remove xattr Kconnfig option\n\nRemove CONFIG_UBIFS_FS_XATTR configuration option and associated\nUBIFS_FS_XATTR ifdefs.\n\nTesting:\n       Tested using integck while using nandsim on x86 \u0026 MX28 based\n       platform with Micron MT29F2G08ABAEAH4 nand.\n\nSigned-off-by: Subodh Nijsure \u003csnijsure@grid-net.com\u003e\nSigned-off-by: Artem Bityutskiy \u003cartem.bityutskiy@linux.intel.com\u003e\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": "812eb258311f89bcd664a34a620f249d54a2cd83",
      "tree": "2b1598190efd598cfbdff30fbca302426f796e3a",
      "parents": [
        "cf610bf4199770420629d3bc273494bd27ad6c1d"
      ],
      "author": {
        "name": "Artem Bityutskiy",
        "email": "Artem.Bityutskiy@nokia.com",
        "time": "Tue May 31 08:40:40 2011 +0300"
      },
      "committer": {
        "name": "Artem Bityutskiy",
        "email": "Artem.Bityutskiy@nokia.com",
        "time": "Fri Jun 03 18:12:31 2011 +0300"
      },
      "message": "UBIFS: fix memory leak on error path\n\nUBIFS leaks memory on error path in \u0027ubifs_jnl_update()\u0027 in case of write\nfailure because it forgets to free the \u0027struct ubifs_dent_node *dent\u0027 object.\nAlthough the object is small, the alignment can make it large - e.g., 2KiB\nif the min. I/O unit is 2KiB.\n\nSigned-off-by: Artem Bityutskiy \u003cArtem.Bityutskiy@nokia.com\u003e\nCc: stable@kernel.org\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": "f1bd66afb14c25095cf6ff499c1388db423acc9e",
      "tree": "9199aab4896fc9ed89213a407942bf4e49232fe0",
      "parents": [
        "8c3067e445fb25119761356c88abc39dacfb9524"
      ],
      "author": {
        "name": "Artem Bityutskiy",
        "email": "Artem.Bityutskiy@nokia.com",
        "time": "Tue Mar 29 18:36:21 2011 +0300"
      },
      "committer": {
        "name": "Artem Bityutskiy",
        "email": "Artem.Bityutskiy@nokia.com",
        "time": "Fri May 13 19:23:54 2011 +0300"
      },
      "message": "UBIFS: improve space checking debugging feature\n\nThis patch improves the \u0027dbg_check_space_info()\u0027 function which checks\nwhether the amount of space before re-mounting and after re-mounting\nis the same (remounting from R/O to R/W modes and vice-versa).\n\nThe problem is that \u0027dbg_check_space_info()\u0027 does not save the budgeting\ninformation before re-mounting, so when an error is reported, we do not\nknow why the amount of free space changed.\n\nThis patches makes the following changes:\n\n1. Teaches \u0027dbg_dump_budg()\u0027 function to accept a \u0027struct ubifs_budg_info\u0027\n   argument and print out the this argument. This way we may ask it to\n   print any saved budgeting info, no only the current one.\n2. Accordingly changes all the callers of \u0027dbg_dump_budg()\u0027 to comply with\n   the changed interface.\n3. Introduce a \u0027saved_bi\u0027 (saved budgeting info) field to\n   \u0027struct ubifs_debug_info\u0027 and save the budgeting info before re-mounting\n   there.\n4. Change \u0027dbg_check_space_info()\u0027 and make it print both old and new\n   budgeting information.\n5. Additionally, save \u0027c-\u003eigx_gc_cnt\u0027 and print it if and error happens. This\n   value contributes to the amount of free space, so we have to print it.\n\nSigned-off-by: Artem Bityutskiy \u003cArtem.Bityutskiy@nokia.com\u003e\n"
    },
    {
      "commit": "8ff83089f8bcbd9a2e898b68f1a46487c8b6e38c",
      "tree": "36b286946894a4b797d850cca67603cac89ec1f2",
      "parents": [
        "b137545c44fc0c80fb778abb0c582bda5601e8f8"
      ],
      "author": {
        "name": "Artem Bityutskiy",
        "email": "Artem.Bityutskiy@nokia.com",
        "time": "Tue Mar 29 18:19:50 2011 +0300"
      },
      "committer": {
        "name": "Artem Bityutskiy",
        "email": "Artem.Bityutskiy@nokia.com",
        "time": "Fri May 13 19:23:53 2011 +0300"
      },
      "message": "UBIFS: simplify dbg_dump_budg calling conventions\n\nThe current \u0027dbg_dump_budg()\u0027 calling convention is that the\n\u0027c-\u003espace_lock\u0027 spinlock is held. However, none of the callers\nactually use it from contects which have \u0027c-\u003espace_lock\u0027 locked,\nso all callers have to explicitely lock and unlock the spinlock.\nThis is not very sensible convention. This patch changes it and\nmakes \u0027dbg_dump_budg()\u0027 lock the spinlock instead of imposing this\nto the callers. This simplifies the code a little.\n\nSigned-off-by: Artem Bityutskiy \u003cArtem.Bityutskiy@nokia.com\u003e\n"
    },
    {
      "commit": "d882962f6af2b484b62a7fb05ef959e1bf355fc4",
      "tree": "040a303908493e5edca3fe5c7aeecab2912bd3b0",
      "parents": [
        "2765df7da540687c4d57ca840182122f074c5b9c"
      ],
      "author": {
        "name": "Matthew L. Creech",
        "email": "mlcreech@gmail.com",
        "time": "Fri Mar 04 17:55:02 2011 -0500"
      },
      "committer": {
        "name": "Artem Bityutskiy",
        "email": "Artem.Bityutskiy@nokia.com",
        "time": "Fri Mar 11 10:52:07 2011 +0200"
      },
      "message": "UBIFS: handle allocation failures in UBIFS write path\n\nRunning kernel 2.6.37, my PPC-based device occasionally gets an\norder-2 allocation failure in UBIFS, which causes the root FS to\nbecome unwritable:\n\nkswapd0: page allocation failure. order:2, mode:0x4050\nCall Trace:\n[c787dc30] [c00085b8] show_stack+0x7c/0x194 (unreliable)\n[c787dc70] [c0061aec] __alloc_pages_nodemask+0x4f0/0x57c\n[c787dd00] [c0061b98] __get_free_pages+0x20/0x50\n[c787dd10] [c00e4f88] ubifs_jnl_write_data+0x54/0x200\n[c787dd50] [c00e82d4] do_writepage+0x94/0x198\n[c787dd90] [c00675e4] shrink_page_list+0x40c/0x77c\n[c787de40] [c0067de0] shrink_inactive_list+0x1e0/0x370\n[c787de90] [c0068224] shrink_zone+0x2b4/0x2b8\n[c787df00] [c0068854] kswapd+0x408/0x5d4\n[c787dfb0] [c0037bcc] kthread+0x80/0x84\n[c787dff0] [c000ef44] kernel_thread+0x4c/0x68\n\nSimilar problems were encountered last April by Tomasz Stanislawski:\n\nhttp://patchwork.ozlabs.org/patch/50965/\n\nThis patch implements Artem\u0027s suggested fix: fall back to a\nmutex-protected static buffer, allocated at mount time.  I tested it\nby forcing execution down the failure path, and didn\u0027t see any ill\neffects.\n\nArtem: massaged the patch a little, improved it so that we\u0027d not\nallocate the write reserve buffer when we are in R/O mode.\n\nSigned-off-by: Matthew L. Creech \u003cmlcreech@gmail.com\u003e\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": "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": "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": "3edaae7c5bda085b7dc704fe379f35b85e6f493e",
      "tree": "40c8434ceff13de1c450a362b3f36dcb31c0e604",
      "parents": [
        "ec32816f94a0baf90f5e73033dcdbc8679c7f91d"
      ],
      "author": {
        "name": "Artem Bityutskiy",
        "email": "Artem.Bityutskiy@nokia.com",
        "time": "Tue Mar 03 19:22:53 2009 +0200"
      },
      "committer": {
        "name": "Artem Bityutskiy",
        "email": "Artem.Bityutskiy@nokia.com",
        "time": "Sun Mar 08 13:29:09 2009 +0200"
      },
      "message": "UBIFS: improve find function interface\n\nMake \u0027ubifs_find_free_space()\u0027 return offset where free space starts,\nrather than the amount of free space. This is just more appropriat\nfor its caller.\n\nSigned-off-by: Artem Bityutskiy \u003cArtem.Bityutskiy@nokia.com\u003e\n"
    },
    {
      "commit": "a50412e3f8ce95d7ed558370d7dde5171fd04283",
      "tree": "be46a9482e613f77f2154b085292ba3dcdabe8d6",
      "parents": [
        "e8b815663b1bfd9c255af5176604ec0eafdf6ed7"
      ],
      "author": {
        "name": "Artem Bityutskiy",
        "email": "Artem.Bityutskiy@nokia.com",
        "time": "Tue Jan 06 19:54:02 2009 +0200"
      },
      "committer": {
        "name": "Artem Bityutskiy",
        "email": "Artem.Bityutskiy@nokia.com",
        "time": "Tue Jan 20 10:10:31 2009 +0200"
      },
      "message": "UBIFS: do not treat all data as short term\n\nUBIFS wrongly tells UBI that all data is short term. Use proper\nhints instead. Thanks to Xiaochuan-Xu for noticing this.\n\nSigned-off-by: Artem Bityutskiy \u003cArtem.Bityutskiy@nokia.com\u003e\n"
    },
    {
      "commit": "025dfdafe77f20b3890981a394774baab7b9c827",
      "tree": "c4d514990d7a0673df5d32aa11fded95f9644ff0",
      "parents": [
        "0abb8b6a939b742f273edc68b64dba26c57331bc"
      ],
      "author": {
        "name": "Frederik Schwarzer",
        "email": "schwarzerf@gmail.com",
        "time": "Thu Oct 16 19:02:37 2008 +0200"
      },
      "committer": {
        "name": "Jiri Kosina",
        "email": "jkosina@suse.cz",
        "time": "Tue Jan 06 11:28:06 2009 +0100"
      },
      "message": "trivial: fix then -\u003e than typos in comments and documentation\n\n- (better, more, bigger ...) then -\u003e (...) than\n\nSigned-off-by: Frederik Schwarzer \u003cschwarzerf@gmail.com\u003e\nSigned-off-by: Jiri Kosina \u003cjkosina@suse.cz\u003e\n"
    },
    {
      "commit": "a9f2fc0e251e71a51deb8059b181c375a4a5e979",
      "tree": "cc4869e8325cf898554b05cc747c48b9d8ded800",
      "parents": [
        "f92b982680e4b4149c559789a54e1e9db190752a"
      ],
      "author": {
        "name": "Artem Bityutskiy",
        "email": "Artem.Bityutskiy@nokia.com",
        "time": "Tue Dec 23 14:39:14 2008 +0200"
      },
      "committer": {
        "name": "Artem Bityutskiy",
        "email": "Artem.Bityutskiy@nokia.com",
        "time": "Wed Dec 31 14:13:25 2008 +0200"
      },
      "message": "UBIFS: fix writing uncompressed files\n\nUBIFS does not disable compression if ui-\u003eflags is non-zero, e.g.\nif the file has \"sync\" flag. This is because of the typo which\nis fixed by this patch. The patch also adds a couple of useful\ndebugging prints.\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": "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": "c78c7e35a4709b55d3126624662c8f6d7e3d1a5e",
      "tree": "f36f56651f50f51b7e79451d0986e3656da0269d",
      "parents": [
        "720b499c806200d06f4f22c668d46db784117089"
      ],
      "author": {
        "name": "Artem Bityutskiy",
        "email": "Artem.Bityutskiy@nokia.com",
        "time": "Tue Aug 12 16:30:12 2008 +0300"
      },
      "committer": {
        "name": "Artem Bityutskiy",
        "email": "Artem.Bityutskiy@nokia.com",
        "time": "Thu Aug 14 12:46:20 2008 +0300"
      },
      "message": "UBIFS: xattr bugfixes\n\nXattr code has not been tested for a while and there were\nserveral bugs. One of them is using wrong inode in\n\u0027ubifs_jnl_change_xattr()\u0027. The other is a deadlock in\n\u0027ubifs_setxattr()\u0027: the i_mutex is locked in\n\u0027cap_inode_need_killpriv()\u0027 path, so deadlock happens when\n\u0027ubifs_setxattr()\u0027 tries to lock it again.\n\nThanks to Zoltan Sogor for finding these bugs.\n\nSigned-off-by: Artem Bityutskiy \u003cArtem.Bityutskiy@nokia.com\u003e\n"
    },
    {
      "commit": "f769108424a19c7758546d1d7d19f098b1a33759",
      "tree": "324e0ac92b5f02e274f87dd6271c211a127a9b99",
      "parents": [
        "7d62ff2c396470bb62a3853f14d3962eac1da974"
      ],
      "author": {
        "name": "Adrian Hunter",
        "email": "ext-adrian.hunter@nokia.com",
        "time": "Wed Jul 23 16:55:55 2008 +0300"
      },
      "committer": {
        "name": "Artem Bityutskiy",
        "email": "Artem.Bityutskiy@nokia.com",
        "time": "Wed Aug 13 11:32:53 2008 +0300"
      },
      "message": "UBIFS: correct orphan deletion order\n\nThe debug function that checks orphans, does so using the\nTNC mutex. That means it will not see a correct picture\nif the inode is removed from the orphan tree before it is\nremoved from TNC.\n\nSigned-off-by: Adrian Hunter \u003cext-adrian.hunter@nokia.com\u003e\n"
    },
    {
      "commit": "7d62ff2c396470bb62a3853f14d3962eac1da974",
      "tree": "63ca0054aa6898c5dfc937a659ca59e667e6b36c",
      "parents": [
        "bc813355c704e5916a86dd4b96fd226bfa3fc6ca"
      ],
      "author": {
        "name": "Adrian Hunter",
        "email": "ext-adrian.hunter@nokia.com",
        "time": "Wed Jul 23 15:48:39 2008 +0300"
      },
      "committer": {
        "name": "Artem Bityutskiy",
        "email": "Artem.Bityutskiy@nokia.com",
        "time": "Wed Aug 13 11:32:21 2008 +0300"
      },
      "message": "UBIFS: fix typos in comments\n\nSigned-off-by: Adrian Hunter \u003cext-adrian.hunter@nokia.com\u003e\n"
    },
    {
      "commit": "de94eb558b542873d3f6f9ede1b8575fb5662248",
      "tree": "3ba858a1c87870e22886ac3d4774287bbf367131",
      "parents": [
        "014eb04b03202dc75c1c749df4246d98045f5e69"
      ],
      "author": {
        "name": "Artem Bityutskiy",
        "email": "Artem.Bityutskiy@nokia.com",
        "time": "Tue Jul 22 13:06:20 2008 +0300"
      },
      "committer": {
        "name": "Artem Bityutskiy",
        "email": "Artem.Bityutskiy@nokia.com",
        "time": "Wed Aug 13 11:28:44 2008 +0300"
      },
      "message": "UBIFS: optimize deletions\n\nEvery time anything is deleted, UBIFS writes the deletion inode\nnode twice - once in \u0027ubifs_jnl_update()\u0027 and the second time in\n\u0027ubifs_jnl_write_inode()\u0027. However, the second write is not needed\nif no commit happened after \u0027ubifs_jnl_update()\u0027. This patch\nchecks that condition and avoids writing the deletion inode for\nthe second time.\n\nSigned-off-by: Artem Bityutskiy \u003cArtem.Bityutskiy@nokia.com\u003e\n"
    },
    {
      "commit": "fd6c6b51e3677937090314b20b00f2194900d81b",
      "tree": "4a861dade11a04e37b9417c3de09b5568d1b2a28",
      "parents": [
        "1f28681ad34a0c7e51dc5070c84b53f7bd34f44c"
      ],
      "author": {
        "name": "Artem Bityutskiy",
        "email": "Artem.Bityutskiy@nokia.com",
        "time": "Tue Jul 22 12:19:09 2008 +0300"
      },
      "committer": {
        "name": "Artem Bityutskiy",
        "email": "Artem.Bityutskiy@nokia.com",
        "time": "Wed Aug 13 11:27:10 2008 +0300"
      },
      "message": "UBIFS: remove another unneeded function parameter\n\nThe \u0027last_reference\u0027 parameter of \u0027pack_inode()\u0027 is not really\nneeded because \u0027inode-\u003ei_nlink\u0027 may be tested instead. Zap it.\n\nSigned-off-by: Artem Bityutskiy \u003cArtem.Bityutskiy@nokia.com\u003e\n"
    },
    {
      "commit": "1f28681ad34a0c7e51dc5070c84b53f7bd34f44c",
      "tree": "11f5d3142a76e2e6723c7ae8612ba81cef446249",
      "parents": [
        "fbfa6c884aae2aff479eb8c996c564b1a34eae30"
      ],
      "author": {
        "name": "Artem Bityutskiy",
        "email": "Artem.Bityutskiy@nokia.com",
        "time": "Tue Jul 22 12:06:13 2008 +0300"
      },
      "committer": {
        "name": "Artem Bityutskiy",
        "email": "Artem.Bityutskiy@nokia.com",
        "time": "Wed Aug 13 11:26:25 2008 +0300"
      },
      "message": "UBIFS: remove unneeded function parameter\n\nSimplify \u0027ubifs_jnl_write_inode()\u0027 by removing the \u0027deletion\u0027\nparameter which is not really needed because we may test\ninode-\u003ei_nlink and check whether this is a deletion or not.\n\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"
    }
  ]
}
