)]}'
{
  "log": [
    {
      "commit": "5b6a3a2b4a5f071d170f8122038dd647a84810a8",
      "tree": "dd50e12c6670f950889e24401d0bcee900bbba2a",
      "parents": [
        "23193e513d1cd69411469f028d56fd175d4a6b07"
      ],
      "author": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Thu Sep 13 16:33:54 2007 -0700"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Fri Oct 12 11:54:41 2007 -0700"
      },
      "message": "ocfs2: Write support for directories with inline data\n\nCreate all new directories with OCFS2_INLINE_DATA_FL and the inline data\nbytes formatted as an empty directory. Inode size field reflects the actual\namount of inline data available, which makes searching for dirent space\nvery similar to the regular directory search.\n\nInline-data directories are automatically pushed out to extents on any\ninsert request which is too large for the available space.\n\nSigned-off-by: Mark Fasheh \u003cmark.fasheh@oracle.com\u003e\nReviewed-by: Joel Becker \u003cjoel.becker@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": "35edec1d52c075975991471d624b33b9336226f2",
      "tree": "4fc59b9d60826b8eb44bc5c1e558a15bea171193",
      "parents": [
        "d0c7d7082ee1ec4f95ee57bf86ed39d1a27c4037"
      ],
      "author": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Fri Jul 06 14:41:18 2007 -0700"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Tue Jul 10 17:32:07 2007 -0700"
      },
      "message": "ocfs2: update truncate handling of partial clusters\n\nThe partial cluster zeroing code used during truncate usually assumes that\nthe rightmost byte in the range to be zeroed lies on a cluster boundary.\nThis makes sense for truncate, but punching holes might require zeroing on\nnon-aligned rightmost boundaries.\n\nSigned-off-by: Mark Fasheh \u003cmark.fasheh@oracle.com\u003e\n"
    },
    {
      "commit": "2ae99a60374f360ba07037ebbf33d19b89ac43a6",
      "tree": "ce83db2022a28deb8c402fca7c08cf924ee8e608",
      "parents": [
        "b27b7cbcf12a1bfff1ed68a73ddd7d11edc20daf"
      ],
      "author": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Fri Mar 09 16:43:28 2007 -0800"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Tue Jul 10 17:32:04 2007 -0700"
      },
      "message": "ocfs2: Support creation of unwritten extents\n\nThis can now be trivially supported with re-use of our existing extend code.\n\nocfs2_allocate_unwritten_extents() takes a start offset and a byte length\nand iterates over the inode, adding extents (marked as unwritten) until len\nis reached. Existing extents are skipped over.\n\nSigned-off-by: Mark Fasheh \u003cmark.fasheh@oracle.com\u003e\n"
    },
    {
      "commit": "328d5752e1259dfb29b7e65f6c2d145fddbaa750",
      "tree": "08198271a0382cafcc4c0de2fc1efcf35cb400af",
      "parents": [
        "c3afcbb34426a9291e4c038540129053a72c3cd8"
      ],
      "author": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Mon Jun 18 10:48:04 2007 -0700"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Tue Jul 10 17:32:00 2007 -0700"
      },
      "message": "ocfs2: btree changes for unwritten extents\n\nWrites to a region marked as unwritten might result in a record split or\nmerge. We can support splits by making minor changes to the existing insert\ncode. Merges require left rotations which mostly re-use right rotation\nsupport functions.\n\nSigned-off-by: Mark Fasheh \u003cmark.fasheh@oracle.com\u003e\n"
    },
    {
      "commit": "59a5e416d1ab543a5248a2b34d83202c4d55d132",
      "tree": "3e97ce48774d26e8a927edd839dd54a7d68f8c7d",
      "parents": [
        "2b604351bc99b4e4504758cbac369b660b71de0b"
      ],
      "author": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Fri Jun 22 15:52:36 2007 -0700"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Tue Jul 10 17:31:55 2007 -0700"
      },
      "message": "ocfs2: plug truncate into cached dealloc routines\n\nSigned-off-by: Mark Fasheh \u003cmark.fasheh@oracle.com\u003e\n"
    },
    {
      "commit": "2b604351bc99b4e4504758cbac369b660b71de0b",
      "tree": "293fa51f1ae9d19db0d09c721cc8433303cc8974",
      "parents": [
        "bce997682fe3121516f5a20cf7bad2e6029ba018"
      ],
      "author": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Fri Jun 22 15:45:27 2007 -0700"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Tue Jul 10 17:31:54 2007 -0700"
      },
      "message": "ocfs2: simplify deallocation locking\n\nDeallocation of suballocator blocks, most notably extent blocks, might\ninvolve multiple suballocator inodes.\n\nThe locking for this can get extremely complicated, especially when the\nsuballocator inodes to delete from aren\u0027t known until deep within an\nunrelated codepath.\n\nImplement a simple scheme for recording the blocks to be unlinked so that\nthe actual deallocation can be done in a context which won\u0027t deadlock.\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": "60b11392f1a09433740bda3048202213daa27736",
      "tree": "a8687fcb0ce62b130b732d663b54a984564d28b2",
      "parents": [
        "25baf2da1473d9dcde1a4c7b0ab26e7d67d9bf62"
      ],
      "author": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Fri Feb 16 11:46:50 2007 -0800"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Thu Apr 26 15:02:20 2007 -0700"
      },
      "message": "ocfs2: zero tail of sparse files on truncate\n\nSince we don\u0027t zero on extend anymore, truncate needs to be fixed up to zero\nthe part of a file between i_size and and end of it\u0027s cluster. Otherwise a\nsubsequent extend could expose bad data.\n\nThis introduced a new helper, which can be used in ocfs2_write().\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": "dcd0538ff4e854fa9d7f4630b359ca8fdb5cb5a8",
      "tree": "226d725f8199907cea2433d1d183b01e51d9bc55",
      "parents": [
        "6f16bf655c5795586dd2ac96a7c70e0b9a378746"
      ],
      "author": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Tue Jan 16 11:32:23 2007 -0800"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Thu Apr 26 14:44:03 2007 -0700"
      },
      "message": "ocfs2: sparse b-tree support\n\nIntroduce tree rotations into the b-tree code. This will allow ocfs2 to\nsupport sparse files. Much of the added code is designed to be generic (in\nthe ocfs2 sense) so that it can later be re-used to implement large\nextended attributes.\n\nThis patch only adds the rotation code and does minimal updates to callers\nof the extent api.\n\nSigned-off-by: Mark Fasheh \u003cmark.fasheh@oracle.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": "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"
    }
  ]
}
