)]}'
{
  "log": [
    {
      "commit": "a035bff6b82aca89c1223e2c614adc2d17ec8aa2",
      "tree": "edc27e463547909288f4f28438cc7e6104c125f6",
      "parents": [
        "619c200de144b44f5e405305241bcd7edbb8c6cf"
      ],
      "author": {
        "name": "Sunil Mushran",
        "email": "sunil.mushran@oracle.com",
        "time": "Sun Jul 24 10:35:54 2011 -0700"
      },
      "committer": {
        "name": "Sunil Mushran",
        "email": "sunil.mushran@oracle.com",
        "time": "Sun Jul 24 10:35:54 2011 -0700"
      },
      "message": "ocfs2: Add comment about orphan scanning\n\nAdd a comment that explains the reason as to why orphan scan scans all the slots.\n\nSigned-off-by: Sunil Mushran \u003csunil.mushran@oracle.com\u003e\n"
    },
    {
      "commit": "619c200de144b44f5e405305241bcd7edbb8c6cf",
      "tree": "3ec4ca199ac599d0ae2933d5fc58dfd904722cd4",
      "parents": [
        "6b27f62fc750d85bc6fc3718b3b38ec60edc2d74"
      ],
      "author": {
        "name": "Sunil Mushran",
        "email": "sunil.mushran@oracle.com",
        "time": "Sun Jul 24 10:34:54 2011 -0700"
      },
      "committer": {
        "name": "Sunil Mushran",
        "email": "sunil.mushran@oracle.com",
        "time": "Sun Jul 24 10:34:54 2011 -0700"
      },
      "message": "ocfs2: Clean up messages in the fs\n\nConvert useful messages from ML_NOTICE to KERN_NOTICE to improve readability.\n\nSigned-off-by: Sunil Mushran \u003csunil.mushran@oracle.com\u003e\n"
    },
    {
      "commit": "10b3dd76117a327557b8cb898b41c18afd08dc86",
      "tree": "127b61f13ad5814aace6f2610a0cfe87d128072d",
      "parents": [
        "33c12a5436464f8d4f56d68e5e79e24a3a1f11aa"
      ],
      "author": {
        "name": "Sunil Mushran",
        "email": "sunil.mushran@oracle.com",
        "time": "Wed May 04 10:28:02 2011 -0700"
      },
      "committer": {
        "name": "Joel Becker",
        "email": "jlbec@evilplan.org",
        "time": "Fri May 13 11:27:14 2011 -0700"
      },
      "message": "ocfs2: Skip mount recovery for hard-ro mounts\n\nPatch skips mount recovery for hard-ro mounts which otherwise leads to an oops.\n\nSigned-off-by: Sunil Mushran \u003csunil.mushran@oracle.com\u003e\nAcked-by: Mark Fasheh \u003cmfasheh@suse.com\u003e\nSigned-off-by: Joel Becker \u003cjlbec@evilplan.org\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": "b41079504c786eb226e7e1e3dc5cc1f37fbd1c2b",
      "tree": "ce449319016d1ddf2a319f3f1a093471043d9a46",
      "parents": [
        "781f200cb7a657339c8760984870c252701aa485"
      ],
      "author": {
        "name": "Tao Ma",
        "email": "boyu.mt@taobao.com",
        "time": "Thu Feb 24 14:15:35 2011 +0800"
      },
      "committer": {
        "name": "Tao Ma",
        "email": "boyu.mt@taobao.com",
        "time": "Thu Feb 24 14:15:35 2011 +0800"
      },
      "message": "ocfs2: Remove masklog ML_JOURNAL.\n\nRemove mlog(0) from fs/ocfs2/journal.c and the masklog JOURNAL.\n\nSigned-off-by: Tao Ma \u003cboyu.mt@taobao.com\u003e\n"
    },
    {
      "commit": "c1e8d35ef5ffb393b94a192034b5e3541e005d75",
      "tree": "b9a7f089acd3408c2835a3dfd6aa7bb0407587b3",
      "parents": [
        "ef6b689b63b9f5227ccee6f16dd9ee3faf58a464"
      ],
      "author": {
        "name": "Tao Ma",
        "email": "boyu.mt@taobao.com",
        "time": "Mon Mar 07 16:43:21 2011 +0800"
      },
      "committer": {
        "name": "Tao Ma",
        "email": "boyu.mt@taobao.com",
        "time": "Mon Mar 07 16:43:21 2011 +0800"
      },
      "message": "ocfs2: Remove EXIT from masklog.\n\nmlog_exit is used to record the exit status of a function.\nBut because it is added in so many functions, if we enable it,\nthe system logs get filled up quickly and cause too much I/O.\nSo actually no one can open it for a production system or even\nfor a test.\n\nThis patch just try to remove it or change it. So:\n1. if all the error paths already use mlog_errno, it is just removed.\n   Otherwise, it will be replaced by mlog_errno.\n2. if it is used to print some return value, it is replaced with\n   mlog(0,...).\nmlog_exit_ptr is changed to mlog(0.\nAll those mlog(0,...) will be replaced with trace events later.\n\nSigned-off-by: Tao Ma \u003cboyu.mt@taobao.com\u003e\n"
    },
    {
      "commit": "ef6b689b63b9f5227ccee6f16dd9ee3faf58a464",
      "tree": "ebe3416fcc221e152f2625e8e8794e92e3d8c979",
      "parents": [
        "422e6c4bc4b48c15b3cb57a1ca71431abfc57e54"
      ],
      "author": {
        "name": "Tao Ma",
        "email": "boyu.mt@taobao.com",
        "time": "Mon Feb 21 11:10:44 2011 +0800"
      },
      "committer": {
        "name": "Tao Ma",
        "email": "boyu.mt@taobao.com",
        "time": "Mon Feb 21 11:10:44 2011 +0800"
      },
      "message": "ocfs2: Remove ENTRY from masklog.\n\nENTRY is used to record the entry of a function.\nBut because it is added in so many functions, if we enable it,\nthe system logs get filled up quickly and cause too much I/O.\nSo actually no one can open it for a production system or even\nfor a test.\n\nSo for mlog_entry_void, we just remove it.\nfor mlog_entry(...), we replace it with mlog(0,...), and they\nwill be replace by trace event later.\n\nSigned-off-by: Tao Ma \u003cboyu.mt@taobao.com\u003e\n"
    },
    {
      "commit": "17ae521158d6fe89cfdd00a9990aa40d02e81391",
      "tree": "a7b258e102dc6800b63e79b7bf1e329245846f27",
      "parents": [
        "f9c57ada32ea3f2e12600cf274035fff063b2e0f"
      ],
      "author": {
        "name": "Tao Ma",
        "email": "tao.ma@oracle.com",
        "time": "Mon Aug 02 11:02:14 2010 +0800"
      },
      "committer": {
        "name": "Joel Becker",
        "email": "joel.becker@oracle.com",
        "time": "Fri Sep 10 08:40:18 2010 -0700"
      },
      "message": "ocfs2: Remove obsolete comments before ocfs2_start_trans.\n\nSigned-off-by: Tao Ma \u003ctao.ma@oracle.com\u003e\nSigned-off-by: Joel Becker \u003cjoel.becker@oracle.com\u003e\n"
    },
    {
      "commit": "f9c57ada32ea3f2e12600cf274035fff063b2e0f",
      "tree": "d8aaf4d6e6a3face4465258cd3cc6ec34f572994",
      "parents": [
        "4c38881f87c21ada5609a4065cb10e3e74da0d6e"
      ],
      "author": {
        "name": "Tao Ma",
        "email": "tao.ma@oracle.com",
        "time": "Mon Aug 02 11:02:13 2010 +0800"
      },
      "committer": {
        "name": "Joel Becker",
        "email": "joel.becker@oracle.com",
        "time": "Fri Sep 10 08:40:08 2010 -0700"
      },
      "message": "ocfs2: Remove unused old_id in ocfs2_commit_cache.\n\nSigned-off-by: Tao Ma \u003ctao.ma@oracle.com\u003e\nSigned-off-by: Joel Becker \u003cjoel.becker@oracle.com\u003e\n"
    },
    {
      "commit": "3c3f20c9813391ba4004764072989744395cf405",
      "tree": "d02ae291a1d9d591398b956fb8f0dac90f032af3",
      "parents": [
        "ddee5cdb70e6f87de2fc696b87bd7bd184a51eb8"
      ],
      "author": {
        "name": "Tao Ma",
        "email": "tao.ma@oracle.com",
        "time": "Tue Jun 01 13:58:13 2010 +0800"
      },
      "committer": {
        "name": "Joel Becker",
        "email": "joel.becker@oracle.com",
        "time": "Fri Sep 10 08:35:51 2010 -0700"
      },
      "message": "ocfs2: Add some trace log for orphan scan.\n\nNow orphan scan worker has no trace log, so it is\nvery hard to tell whether it is finished or blocked.\nSo add 2 mlog trace log so that we can tell whether\nthe current orphan scan worker is blocked or not.\nIt does help when I analyzed a orphan scan bug.\n\nSigned-off-by: Tao Ma \u003ctao.ma@oracle.com\u003e\nSigned-off-by: Joel Becker \u003cjoel.becker@oracle.com\u003e\n"
    },
    {
      "commit": "09dc942c2a767e2d298f1cc9294bc19c7d7208c5",
      "tree": "d310c118467c90c264e953bdc320ae08394c662a",
      "parents": [
        "90e0c225968f0878e090c7ff3f88323973476cee",
        "6c7a120ac6c62316ab1fc78dfc0a7b13f3bfcbff"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Aug 07 13:03:53 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Aug 07 13:03:53 2010 -0700"
      },
      "message": "Merge branch \u0027next\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4\n\n* \u0027next\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4: (40 commits)\n  ext4: Adding error check after calling ext4_mb_regular_allocator()\n  ext4: Fix dirtying of journalled buffers in data\u003djournal mode\n  ext4: re-inline ext4_rec_len_(to|from)_disk functions\n  jbd2: Remove t_handle_lock from start_this_handle()\n  jbd2: Change j_state_lock to be a rwlock_t\n  jbd2: Use atomic variables to avoid taking t_handle_lock in jbd2_journal_stop\n  ext4: Add mount options in superblock\n  ext4: force block allocation on quota_off\n  ext4: fix freeze deadlock under IO\n  ext4: drop inode from orphan list if ext4_delete_inode() fails\n  ext4: check to make make sure bd_dev is set before dereferencing it\n  jbd2: Make barrier messages less scary\n  ext4: don\u0027t print scary messages for allocation failures post-abort\n  ext4: fix EFBIG edge case when writing to large non-extent file\n  ext4: fix ext4_get_blocks references\n  ext4: Always journal quota file modifications\n  ext4: Fix potential memory leak in ext4_fill_super\n  ext4: Don\u0027t error out the fs if the user tries to make a file too big\n  ext4: allocate stripe-multiple IOs on stripe boundaries\n  ext4: move aio completion after unwritten extent conversion\n  ...\n\nFix up conflicts in fs/ext4/inode.c as per Ted.\n\nFix up xfs conflicts as per earlier xfs merge.\n"
    },
    {
      "commit": "a931da6ac9331a6c80dd91c199105806f2336188",
      "tree": "2d4ea766def9a98d21c2379f41e796b0e57ccd6b",
      "parents": [
        "a51dca9cd3bb4ec5a05bfb6feabf024a5c808a37"
      ],
      "author": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Tue Aug 03 21:35:12 2010 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Tue Aug 03 21:35:12 2010 -0400"
      },
      "message": "jbd2: Change j_state_lock to be a rwlock_t\n\nLockstat reports have shown that j_state_lock is a major source of\nlock contention, especially on systems with more than 4 CPU cores.  So\nchange it to be a read/write spinlock.\n\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "13ceef099edd2b70c5a6f3a9ef5d6d97cda2e096",
      "tree": "5d65c397e9e85abe11a6fb0ebf3a69e8a4e91e0d",
      "parents": [
        "a39953dd95ff10e311083d94f4f95c348cb22464"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Wed Jul 14 07:56:33 2010 +0200"
      },
      "committer": {
        "name": "Joel Becker",
        "email": "joel.becker@oracle.com",
        "time": "Thu Jul 15 15:17:47 2010 -0700"
      },
      "message": "jbd2/ocfs2: Fix block checksumming when a buffer is used in several transactions\n\nOCFS2 uses t_commit trigger to compute and store checksum of the just\ncommitted blocks. When a buffer has b_frozen_data, checksum is computed\nfor it instead of b_data but this can result in an old checksum being\nwritten to the filesystem in the following scenario:\n\n1) transaction1 is opened\n2) handle1 is opened\n3) journal_access(handle1, bh)\n    - This sets jh-\u003eb_transaction to transaction1\n4) modify(bh)\n5) journal_dirty(handle1, bh)\n6) handle1 is closed\n7) start committing transaction1, opening transaction2\n8) handle2 is opened\n9) journal_access(handle2, bh)\n    - This copies off b_frozen_data to make it safe for transaction1 to commit.\n      jh-\u003eb_next_transaction is set to transaction2.\n10) jbd2_journal_write_metadata() checksums b_frozen_data\n11) the journal correctly writes b_frozen_data to the disk journal\n12) handle2 is closed\n    - There was no dirty call for the bh on handle2, so it is never queued for\n      any more journal operation\n13) Checkpointing finally happens, and it just spools the bh via normal buffer\nwriteback.  This will write b_data, which was never triggered on and thus\ncontains a wrong (old) checksum.\n\nThis patch fixes the problem by calling the trigger at the moment data is\nfrozen for journal commit - i.e., either when b_frozen_data is created by\ndo_get_write_access or just before we write a buffer to the log if\nb_frozen_data does not exist. We also rename the trigger to t_frozen as\nthat better describes when it is called.\n\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\nSigned-off-by: Mark Fasheh \u003cmfasheh@suse.com\u003e\nSigned-off-by: Joel Becker \u003cjoel.becker@oracle.com\u003e\n"
    },
    {
      "commit": "40f165f416bde747d85cdf71bc9dde700912f71f",
      "tree": "9bdf36cb4ce5674cf5a743c733b16e478c2696c3",
      "parents": [
        "6469272c350872980891dbe38e81c936c43f2d9b"
      ],
      "author": {
        "name": "Tao Ma",
        "email": "tao.ma@oracle.com",
        "time": "Fri May 28 14:22:59 2010 +0800"
      },
      "committer": {
        "name": "Joel Becker",
        "email": "joel.becker@oracle.com",
        "time": "Tue Jun 15 15:43:48 2010 -0700"
      },
      "message": "ocfs2: Move orphan scan work to ocfs2_wq.\n\nWe used to let orphan scan work in the default work queue,\nbut there is a corner case which will make the system deadlock.\nThe scenario is like this:\n1. set heartbeat threadshold to 200. this will allow us to have a\n   great chance to have a orphan scan work before our quorum decision.\n2. mount node 1.\n3. after 1~2 minutes, mount node 2(in order to make the bug easier\n   to reproduce, better add maxcpus\u003d1 to kernel command line).\n4. node 1 do orphan scan work.\n5. node 2 do orphan scan work.\n6. node 1 do orphan scan work. After this, node 1 hold the orphan scan\n   lock while node 2 know node 1 is the master.\n7. ifdown eth2 in node 2(eth2 is what we do ocfs2 interconnection).\n\nNow when node 2 begins orphan scan, the system queue is blocked.\n\nThe root cause is that both orphan scan work and quorum decision work\nwill use the system event work queue. orphan scan has a chance of\nblocking the event work queue(in dlm_wait_for_node_death) so that there\nis no chance for quorum decision work to proceed.\n\nThis patch resolve it by moving orphan scan work to ocfs2_wq.\n\nSigned-off-by: Tao Ma \u003ctao.ma@oracle.com\u003e\nSigned-off-by: Joel Becker \u003cjoel.becker@oracle.com\u003e\n"
    },
    {
      "commit": "c901fb00731e307c2c6e8c7d5eee005df5835f9d",
      "tree": "4c68bf68590d04d1045ae5d66a9ae158c56019fa",
      "parents": [
        "3e4218df3176657be72ad2fa199779be6c11fe4f"
      ],
      "author": {
        "name": "Tao Ma",
        "email": "tao.ma@oracle.com",
        "time": "Mon Apr 26 14:34:57 2010 +0800"
      },
      "committer": {
        "name": "Joel Becker",
        "email": "joel.becker@oracle.com",
        "time": "Wed May 05 18:18:09 2010 -0700"
      },
      "message": "ocfs2: Make ocfs2_extend_trans() really extend.\n\nIn ocfs2, we use ocfs2_extend_trans() to extend a journal handle\u0027s\nblocks. But if jbd2_journal_extend() fails, it will only restart\nwith the the new number of blocks.  This tends to be awkward since\nin most cases we want additional reserved blocks. It makes our code\nharder to mantain since the caller can\u0027t be sure all the original\nblocks will not be accessed and dirtied again.  There are 15 callers\nof ocfs2_extend_trans() in fs/ocfs2, and 12 of them have to add\nh_buffer_credits before they call ocfs2_extend_trans().  This makes\nocfs2_extend_trans() really extend atop the original block count.\n\nSigned-off-by: Tao Ma \u003ctao.ma@oracle.com\u003e\nSigned-off-by: Joel Becker \u003cjoel.becker@oracle.com\u003e\n"
    },
    {
      "commit": "ec20cec7a351584ca6c70ead012e73d61f9a8e04",
      "tree": "39af308ae07ab168313bb50ced1bb1ae7ef7e6a3",
      "parents": [
        "b4414eea0e7b9c134262c801a87e338bf675962c"
      ],
      "author": {
        "name": "Joel Becker",
        "email": "joel.becker@oracle.com",
        "time": "Fri Mar 19 14:13:52 2010 -0700"
      },
      "committer": {
        "name": "Joel Becker",
        "email": "joel.becker@oracle.com",
        "time": "Wed May 05 18:17:29 2010 -0700"
      },
      "message": "ocfs2: Make ocfs2_journal_dirty() void.\n\njbd[2]_journal_dirty_metadata() only returns 0.  It\u0027s been returning 0\nsince before the kernel moved to git.  There is no point in checking\nthis error.\n\nocfs2_journal_dirty() has been faithfully returning the status since the\nbeginning.  All over ocfs2, we have blocks of code checking this can\u0027t\nfail status.  In the past few years, we\u0027ve tried to avoid adding these\nchecks, because they are pointless.  But anyone who looks at our code\nassumes they are needed.\n\nFinally, ocfs2_journal_dirty() is made a void function.  All error\nchecking is removed from other files.  We\u0027ll BUG_ON() the status of\njbd2_journal_dirty_metadata() just in case they change it someday.  They\nwon\u0027t.\n\nSigned-off-by: Joel Becker \u003cjoel.becker@oracle.com\u003e\n"
    },
    {
      "commit": "2bd632165c1f783888bd4cbed95f2f304829159b",
      "tree": "a4938fece1a47d22b1f8ca652a8218736b27aa3a",
      "parents": [
        "e5f2cb2b1ad05473fffe6970618997b906f23873"
      ],
      "author": {
        "name": "Sunil Mushran",
        "email": "sunil.mushran@oracle.com",
        "time": "Mon Jan 25 16:57:38 2010 -0800"
      },
      "committer": {
        "name": "Joel Becker",
        "email": "joel.becker@oracle.com",
        "time": "Mon Jan 25 19:20:51 2010 -0800"
      },
      "message": "ocfs2/trivial: Remove trailing whitespaces\n\nPatch removes trailing whitespaces.\n\nSigned-off-by: Sunil Mushran \u003csunil.mushran@oracle.com\u003e\nSigned-off-by: Joel Becker \u003cjoel.becker@oracle.com\u003e\n"
    },
    {
      "commit": "af901ca181d92aac3a7dc265144a9081a86d8f39",
      "tree": "380054af22521144fbe1364c3bcd55ad24c9bde4",
      "parents": [
        "972b94ffb90ea6d20c589d9a47215df103388ddd"
      ],
      "author": {
        "name": "André Goddard Rosa",
        "email": "andre.goddard@gmail.com",
        "time": "Sat Nov 14 13:09:05 2009 -0200"
      },
      "committer": {
        "name": "Jiri Kosina",
        "email": "jkosina@suse.cz",
        "time": "Fri Dec 04 15:39:55 2009 +0100"
      },
      "message": "tree-wide: fix assorted typos all over the place\n\nThat is \"success\", \"unknown\", \"through\", \"performance\", \"[re|un]mapping\"\n, \"access\", \"default\", \"reasonable\", \"[con]currently\", \"temperature\"\n, \"channel\", \"[un]used\", \"application\", \"example\",\"hierarchy\", \"therefore\"\n, \"[over|under]flow\", \"contiguous\", \"threshold\", \"enough\" and others.\n\nSigned-off-by: André Goddard Rosa \u003candre.goddard@gmail.com\u003e\nSigned-off-by: Jiri Kosina \u003cjkosina@suse.cz\u003e\n"
    },
    {
      "commit": "93c97087a646429f4dc0d73298d64674ddd5cde8",
      "tree": "d6c58b32b031a0e23f86e1574e688585fcc26455",
      "parents": [
        "721f69c404c51a5d1dc93fddb48ee936e8e23770"
      ],
      "author": {
        "name": "Tao Ma",
        "email": "tao.ma@oracle.com",
        "time": "Tue Aug 18 11:19:20 2009 +0800"
      },
      "committer": {
        "name": "Joel Becker",
        "email": "joel.becker@oracle.com",
        "time": "Tue Sep 22 20:09:26 2009 -0700"
      },
      "message": "ocfs2: Add metaecc for ocfs2_refcount_block.\n\nAdd metaecc and journal trigger for ocfs2_refcount_block.\n\nSigned-off-by: Tao Ma \u003ctao.ma@oracle.com\u003e\n"
    },
    {
      "commit": "0cf2f7632b1789b811ab20b611c4156e6de2b055",
      "tree": "34f7cf3584e4fa2bc187d4b75ce052cb98739b0e",
      "parents": [
        "292dd27ec76b96cebcef576f330ab121f59ccf05"
      ],
      "author": {
        "name": "Joel Becker",
        "email": "joel.becker@oracle.com",
        "time": "Thu Feb 12 16:41:25 2009 -0800"
      },
      "committer": {
        "name": "Joel Becker",
        "email": "joel.becker@oracle.com",
        "time": "Fri Sep 04 16:07:50 2009 -0700"
      },
      "message": "ocfs2: Pass struct ocfs2_caching_info to the journal functions.\n\nThe next step in divorcing metadata I/O management from struct inode is\nto pass struct ocfs2_caching_info to the journal functions.  Thus the\njournal locks a metadata cache with the cache io_lock function.  It also\ncan compare ci_last_trans and ci_created_trans directly.\n\nThis is a large patch because of all the places we change\nocfs2_journal_access..(handle, inode, ...) to\nocfs2_journal_access..(handle, INODE_CACHE(inode), ...).\n\nSigned-off-by: Joel Becker \u003cjoel.becker@oracle.com\u003e\n"
    },
    {
      "commit": "8cb471e8f82506937fe5e2e9fb0bf90f6b1f1170",
      "tree": "e275a8f5db101a9990ba44931cfd116123112b11",
      "parents": [
        "6e5a3d7538ad4e46a976862f593faf65750e37cc"
      ],
      "author": {
        "name": "Joel Becker",
        "email": "joel.becker@oracle.com",
        "time": "Tue Feb 10 20:00:41 2009 -0800"
      },
      "committer": {
        "name": "Joel Becker",
        "email": "joel.becker@oracle.com",
        "time": "Fri Sep 04 16:07:48 2009 -0700"
      },
      "message": "ocfs2: Take the inode out of the metadata read/write paths.\n\nWe are really passing the inode into the ocfs2_read/write_blocks()\nfunctions to get at the metadata cache.  This commit passes the cache\ndirectly into the metadata block functions, divorcing them from the\ninode.\n\nSigned-off-by: Joel Becker \u003cjoel.becker@oracle.com\u003e\n"
    },
    {
      "commit": "8b712cd58adfe6aeeb0be4ecc011dc35620719e7",
      "tree": "98a0cdc0b210392fc0fd0feb464603224c2863b1",
      "parents": [
        "44b572809581d5a10dbe35aa6bf689f32b9c5ad6"
      ],
      "author": {
        "name": "Jeff Mahoney",
        "email": "jeffm@suse.com",
        "time": "Tue Jul 07 17:22:12 2009 -0400"
      },
      "committer": {
        "name": "Joel Becker",
        "email": "joel.becker@oracle.com",
        "time": "Wed Jul 08 15:34:02 2009 -0700"
      },
      "message": "ocfs2: Fixup orphan scan cleanup after failed mount\n\nIf the mount fails for any reason, ocfs2_dismount_volume calls\nocfs2_orphan_scan_stop. It requires that ocfs2_orphan_scan_init\nbe called to setup the mutex and work queues, but that doesn\u0027t\nhappen if the mount has failed and we oops accessing an uninitialized\nwork queue.\n\nThis patch splits the init and startup of the orphan scan, eliminating\nthe oops.\n\nSigned-off-by: Jeff Mahoney \u003cjeffm@suse.com\u003e\nSigned-off-by: Joel Becker \u003cjoel.becker@oracle.com\u003e\n"
    },
    {
      "commit": "df152c241df9e9d2b9a65d37bd02961abe7f591a",
      "tree": "47e0c71919ed437db33530a200113a562b9c6b89",
      "parents": [
        "3211949f8998dde71d9fe2e063de045ece5e0473"
      ],
      "author": {
        "name": "Sunil Mushran",
        "email": "sunil.mushran@oracle.com",
        "time": "Mon Jun 22 11:40:07 2009 -0700"
      },
      "committer": {
        "name": "Joel Becker",
        "email": "joel.becker@oracle.com",
        "time": "Mon Jun 22 14:24:55 2009 -0700"
      },
      "message": "ocfs2: Disable orphan scanning for local and hard-ro mounts\n\nLocal and Hard-RO mounts do not need orphan scanning.\n\nSigned-off-by: Sunil Mushran \u003csunil.mushran@oracle.com\u003e\nSigned-off-by: Joel Becker \u003cjoel.becker@oracle.com\u003e\n"
    },
    {
      "commit": "3211949f8998dde71d9fe2e063de045ece5e0473",
      "tree": "3aed155421642a6e04c94e0c5c521dea54e0b029",
      "parents": [
        "692684e19e317a374c18e70a44d6413e51f71c11"
      ],
      "author": {
        "name": "Sunil Mushran",
        "email": "sunil.mushran@oracle.com",
        "time": "Fri Jun 19 16:53:18 2009 -0700"
      },
      "committer": {
        "name": "Joel Becker",
        "email": "joel.becker@oracle.com",
        "time": "Mon Jun 22 14:24:53 2009 -0700"
      },
      "message": "ocfs2: Do not initialize lvb in ocfs2_orphan_scan_lock_res_init()\n\nWe don\u0027t access the LVB in our ocfs2_*_lock_res_init() functions.\n\nSince the LVB can become invalid during some cluster recovery\noperations, the dlmglue must be able to handle an uninitialized\nLVB.\n\nFor the orphan scan lock, we initialized an uninitialzed LVB with our\nscan sequence number plus one.  This starts a normal orphan scan\ncycle.\n\nSigned-off-by: Sunil Mushran \u003csunil.mushran@oracle.com\u003e\nSigned-off-by: Joel Becker \u003cjoel.becker@oracle.com\u003e\n"
    },
    {
      "commit": "692684e19e317a374c18e70a44d6413e51f71c11",
      "tree": "c47da5b21e66f80458fff3da4cda72b8e0644c0f",
      "parents": [
        "c3d38840abaa45c1c5a5fabbb8ffc9a0d1a764d1"
      ],
      "author": {
        "name": "Sunil Mushran",
        "email": "sunil.mushran@oracle.com",
        "time": "Fri Jun 19 16:53:17 2009 -0700"
      },
      "committer": {
        "name": "Joel Becker",
        "email": "joel.becker@oracle.com",
        "time": "Mon Jun 22 14:24:51 2009 -0700"
      },
      "message": "ocfs2: Stop orphan scan as early as possible during umount\n\nCurrently if the orphan scan fires a tick before the user issues the umount,\nthe umount will wait for the queued orphan scan tasks to complete.\n\nThis patch makes the umount stop the orphan scan as early as possible so as\nto reduce the probability of the queued tasks slowing down the umount.\n\nSigned-off-by: Sunil Mushran \u003csunil.mushran@oracle.com\u003e\nSigned-off-by: Joel Becker \u003cjoel.becker@oracle.com\u003e\n"
    },
    {
      "commit": "15633a220ffe74fc61bc8117e6a89a494011ea3d",
      "tree": "18bf3b92b4ec3988f78c5e07b1471b8f89a2f474",
      "parents": [
        "83273932fbefb6ceef9c0b82ac4d23900728f4d9"
      ],
      "author": {
        "name": "Srinivas Eeda",
        "email": "srinivas.eeda@oracle.com",
        "time": "Wed Jun 03 17:02:56 2009 -0700"
      },
      "committer": {
        "name": "Joel Becker",
        "email": "joel.becker@oracle.com",
        "time": "Wed Jun 03 19:14:31 2009 -0700"
      },
      "message": "ocfs2 patch to track delayed orphan scan timer statistics\n\nPatch to track delayed orphan scan timer statistics.\n\nModifies ocfs2_osb_dump to print the following:\n  Orphan Scan\u003d\u003e Local: 10  Global: 21  Last Scan: 67 seconds ago\n\nSigned-off-by: Srinivas Eeda \u003csrinivas.eeda@oracle.com\u003e\nSigned-off-by: Joel Becker \u003cjoel.becker@oracle.com\u003e\n"
    },
    {
      "commit": "83273932fbefb6ceef9c0b82ac4d23900728f4d9",
      "tree": "7ece8471af3d2a22543542e990369aca47aa3d25",
      "parents": [
        "edd45c08499a3e9d4c25431cd2b6a9ce5f692c92"
      ],
      "author": {
        "name": "Srinivas Eeda",
        "email": "srinivas.eeda@oracle.com",
        "time": "Wed Jun 03 17:02:55 2009 -0700"
      },
      "committer": {
        "name": "Joel Becker",
        "email": "joel.becker@oracle.com",
        "time": "Wed Jun 03 19:14:31 2009 -0700"
      },
      "message": "ocfs2: timer to queue scan of all orphan slots\n\nWhen a dentry is unlinked, the unlinking node takes an EX on the dentry lock\nbefore moving the dentry to the orphan directory. Other nodes that have\nthis dentry in cache have a PR on the same dentry lock.  When the EX is\nrequested, the other nodes flag the corresponding inode as MAYBE_ORPHANED\nduring downconvert.  The inode is finally deleted when the last node to iput\nthe inode sees that i_nlink\u003d\u003d0 and the MAYBE_ORPHANED flag is set.\n\nA problem arises if a node is forced to free dentry locks because of memory\npressure. If this happens, the node will no longer get downconvert\nnotifications for the dentries that have been unlinked on another node.\nIf it also happens that node is actively using the corresponding inode and\nhappens to be the one performing the last iput on that inode, it will fail\nto delete the inode as it will not have the MAYBE_ORPHANED flag set.\n\nThis patch fixes this shortcoming by introducing a periodic scan of the\norphan directories to delete such inodes. Care has been taken to distribute\nthe workload across the cluster so that no one node has to perform the task\nall the time.\n\nSigned-off-by: Srinivas Eeda \u003csrinivas.eeda@oracle.com\u003e\nSigned-off-by: Joel Becker \u003cjoel.becker@oracle.com\u003e\n"
    },
    {
      "commit": "9140db04ef185f934acf2b1b15b3dd5e6a6bfc22",
      "tree": "354dbc0351195ae2b6ea5f7dfbf68a99307c3d69",
      "parents": [
        "1fca3a05ef2823830925dfb66711d6d920265a8d"
      ],
      "author": {
        "name": "Srinivas Eeda",
        "email": "srinivas.eeda@oracle.com",
        "time": "Fri Mar 06 14:21:46 2009 -0800"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mfasheh@suse.com",
        "time": "Fri Apr 03 11:39:26 2009 -0700"
      },
      "message": "ocfs2: recover orphans in offline slots during recovery and mount\n\nDuring recovery, a node recovers orphans in it\u0027s slot and the dead node(s). But\nif the dead nodes were holding orphans in offline slots, they will be left\nunrecovered.\n\nIf the dead node is the last one to die and is holding orphans in other slots\nand is the first one to mount, then it only recovers it\u0027s own slot, which\nleaves orphans in offline slots.\n\nThis patch queues complete_recovery to clean orphans for all offline slots\nduring mount and node recovery.\n\nSigned-off-by: Srinivas Eeda \u003csrinivas.eeda@oracle.com\u003e\nAcked-by: Joel Becker \u003cjoel.becker@oracle.com\u003e\nSigned-off-by: Mark Fasheh \u003cmfasheh@suse.com\u003e\n"
    },
    {
      "commit": "9b7895efac906d66d19856194e1ba61f37e231a4",
      "tree": "1ee6d2630cf3617251638170dcaceef41ddda8ec",
      "parents": [
        "4a12ca3a00a244e1fd1e673d151ea38b71e11d55"
      ],
      "author": {
        "name": "Mark Fasheh",
        "email": "mfasheh@suse.com",
        "time": "Wed Nov 12 16:27:44 2008 -0800"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mfasheh@suse.com",
        "time": "Fri Apr 03 11:39:15 2009 -0700"
      },
      "message": "ocfs2: Add a name indexed b-tree to directory inodes\n\nThis patch makes use of Ocfs2\u0027s flexible btree code to add an additional\ntree to directory inodes. The new tree stores an array of small,\nfixed-length records in each leaf block. Each record stores a hash value,\nand pointer to a block in the traditional (unindexed) directory tree where a\ndirent with the given name hash resides. Lookup exclusively uses this tree\nto find dirents, thus providing us with constant time name lookups.\n\nSome of the hashing code was copied from ext3. Unfortunately, it has lots of\nunfixed checkpatch errors. I left that as-is so that tracking changes would\nbe easier.\n\nSigned-off-by: Mark Fasheh \u003cmfasheh@suse.com\u003e\nAcked-by: Joel Becker \u003cjoel.becker@oracle.com\u003e\n"
    },
    {
      "commit": "96a6c64b5354b804b3ccfd1b31306565a01ebcb1",
      "tree": "de8bde922d2e5fdb4d0698dc4169b57acd7e4b8b",
      "parents": [
        "87d3d3f3931f3e0fca44fbb5c06ad45fc4dca9bc"
      ],
      "author": {
        "name": "Sunil Mushran",
        "email": "sunil.mushran@oracle.com",
        "time": "Tue Dec 16 15:49:16 2008 -0800"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mfasheh@suse.com",
        "time": "Fri Apr 03 11:39:14 2009 -0700"
      },
      "message": "ocfs2: Move struct recovery_map to a header file\n\nMove the definition of struct recovery_map from journal.c to journal.h. This\nis preparation for the next patch.\n\nSigned-off-by: Sunil Mushran \u003csunil.mushran@oracle.com\u003e\nSigned-off-by: Mark Fasheh \u003cmfasheh@suse.com\u003e\n"
    },
    {
      "commit": "c175a518b4a1d514483abf61813ce5d855917164",
      "tree": "e437a3d1377fab38c1d8ef6289fd9ea3590d09b2",
      "parents": [
        "87d35a74b15ec703910a63e0667692fb5e267be0"
      ],
      "author": {
        "name": "Joel Becker",
        "email": "joel.becker@oracle.com",
        "time": "Wed Dec 10 17:58:22 2008 -0800"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mfasheh@suse.com",
        "time": "Mon Jan 05 08:40:34 2009 -0800"
      },
      "message": "ocfs2: Checksum and ECC for directory blocks.\n\nUse the db_check field of ocfs2_dir_block_trailer to crc/ecc the\ndirblocks.\n\nSigned-off-by: Joel Becker \u003cjoel.becker@oracle.com\u003e\nSigned-off-by: Mark Fasheh \u003cmfasheh@suse.com\u003e\n"
    },
    {
      "commit": "13723d00e374c2a6d6ccb5af6de965e89c3e1b01",
      "tree": "70dcd8f3d188bf2f62e4bf4b44a0662d8cd527ca",
      "parents": [
        "ffdd7a54631f07918b75e324d86713a08c11ec06"
      ],
      "author": {
        "name": "Joel Becker",
        "email": "joel.becker@oracle.com",
        "time": "Fri Oct 17 19:25:01 2008 -0700"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mfasheh@suse.com",
        "time": "Mon Jan 05 08:40:32 2009 -0800"
      },
      "message": "ocfs2: Use metadata-specific ocfs2_journal_access_*() functions.\n\nThe per-metadata-type ocfs2_journal_access_*() functions hook up jbd2\ncommit triggers and allow us to compute metadata ecc right before the\nbuffers are written out.  This commit provides ecc for inodes, extent\nblocks, group descriptors, and quota blocks.  It is not safe to use\nextened attributes and metaecc at the same time yet.\n\nThe ocfs2_extent_tree and ocfs2_path abstractions in alloc.c both hide\nthe type of block at their root.  Before, it didn\u0027t matter, but now the\nroot block must use the appropriate ocfs2_journal_access_*() function.\nTo keep this abstract, the structures now have a pointer to the matching\njournal_access function and a wrapper call to call it.\n\nA few places use naked ocfs2_write_block() calls instead of adding the\nblocks to the journal.  We make sure to calculate their checksum and ecc\nbefore the write.\n\nSince we pass around the journal_access functions.  Let\u0027s typedef them\nin ocfs2.h.\n\nSigned-off-by: Joel Becker \u003cjoel.becker@oracle.com\u003e\nSigned-off-by: Mark Fasheh \u003cmfasheh@suse.com\u003e\n"
    },
    {
      "commit": "50655ae9e91d272d48997bada59efe166aa5e343",
      "tree": "ca821943897781fe4852c6ac447ccb4760ec8c65",
      "parents": [
        "d6b32bbb3eae3fb787f1c33bf9f767ca1ddeb208"
      ],
      "author": {
        "name": "Joel Becker",
        "email": "joel.becker@oracle.com",
        "time": "Thu Sep 11 15:53:07 2008 -0700"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mfasheh@suse.com",
        "time": "Mon Jan 05 08:40:31 2009 -0800"
      },
      "message": "ocfs2: Add journal_access functions with jbd2 triggers.\n\nWe create wrappers for ocfs2_journal_access() that are specific to the\ntype of metadata block.  This allows us to associate jbd2 commit\ntriggers with the block.  The triggers will compute metadata ecc in a\nfuture commit.\n\nSigned-off-by: Joel Becker \u003cjoel.becker@oracle.com\u003e\nSigned-off-by: Mark Fasheh \u003cmfasheh@suse.com\u003e\n"
    },
    {
      "commit": "19ece546a418997226bd91552fbc41abcb05cea6",
      "tree": "f10ba25a07d020551833f53720bbba475788f957",
      "parents": [
        "2205363dce7447b8e85f1ead14387664c1a98753"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Thu Aug 21 20:13:17 2008 +0200"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mfasheh@suse.com",
        "time": "Mon Jan 05 08:40:24 2009 -0800"
      },
      "message": "ocfs2: Enable quota accounting on mount, disable on umount\n\nEnable quota usage tracking on mount and disable it on umount. Also\nadd support for quota on and quota off quotactls and usrquota and\ngrpquota mount options. Add quota features among supported ones.\n\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\nSigned-off-by: Mark Fasheh \u003cmfasheh@suse.com\u003e\n"
    },
    {
      "commit": "2205363dce7447b8e85f1ead14387664c1a98753",
      "tree": "729b2716f2e31bda2e035a11cc39aa5472dff2c4",
      "parents": [
        "171bf93ce11f4c9929fdce6ce63df8da2f3c4475"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Mon Oct 20 23:50:38 2008 +0200"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mfasheh@suse.com",
        "time": "Mon Jan 05 08:40:24 2009 -0800"
      },
      "message": "ocfs2: Implement quota recovery\n\nImplement functions for recovery after a crash. Functions just\nread local quota file and sync info to global quota file.\n\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\nSigned-off-by: Mark Fasheh \u003cmfasheh@suse.com\u003e\n"
    },
    {
      "commit": "90e86a63eadf1a3b2f19b68d82150dc63fe01443",
      "tree": "4168749ab4c9a0e849c9ad419ee66a2992053243",
      "parents": [
        "12c77527e4138bc3b17d17b0e0c909e4fc84924f"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Wed Aug 27 22:30:28 2008 +0200"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mfasheh@suse.com",
        "time": "Mon Jan 05 08:40:23 2009 -0800"
      },
      "message": "ocfs2: Support nested transactions\n\nOCFS2 can easily support nested transactions. We just have to\ntake care and not spoil statistics acquire semaphore unnecessarily.\n\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\nSigned-off-by: Mark Fasheh \u003cmfasheh@suse.com\u003e\n"
    },
    {
      "commit": "53ef99cad9878f02f27bb30bc304fc42af8bdd6e",
      "tree": "bb5dcb223666197cf737d24e4cc87506c4473a79",
      "parents": [
        "511308d90b53479b194cd067715f44dc99d39b08"
      ],
      "author": {
        "name": "Mark Fasheh",
        "email": "mfasheh@suse.com",
        "time": "Tue Nov 18 16:53:43 2008 -0800"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mfasheh@suse.com",
        "time": "Mon Jan 05 08:36:55 2009 -0800"
      },
      "message": "ocfs2: Remove JBD compatibility layer\n\nJBD2 is fully backwards compatible with JBD and it\u0027s been tested enough with\nOcfs2 that we can clean this code up now.\n\nSigned-off-by: Mark Fasheh \u003cmfasheh@suse.com\u003e\n"
    },
    {
      "commit": "10995aa2451afa20b721cc7de856cae1a13dba57",
      "tree": "63129e7d752fb018dc76aa42de136baa4a8a4232",
      "parents": [
        "b657c95c11088d77fc1bfc9c84d940f778bf9d12"
      ],
      "author": {
        "name": "Joel Becker",
        "email": "joel.becker@oracle.com",
        "time": "Thu Nov 13 14:49:12 2008 -0800"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mfasheh@suse.com",
        "time": "Mon Jan 05 08:36:52 2009 -0800"
      },
      "message": "ocfs2: Morph the haphazard OCFS2_IS_VALID_DINODE() checks.\n\nRandom places in the code would check a dinode bh to see if it was\nvalid.  Not only did they do different levels of validation, they\nhandled errors in different ways.\n\nThe previous commit unified inode block reads, validating all block\nreads in the same place.  Thus, these haphazard checks are no longer\nnecessary.  Rather than eliminate them, however, we change them to\nBUG_ON() checks.  This ensures the assumptions remain true.  All of the\ncode paths to these checks have been audited to ensure they come from a\nvalidated inode read.\n\nSigned-off-by: Joel Becker \u003cjoel.becker@oracle.com\u003e\nSigned-off-by: Mark Fasheh \u003cmfasheh@suse.com\u003e\n"
    },
    {
      "commit": "b657c95c11088d77fc1bfc9c84d940f778bf9d12",
      "tree": "7e52e73aabbdbc55f644ad26735edc25a652ac32",
      "parents": [
        "a68979b857283daf4acc405e476dcc8812a3ff2b"
      ],
      "author": {
        "name": "Joel Becker",
        "email": "joel.becker@oracle.com",
        "time": "Thu Nov 13 14:49:11 2008 -0800"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mfasheh@suse.com",
        "time": "Mon Jan 05 08:36:52 2009 -0800"
      },
      "message": "ocfs2: Wrap inode block reads in a dedicated function.\n\nThe ocfs2 code currently reads inodes off disk with a simple\nocfs2_read_block() call.  Each place that does this has a different set\nof sanity checks it performs.  Some check only the signature.  A couple\nvalidate the block number (the block read vs di-\u003ei_blkno).  A couple\nothers check for VALID_FL.  Only one place validates i_fs_generation.  A\ncouple check nothing.  Even when an error is found, they don\u0027t all do\nthe same thing.\n\nWe wrap inode reading into ocfs2_read_inode_block().  This will validate\nall the above fields, going readonly if they are invalid (they never\nshould be).  ocfs2_read_inode_block_full() is provided for the places\nthat want to pass read_block flags.  Every caller is passing a struct\ninode with a valid ip_blkno, so we don\u0027t need a separate blkno argument\neither.\n\nWe will remove the validation checks from the rest of the code in a\nlater commit, as they are no longer necessary.\n\nSigned-off-by: Joel Becker \u003cjoel.becker@oracle.com\u003e\nSigned-off-by: Mark Fasheh \u003cmfasheh@suse.com\u003e\n"
    },
    {
      "commit": "ae0dff683076b2798763288c7ac2f09a18c4a998",
      "tree": "191b95751d25a6480619dc2cbbe340da4adddfcc",
      "parents": [
        "d32647993c211901fc4819ef3327f62d1859241b"
      ],
      "author": {
        "name": "Sunil Mushran",
        "email": "sunil.mushran@oracle.com",
        "time": "Wed Oct 22 13:24:29 2008 -0700"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mfasheh@suse.com",
        "time": "Mon Nov 10 09:51:47 2008 -0800"
      },
      "message": "ocfs2: Set journal descriptor to NULL after journal shutdown\n\nPatch sets journal descriptor to NULL after the journal is shutdown.\nThis ensures that jbd2_journal_release_jbd_inode(), which removes the\njbd2 inode from txn lists, can be called safely from ocfs2_clear_inode()\neven after the journal has been shutdown.\n\nSigned-off-by: Sunil Mushran \u003csunil.mushran@oracle.com\u003e\nSigned-off-by: Joel Becker \u003cjoel.becker@oracle.com\u003e\nSigned-off-by: Mark Fasheh \u003cmfasheh@suse.com\u003e\n"
    },
    {
      "commit": "d4a8c93c8248534bdedb07f83c9aebd6f7d1d579",
      "tree": "f978a7b36d515c29657f271ca5b70281c911a82f",
      "parents": [
        "5e0b3dec0107540244ba343f983ef4f972db20de"
      ],
      "author": {
        "name": "Joel Becker",
        "email": "joel.becker@oracle.com",
        "time": "Thu Oct 09 17:20:34 2008 -0700"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mfasheh@suse.com",
        "time": "Tue Oct 14 11:58:22 2008 -0700"
      },
      "message": "ocfs2: Make cached block reads the common case.\n\nocfs2_read_blocks() currently requires the CACHED flag for cached I/O.\nHowever, that\u0027s the common case.  Let\u0027s flip it around and provide an\nIGNORE_CACHE flag for the special users.  This has the added benefit of\ncleaning up the code some (ignore_cache takes on its special meaning\nearlier in the loop).\n\nSigned-off-by: Joel Becker \u003cjoel.becker@oracle.com\u003e\nSigned-off-by: Mark Fasheh \u003cmfasheh@suse.com\u003e\n"
    },
    {
      "commit": "0fcaa56a2a020dd6f90c202b7084e6f4cbedb6c2",
      "tree": "057204016523ce0274d4a23ec02944075f084e8c",
      "parents": [
        "31d33073ca38603dea705dae45e094a64ca062d6"
      ],
      "author": {
        "name": "Joel Becker",
        "email": "joel.becker@oracle.com",
        "time": "Thu Oct 09 17:20:31 2008 -0700"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mfasheh@suse.com",
        "time": "Tue Oct 14 11:51:57 2008 -0700"
      },
      "message": "ocfs2: Simplify ocfs2_read_block()\n\nMore than 30 callers of ocfs2_read_block() pass exactly OCFS2_BH_CACHED.\nOnly six pass a different flag set.  Rather than have every caller care,\nlet\u0027s make ocfs2_read_block() take no flags and always do a cached read.\nThe remaining six places can call ocfs2_read_blocks() directly.\n\nSigned-off-by: Joel Becker \u003cjoel.becker@oracle.com\u003e\nSigned-off-by: Mark Fasheh \u003cmfasheh@suse.com\u003e\n"
    },
    {
      "commit": "31d33073ca38603dea705dae45e094a64ca062d6",
      "tree": "cf02beb489456ebc9e07bace80e96ad1150f2cbf",
      "parents": [
        "da1e90985a0e767e44397c9db0937e236033fa58"
      ],
      "author": {
        "name": "Joel Becker",
        "email": "joel.becker@oracle.com",
        "time": "Thu Oct 09 17:20:30 2008 -0700"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mfasheh@suse.com",
        "time": "Tue Oct 14 11:43:29 2008 -0700"
      },
      "message": "ocfs2: Require an inode for ocfs2_read_block(s)().\n\nNow that synchronous readers are using ocfs2_read_blocks_sync(), all\ncallers of ocfs2_read_blocks() are passing an inode.  Use it\nunconditionally.  Since it\u0027s there, we don\u0027t need to pass the\nocfs2_super either.\n\nSigned-off-by: Joel Becker \u003cjoel.becker@oracle.com\u003e\nSigned-off-by: Mark Fasheh \u003cmfasheh@suse.com\u003e\n"
    },
    {
      "commit": "da1e90985a0e767e44397c9db0937e236033fa58",
      "tree": "88d16dd378bf1b180d345a87de95316546af348a",
      "parents": [
        "936b8834366ec05f2a6993f73afd8348cac9718e"
      ],
      "author": {
        "name": "Joel Becker",
        "email": "joel.becker@oracle.com",
        "time": "Thu Oct 09 17:20:29 2008 -0700"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mfasheh@suse.com",
        "time": "Tue Oct 14 11:29:10 2008 -0700"
      },
      "message": "ocfs2: Separate out sync reads from ocfs2_read_blocks()\n\nThe ocfs2_read_blocks() function currently handles sync reads, cached,\nreads, and sometimes cached reads.  We\u0027re going to add some\nfunctionality to it, so first we should simplify it.  The uncached,\nsynchronous reads are much easer to handle as a separate function, so we\ninstroduce ocfs2_read_blocks_sync().\n\nSigned-off-by: Joel Becker \u003cjoel.becker@oracle.com\u003e\nSigned-off-by: Mark Fasheh \u003cmfasheh@suse.com\u003e\n"
    },
    {
      "commit": "a81cb88b64a479b78c6dd5666678d50171865db8",
      "tree": "9fe0f67e30d7c70d43785827e57736ac01558c24",
      "parents": [
        "fd8351f83d413b41da956109cf429c15881886e2"
      ],
      "author": {
        "name": "Mark Fasheh",
        "email": "mfasheh@suse.com",
        "time": "Tue Oct 07 14:25:16 2008 -0700"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mfasheh@suse.com",
        "time": "Mon Oct 13 17:02:44 2008 -0700"
      },
      "message": "ocfs2: Don\u0027t check for NULL before brelse()\n\nThis is pointless as brelse() already does the check.\n\nSigned-off-by: Mark Fasheh\n"
    },
    {
      "commit": "2b4e30fbde425828b17f0e9c8f8e3fd3ecb2bc75",
      "tree": "5b340cde72e058b51642f0c7255818f62014bc91",
      "parents": [
        "12462f1d9f0b96389497438dc2730c6f7410be82"
      ],
      "author": {
        "name": "Joel Becker",
        "email": "joel.becker@oracle.com",
        "time": "Wed Sep 03 20:03:41 2008 -0700"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mfasheh@suse.com",
        "time": "Mon Oct 13 17:02:43 2008 -0700"
      },
      "message": "ocfs2: Switch over to JBD2.\n\nocfs2 wants JBD2 for many reasons, not the least of which is that JBD is\nlimiting our maximum filesystem size.\n\nIt\u0027s a pretty trivial change.  Most functions are just renamed.  The\nonly functional change is moving to Jan\u0027s inode-based ordered data mode.\nIt\u0027s better, too.\n\nBecause JBD2 reads and writes JBD journals, this is compatible with any\nexisting filesystem.  It can even interact with JBD-based ocfs2 as long\nas the journal is formated for JBD.\n\nWe provide a compatibility option so that paranoid people can still use\nJBD for the time being.  This will go away shortly.\n\n[ Moved call of ocfs2_begin_ordered_truncate() from ocfs2_delete_inode() to\n  ocfs2_truncate_for_delete(). --Mark ]\n\nSigned-off-by: Joel Becker \u003cjoel.becker@oracle.com\u003e\nSigned-off-by: Mark Fasheh \u003cmfasheh@suse.com\u003e\n"
    },
    {
      "commit": "a1af7d15a18d1e375b0a6fee93789a0bbfe088b4",
      "tree": "24af83391b39cf787b7579859682c4050970ed76",
      "parents": [
        "a57a874b04e27cb530a0e18c244387452e73ccce"
      ],
      "author": {
        "name": "Mark Fasheh",
        "email": "mfasheh@suse.com",
        "time": "Tue Aug 19 17:20:28 2008 -0700"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mfasheh@suse.com",
        "time": "Fri Aug 22 11:08:38 2008 -0700"
      },
      "message": "ocfs2: Fix sleep-with-spinlock recovery regression\n\nThis fixes a bug introduced with 539d8264093560b917ee3afe4c7f74e5da09d6a5:\n    [PATCH 2/2] ocfs2: Fix race between mount and recovery\n\nocfs2_mark_dead_nodes() was reading journal inodes while holding the\nspinlock protecting our in-memory recovery state. The fix is very simple -\nthe disk state is protected by a cluster lock that\u0027s already held, so we\njust move the spinlock down past the read.\n\nReviewed-by: Joel Becker \u003cjoel.becker@oracle.com\u003e\nSigned-off-by: Mark Fasheh \u003cmfasheh@suse.com\u003e\n"
    },
    {
      "commit": "539d8264093560b917ee3afe4c7f74e5da09d6a5",
      "tree": "1fce83387272c0b2d61bd945769f4984aa5e79ce",
      "parents": [
        "c69991aac71a8beb57c11d651c7fd4b24c32aa8b"
      ],
      "author": {
        "name": "Sunil Mushran",
        "email": "sunil.mushran@oracle.com",
        "time": "Mon Jul 14 17:31:10 2008 -0700"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mfasheh@suse.com",
        "time": "Thu Jul 31 16:21:14 2008 -0700"
      },
      "message": "[PATCH 2/2] ocfs2: Fix race between mount and recovery\n\nAs the fs recovery is asynchronous, there is a small chance that another\nnode can mount (and thus recover) the slot before the recovery thread\ngets to it.\n\nIf this happens, the recovery thread will block indefinitely on the\njournal/slot lock as that lock will be held for the duration of the mount\n(by design) by the node assigned to that slot.\n\nThe solution implemented is to keep track of the journal replays using\na recovery generation in the journal inode, which will be incremented by the\nthread replaying that journal. The recovery thread, before attempting the\nblocking lock on the journal/slot lock, will compare the generation on disk\nwith what it has cached and skip recovery if it does not match.\n\nThis bug appears to have been inadvertently introduced during the mount/umount\nvote removal by mainline commit 34d024f84345807bf44163fac84e921513dde323. In the\nmount voting scheme, the messaging would indirectly indicate that the slot\nwas being recovered.\n\nSigned-off-by: Sunil Mushran \u003csunil.mushran@oracle.com\u003e\nSigned-off-by: Mark Fasheh \u003cmfasheh@suse.com\u003e\n"
    },
    {
      "commit": "e407e39783a7206d20b3e9961aedf272de966e31",
      "tree": "f38fb034a20b36ad016e4f5d80fbdd31c609fb67",
      "parents": [
        "461c6a30eca6f25add1dadb9fd8a1d8e89a6e627"
      ],
      "author": {
        "name": "Joel Becker",
        "email": "joel.becker@oracle.com",
        "time": "Thu Jun 12 22:35:39 2008 -0700"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mfasheh@suse.com",
        "time": "Mon Jul 14 13:57:15 2008 -0700"
      },
      "message": "ocfs2: Fix CONFIG_OCFS2_DEBUG_FS #ifdefs\n\nA couple places use OCFS2_DEBUG_FS where they really mean\nCONFIG_OCFS2_DEBUG_FS.\n\nReported-by: Robert P. J. Day \u003crpjday@crashcourse.ca\u003e\nSigned-off-by: Joel Becker \u003cjoel.becker@oracle.com\u003e\n"
    },
    {
      "commit": "b1f3550fa1471b691ad6c2f35b5b22e93eaa5855",
      "tree": "0d481a71d202883df116c55fdac4a4a60c4ca091",
      "parents": [
        "c9ec14884d69a303eef4faae42bd3c4e25b19941"
      ],
      "author": {
        "name": "Julia Lawall",
        "email": "julia@diku.dk",
        "time": "Tue Mar 04 15:21:05 2008 -0800"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mfasheh@suse.com",
        "time": "Fri Apr 18 08:56:11 2008 -0700"
      },
      "message": "ocfs2: Use BUG_ON\n\nif (...) BUG(); should be replaced with BUG_ON(...) when the test has no\nside-effects to allow a definition of BUG_ON that drops the code completely.\n\nThe semantic patch that makes this change is as follows:\n(http://www.emn.fr/x-info/coccinelle/)\n\n// \u003csmpl\u003e\n@ disable unlikely @ expression E,f; @@\n\n(\n  if (\u003c... f(...) ...\u003e) { BUG(); }\n|\n- if (unlikely(E)) { BUG(); }\n+ BUG_ON(E);\n)\n\n@@ expression E,f; @@\n\n(\n  if (\u003c... f(...) ...\u003e) { BUG(); }\n|\n- if (E) { BUG(); }\n+ BUG_ON(E);\n)\n// \u003c/smpl\u003e\n\nSigned-off-by: Julia Lawall \u003cjulia@diku.dk\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Mark Fasheh \u003cmfasheh@suse.com\u003e\n"
    },
    {
      "commit": "fc881fa0d59596c02f8707b5572567c369d4789a",
      "tree": "1925db8ac3262ebd343d85ec5e9de799d2e3afd9",
      "parents": [
        "1c8d9a6a330f46b3a6ddd204a2580131d5f0d6b7"
      ],
      "author": {
        "name": "Joel Becker",
        "email": "joel.becker@oracle.com",
        "time": "Fri Feb 01 12:04:48 2008 -0800"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mfasheh@suse.com",
        "time": "Fri Apr 18 08:56:03 2008 -0700"
      },
      "message": "ocfs2: De-magic the in-memory slot map.\n\nThe in-memory slot map uses the same magic as the on-disk one.  There is\na special value to mark a slot as invalid.  It relies on the size of\ncertain types and so on.\n\nWrite a new in-memory map that keeps validity as a separate field.  Outside\nof the I/O functions, OCFS2_INVALID_SLOT now means what it is supposed to.\nIt also is no longer tied to the type size.\n\nThis also means that only the I/O functions refer to 16bit quantities.\n\nSigned-off-by: Joel Becker \u003cjoel.becker@oracle.com\u003e\nSigned-off-by: Mark Fasheh \u003cmfasheh@suse.com\u003e\n"
    },
    {
      "commit": "553abd046af609191a91af7289d87d477adc659f",
      "tree": "cff21f65d49c0041993095a051edf76840c2af28",
      "parents": [
        "d85b20e4b300edfd290f21fc2d790ba16d2f225b"
      ],
      "author": {
        "name": "Joel Becker",
        "email": "joel.becker@oracle.com",
        "time": "Fri Feb 01 12:03:57 2008 -0800"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mfasheh@suse.com",
        "time": "Fri Apr 18 08:56:02 2008 -0700"
      },
      "message": "ocfs2: Change the recovery map to an array of node numbers.\n\nThe old recovery map was a bitmap of node numbers.  This was sufficient\nfor the maximum node number of 254.  Going forward, we want node numbers\nto be UINT32.  Thus, we need a new recovery map.\n\nNote that we can\u0027t keep track of slots here.  We must write down the\nnode number to recovery *before* we get the locks needed to convert a\nnode number into a slot number.\n\nThe recovery map is now an array of unsigned ints, max_slots in size.\nIt moves to journal.c with the rest of recovery.\n\nBecause it needs to be initialized, we move all of recovery initialization\ninto a new function, ocfs2_recovery_init().  This actually cleans up\nocfs2_initialize_super() a little as well.  Following on, recovery cleaup\nbecomes part of ocfs2_recovery_exit().\n\nA number of node map functions are rendered obsolete and are removed.\n\nFinally, waiting on recovery is wrapped in a function rather than naked\nchecks on the recovery_event.  This is a cleanup from Mark.\n\nSigned-off-by: Joel Becker \u003cjoel.becker@oracle.com\u003e\nSigned-off-by: Mark Fasheh \u003cmfasheh@suse.com\u003e\n"
    },
    {
      "commit": "d85b20e4b300edfd290f21fc2d790ba16d2f225b",
      "tree": "a505db4d378420e5bbd1d8c18a0d97a0498e5ceb",
      "parents": [
        "8e8a4603b5422c9145880e73b23bc4c2c4de0098"
      ],
      "author": {
        "name": "Joel Becker",
        "email": "joel.becker@oracle.com",
        "time": "Fri Feb 01 12:01:05 2008 -0800"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mfasheh@suse.com",
        "time": "Fri Apr 18 08:56:02 2008 -0700"
      },
      "message": "ocfs2: Make ocfs2_slot_info private.\n\nJust use osb_lock around the ocfs2_slot_info data.  This allows us to\ntake the ocfs2_slot_info structure private in slot_info.c.  All access\nis now via accessors.\n\nSigned-off-by: Joel Becker \u003cjoel.becker@oracle.com\u003e\nSigned-off-by: Mark Fasheh \u003cmfasheh@suse.com\u003e\n"
    },
    {
      "commit": "8e8a4603b5422c9145880e73b23bc4c2c4de0098",
      "tree": "4d388ae74ed9e5f8cfec19ff20d07d81ca742592",
      "parents": [
        "4b119e21d0c66c22e8ca03df05d9de623d0eb50f"
      ],
      "author": {
        "name": "Mark Fasheh",
        "email": "mfasheh@suse.com",
        "time": "Fri Feb 01 11:59:09 2008 -0800"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mfasheh@suse.com",
        "time": "Fri Apr 18 08:56:02 2008 -0700"
      },
      "message": "ocfs2: Move slot map access into slot_map.c\n\njournal.c and dlmglue.c would refresh the slot map by hand.  Instead, have\nthe update and clear functions do the work inside slot_map.c.  The eventual\nresult is to make ocfs2_slot_info defined privately in slot_map.c\n\nSigned-off-by: Joel Becker \u003cjoel.becker@oracle.com\u003e\nSigned-off-by: Mark Fasheh \u003cmfasheh@suse.com\u003e\n"
    },
    {
      "commit": "5fa0613ea58a80f69852b242337121bd39dc798e",
      "tree": "21170694624428a8903efc6cba843fd10de93c64",
      "parents": [
        "53fc622b9e829c8e632e45ef8c14f054388759c1"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Fri Jan 11 00:11:45 2008 +0100"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Fri Jan 25 15:05:44 2008 -0800"
      },
      "message": "ocfs2: Silence false lockdep warnings\n\nCreate separate lockdep lock classes for system file\u0027s i_mutexes. They are\nused to guard allocations and similar things and thus rank differently\nthan i_mutex of a regular file or directory.\n\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\nSigned-off-by: Mark Fasheh \u003cmark.fasheh@oracle.com\u003e\n"
    },
    {
      "commit": "d147b3d630edef1d34de6ea819787a1ac1b8603b",
      "tree": "bd417b27fd58fa3c44be6b8451d929f848981ffd",
      "parents": [
        "0957f00796157564281ea6ff2cea7ef4f897775a"
      ],
      "author": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Wed Nov 07 14:40:36 2007 -0800"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Fri Jan 25 15:05:42 2008 -0800"
      },
      "message": "ocfs2: Support commit\u003d mount option\n\nMostly taken from ext3. This allows the user to set the jbd commit interval,\nin seconds. The default of 5 seconds stays the same, but now users can\neasily increase the commit interval. Typically, this would be increased in\norder to benefit performance at the expense of data-safety.\n\nSigned-off-by: Mark Fasheh \u003cmark.fasheh@oracle.com\u003e\n"
    },
    {
      "commit": "e63aecb651ba73dffc62f9608ee1b7ae2a0ffd4b",
      "tree": "06a4b727230120fe73421dc3149c21aaed5fe91e",
      "parents": [
        "c934a92d05b549dd2f25db72c5fc3cb9dcf1b611"
      ],
      "author": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Thu Oct 18 15:30:42 2007 -0700"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Fri Jan 25 14:46:01 2008 -0800"
      },
      "message": "ocfs2: Rename ocfs2_meta_[un]lock\n\nCall this the \"inode_lock\" now, since it covers both data and meta data.\nThis patch makes no functional changes.\n\nSigned-off-by: Mark Fasheh \u003cmark.fasheh@oracle.com\u003e\n"
    },
    {
      "commit": "34d024f84345807bf44163fac84e921513dde323",
      "tree": "aef303ae5feeb42cb8791acc1c0b8a74f0a97674",
      "parents": [
        "6f7b056ea9c6fa978c79ca626eff43549df94dbb"
      ],
      "author": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Mon Sep 24 15:56:19 2007 -0700"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Fri Jan 25 14:45:34 2008 -0800"
      },
      "message": "ocfs2: Remove mount/unmount votes\n\nThe node maps that are set/unset by these votes are no longer relevant, thus\nwe can remove the mount and umount votes. Since those are the last two\nremaining votes, we can also remove the entire vote infrastructure.\n\nThe vote thread has been renamed to the downconvert thread, and the small\namount of functionality related to managing it has been moved into\nfs/ocfs2/dlmglue.c. All references to votes have been removed or updated.\n\nSigned-off-by: Mark Fasheh \u003cmark.fasheh@oracle.com\u003e\n"
    },
    {
      "commit": "e8aed3450c0afd6fdb79ec233f806e3e69454dfe",
      "tree": "aa83824230c1b0c58fe9ec68d007c35f42b90fa7",
      "parents": [
        "0879c584ffcccd50a8d0f72cab3a51702613f901"
      ],
      "author": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Mon Dec 03 16:43:01 2007 -0800"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Mon Dec 17 10:51:23 2007 -0800"
      },
      "message": "ocfs2: Re-journal buffers after transaction extend\n\nocfs2_extend_trans() might call journal_restart() which will commit dirty\nbuffers and then restart the transaction. This means that any buffers which\nstill need changes should be passed to journal_access() again. Some paths\nduring extend weren\u0027t doing this right.\n\nSigned-off-by: Mark Fasheh \u003cmark.fasheh@oracle.com\u003e\n"
    },
    {
      "commit": "0879c584ffcccd50a8d0f72cab3a51702613f901",
      "tree": "7ed963ab1a1ddda0f3b9dc31f1379243b44b555c",
      "parents": [
        "92295d8054289eff0d52b4d12349f9b9df0f58e4"
      ],
      "author": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Mon Dec 03 16:42:19 2007 -0800"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Mon Dec 17 10:51:14 2007 -0800"
      },
      "message": "ocfs2: Allow for debugging of transaction extends\n\nThe nastiest cases of transaction extends are also the rarest. We can expose\nthem more quickly at the expense of performance by going straight to the\njournal_restart() in ocfs2_extend_trans(). Wrap things in OCFS2_DEBUG_FS so\nthat we only do this when \"expensive debugging\" is turned on.\n\nSigned-off-by: Mark Fasheh \u003cmark.fasheh@oracle.com\u003e\n"
    },
    {
      "commit": "a86370fbb65a0a2cb21d28bf25a748f6cc04385b",
      "tree": "787ec4c82c05a010c7ef38cb22b2a2ca73b2a6f3",
      "parents": [
        "ea9e7b5569a538123dc4d60ba36b9170ca8e8830"
      ],
      "author": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Mon Dec 03 14:06:23 2007 -0800"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Mon Dec 17 10:49:43 2007 -0800"
      },
      "message": "ocfs2: fix exit-while-locked bug in ocfs2_queue_orphans()\n\nWe\u0027re holding the cluster lock when a failure might happen in\nocfs2_dir_foreach() so it needs to be released.\n\nSigned-off-by: Mark Fasheh \u003cmark.fasheh@oracle.com\u003e\n"
    },
    {
      "commit": "5eae5b96fc86e6c85f5f90e90fe9e6966f1fec63",
      "tree": "f9ab0815a6b0ee9c181a17e304abb8386bd09843",
      "parents": [
        "7e8536797d4508ddc790cc3af6a281db1582d485"
      ],
      "author": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Mon Sep 10 17:50:51 2007 -0700"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Fri Oct 12 11:54:37 2007 -0700"
      },
      "message": "ocfs2: Remove open coded readdir()\n\nocfs2_queue_orphans() has an open coded readdir loop which can easily just\nuse a directory accessor function.\n\nSigned-off-by: Mark Fasheh \u003cmark.fasheh@oracle.com\u003e\nReviewed-by: Joel Becker \u003cjoel.becker@oracle.com\u003e\n"
    },
    {
      "commit": "316f4b9f98a353ac1be93199694fd97272378815",
      "tree": "c54f7feb08fc1693f64879d8a3edc18cf3bb2713",
      "parents": [
        "1d410a6e337a0d2d5543ad1d9bccb670a7a05312"
      ],
      "author": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Fri Sep 07 18:21:26 2007 -0700"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Fri Oct 12 11:54:36 2007 -0700"
      },
      "message": "ocfs2: Move directory manipulation code into dir.c\n\nThe code for adding, removing, deleting directory entries was splattered all\nover namei.c. I\u0027d rather have this all centralized, so that it\u0027s easier to\nmake changes for inline dir data, and eventually indexed directories.\n\nNone of the code in any of the functions was changed. I only removed the\nstatic keyword from some prototypes so that they could be exported.\n\nSigned-off-by: Mark Fasheh \u003cmark.fasheh@oracle.com\u003e\nReviewed-by: Joel Becker \u003cjoel.becker@oracle.com\u003e\n"
    },
    {
      "commit": "800deef3f6f87fee3a2e89cf7237a1f20c1a78d7",
      "tree": "adc036024ba3ee6e04fe8c9cdd3b9abb4a2af14d",
      "parents": [
        "e6df3a663a5d1ee68aeae7f007197f272700d9cc"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Thu May 17 16:03:13 2007 +0200"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Tue Jul 10 17:19:49 2007 -0700"
      },
      "message": "[PATCH] ocfs2: use list_for_each_entry where benefical\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Mark Fasheh \u003cmark.fasheh@oracle.com\u003e\n"
    },
    {
      "commit": "1ca1a111b1e6be843c9ce5245dcd570312998d94",
      "tree": "e9f14300df896a4c7ee4f03db09cf08ddd027471",
      "parents": [
        "6e4b0d5692cd27d3c9be893a9f5939a9cafbb09f"
      ],
      "author": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Fri Apr 27 16:01:25 2007 -0700"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Wed May 02 15:08:08 2007 -0700"
      },
      "message": "ocfs2: fix sparse warnings in fs/ocfs2\n\nNone of these are actually harmful, but the noise makes looking for real\nproblems difficult.\n\nSigned-off-by: Mark Fasheh \u003cmark.fasheh@oracle.com\u003e\n"
    },
    {
      "commit": "8110b073a9135acf0a71bccfc20c0d1023f179c6",
      "tree": "b668738e25648f3fcfd7b1063ab8d4948cebc668",
      "parents": [
        "4f902c37727bbedbc0508a1477874c58ddcc9af8"
      ],
      "author": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Thu Mar 22 16:53:23 2007 -0700"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Thu Apr 26 15:07:40 2007 -0700"
      },
      "message": "ocfs2: Fix up i_blocks calculation to know about holes\n\nOlder file systems which didn\u0027t support holes did a dumb calculation of\ni_blocks based on i_size. This is no longer accurate, so fix things up to\ntake actual allocation into account.\n\nSigned-off-by: Mark Fasheh \u003cmark.fasheh@oracle.com\u003e\n"
    },
    {
      "commit": "4f902c37727bbedbc0508a1477874c58ddcc9af8",
      "tree": "841b35387cfea5d2518c258c4de6ef868948369b",
      "parents": [
        "49cb8d2d496ce06869ccca2ab368ed6b0b5b979d"
      ],
      "author": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Fri Mar 09 16:26:50 2007 -0800"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Thu Apr 26 15:02:45 2007 -0700"
      },
      "message": "ocfs2: Fix extent lookup to return true size of holes\n\nInitially, we had wired things to return a size \u00271\u0027 of holes. Cook up a\nsmall amount of code to find the next extent and calculate the number of\nclusters between the virtual offset and the next allocated extent.\n\nSigned-off-by: Mark Fasheh \u003cmark.fasheh@oracle.com\u003e\n"
    },
    {
      "commit": "49cb8d2d496ce06869ccca2ab368ed6b0b5b979d",
      "tree": "7aded7178e87dc26eb2ceafb169d7e68a8ee5ded",
      "parents": [
        "e48edee2d8eab812f31f0ff62c6ba635ca2e1e21"
      ],
      "author": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Fri Mar 09 16:21:46 2007 -0800"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Thu Apr 26 15:02:41 2007 -0700"
      },
      "message": "ocfs2: Read from an unwritten extent returns zeros\n\nReturn an optional extent flags field from our lookup functions and wire up\ncallers to treat unwritten regions as holes for the purpose of returning\nzeros to the user.\n\nSigned-off-by: Mark Fasheh \u003cmark.fasheh@oracle.com\u003e\n"
    },
    {
      "commit": "363041a5f74b953ab6b705ac9c88e5eda218a24b",
      "tree": "c0661c3f88978f2049693682f1cb94b20a8454c0",
      "parents": [
        "dcd0538ff4e854fa9d7f4630b359ca8fdb5cb5a8"
      ],
      "author": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Wed Jan 17 12:31:35 2007 -0800"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Thu Apr 26 15:01:31 2007 -0700"
      },
      "message": "ocfs2: temporarily remove extent map caching\n\nThe code in extent_map.c is not prepared to deal with a subtree being\nrotated between lookups. This can happen when filling holes in sparse files.\nInstead of a lengthy patch to update the code (which would likely lose the\nbenefit of caching subtree roots), we remove most of the algorithms and\nimplement a simple path based lookup. A less ambitious extent caching scheme\nwill be added in a later patch.\n\nSigned-off-by: Mark Fasheh \u003cmark.fasheh@oracle.com\u003e\n"
    },
    {
      "commit": "500086300e6dc5308a7328990bd50d17e075162b",
      "tree": "4083cda09445c260c2cc2ac1d0f68c05ad2b958e",
      "parents": [
        "a9f5f70739363ccca2e771c274c4f015c5fb7a88"
      ],
      "author": {
        "name": "Tiger Yang",
        "email": "tiger.yang@oracle.com",
        "time": "Tue Mar 20 16:01:38 2007 -0700"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Thu Apr 26 14:39:48 2007 -0700"
      },
      "message": "ocfs2: Remove delete inode vote\n\nOcfs2 currently does cluster-wide node messaging to check the open state of\nan inode during delete. This patch removes that mechanism in favor of an\ninode cluster lock which is taken at shared read when an inode is first read\nand dropped in clear_inode(). This allows a deleting node to test the\nliveness of an inode by attempting to take an exclusive lock.\n\nSigned-off-by: Tiger Yang \u003ctiger.yang@oracle.com\u003e\nSigned-off-by: Mark Fasheh \u003cmark.fasheh@oracle.com\u003e\n"
    },
    {
      "commit": "c271c5c22b0a7ca45fda15f1f4d258bca36a5b94",
      "tree": "9803af515ecf1c101c4a5921d7407c66184147e1",
      "parents": [
        "c99767974ebd2a719d849fdeaaa1674456f5283f"
      ],
      "author": {
        "name": "Sunil Mushran",
        "email": "Sunil.Mushran@oracle.com",
        "time": "Tue Dec 05 17:56:35 2006 -0800"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Thu Dec 07 17:37:53 2006 -0800"
      },
      "message": "ocfs2: local mounts\n\nThis allows users to format an ocfs2 file system with a special flag,\nOCFS2_FEATURE_INCOMPAT_LOCAL_MOUNT. When the file system sees this flag, it\nwill not use any cluster services, nor will it require a cluster\nconfiguration, thus acting like a \u0027local\u0027 file system.\n\nSigned-off-by: Sunil Mushran \u003csunil.mushran@oracle.com\u003e\nSigned-off-by: Mark Fasheh \u003cmark.fasheh@oracle.com\u003e\n"
    },
    {
      "commit": "9db73724453a9350e1c22dbe732d427e2939a5c9",
      "tree": "15e3ead6413ae97398a54292acc199bee0864d42",
      "parents": [
        "4c1ac1b49122b805adfa4efc620592f68dccf5db",
        "e62438630ca37539c8cc1553710bbfaa3cf960a7"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Tue Dec 05 17:01:28 2006 +0000"
      },
      "committer": {
        "name": "David Howells",
        "email": "dhowells@warthog.cambridge.redhat.com",
        "time": "Tue Dec 05 17:01:28 2006 +0000"
      },
      "message": "Merge branch \u0027master\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6\n\nConflicts:\n\n\tdrivers/ata/libata-scsi.c\n\tinclude/linux/libata.h\n\nFuther merge of Linus\u0027s head and compilation fixups.\n\nSigned-Off-By: David Howells \u003cdhowells@redhat.com\u003e\n"
    },
    {
      "commit": "1fabe1481fac9e01bf8bffa60a2307ef379aa5de",
      "tree": "17092c1be837ed95c8f26646003e9e49cfdb9663",
      "parents": [
        "65eff9ccf86d63eb5c3e9071450a36e4e4fa9564"
      ],
      "author": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Mon Oct 09 18:11:45 2006 -0700"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Fri Dec 01 18:28:28 2006 -0800"
      },
      "message": "ocfs2: Remove struct ocfs2_journal_handle in favor of handle_t\n\nThis is mostly a search and replace as ocfs2_journal_handle is now no more\nthan a container for a handle_t pointer.\n\nocfs2_commit_trans() becomes very straight forward, and we remove some out\nof date comments / code.\n\nSigned-off-by: Mark Fasheh \u003cmark.fasheh@oracle.com\u003e\n"
    },
    {
      "commit": "65eff9ccf86d63eb5c3e9071450a36e4e4fa9564",
      "tree": "3610e008294ce4e5cfbc9abff3c98153f35ed2d4",
      "parents": [
        "dae85832ffe2879b57b23aea319a0ec17667898d"
      ],
      "author": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Mon Oct 09 17:26:22 2006 -0700"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Fri Dec 01 18:28:23 2006 -0800"
      },
      "message": "ocfs2: remove handle argument to ocfs2_start_trans()\n\nAll callers either pass in NULL directly, or a local variable that is\nalready set to NULL.\n\nThe internals of ocfs2_start_trans() get a nice cleanup as a result.\n\nSigned-off-by: Mark Fasheh \u003cmark.fasheh@oracle.com\u003e\n"
    },
    {
      "commit": "dae85832ffe2879b57b23aea319a0ec17667898d",
      "tree": "a55d415868cef92c5a58e6282207413201063f4a",
      "parents": [
        "02dc1af44e9fa4b8801169891b3a1ba4047537ad"
      ],
      "author": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Mon Oct 09 16:50:32 2006 -0700"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Fri Dec 01 18:28:13 2006 -0800"
      },
      "message": "ocfs2: remove ocfs2_journal_handle journal field\n\nIt is no longer used.\n\nSigned-off-by: Mark Fasheh \u003cmark.fasheh@oracle.com\u003e\n"
    },
    {
      "commit": "02dc1af44e9fa4b8801169891b3a1ba4047537ad",
      "tree": "db84e9ec9731dcfcf91bea226403881d0feccb49",
      "parents": [
        "4bcec1847ac4f75c2ee6d091b495f34d8d822e6a"
      ],
      "author": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Mon Oct 09 16:48:10 2006 -0700"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Fri Dec 01 18:28:08 2006 -0800"
      },
      "message": "ocfs2: pass ocfs2_super * into ocfs2_commit_trans()\n\nThis sets us up to remove handle-\u003ejournal.\n\nSigned-off-by: Mark Fasheh \u003cmark.fasheh@oracle.com\u003e\n"
    },
    {
      "commit": "4bcec1847ac4f75c2ee6d091b495f34d8d822e6a",
      "tree": "faac00bd440eff91bd59a3cef88e74220082163a",
      "parents": [
        "a301a27d715276a71827004549bcbb2b64776c11"
      ],
      "author": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Mon Oct 09 16:02:40 2006 -0700"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Fri Dec 01 18:28:05 2006 -0800"
      },
      "message": "ocfs2: remove unused handle argument from ocfs2_meta_lock_full()\n\nNow that this is unused and all callers pass NULL, we can safely remove it.\n\nSigned-off-by: Mark Fasheh \u003cmark.fasheh@oracle.com\u003e\n"
    },
    {
      "commit": "a301a27d715276a71827004549bcbb2b64776c11",
      "tree": "07ef204a136e628ef8982d33a832abf2897bd924",
      "parents": [
        "daf29e9cdab7219838c6b6e82380aec3466cf379"
      ],
      "author": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Fri Oct 06 19:07:43 2006 -0700"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Fri Dec 01 18:28:00 2006 -0800"
      },
      "message": "ocfs2: make ocfs2_alloc_handle() static\n\nThis is no longer used outside of journal.c\n\nSigned-off-by: Mark Fasheh \u003cmark.fasheh@oracle.com\u003e\n"
    },
    {
      "commit": "daf29e9cdab7219838c6b6e82380aec3466cf379",
      "tree": "b8ee26fadd65ca2c037ee34d6a061960eaec2174",
      "parents": [
        "02928a71ae6da6e3e205d99e1fa1a1f598ddb62d"
      ],
      "author": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Fri Oct 06 19:05:31 2006 -0700"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Fri Dec 01 18:27:58 2006 -0800"
      },
      "message": "ocfs2: remove unused ocfs2_handle_add_lock()\n\nThis gets us rid of a slab we no longer need, as well as removing the\nmajority of what\u0027s left on ocfs2_journal_handle.\n\nocfs2_commit_unstarted_handle() has no more real work to do, so remove that\nfunction too.\n\nSigned-off-by: Mark Fasheh \u003cmark.fasheh@oracle.com\u003e\n"
    },
    {
      "commit": "02928a71ae6da6e3e205d99e1fa1a1f598ddb62d",
      "tree": "0b45c363c0e77cf32fd20a4bc30e6405c5250059",
      "parents": [
        "85b9e783cbc8cf4acc7bfaa76f37ea26b426f514"
      ],
      "author": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Fri Oct 06 18:51:46 2006 -0700"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Fri Dec 01 18:27:55 2006 -0800"
      },
      "message": "ocfs2: remove unused ocfs2_handle_add_inode()\n\nWe can also delete the unused infrastructure which was once in place to\nsupport this functionality. ocfs2_inode_private loses ip_handle and\nip_handle_list. ocfs2_journal_handle loses handle_list.\n\nSigned-off-by: Mark Fasheh \u003cmark.fasheh@oracle.com\u003e\n"
    },
    {
      "commit": "c161f89be7d57af863e434e9b15afaa863343a7a",
      "tree": "18152d2fb567746e74a0f57f0d11c53c740db87a",
      "parents": [
        "1fc581467e52546195c7ee8233a34d63c1cc1322"
      ],
      "author": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Thu Oct 05 15:11:36 2006 -0700"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Fri Dec 01 18:27:06 2006 -0800"
      },
      "message": "ocfs2: remove ocfs2_journal_handle flags field\n\nCallers can set h_sync directly on the handle_t, whether a transaction has\nbeen started or not can be determined via the existence of the handle_t on\nthe struct ocfs2_journal_handle.\n\nSigned-off-by: Mark Fasheh \u003cmark.fasheh@oracle.com\u003e\n"
    },
    {
      "commit": "1fc581467e52546195c7ee8233a34d63c1cc1322",
      "tree": "7aa909dfd9f48c29c7e086aa6c929c8444b461a8",
      "parents": [
        "01ddf1e186b3b12b38c9e44912e0fd6a1cbc882b"
      ],
      "author": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Thu Oct 05 14:15:36 2006 -0700"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Fri Dec 01 18:27:04 2006 -0800"
      },
      "message": "ocfs2: have ocfs2_extend_trans() take handle_t\n\nNo reason to use our wrapper struct in this function, so take the handle_t\ndirectly.\n\nAlso fixes a bug where we were incorrectly setting the handle to NULL in\ncase of a failure from journal_restart()\n\nSigned-off-by: Mark Fasheh \u003cmark.fasheh@oracle.com\u003e\n"
    },
    {
      "commit": "01ddf1e186b3b12b38c9e44912e0fd6a1cbc882b",
      "tree": "8c34642493ff8cdaf0fb454441384c262f288e60",
      "parents": [
        "f5a923d1ba648bfb3cc922c66981fc8e3280f57f"
      ],
      "author": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Thu Oct 05 13:54:39 2006 -0700"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Fri Dec 01 18:27:00 2006 -0800"
      },
      "message": "ocfs2: remove unused ocfs2_journal_handle field\n\nmax_buffs was just being set and not actually used.\n\nSigned-off-by: Mark Fasheh \u003cmark.fasheh@oracle.com\u003e\n"
    },
    {
      "commit": "c4028958b6ecad064b1a6303a6a5906d4fe48d73",
      "tree": "1c4c89652c62a75da09f9b9442012007e4ac6250",
      "parents": [
        "65f27f38446e1976cc98fd3004b110fedcddd189"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Wed Nov 22 14:57:56 2006 +0000"
      },
      "committer": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Wed Nov 22 14:57:56 2006 +0000"
      },
      "message": "WorkStruct: make allyesconfig\n\nFix up for make allyesconfig.\n\nSigned-Off-By: David Howells \u003cdhowells@redhat.com\u003e\n"
    },
    {
      "commit": "24c19ef40474c3930597f31ae233dc06319bd881",
      "tree": "e05b1cf72435d25bf47e67b206aa376bbea33b7d",
      "parents": [
        "f9e2d82e6395cfa0802446b54b63cc412089d82c"
      ],
      "author": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Fri Sep 22 17:28:19 2006 -0700"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Sun Sep 24 13:50:46 2006 -0700"
      },
      "message": "ocfs2: Remove i_generation from inode lock names\n\nOCFS2 puts inode meta data in the \"lock value block\" provided by the DLM.\nTypically, i_generation is encoded in the lock name so that a deleted inode\non and a new one in the same block don\u0027t share the same lvb.\n\nUnfortunately, that scheme means that the read in ocfs2_read_locked_inode()\nis potentially thrown away as soon as the meta data lock is taken - we\ncannot encode the lock name without first knowing i_generation, which\nrequires a disk read.\n\nThis patch encodes i_generation in the inode meta data lvb, and removes the\nvalue from the inode meta data lock name. This way, the read can be covered\nby a lock, and at the same time we can distinguish between an up to date and\na stale LVB.\n\nThis will help cold-cache stat(2) performance in particular.\n\nSince this patch changes the protocol version, we take the opportunity to do\na minor re-organization of two of the LVB fields.\n\nSigned-off-by: Mark Fasheh \u003cmark.fasheh@oracle.com\u003e\n"
    },
    {
      "commit": "784270435b001164054e803421a624ef1098519d",
      "tree": "f26fec7ca476439f770fd24e5c7ec11039302b37",
      "parents": [
        "a75a6e4c3ada10b15e26f6d12f72c03efde266e0"
      ],
      "author": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Thu May 04 12:03:26 2006 -0700"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Thu Jun 29 16:10:13 2006 -0700"
      },
      "message": "ocfs2: clean up some osb fields\n\nGet rid of osb-\u003euuid, osb-\u003eproc_sub_dir, and osb-\u003eosb_id. Those fields were\nunused, or could easily be removed. As a result, we also no longer need\nMAX_OSB_ID or ocfs2_globals_lock.\n\nSigned-off-by: Mark Fasheh \u003cmark.fasheh@oracle.com\u003e\n"
    },
    {
      "commit": "34af946a22724c4e2b204957f2b24b22a0fb121c",
      "tree": "7881dcbd0a698257c126198cdb6d97d4e45ee51e",
      "parents": [
        "b6cd0b772dcc5dc9b4c03d53946474dee399fa72"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Jun 27 02:53:55 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Jun 27 17:32:39 2006 -0700"
      },
      "message": "[PATCH] spin/rwlock init cleanups\n\nlocking init cleanups:\n\n - convert \" \u003d SPIN_LOCK_UNLOCKED\" to spin_lock_init() or DEFINE_SPINLOCK()\n - convert rwlocks in a similar manner\n\nthis patch was generated automatically.\n\nMotivation:\n\n - cleanliness\n - lockdep needs control of lock initialization, which the open-coded\n   variants do not give\n - it\u0027s also useful for -rt and for lock debugging in general\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\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": "f116629d03655adaf7832b93b03c99391d09d4a7",
      "tree": "526f689619817df3c23ab00e3228b4776bde2190",
      "parents": [
        "179e09172ab663b8587ecc46bb18a56a770304a9"
      ],
      "author": {
        "name": "Akinobu Mita",
        "email": "mita@miraclelinux.com",
        "time": "Mon Jun 26 00:24:46 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Jun 26 09:58:18 2006 -0700"
      },
      "message": "[PATCH] fs: use list_move()\n\nThis patch converts the combination of list_del(A) and list_add(A, B) to\nlist_move(A, B) under fs/.\n\nCc: Ian Kent \u003craven@themaw.net\u003e\nAcked-by: Joel Becker \u003cjoel.becker@oracle.com\u003e\nCc: Neil Brown \u003cneilb@cse.unsw.edu.au\u003e\nCc: Hans Reiser \u003creiserfs-dev@namesys.com\u003e\nCc: Urban Widmark \u003curban@teststation.com\u003e\nAcked-by: David Howells \u003cdhowells@redhat.com\u003e\nAcked-by: Mark Fasheh \u003cmark.fasheh@oracle.com\u003e\nSigned-off-by: Akinobu Mita \u003cmita@miraclelinux.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "afae00ab45ea71d89086f924ebee6ca51c81e48e",
      "tree": "1306e519591e2dabb4376f52e34e515b343be4ad",
      "parents": [
        "dd4a2c2bfe159cc39e9672e875c8314563699764"
      ],
      "author": {
        "name": "Sunil Mushran",
        "email": "sunil.mushran@oracle.com",
        "time": "Wed Apr 12 14:37:00 2006 -0700"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Wed May 17 14:38:49 2006 -0700"
      },
      "message": "ocfs2: fix gfp mask in some file system paths\n\nWe were using GFP_KERNEL in a handful of places which really wanted\nGFP_NOFS. Fix this.\n\nSigned-off-by: Sunil Mushran \u003csunil.mushran@oracle.com\u003e\nSigned-off-by: Mark Fasheh \u003cmark.fasheh@oracle.com\u003e\n"
    },
    {
      "commit": "dd4a2c2bfe159cc39e9672e875c8314563699764",
      "tree": "d858215c972c637000e2a28af85830fd4665cd89",
      "parents": [
        "c4374f8a6093fbee42ac4368b3ca180d1d0c7c6d"
      ],
      "author": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Wed Apr 12 14:24:05 2006 -0700"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Wed May 17 14:38:48 2006 -0700"
      },
      "message": "ocfs2: Don\u0027t populate uptodate cache in ocfs2_force_read_journal()\n\nThis greatly reduces the amount of memory useded during recovery.\n\nSigned-off-by: Mark Fasheh \u003cmark.fasheh@oracle.com\u003e\n"
    },
    {
      "commit": "205f87f6b342444f722e4559d33318686f7df2ca",
      "tree": "61f32bb0582dde9fd62ee3d03ac3324b949b29e6",
      "parents": [
        "d48589bfad0e60bff0aa3f9e4875983f607bd44b"
      ],
      "author": {
        "name": "Badari Pulavarty",
        "email": "pbadari@us.ibm.com",
        "time": "Sun Mar 26 01:38:00 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Mar 26 08:57:01 2006 -0800"
      },
      "message": "[PATCH] change buffer_head.b_size to size_t\n\nIncrease the size of the buffer_head b_size field (only) for 64 bit platforms.\nUpdate some old and moldy comments in and around the structure as well.\n\nThe b_size increase allows us to perform larger mappings and allocations for\nlarge I/O requests from userspace, which tie in with other changes allowing\nthe get_block_t() interface to map multiple blocks at once.\n\nSigned-off-by: Nathan Scott \u003cnathans@sgi.com\u003e\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": "5515eff811cb807f0d3221a6e8cc223c7850d205",
      "tree": "4538d128fd5b1d61d8d791a032c5a29e59b0d993",
      "parents": [
        "a0f62ac6362c168754cccb36f196b3dfbddc3bc3"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@osdl.org",
        "time": "Sun Mar 26 01:37:53 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Mar 26 08:57:00 2006 -0800"
      },
      "message": "[PATCH] 2tb-files-add-blkcnt_t-fixes\n\nCc: Takashi Sato \u003csho@tnes.nec.co.jp\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "b0697053f9e8de9cea3d510d9e290851ece9460b",
      "tree": "bcfa2ae33e4a5302ddbe94dec0eaf95013e79850",
      "parents": [
        "29004858a76ba9e26393dd8a85e653f105a33753"
      ],
      "author": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Fri Mar 03 10:24:33 2006 -0800"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Fri Mar 24 14:58:28 2006 -0800"
      },
      "message": "ocfs2: don\u0027t use MLF* in the file system\n\nSigned-off-by: Mark Fasheh \u003cmark.fasheh@oracle.com\u003e\n"
    },
    {
      "commit": "b4df6ed8db0c387d38292e31f00adc4cd297ed5a",
      "tree": "d7dcaeecfa55b3fd9d6c4844d90e07759182f845",
      "parents": [
        "895928b8380cc697ac56e9732cedf549c0a4f79c"
      ],
      "author": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Wed Feb 22 17:35:08 2006 -0800"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Wed Mar 01 11:32:41 2006 -0800"
      },
      "message": "[PATCH] ocfs2: fix orphan recovery deadlock\n\nOrphan dir recovery can deadlock with another process in\nocfs2_delete_inode() in some corner cases. Fix this by tracking recovery\nstate more closely and allowing it to handle inode wipes which might\ndeadlock.\n\nSigned-off-by: Mark Fasheh \u003cmark.fasheh@oracle.com\u003e\n"
    },
    {
      "commit": "745ae8ba29e729ec922393fa4d9448c385673599",
      "tree": "280e0a766e5b008648942172517b491d6c585a39",
      "parents": [
        "558c70c59b75a5a53ba496fe3bccea80a9e3e6fb"
      ],
      "author": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Thu Feb 09 13:23:39 2006 -0800"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Thu Feb 16 12:04:10 2006 -0800"
      },
      "message": "[PATCH] ocfs2: only checkpoint journal when asked to\n\nDisable automatic checkpointing of the journal - this is a relic from older\nocfs2 days. Worth quite a bit of performance on longer running single node\ntests.\n\nSigned-off-by: Mark Fasheh \u003cmark.fasheh@oracle.com\u003e\n"
    },
    {
      "commit": "6eff5790d57a5c9c01489c95946881808a4b2a2c",
      "tree": "2b96da58c99b27945e8c9bffb0ae48a97c4231be",
      "parents": [
        "1a1974fd4533afdb73873cdacb942d9a79ff7c9b"
      ],
      "author": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Wed Jan 18 10:31:47 2006 -0800"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Fri Feb 03 14:05:14 2006 -0800"
      },
      "message": "[PATCH] ocfs2: don\u0027t wait on recovery when locking journal\n\nThe mount path had incorrectly asked the locking code to wait for recovery\ncompletion, which deadlocks things because recovery waits for mount to\ncomplete first.\n\nSigned-off-by: Mark Fasheh \u003cmark.fasheh@oracle.com\u003e\n"
    },
    {
      "commit": "ebdec83ba46c123fe3bfdcaacf62d0dfe8fe4187",
      "tree": "acd18f3170c1de8295375cadb0a33fa23066524e",
      "parents": [
        "b4c7f538508adcde7a0a5162faec0b2ab19b90bd"
      ],
      "author": {
        "name": "Eric Sesterhenn / snakebyte",
        "email": "snakebyte@gmx.de",
        "time": "Fri Jan 27 10:32:52 2006 +0100"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Fri Feb 03 13:54:22 2006 -0800"
      },
      "message": "[PATCH] BUG_ON() Conversion in fs/ocfs2/\n\nthis changes if() BUG(); constructs to BUG_ON() which is\ncleaner, contains unlikely() and can better optimized away.\n\nSigned-off-by: Eric Sesterhenn \u003csnakebyte@gmx.de\u003e\nSigned-off-by: Mark Fasheh \u003cmark.fasheh@oracle.com\u003e\n"
    },
    {
      "commit": "c74ec2f77a7763a4a56c6cb13ecab961e1bbb456",
      "tree": "aa1ce70fae2b098a4e452fd065581268ba8a6d5c",
      "parents": [
        "e2faea4ce340f199c1957986c4c3dc2de76f5746"
      ],
      "author": {
        "name": "Arjan van de Ven",
        "email": "arjan@infradead.org",
        "time": "Fri Jan 13 21:54:23 2006 -0800"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Fri Feb 03 13:47:21 2006 -0800"
      },
      "message": "[PATCH] ocfs2: Semaphore to mutex conversion.\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: Mark Fasheh \u003cmark.fasheh@oracle.com\u003e\n"
    },
    {
      "commit": "251b6eccbeff4f0f8a3509769b327705e899f5dd",
      "tree": "7da835c3bebc8150a1a1ae6abb681a1e1a9c5f36",
      "parents": [
        "aee93ac4b7ad461255939248d0d51566cff77e05"
      ],
      "author": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Tue Jan 10 15:41:43 2006 -0800"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Fri Feb 03 13:47:19 2006 -0800"
      },
      "message": "[OCFS2] Make ip_io_sem a mutex\n\nip_io_sem is now ip_io_mutex.\n\nSigned-off-by: Mark Fasheh \u003cmark.fasheh@oracle.com\u003e\n"
    },
    {
      "commit": "1b1dcc1b57a49136f118a0f16367256ff9994a69",
      "tree": "b0b36d4f41d28c9d6514fb309d33c1a084d6309b",
      "parents": [
        "794ee1baee1c26be40410233e6c20bceb2b03c08"
      ],
      "author": {
        "name": "Jes Sorensen",
        "email": "jes@sgi.com",
        "time": "Mon Jan 09 15:59:24 2006 -0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@hera.kernel.org",
        "time": "Mon Jan 09 15:59:24 2006 -0800"
      },
      "message": "[PATCH] mutex subsystem, semaphore to mutex: VFS, -\u003ei_sem\n\nThis patch converts the inode semaphore to a mutex. I have tested it on\nXFS and compiled as much as one can consider on an ia64. Anyway your\nluck with it might be different.\n\nModified-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n\n(finished the conversion)\n\nSigned-off-by: Jes Sorensen \u003cjes@sgi.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    }
  ],
  "next": "ccd979bdbce9fba8412beb3f1de68a9d0171b12c"
}
