)]}'
{
  "log": [
    {
      "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": "7909f2bf835376a20d6dbf853eb459a27566eba2",
      "tree": "d256570ad048e27741970517929bc3c6d4c2b656",
      "parents": [
        "d659072f736837e56b6433d58e5315ad1d4d5ccf"
      ],
      "author": {
        "name": "Tao Ma",
        "email": "tao.ma@oracle.com",
        "time": "Tue Dec 18 15:47:25 2007 +0800"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Fri Jan 25 15:04:24 2008 -0800"
      },
      "message": "[PATCH 2/2] ocfs2: Implement group add for online resize\n\nThis patch adds the ability for a userspace program to request that a\nproperly formatted cluster group be added to the main allocation bitmap for\nan Ocfs2 file system. The request is made via an ioctl, OCFS2_IOC_GROUP_ADD.\nOn a high level, this is similar to ext3, but we use a different ioctl as\nthe structure which has to be passed through is different.\n\nDuring an online resize, tunefs.ocfs2 will format any new cluster groups\nwhich must be added to complete the resize, and call OCFS2_IOC_GROUP_ADD on\neach one. Kernel verifies that the core cluster group information is valid\nand then does the work of linking it into the global allocation bitmap.\n\nSigned-off-by: Tao Ma \u003ctao.ma@oracle.com\u003e\nSigned-off-by: Mark Fasheh \u003cmark.fasheh@oracle.com\u003e\n"
    },
    {
      "commit": "d659072f736837e56b6433d58e5315ad1d4d5ccf",
      "tree": "56882b7b36c6b60a8208f6ed5bee9904adc7b649",
      "parents": [
        "7f68fc28219be3b44ef4132f95c6506ff3e806b5"
      ],
      "author": {
        "name": "Tao Ma",
        "email": "tao.ma@oracle.com",
        "time": "Tue Dec 18 15:47:03 2007 +0800"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Fri Jan 25 14:53:35 2008 -0800"
      },
      "message": "[PATCH 1/2] ocfs2: Add group extend for online resize\n\nThis patch adds the ability for a userspace program to request an extend of\nlast cluster group on an Ocfs2 file system. The request is made via ioctl,\nOCFS2_IOC_GROUP_EXTEND. This is derived from EXT3_IOC_GROUP_EXTEND, but is\nobviously Ocfs2 specific.\n\ntunefs.ocfs2 would call this for an online-resize operation if the last\ncluster group isn\u0027t full.\n\nSigned-off-by: Tao Ma \u003ctao.ma@oracle.com\u003e\nSigned-off-by: Mark Fasheh \u003cmark.fasheh@oracle.com\u003e\n"
    },
    {
      "commit": "1afc32b952335f665327a1a9001ba1b44bb76fd9",
      "tree": "c914afd0ef5d32b426c3cf65820de7599e570656",
      "parents": [
        "6798d35a31c413bbb3f83bbaa844bd2598168ccc"
      ],
      "author": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Fri Sep 07 14:46:51 2007 -0700"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Fri Oct 12 11:54:40 2007 -0700"
      },
      "message": "ocfs2: Write support for inline data\n\nThis fixes up write, truncate, mmap, and RESVSP/UNRESVP to understand inline\ninode data.\n\nFor the most part, the changes to the core write code can be relied on to do\nthe heavy lifting. Any code calling ocfs2_write_begin (including shared\nwriteable mmap) can count on it doing the right thing with respect to\ngrowing inline data to an extent tree.\n\nSize reducing truncates, including UNRESVP can simply zero that portion of\nthe inode block being removed. Size increasing truncatesm, including RESVP\nhave to be a little bit smarter and grow the inode to an extent tree if\nnecessary.\n\nSigned-off-by: Mark Fasheh \u003cmark.fasheh@oracle.com\u003e\nReviewed-by: Joel Becker \u003cjoel.becker@oracle.com\u003e\n"
    },
    {
      "commit": "063c4561f52a74de686fe0ff2f96f4f54c9fecd2",
      "tree": "73a202c316df70bdfafa489d70e2863c5c5ea33a",
      "parents": [
        "35edec1d52c075975991471d624b33b9336226f2"
      ],
      "author": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Tue Jul 03 13:34:11 2007 -0700"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Tue Jul 10 17:32:08 2007 -0700"
      },
      "message": "ocfs2: support for removing file regions\n\nProvide an internal interface for the removal of arbitrary file regions.\n\nocfs2_remove_inode_range() takes a byte range within a file and will remove\nexisting extents within that range. Partial clusters will be zeroed so that\nany read from within the region will return zeros.\n\nSigned-off-by: Mark Fasheh \u003cmark.fasheh@oracle.com\u003e\n"
    },
    {
      "commit": "e48edee2d8eab812f31f0ff62c6ba635ca2e1e21",
      "tree": "6afb9fe59a06ce621cb11d570e432e7d739376ff",
      "parents": [
        "6af67d8205cf65fbaaa743edc7ebb46e486e34ff"
      ],
      "author": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Wed Mar 07 16:46:57 2007 -0800"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Thu Apr 26 15:02:37 2007 -0700"
      },
      "message": "ocfs2: make room for unwritten extents flag\n\nDue to the size of our group bitmaps, we\u0027ll never have a leaf node extent\nrecord with more than 16 bits worth of clusters. Split e_clusters up so that\nleaf nodes can get a flags field where we can mark unwritten extents.\nInterior nodes whose length references all the child nodes beneath it can\u0027t\nsplit their e_clusters field, so we use a union to preserve sizing there.\n\nSigned-off-by: Mark Fasheh \u003cmark.fasheh@oracle.com\u003e\n"
    },
    {
      "commit": "e051fda4fd14fe878e6d2183b3a4640febe9e9a8",
      "tree": "bb7b11a3cdceffbe2c6c74d3babbae8d20a02e17",
      "parents": [
        "190ff5b3a168b666925897558998b5d97fec8731"
      ],
      "author": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Thu Feb 01 11:40:16 2007 -0800"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Thu Feb 01 12:03:19 2007 -0800"
      },
      "message": "ocfs2: ocfs2_link() journal credits update\n\nCommit 592282cf2eaa33409c6511ddd3f3ecaa57daeaaa fixed some missing directory\nc/mtime updates in part by introducing a dinode update in ocfs2_add_entry().\nUnfortunately, ocfs2_link() (which didn\u0027t update the directory inode before)\nis now missing a single journal credit. Fix this by doubling the number of\ninode updates expected during hard link creation.\n\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": "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": "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": "ccd979bdbce9fba8412beb3f1de68a9d0171b12c",
      "tree": "c50ed941849ce06ccadd4ce27599b3ef9fdbe2ae",
      "parents": [
        "8df08c89c668e1bd922a053fdb5ba1fadbecbb38"
      ],
      "author": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Thu Dec 15 14:31:24 2005 -0800"
      },
      "committer": {
        "name": "Joel Becker",
        "email": "joel.becker@oracle.com",
        "time": "Tue Jan 03 11:45:47 2006 -0800"
      },
      "message": "[PATCH] OCFS2: The Second Oracle Cluster Filesystem\n\nThe OCFS2 file system module.\n\nSigned-off-by: Mark Fasheh \u003cmark.fasheh@oracle.com\u003e\nSigned-off-by: Kurt Hackel \u003ckurt.hackel@oracle.com\u003e\n"
    }
  ]
}
