)]}'
{
  "log": [
    {
      "commit": "fd2cbd4dfa3db477dd6226d387d3f1911d36a6a9",
      "tree": "b0ada946d14cdcf5db6da2d177be9590a3449e9a",
      "parents": [
        "1ce8486dcc00c1e095af8d155fa4451936b89013"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Sat Apr 07 11:05:19 2012 +0200"
      },
      "committer": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Tue May 15 23:34:37 2012 +0200"
      },
      "message": "jbd: Write journal superblock with WRITE_FUA after checkpointing\n\nIf journal superblock is written only in disk\u0027s caches and other transaction\nstarts reusing space of the transaction cleaned from the log, it can happen\nblocks of a new transaction reach the disk before journal superblock. When\npower failure happens in such case, subsequent journal replay would still try\nto replay the old transaction but some of it\u0027s blocks may be already\noverwritten by the new transaction. For this reason we must use WRITE_FUA when\nupdating log tail and we must first write new log tail to disk and update\nin-memory information only after that.\n\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\n"
    },
    {
      "commit": "1ce8486dcc00c1e095af8d155fa4451936b89013",
      "tree": "416fc385dc25993f0a968d1a78fb07dd0b79be34",
      "parents": [
        "9754e39c7bc51328f145e933bfb0df47cd67b6e9"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Sat Apr 07 12:50:13 2012 +0200"
      },
      "committer": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Tue May 15 23:34:36 2012 +0200"
      },
      "message": "jbd: protect all log tail updates with j_checkpoint_mutex\n\nThere are some log tail updates that are not protected by j_checkpoint_mutex.\nSome of these are harmless because they happen during startup or shutdown but\nupdates in journal_commit_transaction() and journal_flush() can really race\nwith other log tail updates (e.g. someone doing journal_flush() with someone\nrunning cleanup_journal_tail()). So protect all log tail updates with\nj_checkpoint_mutex.\n\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\n"
    },
    {
      "commit": "9754e39c7bc51328f145e933bfb0df47cd67b6e9",
      "tree": "d2fa043f74939d049d6934aea6ab7b1c272be8a5",
      "parents": [
        "f72cf5e223a28d3b3ea7dc9e40464fd534e359e8"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Sat Apr 07 12:33:03 2012 +0200"
      },
      "committer": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Tue May 15 23:34:36 2012 +0200"
      },
      "message": "jbd: Split updating of journal superblock and marking journal empty\n\nThere are three case of updating journal superblock. In the first case, we want\nto mark journal as empty (setting s_sequence to 0), in the second case we want\nto update log tail, in the third case we want to update s_errno. Split these\ncases into separate functions. It makes the code slightly more straightforward\nand later patches will make the distinction even more important.\n\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\n"
    },
    {
      "commit": "2db938bee32e7469ca8ed9bfb3a05535f28c680d",
      "tree": "7d175a486c2e02270839ba18da61455603c2205e",
      "parents": [
        "923e9a1399b620d063cd88537c64561bc3d5f905"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Mon Feb 21 17:25:37 2011 +0100"
      },
      "committer": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Wed Apr 11 11:12:44 2012 +0200"
      },
      "message": "jbd: Refine commit writeout logic\n\nCurrently we write out all journal buffers in WRITE_SYNC mode. This improves\nperformance for fsync heavy workloads but hinders performance when writes\nare mostly asynchronous, most noticably it slows down readers and users\ncomplain about slow desktop response etc.\n\nSo submit writes as asynchronous in the normal case and only submit writes as\nWRITE_SYNC if we detect someone is waiting for current transaction commit.\n\nI\u0027ve gathered some numbers to back this change. The first is the read latency\ntest. It measures time to read 1 MB after several seconds of sleeping in\npresence of streaming writes.\n\nTop 10 times (out of 90) in us:\nBefore\t\tAfter\n2131586\t\t697473\n1709932\t\t557487\n1564598\t\t535642\n1480462\t\t347573\n1478579\t\t323153\n1408496\t\t222181\n1388960\t\t181273\n1329565\t\t181070\n1252486\t\t172832\n1223265\t\t172278\n\nAverage:\n619377\t\t82180\n\nSo the improvement in both maximum and average latency is massive.\n\nI\u0027ve measured fsync throughput by:\nfs_mark -n 100 -t 1 -s 16384 -d /mnt/fsync/ -S 1 -L 4\n\nin presence of streaming reader. The numbers (fsyncs/s) are:\nBefore\t\tAfter\n9.9\t\t6.3\n6.8\t\t6.0\n6.3\t\t6.2\n5.8\t\t6.1\n\nSo fsync performance seems unharmed by this change.\n\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\n"
    },
    {
      "commit": "c7c66c0cb0c77b1a8edf09bca57d922312d58030",
      "tree": "77277103c5f16aa4dee64978a060933d92e14776",
      "parents": [
        "9f3938346a5c1fa504647670edb5fea5756cfb00",
        "98e8bdafeb4728a6af7bbcbcc3984967d1cf2bc1"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 21 10:15:51 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 21 10:15:51 2012 -0700"
      },
      "message": "Merge tag \u0027pm-for-3.4\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm\n\nPull power management updates for 3.4 from Rafael Wysocki:\n \"Assorted extensions and fixes including:\n\n  * Introduction of early/late suspend/hibernation device callbacks.\n  * Generic PM domains extensions and fixes.\n  * devfreq updates from Axel Lin and MyungJoo Ham.\n  * Device PM QoS updates.\n  * Fixes of concurrency problems with wakeup sources.\n  * System suspend and hibernation fixes.\"\n\n* tag \u0027pm-for-3.4\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm: (43 commits)\n  PM / Domains: Check domain status during hibernation restore of devices\n  PM / devfreq: add relation of recommended frequency.\n  PM / shmobile: Make MTU2 driver use pm_genpd_dev_always_on()\n  PM / shmobile: Make CMT driver use pm_genpd_dev_always_on()\n  PM / shmobile: Make TMU driver use pm_genpd_dev_always_on()\n  PM / Domains: Introduce \"always on\" device flag\n  PM / Domains: Fix hibernation restore of devices, v2\n  PM / Domains: Fix handling of wakeup devices during system resume\n  sh_mmcif / PM: Use PM QoS latency constraint\n  tmio_mmc / PM: Use PM QoS latency constraint\n  PM / QoS: Make it possible to expose PM QoS latency constraints\n  PM / Sleep: JBD and JBD2 missing set_freezable()\n  PM / Domains: Fix include for PM_GENERIC_DOMAINS\u003dn case\n  PM / Freezer: Remove references to TIF_FREEZE in comments\n  PM / Sleep: Add more wakeup source initialization routines\n  PM / Hibernate: Enable usermodehelpers in hibernate() error path\n  PM / Sleep: Make __pm_stay_awake() delete wakeup source timers\n  PM / Sleep: Fix race conditions related to wakeup source timer function\n  PM / Sleep: Fix possible infinite loop during wakeup source destruction\n  PM / Hibernate: print physical addresses consistently with other parts of kernel\n  ...\n"
    },
    {
      "commit": "8fb53c46d9c9322fc5a8e53038ceb0d243059c25",
      "tree": "7fc80c0f840fd90dd3347de226935a7d0d7c950a",
      "parents": [
        "d93492855ff307ce9d699e36d966af3420b80bb3"
      ],
      "author": {
        "name": "Cong Wang",
        "email": "amwang@redhat.com",
        "time": "Fri Nov 25 23:14:31 2011 +0800"
      },
      "committer": {
        "name": "Cong Wang",
        "email": "xiyou.wangcong@gmail.com",
        "time": "Tue Mar 20 21:48:23 2012 +0800"
      },
      "message": "jbd: remove the second argument of k[un]map_atomic()\n\nAcked-by: Jan Kara \u003cjack@suse.cz\u003e\nSigned-off-by: Cong Wang \u003camwang@redhat.com\u003e\n"
    },
    {
      "commit": "35c80422afc8394d1ecbab3c0b17fcd539e4e5c2",
      "tree": "ff01c1ed95ea4ca6656f43e87f29a1a54a633106",
      "parents": [
        "37f08be11be9a7d9351fb1b9b408259519a126f3"
      ],
      "author": {
        "name": "Nigel Cunningham",
        "email": "nigel@tuxonice.net",
        "time": "Fri Feb 03 19:59:41 2012 +1100"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Tue Mar 13 22:36:44 2012 +0100"
      },
      "message": "PM / Sleep: JBD and JBD2 missing set_freezable()\n\nWith the latest and greatest changes to the freezer, I started seeing\npanics that were caused by jbd2 running post-process freezing and\nhitting the canary BUG_ON for non-TuxOnIce I/O submission. I\u0027ve traced\nthis back to a lack of set_freezable calls in both jbd and jbd2. Since\nthey\u0027re clearly meant to be frozen (there are tests for freezing()), I\nsubmit the following patch to add the missing calls.\n\nSigned-off-by: Nigel Cunningham \u003cnigel@tuxonice.net\u003e\nAcked-by: Jan Kara \u003cjack@suse.cz\u003e\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\n"
    },
    {
      "commit": "ac69e0928054ff29a5049902fb477f9c7605c773",
      "tree": "05be6b9285186823452e0adeffe40e1dfee6e354",
      "parents": [
        "9e203936eac786f9268d6a13e6442d2accef1829",
        "302bf2f3259948c93361d501b04a5ed69c3bd4f8"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jan 09 12:51:21 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jan 09 12:51:21 2012 -0800"
      },
      "message": "Merge branch \u0027for_linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-fs\n\n* \u0027for_linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-fs:\n  ext2/3/4: delete unneeded includes of module.h\n  ext{3,4}: Fix potential race when setversion ioctl updates inode\n  udf: Mark LVID buffer as uptodate before marking it dirty\n  ext3: Don\u0027t warn from writepage when readonly inode is spotted after error\n  jbd: Remove j_barrier mutex\n  reiserfs: Force inode evictions before umount to avoid crash\n  reiserfs: Fix quota mount option parsing\n  udf: Treat symlink component of type 2 as /\n  udf: Fix deadlock when converting file from in-ICB one to normal one\n  udf: Cleanup calling convention of inode_getblk()\n  ext2: Fix error handling on inode bitmap corruption\n  ext3: Fix error handling on inode bitmap corruption\n  ext3: replace ll_rw_block with other functions\n  ext3: NULL dereference in ext3_evict_inode()\n  jbd: clear revoked flag on buffers before a new transaction started\n  ext3: call ext3_mark_recovery_complete() when recovery is really needed\n"
    },
    {
      "commit": "0048278552e9752fd578c3d8deee756987c10873",
      "tree": "0931a7ff6aa5c388eb40e2a97fdcebe59bbae337",
      "parents": [
        "a9e36da655e54545c3289b2a0700b5c443de0edd"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Thu Dec 22 14:52:21 2011 +0100"
      },
      "committer": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Mon Jan 09 13:52:09 2012 +0100"
      },
      "message": "jbd: Remove j_barrier mutex\n\nj_barrier mutex is used for serializing different journal lock operations.  The\nproblem with it is that e.g. FIFREEZE ioctl results in process leaving kernel\nwith j_barrier mutex held which makes lockdep freak out. Also hibernation code\nwants to freeze filesystem but it cannot do so because it then cannot hibernate\nthe system because of mutex being locked.\n\nSo we remove j_barrier mutex and use direct wait on j_barrier_count instead.\nSince locking journal is a rare operation we don\u0027t have to care about fairness\nor such things.\n\nCC: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nAcked-by: Joel Becker \u003cjlbec@evilplan.org\u003e\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\n"
    },
    {
      "commit": "a0acae0e886d44bd5ce6d2f173c1ace0fcf0d9f6",
      "tree": "0b763388360a5a9043986e1f2201e43df74ebc46",
      "parents": [
        "3a7cbd50f74907580eb47a8d08e1f29741b81abf"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Mon Nov 21 12:32:22 2011 -0800"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Mon Nov 21 12:32:22 2011 -0800"
      },
      "message": "freezer: unexport refrigerator() and update try_to_freeze() slightly\n\nThere is no reason to export two functions for entering the\nrefrigerator.  Calling refrigerator() instead of try_to_freeze()\ndoesn\u0027t save anything noticeable or removes any race condition.\n\n* Rename refrigerator() to __refrigerator() and make it return bool\n  indicating whether it scheduled out for freezing.\n\n* Update try_to_freeze() to return bool and relay the return value of\n  __refrigerator() if freezing().\n\n* Convert all refrigerator() users to try_to_freeze().\n\n* Update documentation accordingly.\n\n* While at it, add might_sleep() to try_to_freeze().\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nCc: Samuel Ortiz \u003csamuel@sortiz.org\u003e\nCc: Chris Mason \u003cchris.mason@oracle.com\u003e\nCc: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\nCc: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nCc: Jan Kara \u003cjack@suse.cz\u003e\nCc: KONISHI Ryusuke \u003ckonishi.ryusuke@lab.ntt.co.jp\u003e\nCc: Christoph Hellwig \u003chch@infradead.org\u003e\n"
    },
    {
      "commit": "8762202dd0d6e46854f786bdb6fb3780a1625efe",
      "tree": "0fe3a7e102bfefa0bbb5810f934fbf93840459dd",
      "parents": [
        "bf52c6f7af55c48ab0fd5f990460b884b428d906"
      ],
      "author": {
        "name": "Eryu Guan",
        "email": "guaneryu@gmail.com",
        "time": "Tue Nov 01 19:04:59 2011 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Tue Nov 01 19:04:59 2011 -0400"
      },
      "message": "jbd/jbd2: validate sb-\u003es_first in journal_get_superblock()\n\nI hit a J_ASSERT(blocknr !\u003d 0) failure in cleanup_journal_tail() when\nmounting a fsfuzzed ext3 image. It turns out that the corrupted ext3\nimage has s_first \u003d 0 in journal superblock, and the 0 is passed to\njournal-\u003ej_head in journal_reset(), then to blocknr in\ncleanup_journal_tail(), in the end the J_ASSERT failed.\n\nSo validate s_first after reading journal superblock from disk in\njournal_get_superblock() to ensure s_first is valid.\n\nThe following script could reproduce it:\n\nfstype\u003dext3\nblocksize\u003d1024\nimg\u003d$fstype.img\noffset\u003d0\nfound\u003d0\nmagic\u003d\"c0 3b 39 98\"\n\ndd if\u003d/dev/zero of\u003d$img bs\u003d1M count\u003d8\nmkfs -t $fstype -b $blocksize -F $img\nfilesize\u003d`stat -c %s $img`\nwhile [ $offset -lt $filesize ]\ndo\n        if od -j $offset -N 4 -t x1 $img | grep -i \"$magic\";then\n                echo \"Found journal: $offset\"\n                found\u003d1\n                break\n        fi\n        offset\u003d`echo \"$offset+$blocksize\" | bc`\ndone\n\nif [ $found -ne 1 ];then\n        echo \"Magic \\\"$magic\\\" not found\"\n        exit 1\nfi\n\ndd if\u003d/dev/zero of\u003d$img seek\u003d$(($offset+23)) conv\u003dnotrunc bs\u003d1 count\u003d1\n\nmkdir -p ./mnt\nmount -o loop $img ./mnt\n\nCc: Jan Kara \u003cjack@suse.cz\u003e\nSigned-off-by: Eryu Guan \u003cguaneryu@gmail.com\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "bb189247f35688a3353545902c56290fb7d7754a",
      "tree": "02f93da7f642f3e59050d1c2837a7a8a8e61b3aa",
      "parents": [
        "2c2ea9451fc2a12ee57c8346f0da26969d07ee7f"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Fri Jun 24 23:11:59 2011 +0200"
      },
      "committer": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Mon Jun 27 11:44:37 2011 +0200"
      },
      "message": "jbd: Fix oops in journal_remove_journal_head()\n\njournal_remove_journal_head() can oops when trying to access journal_head\nreturned by bh2jh(). This is caused for example by the following race:\n\n\tTASK1\t\t\t\t\tTASK2\n  journal_commit_transaction()\n    ...\n    processing t_forget list\n      __journal_refile_buffer(jh);\n      if (!jh-\u003eb_transaction) {\n        jbd_unlock_bh_state(bh);\n\t\t\t\t\tjournal_try_to_free_buffers()\n\t\t\t\t\t  journal_grab_journal_head(bh)\n\t\t\t\t\t  jbd_lock_bh_state(bh)\n\t\t\t\t\t  __journal_try_to_free_buffer()\n\t\t\t\t\t  journal_put_journal_head(jh)\n        journal_remove_journal_head(bh);\n\njournal_put_journal_head() in TASK2 sees that b_jcount \u003d\u003d 0 and buffer is not\npart of any transaction and thus frees journal_head before TASK1 gets to doing\nso. Note that even buffer_head can be released by try_to_free_buffers() after\njournal_put_journal_head() which adds even larger opportunity for oops (but I\ndidn\u0027t see this happen in reality).\n\nFix the problem by making transactions hold their own journal_head reference\n(in b_jcount). That way we don\u0027t have to remove journal_head explicitely via\njournal_remove_journal_head() and instead just remove journal_head when\nb_jcount drops to zero. The result of this is that [__]journal_refile_buffer(),\n[__]journal_unfile_buffer(), and __journal_remove_checkpoint() can free\njournal_head which needs modification of a few callers. Also we have to be\ncareful because once journal_head is removed, buffer_head might be freed as\nwell. So we have to get our own buffer_head reference where it matters.\n\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\n"
    },
    {
      "commit": "99cb1a318c37bf462c53d43f4dacb7b4896ce0c9",
      "tree": "32a9046649777e8cc589bbc8e0afb382642ba450",
      "parents": [
        "785c4bcc0d88ff006a0b2120815a71e86ecf21ce"
      ],
      "author": {
        "name": "Lukas Czerner",
        "email": "lczerner@redhat.com",
        "time": "Mon May 23 18:33:02 2011 +0200"
      },
      "committer": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Sat Jun 25 17:29:51 2011 +0200"
      },
      "message": "jbd: Add fixed tracepoints\n\nThis commit adds fixed tracepoint for jbd. It has been based on fixed\ntracepoints for jbd2, however there are missing those for collecting\nstatistics, since I think that it will require more intrusive patch so I\nshould have its own commit, if someone decide that it is needed. Also\nthere are new tracepoints in __journal_drop_transaction() and\njournal_update_superblock().\n\nThe list of jbd tracepoints:\n\njbd_checkpoint\njbd_start_commit\njbd_commit_locking\njbd_commit_flushing\njbd_commit_logging\njbd_drop_transaction\njbd_end_commit\njbd_do_submit_data\njbd_cleanup_journal_tail\njbd_update_superblock_end\n\nSigned-off-by: Lukas Czerner \u003clczerner@redhat.com\u003e\nCc: Jan Kara \u003cjack@suse.cz\u003e\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\n"
    },
    {
      "commit": "d9b01934d56a96d9f4ae2d6204d4ea78a36f5f36",
      "tree": "56a34d3c459bfac781b8f71d866caa7dd092b7c2",
      "parents": [
        "86c4f6d85595cd7da635dc6985d27bfa43b1ae10"
      ],
      "author": {
        "name": "Ted Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Sat Apr 30 13:17:11 2011 -0400"
      },
      "committer": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Tue May 17 13:47:41 2011 +0200"
      },
      "message": "jbd: fix fsync() tid wraparound bug\n\nIf an application program does not make any changes to the indirect\nblocks or extent tree, i_datasync_tid will not get updated.  If there\nare enough commits (i.e., 2**31) such that tid_geq()\u0027s calculations\nwrap, and there isn\u0027t a currently active transaction at the time of\nthe fdatasync() call, this can end up triggering a BUG_ON in\nfs/jbd/commit.c:\n\n\tJ_ASSERT(journal-\u003ej_running_transaction !\u003d NULL);\n\nIt\u0027s pretty rare that this can happen, since it requires the use of\nfdatasync() plus *very* frequent and excessive use of fsync().  But\nwith the right workload, it can.\n\nWe fix this by replacing the use of tid_geq() with an equality test,\nsince there\u0027s only one valid transaction id that is valid for us to\nstart: namely, the currently running transaction (if it exists).\n\nCC: stable@kernel.org\nReported-by: Martin_Zielinski@McAfee.com\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\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": "3c26bdb42320f9f39d30c6f115476bbb66b74dc5",
      "tree": "464b9ce0d2eb1875ef7cb676d5ec4f25645934a9",
      "parents": [
        "ce654b37f87980d95f339080e4c3bdb2370bdf22"
      ],
      "author": {
        "name": "Justin P. Mattock",
        "email": "justinmattock@gmail.com",
        "time": "Sat Feb 26 20:34:05 2011 -0800"
      },
      "committer": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Mon Feb 28 21:55:58 2011 +0100"
      },
      "message": "jbd: Remove one to many n\u0027s in a word.\n\nThe Patch below removes one to many \"n\u0027s\" in a word..\n\nSigned-off-by: Justin P. Mattock \u003cjustinmattock@gmail.com\u003e\nCC: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nCC: linux-ext4@vger.kernel.org\nAcked-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\n"
    },
    {
      "commit": "bcf3d0bcff9c2ab5794d9a2c5f0ebc9ce63cc63f",
      "tree": "e52f9059e1d0aab064a7a40dd214bab0e64e09d0",
      "parents": [
        "58c6ed38a16cd235588ed4a5ca3b213f055bc14c"
      ],
      "author": {
        "name": "Andrea Gelmini",
        "email": "andrea.gelmini@gelma.net",
        "time": "Sat Oct 16 15:19:14 2010 +0200"
      },
      "committer": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Thu Oct 28 01:30:05 2010 +0200"
      },
      "message": "jbd/2: fixed typos\n\n\"wakup\"\n\nSigned-off-by: Andrea Gelmini \u003candrea.gelmini@gelma.net\u003e\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\n"
    },
    {
      "commit": "2a0e33889b3f5e3c270dd1b746f4c0a75efa4790",
      "tree": "322394e75daccaf692a4adb388efa596a231a59b",
      "parents": [
        "81a4e320e6ee29bde3fe880ab87b2122bc1de88b"
      ],
      "author": {
        "name": "Namhyung Kim",
        "email": "namhyung@gmail.com",
        "time": "Wed Oct 13 17:17:18 2010 +0900"
      },
      "committer": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Thu Oct 28 01:30:04 2010 +0200"
      },
      "message": "jbd: Check return value of __getblk()\n\nFail journal creation if __getblk() returns NULL.  unlikely() is\nadded because it is called in a loop and we\u0027ve been OK without\nthe check until now.\n\nSigned-off-by: Namhyung Kim \u003cnamhyung@gmail.com\u003e\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\n"
    },
    {
      "commit": "dff6825e9fde93891e60751e01480337a991235e",
      "tree": "3b243584ee48752096b110c04ecd803e285325ae",
      "parents": [
        "8117f98c058dbe463eaba2b51b84d19bd5d78804"
      ],
      "author": {
        "name": "Darrick J. Wong",
        "email": "djwong@us.ibm.com",
        "time": "Mon Oct 04 12:35:05 2010 -0700"
      },
      "committer": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Thu Oct 28 01:30:02 2010 +0200"
      },
      "message": "ext3/jbd: Avoid WARN() messages when failing to write the superblock\n\nThis fixes a WARN backtrace in mark_buffer_dirty() that occurs during unmount\nwhen the underlying block device is removed.  This bug has been seen on System\nZ when removing all paths from a multipath-backed ext3 mount; on System P when\ninjecting enough PCI EEH errors to make the SCSI controller go offline; and\nsimilar warnings have been seen (and patched) with ext2/ext4.\n\nThe super block update from a previous operation has marked the buffer as in\nerror, and the flag has to be cleared before doing the update. Similar changes\nhave been made to ext4 by commit 914258bf2cb22bf4336a1b1d90c551b4b11ca5aa.\n\nSigned-off-by: Darrick J. Wong \u003cdjwong@us.ibm.com\u003e\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\n"
    },
    {
      "commit": "f81e3d4564a06c5a070337ba527d11865acecb67",
      "tree": "43fb5d4872c64b10421e588ab909c7d9ffcdb7e5",
      "parents": [
        "c5639bef63a241d8d5a00e5243d7f304d7563c46"
      ],
      "author": {
        "name": "Namhyung Kim",
        "email": "namhyung@gmail.com",
        "time": "Mon Oct 04 19:12:13 2010 +0900"
      },
      "committer": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Thu Oct 28 01:30:01 2010 +0200"
      },
      "message": "jbd: Use printk_ratelimited() in journal_alloc_journal_head()\n\nUse printk_ratelimited() instead of doing it manually.\n\nSigned-off-by: Namhyung Kim \u003cnamhyung@gmail.com\u003e\nSigned-off-by: Jan Kara \u003cjack@suse.cz\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": "0411ba7902e09111d6f2041b4697a597d2cf7736",
      "tree": "65927286bf15ae9161c3ffd2a0f65bea1e8faa6a",
      "parents": [
        "189eef59e70e3e56edf726864629f310d114eefb"
      ],
      "author": {
        "name": "Andi Kleen",
        "email": "andi@firstfloor.org",
        "time": "Thu Jun 10 13:10:53 2010 +0200"
      },
      "committer": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Wed Jul 21 16:01:47 2010 +0200"
      },
      "message": "ext3: Fix set but unused variables\n\n[tytso@mit.edu: Fix compilation with CONFIG_JBD_DEBUG enabled]\n\nAcked-by: tytso@mit.edu\ncc: linux-ext4@vger.kernel.org\nSigned-off-by: Andi Kleen \u003cak@linux.intel.com\u003e\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\n"
    },
    {
      "commit": "5277970878a32e437b27296e34c592e5d351f11d",
      "tree": "64f41152b95e670935192ee6061653d922b642f3",
      "parents": [
        "03f4d804a1b4748885dc4613a4afe10089a731c8"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Thu Apr 15 22:24:26 2010 +0200"
      },
      "committer": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Fri May 21 19:30:41 2010 +0200"
      },
      "message": "ext3: Fix waiting on transaction during fsync\n\nlog_start_commit() returns 1 only when it started a transaction\ncommit. Thus in case transaction commit is already running, we\nfail to wait for the commit to finish. Fix the issue by always\nwaiting for the commit regardless of the log_start_commit return\nvalue.\n\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\n"
    },
    {
      "commit": "03f4d804a1b4748885dc4613a4afe10089a731c8",
      "tree": "f2d7be9a0205496f14d61e6a8fe62277e653fab8",
      "parents": [
        "311b9549ed2bb0f2c2257781c3e88cb00505e80e"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Thu Apr 15 22:16:24 2010 +0200"
      },
      "committer": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Fri May 21 19:30:40 2010 +0200"
      },
      "message": "jbd: Provide function to check whether transaction will issue data barrier\n\nProvide a function which returns whether a transaction with given tid\nwill send a barrier to the filesystem device. The function will be used\nby ext3 to detect whether fsync needs to send a separate barrier or not.\n\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\n"
    },
    {
      "commit": "765f8361902d015c864d5e62019b2f139452d7ef",
      "tree": "f872385ae91fc926b036038e583a7f72ab5f3459",
      "parents": [
        "39bc680a8160bb9d6743f7873b535d553ff61058"
      ],
      "author": {
        "name": "Yin Kangkai",
        "email": "kangkai.yin@intel.com",
        "time": "Tue Dec 15 14:48:25 2009 -0800"
      },
      "committer": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Wed Dec 23 13:44:13 2009 +0100"
      },
      "message": "jbd: jbd-debug and jbd2-debug should be writable\n\njbd-debug and jbd2-debug is currently read-only (S_IRUGO), which is not\ncorrect. Make it writable so that we can start debuging.\n\nSigned-off-by: Yin Kangkai \u003ckangkai.yin@intel.com\u003e\nReviewed-by: Aneesh Kumar K.V \u003caneesh.kumar@linux.vnet.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\n"
    },
    {
      "commit": "ff5e4b51a397568c6a2901903c35a4bfaaf752a4",
      "tree": "ce0561bb54b4bd433cd8797e31817d25235a7c13",
      "parents": [
        "aa021baa3295fa6e3f367d80f8955dd5176656eb"
      ],
      "author": {
        "name": "Stefan Schmidt",
        "email": "stefan@datenfreihafen.org",
        "time": "Thu Nov 12 09:53:50 2009 +0100"
      },
      "committer": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Thu Nov 12 10:24:12 2009 +0100"
      },
      "message": "fs/jbd: Export log_start_commit to fix ext3 build.\n\nThis fixes:\nERROR: \"log_start_commit\" [fs/ext3/ext3.ko] undefined!\n\nSigned-off-by: Stefan Schmidt \u003cstefan@datenfreihafen.org\u003e\n"
    },
    {
      "commit": "7b02bec07efe1d6c7d48c786e0c1a38d28fe7245",
      "tree": "cb93e26c107052be83ba52a74652c44c3ba199da",
      "parents": [
        "fe8bc91c4c30122b357d197117705cfd4fabaf28"
      ],
      "author": {
        "name": "Tao Ma",
        "email": "tao.ma@oracle.com",
        "time": "Tue Nov 10 17:13:22 2009 +0800"
      },
      "committer": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Wed Nov 11 15:24:14 2009 +0100"
      },
      "message": "JBD/JBD2: free j_wbuf if journal init fails.\n\nIf journal init fails, we need to free j_wbuf.\n\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nCc: Jan Kara \u003cjack@suse.cz\u003e\nSigned-off-by: Tao Ma \u003ctao.ma@oracle.com\u003e\nSigned-off-by: Jan Kara \u003cjack@suse.cz\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": "f1015c447781729060c415f5133164c638561f25",
      "tree": "3fb03db8dc97bf9037cbdf91b71e28a2bbb8eed3",
      "parents": [
        "43237b5490e8f2f4679decd660064ff35ce490cc"
      ],
      "author": {
        "name": "dingdinghua",
        "email": "dingdinghua85@gmail.com",
        "time": "Wed Jul 15 21:42:05 2009 +0200"
      },
      "committer": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Tue Jul 21 11:54:42 2009 +0200"
      },
      "message": "jbd: fix race between write_metadata_buffer and get_write_access\n\nThe function journal_write_metadata_buffer() calls jbd_unlock_bh_state(bh_in)\ntoo early; this could potentially allow another thread to call get_write_access\non the buffer head, modify the data, and dirty it, and allowing the wrong data\nto be written into the journal.  Fortunately, if we lose this race, the only\ntime this will actually cause filesystem corruption is if there is a system\ncrash or other unclean shutdown of the system before the next commit can take\nplace.\n\nSigned-off-by: dingdinghua \u003cdingdinghua85@gmail.com\u003e\nAcked-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\n"
    },
    {
      "commit": "7447a668a3860b66b3c9db86fdea91e355ba59ac",
      "tree": "f27e2c1df19e6558bce053e8ffa12bd121a30947",
      "parents": [
        "e9e961c9a818a2f24711af493b907a8e40a69efc"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Wed Jul 15 20:36:08 2009 +0200"
      },
      "committer": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Wed Jul 15 21:26:23 2009 +0200"
      },
      "message": "jbd: Fail to load a journal if it is too short\n\nDue to on disk corruption, it can happen that journal is too short. Fail\nto load it in such case so that we don\u0027t oops somewhere later.\n\nReported-by: Nageswara R Sastry \u003crnsastry@linux.vnet.ibm.com\u003e\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\n"
    },
    {
      "commit": "ecca9af0a98fdacfcdc73979d08481d7b27ff986",
      "tree": "41aa40eedd27799b2fa021138173c1adcabe89a5",
      "parents": [
        "039fd8ce6258e01ec29f1637f9bf1868dd877c55"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Thu Apr 02 16:57:13 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Apr 02 19:04:52 2009 -0700"
      },
      "message": "jbd: fix oops in jbd_journal_init_inode() on corrupted fs\n\nOn 32-bit system with CONFIG_LBD getblk can fail because provided block\nnumber is too big. Make JBD gracefully handle that.\n\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\nCc: \u003cdmaciejak@fortinet.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": "8fe4cd0dc5ea43760c59eb256404188272cc95dd",
      "tree": "f02892b7393c60b98b51202d868fa12b0a2339e2",
      "parents": [
        "fc3501d411d34823fb9be248a95a0c44f945866f"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Wed Feb 11 13:04:25 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Feb 11 14:25:35 2009 -0800"
      },
      "message": "jbd: fix return value of journal_start_commit()\n\njournal_start_commit() returns 1 if either a transaction is committing or\nthe function has queued a transaction commit.  But it returns 0 if we\nraced with somebody queueing the transaction commit as well.  This\nresulted in ext3_sync_fs() not functioning correctly (description from\nArthur Jones): In the case of a data\u003dordered umount with pending long\nsymlinks which are delayed due to a long list of other I/O on the backing\nblock device, this causes the buffer associated with the long symlinks to\nnot be moved to the inode dirty list in the second phase of fsync_super.\nThen, before they can be dirtied again, kjournald exits, seeing the UMOUNT\nflag and the dirty pages are never written to the backing block device,\ncausing long symlink corruption and exposing new or previously freed block\ndata to userspace.\n\nThis can be reproduced with a script created by Eric Sandeen\n\u003csandeen@redhat.com\u003e:\n\n        #!/bin/bash\n\n        umount /mnt/test2\n        mount /dev/sdb4 /mnt/test2\n        rm -f /mnt/test2/*\n        dd if\u003d/dev/zero of\u003d/mnt/test2/bigfile bs\u003d1M count\u003d512\n        touch /mnt/test2/thisisveryveryveryveryveryveryveryveryveryveryveryveryveryveryveryverylongfilename\n        ln -s /mnt/test2/thisisveryveryveryveryveryveryveryveryveryveryveryveryveryveryveryverylongfilename\n        /mnt/test2/link\n        umount /mnt/test2\n        mount /dev/sdb4 /mnt/test2\n        ls /mnt/test2/\n\nThis patch fixes journal_start_commit() to always return 1 when there\u0027s\na transaction committing or queued for commit.\n\nCc: Eric Sandeen \u003csandeen@redhat.com\u003e\nCc: Mike Snitzer \u003csnitzer@gmail.com\u003e\nCc: \u003clinux-ext4@vger.kernel.org\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": "4afe978530702c934dfdb11f54073136818b2119",
      "tree": "5f7fb9539b46c0b390157f55c84017e14b7f605c",
      "parents": [
        "66f50ee3cee4c9d98eea0add6f439e6e5e0ca4a5"
      ],
      "author": {
        "name": "Hidehiro Kawai",
        "email": "hidehiro.kawai.ez@hitachi.com",
        "time": "Wed Oct 22 14:15:00 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Oct 23 08:55:01 2008 -0700"
      },
      "message": "jbd: fix error handling for checkpoint io\n\nWhen a checkpointing IO fails, current JBD code doesn\u0027t check the error\nand continue journaling.  This means latest metadata can be lost from both\nthe journal and filesystem.\n\nThis patch leaves the failed metadata blocks in the journal space and\naborts journaling in the case of log_do_checkpoint().  To achieve this, we\nneed to do:\n\n1. don\u0027t remove the failed buffer from the checkpoint list where in\n   the case of __try_to_free_cp_buf() because it may be released or\n   overwritten by a later transaction\n2. log_do_checkpoint() is the last chance, remove the failed buffer\n   from the checkpoint list and abort the journal\n3. when checkpointing fails, don\u0027t update the journal super block to\n   prevent the journaled contents from being cleaned.  For safety,\n   don\u0027t update j_tail and j_tail_sequence either\n4. when checkpointing fails, notify this error to the ext3 layer so\n   that ext3 don\u0027t clear the needs_recovery flag, otherwise the\n   journaled contents are ignored and cleaned in the recovery phase\n5. if the recovery fails, keep the needs_recovery flag\n6. prevent cleanup_journal_tail() from being called between\n   __journal_drop_transaction() and journal_abort() (a race issue\n   between journal_flush() and __log_wait_for_space()\n\nSigned-off-by: Hidehiro Kawai \u003chidehiro.kawai.ez@hitachi.com\u003e\nAcked-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": "a10320e8f7c4dcfa050aac566092f29b40458d5a",
      "tree": "5ec4dbd114fb5700ba8f0edeea80eea75227d2bc",
      "parents": [
        "3ccc3167b0e5d46ab3bf03e22fbdb7616ce038cd"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@kernel.org",
        "time": "Fri Jul 25 01:46:26 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 25 10:53:32 2008 -0700"
      },
      "message": "jbd: unexport journal_update_superblock\n\nRemove the unused EXPORT_SYMBOL(journal_update_superblock).\n\nSigned-off-by: Adrian Bunk \u003cbunk@kernel.org\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": "3850f7a521dc17659ef6758a219f083418788490",
      "tree": "d576d48a13f4c31aef846dd7f178f3159c38e138",
      "parents": [
        "d06bf1d252fe16f5f0d13e04da7a9913420aa1cf"
      ],
      "author": {
        "name": "Duane Griffin",
        "email": "duaneg@dghda.com",
        "time": "Fri Jul 25 01:46:19 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 25 10:53:32 2008 -0700"
      },
      "message": "jbd: replace potentially false assertion with if block\n\nIf an error occurs during jbd cache initialisation it is possible for the\njournal_head_cache to be NULL when journal_destroy_journal_head_cache is\ncalled.  Replace the J_ASSERT with an if block to handle the situation\ncorrectly.\n\nNote that even with this fix things will break badly if jbd is statically\ncompiled in and cache initialisation fails.\n\nSigned-off-by: Duane Griffin \u003cduaneg@dghda.com\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": "0cf01f6685bef41dea37bbec606f375b7a98fd98",
      "tree": "554cd3af3f58b107c543b5eaae9b8be6db6ec794",
      "parents": [
        "0e82989d95cc46cc58622381eafa54f7428ee679"
      ],
      "author": {
        "name": "Randy Dunlap",
        "email": "randy.dunlap@oracle.com",
        "time": "Wed Mar 19 17:00:44 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 19 18:53:35 2008 -0700"
      },
      "message": "jbd: fix jbd kernel-doc notation\n\nFix kernel-doc notation in jbd.\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": "533083836fd55ca67ce35ab3d914b74ec1a5b9a8",
      "tree": "5dffe25ff6d049be33ffe6b3d0135cae45eb2a72",
      "parents": [
        "e86e14385d8473a71809ff5c2be4b06867af4b5e"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@kernel.org",
        "time": "Wed Feb 06 01:40:12 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Feb 06 10:41:20 2008 -0800"
      },
      "message": "make jbd/journal.c:__journal_abort_hard() static\n\n__journal_abort_hard() can now become static.\n\nSigned-off-by: Adrian Bunk \u003cbunk@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": "c2a9159cdd8b334a0dfaf69d8b07cd57b5272baa",
      "tree": "5a1d45afd49cd11d488173f6351bcfe432c2139a",
      "parents": [
        "1c099244485ff8bb93c2cd41304a445adc7f54e6"
      ],
      "author": {
        "name": "Jose R. Santos",
        "email": "jrs@us.ibm.com",
        "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: config_jbd_debug cannot create /proc entry\n\nThe jbd-debug file used to be located in /proc/sys/fs/jbd-debug, but\ncreate_proc_entry() does not do lookups on file names that are more that\none directory deep.  This causes the entry creation to fail and hence, no\nproc file is created.\n\nInstead of fixing this on procfs might as well move the jbd2-debug file to\ndebugfs which would be the preferred location for this kind of tunable.\nThe new location is now /sys/kernel/debug/jbd/jbd-debug.\n\n[akpm@linux-foundation.org: zillions of cleanups]\nSigned-off-by: Jose R. Santos \u003cjrs@us.ibm.com\u003e\nAcked-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": "8c3478a523a48470eb11a23f01249250684677d9",
      "tree": "5818d64427bcc1128fc74cc99e8f1fd1c9a54766",
      "parents": [
        "345225c8e4a4adad9eb261db26aebcd3b87055ad"
      ],
      "author": {
        "name": "Mingming Cao",
        "email": "cmm@us.ibm.com",
        "time": "Thu Oct 18 23:39:20 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Oct 19 11:53:34 2007 -0700"
      },
      "message": "JBD/ext3 cleanups: convert to kzalloc\n\nConvert kmalloc to kzalloc() and get rid of the memset().\n\nSigned-off-by: Mingming Cao \u003ccmm@us.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "c80544dc0b87bb65038355e7aafdc30be16b26ab",
      "tree": "176349304bec88a9de16e650c9919462e0dd453c",
      "parents": [
        "0e9663ee452ffce0d429656ebbcfe69417a30e92"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "shemminger@linux-foundation.org",
        "time": "Thu Oct 18 03:07:05 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Oct 18 14:37:31 2007 -0700"
      },
      "message": "sparse pointer use of zero as null\n\nGet rid of sparse related warnings from places that use integer as NULL\npointer.\n\n[akpm@linux-foundation.org: coding-style fixes]\nSigned-off-by: Stephen Hemminger \u003cshemminger@linux-foundation.org\u003e\nCc: Andi Kleen \u003cak@suse.de\u003e\nCc: Jeff Garzik \u003cjeff@garzik.org\u003e\nCc: Matt Mackall \u003cmpm@selenic.com\u003e\nCc: Ian Kent \u003craven@themaw.net\u003e\nCc: Arnd Bergmann \u003carnd@arndb.de\u003e\nCc: Davide Libenzi \u003cdavidel@xmailserver.org\u003e\nCc: Stephen Smalley \u003csds@tycho.nsa.gov\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "a5005da204289ce01ca37be59e902100ef247a4d",
      "tree": "4f754d5936a3b8b2d462a343bdd2342967170ac8",
      "parents": [
        "af1e76d6b3f37cb89d9192eaf83588adaf4728eb"
      ],
      "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:57 2007 -0400"
      },
      "message": "JBD: replace jbd_kmalloc with kmalloc directly\n\nThis patch cleans up jbd_kmalloc and replace it with kmalloc directly\n\nSigned-off-by: Mingming Cao \u003ccmm@us.ibm.com\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": "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": "97f067846786d255888ccad14e2f38a1f63d8e9b",
      "tree": "ebff291172a51b25a0a0c69c85463f0c789bb2ce",
      "parents": [
        "ee6f958291e2a768fd727e7a67badfff0b67711a"
      ],
      "author": {
        "name": "Pavel Emelianov",
        "email": "xemul@sw.ru",
        "time": "Tue May 08 00:30:42 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue May 08 11:15:13 2007 -0700"
      },
      "message": "jbd: check for error returned by kthread_create on creating journal thread\n\nIf the thread failed to create the subsequent wait_event will hang forever.\n\nThis is likely to happen if kernel hits max_threads limit.\n\nWill be critical for virtualization systems that limit the number of tasks\nand kernel memory usage within the container.\n\n(akpm: JBD should be converted fully to the kthread API: kthread_should_stop()\nand kthread_stop()).\n\nCc: \u003clinux-ext4@vger.kernel.org\u003e\nCc: Christoph Hellwig \u003chch@lst.de\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": "7dfb71030f7636a0d65200158113c37764552f93",
      "tree": "276b812903d377b16d8828e888552fd256f48aab",
      "parents": [
        "8a05aac2631aa0e6494d9dc990f8c68ed8b8fde7"
      ],
      "author": {
        "name": "Nigel Cunningham",
        "email": "ncunningham@linuxmail.org",
        "time": "Wed Dec 06 20:34:23 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Thu Dec 07 08:39:27 2006 -0800"
      },
      "message": "[PATCH] Add include/linux/freezer.h and move definitions from sched.h\n\nMove process freezing functions from include/linux/sched.h to freezer.h, so\nthat modifications to the freezer or the kernel configuration don\u0027t require\nrecompiling just about everything.\n\n[akpm@osdl.org: fix ueagle driver]\nSigned-off-by: Nigel Cunningham \u003cnigel@suspend2.net\u003e\nCc: \"Rafael J. Wysocki\" \u003crjw@sisk.pl\u003e\nCc: Pavel Machek \u003cpavel@ucw.cz\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.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": "41716c7c21b15e7ecf14f0caf1eef3980707fb74",
      "tree": "622cd9c92a31969681ef2c0cd865147dfa495933",
      "parents": [
        "7e491092e442b3f8c0d90d470b398fdb74703ec7"
      ],
      "author": {
        "name": "Eric Sesterhenn",
        "email": "snakebyte@gmx.de",
        "time": "Wed Oct 11 01:20:37 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Oct 11 11:14:14 2006 -0700"
      },
      "message": "[PATCH] null dereference in fs/jbd/journal.c\n\nSince commit d1807793e1e7e502e3dc047115e9dbc3b50e4534 we dereference a NULL\npointer.  Coverity id #1432.  We set journal to NULL, and use it directly\nafterwards.\n\nSigned-off-by: Eric Sesterhenn \u003csnakebyte@gmx.de\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": "d1807793e1e7e502e3dc047115e9dbc3b50e4534",
      "tree": "0ee76ff91643dc23fd5aef6d0498a7e139fdc6f8",
      "parents": [
        "f71b2f10f56802075d67c5710cd9f1816382d720"
      ],
      "author": {
        "name": "Zoltan Menyhart",
        "email": "Zoltan.Menyhart@bull.net",
        "time": "Fri Sep 29 01:58:40 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Sep 29 09:18:03 2006 -0700"
      },
      "message": "[PATCH] JBD: memory leak in \"journal_init_dev()\"\n\nWe leak a bh ref in \"journal_init_dev()\" in case of failure.\n\nSigned-off-by: Zoltan Menyhart \u003cZoltan.Menyhart@bull.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "a4e4de36dc446b2193bdc8ebb96a96e44b69dd94",
      "tree": "d9a024e2c10dcb94decadc57caac162cef706307",
      "parents": [
        "e9ad5620bfb901df8a7a2603c88689ededeecaf1"
      ],
      "author": {
        "name": "Dave Kleikamp",
        "email": "shaggy@austin.ibm.com",
        "time": "Wed Sep 27 01:49:36 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Sep 27 08:26:10 2006 -0700"
      },
      "message": "[PATCH] ext3: Fix sparse warnings\n\nFixing up some endian-ness warnings in preparation to clone ext4 from ext3.\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": "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": "37ed322290eb6d5cf2ab33915793ed4219eae1d6",
      "tree": "bd6e122b7af0b4c6a71bca21972cea3d124262b4",
      "parents": [
        "eee194e76c681dbdbf5024b889fda1181b66ef57"
      ],
      "author": {
        "name": "Eric Sandeen",
        "email": "esandeen@redhat.com",
        "time": "Wed Sep 27 01:49:31 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Sep 27 08:26:09 2006 -0700"
      },
      "message": "[PATCH] JBD: 16T fixes\n\nThese are a few places I\u0027ve found in jbd that look like they may not be\n16T-safe, or consistent with the use of unsigned longs for block\ncontainers.  Problems here would be somewhat hard to hit, would require\njournal blocks past the 8T boundary, which would not be terribly common.\nStill, should fix.\n\n(some of these have come from the ext4 work on jbd as well).\n\nI think there\u0027s one more possibility that the wrap() function may not be\nsafe IF your last block in the journal butts right up against the 232 block\nboundary, but that seems like a VERY remote possibility, and I\u0027m not\nworrying about it at this point.\n\nSigned-off-by: Eric Sandeen \u003cesandeen@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "2aed3484695ecb03f1395bb62f1099e8b0826124",
      "tree": "4d3aed23944293a28d240f83921a6135dac49476",
      "parents": [
        "ae6ddcc5f24d6b06ae9231dc128904750a4155e0"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Wed Sep 27 01:49:28 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Sep 27 08:26:09 2006 -0700"
      },
      "message": "[PATCH] jbd: use BUILD_BUG_ON in journal init\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nAcked-by: Stephen 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": "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": "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": "c9cf55285e87ac423c45d9efca750d3f50234d10",
      "tree": "d46f3e90fbb38115c25b3315f6280ad65f83a14f",
      "parents": [
        "e6e5494cb23d1933735ee47cc674ffe1c4afed6f"
      ],
      "author": {
        "name": "Randy Dunlap",
        "email": "rdunlap@xenotime.net",
        "time": "Tue Jun 27 02:53:52 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Jun 27 17:32:38 2006 -0700"
      },
      "message": "[PATCH] add poison.h and patch primary users\n\nLocalize poison values into one header file for better documentation and\neasier/quicker debugging and so that the same values won\u0027t be used for\nmultiple purposes.\n\nUse these constants in core arch., mm, driver, and fs code.\n\nSigned-off-by: Randy Dunlap \u003crdunlap@xenotime.net\u003e\nAcked-by: Matt Mackall \u003cmpm@selenic.com\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nCc: \"David S. Miller\" \u003cdavem@davemloft.net\u003e\nCc: Andi Kleen \u003cak@muc.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "8d8c85117fbcbaea7718870ad4b1ddd12940d9b0",
      "tree": "3e4c56b29a11ccad95a24679ecf41d341ffb844f",
      "parents": [
        "e3df18983ea090a2e00dd5c2c6167bb431a0e0a2"
      ],
      "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: convert kjournald to kthread API\n\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": "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": "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": "cbf0d27a131639f4f3e4faa94373c5c6f89f8f07",
      "tree": "327deb90d3e77bf65189ff41c6121e2e865537ea",
      "parents": [
        "3870ee8c63d5e55aea990654dfeb231264e13134"
      ],
      "author": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Tue Sep 06 15:19:08 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Sep 07 16:57:54 2005 -0700"
      },
      "message": "[PATCH] kjournald: missing JFS_UNMOUNT check\n\nIt seems that kjournald() may be missing a check of the JFS_UNMOUNT flag\nbefore calling schedule().  This showed up in testing of OCFS2 recovery\nwhere our recovery thread would hang in journal_kill_thread() called from\njournal_destroy() because kjournald never got a chance to read the flag to\nshut down before the schedule().\n\nZach pointed out the missing check which led me to hack up this trivial\npatch.  It\u0027s been tested many times now and I have yet to reproduce the\nhang, which was happening very regularly before.\n\n\u003cmild rant\u003e\nI\u0027m guessing that we could really use some wait_event() calls with helper\nfunctions in, well, most of jbd these days which would make a ton of the\nwait code there vastly cleaner.\n\u003c/mild rant\u003e\n\nAs for why this doesn\u0027t happen in ext3 (or OCFS2 during normal\nmount/unmount of the local nodes journal), I think it may that the specific\ntiming of events in the ocfs2 recovery thread exposes a race there.\nBecause ocfs2_replay_journal() is only interested in playing back the\njournal, initialization and shutdown happen very quicky with no other\nmetadata put into that specific journal.\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": "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": "3e1d1d28d99dabe63c64f7f40f1ca1d646de1f73",
      "tree": "d1e7c1e2e8902072042aefc3a7976b271cf76021",
      "parents": [
        "b3e112bcc19abd8e9657dca34a87316786e096f3"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "christoph@lameter.com",
        "time": "Fri Jun 24 23:13:50 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sat Jun 25 17:10:13 2005 -0700"
      },
      "message": "[PATCH] Cleanup patch for process freezing\n\n1. Establish a simple API for process freezing defined in linux/include/sched.h:\n\n   frozen(process)\t\tCheck for frozen process\n   freezing(process)\t\tCheck if a process is being frozen\n   freeze(process)\t\tTell a process to freeze (go to refrigerator)\n   thaw_process(process)\tRestart process\n   frozen_process(process)\tProcess is frozen now\n\n2. Remove all references to PF_FREEZE and PF_FROZEN from all\n   kernel sources except sched.h\n\n3. Fix numerous locations where try_to_freeze is manually done by a driver\n\n4. Remove the argument that is no longer necessary from two function calls.\n\n5. Some whitespace cleanup\n\n6. Clear potential race in refrigerator (provides an open window of PF_FREEZE\n   cleared before setting PF_FROZEN, recalc_sigpending does not check\n   PF_FROZEN).\n\nThis patch does not address the problem of freeze_processes() violating the rule\nthat a task may only modify its own flags by setting PF_FREEZE. This is not clean\nin an SMP environment. freeze(process) is therefore not SMP safe!\n\nSigned-off-by: Christoph Lameter \u003cchristoph@lameter.com\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"
    }
  ]
}
