)]}'
{
  "log": [
    {
      "commit": "34a3d1e83708702ac6cb872215e68cd07dae298b",
      "tree": "bed36f9a4b64a98676776ccff820b7897b1dcb74",
      "parents": [
        "523b44cff279c42c79f7bda709e2fefc30f20a59"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Thu Oct 11 22:11:12 2007 +0200"
      },
      "committer": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Thu Oct 11 22:11:12 2007 +0200"
      },
      "message": "lockdep: annotate journal_start()\n\nOn Fri, 2007-07-13 at 02:05 -0700, Andrew Morton wrote:\n\n\u003e Except lockdep doesn\u0027t know about journal_start(), which has ranking\n\u003e requirements similar to a semaphore.  \n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\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": "44d306e1508fef6fa7a6eb15a1aba86ef68389a6",
      "tree": "84edb1f4d6e1e2d3926f152bad132e037da9024c",
      "parents": [
        "4c36a5dec25fb344ad76b11860da3a8b50bd1248"
      ],
      "author": {
        "name": "Arjan van de Ven",
        "email": "arjan@linux.intel.com",
        "time": "Sun Dec 10 02:21:26 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Sun Dec 10 09:57:22 2006 -0800"
      },
      "message": "[PATCH] user of the jiffies rounding code: JBD\n\nThis patch introduces a user: of the round_jiffies() function; the \"5 second\"\next3/jbd wakeup.\n\nWhile \"every 5 seconds\" doesn\u0027t sound as a problem, there can be many of these\n(and these timers do add up over all the kernel).  The \"5 second\" wakeup isn\u0027t\nreally timing sensitive; in addition even with rounding it\u0027ll still happen\nevery 5 seconds (with the exception of the very first time, which is likely to\nbe rounded up to somewhere closer to 6 seconds)\n\nSigned-off-by: Arjan van de Ven \u003carjan@linux.intel.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "d394e122bc1adba0f3eb1ebec1cedb8a8c524741",
      "tree": "3dec0f71b7c2b5f910013ccbeaadd9427737dc4b",
      "parents": [
        "8487f2e4067839ad3d009c240d51b682264320ae"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@stusta.de",
        "time": "Wed Dec 06 20:38:26 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Thu Dec 07 08:39:40 2006 -0800"
      },
      "message": "[PATCH] make fs/jbd/transaction.c:__journal_temp_unlink_buffer() static\n\nSigned-off-by: Adrian Bunk \u003cbunk@stusta.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "f58a74dca88d48b0669609b4957f3dd757bdc898",
      "tree": "bfd9a7f078d3d017e92fbd75659f35b619ccf188",
      "parents": [
        "1939e49a0cb9d73785857bf312f4f65661b4b513"
      ],
      "author": {
        "name": "Eric Sandeen",
        "email": "sandeen@sandeen.net",
        "time": "Sat Oct 28 10:38:27 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sat Oct 28 11:30:51 2006 -0700"
      },
      "message": "[PATCH] jbd: journal_dirty_data re-check for unmapped buffers\n\nWhen running several fsx\u0027s and other filesystem stress tests, we found\ncases where an unmapped buffer was still being sent to submit_bh by the\next3 dirty data journaling code.\n\nI saw this happen in two ways, both related to another thread doing a\ntruncate which would unmap the buffer in question.\n\nEither we would get into journal_dirty_data with a bh which was already\nunmapped (although journal_dirty_data_fn had checked for this earlier, the\nstate was not locked at that point), or it would get unmapped in the middle\nof journal_dirty_data when we dropped locks to call sync_dirty_buffer.\n\nBy re-checking for mapped state after we\u0027ve acquired the bh state lock, we\nshould avoid these races.  If we find a buffer which is no longer mapped,\nwe essentially ignore it, because journal_unmap_buffer has already decided\nthat this buffer can go away.\n\nI\u0027ve also added tracepoints in these two cases, and made a couple other\ntracepoint changes that I found useful in debugging this.\n\nSigned-off-by: Eric Sandeen \u003cesandeen@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": "3e2a532b26b491706bd8b5c7cfc8d767b43b8f36",
      "tree": "641db5da4c1adbeee04ce6594746cec51f581ff0",
      "parents": [
        "82591e6ea234762eeaa8b2337fe060ed438c18dc"
      ],
      "author": {
        "name": "OGAWA Hirofumi",
        "email": "hirofumi@mail.parknet.co.jp",
        "time": "Thu Oct 19 23:29:11 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Oct 20 10:26:44 2006 -0700"
      },
      "message": "[PATCH] ext3/4: fix J_ASSERT(transaction-\u003et_updates \u003e 0) in journal_stop()\n\nA disk generated some I/O error, after it, I hitted\nJ_ASSERT(transaction-\u003et_updates \u003e 0) in journal_stop().\n\nIt seems to happened on ext3_truncate() path from stack trace. Then,\nmaybe the following case may trigger J_ASSERT(transaction-\u003et_updates \u003e 0).\n\next3_truncate()\n    -\u003e ext3_free_branches()\n        -\u003e ext3_journal_test_restart()\n\t    -\u003e ext3_journal_restart()\n                -\u003e journal_restart()\n                transaction-\u003et_updates--;\n                /* another process aborted journal */\n                    -\u003e start_this_handle()\n\t\t    returns -EROFS without transaction-\u003et_updates++;\n\n    -\u003e ext3_journal_stop()\n        -\u003e journal_stop()\n\tJ_ASSERT(transaction-\u003et_updates \u003e 0)\n\nIf journal was aborted in middle of journal_restart(), ext3_truncate()\nmay trigger J_ASSERT().\n\nSigned-off-by: OGAWA Hirofumi \u003chirofumi@mail.parknet.co.jp\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": "e9ad5620bfb901df8a7a2603c88689ededeecaf1",
      "tree": "82a2b22e1b7401b98fc2f201b8df2db05764332a",
      "parents": [
        "7543fc7b3abfee8c6cd6349ebd5e5fde02fac984"
      ],
      "author": {
        "name": "Dave Kleikamp",
        "email": "shaggy@austin.ibm.com",
        "time": "Wed Sep 27 01:49:35 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Sep 27 08:26:10 2006 -0700"
      },
      "message": "[PATCH] ext3: More whitespace cleanups\n\nMore white space cleanups in preparation of cloning ext4 from ext3.\nRemoving spaces that precede a tab.\n\nSigned-off-by: Dave Kleikamp \u003cshaggy@austin.ibm.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": "4cfb04a9d3d6865d932d02616b27b89d3a634026",
      "tree": "c4e50178d972ca9c4c9a90a23db413ed3ef66617",
      "parents": [
        "3b98b087fc2daab67518d2baa8aef19a6ad82723"
      ],
      "author": {
        "name": "Badari Pulavarty",
        "email": "pbadari@us.ibm.com",
        "time": "Thu Aug 31 21:27:54 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Sep 01 11:39:10 2006 -0700"
      },
      "message": "[PATCH] manage-jbd-its-own-slab fix\n\nMissed a place where I forgot to convert kfree() to kmem_cache_free() as\npart of jbd-manage-its-own-slab changes.\n\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": "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": "304c4c841a31c780a45d65e389b07706babf5d36",
      "tree": "d5fed361a127e46c1a99d72ef907e1c6b03a1abe",
      "parents": [
        "22722051fb6bcbb95c895e68dad10d34a9db7e4d"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@osdl.org",
        "time": "Fri Jun 23 02:05:31 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Jun 23 07:43:05 2006 -0700"
      },
      "message": "[PATCH] jbd: avoid kfree(NULL)\n\nThere are a couple of places where JBD has to check to see whether an unneeded\nmemory allocation was performed.  Usually it _was_ needed, so we end up\ncalling kfree(NULL).  We can micro-optimise that by checking the pointer\nbefore calling kfree().\n\nThanks to Steven Rostedt \u003crostedt@goodmis.org\u003e for identifying this.\n\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": "2ff28e22bdb8727fbc7d7889807bc5a73aae56c5",
      "tree": "f7418aa963d729bf9fe8bd44d6c9b6e424a6c6bf",
      "parents": [
        "3978d7179d3849848df8a37dd0a5acc20bcb8750"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Sun Mar 26 01:37:18 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Mar 26 08:56:55 2006 -0800"
      },
      "message": "[PATCH] Make address_space_operations-\u003einvalidatepage return void\n\nThe return value of this function is never used, so let\u0027s be honest and\ndeclare it as void.\n\nSome places where invalidatepage returned 0, I have inserted comments\nsuggesting a BUG_ON.\n\n[akpm@osdl.org: JBD BUG fix]\n[akpm@osdl.org: rework for git-nfs]\n[akpm@osdl.org: don\u0027t go BUG in block_invalidate_page()]\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\nAcked-by: Dave Kleikamp \u003cshaggy@austin.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "e3df18983ea090a2e00dd5c2c6167bb431a0e0a2",
      "tree": "99f7944da7c8c85eed6738c1ef9f357f7dcae928",
      "parents": [
        "1d9b7d97d6661edb44ce08f17e47c66d4ac20e34"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@osdl.org",
        "time": "Sat Mar 25 03:06:53 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sat Mar 25 08:22:50 2006 -0800"
      },
      "message": "[PATCH] jbd: embed j_commit_timer in journal struct\n\nThe kjournald timer is currently on the kernel thread\u0027s stack and the journal\nstructure points at it.  Save a pointer hop by moving the timer into the\njournal structure.\n\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "2c68ee754c40099c59828e59618a54726f76126a",
      "tree": "b656a0caa9b31749b5b6f9a3f7a1f3ffc482552c",
      "parents": [
        "f24075bd0c1cd1cc2cf86d394f960aa0401de573"
      ],
      "author": {
        "name": "Arjan van de Ven",
        "email": "arjan@infradead.org",
        "time": "Thu Mar 23 03:00:35 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Thu Mar 23 07:38:12 2006 -0800"
      },
      "message": "[PATCH] sem2mutex: jbd, j_checkpoint_mutex\n\nSemaphore to mutex conversion.\n\nThe conversion was generated via scripts, and the result was validated\nautomatically via a script as well.\n\nSigned-off-by: Arjan van de Ven \u003carjan@infradead.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "fe1dcbc4f311c2e6c23b33c0fa8572461618ab3e",
      "tree": "189e935ff275bba20629e46e2832bd523acf6cff",
      "parents": [
        "bc5e483da61eb5ab8d24b4a919fb512e5886d02c"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@osdl.org",
        "time": "Sat Feb 04 23:27:54 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Feb 05 11:06:53 2006 -0800"
      },
      "message": "[PATCH] jbd: fix transaction batching\n\nBen points out that:\n\n  When writing files out using O_SYNC, jbd\u0027s 1 jiffy delay results in a\n  significant drop in throughput as the disk sits idle.  The patch below\n  results in a 4-5x performance improvement (from 6.5MB/s to ~24-30MB/s on my\n  IDE test box) when writing out files using O_SYNC.\n\nSo optimise the batching code by omitting it entirely if the process which is\ndoing a sync write is the same as the one which did the most recent sync\nwrite.  If that\u0027s true, we\u0027re unlikely to get any other processes joining the\ntransaction.\n\n(Has been in -mm for ages - it took me a long time to get on to performance\ntesting it)\n\nNumbers, on write-cache-disabled IDE:\n\n/usr/bin/time -p synctest -n 10 -uf -t 1 -p 1 dir-name\n\nUnpatched:\n\t40 seconds\nPatched:\n\t35 seconds\nBatching disabled:\n\t35 seconds\n\nThis is the problematic single-process-doing-fsync case.  With multiple\nfsyncing processes the numbers are AFACIT unaltered by the patch.\n\nAside: performance testing and instrumentation shows that the transaction\nbatching almost doesn\u0027t help (testing with synctest -n 1 -uf -t 100 -p 10\ndir-name on non-writeback-caching IDE).  This is because by the time one\nprocess is running a synchronous commit, a bunch of other processes already\nhave a transaction handle open, so they\u0027re all going to batch into the same\ntransaction anyway.\n\nThe batching seems to offer maybe 5-10% speedup with this workload, but I\u0027m\npretty sure it was more important than that when it was first developed 4-odd\nyears ago...\n\nCc: \"Stephen C. Tweedie\" \u003csct@redhat.com\u003e\nCc: Benjamin LaHaise \u003cbcrl@kvack.org\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": "27496a8c67bef4d789d8e3c8317ca35813a507ae",
      "tree": "fe99a34fe5a800e41af61853e7444ddddf45d014",
      "parents": [
        "7d877f3bda870ab5f001bd92528654471d5966b3"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Fri Oct 21 03:20:48 2005 -0400"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Oct 28 08:16:47 2005 -0700"
      },
      "message": "[PATCH] gfp_t: fs/*\n\n - -\u003ereleasepage() annotated (s/int/gfp_t), instances updated\n - missing gfp_t in fs/* added\n - fixed misannotation from the original sweep caught by bitwise checks:\n   XFS used __nocast both for gfp_t and for flags used by XFS allocator.\n   The latter left with unsigned int __nocast; we might want to add a\n   different type for those but for now let\u0027s leave them alone.  That,\n   BTW, is a case when __nocast use had been actively confusing - it had\n   been used in the same code for two different and similar types, with\n   no way to catch misuses.  Switch of gfp_t to bitwise had caught that\n   immediately...\n\nOne tricky bit is left alone to be dealt with later - mapping-\u003eflags is\na mix of gfp_t and error indications.  Left alone for now.\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "041e0e3b1970c508dc9a95b7dd9dc86271a7d7ac",
      "tree": "41ff880a87412cf55eb12425e916fda57955ee5c",
      "parents": [
        "373016e9e1353f2af871993d27d00768f08cc883"
      ],
      "author": {
        "name": "Nishanth Aravamudan",
        "email": "nacc@us.ibm.com",
        "time": "Sat Sep 10 00:27:23 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sat Sep 10 10:06:36 2005 -0700"
      },
      "message": "[PATCH] fs: fix-up schedule_timeout() usage\n\nUse schedule_timeout_{,un}interruptible() instead of\nset_current_state()/schedule_timeout() to reduce kernel size.  Also use helper\nfunctions to convert between human time units and jiffies rather than constant\nHZ division to avoid rounding errors.\n\nSigned-off-by: Nishanth Aravamudan \u003cnacc@us.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "4407c2b6b297339e296facf62e020cf66e55053d",
      "tree": "485d60b1cb5c6013d09a0327355e216b202bd8ed",
      "parents": [
        "e39f07c83bac96850265b87a69dfc5c90ed4f1f5"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Tue Sep 06 15:19:17 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Sep 07 16:57:57 2005 -0700"
      },
      "message": "[PATCH] Fix race in do_get_write_access()\n\n  attached patch should fix the following race:\n     Proc 1                               Proc 2\n\n     __flush_batch()\n       ll_rw_block()\n                                        do_get_write_access()\n\t\t\t\t\t   lock_buffer\n                                             jh is only waiting for checkpoint\n\t\t\t\t\t     -\u003e b_transaction \u003d\u003d NULL -\u003e\n\t\t\t\t\t     do nothing\n                                           unlock_buffer\n    test_set_buffer_locked()\n    test_clear_buffer_dirty()\n                                           __journal_file_buffer()\n                                        change the data\n    submit_bh()\n\nand we have sent wrong data to disk...  We now clean the dirty buffer flag\nunder buffer lock in all cases and hence we know that whenever a buffer is\nstarting to be journaled we either finish the pending write-out before\nattaching a buffer to a transaction or we won\u0027t write the buffer until the\ntransaction is going to be committed.\n\nThe test in jbd_unexpected_dirty_buffer() is redundant - remove it.\nFurthermore we have to clear the buffer dirty bit under the buffer lock to\nprevent races with buffer write-out (and hence prevent returning a buffer with\nIO happening).\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": "d13df84ff7f3f3e26a9643c1d3cbf94cef9b5b59",
      "tree": "9531a56973381aa48a10fbc7073d1109f380d550",
      "parents": [
        "19272d4385126c2ac369c9f6137a27a08aee50d1"
      ],
      "author": {
        "name": "akpm@osdl.org",
        "email": "akpm@osdl.org",
        "time": "Sat Apr 16 15:26:36 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sat Apr 16 15:26:36 2005 -0700"
      },
      "message": "[PATCH] jbd dirty buffer leak fix\n\nThis fixes the lots-of-fsx-linux-instances-cause-a-slow-leak bug.\n\nIt\u0027s been there since 2.6.6, caused by:\n\nftp://ftp.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.5/2.6.5-mm4/broken-out/jbd-move-locked-buffers.patch\n\nThat patch moves under-writeout ordered-data buffers onto a separate journal\nlist during commit.  It took out the old code which was based on a single\nlist.\n\nThe old code (necessarily) had logic which would restart I/O against buffers\nwhich had been redirtied while they were on the committing transaction\u0027s\nt_sync_datalist list.  The new code only writes buffers once, ignoring\nredirtyings by a later transaction, which is good.\n\nBut over on the truncate side of things, in journal_unmap_buffer(), we\u0027re\ntreating buffers on the t_locked_list as inviolable things which belong to the\ncommitting transaction, and we just leave them alone during concurrent\ntruncate-vs-commit.\n\nThe net effect is that when truncate tries to invalidate a page whose buffers\nare on t_locked_list and have been redirtied, journal_unmap_buffer() just\nleaves those buffers alone.  truncate will remove the page from its mapping\nand we end up with an anonymous clean page with dirty buffers, which is an\nillegal state for a page.  The JBD commit will not clean those buffers as they\nare removed from t_locked_list.  The VM (try_to_free_buffers) cannot reclaim\nthese pages.\n\nThe patch teaches journal_unmap_buffer() about buffers which are on the\ncommitting transaction\u0027s t_locked_list.  These buffers have been written and\nI/O has completed.  We can take them off the transaction and undirty them\nwithin the context of journal_invalidatepage()-\u003ejournal_unmap_buffer().\n\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": "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"
    }
  ]
}
