)]}'
{
  "log": [
    {
      "commit": "226bb7df3d22bcf4a1c0fe8206c80cc427498eae",
      "tree": "9e876ce5c9a8699ecacccf9dc3ee4a9c436015c3",
      "parents": [
        "7a84477c4acebf6299b6a8bd6a1d5894eb838ffa"
      ],
      "author": {
        "name": "Josh Cartwright",
        "email": "joshc@linux.com",
        "time": "Thu Mar 29 19:34:53 2012 -0400"
      },
      "committer": {
        "name": "David Woodhouse",
        "email": "David.Woodhouse@intel.com",
        "time": "Mon May 07 20:30:14 2012 +0100"
      },
      "message": "jffs2: Fix lock acquisition order bug in gc path\n\nThe locking policy is such that the erase_complete_block spinlock is\nnested within the alloc_sem mutex.  This fixes a case in which the\nacquisition order was erroneously reversed.  This issue was caught by\nthe following lockdep splat:\n\n   \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n   [ INFO: possible circular locking dependency detected ]\n   3.0.5 #1\n   -------------------------------------------------------\n   jffs2_gcd_mtd6/299 is trying to acquire lock:\n    (\u0026c-\u003ealloc_sem){+.+.+.}, at: [\u003cc01f7714\u003e] jffs2_garbage_collect_pass+0x314/0x890\n\n   but task is already holding lock:\n    (\u0026(\u0026c-\u003eerase_completion_lock)-\u003erlock){+.+...}, at: [\u003cc01f7708\u003e] jffs2_garbage_collect_pass+0x308/0x890\n\n   which lock already depends on the new lock.\n\n   the existing dependency chain (in reverse order) is:\n\n   -\u003e #1 (\u0026(\u0026c-\u003eerase_completion_lock)-\u003erlock){+.+...}:\n          [\u003cc008bec4\u003e] validate_chain+0xe6c/0x10bc\n          [\u003cc008c660\u003e] __lock_acquire+0x54c/0xba4\n          [\u003cc008d240\u003e] lock_acquire+0xa4/0x114\n          [\u003cc046780c\u003e] _raw_spin_lock+0x3c/0x4c\n          [\u003cc01f744c\u003e] jffs2_garbage_collect_pass+0x4c/0x890\n          [\u003cc01f937c\u003e] jffs2_garbage_collect_thread+0x1b4/0x1cc\n          [\u003cc0071a68\u003e] kthread+0x98/0xa0\n          [\u003cc000f264\u003e] kernel_thread_exit+0x0/0x8\n\n   -\u003e #0 (\u0026c-\u003ealloc_sem){+.+.+.}:\n          [\u003cc008ad2c\u003e] print_circular_bug+0x70/0x2c4\n          [\u003cc008c08c\u003e] validate_chain+0x1034/0x10bc\n          [\u003cc008c660\u003e] __lock_acquire+0x54c/0xba4\n          [\u003cc008d240\u003e] lock_acquire+0xa4/0x114\n          [\u003cc0466628\u003e] mutex_lock_nested+0x74/0x33c\n          [\u003cc01f7714\u003e] jffs2_garbage_collect_pass+0x314/0x890\n          [\u003cc01f937c\u003e] jffs2_garbage_collect_thread+0x1b4/0x1cc\n          [\u003cc0071a68\u003e] kthread+0x98/0xa0\n          [\u003cc000f264\u003e] kernel_thread_exit+0x0/0x8\n\n   other info that might help us debug this:\n\n    Possible unsafe locking scenario:\n\n          CPU0                    CPU1\n          ----                    ----\n     lock(\u0026(\u0026c-\u003eerase_completion_lock)-\u003erlock);\n                                  lock(\u0026c-\u003ealloc_sem);\n                                  lock(\u0026(\u0026c-\u003eerase_completion_lock)-\u003erlock);\n     lock(\u0026c-\u003ealloc_sem);\n\n    *** DEADLOCK ***\n\n   1 lock held by jffs2_gcd_mtd6/299:\n    #0:  (\u0026(\u0026c-\u003eerase_completion_lock)-\u003erlock){+.+...}, at: [\u003cc01f7708\u003e] jffs2_garbage_collect_pass+0x308/0x890\n\n   stack backtrace:\n   [\u003cc00155dc\u003e] (unwind_backtrace+0x0/0x100) from [\u003cc0463dc0\u003e] (dump_stack+0x20/0x24)\n   [\u003cc0463dc0\u003e] (dump_stack+0x20/0x24) from [\u003cc008ae84\u003e] (print_circular_bug+0x1c8/0x2c4)\n   [\u003cc008ae84\u003e] (print_circular_bug+0x1c8/0x2c4) from [\u003cc008c08c\u003e] (validate_chain+0x1034/0x10bc)\n   [\u003cc008c08c\u003e] (validate_chain+0x1034/0x10bc) from [\u003cc008c660\u003e] (__lock_acquire+0x54c/0xba4)\n   [\u003cc008c660\u003e] (__lock_acquire+0x54c/0xba4) from [\u003cc008d240\u003e] (lock_acquire+0xa4/0x114)\n   [\u003cc008d240\u003e] (lock_acquire+0xa4/0x114) from [\u003cc0466628\u003e] (mutex_lock_nested+0x74/0x33c)\n   [\u003cc0466628\u003e] (mutex_lock_nested+0x74/0x33c) from [\u003cc01f7714\u003e] (jffs2_garbage_collect_pass+0x314/0x890)\n   [\u003cc01f7714\u003e] (jffs2_garbage_collect_pass+0x314/0x890) from [\u003cc01f937c\u003e] (jffs2_garbage_collect_thread+0x1b4/0x1cc)\n   [\u003cc01f937c\u003e] (jffs2_garbage_collect_thread+0x1b4/0x1cc) from [\u003cc0071a68\u003e] (kthread+0x98/0xa0)\n   [\u003cc0071a68\u003e] (kthread+0x98/0xa0) from [\u003cc000f264\u003e] (kernel_thread_exit+0x0/0x8)\n\nThis was introduce in \u002781cfc9f jffs2: Fix serious write stall due to erase\u0027.\n\nCc: stable@kernel.org [2.6.37+]\nSigned-off-by: Josh Cartwright \u003cjoshc@linux.com\u003e\nSigned-off-by: Artem Bityutskiy \u003cartem.bityutskiy@linux.intel.com\u003e\nSigned-off-by: David Woodhouse \u003cDavid.Woodhouse@intel.com\u003e\n"
    },
    {
      "commit": "5a528957e7c74f1fed73fe20424b7a3421658877",
      "tree": "4b5e353fe0ceb0e275f278461a62a8d3094fe692",
      "parents": [
        "da320f055a8818269c008e30b887cdcf09d8e4bd"
      ],
      "author": {
        "name": "Joe Perches",
        "email": "joe@perches.com",
        "time": "Wed Feb 15 15:56:45 2012 -0800"
      },
      "committer": {
        "name": "David Woodhouse",
        "email": "David.Woodhouse@intel.com",
        "time": "Tue Mar 27 00:40:19 2012 +0100"
      },
      "message": "jffs2: Use pr_fmt and remove jffs: from formats\n\nUse pr_fmt to prefix KBUILD_MODNAME to appropriate logging messages.\n\nRemove now unnecessary internal prefixes from formats.\n\nSigned-off-by: Joe Perches \u003cjoe@perches.com\u003e\nSigned-off-by: Artem Bityutskiy \u003cartem.bityutskiy@linux.intel.com\u003e\nSigned-off-by: David Woodhouse \u003cDavid.Woodhouse@intel.com\u003e\n"
    },
    {
      "commit": "da320f055a8818269c008e30b887cdcf09d8e4bd",
      "tree": "deaead9c0bd0ed473e633fca2d66460b3b0ec99d",
      "parents": [
        "9c261b33a9c417ccaf07f41796be278d09d02d49"
      ],
      "author": {
        "name": "Joe Perches",
        "email": "joe@perches.com",
        "time": "Wed Feb 15 15:56:44 2012 -0800"
      },
      "committer": {
        "name": "David Woodhouse",
        "email": "David.Woodhouse@intel.com",
        "time": "Tue Mar 27 00:39:40 2012 +0100"
      },
      "message": "jffs2: Convert printks to pr_\u003clevel\u003e\n\nUse the more current logging style.\n\nCoalesce formats, align arguments.\nConvert uses of embedded function names to %s, __func__.\n\nA couple of long line checkpatch errors I don\u0027t care about exist.\n\nSigned-off-by: Joe Perches \u003cjoe@perches.com\u003e\nSigned-off-by: Artem Bityutskiy \u003cartem.bityutskiy@linux.intel.com\u003e\nSigned-off-by: David Woodhouse \u003cDavid.Woodhouse@intel.com\u003e\n"
    },
    {
      "commit": "9c261b33a9c417ccaf07f41796be278d09d02d49",
      "tree": "6cf47f47364647dfbba845c0fd3f05539072175a",
      "parents": [
        "bf011f2ed53d587fdd8148c173c4f09ed77bdf1a"
      ],
      "author": {
        "name": "Joe Perches",
        "email": "joe@perches.com",
        "time": "Wed Feb 15 15:56:43 2012 -0800"
      },
      "committer": {
        "name": "David Woodhouse",
        "email": "David.Woodhouse@intel.com",
        "time": "Tue Mar 27 00:39:24 2012 +0100"
      },
      "message": "jffs2: Convert most D1/D2 macros to jffs2_dbg\n\nD1 and D2 macros are mostly uses to emit debugging messages.\n\nConvert the logging uses of D1 \u0026 D2 to jffs2_dbg(level, fmt, ...)\nto be a bit more consistent style with the rest of the kernel.\n\nAll jffs2_dbg output is now at KERN_DEBUG where some of\nthe previous uses were emitted at various KERN_\u003cLEVEL\u003es.\n\nSigned-off-by: Joe Perches \u003cjoe@perches.com\u003e\nSigned-off-by: Artem Bityutskiy \u003cartem.bityutskiy@linux.intel.com\u003e\nSigned-off-by: David Woodhouse \u003cDavid.Woodhouse@intel.com\u003e\n"
    },
    {
      "commit": "81cfc9f1f4ad8d335367bb393bd042cc45b00047",
      "tree": "9ba0193e5ba52abe543b12cde711fc061043ad76",
      "parents": [
        "733daa52b8d358e7c18be7fb9f82afc0619408f4"
      ],
      "author": {
        "name": "Joakim Tjernlund",
        "email": "Joakim.Tjernlund@transmode.se",
        "time": "Thu Oct 07 18:01:44 2010 +0200"
      },
      "committer": {
        "name": "David Woodhouse",
        "email": "David.Woodhouse@intel.com",
        "time": "Mon Oct 25 01:06:22 2010 +0100"
      },
      "message": "jffs2: Fix serious write stall due to erase\n\nDrop the alloc_sem before erasing flash in\njffs2_garbage_collect_pass().\nOtherwise writes are put on hold until the erase\nhas finised.\n\nSigned-off-by: Joakim Tjernlund \u003cJoakim.Tjernlund@transmode.se\u003e\nSigned-off-by: Artem Bityutskiy \u003cArtem.Bityutskiy@nokia.com\u003e\nSigned-off-by: David Woodhouse \u003cDavid.Woodhouse@intel.com\u003e\n"
    },
    {
      "commit": "6088c0587706b2cf21ce50c11576718bff5fae0c",
      "tree": "3bbbd3309e688d10dfdb32f8d38062e8db57727e",
      "parents": [
        "78ef7fab0eb0a5b159842bac89aed74bb0aa7bfe"
      ],
      "author": {
        "name": "David Woodhouse",
        "email": "David.Woodhouse@intel.com",
        "time": "Sun Aug 08 14:15:22 2010 +0100"
      },
      "committer": {
        "name": "David Woodhouse",
        "email": "David.Woodhouse@intel.com",
        "time": "Sun Aug 08 14:15:22 2010 +0100"
      },
      "message": "jffs2: Update copyright notices\n\nSigned-off-by: David Woodhouse \u003cdwmw2@infradead.org\u003e\n"
    },
    {
      "commit": "ae3b6ba06c8ed399ef920724ee8136e540878294",
      "tree": "427f89ac31defa7b3114c50ab706c0f6df539136",
      "parents": [
        "acb64a43e4503fbea9faf123f2403da7af8831eb"
      ],
      "author": {
        "name": "David Woodhouse",
        "email": "David.Woodhouse@intel.com",
        "time": "Wed May 19 17:05:14 2010 +0100"
      },
      "committer": {
        "name": "David Woodhouse",
        "email": "David.Woodhouse@intel.com",
        "time": "Wed May 19 17:10:44 2010 +0100"
      },
      "message": "jffs2: Use jffs2_garbage_collect_trigger() to trigger pending erases\n\nThis is now done in a GC pass; we don\u0027t need to trigger kupdated to do it.\n\nSigned-off-by: David Woodhouse \u003cDavid.Woodhouse@intel.com\u003e\n"
    },
    {
      "commit": "0717bf8411bb673dd2369aaa096f7396446b38f5",
      "tree": "5106504557aae93a018bf3a5692ce9b0558e857e",
      "parents": [
        "9957abea31aed5783d6ca7175cce553045c0eb19"
      ],
      "author": {
        "name": "David Woodhouse",
        "email": "David.Woodhouse@intel.com",
        "time": "Wed May 19 16:37:13 2010 +0100"
      },
      "committer": {
        "name": "David Woodhouse",
        "email": "David.Woodhouse@intel.com",
        "time": "Wed May 19 16:49:37 2010 +0100"
      },
      "message": "jffs2: Erase pending blocks in GC pass, avoid invalid -EIO return\n\njffs2_garbage_collect_pass() would previously return -EAGAIN if it\ncouldn\u0027t find anything to garbage collect from, and there were blocks on\nthe erase_pending_list. If the blocks were actually in the process of\nbeing erased, though, then they wouldn\u0027t be on that list. Check for\nnr_erasing_blocks being non-zero instead.\n\nFix jffs2_reserve_space() to wait for the in-progress erases to\ncomplete, when jffs2_garbage_collect_pass() returns -EAGAIN.\n\nAnd fix jffs2_erase_succeeded() to actually wake up the erase_wait wq\nthat jffs2_reserve_space() is now using.\n\nSigned-off-by: David Woodhouse \u003cDavid.Woodhouse@intel.com\u003e\n"
    },
    {
      "commit": "2e16cfca6e17ae37ae21feca080a6f2eca9087dc",
      "tree": "6474bcbf5d7f79d359b07fd187093beb4b8b489d",
      "parents": [
        "0a032a4df6dc4a82bcd1c401e57ee71825d30c14"
      ],
      "author": {
        "name": "David Woodhouse",
        "email": "David.Woodhouse@intel.com",
        "time": "Wed Dec 16 03:27:20 2009 +0000"
      },
      "committer": {
        "name": "David Woodhouse",
        "email": "David.Woodhouse@intel.com",
        "time": "Wed Dec 16 03:27:20 2009 +0000"
      },
      "message": "jffs2: Fix long-standing bug with symlink garbage collection.\n\nEver since jffs2_garbage_collect_metadata() was first half-written in\nFebruary 2001, it\u0027s been broken on architectures where \u0027char\u0027 is signed.\nWhen garbage collecting a symlink with target length above 127, the payload\nlength would end up negative, causing interesting and bad things to happen.\n\nCc: stable@kernel.org\nSigned-off-by: David Woodhouse \u003cDavid.Woodhouse@intel.com\u003e\n"
    },
    {
      "commit": "27c72b040c0be8f3704ed0b6b84c12cbba24a7e8",
      "tree": "0b84847120e817465d517d21fa4653d958222567",
      "parents": [
        "1b690b48786229571e590dd22fe01ecc22a8746b"
      ],
      "author": {
        "name": "David Woodhouse",
        "email": "dwmw2@infradead.org",
        "time": "Thu May 01 18:47:17 2008 +0100"
      },
      "committer": {
        "name": "David Woodhouse",
        "email": "dwmw2@infradead.org",
        "time": "Thu May 01 18:47:17 2008 +0100"
      },
      "message": "[JFFS2] Track parent inode for directories (for NFS export)\n\nTo support NFS export, we need to know the parent inode of directories.\nRather than growing the jffs2_inode_cache structure, share space with\nthe nlink field -- which was always set to 1 for directories anyway.\n\nSigned-off-by: David Woodhouse \u003cdwmw2@infradead.org\u003e\n"
    },
    {
      "commit": "1b690b48786229571e590dd22fe01ecc22a8746b",
      "tree": "6843a20b0d898f9c39ba4480a9ee58b32eb0e467",
      "parents": [
        "590fe34c47cb5c2d836ac76fabc5f160bf31a3f1"
      ],
      "author": {
        "name": "David Woodhouse",
        "email": "dwmw2@infradead.org",
        "time": "Thu May 01 16:59:24 2008 +0100"
      },
      "committer": {
        "name": "David Woodhouse",
        "email": "dwmw2@infradead.org",
        "time": "Thu May 01 17:24:28 2008 +0100"
      },
      "message": "[JFFS2] Invert last argument of jffs2_gc_fetch_inode(), make it boolean.\n\nWe don\u0027t actually care about nlink; we only care whether the inode in\nquestion is unlinked or not.\n\nSigned-off-by: David Woodhouse \u003cdwmw2@infradead.org\u003e\n"
    },
    {
      "commit": "422b120238130307da64fa44c9fb722bfaf5f1af",
      "tree": "72f47ac8dcd66ae074d1b4b916ffc8fe32183bf1",
      "parents": [
        "e2bc322bf05936ec7160d62bc3fd45cbf4aa405a"
      ],
      "author": {
        "name": "David Woodhouse",
        "email": "dwmw2@infradead.org",
        "time": "Wed Apr 23 15:40:52 2008 +0100"
      },
      "committer": {
        "name": "David Woodhouse",
        "email": "dwmw2@infradead.org",
        "time": "Wed Apr 23 16:01:37 2008 +0100"
      },
      "message": "[JFFS2] Fix jffs2_reserve_space() when all blocks are pending erasure.\n\nWhen _all_ the blocks were on the erase_pending_list, we could\u0027t find a\nblock to GC from but there was no _actually_ free space, and\njffs2_reserve_space() would get a little unhappy.\n\nHandle this case by returning -EAGAIN from jffs2_garbage_collect_pass().\nThere are two callers of that function -- jffs2_flush_wbuf_gc(), which\nwill interpret it as an error and flush the writebuffer by other means,\nand jffs2_reserve_space(), which we modify to respond to -EAGAIN with an\nimmediate call to jffs2_erase_pending_blocks() and another run round the\nloop.\n\nSigned-off-by: David Woodhouse \u003cdwmw2@infradead.org\u003e\n"
    },
    {
      "commit": "ced22070363ef50e4a47aadd003a81ebeaa3f917",
      "tree": "66f094dce47a5a0f8f9936308fffe57e2c50255a",
      "parents": [
        "52f8301437a0ba744265e0549ee7239eb85426fc"
      ],
      "author": {
        "name": "David Woodhouse",
        "email": "dwmw2@infradead.org",
        "time": "Tue Apr 22 15:13:40 2008 +0100"
      },
      "committer": {
        "name": "David Woodhouse",
        "email": "dwmw2@infradead.org",
        "time": "Tue Apr 22 15:13:40 2008 +0100"
      },
      "message": "[JFFS2] semaphore-\u003emutex conversion\n\nSigned-off-by: David Woodhouse \u003cdwmw2@infradead.org\u003e\n"
    },
    {
      "commit": "25dc30b4cd68df1de8932fe77ca574227d42a259",
      "tree": "a5efd5b1f27d98c927f30c42fec2a99123434c7f",
      "parents": [
        "bf66737ca85c41442e99c9d380eb7807d88bac1f"
      ],
      "author": {
        "name": "David Woodhouse",
        "email": "dwmw2@infradead.org",
        "time": "Tue Apr 22 12:12:25 2008 +0100"
      },
      "committer": {
        "name": "David Woodhouse",
        "email": "dwmw2@infradead.org",
        "time": "Tue Apr 22 12:35:47 2008 +0100"
      },
      "message": "[JFFS2] fix sparse warnings in gc.c\n\nfs/jffs2/gc.c:1147:29: warning: symbol \u0027jeb\u0027 shadows an earlier one\nfs/jffs2/gc.c:1084:89: originally declared here\nfs/jffs2/gc.c:1197:29: warning: symbol \u0027jeb\u0027 shadows an earlier one\nfs/jffs2/gc.c:1084:89: originally declared here\n\nRename the unused \u0027jeb\u0027 argument to avoid this. We could potentially\nremove the argument, but GCC should be doing that anyway.\n\nSigned-off-by: David Woodhouse \u003cdwmw2@infradead.org\u003e\n"
    },
    {
      "commit": "4fc8a6078660be781d6ddf4daddfd9d817d2a455",
      "tree": "5054b94e261b6f6683f148a5299007feb1f4113e",
      "parents": [
        "b534e70cf5529378a1ed994492641ec0330554eb"
      ],
      "author": {
        "name": "David Woodhouse",
        "email": "dwmw2@infradead.org",
        "time": "Sat Oct 13 14:29:39 2007 +0100"
      },
      "committer": {
        "name": "David Woodhouse",
        "email": "dwmw2@infradead.org",
        "time": "Sat Oct 13 14:29:39 2007 +0100"
      },
      "message": "[JFFS2] Remove stray debugging printk\n\nSigned-off-by: David Woodhouse \u003cdwmw2@infradead.org\u003e\n"
    },
    {
      "commit": "b534e70cf5529378a1ed994492641ec0330554eb",
      "tree": "d0257ffa39a331cad12e855122cb1e540b0eac41",
      "parents": [
        "69ca4378aa376cf2c49657d4f6951da56c27cd3a"
      ],
      "author": {
        "name": "David Woodhouse",
        "email": "dwmw2@infradead.org",
        "time": "Sat Oct 13 11:35:58 2007 +0100"
      },
      "committer": {
        "name": "David Woodhouse",
        "email": "dwmw2@infradead.org",
        "time": "Sat Oct 13 11:35:58 2007 +0100"
      },
      "message": "[JFFS2] Handle dirents on the flash with embedded zero bytes in names.\n\nIn three places: summary scan, normal scan, REF_PRISTINE GC.\n\nJust truncate at the NUL, since that was the correct thing to do in the\nonly case where this (inexplicable) breakage has been seen.\n\nSigned-off-by: David Woodhouse \u003cdwmw2@infradead.org\u003e\n"
    },
    {
      "commit": "2665ea842dc9f4c04bdb57f8b7c2023759ac8c85",
      "tree": "eb7fa11e07a8760d4ed819211d9fb936727c4c5f",
      "parents": [
        "85becc535b7f33be5aefdb8ecea9fac4998e4b6f"
      ],
      "author": {
        "name": "David Woodhouse",
        "email": "dwmw2@infradead.org",
        "time": "Sat Oct 13 11:31:23 2007 +0100"
      },
      "committer": {
        "name": "David Woodhouse",
        "email": "dwmw2@infradead.org",
        "time": "Sat Oct 13 11:31:23 2007 +0100"
      },
      "message": "[JFFS2] Check whether garbage-collection actually obsoleted its victim.\n\nIn OLPC trac #4184 we found a case where a corrupted node didn\u0027t\nactually get obsoleted when we tried to garbage-collect it. So we wrote\nout many million copies of it, in repeated attempts to obsolete it,\nuntil the flash became full. Don\u0027t Do That.\n\nSigned-off-by: David Woodhouse \u003cdwmw2@infradead.org\u003e\n"
    },
    {
      "commit": "ef53cb02ffee8ceb44ea75f778f77eace6b9c89a",
      "tree": "3e41f74e33ca8b995f5aeb914074ac980b10e56a",
      "parents": [
        "16adce7b6f4dab015d0b93274b41f8aae6fe07a5"
      ],
      "author": {
        "name": "David Woodhouse",
        "email": "dwmw2@infradead.org",
        "time": "Tue Jul 10 10:01:22 2007 +0100"
      },
      "committer": {
        "name": "David Woodhouse",
        "email": "dwmw2@infradead.org",
        "time": "Tue Jul 10 10:01:22 2007 +0100"
      },
      "message": "[JFFS2] Whitespace cleanups.\n\nConvert many spaces to tabs; one or two other minor cosmetic fixes.\n\nSigned-off-by: David Woodhouse \u003cdwmw2@infradead.org\u003e\n"
    },
    {
      "commit": "c00c310eac04a28d2143368ae988716792ed53ce",
      "tree": "38ddce44f83105b2d593620c34638d699052857f",
      "parents": [
        "c36c46d53b2f95bfcbe992cfb541a78ab92310a4"
      ],
      "author": {
        "name": "David Woodhouse",
        "email": "dwmw2@infradead.org",
        "time": "Wed Apr 25 14:16:47 2007 +0100"
      },
      "committer": {
        "name": "David Woodhouse",
        "email": "dwmw2@infradead.org",
        "time": "Wed Apr 25 14:16:47 2007 +0100"
      },
      "message": "[JFFS2] Tidy up licensing/copyright boilerplate.\n\nIn particular, remove the bit in the LICENCE file about contacting\nRed Hat for alternative arrangements. Their errant IS department broke\nthat arrangement a long time ago -- the policy of collecting copyright\nassignments from contributors came to an end when the plug was pulled on\nthe servers hosting the project, without notice or reason.\n\nWe do still dual-license it for use with eCos, with the GPL+exception\nlicence approved by the FSF as being GPL-compatible. It\u0027s just that nobody\nhas the right to license it differently.\n\nSigned-off-by: David Woodhouse \u003cdwmw2@infradead.org\u003e\n"
    },
    {
      "commit": "44b998e1eb254edc87177819ee693690fac68b7f",
      "tree": "2f7d5511d8f0efc9e824a042d5ff50793a74de31",
      "parents": [
        "566865a2a4791c9290155f651ee0c2c606db0b1d"
      ],
      "author": {
        "name": "David Woodhouse",
        "email": "dwmw2@infradead.org",
        "time": "Mon Apr 23 12:11:46 2007 +0100"
      },
      "committer": {
        "name": "David Woodhouse",
        "email": "dwmw2@infradead.org",
        "time": "Mon Apr 23 12:11:46 2007 +0100"
      },
      "message": "[JFFS2] Improve failure mode if inode checking leaves unchecked space.\n\nWe should never find the unchecked size is non-zero after we\u0027ve finished\nchecking all inodes. If it happens, used to BUG(), leaving the alloc_sem\nheld and deadlocking. Instead, just return -ENOSPC after complaining. The\nGC thread will die, but read-only operation should be able to continue and\nthe file system should be unmountable.\n\nSigned-off-by: David Woodhouse \u003cdwmw2@infradead.org\u003e\n"
    },
    {
      "commit": "aba54da3d05e910199ea8255992c244c9abadd91",
      "tree": "fc634ff11819f2f94ef23478d6471757dc21c6d6",
      "parents": [
        "0bf3a9d82adc62fb05e3f108ddd46eb088960f26"
      ],
      "author": {
        "name": "Artem Bityutskiy",
        "email": "dedekind@infradead.org",
        "time": "Tue Dec 19 15:45:23 2006 +0200"
      },
      "committer": {
        "name": "David Woodhouse",
        "email": "dwmw2@infradead.org",
        "time": "Tue Dec 19 14:20:16 2006 +0000"
      },
      "message": "[JFFS2] add cond_resched() when garbage collecting deletion dirent\n\nWe observe soft lockups when doing heavy test which creates\ndirectory with a lot of direntries and deletes them. This\ncycle is the reason fo this. Make it nicer and add cond_resched()\ninside of it.\n\nSigned-off-by: Artem Bityutskiy \u003cdedekind@infradead.org\u003e\nSigned-off-by: David Woodhouse \u003cdwmw2@infradead.org\u003e\n"
    },
    {
      "commit": "355ed4e141203fd7266ef9d90d57be0c61bd1aa4",
      "tree": "24abb6d9ee1ae95e41d7db13f90200adf734eb4e",
      "parents": [
        "8a13695cbe4e8311b363f9bd25162904b984ca74"
      ],
      "author": {
        "name": "KaiGai Kohei",
        "email": "kaigai@ak.jp.nec.com",
        "time": "Sat Jun 24 09:15:36 2006 +0900"
      },
      "committer": {
        "name": "David Woodhouse",
        "email": "dwmw2@infradead.org",
        "time": "Tue Jun 27 16:18:30 2006 +0100"
      },
      "message": "[JFFS2][XATTR] Fix memory leak with jffs2_xattr_ref\n\nIf xattr_ref is associated with an orphan inode_cache\non filesystem mounting, those xattr_refs are not\nreleased even if this inode_cache is released.\n\nThis patch enables to call jffs2_xattr_delete_inode()\nfor such a irregular inode_cachde too.\n\nSigned-off-by: KaiGai Kohei \u003ckaigai@ak.jp.nec.com\u003e\nSigned-off-by: David Woodhouse \u003cdwmw2@infradead.org\u003e\n"
    },
    {
      "commit": "c9f700f840bd481b3e01fcad1ba8da01794a6726",
      "tree": "786f4a6a3f3a2d619ae4230a62f95361fcd3245a",
      "parents": [
        "6d4f8224d4ee065e0e3186cc554468d735e6015d"
      ],
      "author": {
        "name": "KaiGai Kohei",
        "email": "kaigai@ak.jp.nec.com",
        "time": "Sun Jun 11 10:35:15 2006 +0900"
      },
      "committer": {
        "name": "David Woodhouse",
        "email": "dwmw2@infradead.org",
        "time": "Tue Jun 27 16:16:26 2006 +0100"
      },
      "message": "[JFFS2][XATTR] using \u0027delete marker\u0027 for xdatum/xref deletion\n\n- When xdatum is removed, a new xdatum with \u0027delete marker\u0027 is\n  written. (version\u003d\u003d0xffffffff means \u0027delete marker\u0027)\n- When xref is removed, a new xref with \u0027delete marker\u0027 is written.\n  (odd-numbered xseqno means \u0027delete marker\u0027)\n\n- delete_xattr_(datum/xref)_delay() are new deletion functions\n  are added. We can only use them if we can detect the target\n  obsolete xdatum/xref as a orphan or errir one.\n  (e.g when inode deletion, or detecting crc error)\n\n[1/3] jffs2-xattr-v6-01-delete_marker.patch\n\nSigned-off-by: KaiGai Kohei \u003ckaigai@ak.jp.nec.com\u003e\nSigned-off-by: David Woodhouse \u003cdwmw2@infradead.org\u003e\n"
    },
    {
      "commit": "99988f7bbd16b861590dda4631c4db6cb17b5091",
      "tree": "38865d44c905d7f84d7eeb70186482e1e399fe9c",
      "parents": [
        "2f785402f39b96a077b6e62bf26164bfb8e0c980"
      ],
      "author": {
        "name": "David Woodhouse",
        "email": "dwmw2@infradead.org",
        "time": "Wed May 24 09:04:17 2006 +0100"
      },
      "committer": {
        "name": "David Woodhouse",
        "email": "dwmw2@infradead.org",
        "time": "Wed May 24 09:04:17 2006 +0100"
      },
      "message": "[JFFS2] Introduce ref_next() macro for finding next physical node\n\nAnother part of the preparation for switching to an array...\n\nSigned-off-by: David Woodhouse \u003cdwmw2@infradead.org\u003e\n"
    },
    {
      "commit": "2f785402f39b96a077b6e62bf26164bfb8e0c980",
      "tree": "3f3a38b484ef2dabda1599d4d8f08b121bd03a76",
      "parents": [
        "4cbb9b80e171107c6c34116283fe38e5a396c68b"
      ],
      "author": {
        "name": "David Woodhouse",
        "email": "dwmw2@infradead.org",
        "time": "Wed May 24 02:04:45 2006 +0100"
      },
      "committer": {
        "name": "David Woodhouse",
        "email": "dwmw2@infradead.org",
        "time": "Wed May 24 02:04:45 2006 +0100"
      },
      "message": "[JFFS2] Reduce visibility of raw_node_ref to upper layers of JFFS2 code.\n\nAs the first step towards eliminating the ref-\u003enext_phys member and saving\nmemory by using an _array_ of struct jffs2_raw_node_ref per eraseblock,\nstop the write functions from allocating their own refs; have them just\n_reserve_ the appropriate number instead. Then jffs2_link_node_ref() can\njust fill them in.\n\nUse a linked list of pre-allocated refs in the superblock, for now. Once\nwe switch to an array, it\u0027ll just be a case of extending that array.\n\nSigned-off-by: David Woodhouse \u003cdwmw2@infradead.org\u003e\n"
    },
    {
      "commit": "9fe4854cd1f60273f9a3ece053f4789605f58a5e",
      "tree": "277ac17807a1596f78464641500ed35f3d47a32a",
      "parents": [
        "5fa433942ba4e399f7e28764c9db4ade89e91d40"
      ],
      "author": {
        "name": "David Woodhouse",
        "email": "dwmw2@infradead.org",
        "time": "Tue May 23 00:38:06 2006 +0100"
      },
      "committer": {
        "name": "David Woodhouse",
        "email": "dwmw2@infradead.org",
        "time": "Tue May 23 00:38:06 2006 +0100"
      },
      "message": "[JFFS2] Remove flash offset argument from various functions.\n\nWe don\u0027t need the upper layers to deal with the physical offset. It\u0027s\n_always_ c-\u003enextblock-\u003eoffset + c-\u003esector_size - c-\u003enextblock-\u003efree_size\nso we might as well just let the actual write functions deal with that.\n\nSigned-off-by: David Woodhouse \u003cdwmw2@infradead.org\u003e\n"
    },
    {
      "commit": "fcb7578719529898aef9edce8e409e457a1c2d15",
      "tree": "58022b22d175b69e4b267f2f19ab26d93f7d4910",
      "parents": [
        "a1b563d652b54647ffacb2d6edf7859d3e97a723"
      ],
      "author": {
        "name": "David Woodhouse",
        "email": "dwmw2@infradead.org",
        "time": "Mon May 22 15:23:10 2006 +0100"
      },
      "committer": {
        "name": "David Woodhouse",
        "email": "dwmw2@infradead.org",
        "time": "Mon May 22 15:23:10 2006 +0100"
      },
      "message": "[JFFS2] Extend jffs2_link_node_ref() to link into per-inode list too.\n\nLet\u0027s avoid the potential for forgetting to set ref-\u003enext_in_ino, by doing\nit within jffs2_link_node_ref() instead.\n\nThis highlights the ugliness of what we\u0027re currently doing with\nxattr_datum and xattr_ref structures -- we should find a nicer way of\ndealing with that.\n\nSigned-off-by: David Woodhouse \u003cdwmw2@infradead.org\u003e\n"
    },
    {
      "commit": "b64335f2b740d6f5dbf5d3b04af30d407bf599f5",
      "tree": "442e85ebc977f8d01bf9c1fe6dfbe898788422c5",
      "parents": [
        "49f11d40751b974f3b829f208eefa6f97a10cac8"
      ],
      "author": {
        "name": "David Woodhouse",
        "email": "dwmw2@infradead.org",
        "time": "Sun May 21 04:36:45 2006 +0100"
      },
      "committer": {
        "name": "David Woodhouse",
        "email": "dwmw2@infradead.org",
        "time": "Sun May 21 04:36:45 2006 +0100"
      },
      "message": "[JFFS2] Add length argument to jffs2_add_physical_node_ref()\n\nIf __totlen is going away, we need to pass the length in separately.\nAlso stop callers from needlessly setting ref-\u003enext_phys to NULL,\nsince that\u0027s done for them... and since that\u0027ll also be going away soon.\n\nSigned-off-by: David Woodhouse \u003cdwmw2@infradead.org\u003e\n"
    },
    {
      "commit": "6171586a7ae5198988774e8480631e8d15f65dfe",
      "tree": "eef74bde60005c4e39c0c213030b27cb07a5c236",
      "parents": [
        "fb9fbbcc9389edabb172ac1b6419c01e32046787"
      ],
      "author": {
        "name": "David Woodhouse",
        "email": "dwmw2@infradead.org",
        "time": "Sun May 21 00:02:06 2006 +0100"
      },
      "committer": {
        "name": "David Woodhouse",
        "email": "dwmw2@infradead.org",
        "time": "Sun May 21 00:02:06 2006 +0100"
      },
      "message": "[JFFS2] Correct handling of JFFS2_FEATURE_RWCOMPAT_COPY nodes.\n\nWe should preserve these when we come to garbage collect them, not let\nthem get erased. Use jffs2_garbage_collect_pristine() for this, and make\nsure the summary code copes -- just refrain from writing a summary for any\nblock which contains a node we don\u0027t understand.\n\nSigned-off-by: David Woodhouse \u003cdwmw2@infradead.org\u003e\n"
    },
    {
      "commit": "0cfc7da3ff4b39a3aac261ab3f6b1329e2485653",
      "tree": "447073fe757b42e6da63b96a26cbbc6b4c705946",
      "parents": [
        "1417fc44ee923418df3adadeb4846c891bba1ba5",
        "20a92fc74c5c91c7bc5693d51acc2b99aceb0465"
      ],
      "author": {
        "name": "David Woodhouse",
        "email": "dwmw2@infradead.org",
        "time": "Sat May 20 17:27:32 2006 +0100"
      },
      "committer": {
        "name": "David Woodhouse",
        "email": "dwmw2@infradead.org",
        "time": "Sat May 20 17:27:32 2006 +0100"
      },
      "message": "Merge git://git.infradead.org/jffs2-xattr-2.6\n\nSigned-off-by: David Woodhouse \u003cdwmw2@infradead.org\u003e\n"
    },
    {
      "commit": "aef9ab47841af45888d950baa6448072cc70bdd5",
      "tree": "79545ddc225f64bc38fa04525ac4125c86202cb8",
      "parents": [
        "f6a673b3f4f93c1c50e1b18f29254b0531b722a8"
      ],
      "author": {
        "name": "David Woodhouse",
        "email": "dwmw2@infradead.org",
        "time": "Fri May 19 00:28:49 2006 +0100"
      },
      "committer": {
        "name": "David Woodhouse",
        "email": "dwmw2@infradead.org",
        "time": "Fri May 19 00:28:49 2006 +0100"
      },
      "message": "[JFFS2] Support new device nodes\n\nDevice node major/minor numbers are just stored in the payload of a single\ndata node. Just extend that to 4 bytes and use new_encode_dev() for it.\n\nWe only use the 4-byte format if we _need_ to, if !old_valid_dev(foo).\nThis preserves backwards compatibility with older code as much as\npossible. If we do make devices with major or minor numbers above 255, and\nthen mount the file system with the old code, it\u0027ll just read the first\ntwo bytes and get the numbers wrong. If it comes to garbage-collect it,\nit\u0027ll then write back those wrong numbers. But that\u0027s about the best we\ncan expect.\n\nSigned-off-by: David Woodhouse \u003cdwmw2@infradead.org\u003e\n"
    },
    {
      "commit": "084702e00111eb9ffb6d8a5c1938b8e5423e40a8",
      "tree": "42f5842eb6f5373b04c4f4d254fde0bdcea2a4d5",
      "parents": [
        "8f2b6f49c656dd4597904f8c20661d6b73cdbbeb"
      ],
      "author": {
        "name": "KaiGai Kohei",
        "email": "kaigai@ak.jp.nec.com",
        "time": "Sat May 13 15:16:13 2006 +0900"
      },
      "committer": {
        "name": "KaiGai Kohei",
        "email": "kaigai@ak.jp.nec.com",
        "time": "Sat May 13 15:16:13 2006 +0900"
      },
      "message": "[JFFS2][XATTR] Remove jffs2_garbage_collect_xattr(c, ic)\n\nRemove jffs2_garbage_collect_xattr(c, ic).\njffs2_garbage_collect_xattr_datum/ref() are called from gc.c directly.\n\nIn original implementation, jffs2_garbage_collect_xattr(c, ic) returns\nwith holding a spinlock if \u0027ic\u0027 is inode_cache. But it returns after\nreleasing a spinlock if \u0027ic\u0027 is xattr_datum/ref.\nIt looks so confusable behavior. Thus, this patch makes caller manage\nlocking/unlocking.\n\n[5/10] jffs2-xattr-v5.1-05-update_xattr_gc.patch\n\nSigned-off-by: KaiGai Kohei \u003ckaigai@ak.jp.nec.com\u003e\n"
    },
    {
      "commit": "aa98d7cf59b5b0764d3502662053489585faf2fe",
      "tree": "e98e83f3e69ebe3a1112394a19d440419e899749",
      "parents": [
        "4992a9e88886b0c5ebc3d27eb74d0344c873eeea"
      ],
      "author": {
        "name": "KaiGai Kohei",
        "email": "kaigai@ak.jp.nec.com",
        "time": "Sat May 13 15:09:47 2006 +0900"
      },
      "committer": {
        "name": "KaiGai Kohei",
        "email": "kaigai@ak.jp.nec.com",
        "time": "Sat May 13 15:09:47 2006 +0900"
      },
      "message": "[JFFS2][XATTR] XATTR support on JFFS2 (version. 5)\n\nThis attached patches provide xattr support including POSIX-ACL and\nSELinux support on JFFS2 (version.5).\n\nThere are some significant differences from previous version posted\nat last December.\nThe biggest change is addition of EBS(Erase Block Summary) support.\nCurrently, both kernel and usermode utility (sumtool) can recognize\nxattr nodes which have JFFS2_NODETYPE_XATTR/_XREF nodetype.\n\nIn addition, some bugs are fixed.\n- A potential race condition was fixed.\n- Unexpected fail when updating a xattr by same name/value pair was fixed.\n- A bug when removing xattr name/value pair was fixed.\n\nThe fundamental structures (such as using two new nodetypes and exclusion\nmechanism by rwsem) are unchanged. But most of implementation were reviewed\nand updated if necessary.\nEspacially, we had to change several internal implementations related to\nload_xattr_datum() to avoid a potential race condition.\n\n[1/2] xattr_on_jffs2.kernel.version-5.patch\n[2/2] xattr_on_jffs2.utils.version-5.patch\n\nSigned-off-by: KaiGai Kohei \u003ckaigai@ak.jp.nec.com\u003e\nSigned-off-by: David Woodhouse \u003cdwmw2@infradead.org\u003e\n"
    },
    {
      "commit": "d96fb997c6174f98a2a0a98200f99ac13b053bd6",
      "tree": "bd2400a8553975a6463ef0160a7aaad914a9b236",
      "parents": [
        "fb6a82c94a9c69adfb6b9f6ce9f84be36884e471"
      ],
      "author": {
        "name": "David Woodhouse",
        "email": "dwmw2@infradead.org",
        "time": "Mon Apr 17 00:19:48 2006 +0100"
      },
      "committer": {
        "name": "David Woodhouse",
        "email": "dwmw2@infradead.org",
        "time": "Mon Apr 17 00:19:48 2006 +0100"
      },
      "message": "[JFFS2] Fix race in post-mount node checking\n\nFor a while now, we\u0027ve postponed CRC-checking of data nodes to be done\nby the GC thread, instead of being done while the user is waiting for\nmount to finish. The GC thread would iterate through all the inodes on\nthe system and check each of their data nodes. It would skip over inodes\nwhich had already been used or were already being read in by\nread_inode(), because their data nodes would have been examined anyway.\n\nHowever, we could sometimes reach the end of the for-each-inode loop and\nstill have some unchecked space left, if an inode we\u0027d skipped was\n_still_ in the process of being read. This fixes that race by actually\nwaiting for read_inode() to finish rather than just moving on.\n\nThanks to Ladislav Michl for coming up with a reproducible test case and\nhelping to track it down.\n\nSigned-off-by: David Woodhouse \u003cdwmw2@infradead.org\u003e\n"
    },
    {
      "commit": "182ec4eee397543101a6db8906ed88727d3f7e53",
      "tree": "0f6dd2c52697123702bdf0c3a7143537f947b060",
      "parents": [
        "97894cda5773e59bd13e87b72077751099419a9f"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Mon Nov 07 11:16:07 2005 +0000"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@mtd.linutronix.de",
        "time": "Mon Nov 07 14:18:56 2005 +0100"
      },
      "message": "[JFFS2] Clean up trailing white spaces\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "e631ddba588783edd521c5a89f7b2902772fb691",
      "tree": "e25f322ee498b344f058ce4a40060baa22a5f105",
      "parents": [
        "15017876751e4c2d786ba95920618359fe2b4f0a"
      ],
      "author": {
        "name": "Ferenc Havasi",
        "email": "havasi@inf.u-szeged.hu",
        "time": "Wed Sep 07 09:35:26 2005 +0100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@mtd.linutronix.de",
        "time": "Sun Nov 06 21:29:48 2005 +0100"
      },
      "message": "[JFFS2] Add erase block summary support (mount time improvement)\n\nThe goal of summary is to speed up the mount time. Erase block summary (EBS)\nstores summary information at the end of every (closed) erase block. It is\nno longer necessary to scan all nodes separetly (and read all pages of them)\njust read this \"small\" summary, where every information is stored which is\nneeded at mount time.\n\nThis summary information is stored in a JFFS2_FEATURE_RWCOMPAT_DELETE. During\nthe mount process if there is no summary info the orignal scan process will\nbe executed. EBS works with NAND and NOR flashes, too.\n\nThere is a user space tool called sumtool to generate this summary\ninformation for a JFFS2 image.\n\nSigned-off-by: Ferenc Havasi \u003chavasi@inf.u-szeged.hu\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "3a69e0cd22cf34920508a4032d53e41251925f53",
      "tree": "f6f862aa743e3de98e348c20d84a26772da06195",
      "parents": [
        "01d445f89d68187c9ada7b58ca939dbb987c9fbd"
      ],
      "author": {
        "name": "Artem B. Bityutskiy",
        "email": "dedekind@infradead.org",
        "time": "Wed Aug 17 14:46:26 2005 +0100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@mtd.linutronix.de",
        "time": "Sun Nov 06 20:25:59 2005 +0100"
      },
      "message": "[JFFS2] Fix JFFS2 [mc]time handling\n\nFrom: David Woodhouse \u003cdwmw2@infradead.org\u003e\n\nSigned-off-by: Artem B. Bityutskiy \u003cdedekind@infradead.org\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "e0c8e42f8f218063ff6838b25038ccef7ddf257e",
      "tree": "a072b5cfd6b9af41dfef13821383af584d989ca6",
      "parents": [
        "6dac02a5e1bba0bb88ece50160fc4a64cccf30d1"
      ],
      "author": {
        "name": "Artem B. Bityutskiy",
        "email": "dedekind@infradead.org",
        "time": "Sun Jul 24 16:14:17 2005 +0100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@mtd.linutronix.de",
        "time": "Sun Nov 06 17:06:49 2005 +0100"
      },
      "message": "[JFFS2] Debug code clean up - step 3\n\nVarious simplifiactions. printk format corrections.\nConvert more code to use the new debug functions.\n\nSigned-off-by: Artem B. Bityutskiy \u003cdedekind@infradead.org\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "61a39b694137cef6059a0714c3b1847aabe53b90",
      "tree": "8bba8f467a8a938d21cecb2ed63489246982b82e",
      "parents": [
        "2b79adcca147c9f8fd1094ab4cb342d7e1790d70"
      ],
      "author": {
        "name": "Artem B. Bityutskiy",
        "email": "dedekind@infradead.org",
        "time": "Sun Jul 17 13:01:46 2005 +0100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@mtd.linutronix.de",
        "time": "Sun Nov 06 16:29:43 2005 +0100"
      },
      "message": "[JFFS2] Debug code clean up - step 2\n\nIf debugging is disabled, define debugging functions as empty macros, instead\nof using Dx() explicitly.\n\nSigned-off-by: Artem B. Bityutskiy \u003cdedekind@infradead.org\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "730554d94607572ef8300c5c9848540b42394897",
      "tree": "fcefe9225afae333e09a59bdb2b8ac6e44676ce6",
      "parents": [
        "dae6227f71fedb40b2478d3062397d3ab54e7556"
      ],
      "author": {
        "name": "Artem B. Bityutskiy",
        "email": "dedekind@infradead.org",
        "time": "Sun Jul 17 07:56:26 2005 +0100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@mtd.linutronix.de",
        "time": "Sun Nov 06 16:21:25 2005 +0100"
      },
      "message": "[JFFS2] Debug code clean up - step 1\n\nMove debug functions into a seperate source file\n\nSigned-off-by: Artem B. Bityutskiy \u003cdedekind@infradead.org\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "8557fd51c22e4c2109f062decd19de439061ceae",
      "tree": "66884a832e912decd06a8441db05fd78ec8e3e6e",
      "parents": [
        "abc37e6771ec92bb4c531d218ad572afbef6aa21"
      ],
      "author": {
        "name": "Artem B. Bityuckiy",
        "email": "dedekind@infradead.org",
        "time": "Sat Apr 09 11:47:03 2005 +0100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@mtd.linutronix.de",
        "time": "Mon May 23 13:16:47 2005 +0200"
      },
      "message": "[JFFS2] Fix race in garbage collector\n\nFix the race problem described here:\nhttp://lists.infradead.org/pipermail/linux-mtd/2005-April/012361.html\n\nSigned-off-by: Artem B. Bityuckiy \u003cdedekind@infradead.org\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "3cceb9f6cf433545b607451e5de7af2cd6cec0b5",
      "tree": "cc9934231e9977bdd95d2a751bdd36649704af37",
      "parents": [
        "437316d9b5ea142ca7ab9ef131c28506c407d1d6"
      ],
      "author": {
        "name": "Artem B. Bityuckiy",
        "email": "dedekind@infradead.org",
        "time": "Sun Mar 20 21:43:26 2005 +0000"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@mtd.linutronix.de",
        "time": "Mon May 23 13:03:04 2005 +0200"
      },
      "message": "[JFFS2] Prevent deadlock when flushing write buffer\n\nSigned-off-by: Artem B. Bityuckiy \u003cdedekind@infradead.org\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "a42163d7c331c2532551f675d6616a00e1e87fe9",
      "tree": "f437025983cca8c43ee33e839199d0ee091c8107",
      "parents": [
        "a921e28b4bd35b091754a1814ff015fe268b9295"
      ],
      "author": {
        "name": "Artem B. Bityuckiy",
        "email": "dedekind@infradead.org",
        "time": "Sun Mar 20 17:45:29 2005 +0000"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@mtd.linutronix.de",
        "time": "Mon May 23 13:01:25 2005 +0200"
      },
      "message": "[JFFS2] Improve garbage collector block selection\n\nMake sure the erase_pending_wbuf_list\u0027s blocks are taken into account\nwhen picking the block to GC.\n\nSigned-off-by: Artem B. Bityuckiy \u003cdedekind@infradead.org\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "3be36675d41a30ed3b192f92684f1417aa0f8bfe",
      "tree": "da8395bb14ffef19e551c509c47d16b52fb536d9",
      "parents": [
        "045e9a5d51ced27bfcbdb78071534ce6fd36b33d"
      ],
      "author": {
        "name": "Andrew Victor",
        "email": "andrew@sanpeople.com",
        "time": "Wed Feb 09 09:09:05 2005 +0000"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@mtd.linutronix.de",
        "time": "Mon May 23 12:27:09 2005 +0200"
      },
      "message": "[JFFS2] Core changes required to support JFFS2-on-Dataflash devices.\n\nDataFlash page-sizes are not a power of two (they\u0027re multiples of 528\nbytes).  There are a few places in JFFS2 code where sector_size is used\nas a bitmask.  A new macro (SECTOR_ADDR) was defined to calculate these\nsector addresses. For non-DataFlash devices, the original (faster)\nbitmask operation is still used.\n\nIn scan.c, the EMPTY_SCAN_SIZE was a constant of 1024.\nSince this could be larger than the sector size of the DataFlash, this\nis now basically set to MIN(sector_size, 1024).\n\nAddition of a jffs2_is_writebuffered() macro.\n\nSigned-off-by: Andrew Victor \u003candrew@sanpeople.com\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "1da177e4c3f41524e886b7f1b8a0c1fc7321cac2",
      "tree": "0bba044c4ce775e45a88a51686b5d9f90697ea9d",
      "parents": [],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sat Apr 16 15:20:36 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sat Apr 16 15:20:36 2005 -0700"
      },
      "message": "Linux-2.6.12-rc2\n\nInitial git repository build. I\u0027m not bothering with the full history,\neven though we have it. We can create a separate \"historical\" git\narchive of that later if we want to, and in the meantime it\u0027s about\n3.2GB when imported into git - space that would just make the early\ngit days unnecessarily complicated, when we don\u0027t have a lot of good\ninfrastructure for it.\n\nLet it rip!\n"
    }
  ]
}
