)]}'
{
  "log": [
    {
      "commit": "5315217efea54a07950758005686adedb8e8e680",
      "tree": "137735561349ee366afe98daa9b1cbbaf1da68c4",
      "parents": [
        "b048d8462652159c5314d19b191220b0ec384edb"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Fri Feb 01 08:26:46 2008 -0500"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Fri Feb 01 08:26:46 2008 -0500"
      },
      "message": "[PATCH] jbd: Remove useless loop when writing commit record\n\nCommit block was intended to have several copies of the header. But\ndue to a bug it never had them and actually, nobody checks that. So\njust remove the useless loop.\n\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n\n"
    },
    {
      "commit": "28ae094c625a9b719c01cf5ec45b8640e6911f53",
      "tree": "74d34775267bf7a141bc9eb3f042e8a7a0251916",
      "parents": [
        "2dafe1c4d69345539735cca64250f2d4657bd057"
      ],
      "author": {
        "name": "Neil Brown",
        "email": "neilb@suse.de",
        "time": "Fri Feb 08 04:22:13 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Feb 08 09:22:44 2008 -0800"
      },
      "message": "ext3 can fail badly when device stops accepting BIO_RW_BARRIER requests\n\nSome devices - notably dm and md - can change their behaviour in response\nto BIO_RW_BARRIER requests.  They might start out accepting such requests\nbut on reconfiguration, they find out that they cannot any more.\n\next3 (and other filesystems) deal with this by always testing if\nBIO_RW_BARRIER requests fail with EOPNOTSUPP, and retrying the write\nrequests without the barrier (probably after waiting for any pending writes\nto complete).\n\nHowever there is a bug in the handling for this for ext3.\n\nWhen ext3 (jbd actually) decides to submit a BIO_RW_BARRIER request, it\nsets the buffer_ordered flag on the buffer head.  If the request completes\nsuccessfully, the flag STAYS SET.\n\nOther code might then write the same buffer_head after the device has been\nreconfigured to not accept barriers.  This write will then fail, but the\n\"other code\" is not ready to handle EOPNOTSUPP errors and the error will be\ntreated as fatal.\n\nThis can be seen without having to reconfigure a device at exactly the\nwrong time by putting:\n\n\t\tif (buffer_ordered(bh))\n\t\t\tprintk(\"OH DEAR, and ordered buffer\\n\");\n\nin the while loop in \"commit phase 5\" of journal_commit_transaction.\n\nIf it ever prints the \"OH DEAR ...\" message (as it does sometimes for\nme), then that request could (in different circumstances) have failed\nwith EOPNOTSUPP, but that isn\u0027t tested for.\n\nMy proposed fix is to clear the buffer_ordered flag after it has been\nused, as in the following patch.\n\nSigned-off-by: Neil Brown \u003cneilb@suse.de\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": "95c354fe9f7d6decc08a92aa26eb233ecc2155bf",
      "tree": "ec9267032ea875e84216cfb20acb2cfc7c62149f",
      "parents": [
        "a95d67f87e1a5f1b4429be3ba3bf7b4051657908"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "npiggin@suse.de",
        "time": "Wed Jan 30 13:31:20 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jan 30 13:31:20 2008 +0100"
      },
      "message": "spinlock: lockbreak cleanup\n\nThe break_lock data structure and code for spinlocks is quite nasty.\nNot only does it double the size of a spinlock but it changes locking to\na potentially less optimal trylock.\n\nPut all of that under CONFIG_GENERIC_LOCKBREAK, and introduce a\n__raw_spin_is_contended that uses the lock data itself to determine whether\nthere are waiters on the lock, to be used if CONFIG_GENERIC_LOCKBREAK is\nnot set.\n\nRename need_lockbreak to spin_needbreak, make it use spin_is_contended to\ndecouple it from the spinlock implementation, and make it typesafe (rwlocks\ndo not have any need_lockbreak sites -- why do they even get bloated up\nwith that break_lock then?).\n\nSigned-off-by: Nick Piggin \u003cnpiggin@suse.de\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "d4beaf4ab5f89496f2bcf67db62ad95d99bfeff6",
      "tree": "ae6d005199017e9a0ade169fd69cb73d6c0ac88f",
      "parents": [
        "369b8f5a70402d9fe77006cd0044c8a3fcd08430"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Tue Dec 04 23:45:27 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Dec 05 09:21:20 2007 -0800"
      },
      "message": "jbd: Fix assertion failure in fs/jbd/checkpoint.c\n\nBefore we start committing a transaction, we call\n__journal_clean_checkpoint_list() to cleanup transaction\u0027s written-back\nbuffers.\n\nIf this call happens to remove all of them (and there were already some\nbuffers), __journal_remove_checkpoint() will decide to free the transaction\nbecause it isn\u0027t (yet) a committing transaction and soon we fail some\nassertion - the transaction really isn\u0027t ready to be freed :).\n\nWe change the check in __journal_remove_checkpoint() to free only a\ntransaction in T_FINISHED state.  The locking there is subtle though (as\neverywhere in JBD ;().  We use j_list_lock to protect the check and a\nsubsequent call to __journal_drop_transaction() and do the same in the end\nof journal_commit_transaction() which is the only place where a transaction\ncan get to T_FINISHED state.\n\nProbably I\u0027m too paranoid here and such locking is not really necessary -\ncheckpoint lists are processed only from log_do_checkpoint() where a\ntransaction must be already committed to be processed or from\n__journal_clean_checkpoint_list() where kjournald itself calls it and thus\ntransaction cannot change state either.  Better be safe if something\nchanges in future...\n\nSigned-off-by: Jan Kara \u003cjack@suse.cz\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": "7a266e75cf5a1efd20d084408a1b7f1a185496dd",
      "tree": "38bdd044ce80fde4804c7a1c29d1f509b95c99e8",
      "parents": [
        "c2a9159cdd8b334a0dfaf69d8b07cd57b5272baa"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Thu Oct 18 23:39:22 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Oct 19 11:53:35 2007 -0700"
      },
      "message": "jbd: fix commit code to properly abort journal\n\nWe should really call journal_abort() and not __journal_abort_hard() in\ncase of errors.  The latter call does not record the error in the journal\nsuperblock and thus filesystem won\u0027t be marked as with errors later (and\nuser could happily mount it without any warning).\n\nSigned-off-by: Jan Kara \u003cjack@suse.cz\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": "c089d490dfbf53bc0893dc9ef57cf3ee6448314d",
      "tree": "8faffea3bdcfdd48ce175ac92d5088ced4f1c969",
      "parents": [
        "d85714d81cc0408daddb68c10f7fd69eafe7c213"
      ],
      "author": {
        "name": "Mingming Cao",
        "email": "cmm@us.ibm.com",
        "time": "Tue Oct 16 18:38:25 2007 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Wed Oct 17 18:49:56 2007 -0400"
      },
      "message": "JBD: JBD slab allocation cleanups\n\nJBD: Replace slab allocations with page allocations\n\nJBD allocate memory for committed_data and frozen_data from slab. However\nJBD should not pass slab pages down to the block layer. Use page allocator pages instead. This will also prepare JBD for the large blocksize patchset.\n\nSigned-off-by: Christoph Lameter \u003cclameter@sgi.com\u003e\nSigned-off-by: Mingming Cao \u003ccmm@us.ibm.com\u003e\n"
    },
    {
      "commit": "fe28e42b99173ba088b1d8448e53029e100bff27",
      "tree": "d9bb33ea624fb5bde8fa2e5be0db17848f108f85",
      "parents": [
        "09561f44c75bc462ae86590b9c089d01c4e94a74"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Sun Jul 15 23:37:18 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Jul 16 09:05:34 2007 -0700"
      },
      "message": "jbd commit: fix transaction dropping\n\nWe have to check that also the second checkpoint list is non-empty before\ndropping the transaction.\n\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\nCc: Chuck Ebbert \u003ccebbert@redhat.com\u003e\nCc: Kirill Korotaev \u003cdev@openvz.org\u003e\nCc: \u003clinux-ext4@vger.kernel.org\u003e\nCc: \u003cstable@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": "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": "6f5a9da1af5a8c286575c30c2706dc1fbef9164b",
      "tree": "42678c62fe6196d8d9fb7917c1f0e890fb0f50e4",
      "parents": [
        "6d3a25f1fb75206ae8b2b1cdd1431b3852e1a45a"
      ],
      "author": {
        "name": "Hisashi Hifumi",
        "email": "hifumi.hisashi@oss.ntt.co.jp",
        "time": "Fri Dec 22 01:11:50 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Fri Dec 22 08:55:51 2006 -0800"
      },
      "message": "[PATCH] jbd: wait for already submitted t_sync_datalist buffer to complete\n\nIn the current jbd code, if a buffer on BJ_SyncData list is dirty and not\nlocked, the buffer is refiled to BJ_Locked list, submitted to the IO and\nwaited for IO completion.\n\nBut the fsstress test showed the case that when a buffer was already\nsubmitted to the IO just before the buffer_dirty(bh) check, the buffer was\nnot waited for IO completion.\n\nFollowing patch solves this problem.  If it is assumed that a buffer is\nsubmitted to the IO before the buffer_dirty(bh) check and still being\nwritten to disk, this buffer is refiled to BJ_Locked list.\n\nSigned-off-by: Hisashi Hifumi \u003chifumi.hisashi@oss.ntt.co.jp\u003e\nCc: Jan Kara \u003cjack@ucw.cz\u003e\nCc: \"Stephen C. Tweedie\" \u003csct@redhat.com\u003e\nCc: \u003clinux-ext4@vger.kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "f30c2269544bffc7bf1b0d7c0abe5be1be83b8cb",
      "tree": "2f6140d8a555af6a133690ed6b42599e78a43c54",
      "parents": [
        "670e9f34ee3c7e052514c85014d2fdd99b672cdc"
      ],
      "author": {
        "name": "Uwe Zeisberger",
        "email": "Uwe_Zeisberger@digi.com",
        "time": "Tue Oct 03 23:01:26 2006 +0200"
      },
      "committer": {
        "name": "Adrian Bunk",
        "email": "bunk@stusta.de",
        "time": "Tue Oct 03 23:01:26 2006 +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 Zeisberger \u003cUwe_Zeisberger@digi.com\u003e\nSigned-off-by: Adrian Bunk \u003cbunk@stusta.de\u003e\n"
    },
    {
      "commit": "3998b9301d3d55be8373add22b6bc5e11c1d9b71",
      "tree": "9ec65c5b492a9bffc46467f4210739cd07ac510c",
      "parents": [
        "632bbfeee4f042c05bc65150b4433a297d3fe387"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Mon Sep 25 23:30:53 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Sep 26 08:48:44 2006 -0700"
      },
      "message": "[PATCH] jbd: fix commit of ordered data buffers\n\nOriginal commit code assumes, that when a buffer on BJ_SyncData list is\nlocked, it is being written to disk.  But this is not true and hence it can\nlead to a potential data loss on crash.  Also the code didn\u0027t count with\nthe fact that journal_dirty_data() can steal buffers from committing\ntransaction and hence could write buffers that no longer belong to the\ncommitting transaction.  Finally it could possibly happen that we tried\nwriting out one buffer several times.\n\nThe patch below tries to solve these problems by a complete rewrite of the\ndata commit code.  We go through buffers on t_sync_datalist, lock buffers\nneeding write out and store them in an array.  Buffers are also immediately\nrefiled to BJ_Locked list or unfiled (if the write out is completed).  When\nthe array is full or we have to block on buffer lock, we submit all\naccumulated buffers for IO.\n\n[suitable for 2.6.18.x around the 2.6.19-rc2 timeframe]\n\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\nCc: Badari Pulavarty \u003cpbadari@us.ibm.com\u003e\nCc: \u003cstable@kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "ea817398e68dfa25612229fda7fc74580cf915fb",
      "tree": "f511458f277c30b74e26bed69fe9d36dd2fe857c",
      "parents": [
        "4c4d50f7b39cc58f1064b93a61ad617451ae41df"
      ],
      "author": {
        "name": "Badari Pulavarty",
        "email": "pbadari@us.ibm.com",
        "time": "Sun Aug 27 01:23:52 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Aug 27 11:01:32 2006 -0700"
      },
      "message": "[PATCH] Manage jbd allocations from its own slabs\n\nJBD currently allocates commit and frozen buffers from slabs.  With\nCONFIG_SLAB_DEBUG, its possible for an allocation to cross the page\nboundary causing IO problems.\n\nhttps://bugzilla.redhat.com/bugzilla/show_bug.cgi?id\u003d200127\n\nSo, instead of allocating these from regular slabs - manage allocation from\nits own slabs and disable slab debug for these slabs.\n\n[akpm@osdl.org: cleanups]\nSigned-off-by: Badari Pulavarty \u003cpbadari@us.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "9ada7340987aa24395809570840c7c6847044f52",
      "tree": "e2a57c184d15cbd2415f4fce35534cf635e9fa9f",
      "parents": [
        "8e0a43d8fa953179505869ec28de78550246e795"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Fri Jun 23 02:05:25 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Jun 23 07:43:04 2006 -0700"
      },
      "message": "[PATCH] jbd: fix BUG in journal_commit_transaction()\n\nFix possible assertion failure in journal_commit_transaction() on\njh-\u003eb_next_transaction \u003d\u003d NULL (when we are processing BJ_Forget list and\nbuffer is not jbddirty).\n\n!jbddirty buffers can be placed on BJ_Forget list for example by\njournal_forget() or by __dispose_buffer() - generally such buffer means\nthat it has been freed by this transaction.\n\nFreed buffers should not be reallocated until the transaction has committed\n(that\u0027s why we have the assertion there) but they *can* be reallocated when\nthe transaction has already been committed to disk and we are just\nprocessing the BJ_Forget list (as soon as we remove b_committed_data from\nthe bitmap bh, ext3 will be able to reallocate buffers freed by the\ncommitting transaction).  So we have to also count with the case that the\nbuffer has been reallocated and b_next_transaction has been already set.\n\nAnd one more subtle point: it can happen that we manage to reallocate the\nbuffer and also mark it jbddirty.  Then we also add the freed buffer to the\ncheckpoint list of the committing trasaction.  But that should do no harm.\n\nNon-jbddirty buffers should be filed to BJ_Reserved and not BJ_Metadata\nlist.  It can actually happen that we refile such buffers during the commit\nphase when we reallocate in the running transaction blocks deleted in\ncommitting transaction (and that can happen if the committing transaction\nalready wrote all the data and is just cleaning up BJ_Forget list).\n\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\nAcked-by: \"Stephen C. Tweedie\" \u003csct@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "7c8903f6373f9abecf060bad53ca36bc4ac037f2",
      "tree": "473644b1f2999e3e516cd4f55a3535d9bb29595d",
      "parents": [
        "be5efffb762fa4a7b9a7a45ebf34b13e3bf5a2d8"
      ],
      "author": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Tue Feb 14 13:53:03 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Feb 14 16:09:34 2006 -0800"
      },
      "message": "[PATCH] jbd: revert checkpoint list changes\n\nThis patch reverts commit f93ea411b73594f7d144855fd34278bcf34a9afc:\n  [PATCH] jbd: split checkpoint lists\n\nThis broke journal_flush() for OCFS2, which is its method of being sure\nthat metadata is sent to disk for another node.\n\nAnd two related commits 8d3c7fce2d20ecc3264c8d8c91ae3beacdeaed1b and\n43c3e6f5abdf6acac9b90c86bf03f995bf7d3d92 with the subjects:\n  [PATCH] jbd: log_do_checkpoint fix\n  [PATCH] jbd: remove_transaction fix\n\nThese seem to be incremental bugfixes on the original patch and as such are\nno longer needed.\n\nSigned-off-by: Mark Fasheh \u003cmark.fasheh@oracle.com\u003e\nCc: Jan Kara \u003cjack@ucw.cz\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "43c3e6f5abdf6acac9b90c86bf03f995bf7d3d92",
      "tree": "06c78af9eeab5ad504e949a78e4ffa1e3cbb6067",
      "parents": [
        "8d3c7fce2d20ecc3264c8d8c91ae3beacdeaed1b"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Wed Jan 18 17:42:20 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Jan 18 19:20:16 2006 -0800"
      },
      "message": "[PATCH] jbd: remove_transaction fix\n\nWe have to check that also the second checkpoint list is non-empty before\ndropping the transaction.\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": "f99d49adf527fa6f7a9c42257fa76bca6b8df1e3",
      "tree": "41dddbc336016f9dc9557cdb15300de5e599dac1",
      "parents": [
        "6044ec8882c726e325017bd948aa0cd94ad33abc"
      ],
      "author": {
        "name": "Jesper Juhl",
        "email": "jesper.juhl@gmail.com",
        "time": "Mon Nov 07 01:01:34 2005 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Nov 07 07:54:06 2005 -0800"
      },
      "message": "[PATCH] kfree cleanup: fs\n\nThis is the fs/ part of the big kfree cleanup patch.\n\nRemove pointless checks for NULL prior to calling kfree() in fs/.\n\nSigned-off-by: Jesper Juhl \u003cjesper.juhl@gmail.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": "e6c9f5c1888097c936334bf9740024520ca47b8e",
      "tree": "6fcf2cccb7e4d155dd663f10001efdb2a9d7daae",
      "parents": [
        "cbf0d27a131639f4f3e4faa94373c5c6f89f8f07"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Tue Sep 06 15:19:09 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Sep 07 16:57:54 2005 -0700"
      },
      "message": "[PATCH] Fix JBD race in t_forget list handling\n\nFix race between journal_commit_transaction() and other places as\njournal_unmap_buffer() that are adding buffers to transaction\u0027s t_forget list.\n We have to protect against such places by holding j_list_lock even when\ntraversing the t_forget list.  The fact that other places can only add buffers\nto the list makes the locking easier.  OTOH the lock ranking complicates the\nstuff...\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": "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"
    }
  ]
}
