)]}'
{
  "log": [
    {
      "commit": "57c44c5f6fb0a8002feb258c1af58e1a744b1fcb",
      "tree": "978bd46ca765a88e9c101cb705bbb0bf46015643",
      "parents": [
        "76052749143d03006271cc0ce8205ad756917062",
        "5a9e67b1a19e08a82387709f325d26e07b891d27"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jan 07 11:31:52 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jan 07 11:31:52 2009 -0800"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial: (24 commits)\n  trivial: chack -\u003e check typo fix in main Makefile\n  trivial: Add a space (and a comma) to a printk in 8250 driver\n  trivial: Fix misspelling of \"firmware\" in docs for ncr53c8xx/sym53c8xx\n  trivial: Fix misspelling of \"firmware\" in powerpc Makefile\n  trivial: Fix misspelling of \"firmware\" in usb.c\n  trivial: Fix misspelling of \"firmware\" in qla1280.c\n  trivial: Fix misspelling of \"firmware\" in a100u2w.c\n  trivial: Fix misspelling of \"firmware\" in megaraid.c\n  trivial: Fix misspelling of \"firmware\" in ql4_mbx.c\n  trivial: Fix misspelling of \"firmware\" in acpi_memhotplug.c\n  trivial: Fix misspelling of \"firmware\" in ipw2100.c\n  trivial: Fix misspelling of \"firmware\" in atmel.c\n  trivial: Fix misspelled firmware in Kconfig\n  trivial: fix an -\u003e a typos in documentation and comments\n  trivial: fix then -\u003e than typos in comments and documentation\n  trivial: update Jesper Juhl CREDITS entry with new email\n  trivial: fix singal -\u003e signal typo\n  trivial: Fix incorrect use of \"loose\" in event.c\n  trivial: printk: fix indentation of new_text_line declaration\n  trivial: rtc-stk17ta8: fix sparse warning\n  ...\n"
    },
    {
      "commit": "e8ea1759138d4279869f52bfb7dca8f02f8ccfe5",
      "tree": "2e59ef400c9b79af6eeb80024c3923e21c915a8a",
      "parents": [
        "48b47c561e41525061b5bc0cfd67d6367fd11dc4"
      ],
      "author": {
        "name": "Artem Bityutskiy",
        "email": "Artem.Bityutskiy@nokia.com",
        "time": "Tue Jan 06 14:40:23 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 06 15:59:09 2009 -0800"
      },
      "message": "UBIFS: do not use WB_SYNC_HOLD\n\nWB_SYNC_HOLD is going to be zapped so we should not use it. Use\n%WB_SYNC_NONE instead. Here is what akpm said:\n\n\"I think I\u0027ll just switch that to WB_SYNC_NONE.  The `wait\u003d\u003d0\u0027 mode is\njust an advisory thing to help the fs shove lots of data into the\nqueues.  If some gets missed then it\u0027ll be picked up on the second\n-\u003esync_fs call, with wait\u003d\u003d1.\"\n\nThanks to Randy Dunlap for catching this.\n\nSigned-off-by: Artem Bityutskiy \u003cArtem.Bityutskiy@nokia.com\u003e\nCc: Nick Piggin \u003cnpiggin@suse.de\u003e\nCc: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\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": "54566b2c1594c2326a645a3551f9d989f7ba3c5e",
      "tree": "b373f3283fe5e197d0df29cd6b645c35adf1076c",
      "parents": [
        "e687d691cb3790d25e31c74f5941fd7c565e9df5"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "npiggin@suse.de",
        "time": "Sun Jan 04 12:00:53 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Jan 04 13:33:20 2009 -0800"
      },
      "message": "fs: symlink write_begin allocation context fix\n\nWith the write_begin/write_end aops, page_symlink was broken because it\ncould no longer pass a GFP_NOFS type mask into the point where the\nallocations happened.  They are done in write_begin, which would always\nassume that the filesystem can be entered from reclaim.  This bug could\ncause filesystem deadlocks.\n\nThe funny thing with having a gfp_t mask there is that it doesn\u0027t really\nallow the caller to arbitrarily tinker with the context in which it can be\ncalled.  It couldn\u0027t ever be GFP_ATOMIC, for example, because it needs to\ntake the page lock.  The only thing any callers care about is __GFP_FS\nanyway, so turn that into a single flag.\n\nAdd a new flag for write_begin, AOP_FLAG_NOFS.  Filesystems can now act on\nthis flag in their write_begin function.  Change __grab_cache_page to\naccept a nofs argument as well, to honour that flag (while we\u0027re there,\nchange the name to grab_cache_page_write_begin which is more instructive\nand does away with random leading underscores).\n\nThis is really a more flexible way to go in the end anyway -- if a\nfilesystem happens to want any extra allocations aside from the pagecache\nones in ints write_begin function, it may now use GFP_KERNEL (rather than\nGFP_NOFS) for common case allocations (eg.  ocfs2_alloc_write_ctxt, for a\nrandom example).\n\n[kosaki.motohiro@jp.fujitsu.com: fix ubifs]\n[kosaki.motohiro@jp.fujitsu.com: fix fuse]\nSigned-off-by: Nick Piggin \u003cnpiggin@suse.de\u003e\nReviewed-by: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nCc: \u003cstable@kernel.org\u003e\t\t[2.6.28.x]\nSigned-off-by: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\n[ Cleaned up the calling convention: just pass in the AOP flags\n  untouched to the grab_cache_page_write_begin() function.  That\n  just simplifies everybody, and may even allow future expansion of the\n  logic.   - Linus ]\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "8e3bda0863c1578ddf47a015eac7dc6efb1ef48b",
      "tree": "b3257fc9b005352a7c3536097123de97f43748a2",
      "parents": [
        "574c3fdae3890e60f8bc59e8107686944ba1e446",
        "8e5033adc78ff4fbeab7052134e7af1f6ff04187"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 02 15:57:47 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 02 15:57:47 2009 -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: (33 commits)\n  UBIFS: add more useful debugging prints\n  UBIFS: print debugging messages properly\n  UBIFS: fix numerous spelling mistakes\n  UBIFS: allow mounting when short of space\n  UBIFS: fix writing uncompressed files\n  UBIFS: fix checkpatch.pl warnings\n  UBIFS: fix sparse warnings\n  UBIFS: simplify make_free_space\n  UBIFS: do not lie about used blocks\n  UBIFS: restore budg_uncommitted_idx\n  UBIFS: always commit on unmount\n  UBIFS: use ubi_sync\n  UBIFS: always commit in sync_fs\n  UBIFS: fix file-system synchronization\n  UBIFS: fix constants initialization\n  UBIFS: avoid unnecessary calculations\n  UBIFS: re-calculate min_idx_size after the commit\n  UBIFS: use nicer 64-bit math\n  UBIFS: fix available blocks count\n  UBIFS: various comment improvements and fixes\n  ...\n"
    },
    {
      "commit": "8e5033adc78ff4fbeab7052134e7af1f6ff04187",
      "tree": "d6312317a68dfe06e5df36e2bed79fb35523f3ea",
      "parents": [
        "5d38b3ac78e0e0e420fba134716fc3d20e6b978a"
      ],
      "author": {
        "name": "Artem Bityutskiy",
        "email": "Artem.Bityutskiy@nokia.com",
        "time": "Tue Dec 30 18:37:45 2008 +0200"
      },
      "committer": {
        "name": "Artem Bityutskiy",
        "email": "Artem.Bityutskiy@nokia.com",
        "time": "Wed Dec 31 14:13:25 2008 +0200"
      },
      "message": "UBIFS: add more useful debugging prints\n\nPrint node sizes and maximum node sizes.\n\nSigned-off-by: Artem Bityutskiy \u003cArtem.Bityutskiy@nokia.com\u003e\n"
    },
    {
      "commit": "5d38b3ac78e0e0e420fba134716fc3d20e6b978a",
      "tree": "4a1496fd04e1d7d92b0ce1e1c3f29e443ca46c53",
      "parents": [
        "80736d41f895bc472b2433a1c27fa6d4afe6ca35"
      ],
      "author": {
        "name": "Artem Bityutskiy",
        "email": "Artem.Bityutskiy@nokia.com",
        "time": "Tue Dec 30 17:58:42 2008 +0200"
      },
      "committer": {
        "name": "Artem Bityutskiy",
        "email": "Artem.Bityutskiy@nokia.com",
        "time": "Wed Dec 31 14:13:25 2008 +0200"
      },
      "message": "UBIFS: print debugging messages properly\n\nWe cannot use ubifs_err() macro with DBGKEY() and DBGKEY1(),\nbecause this is racy and holding dbg_lock is needed. Use\ndbg_err() instead, which does have the lock held.\n\nSigned-off-by: Artem Bityutskiy \u003cArtem.Bityutskiy@nokia.com\u003e\n"
    },
    {
      "commit": "80736d41f895bc472b2433a1c27fa6d4afe6ca35",
      "tree": "5f2f75f644d9a042a9132cd12692e6af7eced73c",
      "parents": [
        "57a450e95932f7798677885b8a01443aca72fdc7"
      ],
      "author": {
        "name": "Artem Bityutskiy",
        "email": "Artem.Bityutskiy@nokia.com",
        "time": "Tue Dec 30 17:44:02 2008 +0200"
      },
      "committer": {
        "name": "Artem Bityutskiy",
        "email": "Artem.Bityutskiy@nokia.com",
        "time": "Wed Dec 31 14:13:25 2008 +0200"
      },
      "message": "UBIFS: fix numerous spelling mistakes\n\nSigned-off-by: Artem Bityutskiy \u003cArtem.Bityutskiy@nokia.com\u003e\n"
    },
    {
      "commit": "57a450e95932f7798677885b8a01443aca72fdc7",
      "tree": "18de5d14062a2f5c14f7b71c2cf1e48c345c0c87",
      "parents": [
        "a9f2fc0e251e71a51deb8059b181c375a4a5e979"
      ],
      "author": {
        "name": "Artem Bityutskiy",
        "email": "Artem.Bityutskiy@nokia.com",
        "time": "Tue Dec 30 16:23:34 2008 +0200"
      },
      "committer": {
        "name": "Artem Bityutskiy",
        "email": "Artem.Bityutskiy@nokia.com",
        "time": "Wed Dec 31 14:13:25 2008 +0200"
      },
      "message": "UBIFS: allow mounting when short of space\n\nIt is fine if there is not free space - we should still allow mounting\nthis FS. This patch relaxes the free space requirements and adds info\ndumps.\n\nSigned-off-by: Artem Bityutskiy \u003cArtem.Bityutskiy@nokia.com\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": "6a4a9b438fe43397f4652853838f284cddd629b5",
      "tree": "3a000f7fa5bfd18d98d632e82bb465a271d9cfb4",
      "parents": [
        "2acf80675800d5e6775990d1280cca5c2ffb30e6"
      ],
      "author": {
        "name": "Artem Bityutskiy",
        "email": "Artem.Bityutskiy@nokia.com",
        "time": "Sun Dec 28 11:00:55 2008 +0200"
      },
      "committer": {
        "name": "Artem Bityutskiy",
        "email": "Artem.Bityutskiy@nokia.com",
        "time": "Wed Dec 31 14:13:24 2008 +0200"
      },
      "message": "UBIFS: fix sparse warnings\n\nfs/ubifs/compress.c:111:8: warning: incorrect type in argument 5 (different signedness)\nfs/ubifs/compress.c:111:8:    expected unsigned int *dlen\nfs/ubifs/compress.c:111:8:    got int *out_len\nfs/ubifs/compress.c:175:10: warning: incorrect type in argument 5 (different signedness)\nfs/ubifs/compress.c:175:10:    expected unsigned int *dlen\nfs/ubifs/compress.c:175:10:    got int *out_len\n\nFix this by adding a cast to (unsigned int *). We guarantee that\nour lengths are small and no overflow is possible.\n\nSigned-off-by: Artem Bityutskiy \u003cArtem.Bityutskiy@nokia.com\u003e\n"
    },
    {
      "commit": "2acf80675800d5e6775990d1280cca5c2ffb30e6",
      "tree": "b751617534521236fbfd1f25844376c9b4b0628d",
      "parents": [
        "2edc2025c2583a18eafe5cdbc7deb36e320aaec5"
      ],
      "author": {
        "name": "Artem Bityutskiy",
        "email": "Artem.Bityutskiy@nokia.com",
        "time": "Tue Dec 09 11:04:40 2008 -0500"
      },
      "committer": {
        "name": "Artem Bityutskiy",
        "email": "Artem.Bityutskiy@nokia.com",
        "time": "Wed Dec 31 14:13:24 2008 +0200"
      },
      "message": "UBIFS: simplify make_free_space\n\nThe \u0027make_free_space()\u0027 function was too complex and this patch\nsimplifies it. It also fixes a bug - the freespace test failed\nstraight away on UBI volumes with 512 bytes LEB size.\n\nSigned-off-by: Artem Bityutskiy \u003cArtem.Bityutskiy@nokia.com\u003e\n"
    },
    {
      "commit": "2edc2025c2583a18eafe5cdbc7deb36e320aaec5",
      "tree": "cc722c03e8989ea09341d361a513661629dc9246",
      "parents": [
        "6edbfafda682b30ad984964cc432da6fa1c8fab5"
      ],
      "author": {
        "name": "Artem Bityutskiy",
        "email": "Artem.Bityutskiy@nokia.com",
        "time": "Mon Dec 22 11:21:03 2008 +0200"
      },
      "committer": {
        "name": "Artem Bityutskiy",
        "email": "Artem.Bityutskiy@nokia.com",
        "time": "Wed Dec 31 14:13:24 2008 +0200"
      },
      "message": "UBIFS: do not lie about used blocks\n\nDo not force UBIFS return 0 used space when it is empty. It leads\nto a situation when creating any file immediately produces tens of\nused blocks, which looks very weird. It is better to be honest and\nsay that some blocks are used even if the FS is empty. And ext2\ndoes the same.\n\nSigned-off-by: Artem Bityutskiy \u003cArtem.Bityutskiy@nokia.com\u003e\n"
    },
    {
      "commit": "6edbfafda682b30ad984964cc432da6fa1c8fab5",
      "tree": "f25e8bf9a99a4a130df9654fd981fd443ff646dc",
      "parents": [
        "26d05777b0a23062a39e83c369c0a3583918f164"
      ],
      "author": {
        "name": "Artem Bityutskiy",
        "email": "Artem.Bityutskiy@nokia.com",
        "time": "Tue Dec 30 20:06:49 2008 +0200"
      },
      "committer": {
        "name": "Artem Bityutskiy",
        "email": "Artem.Bityutskiy@nokia.com",
        "time": "Wed Dec 31 14:13:24 2008 +0200"
      },
      "message": "UBIFS: restore budg_uncommitted_idx\n\nUBIFS stores uncommitted index size in c-\u003ebudg_uncommitted_idx,\nand this affect budgeting calculations. When mounting and\nreplaying, this variable is not updated, so we may end up\nwith \"over-budgeting\". This patch fixes the issue.\n\nSigned-off-by: Artem Bityutskiy \u003cArtem.Bityutskiy@nokia.com\u003e\n"
    },
    {
      "commit": "26d05777b0a23062a39e83c369c0a3583918f164",
      "tree": "1e5f86365d63b81c4f0641c63c14e6d9b623c251",
      "parents": [
        "cb5c6a2b2be59b480a3746c5113cb3411c053bff"
      ],
      "author": {
        "name": "Artem Bityutskiy",
        "email": "Artem.Bityutskiy@nokia.com",
        "time": "Sun Dec 28 09:11:02 2008 +0200"
      },
      "committer": {
        "name": "Artem Bityutskiy",
        "email": "Artem.Bityutskiy@nokia.com",
        "time": "Wed Dec 31 14:13:24 2008 +0200"
      },
      "message": "UBIFS: always commit on unmount\n\nUBIFS commits on unmount to make the next mount faster. Currently,\nit commits only if there is more than LEB size bytes in the\njournal. This is not very good, because journal size may be\nlarge (512KiB). And there may be few deletions in the journal\nwhich do not take much journal space, but which do introduce\na lot of TNC changes and make mount slow.\n\nThus, jurt remove this condition and always commit.\n\nSigned-off-by: Artem Bityutskiy \u003cArtem.Bityutskiy@nokia.com\u003e\n"
    },
    {
      "commit": "cb5c6a2b2be59b480a3746c5113cb3411c053bff",
      "tree": "16b67528c7ed1b8f1d6c4cbd9ac62cc1335a77a6",
      "parents": [
        "f10383006c26b33539820759b9dc8656497b02a4"
      ],
      "author": {
        "name": "Artem Bityutskiy",
        "email": "Artem.Bityutskiy@nokia.com",
        "time": "Sun Dec 28 08:18:43 2008 +0200"
      },
      "committer": {
        "name": "Artem Bityutskiy",
        "email": "Artem.Bityutskiy@nokia.com",
        "time": "Wed Dec 31 14:13:24 2008 +0200"
      },
      "message": "UBIFS: use ubi_sync\n\nUBI now has (fake for now, though) synchronization call - use\nit.\n\nSigned-off-by: Artem Bityutskiy \u003cArtem.Bityutskiy@nokia.com\u003e\n"
    },
    {
      "commit": "f10383006c26b33539820759b9dc8656497b02a4",
      "tree": "e06ed0b85804ca52d309dc137f06ab4d89de876a",
      "parents": [
        "304d427cd99eb645b44b08d77e70ce308e6bcd8c"
      ],
      "author": {
        "name": "Artem Bityutskiy",
        "email": "Artem.Bityutskiy@nokia.com",
        "time": "Sun Dec 28 08:16:32 2008 +0200"
      },
      "committer": {
        "name": "Artem Bityutskiy",
        "email": "Artem.Bityutskiy@nokia.com",
        "time": "Wed Dec 31 14:13:24 2008 +0200"
      },
      "message": "UBIFS: always commit in sync_fs\n\nAlways run commit in sync_fs, because even if the journal seems\nto be almost empty, there may be a deletion which removes a large\nfile, which affects the index greatly. And because we want\nbetter free space predictions after \u0027sync_fs()\u0027, we have to\ncommit.\n\nSigned-off-by: Artem Bityutskiy \u003cArtem.Bityutskiy@nokia.com\u003e\n"
    },
    {
      "commit": "304d427cd99eb645b44b08d77e70ce308e6bcd8c",
      "tree": "257a12f1b04d6fad8e40ccd1f9bd712e109c8cf8",
      "parents": [
        "79807d075ab8d1ca3574f5f52421e0047c1f1256"
      ],
      "author": {
        "name": "Artem Bityutskiy",
        "email": "Artem.Bityutskiy@nokia.com",
        "time": "Sun Dec 28 08:04:17 2008 +0200"
      },
      "committer": {
        "name": "Artem Bityutskiy",
        "email": "Artem.Bityutskiy@nokia.com",
        "time": "Wed Dec 31 14:13:24 2008 +0200"
      },
      "message": "UBIFS: fix file-system synchronization\n\nArgh. The -\u003esync_fs call is called _before_ all inodes are flushed.\nThis means we first sync write buffers and commit, then all\ninodes are synced, and we end up with unflushed write buffers!\n\nFix this by forcing synching all indoes from \u0027ubifs_sync_fs()\u0027.\n\nSigned-off-by: Artem Bityutskiy \u003cArtem.Bityutskiy@nokia.com\u003e\n"
    },
    {
      "commit": "79807d075ab8d1ca3574f5f52421e0047c1f1256",
      "tree": "d94b099c4d69a1d1f1ad5c33d2ad533649c837ce",
      "parents": [
        "c8f915913afdfe1a796e312e21658b8edcf20868"
      ],
      "author": {
        "name": "Artem Bityutskiy",
        "email": "Artem.Bityutskiy@nokia.com",
        "time": "Sat Dec 27 19:18:00 2008 +0200"
      },
      "committer": {
        "name": "Artem Bityutskiy",
        "email": "Artem.Bityutskiy@nokia.com",
        "time": "Wed Dec 31 14:13:23 2008 +0200"
      },
      "message": "UBIFS: fix constants initialization\n\nThe c-\u003emin_idx_lebs constant depends on c-\u003eold_idx_sz, which\nis read from the master node. This means that we have to\ninitialize c-\u003emin_idx_lebs only after we have read the master\nnode.\n\nSigned-off-by: Artem Bityutskiy \u003cArtem.Bityutskiy@nokia.com\u003e\n"
    },
    {
      "commit": "c8f915913afdfe1a796e312e21658b8edcf20868",
      "tree": "0a4cc7716e12b6ae0eb93940c2d4f638ca5c21a3",
      "parents": [
        "650ed50f4298e76007070b7ab9d640dfe7228ab3"
      ],
      "author": {
        "name": "Artem Bityutskiy",
        "email": "Artem.Bityutskiy@nokia.com",
        "time": "Fri Dec 19 16:11:13 2008 +0200"
      },
      "committer": {
        "name": "Artem Bityutskiy",
        "email": "Artem.Bityutskiy@nokia.com",
        "time": "Tue Dec 23 12:24:16 2008 +0200"
      },
      "message": "UBIFS: avoid unnecessary calculations\n\nDo not calculate min_idx_lebs, because it is available in\nc-\u003emin_idx_lebs\n\nSigned-off-by: Artem Bityutskiy \u003cArtem.Bityutskiy@nokia.com\u003e\n"
    },
    {
      "commit": "650ed50f4298e76007070b7ab9d640dfe7228ab3",
      "tree": "3756cfa59d1ed5aab403e67529b6b65a14a9cc70",
      "parents": [
        "4d61db4f87b527734ac0cc830dda8fcc4e2add2f"
      ],
      "author": {
        "name": "Artem Bityutskiy",
        "email": "Artem.Bityutskiy@nokia.com",
        "time": "Mon Dec 22 11:09:04 2008 +0200"
      },
      "committer": {
        "name": "Artem Bityutskiy",
        "email": "Artem.Bityutskiy@nokia.com",
        "time": "Tue Dec 23 12:24:05 2008 +0200"
      },
      "message": "UBIFS: re-calculate min_idx_size after the commit\n\nWhen we commit, but before we try to write anything to the flash\nmedia, @c-\u003emin_idx_size is inaccurate, because we do not re-calculate\nit after the commit. Do not forget to do this.\n\nSigned-off-by: Artem Bityutskiy \u003cArtem.Bityutskiy@nokia.com\u003e\n"
    },
    {
      "commit": "4d61db4f87b527734ac0cc830dda8fcc4e2add2f",
      "tree": "881cb7614a928ba004f588a82c064592f461fee3",
      "parents": [
        "af14a1ad792621942a03e4bd0e5f17b6e177e2e0"
      ],
      "author": {
        "name": "Artem Bityutskiy",
        "email": "Artem.Bityutskiy@nokia.com",
        "time": "Thu Dec 18 14:06:51 2008 +0200"
      },
      "committer": {
        "name": "Artem Bityutskiy",
        "email": "Artem.Bityutskiy@nokia.com",
        "time": "Tue Dec 23 12:23:40 2008 +0200"
      },
      "message": "UBIFS: use nicer 64-bit math\n\nInstead of using do_div(), use better primitives from\nlinux/math64.h.\n\nSigned-off-by: Artem Bityutskiy \u003cArtem.Bityutskiy@nokia.com\u003e\n"
    },
    {
      "commit": "af14a1ad792621942a03e4bd0e5f17b6e177e2e0",
      "tree": "b91e77a8a1a373ca3dfcc84ec0feb243fb74e2e5",
      "parents": [
        "d3cf502b6ccee1c52890d42cd18cbc98b7526126"
      ],
      "author": {
        "name": "Artem Bityutskiy",
        "email": "Artem.Bityutskiy@nokia.com",
        "time": "Fri Dec 19 19:26:29 2008 +0200"
      },
      "committer": {
        "name": "Artem Bityutskiy",
        "email": "Artem.Bityutskiy@nokia.com",
        "time": "Tue Dec 23 12:23:29 2008 +0200"
      },
      "message": "UBIFS: fix available blocks count\n\nTake into account that 2 eraseblocks are never available because\nthey are reserved for the index. This gives more realistic count\nof FS blocks.\n\nTo avoid future confusions like this, introduce a constant.\n\nSigned-off-by: Artem Bityutskiy \u003cArtem.Bityutskiy@nokia.com\u003e\n"
    },
    {
      "commit": "d3cf502b6ccee1c52890d42cd18cbc98b7526126",
      "tree": "4c8c0c8db4e7ee3782421a11b00bab2b8b153bd3",
      "parents": [
        "21a60258976227daaf7a4c35e96c3d77d4988b15"
      ],
      "author": {
        "name": "Artem Bityutskiy",
        "email": "Artem.Bityutskiy@nokia.com",
        "time": "Tue Dec 16 17:52:35 2008 +0200"
      },
      "committer": {
        "name": "Artem Bityutskiy",
        "email": "Artem.Bityutskiy@nokia.com",
        "time": "Tue Dec 23 12:23:08 2008 +0200"
      },
      "message": "UBIFS: various comment improvements and fixes\n\nSigned-off-by: Artem Bityutskiy \u003cArtem.Bityutskiy@nokia.com\u003e\n"
    },
    {
      "commit": "21a60258976227daaf7a4c35e96c3d77d4988b15",
      "tree": "73c9de022a0a947ca4f5e8d8edfdbd8321270464",
      "parents": [
        "24fa9e9438b263600737c839b36543981d87d65b"
      ],
      "author": {
        "name": "Artem Bityutskiy",
        "email": "Artem.Bityutskiy@nokia.com",
        "time": "Fri Dec 12 11:13:17 2008 -0500"
      },
      "committer": {
        "name": "Artem Bityutskiy",
        "email": "Artem.Bityutskiy@nokia.com",
        "time": "Tue Dec 23 12:22:58 2008 +0200"
      },
      "message": "UBIFS: improve budgeting dump\n\nDump available space calculated by budgeting subsystem.\n\nSigned-off-by: Artem Bityutskiy \u003cArtem.Bityutskiy@nokia.com\u003e\n"
    },
    {
      "commit": "24fa9e9438b263600737c839b36543981d87d65b",
      "tree": "4426bb9b605db661f9bc2e5320a650e192f7fe9f",
      "parents": [
        "7bbe5b5aa6d1e38af6f1fc866efc0aa461d73f19"
      ],
      "author": {
        "name": "Artem Bityutskiy",
        "email": "Artem.Bityutskiy@nokia.com",
        "time": "Wed Dec 17 17:45:14 2008 +0200"
      },
      "committer": {
        "name": "Artem Bityutskiy",
        "email": "Artem.Bityutskiy@nokia.com",
        "time": "Tue Dec 23 12:22:39 2008 +0200"
      },
      "message": "UBIFS: fix tnc dumping\n\ndebugfs tnc dumping was broken because of an obvious typo.\n\nSigned-off-by: Artem Bityutskiy \u003cArtem.Bityutskiy@nokia.com\u003e\n"
    },
    {
      "commit": "7bbe5b5aa6d1e38af6f1fc866efc0aa461d73f19",
      "tree": "f9cd48adda1b832c77a7cca63534a4fce2648546",
      "parents": [
        "995be04548f62c8e6b447410cd28b0666614b461"
      ],
      "author": {
        "name": "Artem Bityutskiy",
        "email": "Artem.Bityutskiy@nokia.com",
        "time": "Tue Dec 09 11:02:51 2008 -0500"
      },
      "committer": {
        "name": "Artem Bityutskiy",
        "email": "Artem.Bityutskiy@nokia.com",
        "time": "Tue Dec 23 12:19:14 2008 +0200"
      },
      "message": "UBIFS: use PAGE_CACHE_MASK correctly\n\nIt has high bits set, not low bits set as the UBIFS code\nassumed.\n\nSigned-off-by: Artem Bityutskiy \u003cArtem.Bityutskiy@nokia.com\u003e\n"
    },
    {
      "commit": "995be04548f62c8e6b447410cd28b0666614b461",
      "tree": "fbabfbcc9bd11813d0d5bebd99cdc52dff37a909",
      "parents": [
        "2ba5f7ae8165b3f575dd3a7d8bb18f421fab8273"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Thu Dec 04 17:04:18 2008 +0300"
      },
      "committer": {
        "name": "Artem Bityutskiy",
        "email": "Artem.Bityutskiy@nokia.com",
        "time": "Thu Dec 04 17:53:10 2008 +0200"
      },
      "message": "UBIFS: fix section mismatch\n\nThis patch fixes the following section mismatch:\n\nWARNING: fs/ubifs/ubifs.o(.init.text+0xec): Section mismatch in reference from the function init_module() to the function .exit.text:ubifs_compressors_exit()\n\nSigned-off-by: Artem Bityutskiy \u003cArtem.Bityutskiy@nokia.com\u003e\n"
    },
    {
      "commit": "ec98ce480ada787f2cfbd696980ff3564415505b",
      "tree": "1a4d644b38f9f1e4b4e086fde0b195df4a92cf84",
      "parents": [
        "3496f92beb9aa99ef21fccc154a36c7698e9c538",
        "feaf3848a813a106f163013af6fcf6c4bfec92d9"
      ],
      "author": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Thu Dec 04 17:16:36 2008 +1100"
      },
      "committer": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Thu Dec 04 17:16:36 2008 +1100"
      },
      "message": "Merge branch \u0027master\u0027 into next\n\nConflicts:\n\tfs/nfsd/nfs4recover.c\n\nManually fixed above to use new creds API functions, e.g.\nnfs4_save_creds().\n\nSigned-off-by: James Morris \u003cjmorris@namei.org\u003e\n"
    },
    {
      "commit": "2ba5f7ae8165b3f575dd3a7d8bb18f421fab8273",
      "tree": "c2916fd6398b0a380eed9ac3cd9e59c92ae8cbd5",
      "parents": [
        "787845bdeadd368eedeace92d5bf53f5aa1450ba"
      ],
      "author": {
        "name": "Artem Bityutskiy",
        "email": "Artem.Bityutskiy@nokia.com",
        "time": "Fri Oct 31 17:32:30 2008 +0200"
      },
      "committer": {
        "name": "Artem Bityutskiy",
        "email": "Artem.Bityutskiy@nokia.com",
        "time": "Wed Dec 03 13:14:34 2008 +0200"
      },
      "message": "UBIFS: introduce LPT dump function\n\nSigned-off-by: Artem Bityutskiy \u003cArtem.Bityutskiy@nokia.com\u003e\n"
    },
    {
      "commit": "787845bdeadd368eedeace92d5bf53f5aa1450ba",
      "tree": "e05cb97ba1827e67293758b1955a6372ac8daae6",
      "parents": [
        "45e12d901fee57bccf90f6940155724954e1aac7"
      ],
      "author": {
        "name": "Artem Bityutskiy",
        "email": "Artem.Bityutskiy@nokia.com",
        "time": "Fri Oct 31 12:17:42 2008 +0200"
      },
      "committer": {
        "name": "Artem Bityutskiy",
        "email": "Artem.Bityutskiy@nokia.com",
        "time": "Wed Dec 03 13:14:34 2008 +0200"
      },
      "message": "UBIFS: dump stack in LPT check functions\n\nIt is useful to know how we got to the checking function when\nhunting the bugs.\n\nSigned-off-by: Artem Bityutskiy \u003cArtem.Bityutskiy@nokia.com\u003e\n"
    },
    {
      "commit": "45e12d901fee57bccf90f6940155724954e1aac7",
      "tree": "7b42cbfdbe35455871a412aab535f481fb2c1c44",
      "parents": [
        "552ff3179d1e93a3e982357544c059f3e9a5516e"
      ],
      "author": {
        "name": "Artem Bityutskiy",
        "email": "Artem.Bityutskiy@nokia.com",
        "time": "Fri Oct 31 11:42:18 2008 +0200"
      },
      "committer": {
        "name": "Artem Bityutskiy",
        "email": "Artem.Bityutskiy@nokia.com",
        "time": "Wed Dec 03 13:14:34 2008 +0200"
      },
      "message": "UBIFS: run debugging checks only if they are enabled\n\nDo not forget to check whether lpt debugging is enabled before\nrunning the check functions. This commit also makes some spelling\nfixes.\n\nSigned-off-by: Artem Bityutskiy \u003cArtem.Bityutskiy@nokia.com\u003e\n"
    },
    {
      "commit": "552ff3179d1e93a3e982357544c059f3e9a5516e",
      "tree": "fb53c9ab1b19e1c98fc0a316859413723e34d186",
      "parents": [
        "17c2f9f85c896b48a5d74a9155d99ec5b241a0e6"
      ],
      "author": {
        "name": "Artem Bityutskiy",
        "email": "Artem.Bityutskiy@nokia.com",
        "time": "Thu Oct 23 11:49:28 2008 +0300"
      },
      "committer": {
        "name": "Artem Bityutskiy",
        "email": "Artem.Bityutskiy@nokia.com",
        "time": "Wed Dec 03 13:14:33 2008 +0200"
      },
      "message": "UBIFS: add debugfs support\n\nWe need to have a possibility to see various UBIFS variables\nand ask UBIFS to dump various information. Debugfs is what\nwe need.\n\nSigned-off-by: Artem Bityutskiy \u003cArtem.Bityutskiy@nokia.com\u003e\n"
    },
    {
      "commit": "17c2f9f85c896b48a5d74a9155d99ec5b241a0e6",
      "tree": "9d3e38e673d1d3af650072388a671ec767d3941a",
      "parents": [
        "5dd7cbc083f3a91fa7454125fe992826701b67bc"
      ],
      "author": {
        "name": "Artem Bityutskiy",
        "email": "Artem.Bityutskiy@nokia.com",
        "time": "Fri Oct 17 13:31:39 2008 +0300"
      },
      "committer": {
        "name": "Artem Bityutskiy",
        "email": "Artem.Bityutskiy@nokia.com",
        "time": "Wed Dec 03 13:14:33 2008 +0200"
      },
      "message": "UBIFS: separate debugging fields out\n\nIntroduce a new data structure which contains all debugging\nstuff inside. This is cleaner than having debugging stuff\ndirectly in \u0027c\u0027.\n\nSigned-off-by: Artem Bityutskiy \u003cArtem.Bityutskiy@nokia.com\u003e\n"
    },
    {
      "commit": "5dd7cbc083f3a91fa7454125fe992826701b67bc",
      "tree": "db21827920cd91fd4da1115f1eea3bb99eca38b4",
      "parents": [
        "553dea4dd531562688ba01c641c7f8fc7abaaf8c"
      ],
      "author": {
        "name": "Kukkonen Mika",
        "email": "mika.kukkonen@nokia.com",
        "time": "Tue Dec 02 11:32:49 2008 +0200"
      },
      "committer": {
        "name": "Artem Bityutskiy",
        "email": "Artem.Bityutskiy@nokia.com",
        "time": "Wed Dec 03 13:14:11 2008 +0200"
      },
      "message": "UBIFS: avoid unnecessary checks\n\nI have a habit of compiling kernel with\nEXTRA_CFLAGS\u003d\"-Wextra -Wno-unused -Wno-sign-compare -Wno-missing-field-initializers\"\nand so fs/ubifs/key.h give lots (~10) of these every time:\n\nCC      fs/ubifs/tnc_misc.o\nIn file included from fs/ubifs/ubifs.h:1725,\nfrom fs/ubifs/tnc_misc.c:30:\nfs/ubifs/key.h: In function \u0027key_r5_hash\u0027:\nfs/ubifs/key.h:64: warning: comparison of unsigned expression \u003e\u003d 0 is always true\nfs/ubifs/key.h: In function \u0027key_test_hash\u0027:\nfs/ubifs/key.h:81: warning: comparison of unsigned expression \u003e\u003d 0 is always true\n\nThis patch fixes the warnings.\n\nSigned-off-by: Artem Bityutskiy \u003cArtem.Bityutskiy@nokia.com\u003e\n"
    },
    {
      "commit": "553dea4dd531562688ba01c641c7f8fc7abaaf8c",
      "tree": "823d2cb0b8684e7975ca3193a9fec2a53e3995b1",
      "parents": [
        "a1dc080c27ec8ea7ca1c8a9b499362a71ebff792"
      ],
      "author": {
        "name": "Artem Bityutskiy",
        "email": "Artem.Bityutskiy@nokia.com",
        "time": "Sat Nov 01 14:57:49 2008 +0200"
      },
      "committer": {
        "name": "Artem Bityutskiy",
        "email": "Artem.Bityutskiy@nokia.com",
        "time": "Wed Dec 03 13:14:05 2008 +0200"
      },
      "message": "UBIFS: introduce compression mount options\n\nIt is very handy to be able to change default UBIFS compressor\nvia mount options. Introduce -o compr\u003d\u003cname\u003e mount option support.\nCurrently only \"none\", \"lzo\" and \"zlib\" compressors are supported.\n\nSigned-off-by: Artem Bityutskiy \u003cArtem.Bityutskiy@nokia.com\u003e\n"
    },
    {
      "commit": "a1dc080c27ec8ea7ca1c8a9b499362a71ebff792",
      "tree": "a41c931fb6f7c8bdc0c3481545892216921074eb",
      "parents": [
        "062e4fee4400f283307cf8ac1b7931c939010229"
      ],
      "author": {
        "name": "Artem Bityutskiy",
        "email": "Artem.Bityutskiy@nokia.com",
        "time": "Sat Nov 01 14:20:50 2008 +0200"
      },
      "committer": {
        "name": "Artem Bityutskiy",
        "email": "Artem.Bityutskiy@nokia.com",
        "time": "Wed Dec 03 13:13:59 2008 +0200"
      },
      "message": "UBIFS: use bit-fields to store compression type\n\nSave a 4 bytes of RAM per \u0027struct inode\u0027 by stroring inode\ncompression type in bit-filed, instead of using \u0027int\u0027.\n\nSigned-off-by: Artem Bityutskiy \u003cArtem.Bityutskiy@nokia.com\u003e\n"
    },
    {
      "commit": "062e4fee4400f283307cf8ac1b7931c939010229",
      "tree": "cacea4a2f65688ad02fa572060155783c4f0377c",
      "parents": [
        "f6f7b52e2f6149d2ee365717afff315b05720162"
      ],
      "author": {
        "name": "Artem Bityutskiy",
        "email": "Artem.Bityutskiy@nokia.com",
        "time": "Sun Oct 26 16:58:25 2008 +0200"
      },
      "committer": {
        "name": "Artem Bityutskiy",
        "email": "Artem.Bityutskiy@nokia.com",
        "time": "Wed Dec 03 13:13:50 2008 +0200"
      },
      "message": "UBIFS: slight compression optimization\n\nIf data does not compress, it is better to leave it uncompressed\nbecause we\u0027ll read it faster then. So do not compress data if we\nsave less than 64 bytes.\n\nSigned-off-by: Artem Bityutskiy \u003cArtem.Bityutskiy@nokia.com\u003e\n"
    },
    {
      "commit": "3477d204658733aa3a87d3ae03b0327c1e599517",
      "tree": "1c9ba659f76c09a19b98f4bcbfac6fc67db43112",
      "parents": [
        "6c0c42cdfd73fb161417403d8d077cb136e10bbf"
      ],
      "author": {
        "name": "Artem Bityutskiy",
        "email": "Artem.Bityutskiy@nokia.com",
        "time": "Wed Nov 19 11:53:15 2008 +0200"
      },
      "committer": {
        "name": "Artem Bityutskiy",
        "email": "Artem.Bityutskiy@nokia.com",
        "time": "Fri Nov 21 18:59:33 2008 +0200"
      },
      "message": "UBIFS: pre-allocate bulk-read buffer\n\nTo avoid memory allocation failure during bulk-read, pre-allocate\na bulk-read buffer, so that if there is only one bulk-reader at\na time, it would just use the pre-allocated buffer and would not\ndo any memory allocation. However, if there are more than 1 bulk-\nreader, then only one reader would use the pre-allocated buffer,\nwhile the other reader would allocate the buffer for itself.\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": "39ce81ce7168aa7226fb9f182c3a2b57060d0905",
      "tree": "8b3c8ff8559c7d3243c0299cae6986aa21601c60",
      "parents": [
        "7e2d9bfa4eabee3e1919a40f20d2ef8b569bd07e"
      ],
      "author": {
        "name": "Artem Bityutskiy",
        "email": "Artem.Bityutskiy@nokia.com",
        "time": "Tue Nov 18 18:09:49 2008 +0200"
      },
      "committer": {
        "name": "Artem Bityutskiy",
        "email": "Artem.Bityutskiy@nokia.com",
        "time": "Fri Nov 21 18:59:16 2008 +0200"
      },
      "message": "UBIFS: do not print scary memory allocation warnings\n\nBulk-read allocates a lot of memory with \u0027kmalloc()\u0027, and when it\nis/gets fragmented \u0027kmalloc()\u0027 fails with a scarry warning. But\nbecause bulk-read is just an optimization, UBIFS keeps working fine.\nSupress the warning by passing __GFP_NOWARN option to \u0027kmalloc()\u0027.\n\nThis patch also introduces a macro for the magic 128KiB constant.\nThis is just neater.\n\nNote, this is not really fixes the problem we had, but just hides\nthe warnings. The further patches fix the problem.\n\nSigned-off-by: Artem Bityutskiy \u003cArtem.Bityutskiy@nokia.com\u003e\n"
    },
    {
      "commit": "26bf1946e69abf9528beda7adb4a783c439a5f7b",
      "tree": "20c6307aeb62eff27c2eb7f171a44c6a7e39f9f3",
      "parents": [
        "fc7333deb741da8aafbda9ff905d3ff2c5e28a66"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Fri Nov 14 10:39:03 2008 +1100"
      },
      "committer": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Fri Nov 14 10:39:03 2008 +1100"
      },
      "message": "CRED: Wrap task credential accesses in the UBIFS filesystem\n\nWrap access to task credentials so that they can be separated more easily from\nthe task_struct during the introduction of COW creds.\n\nChange most current-\u003e(|e|s|fs)[ug]id to current_(|e|s|fs)[ug]id().\n\nChange some task-\u003ee?[ug]id to task_e?[ug]id().  In some places it makes more\nsense to use RCU directly rather than a convenient wrapper; these will be\naddressed by later patches.\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nReviewed-by: James Morris \u003cjmorris@namei.org\u003e\nAcked-by: Serge Hallyn \u003cserue@us.ibm.com\u003e\nCc: Artem Bityutskiy \u003cdedekind@infradead.org\u003e\nCc: Adrian Hunter \u003cext-adrian.hunter@nokia.com\u003e\nCc: linux-mtd@lists.infradead.org\nSigned-off-by: James Morris \u003cjmorris@namei.org\u003e\n"
    },
    {
      "commit": "7e2d9bfa4eabee3e1919a40f20d2ef8b569bd07e",
      "tree": "e79bfe087b5eea815bd584637fab1b14d357c9b1",
      "parents": [
        "e84461ad9c4f0ff91ab8553596acdb7bf5522df4"
      ],
      "author": {
        "name": "Adrian Hunter",
        "email": "ext-adrian.hunter@nokia.com",
        "time": "Wed Nov 05 16:09:04 2008 +0200"
      },
      "committer": {
        "name": "Artem Bityutskiy",
        "email": "Artem.Bityutskiy@nokia.com",
        "time": "Fri Nov 07 12:11:52 2008 +0200"
      },
      "message": "UBIFS: allow for gaps when dirtying the LPT\n\nThe LPT may have gaps in it because initially empty LEBs\nare not added by mkfs.ubifs - because it does not know how\nmany there are.  Then UBIFS allocates empty LEBs in the\nreverse order that they are discovered i.e. they are\nadded to, and removed from, the front of a list.  That\ncreates a gap in the middle of the LPT.\n\nThe function dirtying the LPT tree (for the purpose of\nsmall model garbage collection) assumed that a gap could\nonly occur at the very end of the LPT and stopped dirtying\nprematurely, which in turn resulted in the LPT running\nout of space - something that is designed to be impossible.\n\nSigned-off-by: Adrian Hunter \u003cext-adrian.hunter@nokia.com\u003e\n"
    },
    {
      "commit": "e84461ad9c4f0ff91ab8553596acdb7bf5522df4",
      "tree": "e5b17679617466289603df7644d11bd213cef2ff",
      "parents": [
        "e2966cbe8901e3f1c120ef82d29c59db1b3bd882"
      ],
      "author": {
        "name": "Artem Bityutskiy",
        "email": "Artem.Bityutskiy@nokia.com",
        "time": "Wed Oct 29 12:08:43 2008 +0200"
      },
      "committer": {
        "name": "Artem Bityutskiy",
        "email": "Artem.Bityutskiy@nokia.com",
        "time": "Thu Nov 06 11:06:31 2008 +0200"
      },
      "message": "UBIFS: fix compilation warnings\n\nWe print \u0027ino_t\u0027 type using \u0027%lu\u0027 printk() placeholder, but this\nresults in many warnings when compiling for Alpha platform. Fix\nthis by adding (unsingned long) casts.\n\nFixes these warnings:\n\nfs/ubifs/journal.c:693: warning: format \u0027%lu\u0027 expects type \u0027long unsigned int\u0027, but argument 4 has type \u0027ino_t\u0027\nfs/ubifs/journal.c:1131: warning: format \u0027%lu\u0027 expects type \u0027long unsigned int\u0027, but argument 4 has type \u0027ino_t\u0027\nfs/ubifs/dir.c:163: warning: format \u0027%lu\u0027 expects type \u0027long unsigned int\u0027, but argument 4 has type \u0027ino_t\u0027\nfs/ubifs/tnc.c:2680: warning: format \u0027%lu\u0027 expects type \u0027long unsigned int\u0027, but argument 4 has type \u0027ino_t\u0027\nfs/ubifs/tnc.c:2700: warning: format \u0027%lu\u0027 expects type \u0027long unsigned int\u0027, but argument 5 has type \u0027ino_t\u0027\nfs/ubifs/replay.c:1066: warning: format \u0027%lu\u0027 expects type \u0027long unsigned int\u0027, but argument 7 has type \u0027ino_t\u0027\nfs/ubifs/orphan.c:108: warning: format \u0027%lu\u0027 expects type \u0027long unsigned int\u0027, but argument 4 has type \u0027ino_t\u0027\nfs/ubifs/orphan.c:135: warning: format \u0027%lu\u0027 expects type \u0027long unsigned int\u0027, but argument 4 has type \u0027ino_t\u0027\nfs/ubifs/orphan.c:142: warning: format \u0027%lu\u0027 expects type \u0027long unsigned int\u0027, but argument 4 has type \u0027ino_t\u0027\nfs/ubifs/orphan.c:154: warning: format \u0027%lu\u0027 expects type \u0027long unsigned int\u0027, but argument 4 has type \u0027ino_t\u0027\nfs/ubifs/orphan.c:159: warning: format \u0027%lu\u0027 expects type \u0027long unsigned int\u0027, but argument 4 has type \u0027ino_t\u0027\nfs/ubifs/orphan.c:451: warning: format \u0027%lu\u0027 expects type \u0027long unsigned int\u0027, but argument 4 has type \u0027ino_t\u0027\nfs/ubifs/orphan.c:539: warning: format \u0027%lu\u0027 expects type \u0027long unsigned int\u0027, but argument 4 has type \u0027ino_t\u0027\nfs/ubifs/orphan.c:612: warning: format \u0027%lu\u0027 expects type \u0027long unsigned int\u0027, but argument 4 has type \u0027ino_t\u0027\nfs/ubifs/orphan.c:843: warning: format \u0027%lu\u0027 expects type \u0027long unsigned int\u0027, but argument 4 has type \u0027ino_t\u0027\nfs/ubifs/orphan.c:856: warning: format \u0027%lu\u0027 expects type \u0027long unsigned int\u0027, but argument 4 has type \u0027ino_t\u0027\nfs/ubifs/recovery.c:1438: warning: format \u0027%lu\u0027 expects type \u0027long unsigned int\u0027, but argument 4 has type \u0027ino_t\u0027\nfs/ubifs/recovery.c:1443: warning: format \u0027%lu\u0027 expects type \u0027long unsigned int\u0027, but argument 4 has type \u0027ino_t\u0027\nfs/ubifs/recovery.c:1475: warning: format \u0027%lu\u0027 expects type \u0027long unsigned int\u0027, but argument 4 has type \u0027ino_t\u0027\nfs/ubifs/recovery.c:1495: warning: format \u0027%lu\u0027 expects type \u0027long unsigned int\u0027, but argument 4 has type \u0027ino_t\u0027\nfs/ubifs/debug.c:105: warning: format \u0027%lu\u0027 expects type \u0027long unsigned int\u0027, but argument 3 has type \u0027ino_t\u0027\nfs/ubifs/debug.c:105: warning: format \u0027%lu\u0027 expects type \u0027long unsigned int\u0027, but argument 3 has type \u0027ino_t\u0027\nfs/ubifs/debug.c:110: warning: format \u0027%lu\u0027 expects type \u0027long unsigned int\u0027, but argument 3 has type \u0027ino_t\u0027\nfs/ubifs/debug.c:110: warning: format \u0027%lu\u0027 expects type \u0027long unsigned int\u0027, but argument 3 has type \u0027ino_t\u0027\nfs/ubifs/debug.c:114: warning: format \u0027%lu\u0027 expects type \u0027long unsigned int\u0027, but argument 3 has type \u0027ino_t\u0027\nfs/ubifs/debug.c:114: warning: format \u0027%lu\u0027 expects type \u0027long unsigned int\u0027, but argument 3 has type \u0027ino_t\u0027\nfs/ubifs/debug.c:118: warning: format \u0027%lu\u0027 expects type \u0027long unsigned int\u0027, but argument 3 has type \u0027ino_t\u0027\nfs/ubifs/debug.c:118: warning: format \u0027%lu\u0027 expects type \u0027long unsigned int\u0027, but argument 3 has type \u0027ino_t\u0027\nfs/ubifs/debug.c:1591: warning: format \u0027%lu\u0027 expects type \u0027long unsigned int\u0027, but argument 4 has type \u0027ino_t\u0027\nfs/ubifs/debug.c:1671: warning: format \u0027%lu\u0027 expects type \u0027long unsigned int\u0027, but argument 4 has type \u0027ino_t\u0027\nfs/ubifs/debug.c:1674: warning: format \u0027%lu\u0027 expects type \u0027long unsigned int\u0027, but argument 5 has type \u0027ino_t\u0027\nfs/ubifs/debug.c:1680: warning: format \u0027%lu\u0027 expects type \u0027long unsigned int\u0027, but argument 4 has type \u0027ino_t\u0027\nfs/ubifs/debug.c:1699: warning: format \u0027%lu\u0027 expects type \u0027long unsigned int\u0027, but argument 5 has type \u0027ino_t\u0027\nfs/ubifs/debug.c:1788: warning: format \u0027%lu\u0027 expects type \u0027long unsigned int\u0027, but argument 5 has type \u0027ino_t\u0027\nfs/ubifs/debug.c:1821: warning: format \u0027%lu\u0027 expects type \u0027long unsigned int\u0027, but argument 5 has type \u0027ino_t\u0027\nfs/ubifs/debug.c:1833: warning: format \u0027%lu\u0027 expects type \u0027long unsigned int\u0027, but argument 5 has type \u0027ino_t\u0027\nfs/ubifs/debug.c:1924: warning: format \u0027%lu\u0027 expects type \u0027long unsigned int\u0027, but argument 4 has type \u0027ino_t\u0027\nfs/ubifs/debug.c:1932: warning: format \u0027%lu\u0027 expects type \u0027long unsigned int\u0027, but argument 4 has type \u0027ino_t\u0027\nfs/ubifs/debug.c:1938: warning: format \u0027%lu\u0027 expects type \u0027long unsigned int\u0027, but argument 4 has type \u0027ino_t\u0027\nfs/ubifs/debug.c:1945: warning: format \u0027%lu\u0027 expects type \u0027long unsigned int\u0027, but argument 4 has type \u0027ino_t\u0027\nfs/ubifs/debug.c:1953: warning: format \u0027%lu\u0027 expects type \u0027long unsigned int\u0027, but argument 4 has type \u0027ino_t\u0027\nfs/ubifs/debug.c:1960: warning: format \u0027%lu\u0027 expects type \u0027long unsigned int\u0027, but argument 4 has type \u0027ino_t\u0027\nfs/ubifs/debug.c:1967: warning: format \u0027%lu\u0027 expects type \u0027long unsigned int\u0027, but argument 4 has type \u0027ino_t\u0027\nfs/ubifs/debug.c:1973: warning: format \u0027%lu\u0027 expects type \u0027long unsigned int\u0027, but argument 4 has type \u0027ino_t\u0027\nfs/ubifs/debug.c:1988: warning: format \u0027%lu\u0027 expects type \u0027long unsigned int\u0027, but argument 4 has type \u0027ino_t\u0027\nfs/ubifs/debug.c:1991: warning: format \u0027%lu\u0027 expects type \u0027long unsigned int\u0027, but argument 5 has type \u0027ino_t\u0027\nfs/ubifs/debug.c:2009: warning: format \u0027%lu\u0027 expects type \u0027long unsigned int\u0027, but argument 2 has type \u0027ino_t\u0027\n\nReported-by: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nSigned-off-by: Artem Bityutskiy \u003cArtem.Bityutskiy@nokia.com\u003e\n"
    },
    {
      "commit": "0ecb9529a4d47825778e7b0d226eb36019252a9d",
      "tree": "1d39f3ba19e63ab4a47171433898171eba5ee793",
      "parents": [
        "069782a1ee55105220e5ae2db448495dac267cb1"
      ],
      "author": {
        "name": "Harvey Harrison",
        "email": "harvey.harrison@gmail.com",
        "time": "Fri Oct 24 10:52:57 2008 -0700"
      },
      "committer": {
        "name": "Artem Bityutskiy",
        "email": "Artem.Bityutskiy@nokia.com",
        "time": "Thu Nov 06 11:06:19 2008 +0200"
      },
      "message": "UBIFS: endian handling fixes and annotations\n\nNoticed by sparse:\nfs/ubifs/file.c:75:2: warning: restricted __le64 degrades to integer\nfs/ubifs/file.c:629:4: warning: restricted __le64 degrades to integer\nfs/ubifs/dir.c:431:3: warning: restricted __le64 degrades to integer\n\nThis should be checked to ensure the ubifs_assert is working as\nintended, I\u0027ve done the suggested annotation in this patch.\n\nfs/ubifs/sb.c:298:6: warning: incorrect type in assignment (different base types)\nfs/ubifs/sb.c:298:6:    expected int [signed] [assigned] tmp\nfs/ubifs/sb.c:298:6:    got restricted __le64 [usertype] \u003cnoident\u003e\nfs/ubifs/sb.c:299:19: warning: incorrect type in assignment (different base types)\nfs/ubifs/sb.c:299:19:    expected restricted __le64 [usertype] atime_sec\nfs/ubifs/sb.c:299:19:    got int [signed] [assigned] tmp\nfs/ubifs/sb.c:300:19: warning: incorrect type in assignment (different base types)\nfs/ubifs/sb.c:300:19:    expected restricted __le64 [usertype] ctime_sec\nfs/ubifs/sb.c:300:19:    got int [signed] [assigned] tmp\nfs/ubifs/sb.c:301:19: warning: incorrect type in assignment (different base types)\nfs/ubifs/sb.c:301:19:    expected restricted __le64 [usertype] mtime_sec\nfs/ubifs/sb.c:301:19:    got int [signed] [assigned] tmp\n\nThis looks like a bugfix as your tmp was a u32 so there was truncation in\nthe atime, mtime, ctime value, probably not intentional, add a tmp_le64\nand use it here.\n\nfs/ubifs/key.h:348:9: warning: cast to restricted __le32\nfs/ubifs/key.h:348:9: warning: cast to restricted __le32\nfs/ubifs/key.h:419:9: warning: cast to restricted __le32\n\nRead from the annotated union member instead.\n\nfs/ubifs/recovery.c:175:13: warning: incorrect type in assignment (different base types)\nfs/ubifs/recovery.c:175:13:    expected unsigned int [unsigned] [usertype] save_flags\nfs/ubifs/recovery.c:175:13:    got restricted __le32 [usertype] flags\nfs/ubifs/recovery.c:186:13: warning: incorrect type in assignment (different base types)\nfs/ubifs/recovery.c:186:13:    expected restricted __le32 [usertype] flags\nfs/ubifs/recovery.c:186:13:    got unsigned int [unsigned] [usertype] save_flags\n\nDo byteshifting at compile time of the flag value.  Annotate the saved_flags\nas le32.\n\nfs/ubifs/debug.c:368:10: warning: cast to restricted __le32\nfs/ubifs/debug.c:368:10: warning: cast from restricted __le64\n\nShould be checked if the truncation was intentional, I\u0027ve changed the\nprintk to print the full width.\n\nSigned-off-by: Harvey Harrison \u003charvey.harrison@gmail.com\u003e\nSigned-off-by: Artem Bityutskiy \u003cArtem.Bityutskiy@nokia.com\u003e\n"
    },
    {
      "commit": "069782a1ee55105220e5ae2db448495dac267cb1",
      "tree": "b25f2fadb18c795e04761d1a5c8bbdcba5589bcd",
      "parents": [
        "45beca08dd8b6d6a65c5ffd730af2eac7a2c7a03"
      ],
      "author": {
        "name": "Artem Bityutskiy",
        "email": "Artem.Bityutskiy@nokia.com",
        "time": "Tue Oct 21 12:56:31 2008 +0300"
      },
      "committer": {
        "name": "Artem Bityutskiy",
        "email": "Artem.Bityutskiy@nokia.com",
        "time": "Thu Nov 06 11:06:14 2008 +0200"
      },
      "message": "UBIFS: remove printk\n\nRemove the \"UBIFS background thread ubifs_bgd0_0 started\" message.\nWe kill the background thread when we switch to R/O mode, and\nstart it again whan we switch to R/W mode. OLPC is doing this\nmany times during boot, and we see this message many times as\nwell, which is irritating. So just kill the message.\n\nSigned-off-by: Artem Bityutskiy \u003cArtem.Bityutskiy@nokia.com\u003e\n"
    },
    {
      "commit": "396b122f6af3d329df3b4d688f6e66de3e2a399a",
      "tree": "0b4185d529c1ba4c8eca1de23f14beecbe460323",
      "parents": [
        "ed402af3c23a4804b3f8899263e8d0f97c62ab49",
        "54779aabb0183bbe049d2b52e96cd148366dfb0b"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 20 09:19:03 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 20 09:19:03 2008 -0700"
      },
      "message": "Merge branch \u0027linux-next\u0027 of git://git.infradead.org/ubifs-2.6\n\n* \u0027linux-next\u0027 of git://git.infradead.org/ubifs-2.6: (25 commits)\n  UBIFS: fix ubifs_compress commentary\n  UBIFS: amend printk\n  UBIFS: do not read unnecessary bytes when unpacking bits\n  UBIFS: check buffer length when scanning for LPT nodes\n  UBIFS: correct condition to eliminate unecessary assignment\n  UBIFS: add more debugging messages for LPT\n  UBIFS: fix bulk-read handling uptodate pages\n  UBIFS: improve garbage collection\n  UBIFS: allow for sync_fs when read-only\n  UBIFS: commit on sync_fs\n  UBIFS: correct comment for commit_on_unmount\n  UBIFS: update dbg_dump_inode\n  UBIFS: fix commentary\n  UBIFS: fix races in bit-fields\n  UBIFS: ensure data read beyond i_size is zeroed out correctly\n  UBIFS: correct key comparison\n  UBIFS: use bit-fields when possible\n  UBIFS: check data CRC when in error state\n  UBIFS: improve znode splitting rules\n  UBIFS: add no_chk_data_crc mount option\n  ...\n"
    },
    {
      "commit": "54779aabb0183bbe049d2b52e96cd148366dfb0b",
      "tree": "c740badf2465dc5239fd593e058393ca9eb25435",
      "parents": [
        "fae7fb299f382355145c6cb4eec6aa84f4cd1fca"
      ],
      "author": {
        "name": "Geert Uytterhoeven",
        "email": "Geert.Uytterhoeven@sonycom.com",
        "time": "Fri Oct 17 16:16:10 2008 +0200"
      },
      "committer": {
        "name": "Artem Bityutskiy",
        "email": "Artem.Bityutskiy@nokia.com",
        "time": "Sun Oct 19 13:01:37 2008 +0300"
      },
      "message": "UBIFS: fix ubifs_compress commentary\n\nUpdate the comment for ubifs_compress(), which incorrectly states that it\nreturnsa success/failure indicator.\n\nSigned-off-by: Geert Uytterhoeven \u003cGeert.Uytterhoeven@sonycom.com\u003e\nSigned-off-by: Artem Bityutskiy \u003cArtem.Bityutskiy@nokia.com\u003e\n"
    },
    {
      "commit": "fae7fb299f382355145c6cb4eec6aa84f4cd1fca",
      "tree": "dc42bdf9bdd8c4ffc9e2129d5702db3a9b16fc05",
      "parents": [
        "727d2dc045930b29dc68d56d5032d23661ba8503"
      ],
      "author": {
        "name": "Artem Bityutskiy",
        "email": "Artem.Bityutskiy@nokia.com",
        "time": "Fri Oct 17 18:49:23 2008 +0300"
      },
      "committer": {
        "name": "Artem Bityutskiy",
        "email": "Artem.Bityutskiy@nokia.com",
        "time": "Sun Oct 19 13:01:30 2008 +0300"
      },
      "message": "UBIFS: amend printk\n\nIt is better to print \"Reserved for root\" than\n\"Reserved pool size\", because it is more obvious for users\nwhat this means.\n\nSigned-off-by: Artem Bityutskiy \u003cArtem.Bityutskiy@nokia.com\u003e\n"
    },
    {
      "commit": "727d2dc045930b29dc68d56d5032d23661ba8503",
      "tree": "66fc9a3dccd7639acf47774274f3b69a888caeb8",
      "parents": [
        "be2f6bd62d0d4246a9227dacbe2469e1f0eccf26"
      ],
      "author": {
        "name": "Adrian Hunter",
        "email": "ext-adrian.hunter@nokia.com",
        "time": "Fri Oct 17 16:52:10 2008 +0300"
      },
      "committer": {
        "name": "Artem Bityutskiy",
        "email": "Artem.Bityutskiy@nokia.com",
        "time": "Sun Oct 19 13:01:21 2008 +0300"
      },
      "message": "UBIFS: do not read unnecessary bytes when unpacking bits\n\nFixes the following Oops:\n\nBUG: unable to handle kernel paging request at f8d24000\nIP: [\u003cf8ff0657\u003e] :ubifs:ubifs_unpack_bits+0xcd/0x231\n*pde \u003d 34333067 *pte \u003d 00000000\nOops: 0000 [#1] PREEMPT SMP\nModules linked in: deflate zlib_deflate lzo lzo_decompress lzo_compress\nubifs ubi nandsim nand nand_ids nand_ecc mtd nfsd lockd sunrpc exportfs\n[last unloaded: nand_ecc]\n\nPid: 7450, comm: sync Not tainted (2.6.27-rc8-ubifs-2.6 #27)\nEIP: 0060:[\u003cf8ff0657\u003e] EFLAGS: 00010206 CPU: 0\nEIP is at ubifs_unpack_bits+0xcd/0x231 [ubifs]\nEAX: 00000000 EBX: 00000000 ECX: d7e43dc0 EDX: 0000ff00\nESI: 00000004 EDI: f8d23ffe EBP: d7e43db4 ESP: d7e43d8c\nDS: 007b ES: 007b FS: 00d8 GS: 0033 SS: 0068\nProcess sync (pid: 7450, ti\u003dd7e42000 task\u003deb6f9530 task.ti\u003dd7e42000)\nStack: 00000400 c0103db4 dc5e8090 d7e43dc0 d7e43dc0 d7e43dc4 0000001c 00000004\n      f496d1e0 f8d23ffc d7e43dd4 f8ffac7e f8d23ffe 00000000 f8d23ffe f2b7af68\n      f496d1e0 f8d23ffc d7e43e2c f8ffadc5 00000000 0001f000 00000000 c03b10a7\nCall Trace:\n[\u003cc0103db4\u003e] ? restore_nocheck_notrace+0x0/0xe\n[\u003cf8ffac7e\u003e] ? is_a_node+0x43/0x92 [ubifs]\n[\u003cf8ffadc5\u003e] ? dbg_check_ltab+0xf8/0x5c9 [ubifs]\n[\u003cc03b10a7\u003e] ? mutex_lock_nested+0x1b2/0x2a0\n[\u003cf8ffc86e\u003e] ? ubifs_lpt_start_commit+0x49/0xecb [ubifs]\n[\u003cc03b0ef3\u003e] ? mutex_unlock+0xd/0xf\n[\u003cf8fef017\u003e] ? ubifs_tnc_start_commit+0x1cf/0xef8 [ubifs]\n[\u003cf8fe65d8\u003e] ? do_commit+0x18f/0x52d [ubifs]\n[\u003cf8fe69f6\u003e] ? ubifs_run_commit+0x80/0xca [ubifs]\n[\u003cf8fd8d35\u003e] ? ubifs_sync_fs+0xdb/0xf6 [ubifs]\n[\u003cc0181a07\u003e] ? sync_filesystems+0xc6/0x10c\n[\u003cc019f279\u003e] ? do_sync+0x3b/0x6a\n[\u003cc019f2ba\u003e] ? sys_sync+0x12/0x18\n[\u003cc0103ced\u003e] ? sysenter_do_call+0x12/0x35\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\nCode: 4d ec 89 01 8b 45 e8 89 10 89 d8 89 f1 d3 e8 85 c0 74 07 29 d6 83 fe\n20 75 2a 89 d8 83 c4 1c 5b 5e 5f 5d c3 0f b6 57 01 c1 e2 08 \u003c0f\u003e b6 47 02\nc1 e0 10 09 c2 0f b6 07 09 c2 0f b\nEIP: [\u003cf8ff0657\u003e] ubifs_unpack_bits+0xcd/0x231 [ubifs] SS:ESP 0068:d7e43d8c\n---[ end trace 1bbb4c407a6dd816 ]---\n\nSigned-off-by: Adrian Hunter \u003cext-adrian.hunter@nokia.com\u003e\n"
    },
    {
      "commit": "a447c0932445f92ce6f4c1bd020f62c5097a7842",
      "tree": "bacf05bc7f9764515cdd6f7dc5e2254776b4f160",
      "parents": [
        "54cebc68c81eacac41a21bdfe99dc889d3882c60"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Mon Oct 13 10:46:57 2008 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 13 10:10:37 2008 -0700"
      },
      "message": "vfs: Use const for kernel parser table\n\nThis is a much better version of a previous patch to make the parser\ntables constant. Rather than changing the typedef, we put the \"const\" in\nall the various places where its required, allowing the __initconst\nexception for nfsroot which was the cause of the previous trouble.\n\nThis was posted for review some time ago and I believe its been in -mm\nsince then.\n\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\nCc: Alexander Viro \u003caviro@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "be2f6bd62d0d4246a9227dacbe2469e1f0eccf26",
      "tree": "04ebddba4042ad0df7b5b03209ab42f555259ce0",
      "parents": [
        "63c300b68fd93a9fadc5e317d4d001b7a6985486"
      ],
      "author": {
        "name": "Adrian Hunter",
        "email": "ext-adrian.hunter@nokia.com",
        "time": "Fri Sep 26 12:52:21 2008 +0300"
      },
      "committer": {
        "name": "Artem Bityutskiy",
        "email": "Artem.Bityutskiy@nokia.com",
        "time": "Tue Sep 30 11:12:59 2008 +0300"
      },
      "message": "UBIFS: check buffer length when scanning for LPT nodes\n\n\u0027is_a_node()\u0027 function was reading from a buffer before\nchecking the buffer length, resulting in an OOPS as\nfollows:\n\nBUG: unable to handle kernel paging request at f8f74002\nIP: [\u003cf8f9783f\u003e] :ubifs:ubifs_unpack_bits+0xca/0x233\n*pde \u003d 19e95067 *pte \u003d 00000000\nOops: 0000 [#1] PREEMPT SMP\nModules linked in: ubifs ubi mtdchar bio2mtd mtd brd video output\n[last unloaded: mtd]\n\nPid: 6414, comm: integck Not tainted (2.6.27-rc6ubifs34 #23)\nEIP: 0060:[\u003cf8f9783f\u003e] EFLAGS: 00010246 CPU: 0\nEIP is at ubifs_unpack_bits+0xca/0x233 [ubifs]\nEAX: 00000000 EBX: f6090630 ECX: d9badcfc EDX: 00000000\nESI: 00000004 EDI: f8f74002 EBP: d9badcec ESP: d9badcc0\n DS: 007b ES: 007b FS: 00d8 GS: 0033 SS: 0068\nProcess integck (pid: 6414, ti\u003dd9bac000 task\u003df727dae0 task.ti\u003dd9bac000)\nStack: 00000006 f7306240 00000002 00000000 d9badcfc d9badd00 0000001c 00000000\n       f6090630 f6090630 f8f74000 d9badd10 f8fa1cc9 00000000 f8f74002 00000000\n       f8f74002 f60fe128 f6090630 f8f74000 d9badd68 f8fa1e46 00000000 0001e000\nCall Trace:\n [\u003cf8fa1cc9\u003e] ? is_a_node+0x30/0x90 [ubifs]\n [\u003cf8fa1e46\u003e] ? dbg_check_ltab+0x11d/0x5bd [ubifs]\n [\u003cf8fa388f\u003e] ? ubifs_lpt_start_commit+0x42/0xed3 [ubifs]\n [\u003cc038e76a\u003e] ? mutex_unlock+0x8/0xa\n [\u003cf8f9625d\u003e] ? ubifs_tnc_start_commit+0x1c8/0xedb [ubifs]\n [\u003cf8f8d90b\u003e] ? do_commit+0x187/0x523 [ubifs]\n [\u003cc038e76a\u003e] ? mutex_unlock+0x8/0xa\n [\u003cf8f7ca17\u003e] ? bud_wbuf_callback+0x22/0x28 [ubifs]\n [\u003cf8f8dd1d\u003e] ? ubifs_run_commit+0x76/0xc0 [ubifs]\n [\u003cf8f8032c\u003e] ? ubifs_sync_fs+0xd2/0xe6 [ubifs]\n [\u003cc01a2e97\u003e] ? vfs_quota_sync+0x0/0x17e\n [\u003cc01a5ba6\u003e] ? quota_sync_sb+0x26/0xbb\n [\u003cc01a2e97\u003e] ? vfs_quota_sync+0x0/0x17e\n [\u003cc01a5c5d\u003e] ? sync_dquots+0x22/0x12c\n [\u003cc0173d1b\u003e] ? __fsync_super+0x19/0x68\n [\u003cc0173d75\u003e] ? fsync_super+0xb/0x19\n [\u003cc0174065\u003e] ? generic_shutdown_super+0x22/0xe7\n [\u003cc01a31fc\u003e] ? vfs_quota_off+0x0/0x5fd\n [\u003cf8f7cf4d\u003e] ? ubifs_kill_sb+0x31/0x35 [ubifs]\n [\u003cc01741f9\u003e] ? deactivate_super+0x5e/0x71\n [\u003cc0187610\u003e] ? mntput_no_expire+0x82/0xe4\n [\u003cc0187905\u003e] ? sys_umount+0x4c/0x2f6\n [\u003cc0187bc8\u003e] ? sys_oldumount+0x19/0x1b\n [\u003cc0103b71\u003e] ? sysenter_do_call+0x12/0x25\n \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\nCode: c1 f8 03 8d 04 07 8b 4d e8 89 01 8b 45 e4 89 10 89 d8 89 f1 d3 e8 85 c0\n      74 07 29 d6 83 fe 20 75 2a 89 d8 83 c4 20 5b 5e 5f 5d\nEIP: [\u003cf8f9783f\u003e] ubifs_unpack_bits+0xca/0x233 [ubifs] SS:ESP 0068:d9badcc0\n---[ end trace 1f02572436518c13 ]---\n\nSigned-off-by: Adrian Hunter \u003cext-adrian.hunter@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": "73944a6de048c2c49422e9063e57198256efd23e",
      "tree": "048789b4d3228dcf6e0f33a446bdbf423ebf5b6f",
      "parents": [
        "5c0013c16bd2ee08ffef1a1365622556a57218f5"
      ],
      "author": {
        "name": "Adrian Hunter",
        "email": "ext-adrian.hunter@nokia.com",
        "time": "Fri Sep 12 18:13:31 2008 +0300"
      },
      "committer": {
        "name": "Artem Bityutskiy",
        "email": "Artem.Bityutskiy@nokia.com",
        "time": "Tue Sep 30 11:12:59 2008 +0300"
      },
      "message": "UBIFS: add more debugging messages for LPT\n\nAlso add debugging checks for LPT size and separate\nout c-\u003echeck_lpt_free from unrelated bitfields.\n\nSigned-off-by: Adrian Hunter \u003cext-adrian.hunter@nokia.com\u003e\n"
    },
    {
      "commit": "5c0013c16bd2ee08ffef1a1365622556a57218f5",
      "tree": "65148d84c2c9a7d5f30c6e4c53db743ba795a30b",
      "parents": [
        "46773be497a05010a2873e9ad96d739fb352c1e4"
      ],
      "author": {
        "name": "Adrian Hunter",
        "email": "ext-adrian.hunter@nokia.com",
        "time": "Fri Sep 12 10:34:51 2008 +0300"
      },
      "committer": {
        "name": "Artem Bityutskiy",
        "email": "Artem.Bityutskiy@nokia.com",
        "time": "Tue Sep 30 11:12:59 2008 +0300"
      },
      "message": "UBIFS: fix bulk-read handling uptodate pages\n\nBulk-read skips uptodate pages but this was putting its\narray index out and causing it to treat subsequent pages\nas holes.\n\nSigned-off-by: Adrian Hunter \u003cext-adrian.hunter@nokia.com\u003e\n"
    },
    {
      "commit": "46773be497a05010a2873e9ad96d739fb352c1e4",
      "tree": "bea239e6e44de33fd8c562e21e38df71eefa2fc7",
      "parents": [
        "bed79935de9a658678f44b88a097367d3b26429f"
      ],
      "author": {
        "name": "Adrian Hunter",
        "email": "ext-adrian.hunter@nokia.com",
        "time": "Thu Sep 11 12:57:49 2008 +0300"
      },
      "committer": {
        "name": "Artem Bityutskiy",
        "email": "Artem.Bityutskiy@nokia.com",
        "time": "Tue Sep 30 11:12:59 2008 +0300"
      },
      "message": "UBIFS: improve garbage collection\n\nMake garbage collection try to keep data nodes from the same\ninode together and in ascending order.  This improves\nperformance when reading those nodes especially when bulk-read\nis used.\n\nSigned-off-by: Adrian Hunter \u003cext-adrian.hunter@nokia.com\u003e\n"
    },
    {
      "commit": "bed79935de9a658678f44b88a097367d3b26429f",
      "tree": "34f34c585f12d99dbb55131bc389a4894242d102",
      "parents": [
        "403e12ab30ab160e1015bd998f0abc1865c574e0"
      ],
      "author": {
        "name": "Adrian Hunter",
        "email": "ext-adrian.hunter@nokia.com",
        "time": "Thu Sep 11 14:25:44 2008 +0300"
      },
      "committer": {
        "name": "Artem Bityutskiy",
        "email": "Artem.Bityutskiy@nokia.com",
        "time": "Tue Sep 30 11:12:58 2008 +0300"
      },
      "message": "UBIFS: allow for sync_fs when read-only\n\nsync_fs can be called even if the file system is mounted\nread-only.  Ensure the commit is not run in that case.\n\nReported-by: Zoltan Sogor \u003cweth@inf.u-szeged.hu\u003e\nSigned-off-by: Adrian Hunter \u003cext-adrian.hunter@nokia.com\u003e\n"
    },
    {
      "commit": "403e12ab30ab160e1015bd998f0abc1865c574e0",
      "tree": "1682251f2a37d3a8df6b17646cba30e44e243d37",
      "parents": [
        "af2eb5637b88f7b8edf295ad3880706c5c30c324"
      ],
      "author": {
        "name": "Artem Bityutskiy",
        "email": "Artem.Bityutskiy@nokia.com",
        "time": "Tue Sep 09 12:31:37 2008 +0300"
      },
      "committer": {
        "name": "Artem Bityutskiy",
        "email": "Artem.Bityutskiy@nokia.com",
        "time": "Tue Sep 30 11:12:58 2008 +0300"
      },
      "message": "UBIFS: commit on sync_fs\n\nCommit the journal when the FS is sync\u0027ed. This will make\nstatfs provide better free space report. And we anyway\nadvice our users to sync the FS if they want better statfs\nreport.\n\nSigned-off-by: Artem Bityutskiy \u003cArtem.Bityutskiy@nokia.com\u003e\n"
    },
    {
      "commit": "af2eb5637b88f7b8edf295ad3880706c5c30c324",
      "tree": "a43c5b0104286e36c3958f13bf3deee7fa4cc91a",
      "parents": [
        "b5e426e9a4a8d4ccc65a6849420d47f87c080d5d"
      ],
      "author": {
        "name": "Artem Bityutskiy",
        "email": "Artem.Bityutskiy@nokia.com",
        "time": "Tue Sep 09 12:23:50 2008 +0300"
      },
      "committer": {
        "name": "Artem Bityutskiy",
        "email": "Artem.Bityutskiy@nokia.com",
        "time": "Tue Sep 30 11:12:58 2008 +0300"
      },
      "message": "UBIFS: correct comment for commit_on_unmount\n\nSigned-off-by: Artem Bityutskiy \u003cArtem.Bityutskiy@nokia.com\u003e\n"
    },
    {
      "commit": "b5e426e9a4a8d4ccc65a6849420d47f87c080d5d",
      "tree": "b50d85c186e58938a78e32daae27fd530169de1f",
      "parents": [
        "be61678b1d97c9b47bb839beb3c3f48da36af072"
      ],
      "author": {
        "name": "Artem Bityutskiy",
        "email": "Artem.Bityutskiy@nokia.com",
        "time": "Tue Sep 09 11:20:35 2008 +0300"
      },
      "committer": {
        "name": "Artem Bityutskiy",
        "email": "Artem.Bityutskiy@nokia.com",
        "time": "Tue Sep 30 11:12:58 2008 +0300"
      },
      "message": "UBIFS: update dbg_dump_inode\n\n\u0027dbg_dump_inode()\u0027 is quite outdated and does not print all\nthe fileds.\n\nSigned-off-by: Artem Bityutskiy \u003cArtem.Bityutskiy@nokia.com\u003e\n"
    },
    {
      "commit": "be61678b1d97c9b47bb839beb3c3f48da36af072",
      "tree": "e251482f3d20e0006142618b6e4c38330e0b265c",
      "parents": [
        "ba60ecabf067c8ecbde47af4d99b74ee57234d8e"
      ],
      "author": {
        "name": "Artem Bityutskiy",
        "email": "Artem.Bityutskiy@nokia.com",
        "time": "Mon Sep 08 18:08:39 2008 +0300"
      },
      "committer": {
        "name": "Artem Bityutskiy",
        "email": "Artem.Bityutskiy@nokia.com",
        "time": "Tue Sep 30 11:12:58 2008 +0300"
      },
      "message": "UBIFS: fix commentary\n\nZnode may refer both data nodes and indexing nodes\n\nSigned-off-by: Artem Bityutskiy \u003cArtem.Bityutskiy@nokia.com\u003e\n"
    },
    {
      "commit": "ba60ecabf067c8ecbde47af4d99b74ee57234d8e",
      "tree": "f5dcd47beb1a9b0899768e932bacfc8496902d81",
      "parents": [
        "ed382d5898ccfc3d7ba775be2f1596f6a1547935"
      ],
      "author": {
        "name": "Artem Bityutskiy",
        "email": "Artem.Bityutskiy@nokia.com",
        "time": "Mon Sep 08 16:38:01 2008 +0300"
      },
      "committer": {
        "name": "Artem Bityutskiy",
        "email": "Artem.Bityutskiy@nokia.com",
        "time": "Tue Sep 30 11:12:58 2008 +0300"
      },
      "message": "UBIFS: fix races in bit-fields\n\nWe cannot store bit-fields together if the processes which\nchange them may race, unless we serialize them.\n\nThus, move the nospc and nospc_rp bit-fields eway from\nthe mount option/constant bit-fields, to avoid races.\n\nSigned-off-by: Artem Bityutskiy \u003cArtem.Bityutskiy@nokia.com\u003e\n"
    },
    {
      "commit": "ed382d5898ccfc3d7ba775be2f1596f6a1547935",
      "tree": "20738a804f51086e94f6c76c689b929582b7c415",
      "parents": [
        "2094c334fdebbcceddf21f97cb16b144707af56e"
      ],
      "author": {
        "name": "Adrian Hunter",
        "email": "ext-adrian.hunter@nokia.com",
        "time": "Fri Sep 05 16:17:42 2008 +0300"
      },
      "committer": {
        "name": "Artem Bityutskiy",
        "email": "Artem.Bityutskiy@nokia.com",
        "time": "Tue Sep 30 11:12:57 2008 +0300"
      },
      "message": "UBIFS: ensure data read beyond i_size is zeroed out correctly\n\nSigned-off-by: Adrian Hunter \u003cext-adrian.hunter@nokia.com\u003e\n"
    },
    {
      "commit": "2094c334fdebbcceddf21f97cb16b144707af56e",
      "tree": "ee73b39f13056dd4f920b7512e24ae5833c3c17e",
      "parents": [
        "625bf371c1522764fc1cf2981b041c5f9a19e894"
      ],
      "author": {
        "name": "Adrian Hunter",
        "email": "ext-adrian.hunter@nokia.com",
        "time": "Fri Sep 05 15:20:04 2008 +0300"
      },
      "committer": {
        "name": "Artem Bityutskiy",
        "email": "Artem.Bityutskiy@nokia.com",
        "time": "Tue Sep 30 11:12:57 2008 +0300"
      },
      "message": "UBIFS: correct key comparison\n\nThe comparison was working, but more by accident than design.\n\nSigned-off-by: Adrian Hunter \u003cext-adrian.hunter@nokia.com\u003e\n"
    },
    {
      "commit": "625bf371c1522764fc1cf2981b041c5f9a19e894",
      "tree": "9a3530c1e71a612c510b7072ecffd31628fe60a6",
      "parents": [
        "ccb3eba72453a3b5aa37dda02e3a690449e3d229"
      ],
      "author": {
        "name": "Artem Bityutskiy",
        "email": "Artem.Bityutskiy@nokia.com",
        "time": "Mon Sep 08 16:13:38 2008 +0300"
      },
      "committer": {
        "name": "Artem Bityutskiy",
        "email": "Artem.Bityutskiy@nokia.com",
        "time": "Tue Sep 30 11:12:57 2008 +0300"
      },
      "message": "UBIFS: use bit-fields when possible\n\nThe \"bulk_read\" and \"no_chk_data_crc\" have only 2 values -\n0 and 1. We already have bit-fields in corresponding data\nstructers, so make \"bulk_read\" and \"no_chk_data_crc\"\nbit-fields as well.\n\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": "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": "a70948b564e9f6cb81115c606d46f5b74a77b7c2",
      "tree": "e1a75ccf9580746d22409430b346436fd148dab7",
      "parents": [
        "746103aca2ae2b044e32a6ab06a6536652124c99"
      ],
      "author": {
        "name": "Julien Brunel",
        "email": "brunel@diku.dk",
        "time": "Fri Aug 29 11:08:32 2008 +0200"
      },
      "committer": {
        "name": "Artem Bityutskiy",
        "email": "Artem.Bityutskiy@nokia.com",
        "time": "Tue Sep 30 11:12:56 2008 +0300"
      },
      "message": "UBIFS: use an IS_ERR test rather than a NULL test\n\nIn case of error, the function kthread_create returns an ERR pointer,\nbut never returns a NULL pointer. So a NULL test that comes before an\nIS_ERR test should be deleted.\n\nThe semantic match that finds this problem is as follows:\n(http://www.emn.fr/x-info/coccinelle/)\n\n// \u003csmpl\u003e\n@match_bad_null_test@\nexpression x, E;\nstatement S1,S2;\n@@\nx \u003d kthread_create(...)\n... when !\u003d x \u003d E\n* if (x \u003d\u003d NULL)\nS1 else S2\n// \u003c/smpl\u003e\n\nSigned-off-by: Julien Brunel \u003cbrunel@diku.dk\u003e\nSigned-off-by: Julia Lawall \u003cjulia@diku.dk\u003e\nSigned-off-by: Artem Bityutskiy \u003cArtem.Bityutskiy@nokia.com\u003e\n"
    },
    {
      "commit": "746103aca2ae2b044e32a6ab06a6536652124c99",
      "tree": "d667b2efc613ccc6349e9b034b965eb645810997",
      "parents": [
        "8d47aef43ba166bdd11d522307c61ab23aab61c3"
      ],
      "author": {
        "name": "Artem Bityutskiy",
        "email": "Artem.Bityutskiy@nokia.com",
        "time": "Wed Aug 27 12:50:57 2008 +0300"
      },
      "committer": {
        "name": "Artem Bityutskiy",
        "email": "Artem.Bityutskiy@nokia.com",
        "time": "Tue Sep 30 11:12:56 2008 +0300"
      },
      "message": "UBIFS: inline one-line functions\n\n\u0027ubifs_get_lprops()\u0027 and \u0027ubifs_release_lprops()\u0027 basically wrap\nmutex lock and unlock. We have them because we want lprops subsystem\nbe separate and as independent as possible. And we planned better\nlocking rules for lprops.\n\nAnyway, because they are short, it is better to inline them.\n\nSigned-off-by: Artem Bityutskiy \u003cArtem.Bityutskiy@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": "948cfb219bbbc3c8e1b10a671ca88219fa42a052",
      "tree": "ffe2196bfeea90616c9dab8061132868a59f94ed",
      "parents": [
        "94aca1dac6f6d21f4b07e4864baf7768cabcc6e7"
      ],
      "author": {
        "name": "Artem Bityutskiy",
        "email": "Artem.Bityutskiy@nokia.com",
        "time": "Wed Aug 20 11:56:33 2008 +0300"
      },
      "committer": {
        "name": "Artem Bityutskiy",
        "email": "Artem.Bityutskiy@nokia.com",
        "time": "Tue Sep 30 11:12:55 2008 +0300"
      },
      "message": "UBIFS: add a print, fix comments and more minor stuff\n\nThis commit adds a reserved pool size print and tweaks the\nprints to make them look nicer.\n\nIt also fixes and cleans-up some comments.\n\nAdditionally, it deletes some blank lines to make the code look\na little nicer.\n\nIn other words, nothing essential.\n\nSigned-off-by: Artem Bityutskiy \u003cArtem.Bityutskiy@nokia.com\u003e\n"
    },
    {
      "commit": "7424bac82ff3bd956ea04101550e01bdae17284d",
      "tree": "a9f5e3aacc822ad1bdb9fcb84193b44e1df147d3",
      "parents": [
        "6e14968c869cd30e236bb626dd0c16421d2a658d"
      ],
      "author": {
        "name": "Alexander Beregalov",
        "email": "a.beregalov@gmail.com",
        "time": "Wed Sep 17 22:09:41 2008 +0400"
      },
      "committer": {
        "name": "Artem Bityutskiy",
        "email": "Artem.Bityutskiy@nokia.com",
        "time": "Thu Sep 18 09:57:57 2008 +0300"
      },
      "message": "UBIFS: fix printk format warnings\n\nfs/ubifs/dir.c:428: warning: format \u0027%llu\u0027 expects type \u0027long long\nunsigned int\u0027, but argument 5 has type \u0027long unsigned int\u0027\n\nfs/ubifs/debug.c:541: warning: format \u0027%llu\u0027 expects type \u0027long long\nunsigned int\u0027, but argument 2 has type \u0027long unsigned int\u0027\n\nSigned-off-by: Alexander Beregalov \u003ca.beregalov@gmail.com\u003e\nSigned-off-by: Artem Bityutskiy \u003cArtem.Bityutskiy@nokia.com\u003e\n"
    },
    {
      "commit": "6e14968c869cd30e236bb626dd0c16421d2a658d",
      "tree": "cda074861f6c0a7d8c67a07bb8da2f9fff874566",
      "parents": [
        "6dcfac4f13d6b32fbaa60b64a23249999e66af8e"
      ],
      "author": {
        "name": "Adrian Hunter",
        "email": "ext-adrian.hunter@nokia.com",
        "time": "Wed Sep 17 10:52:07 2008 +0300"
      },
      "committer": {
        "name": "Artem Bityutskiy",
        "email": "Artem.Bityutskiy@nokia.com",
        "time": "Wed Sep 17 14:47:09 2008 +0300"
      },
      "message": "UBIFS: remove incorrect assert\n\nThe assert was not valid because one of the variables\n\u0027taken_empty_lebs\u0027 has transient values out of sync\nwith the other variables.\n\nSigned-off-by: Adrian Hunter \u003cext-adrian.hunter@nokia.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": "0855f310dff76ae42c5aac32f600f8f692bbd23f",
      "tree": "7efaea009e4b91b897ee7d2f1849bbf6acc44bb9",
      "parents": [
        "adee14b2e1557d0a8559f29681732d05a89dfc35"
      ],
      "author": {
        "name": "Sebastian Siewior",
        "email": "bigeasy@linutronix.de",
        "time": "Tue Sep 09 11:17:29 2008 +0200"
      },
      "committer": {
        "name": "Artem Bityutskiy",
        "email": "Artem.Bityutskiy@nokia.com",
        "time": "Wed Sep 17 10:07:56 2008 +0300"
      },
      "message": "UBIFS: create the name of the background thread in every case\n\nIf the ubifs partition is mounted RO and then remounted RW we end\nup with no thread name in ubifs_remount_rw() and the thread appears\nnameless.\n\nSigned-off-by: Sebastian Siewior \u003cbigeasy@linutronix.de\u003e\nSigned-off-by: Artem Bityutskiy \u003cArtem.Bityutskiy@nokia.com\u003e\n"
    },
    {
      "commit": "a5cb562d6977d9d7989c346b7b153cef31ec0228",
      "tree": "c2e20c7eb8d83bafd29a335bdd132959b74c114f",
      "parents": [
        "f171d4d769c8ccac6675892960e37f6485837fae"
      ],
      "author": {
        "name": "Artem Bityutskiy",
        "email": "Artem.Bityutskiy@nokia.com",
        "time": "Wed Sep 03 18:26:47 2008 +0300"
      },
      "committer": {
        "name": "Artem Bityutskiy",
        "email": "Artem.Bityutskiy@nokia.com",
        "time": "Fri Sep 05 20:02:35 2008 +0300"
      },
      "message": "UBIFS: make minimum fanout 3\n\nUBIFS does not really work correctly when fanout is 2,\nbecause of the way we manage the indexing tree. It may\njust become a list and UBIFS screws up.\n\nSigned-off-by: Artem Bityutskiy \u003cArtem.Bityutskiy@nokia.com\u003e\n"
    },
    {
      "commit": "f171d4d769c8ccac6675892960e37f6485837fae",
      "tree": "60236e7749d9e9e8bd7a383214fba6aaaa6dcb2d",
      "parents": [
        "7c7cbadf7341a0792879c67d6e3020f040d6cd7f"
      ],
      "author": {
        "name": "Artem Bityutskiy",
        "email": "Artem.Bityutskiy@nokia.com",
        "time": "Wed Sep 03 16:17:14 2008 +0300"
      },
      "committer": {
        "name": "Artem Bityutskiy",
        "email": "Artem.Bityutskiy@nokia.com",
        "time": "Fri Sep 05 20:01:59 2008 +0300"
      },
      "message": "UBIFS: fix division by zero\n\nIf fanout is 3, we have division by zero in\n\u0027ubifs_read_superblock()\u0027:\n\ndivide error: 0000 [#1] PREEMPT SMP\n\nPid: 28744, comm: mount Not tainted (2.6.27-rc4-ubifs-2.6 #23)\nEIP: 0060:[\u003cf8f9e3ef\u003e] EFLAGS: 00010202 CPU: 0\nEIP is at ubifs_reported_space+0x2d/0x69 [ubifs]\nEAX: 00000000 EBX: 00000000 ECX: 00000000 EDX: 00000000\nESI: 00000000 EDI: f0ae64b0 EBP: f1f9fcf4 ESP: f1f9fce0\n DS: 007b ES: 007b FS: 00d8 GS: 0033 SS: 0068\n\nSigned-off-by: Artem Bityutskiy \u003cArtem.Bityutskiy@nokia.com\u003e\n"
    },
    {
      "commit": "7c7cbadf7341a0792879c67d6e3020f040d6cd7f",
      "tree": "845a25a3bcf44f8ce5331d4b03758c9538dde92f",
      "parents": [
        "b3385c278d3c32aec68d4900b35bc07df1b2240c"
      ],
      "author": {
        "name": "Artem Bityutskiy",
        "email": "Artem.Bityutskiy@nokia.com",
        "time": "Wed Sep 03 14:16:42 2008 +0300"
      },
      "committer": {
        "name": "Artem Bityutskiy",
        "email": "Artem.Bityutskiy@nokia.com",
        "time": "Wed Sep 03 14:56:22 2008 +0300"
      },
      "message": "UBIFS: amend f_fsid\n\nDavid Woodhouse suggested to be consistent with other FSes\nand xor the beginning and the end of the UUID.\n\nSigned-off-by: Artem Bityutskiy \u003cArtem.Bityutskiy@nokia.com\u003e\n"
    },
    {
      "commit": "b3385c278d3c32aec68d4900b35bc07df1b2240c",
      "tree": "b13f63c22d399b4cb146b7fed3c9dfc6c316a838",
      "parents": [
        "7dad181bbe58b8fe9e170da28bcd5f6ec9addd6d"
      ],
      "author": {
        "name": "Artem Bityutskiy",
        "email": "Artem.Bityutskiy@nokia.com",
        "time": "Sun Aug 31 17:13:18 2008 +0300"
      },
      "committer": {
        "name": "Artem Bityutskiy",
        "email": "Artem.Bityutskiy@nokia.com",
        "time": "Sun Aug 31 17:22:11 2008 +0300"
      },
      "message": "UBIFS: fill f_fsid\n\nUBIFS stores 16-bit UUID in the superblock, and it is a good\nidea to return part of it in \u0027f_fsid\u0027 filed of kstatfs structure.\n\nSigned-off-by: Artem Bityutskiy \u003cArtem.Bityutskiy@nokia.com\u003e\n"
    },
    {
      "commit": "7dad181bbe58b8fe9e170da28bcd5f6ec9addd6d",
      "tree": "fd15bc2beeb1162e1c6315f590d82758d65af39c",
      "parents": [
        "9bbb5726efb64e2cfed42f6eec07db80cd87e63b"
      ],
      "author": {
        "name": "Artem Bityutskiy",
        "email": "Artem.Bityutskiy@nokia.com",
        "time": "Mon Aug 25 18:58:19 2008 +0300"
      },
      "committer": {
        "name": "Artem Bityutskiy",
        "email": "Artem.Bityutskiy@nokia.com",
        "time": "Sun Aug 31 17:21:51 2008 +0300"
      },
      "message": "UBIFS: improve statfs reporting even more\n\nSince free space we report in statfs is file size which should\nfit to the FS - change the way we calculate free space and use\nleb_overhead instead of dark_wm in calculations.\n\nResults of \"freespace\" test (120MiB volume, 16KiB LEB size,\n512 bytes page size). Before the change:\n\nfreespace: Test 1: fill the space we have 3 times\nfreespace: was free: 85204992 bytes 81.3 MiB, wrote: 96489472 bytes 92.0 MiB, delta: 11284480 bytes 10.8 MiB, wrote 13.2% more than predicted\nfreespace: was free: 83554304 bytes 79.7 MiB, wrote: 96489472 bytes 92.0 MiB, delta: 12935168 bytes 12.3 MiB, wrote 15.5% more than predicted\nfreespace: was free: 83554304 bytes 79.7 MiB, wrote: 96493568 bytes 92.0 MiB, delta: 12939264 bytes 12.3 MiB, wrote 15.5% more than predicted\nfreespace: Test 1 finished\n\nfreespace: Test 2: gradually lessen amount of free space and fill the FS\nfreespace: do 10 steps, lessen free space by 7596218 bytes 7.2 MiB each time\nfreespace: was free: 78675968 bytes 75.0 MiB, wrote: 88903680 bytes 84.8 MiB, delta: 10227712 bytes 9.8 MiB, wrote 13.0% more than predicted\nfreespace: was free: 72015872 bytes 68.7 MiB, wrote: 81514496 bytes 77.7 MiB, delta: 9498624 bytes 9.1 MiB, wrote 13.2% more than predicted\nfreespace: was free: 63938560 bytes 61.0 MiB, wrote: 72589312 bytes 69.2 MiB, delta: 8650752 bytes 8.2 MiB, wrote 13.5% more than predicted\nfreespace: was free: 56127488 bytes 53.5 MiB, wrote: 63762432 bytes 60.8 MiB, delta: 7634944 bytes 7.3 MiB, wrote 13.6% more than predicted\nfreespace: was free: 48336896 bytes 46.1 MiB, wrote: 54935552 bytes 52.4 MiB, delta: 6598656 bytes 6.3 MiB, wrote 13.7% more than predicted\nfreespace: was free: 40587264 bytes 38.7 MiB, wrote: 46157824 bytes 44.0 MiB, delta: 5570560 bytes 5.3 MiB, wrote 13.7% more than predicted\nfreespace: was free: 32841728 bytes 31.3 MiB, wrote: 37384192 bytes 35.7 MiB, delta: 4542464 bytes 4.3 MiB, wrote 13.8% more than predicted\nfreespace: was free: 25100288 bytes 23.9 MiB, wrote: 28618752 bytes 27.3 MiB, delta: 3518464 bytes 3.4 MiB, wrote 14.0% more than predicted\nfreespace: was free: 17342464 bytes 16.5 MiB, wrote: 19841024 bytes 18.9 MiB, delta: 2498560 bytes 2.4 MiB, wrote 14.4% more than predicted\nfreespace: was free: 9605120 bytes 9.2 MiB, wrote: 11063296 bytes 10.6 MiB, delta: 1458176 bytes 1.4 MiB, wrote 15.2% more than predicted\nfreespace: Test 2 finished\n\nfreespace: Test 3: gradually lessen amount of free space by trashing and fill the FS\nfreespace: do 10 steps, lessen free space by 7606272 bytes 7.3 MiB each time\nfreespace: trashing: was free: 83668992 bytes 79.8 MiB, need free: 7606272 bytes 7.3 MiB, files created: 248297, delete 225724 (90.9% of them)\nfreespace: was free: 70803456 bytes 67.5 MiB, wrote: 82485248 bytes 78.7 MiB, delta: 11681792 bytes 11.1 MiB, wrote 16.5% more than predicted\nfreespace: trashing: was free: 81080320 bytes 77.3 MiB, need free: 15212544 bytes 14.5 MiB, files created: 248711, delete 202047 (81.2% of them)\nfreespace: was free: 59867136 bytes 57.1 MiB, wrote: 71897088 bytes 68.6 MiB, delta: 12029952 bytes 11.5 MiB, wrote 20.1% more than predicted\nfreespace: trashing: was free: 82243584 bytes 78.4 MiB, need free: 22818816 bytes 21.8 MiB, files created: 248866, delete 179817 (72.3% of them)\nfreespace: was free: 50905088 bytes 48.5 MiB, wrote: 63168512 bytes 60.2 MiB, delta: 12263424 bytes 11.7 MiB, wrote 24.1% more than predicted\nfreespace: trashing: was free: 83402752 bytes 79.5 MiB, need free: 30425088 bytes 29.0 MiB, files created: 248920, delete 158114 (63.5% of them)\nfreespace: was free: 42651648 bytes 40.7 MiB, wrote: 55406592 bytes 52.8 MiB, delta: 12754944 bytes 12.2 MiB, wrote 29.9% more than predicted\nfreespace: trashing: was free: 84402176 bytes 80.5 MiB, need free: 38031360 bytes 36.3 MiB, files created: 248709, delete 136641 (54.9% of them)\nfreespace: was free: 35233792 bytes 33.6 MiB, wrote: 48250880 bytes 46.0 MiB, delta: 13017088 bytes 12.4 MiB, wrote 36.9% more than predicted\nfreespace: trashing: was free: 82530304 bytes 78.7 MiB, need free: 45637632 bytes 43.5 MiB, files created: 248778, delete 111208 (44.7% of them)\nfreespace: was free: 27287552 bytes 26.0 MiB, wrote: 40267776 bytes 38.4 MiB, delta: 12980224 bytes 12.4 MiB, wrote 47.6% more than predicted\nfreespace: trashing: was free: 85114880 bytes 81.2 MiB, need free: 53243904 bytes 50.8 MiB, files created: 248508, delete 93052 (37.4% of them)\nfreespace: was free: 22437888 bytes 21.4 MiB, wrote: 35328000 bytes 33.7 MiB, delta: 12890112 bytes 12.3 MiB, wrote 57.4% more than predicted\nfreespace: trashing: was free: 84103168 bytes 80.2 MiB, need free: 60850176 bytes 58.0 MiB, files created: 248637, delete 68743 (27.6% of them)\nfreespace: was free: 15536128 bytes 14.8 MiB, wrote: 28319744 bytes 27.0 MiB, delta: 12783616 bytes 12.2 MiB, wrote 82.3% more than predicted\nfreespace: trashing: was free: 84357120 bytes 80.4 MiB, need free: 68456448 bytes 65.3 MiB, files created: 248567, delete 46852 (18.8% of them)\nfreespace: was free: 9015296 bytes 8.6 MiB, wrote: 22044672 bytes 21.0 MiB, delta: 13029376 bytes 12.4 MiB, wrote 144.5% more than predicted\nfreespace: trashing: was free: 84942848 bytes 81.0 MiB, need free: 76062720 bytes 72.5 MiB, files created: 248636, delete 25993 (10.5% of them)\nfreespace: was free: 6086656 bytes 5.8 MiB, wrote: 8331264 bytes 7.9 MiB, delta: 2244608 bytes 2.1 MiB, wrote 36.9% more than predicted\nfreespace: Test 3 finished\n\nfreespace: finished successfully\n\nAfter the change:\n\nfreespace: Test 1: fill the space we have 3 times\nfreespace: was free: 94048256 bytes 89.7 MiB, wrote: 96489472 bytes 92.0 MiB, delta: 2441216 bytes 2.3 MiB, wrote 2.6% more than predicted\nfreespace: was free: 92246016 bytes 88.0 MiB, wrote: 96493568 bytes 92.0 MiB, delta: 4247552 bytes 4.1 MiB, wrote 4.6% more than predicted\nfreespace: was free: 92254208 bytes 88.0 MiB, wrote: 96489472 bytes 92.0 MiB, delta: 4235264 bytes 4.0 MiB, wrote 4.6% more than predicted\nfreespace: Test 1 finished\n\nfreespace: Test 2: gradually lessen amount of free space and fill the FS\nfreespace: do 10 steps, lessen free space by 8386001 bytes 8.0 MiB each time\nfreespace: was free: 86605824 bytes 82.6 MiB, wrote: 88252416 bytes 84.2 MiB, delta: 1646592 bytes 1.6 MiB, wrote 1.9% more than predicted\nfreespace: was free: 78667776 bytes 75.0 MiB, wrote: 80715776 bytes 77.0 MiB, delta: 2048000 bytes 2.0 MiB, wrote 2.6% more than predicted\nfreespace: was free: 69615616 bytes 66.4 MiB, wrote: 71630848 bytes 68.3 MiB, delta: 2015232 bytes 1.9 MiB, wrote 2.9% more than predicted\nfreespace: was free: 61018112 bytes 58.2 MiB, wrote: 62783488 bytes 59.9 MiB, delta: 1765376 bytes 1.7 MiB, wrote 2.9% more than predicted\nfreespace: was free: 52424704 bytes 50.0 MiB, wrote: 53968896 bytes 51.5 MiB, delta: 1544192 bytes 1.5 MiB, wrote 2.9% more than predicted\nfreespace: was free: 43880448 bytes 41.8 MiB, wrote: 45199360 bytes 43.1 MiB, delta: 1318912 bytes 1.3 MiB, wrote 3.0% more than predicted\nfreespace: was free: 35332096 bytes 33.7 MiB, wrote: 36425728 bytes 34.7 MiB, delta: 1093632 bytes 1.0 MiB, wrote 3.1% more than predicted\nfreespace: was free: 26771456 bytes 25.5 MiB, wrote: 27643904 bytes 26.4 MiB, delta: 872448 bytes 852.0 KiB, wrote 3.3% more than predicted\nfreespace: was free: 18231296 bytes 17.4 MiB, wrote: 18878464 bytes 18.0 MiB, delta: 647168 bytes 632.0 KiB, wrote 3.5% more than predicted\nfreespace: was free: 9674752 bytes 9.2 MiB, wrote: 10088448 bytes 9.6 MiB, delta: 413696 bytes 404.0 KiB, wrote 4.3% more than predicted\nfreespace: Test 2 finished\n\nfreespace: Test 3: gradually lessen amount of free space by trashing and fill the FS\nfreespace: do 10 steps, lessen free space by 8397544 bytes 8.0 MiB each time\nfreespace: trashing: was free: 92372992 bytes 88.1 MiB, need free: 8397552 bytes 8.0 MiB, files created: 248296, delete 225723 (90.9% of them)\nfreespace: was free: 71909376 bytes 68.6 MiB, wrote: 82472960 bytes 78.7 MiB, delta: 10563584 bytes 10.1 MiB, wrote 14.7% more than predicted\nfreespace: trashing: was free: 88989696 bytes 84.9 MiB, need free: 16795096 bytes 16.0 MiB, files created: 248794, delete 201838 (81.1% of them)\nfreespace: was free: 60354560 bytes 57.6 MiB, wrote: 71782400 bytes 68.5 MiB, delta: 11427840 bytes 10.9 MiB, wrote 18.9% more than predicted\nfreespace: trashing: was free: 90304512 bytes 86.1 MiB, need free: 25192640 bytes 24.0 MiB, files created: 248733, delete 179342 (72.1% of them)\nfreespace: was free: 51187712 bytes 48.8 MiB, wrote: 62943232 bytes 60.0 MiB, delta: 11755520 bytes 11.2 MiB, wrote 23.0% more than predicted\nfreespace: trashing: was free: 91209728 bytes 87.0 MiB, need free: 33590184 bytes 32.0 MiB, files created: 248779, delete 157160 (63.2% of them)\nfreespace: was free: 42704896 bytes 40.7 MiB, wrote: 55050240 bytes 52.5 MiB, delta: 12345344 bytes 11.8 MiB, wrote 28.9% more than predicted\nfreespace: trashing: was free: 92700672 bytes 88.4 MiB, need free: 41987728 bytes 40.0 MiB, files created: 248848, delete 136135 (54.7% of them)\nfreespace: was free: 35250176 bytes 33.6 MiB, wrote: 48115712 bytes 45.9 MiB, delta: 12865536 bytes 12.3 MiB, wrote 36.5% more than predicted\nfreespace: trashing: was free: 93986816 bytes 89.6 MiB, need free: 50385272 bytes 48.1 MiB, files created: 248723, delete 115385 (46.4% of them)\nfreespace: was free: 29995008 bytes 28.6 MiB, wrote: 41582592 bytes 39.7 MiB, delta: 11587584 bytes 11.1 MiB, wrote 38.6% more than predicted\nfreespace: trashing: was free: 91881472 bytes 87.6 MiB, need free: 58782816 bytes 56.1 MiB, files created: 248645, delete 89569 (36.0% of them)\nfreespace: was free: 22511616 bytes 21.5 MiB, wrote: 34705408 bytes 33.1 MiB, delta: 12193792 bytes 11.6 MiB, wrote 54.2% more than predicted\nfreespace: trashing: was free: 91774976 bytes 87.5 MiB, need free: 67180360 bytes 64.1 MiB, files created: 248580, delete 66616 (26.8% of them)\nfreespace: was free: 16908288 bytes 16.1 MiB, wrote: 26898432 bytes 25.7 MiB, delta: 9990144 bytes 9.5 MiB, wrote 59.1% more than predicted\nfreespace: trashing: was free: 92450816 bytes 88.2 MiB, need free: 75577904 bytes 72.1 MiB, files created: 248654, delete 45381 (18.3% of them)\nfreespace: was free: 10170368 bytes 9.7 MiB, wrote: 19111936 bytes 18.2 MiB, delta: 8941568 bytes 8.5 MiB, wrote 87.9% more than predicted\nfreespace: trashing: was free: 93282304 bytes 89.0 MiB, need free: 83975448 bytes 80.1 MiB, files created: 248513, delete 24794 (10.0% of them)\nfreespace: was free: 3911680 bytes 3.7 MiB, wrote: 7872512 bytes 7.5 MiB, delta: 3960832 bytes 3.8 MiB, wrote 101.3% more than predicted\nfreespace: Test 3 finished\n\nfreespace: finished successfully\n\nSigned-off-by: Artem Bityutskiy \u003cArtem.Bityutskiy@nokia.com\u003e\n"
    },
    {
      "commit": "9bbb5726efb64e2cfed42f6eec07db80cd87e63b",
      "tree": "e7c0a28fff531ef34bb35448479e6bbcaeffe1f9",
      "parents": [
        "131130b9a1e6e523c64b34137b14f88ae1382a6a"
      ],
      "author": {
        "name": "Artem Bityutskiy",
        "email": "Artem.Bityutskiy@nokia.com",
        "time": "Fri Aug 22 18:23:22 2008 +0300"
      },
      "committer": {
        "name": "Artem Bityutskiy",
        "email": "Artem.Bityutskiy@nokia.com",
        "time": "Sun Aug 31 17:21:40 2008 +0300"
      },
      "message": "UBIFS: introduce LEB overhead\n\nThis is a preparational patch for the following statfs()\nreport fix.\n\nSigned-off-by: Artem Bityutskiy \u003cArtem.Bityutskiy@nokia.com\u003e\n"
    },
    {
      "commit": "131130b9a1e6e523c64b34137b14f88ae1382a6a",
      "tree": "22d96db5b23f229c037eebfe85aa9c68cb74ecc0",
      "parents": [
        "ad507653a39e0d27404291e5d813683265388a20"
      ],
      "author": {
        "name": "Artem Bityutskiy",
        "email": "Artem.Bityutskiy@nokia.com",
        "time": "Mon Aug 25 18:34:45 2008 +0300"
      },
      "committer": {
        "name": "Artem Bityutskiy",
        "email": "Artem.Bityutskiy@nokia.com",
        "time": "Sun Aug 31 17:21:31 2008 +0300"
      },
      "message": "UBIFS: add forgotten gc_idx_lebs component\n\nWe add this component at other similar places, but not in this\none.\n\nSigned-off-by: Artem Bityutskiy \u003cArtem.Bityutskiy@nokia.com\u003e\n"
    },
    {
      "commit": "ad507653a39e0d27404291e5d813683265388a20",
      "tree": "947cfad487ccb8f3c8ccae065a1fcee9ba7cdab7",
      "parents": [
        "4b5f2762ec914c9dfd0e9d2377c0574f2ee9a8f9"
      ],
      "author": {
        "name": "Artem Bityutskiy",
        "email": "Artem.Bityutskiy@nokia.com",
        "time": "Mon Aug 25 18:32:57 2008 +0300"
      },
      "committer": {
        "name": "Artem Bityutskiy",
        "email": "Artem.Bityutskiy@nokia.com",
        "time": "Sun Aug 31 17:21:22 2008 +0300"
      },
      "message": "UBIFS: fix assertion\n\nThe assertion was incorrect, because it did not take into\naccount free space.\n\nThis patch also amends the comments correspondingly, and\ncleans them up a little.\n\nSigned-off-by: Artem Bityutskiy \u003cArtem.Bityutskiy@nokia.com\u003e\n"
    },
    {
      "commit": "4b5f2762ec914c9dfd0e9d2377c0574f2ee9a8f9",
      "tree": "e24294a283239682fcee794851a581335fbf50d0",
      "parents": [
        "8aabb75017291ba68c09ff5fdb998ef0a1fdaaf9"
      ],
      "author": {
        "name": "Artem Bityutskiy",
        "email": "Artem.Bityutskiy@nokia.com",
        "time": "Mon Aug 25 16:15:56 2008 +0300"
      },
      "committer": {
        "name": "Artem Bityutskiy",
        "email": "Artem.Bityutskiy@nokia.com",
        "time": "Sun Aug 31 17:20:26 2008 +0300"
      },
      "message": "UBIFS: improve statfs reporting\n\nMake free space calculation less pessimistic and more realistic,\nwhich in turn improves \u0027statfs()\u0027 reports. Now it lies by 10%-20%,\ninstead of 20%-30% (10% more honest).\n\nResults of \"freespace\" test (120MiB volume, 16KiB LEB size,\n512 bytes page size). Before the change:\n\nfreespace: Test 1: fill the space we have 3 times\nfreespace: was free: 78274560 bytes 74.6 MiB, wrote: 96489472 bytes 92.0 MiB, delta: 18214912 bytes 17.4 MiB, wrote 23.3% more than predicted\nfreespace: was free: 76754944 bytes 73.2 MiB, wrote: 96493568 bytes 92.0 MiB, delta: 19738624 bytes 18.8 MiB, wrote 25.7% more than predicted\nfreespace: was free: 76759040 bytes 73.2 MiB, wrote: 96489472 bytes 92.0 MiB, delta: 19730432 bytes 18.8 MiB, wrote 25.7% more than predicted\nfreespace: Test 1 finished\n\nfreespace: Test 2: gradually lessen amount of free space and fill the FS\nfreespace: do 10 steps, lessen free space by 6977722 bytes 6.7 MiB each time\nfreespace: was free: 72273920 bytes 68.9 MiB, wrote: 88891392 bytes 84.8 MiB, delta: 16617472 bytes 15.8 MiB, wrote 23.0% more than predicted\nfreespace: was free: 66154496 bytes 63.1 MiB, wrote: 81506304 bytes 77.7 MiB, delta: 15351808 bytes 14.6 MiB, wrote 23.2% more than predicted\nfreespace: was free: 58732544 bytes 56.0 MiB, wrote: 72572928 bytes 69.2 MiB, delta: 13840384 bytes 13.2 MiB, wrote 23.6% more than predicted\nfreespace: was free: 51552256 bytes 49.2 MiB, wrote: 63754240 bytes 60.8 MiB, delta: 12201984 bytes 11.6 MiB, wrote 23.7% more than predicted\nfreespace: was free: 44404736 bytes 42.3 MiB, wrote: 54943744 bytes 52.4 MiB, delta: 10539008 bytes 10.1 MiB, wrote 23.7% more than predicted\nfreespace: was free: 37285888 bytes 35.6 MiB, wrote: 46161920 bytes 44.0 MiB, delta: 8876032 bytes 8.5 MiB, wrote 23.8% more than predicted\nfreespace: was free: 30171136 bytes 28.8 MiB, wrote: 37384192 bytes 35.7 MiB, delta: 7213056 bytes 6.9 MiB, wrote 23.9% more than predicted\nfreespace: was free: 23048192 bytes 22.0 MiB, wrote: 28606464 bytes 27.3 MiB, delta: 5558272 bytes 5.3 MiB, wrote 24.1% more than predicted\nfreespace: was free: 15941632 bytes 15.2 MiB, wrote: 19828736 bytes 18.9 MiB, delta: 3887104 bytes 3.7 MiB, wrote 24.4% more than predicted\nfreespace: was free: 8830976 bytes 8.4 MiB, wrote: 11063296 bytes 10.6 MiB, delta: 2232320 bytes 2.1 MiB, wrote 25.3% more than predicted\nfreespace: Test 2 finished\n\nfreespace: Test 3: gradually lessen amount of free space by trashing and fill the FS\nfreespace: do 10 steps, lessen free space by 6985541 bytes 6.7 MiB each time\nfreespace: trashing: was free: 76840960 bytes 73.3 MiB, need free: 6985550 bytes 6.7 MiB, files created: 248311, delete 225737 (90.9% of them)\nfreespace: was free: 65228800 bytes 62.2 MiB, wrote: 82530304 bytes 78.7 MiB, delta: 17301504 bytes 16.5 MiB, wrote 26.5% more than predicted\nfreespace: trashing: was free: 74485760 bytes 71.0 MiB, need free: 13971091 bytes 13.3 MiB, files created: 248712, delete 202061 (81.2% of them)\nfreespace: was free: 55025664 bytes 52.5 MiB, wrote: 71925760 bytes 68.6 MiB, delta: 16900096 bytes 16.1 MiB, wrote 30.7% more than predicted\nfreespace: trashing: was free: 75550720 bytes 72.1 MiB, need free: 20956632 bytes 20.0 MiB, files created: 248849, delete 179822 (72.3% of them)\nfreespace: was free: 46669824 bytes 44.5 MiB, wrote: 63197184 bytes 60.3 MiB, delta: 16527360 bytes 15.8 MiB, wrote 35.4% more than predicted\nfreespace: trashing: was free: 76214272 bytes 72.7 MiB, need free: 27942173 bytes 26.6 MiB, files created: 248789, delete 157576 (63.3% of them)\nfreespace: was free: 39129088 bytes 37.3 MiB, wrote: 55164928 bytes 52.6 MiB, delta: 16035840 bytes 15.3 MiB, wrote 41.0% more than predicted\nfreespace: trashing: was free: 77398016 bytes 73.8 MiB, need free: 34927714 bytes 33.3 MiB, files created: 248711, delete 136474 (54.9% of them)\nfreespace: was free: 32325632 bytes 30.8 MiB, wrote: 48234496 bytes 46.0 MiB, delta: 15908864 bytes 15.2 MiB, wrote 49.2% more than predicted\nfreespace: trashing: was free: 75796480 bytes 72.3 MiB, need free: 41913255 bytes 40.0 MiB, files created: 248674, delete 111164 (44.7% of them)\nfreespace: was free: 25079808 bytes 23.9 MiB, wrote: 40775680 bytes 38.9 MiB, delta: 15695872 bytes 15.0 MiB, wrote 62.6% more than predicted\nfreespace: trashing: was free: 78209024 bytes 74.6 MiB, need free: 48898796 bytes 46.6 MiB, files created: 248708, delete 93207 (37.5% of them)\nfreespace: was free: 20582400 bytes 19.6 MiB, wrote: 34844672 bytes 33.2 MiB, delta: 14262272 bytes 13.6 MiB, wrote 69.3% more than predicted\nfreespace: trashing: was free: 77328384 bytes 73.7 MiB, need free: 55884337 bytes 53.3 MiB, files created: 248644, delete 68951 (27.7% of them)\nfreespace: was free: 14368768 bytes 13.7 MiB, wrote: 28278784 bytes 27.0 MiB, delta: 13910016 bytes 13.3 MiB, wrote 96.8% more than predicted\nfreespace: trashing: was free: 77434880 bytes 73.8 MiB, need free: 62869878 bytes 60.0 MiB, files created: 248640, delete 46767 (18.8% of them)\nfreespace: was free: 8286208 bytes 7.9 MiB, wrote: 21811200 bytes 20.8 MiB, delta: 13524992 bytes 12.9 MiB, wrote 163.2% more than predicted\nfreespace: trashing: was free: 77856768 bytes 74.2 MiB, need free: 69855419 bytes 66.6 MiB, files created: 248576, delete 25546 (10.3% of them)\nfreespace: was free: 5570560 bytes 5.3 MiB, wrote: 8187904 bytes 7.8 MiB, delta: 2617344 bytes 2.5 MiB, wrote 47.0% more than predicted\nfreespace: Test 3 finished\n\nfreespace: finished successfully\n\nAfter the change:\n\nfreespace: Test 1: fill the space we have 3 times\nfreespace: was free: 85204992 bytes 81.3 MiB, wrote: 96489472 bytes 92.0 MiB, delta: 11284480 bytes 10.8 MiB, wrote 13.2% more than predicted\nfreespace: was free: 83554304 bytes 79.7 MiB, wrote: 96489472 bytes 92.0 MiB, delta: 12935168 bytes 12.3 MiB, wrote 15.5% more than predicted\nfreespace: was free: 83554304 bytes 79.7 MiB, wrote: 96493568 bytes 92.0 MiB, delta: 12939264 bytes 12.3 MiB, wrote 15.5% more than predicted\nfreespace: Test 1 finished\n\nfreespace: Test 2: gradually lessen amount of free space and fill the FS\nfreespace: do 10 steps, lessen free space by 7596218 bytes 7.2 MiB each time\nfreespace: was free: 78675968 bytes 75.0 MiB, wrote: 88903680 bytes 84.8 MiB, delta: 10227712 bytes 9.8 MiB, wrote 13.0% more than predicted\nfreespace: was free: 72015872 bytes 68.7 MiB, wrote: 81514496 bytes 77.7 MiB, delta: 9498624 bytes 9.1 MiB, wrote 13.2% more than predicted\nfreespace: was free: 63938560 bytes 61.0 MiB, wrote: 72589312 bytes 69.2 MiB, delta: 8650752 bytes 8.2 MiB, wrote 13.5% more than predicted\nfreespace: was free: 56127488 bytes 53.5 MiB, wrote: 63762432 bytes 60.8 MiB, delta: 7634944 bytes 7.3 MiB, wrote 13.6% more than predicted\nfreespace: was free: 48336896 bytes 46.1 MiB, wrote: 54935552 bytes 52.4 MiB, delta: 6598656 bytes 6.3 MiB, wrote 13.7% more than predicted\nfreespace: was free: 40587264 bytes 38.7 MiB, wrote: 46157824 bytes 44.0 MiB, delta: 5570560 bytes 5.3 MiB, wrote 13.7% more than predicted\nfreespace: was free: 32841728 bytes 31.3 MiB, wrote: 37384192 bytes 35.7 MiB, delta: 4542464 bytes 4.3 MiB, wrote 13.8% more than predicted\nfreespace: was free: 25100288 bytes 23.9 MiB, wrote: 28618752 bytes 27.3 MiB, delta: 3518464 bytes 3.4 MiB, wrote 14.0% more than predicted\nfreespace: was free: 17342464 bytes 16.5 MiB, wrote: 19841024 bytes 18.9 MiB, delta: 2498560 bytes 2.4 MiB, wrote 14.4% more than predicted\nfreespace: was free: 9605120 bytes 9.2 MiB, wrote: 11063296 bytes 10.6 MiB, delta: 1458176 bytes 1.4 MiB, wrote 15.2% more than predicted\nfreespace: Test 2 finished\n\nfreespace: Test 3: gradually lessen amount of free space by trashing and fill the FS\nfreespace: do 10 steps, lessen free space by 7606272 bytes 7.3 MiB each time\nfreespace: trashing: was free: 83668992 bytes 79.8 MiB, need free: 7606272 bytes 7.3 MiB, files created: 248297, delete 225724 (90.9% of them)\nfreespace: was free: 70803456 bytes 67.5 MiB, wrote: 82485248 bytes 78.7 MiB, delta: 11681792 bytes 11.1 MiB, wrote 16.5% more than predicted\nfreespace: trashing: was free: 81080320 bytes 77.3 MiB, need free: 15212544 bytes 14.5 MiB, files created: 248711, delete 202047 (81.2% of them)\nfreespace: was free: 59867136 bytes 57.1 MiB, wrote: 71897088 bytes 68.6 MiB, delta: 12029952 bytes 11.5 MiB, wrote 20.1% more than predicted\nfreespace: trashing: was free: 82243584 bytes 78.4 MiB, need free: 22818816 bytes 21.8 MiB, files created: 248866, delete 179817 (72.3% of them)\nfreespace: was free: 50905088 bytes 48.5 MiB, wrote: 63168512 bytes 60.2 MiB, delta: 12263424 bytes 11.7 MiB, wrote 24.1% more than predicted\nfreespace: trashing: was free: 83402752 bytes 79.5 MiB, need free: 30425088 bytes 29.0 MiB, files created: 248920, delete 158114 (63.5% of them)\nfreespace: was free: 42651648 bytes 40.7 MiB, wrote: 55406592 bytes 52.8 MiB, delta: 12754944 bytes 12.2 MiB, wrote 29.9% more than predicted\nfreespace: trashing: was free: 84402176 bytes 80.5 MiB, need free: 38031360 bytes 36.3 MiB, files created: 248709, delete 136641 (54.9% of them)\nfreespace: was free: 35233792 bytes 33.6 MiB, wrote: 48250880 bytes 46.0 MiB, delta: 13017088 bytes 12.4 MiB, wrote 36.9% more than predicted\nfreespace: trashing: was free: 82530304 bytes 78.7 MiB, need free: 45637632 bytes 43.5 MiB, files created: 248778, delete 111208 (44.7% of them)\nfreespace: was free: 27287552 bytes 26.0 MiB, wrote: 40267776 bytes 38.4 MiB, delta: 12980224 bytes 12.4 MiB, wrote 47.6% more than predicted\nfreespace: trashing: was free: 85114880 bytes 81.2 MiB, need free: 53243904 bytes 50.8 MiB, files created: 248508, delete 93052 (37.4% of them)\nfreespace: was free: 22437888 bytes 21.4 MiB, wrote: 35328000 bytes 33.7 MiB, delta: 12890112 bytes 12.3 MiB, wrote 57.4% more than predicted\nfreespace: trashing: was free: 84103168 bytes 80.2 MiB, need free: 60850176 bytes 58.0 MiB, files created: 248637, delete 68743 (27.6% of them)\nfreespace: was free: 15536128 bytes 14.8 MiB, wrote: 28319744 bytes 27.0 MiB, delta: 12783616 bytes 12.2 MiB, wrote 82.3% more than predicted\nfreespace: trashing: was free: 84357120 bytes 80.4 MiB, need free: 68456448 bytes 65.3 MiB, files created: 248567, delete 46852 (18.8% of them)\nfreespace: was free: 9015296 bytes 8.6 MiB, wrote: 22044672 bytes 21.0 MiB, delta: 13029376 bytes 12.4 MiB, wrote 144.5% more than predicted\nfreespace: trashing: was free: 84942848 bytes 81.0 MiB, need free: 76062720 bytes 72.5 MiB, files created: 248636, delete 25993 (10.5% of them)\nfreespace: was free: 6086656 bytes 5.8 MiB, wrote: 8331264 bytes 7.9 MiB, delta: 2244608 bytes 2.1 MiB, wrote 36.9% more than predicted\nfreespace: Test 3 finished\n\nfreespace: finished successfully\n\nSigned-off-by: Artem Bityutskiy \u003cArtem.Bityutskiy@nokia.com\u003e\n"
    },
    {
      "commit": "8aabb75017291ba68c09ff5fdb998ef0a1fdaaf9",
      "tree": "a16b1f8bf707b6611f6e2a966dc35f6bc3bbe762",
      "parents": [
        "9e5de3549615818cae9c20a0ee1fd3ad4a747758"
      ],
      "author": {
        "name": "Artem Bityutskiy",
        "email": "Artem.Bityutskiy@nokia.com",
        "time": "Mon Aug 25 16:02:31 2008 +0300"
      },
      "committer": {
        "name": "Artem Bityutskiy",
        "email": "Artem.Bityutskiy@nokia.com",
        "time": "Sun Aug 31 17:16:03 2008 +0300"
      },
      "message": "UBIFS: remove incorrect index space check\n\nWhen we report free space to user-space, we should not report\n0 if the amount of empty LEBs is too low, because they would\nbe produced by GC when needed. Thus, just call\n\u0027ubifs_calc_available()\u0027 straight away which would take\n\u0027min_idx_lebs\u0027 into account anyway.\n\nSigned-off-by: Artem Bityutskiy \u003cArtem.Bityutskiy@nokia.com\u003e\n"
    },
    {
      "commit": "9e5de3549615818cae9c20a0ee1fd3ad4a747758",
      "tree": "0ac4320ec95f9b0aa4a8fb4fb09ded2d739950e6",
      "parents": [
        "8191e1fa8131a422f4bf7b0f2dc1f8543fd17783"
      ],
      "author": {
        "name": "Artem Bityutskiy",
        "email": "Artem.Bityutskiy@nokia.com",
        "time": "Mon Aug 25 17:29:43 2008 +0300"
      },
      "committer": {
        "name": "Artem Bityutskiy",
        "email": "Artem.Bityutskiy@nokia.com",
        "time": "Sun Aug 31 17:15:53 2008 +0300"
      },
      "message": "UBIFS: push empty flash hack down\n\nWe have a hack which forces the amount of flash space to be\nequivalent to \u0027c-\u003eblocks_cnt\u0027 in case of empty FS. This is\nto make users happy and see \u0027%0\u0027 used in \u0027df\u0027 when they\nmount an empty FS. This hack is not needed in\n\u0027ubifs_calc_available()\u0027, but it is only needed the caller,\nin \u0027ubifs_budg_get_free_space()\u0027. So push it down there.\n\nSigned-off-by: Artem Bityutskiy \u003cArtem.Bityutskiy@nokia.com\u003e\n"
    },
    {
      "commit": "8191e1fa8131a422f4bf7b0f2dc1f8543fd17783",
      "tree": "633b30c1a0e59c300c52a543daf9f59176e15e1a",
      "parents": [
        "601c0bc46753007be011b513ba4fc50ed8e30aef"
      ],
      "author": {
        "name": "Artem Bityutskiy",
        "email": "Artem.Bityutskiy@nokia.com",
        "time": "Fri Aug 22 12:26:40 2008 +0300"
      },
      "committer": {
        "name": "Artem Bityutskiy",
        "email": "Artem.Bityutskiy@nokia.com",
        "time": "Sun Aug 31 17:15:43 2008 +0300"
      },
      "message": "UBIFS: do not update min_idx_lebs in stafs\n\nThis is bad because the rest of the code should not depend on it,\nand this may hide bugss, instead of revealing them.\n\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": "04da11bfcf511544ae19e0a7e5f994b3237752ac",
      "tree": "8023d9cd338b2f0c7521df65df41880952310973",
      "parents": [
        "6a55617ed5d1aa62b850de2cf66f5ede2eef4825"
      ],
      "author": {
        "name": "Artem Bityutskiy",
        "email": "Artem.Bityutskiy@nokia.com",
        "time": "Wed Aug 20 17:16:34 2008 +0300"
      },
      "committer": {
        "name": "Artem Bityutskiy",
        "email": "Artem.Bityutskiy@nokia.com",
        "time": "Thu Aug 21 16:48:52 2008 +0300"
      },
      "message": "UBIFS: fix zero-length truncations\n\nAlways allow truncations to zero, even if budgeting thinks there\nis no space. UBIFS reserves some space for deletions anyway.\n\nOtherwise, the following happans:\n1. create a file, and write as much as possible there, until ENOSPC\n2. truncate the file, which fails with ENOSPC, which is not good.\n\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": "720b499c806200d06f4f22c668d46db784117089",
      "tree": "2184bc24fe2a60fb4c024e9ea447cb9d3f5dbedf",
      "parents": [
        "0a883a05c54b326bcf99c0902af28dae0386be0a"
      ],
      "author": {
        "name": "Artem Bityutskiy",
        "email": "Artem.Bityutskiy@nokia.com",
        "time": "Wed Aug 13 16:16:31 2008 +0300"
      },
      "committer": {
        "name": "Artem Bityutskiy",
        "email": "Artem.Bityutskiy@nokia.com",
        "time": "Wed Aug 13 18:59:09 2008 +0300"
      },
      "message": "UBIFS: remove unneeded check\n\nCommit d70b67c8bc72ee23b55381bd6a884f4796692f77 fixed VFS and\nit never calls FS lookup function in deleted directories now.\nWe may remove corresponding UBIFS check.\n\nSigned-off-by: Artem Bityutskiy \u003cArtem.Bityutskiy@nokia.com\u003e\n"
    },
    {
      "commit": "0a883a05c54b326bcf99c0902af28dae0386be0a",
      "tree": "991adaf14800c5163440ede4da0076e48c1d4494",
      "parents": [
        "5acd6ff8ac09eb71f3aef2ccccefab658be8aff4"
      ],
      "author": {
        "name": "Artem Bityutskiy",
        "email": "Artem.Bityutskiy@nokia.com",
        "time": "Wed Aug 13 14:13:26 2008 +0300"
      },
      "committer": {
        "name": "Artem Bityutskiy",
        "email": "Artem.Bityutskiy@nokia.com",
        "time": "Wed Aug 13 18:59:02 2008 +0300"
      },
      "message": "UBIFS: few commentary fixes\n\nSigned-off-by: Artem Bityutskiy \u003cArtem.Bityutskiy@nokia.com\u003e\n"
    },
    {
      "commit": "5acd6ff8ac09eb71f3aef2ccccefab658be8aff4",
      "tree": "595344c0e6acf40b1febc0511d1f7fa5c85e7618",
      "parents": [
        "840dc6b891d521f18bf081bd5a32e4a1f8110abc"
      ],
      "author": {
        "name": "Zoltan Sogor",
        "email": "weth@inf.u-szeged.hu",
        "time": "Tue Aug 12 13:54:54 2008 +0300"
      },
      "committer": {
        "name": "Artem Bityutskiy",
        "email": "Artem.Bityutskiy@nokia.com",
        "time": "Wed Aug 13 11:43:56 2008 +0300"
      },
      "message": "UBIFS: fix budgeting request alignment in xattr code\n\nData length has to be aligned in the budgeting request. Code\nin xattr.c did not do this.\n\nSigned-off-by: Zoltan Sogor \u003cweth@inf.u-szeged.hu\u003e\nSigned-off-by: Artem Bityutskiy \u003cArtem.Bityutskiy@nokia.com\u003e\n"
    },
    {
      "commit": "840dc6b891d521f18bf081bd5a32e4a1f8110abc",
      "tree": "facfa219d0136dbcc4f427bcb7826ece7ba42a51",
      "parents": [
        "81ffa38e1558f54db190e2d11e7260ab09c4acf2"
      ],
      "author": {
        "name": "Artem Bityutskiy",
        "email": "Artem.Bityutskiy@nokia.com",
        "time": "Fri Aug 01 18:13:37 2008 +0300"
      },
      "committer": {
        "name": "Artem Bityutskiy",
        "email": "Artem.Bityutskiy@nokia.com",
        "time": "Wed Aug 13 11:42:47 2008 +0300"
      },
      "message": "UBIFS: improve arguments checking in debugging messages\n\nUse \"if (0) printk()\" construct in debugging print macros to\nmake the debugging messages be checked even if debugging is\noff.\n\nThis patch also removes some unneeded spaces and blank lines.\n\nSigned-off-by: Artem Bityutskiy \u003cArtem.Bityutskiy@nokia.com\u003e\n"
    },
    {
      "commit": "81ffa38e1558f54db190e2d11e7260ab09c4acf2",
      "tree": "061dd0d00388d995f6321276f2b1dd4194fc24ef",
      "parents": [
        "3a13252c6f3a029ac992a36910e945f361482797"
      ],
      "author": {
        "name": "Adrian Hunter",
        "email": "ext-adrian.hunter@nokia.com",
        "time": "Fri Aug 01 15:35:08 2008 +0300"
      },
      "committer": {
        "name": "Artem Bityutskiy",
        "email": "Artem.Bityutskiy@nokia.com",
        "time": "Wed Aug 13 11:39:53 2008 +0300"
      },
      "message": "UBIFS: always set i_generation to 0\n\nUBIFS does not presently re-use inode numbers, so leaving\ni_generation zero is most appropriate for now.\n\nSigned-off-by: Adrian Hunter \u003cext-adrian.hunter@nokia.com\u003e\nSigned-off-by: Artem Bityutskiy \u003cArtem.Bityutskiy@nokia.com\u003e\n"
    },
    {
      "commit": "3a13252c6f3a029ac992a36910e945f361482797",
      "tree": "c9d62f776c9761bd15d9b1b5c05f032895c7e8a9",
      "parents": [
        "22bc7fa8c5da09805edc6a6199ce81373b2c207d"
      ],
      "author": {
        "name": "Adrian Hunter",
        "email": "ext-adrian.hunter@nokia.com",
        "time": "Wed Jul 30 12:18:02 2008 +0300"
      },
      "committer": {
        "name": "Artem Bityutskiy",
        "email": "Artem.Bityutskiy@nokia.com",
        "time": "Wed Aug 13 11:39:20 2008 +0300"
      },
      "message": "UBIFS: correct spelling of \"thrice\".\n\nSigned-off-by: Adrian Hunter \u003cext-adrian.hunter@nokia.com\u003e\n"
    }
  ],
  "next": "22bc7fa8c5da09805edc6a6199ce81373b2c207d"
}
