)]}'
{
  "log": [
    {
      "commit": "8c111b3f56332a216b18cd57950bdf04ac8f2a98",
      "tree": "9295744be006082391c9bfeed2cabf43b29cc4ea",
      "parents": [
        "63894ab9f63a688f6b0b8cdd01ac0a9f36d507b8"
      ],
      "author": {
        "name": "Yongqiang Yang",
        "email": "xiaoqiangnk@gmail.com",
        "time": "Sat Nov 19 17:34:29 2011 +0800"
      },
      "committer": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Tue Nov 22 01:20:53 2011 +0100"
      },
      "message": "jbd: clear revoked flag on buffers before a new transaction started\n\nCurrently, we clear revoked flag only when a block is reused.  However,\nthis can tigger a false journal error.  Consider a situation when a block\nis used as a meta block and is deleted(revoked) in ordered mode, then the\nblock is allocated as a data block to a file.  At this moment, user changes\nthe file\u0027s journal mode from ordered to journaled and truncates the file.\nThe block will be considered re-revoked by journal because it has revoked\nflag still pending from the last transaction and an assertion triggers.\n\nWe fix the problem by keeping the revoked status more uptodate - we clear\nrevoked flag when switching revoke tables to reflect there is no revoked\nbuffers in current transaction any more.\n\nSigned-off-by: Yongqiang Yang \u003cxiaoqiangnk@gmail.com\u003e\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\n"
    },
    {
      "commit": "25985edcedea6396277003854657b5f3cb31a628",
      "tree": "f026e810210a2ee7290caeb737c23cb6472b7c38",
      "parents": [
        "6aba74f2791287ec407e0f92487a725a25908067"
      ],
      "author": {
        "name": "Lucas De Marchi",
        "email": "lucas.demarchi@profusion.mobi",
        "time": "Wed Mar 30 22:57:33 2011 -0300"
      },
      "committer": {
        "name": "Lucas De Marchi",
        "email": "lucas.demarchi@profusion.mobi",
        "time": "Thu Mar 31 11:26:23 2011 -0300"
      },
      "message": "Fix common misspellings\n\nFixes generated by \u0027codespell\u0027 and manually reviewed.\n\nSigned-off-by: Lucas De Marchi \u003clucas.demarchi@profusion.mobi\u003e\n"
    },
    {
      "commit": "9cb569d601e0b93e01c20a22872270ec663b75f6",
      "tree": "80b2568fae48018806e82f8884062dae8a5494ae",
      "parents": [
        "87e99511ea54510ffb60b98001d108794d5037f8"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Wed Aug 11 17:06:24 2010 +0200"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Wed Aug 18 01:09:01 2010 -0400"
      },
      "message": "remove SWRITE* I/O types\n\nThese flags aren\u0027t real I/O types, but tell ll_rw_block to always\nlock the buffer instead of giving up on a failed trylock.\n\nInstead add a new write_dirty_buffer helper that implements this semantic\nand use it from the existing SWRITE* callers.  Note that the ll_rw_block\ncode had a bug where it didn\u0027t promote WRITE_SYNC_PLUG properly, which\nthis patch fixes.\n\nIn the ufs code clean up the helper that used to call ll_rw_block\nto mirror sync_dirty_buffer, which is the function it implements for\ncompound buffers.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "9c28cbccec66a5ca292c6659bf5a0fe0c8459fa7",
      "tree": "d43540ca30413ac8b3717e29f15ccbbe789a76c5",
      "parents": [
        "19003c18e9b41f5c3aeb81c92356f90958e1f22f"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Mon Aug 03 19:21:00 2009 +0200"
      },
      "committer": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Wed Sep 16 17:44:10 2009 +0200"
      },
      "message": "jbd: Journal block numbers can ever be only 32-bit use unsigned int for them\n\nIt does not make sense to store block number for journal as unsigned long\nsince they can be only 32-bit (because of on-disk format limitation). So\nchange in-memory structures and variables to use unsigned int instead.\n\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\n"
    },
    {
      "commit": "a4277bf122e907e4fec509fc0bd9bf5fde30b14e",
      "tree": "b359e8b0f7895acda1d6331332e69ea5b14d5f0d",
      "parents": [
        "6ae85d6db4871d8dbcb5cc0e9056f97f1ca07061",
        "b5451f7b2694b04d9f912f6cf09db1729f291996"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 24 08:37:40 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 24 08:37:40 2009 -0700"
      },
      "message": "Merge branch \u0027for_linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4\n\n* \u0027for_linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4:\n  ext4: Fix potential inode allocation soft lockup in Orlov allocator\n  ext4: Make the extent validity check more paranoid\n  jbd: use SWRITE_SYNC_PLUG when writing synchronous revoke records\n  jbd2: use SWRITE_SYNC_PLUG when writing synchronous revoke records\n  ext4: really print the find_group_flex fallback warning only once\n"
    },
    {
      "commit": "38d726d153cfe5efe5fe22d28d36ab382dda3a5c",
      "tree": "f5403a0abb0ac7e8bbdd12403a70d4151559e778",
      "parents": [
        "67c457a8c378a006a34d92f9bd3078a80a92f250"
      ],
      "author": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Tue Apr 14 10:10:47 2009 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Tue Apr 14 10:10:47 2009 -0400"
      },
      "message": "jbd: use SWRITE_SYNC_PLUG when writing synchronous revoke records\n\nThe revoke records must be written using the same way as the rest of\nthe blocks during the commit process; that is, either marked as\nsynchronous writes or as asynchornous writes.\n\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "32433879480d13bc019d5a067ce884064a93dd63",
      "tree": "652230bb84c0d93d06b8ed17049e9a8229283907",
      "parents": [
        "9de100d001564f58c3fb2ec1bd03e540ac0aa357"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Mon Apr 13 14:40:06 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 13 15:04:32 2009 -0700"
      },
      "message": "jbd: update locking coments\n\nUpdate information about locking in JBD revoke code.\n\nReported-by: Lin Tan \u003ctammy000@gmail.com\u003e.\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "1984bb763c2e50d0ebfb0cf56d1b319bd7afe63a",
      "tree": "dde3d0c06ee054d2d4439e6ac16da831f83a72a7",
      "parents": [
        "f4d79ca2fa211cffc07306eeed7013448e77d7ec"
      ],
      "author": {
        "name": "Duane Griffin",
        "email": "duaneg@dghda.com",
        "time": "Fri Jul 25 01:46:21 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 25 10:53:32 2008 -0700"
      },
      "message": "jbd: tidy up revoke cache initialisation and destruction\n\nMake revocation cache destruction safe to call if initialisation fails\npartially or entirely.  This allows it to be used to cleanup in the case\nof initialisation failure, simplifying that code slightly.\n\nSigned-off-by: Duane Griffin \u003cduaneg@dghda.com\u003e\nCc: \u003clinux-ext4@vger.kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "f4d79ca2fa211cffc07306eeed7013448e77d7ec",
      "tree": "dee0ba9ed8102f5d0bcadc1e93ca7affe2414e8f",
      "parents": [
        "3850f7a521dc17659ef6758a219f083418788490"
      ],
      "author": {
        "name": "Duane Griffin",
        "email": "duaneg@dghda.com",
        "time": "Fri Jul 25 01:46:20 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 25 10:53:32 2008 -0700"
      },
      "message": "jbd: eliminate duplicated code in revocation table init/destroy functions\n\nThe revocation table initialisation/destruction code is repeated for each\nof the two revocation tables stored in the journal.  Refactoring the\nduplicated code into functions is tidier, simplifies the logic in\ninitialisation in particular, and slightly reduces the code size.\n\nThere should not be any functional change.\n\nSigned-off-by: Duane Griffin \u003cduaneg@dghda.com\u003e\nCc: \u003clinux-ext4@vger.kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "08fc99bfc39d5b394aa27498ac5f14df0ef8e52a",
      "tree": "3749ce01f8cb60e3cf08c95f3f4076e21ad62ee7",
      "parents": [
        "e05b6b524bd5c5c2bae1b64a7cbe08d46d57a6fe"
      ],
      "author": {
        "name": "Harvey Harrison",
        "email": "harvey.harrison@gmail.com",
        "time": "Mon Apr 28 02:16:16 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 28 08:58:45 2008 -0700"
      },
      "message": "jbd: replace remaining __FUNCTION__ occurrences\n\n__FUNCTION__ is gcc-specific, use __func__\n\nSigned-off-by: Harvey Harrison \u003charvey.harrison@gmail.com\u003e\nCc: \u003clinux-ext4@vger.kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "1076d17ac70d1bb28fadc6f4bd96977b56897025",
      "tree": "17327e19c0bf6280d5c50996f96d14f38b55841a",
      "parents": [
        "af8be4e4b316df36a00c1e52a9970c253783b57e"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@ftp.linux.org.uk",
        "time": "Sat Mar 29 03:07:18 2008 +0000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Mar 30 14:18:41 2008 -0700"
      },
      "message": "jbd/jbd2 NULL noise\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "e12ba74d8ff3e2f73a583500d7095e406df4d093",
      "tree": "a0d3385b65f0b3e1e00b0bbf11b75e7538a93edb",
      "parents": [
        "c361be55b3128474aa66d31092db330b07539103"
      ],
      "author": {
        "name": "Mel Gorman",
        "email": "mel@csn.ul.ie",
        "time": "Tue Oct 16 01:25:52 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Oct 16 09:43:00 2007 -0700"
      },
      "message": "Group short-lived and reclaimable kernel allocations\n\nThis patch marks a number of allocations that are either short-lived such as\nnetwork buffers or are reclaimable such as inode allocations.  When something\nlike updatedb is called, long-lived and unmovable kernel allocations tend to\nbe spread throughout the address space which increases fragmentation.\n\nThis patch groups these allocations together as much as possible by adding a\nnew MIGRATE_TYPE.  The MIGRATE_RECLAIMABLE type is for allocations that can be\nreclaimed on demand, but not moved.  i.e.  they can be migrated by deleting\nthem and re-reading the information from elsewhere.\n\nSigned-off-by: Mel Gorman \u003cmel@csn.ul.ie\u003e\nCc: Andy Whitcroft \u003capw@shadowen.org\u003e\nCc: Christoph Lameter \u003cclameter@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "20c2df83d25c6a95affe6157a4c9cac4cf5ffaac",
      "tree": "415c4453d2b17a50abe7a3e515177e1fa337bd67",
      "parents": [
        "64fb98fc40738ae1a98bcea9ca3145b89fb71524"
      ],
      "author": {
        "name": "Paul Mundt",
        "email": "lethal@linux-sh.org",
        "time": "Fri Jul 20 10:11:58 2007 +0900"
      },
      "committer": {
        "name": "Paul Mundt",
        "email": "lethal@linux-sh.org",
        "time": "Fri Jul 20 10:11:58 2007 +0900"
      },
      "message": "mm: Remove slab destructors from kmem_cache_create().\n\nSlab destructors were no longer supported after Christoph\u0027s\nc59def9f222d44bb7e2f0a559f2906191a0862d7 change. They\u0027ve been\nBUGs for both slab and slub, and slob never supported them\neither.\n\nThis rips out support for the dtor pointer from kmem_cache_create()\ncompletely and fixes up every single callsite in the kernel (there were\nabout 224, not including the slab allocator definitions themselves,\nor the documentation references).\n\nSigned-off-by: Paul Mundt \u003clethal@linux-sh.org\u003e\n"
    },
    {
      "commit": "f482394ccbca7234d29cc146d4a2b94f976ce5a1",
      "tree": "65a15d5f47a8a5c4ddad16d10971f671277b12e8",
      "parents": [
        "3fc74269c8910573a0e9a7bc303752194ce5cae0"
      ],
      "author": {
        "name": "vignesh babu",
        "email": "vignesh.babu@wipro.com",
        "time": "Sun Jul 15 23:41:17 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Jul 16 09:05:48 2007 -0700"
      },
      "message": "is_power_of_2(): jbd\n\nReplace (n \u0026 (n-1)) in the context of power of 2 checks with\nis_power_of_2().\n\nSigned-off-by: vignesh babu \u003cvignesh.babu@wipro.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "5886269962f94fa9185c32db3ec936c612503235",
      "tree": "2f24dabcf5791319ebb1fbdfb5dbc58284714275",
      "parents": [
        "01afd80626e98c2347bc25be92ee4a3faf314514"
      ],
      "author": {
        "name": "Uwe Kleine-König",
        "email": "ukleinek@informatik.uni-freiburg.de",
        "time": "Wed May 09 07:51:49 2007 +0200"
      },
      "committer": {
        "name": "Adrian Bunk",
        "email": "bunk@stusta.de",
        "time": "Wed May 09 08:58:16 2007 +0200"
      },
      "message": "fix file specification in comments\n\nMany files include the filename at the beginning, serveral used a wrong one.\n\nSigned-off-by: Uwe Kleine-König \u003cukleinek@informatik.uni-freiburg.de\u003e\nSigned-off-by: Adrian Bunk \u003cbunk@stusta.de\u003e\n"
    },
    {
      "commit": "e63340ae6b6205fef26b40a75673d1c9c0c8bb90",
      "tree": "8d3212705515edec73c3936bb9e23c71d34a7b41",
      "parents": [
        "04c9167f91e309c9c4ea982992aa08e83b2eb42e"
      ],
      "author": {
        "name": "Randy Dunlap",
        "email": "randy.dunlap@oracle.com",
        "time": "Tue May 08 00:28:08 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue May 08 11:15:07 2007 -0700"
      },
      "message": "header cleaning: don\u0027t include smp_lock.h when not used\n\nRemove includes of \u003clinux/smp_lock.h\u003e where it is not used/needed.\nSuggested by Al Viro.\n\nBuilds cleanly on x86_64, i386, alpha, ia64, powerpc, sparc,\nsparc64, and arm (all 59 defconfigs).\n\nSigned-off-by: 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": "e18b890bb0881bbab6f4f1a6cd20d9c60d66b003",
      "tree": "4828be07e1c24781c264b42c5a75bcd968223c3f",
      "parents": [
        "441e143e95f5aa1e04026cb0aa71c801ba53982f"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@sgi.com",
        "time": "Wed Dec 06 20:33:20 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Thu Dec 07 08:39:25 2006 -0800"
      },
      "message": "[PATCH] slab: remove kmem_cache_t\n\nReplace all uses of kmem_cache_t with struct kmem_cache.\n\nThe patch was generated using the following script:\n\n\t#!/bin/sh\n\t#\n\t# Replace one string by another in all the kernel sources.\n\t#\n\n\tset -e\n\n\tfor file in `find * -name \"*.c\" -o -name \"*.h\"|xargs grep -l $1`; do\n\t\tquilt add $file\n\t\tsed -e \"1,\\$s/$1/$2/g\" $file \u003e/tmp/$$\n\t\tmv /tmp/$$ $file\n\t\tquilt refresh\n\tdone\n\nThe script was run like this\n\n\tsh replace kmem_cache_t \"struct kmem_cache\"\n\nSigned-off-by: Christoph Lameter \u003cclameter@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "ae6ddcc5f24d6b06ae9231dc128904750a4155e0",
      "tree": "93c6e20b513f39b616af101dabe9b756f7300d0d",
      "parents": [
        "e7ab8d65055e9b9dfc131d0467cfc5a8368d7ee4"
      ],
      "author": {
        "name": "Mingming Cao",
        "email": "cmm@us.ibm.com",
        "time": "Wed Sep 27 01:49:27 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Sep 27 08:26:09 2006 -0700"
      },
      "message": "[PATCH] ext3 and jbd cleanup: remove whitespace\n\nRemove whitespace from ext3 and jbd, before we clone ext4.\n\nSigned-off-by: Mingming Cao\u003ccmm@us.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "26707699b5337ea471ba1774447e8a1170c99e52",
      "tree": "13ea647feb0f0eb026a4a00fd0e1d522d71876ca",
      "parents": [
        "a7662236253374012d364106b6dc9161bd929e2e"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Tue Sep 06 15:19:12 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Sep 07 16:57:55 2005 -0700"
      },
      "message": "[PATCH] Change ll_rw_block() calls in JBD\n\nWe must be sure that the current data in buffer are sent to disk.  Hence we\nhave to call ll_rw_block() with SWRITE.\n\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "022a4a7bbdefdedc2706a13c81c832d8c3173c6d",
      "tree": "e7bf4f08f02c35b39769a5c2aeeea020c055de99",
      "parents": [
        "202e5979af4d91c7ca05892641131dee22653259"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@stusta.de",
        "time": "Tue Sep 06 15:16:41 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Sep 07 16:57:19 2005 -0700"
      },
      "message": "[PATCH] fs/jbd/: cleanups\n\nThis patch contains the following cleanups:\n- make needlessly global functions static\n- journal.c: remove the unused global function __journal_internal_check\n             and move the check to journal_init\n- remove the following write-only global variable:\n  - journal.c: current_journal\n- remove the following unneeded EXPORT_SYMBOL:\n  - journal.c: journal_recover\n\nSigned-off-by: Adrian Bunk \u003cbunk@stusta.de\u003e\nAcked-by: Andreas Dilger \u003cadilger@clusterfs.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\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"
    }
  ]
}
