)]}'
{
  "log": [
    {
      "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": "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": "8d6220d6a74a33552cf877bcea25503d7f6a59e6",
      "tree": "2c3f662c55ab4a0a22989c06edf0d027387bfbed",
      "parents": [
        "1625f8ac151743e452ec062c2989669c508ffa48"
      ],
      "author": {
        "name": "Joel Becker",
        "email": "joel.becker@oracle.com",
        "time": "Fri Aug 22 12:46:09 2008 -0700"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mfasheh@suse.com",
        "time": "Mon Oct 13 16:57:05 2008 -0700"
      },
      "message": "ocfs2: Change ocfs2_get_*_extent_tree() to ocfs2_init_*_extent_tree()\n\nThe original get/put_extent_tree() functions held a reference on\net_root_bh.  However, every single caller already has a safe reference,\nmaking the get/put cycle irrelevant.\n\nWe change ocfs2_get_*_extent_tree() to ocfs2_init_*_extent_tree().  It\nno longer gets a reference on et_root_bh.  ocfs2_put_extent_tree() is\nremoved.  Callers now have a simpler init+use pattern.\n\nSigned-off-by: Joel Becker \u003cjoel.becker@oracle.com\u003e\nSigned-off-by: Mark Fasheh \u003cmfasheh@suse.com\u003e\n"
    },
    {
      "commit": "f99b9b7ccf6a691f653cec45f36bfdd1e94769c7",
      "tree": "1c6ff6ea1fa1bb86b70f1fd78dd725b559c729e4",
      "parents": [
        "1e61ee79e2a96f62c007486677319814ce621c3c"
      ],
      "author": {
        "name": "Joel Becker",
        "email": "joel.becker@oracle.com",
        "time": "Wed Aug 20 19:36:33 2008 -0700"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mfasheh@suse.com",
        "time": "Mon Oct 13 16:57:05 2008 -0700"
      },
      "message": "ocfs2: Make ocfs2_extent_tree the first-class representation of a tree.\n\nWe now have three different kinds of extent trees in ocfs2: inode data\n(dinode), extended attributes (xattr_tree), and extended attribute\nvalues (xattr_value).  There is a nice abstraction for them,\nocfs2_extent_tree, but it is hidden in alloc.c.  All the calling\nfunctions have to pick amongst a varied API and pass in type bits and\noften extraneous pointers.\n\nA better way is to make ocfs2_extent_tree a first-class object.\nEveryone converts their object to an ocfs2_extent_tree() via the\nocfs2_get_*_extent_tree() calls, then uses the ocfs2_extent_tree for all\ntree calls to alloc.c.\n\nThis simplifies a lot of callers, making for readability.  It also\nprovides an easy way to add additional extent tree types, as they only\nneed to be defined in alloc.c with a ocfs2_get_\u003cnew\u003e_extent_tree()\nfunction.\n\nSigned-off-by: Joel Becker \u003cjoel.becker@oracle.com\u003e\nSigned-off-by: Mark Fasheh \u003cmfasheh@suse.com\u003e\n"
    },
    {
      "commit": "cf1d6c763fbcb115263114302485ad17e7933d87",
      "tree": "85717dc9d20b7ac1e31b683653933f2d30099f44",
      "parents": [
        "fdd77704a8b4666a32120fcd1e4a9fedaf3263d8"
      ],
      "author": {
        "name": "Tiger Yang",
        "email": "tiger.yang@oracle.com",
        "time": "Mon Aug 18 17:11:00 2008 +0800"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mfasheh@suse.com",
        "time": "Mon Oct 13 16:57:02 2008 -0700"
      },
      "message": "ocfs2: Add extended attribute support\n\nThis patch implements storing extended attributes both in inode or a single\nexternal block. We only store EA\u0027s in-inode when blocksize \u003e 512 or that\ninode block has free space for it. When an EA\u0027s value is larger than 80\nbytes, we will store the value via b-tree outside inode or block.\n\nSigned-off-by: Tiger Yang \u003ctiger.yang@oracle.com\u003e\nSigned-off-by: Mark Fasheh \u003cmfasheh@suse.com\u003e\n"
    },
    {
      "commit": "f56654c435c06f2b2bd5751889b1a08a3add7d6c",
      "tree": "b186d68aedc5dda7afe435f5a68c03937ae382ff",
      "parents": [
        "ac11c827192272eabb68b8f4cf844066461d9690"
      ],
      "author": {
        "name": "Tao Ma",
        "email": "tao.ma@oracle.com",
        "time": "Mon Aug 18 17:38:48 2008 +0800"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mfasheh@suse.com",
        "time": "Mon Oct 13 16:57:01 2008 -0700"
      },
      "message": "ocfs2: Add extent tree operation for xattr value btrees\n\nAdd some thin wrappers around ocfs2_insert_extent() for each of the 3\ndifferent btree types, ocfs2_inode_insert_extent(),\nocfs2_xattr_value_insert_extent() and ocfs2_xattr_tree_insert_extent(). The\nlast is for the xattr index btree, which will be used in a followup patch.\n\nAll the old callers in file.c etc will call ocfs2_dinode_insert_extent(),\nwhile the other two handle the xattr issue. And the init of extent tree are\nhandled by these functions.\n\nWhen storing xattr value which is too large, we will allocate some clusters\nfor it and here ocfs2_extent_list and ocfs2_extent_rec will also be used. In\norder to re-use the b-tree operation code, a new parameter named \"private\"\nis added into ocfs2_extent_tree and it is used to indicate the root of\nocfs2_exent_list. The reason is that we can\u0027t deduce the root from the\nbuffer_head now. It may be in an inode, an ocfs2_xattr_block or even worse,\nin any place in an ocfs2_xattr_bucket.\n\nSigned-off-by: Tao Ma \u003ctao.ma@oracle.com\u003e\nSigned-off-by: Mark Fasheh \u003cmfasheh@suse.com\u003e\n"
    },
    {
      "commit": "0eb8d47e69a2211a36643b180f1843ef45f6017d",
      "tree": "745a063238cbcf6af84644bd51d4bfcd592e06a1",
      "parents": [
        "e7d4cb6bc19658646357eeff134645cd9bc3479f"
      ],
      "author": {
        "name": "Tao Ma",
        "email": "tao.ma@oracle.com",
        "time": "Mon Aug 18 17:38:45 2008 +0800"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mfasheh@suse.com",
        "time": "Mon Oct 13 13:57:59 2008 -0700"
      },
      "message": "ocfs2: Make high level btree extend code generic\n\nFactor out the non-inode specifics of ocfs2_do_extend_allocation() into a more generic\nfunction, ocfs2_do_cluster_allocation(). ocfs2_do_extend_allocation calls\nocfs2_do_cluster_allocation() now, but the latter can be used for other\nbtree types as well.\n\nSigned-off-by: Tao Ma \u003ctao.ma@oracle.com\u003e\nSigned-off-by: Mark Fasheh \u003cmfasheh@suse.com\u003e\n"
    },
    {
      "commit": "e7d4cb6bc19658646357eeff134645cd9bc3479f",
      "tree": "4e24321e5c28fb90dffa1f396972fddb3c458e58",
      "parents": [
        "811f933df1e55615fd0bb4818f31e3868a8e6e23"
      ],
      "author": {
        "name": "Tao Ma",
        "email": "tao.ma@oracle.com",
        "time": "Mon Aug 18 17:38:44 2008 +0800"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mfasheh@suse.com",
        "time": "Mon Oct 13 13:57:58 2008 -0700"
      },
      "message": "ocfs2: Abstract ocfs2_extent_tree in b-tree operations.\n\nIn the old extent tree operation, we take the hypothesis that we\nare using the ocfs2_extent_list in ocfs2_dinode as the tree root.\nAs xattr will also use ocfs2_extent_list to store large value\nfor a xattr entry, we refactor the tree operation so that xattr\ncan use it directly.\n\nThe refactoring includes 4 steps:\n1. Abstract set/get of last_eb_blk and update_clusters since they may\n   be stored in different location for dinode and xattr.\n2. Add a new structure named ocfs2_extent_tree to indicate the\n   extent tree the operation will work on.\n3. Remove all the use of fe_bh and di, use root_bh and root_el in\n   extent tree instead. So now all the fe_bh is replaced with\n   et-\u003eroot_bh, el with root_el accordingly.\n4. Make ocfs2_lock_allocators generic. Now it is limited to be only used\n   in file extend allocation. But the whole function is useful when we want\n   to store large EAs.\n\nNote: This patch doesn\u0027t touch ocfs2_commit_truncate() since it is not used\nfor anything other than truncate inode data btrees.\n\nSigned-off-by: Tao Ma \u003ctao.ma@oracle.com\u003e\nSigned-off-by: Mark Fasheh \u003cmfasheh@suse.com\u003e\n"
    },
    {
      "commit": "811f933df1e55615fd0bb4818f31e3868a8e6e23",
      "tree": "53335e59bdff02d7ddb3a2ec15d36239fe50003d",
      "parents": [
        "231b87d10920e024efaf0f9e86e1bab7bced1620"
      ],
      "author": {
        "name": "Tao Ma",
        "email": "tao.ma@oracle.com",
        "time": "Mon Aug 18 17:38:43 2008 +0800"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mfasheh@suse.com",
        "time": "Mon Oct 13 13:57:58 2008 -0700"
      },
      "message": "ocfs2: Use ocfs2_extent_list instead of ocfs2_dinode.\n\nocfs2_extend_meta_needed(), ocfs2_calc_extend_credits() and\nocfs2_reserve_new_metadata() are all useful for extent tree operations. But\nthey are all limited to an inode btree because they use a struct\nocfs2_dinode parameter. Change their parameter to struct ocfs2_extent_list\n(the part of an ocfs2_dinode they actually use) so that the xattr btree code\ncan use these functions.\n\nSigned-off-by: Tao Ma \u003ctao.ma@oracle.com\u003e\nSigned-off-by: Mark Fasheh \u003cmfasheh@suse.com\u003e\n"
    },
    {
      "commit": "231b87d10920e024efaf0f9e86e1bab7bced1620",
      "tree": "00283dfb9e4a7054576be8a073635dc51bdc4e22",
      "parents": [
        "9a8ff578fb430a8816dfbc73c77e5e09c6d9c343"
      ],
      "author": {
        "name": "Tao Ma",
        "email": "tao.ma@oracle.com",
        "time": "Mon Aug 18 17:38:42 2008 +0800"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mfasheh@suse.com",
        "time": "Mon Oct 13 13:57:58 2008 -0700"
      },
      "message": "ocfs2: Modify ocfs2_num_free_extents for future xattr usage.\n\nocfs2_num_free_extents() is used to find the number of free extent records\nin an inode btree. Hence, it takes an \"ocfs2_dinode\" parameter. We want to\nuse this for extended attribute trees in the future, so genericize the\ninterface the take a buffer head. A future patch will allow that buffer_head\nto contain any structure rooting an ocfs2 btree.\n\nSigned-off-by: Tao Ma \u003ctao.ma@oracle.com\u003e\nSigned-off-by: Mark Fasheh \u003cmfasheh@suse.com\u003e\n"
    },
    {
      "commit": "53da4939f349d4edd283b043219221ca5b78e4d4",
      "tree": "3e0f8e1bd5474822431cffd1e449df9b639e1772",
      "parents": [
        "a447c0932445f92ce6f4c1bd020f62c5097a7842"
      ],
      "author": {
        "name": "Mark Fasheh",
        "email": "mfasheh@suse.com",
        "time": "Mon Jul 21 14:29:16 2008 -0700"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mfasheh@suse.com",
        "time": "Mon Oct 13 13:57:57 2008 -0700"
      },
      "message": "ocfs2: POSIX file locks support\n\nThis is actually pretty easy since fs/dlm already handles the bulk of the\nwork. The Ocfs2 userspace cluster stack module already uses fs/dlm as the\nunderlying lock manager, so I only had to add the right calls.\n\nCluster-aware POSIX locks (\"plocks\") can be turned off by the same means at\nUNIX locks - mount with \u0027noflocks\u0027, or create a local-only Ocfs2 volume.\nInternally, the file system uses two sets of file_operations, depending on\nwhether cluster aware plocks is required. This turns out to be easier than\nimplementing local-only versions of -\u003elock.\n\nSigned-off-by: Mark Fasheh \u003cmfasheh@suse.com\u003e\n"
    },
    {
      "commit": "00dc417fa3e763345b34ccb6034d72de76eea0a1",
      "tree": "c50da655dbd6747499f4516280f323b90214af62",
      "parents": [
        "c4b929b85bdb64afacbbf6453b1f2bf7e14c9e89"
      ],
      "author": {
        "name": "Mark Fasheh",
        "email": "mfasheh@suse.com",
        "time": "Fri Oct 03 17:32:11 2008 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Fri Oct 03 17:32:11 2008 -0400"
      },
      "message": "ocfs2: fiemap support\n\nPlug ocfs2 into -\u003efiemap. Some portions of ocfs2_get_clusters() had to be\nrefactored so that the extent cache can be skipped in favor of going\ndirectly to the on-disk records. This makes it easier for us to determine\nwhich extent is the last one in the btree. Also, I\u0027m not sure we want to be\ncaching fiemap lookups anyway as they\u0027re not directly related to data\nread/write.\n\nSigned-off-by: Mark Fasheh \u003cmfasheh@suse.com\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\nCc: ocfs2-devel@oss.oracle.com\nCc: linux-fsdevel@vger.kernel.org\n"
    },
    {
      "commit": "c259ae52e204d42f8b2d484c85517a4c367030e1",
      "tree": "e5f9e57aeee77704758c6dfeb19654140a827ef2",
      "parents": [
        "961cecbee6786f4b1f1b8f695e87045b583f9f49"
      ],
      "author": {
        "name": "Julia Lawall",
        "email": "julia@diku.dk",
        "time": "Mon Jul 21 09:59:15 2008 +0200"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mfasheh@suse.com",
        "time": "Thu Jul 31 16:21:14 2008 -0700"
      },
      "message": "[PATCH] ocfs2: Release mutex in error handling code\n\nThe mutex is released on a successful return, so it would seem that it\nshould be released on an error return as well.\n\nThe semantic patch finds this problem is as follows:\n(http://www.emn.fr/x-info/coccinelle/)\n\n// \u003csmpl\u003e\n@@\nexpression l;\n@@\n\nmutex_lock(l);\n... when !\u003d mutex_unlock(l)\n    when any\n    when strict\n(\nif (...) { ... when !\u003d mutex_unlock(l)\n+   mutex_unlock(l);\n    return ...;\n}\n|\nmutex_unlock(l);\n)\n// \u003c/smpl\u003e\n\nSigned-off-by: Julia Lawall \u003cjulia@diku.dk\u003e\nSigned-off-by: Mark Fasheh \u003cmfasheh@suse.com\u003e\n"
    },
    {
      "commit": "e6305c43eda10ebfd2ad9e35d6e172ccc7bb3695",
      "tree": "8a95bd0e27fb3ce895cca9ef91af2e1605e4cdab",
      "parents": [
        "1bd5191d9f5d1928c4efdf604c4164b04bb88dbe"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Jul 15 21:03:57 2008 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat Jul 26 20:53:14 2008 -0400"
      },
      "message": "[PATCH] sanitize -\u003epermission() prototype\n\n* kill nameidata * argument; map the 3 bits in -\u003eflags anybody cares\n  about to new MAY_... ones and pass with the mask.\n* kill redundant gfs2_iop_permission()\n* sanitize ecryptfs_permission()\n* fix remaining places where -\u003epermission() instances might barf on new\n  MAY_... found in mask.\n\nThe obvious next target in that direction is permission(9)\n\nfolded fix for nfs_permission() breakage from Miklos Szeredi \u003cmszeredi@suse.cz\u003e\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "56753bd3b9220f6f2477eb1cf97f40c24e0a4c91",
      "tree": "1b80c6d64a5089d96195f6a718ca76a5bb002684",
      "parents": [
        "7600c72b75bab374ad39b2a4799a0728579a8e2f"
      ],
      "author": {
        "name": "Sunil Mushran",
        "email": "sunil.mushran@oracle.com",
        "time": "Mon Jun 09 11:24:41 2008 -0700"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mfasheh@suse.com",
        "time": "Mon Jul 14 13:57:15 2008 -0700"
      },
      "message": "ocfs2: Silence an error message in ocfs2_file_aio_read()\n\nThis patch silences an EINVAL error message in ocfs2_file_aio_read()\nthat is always due to a user error.\n\nSigned-off-by: Sunil Mushran \u003csunil.mushran@oracle.com\u003e\nSigned-off-by: Mark Fasheh \u003cmfasheh@suse.com\u003e\n"
    },
    {
      "commit": "bc535809c06ada210d89f5a43b335c68ecbb8e1b",
      "tree": "3186b9d590a06d17a7026680fba57546e0d0c418",
      "parents": [
        "95642e56647d84963428a1168baa8a73cb782ac3"
      ],
      "author": {
        "name": "Sunil Mushran",
        "email": "sunil.mushran@oracle.com",
        "time": "Fri Apr 18 10:23:53 2008 -0700"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mfasheh@suse.com",
        "time": "Wed Apr 30 17:09:54 2008 -0700"
      },
      "message": "ocfs2: Allow uid/gid/perm changes of symlinks\n\nThis patch adds the ability to change attributes of a symlink.\nFixes oss bugzilla#963\nhttp://oss.oracle.com/bugzilla/show_bug.cgi?id\u003d963\n\nSigned-off-by: Sunil Mushran \u003csunil.mushran@oracle.com\u003e\nSigned-off-by: Mark Fasheh \u003cmfasheh@suse.com\u003e\n"
    },
    {
      "commit": "c9ec14884d69a303eef4faae42bd3c4e25b19941",
      "tree": "50ed19faff3fbaaab8dfa872b506501a24826df3",
      "parents": [
        "5dabd69515765156605b09261abf969236a77803"
      ],
      "author": {
        "name": "Andi Kleen",
        "email": "ak@suse.de",
        "time": "Sun Jan 27 03:17:17 2008 +0100"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mfasheh@suse.com",
        "time": "Fri Apr 18 08:56:11 2008 -0700"
      },
      "message": "ocfs2: Convert ocfs2 over to unlocked_ioctl\n\nAs far as I can see there is nothing in ocfs2_ioctl that requires the BKL,\nso use unlocked_ioctl\n\nSigned-off-by: Andi Kleen \u003cak@suse.de\u003e\nSigned-off-by: Mark Fasheh \u003cmfasheh@suse.com\u003e\n"
    },
    {
      "commit": "634bf74d1e8a8d06727505ea4eb73e780d7aa246",
      "tree": "b0e26b53ec5755202f8a532f5672f02f2e0fef95",
      "parents": [
        "32c3c0e2e515197ad240f5104116254975e6bbce"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Wed Dec 19 15:25:42 2007 +0100"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Fri Jan 25 15:05:45 2008 -0800"
      },
      "message": "ocfs2: printf fixes\n\nExplicitely convert loff_t to long long in printf. Just for sure...\n\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\nSigned-off-by: Mark Fasheh \u003cmark.fasheh@oracle.com\u003e\n"
    },
    {
      "commit": "32c3c0e2e515197ad240f5104116254975e6bbce",
      "tree": "eb68b0a63c68ca9f51a5dad94430696c2bb17b2a",
      "parents": [
        "d2849fb294d92d6eee0a811c688f1ecb39d26800"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Wed Dec 19 15:24:52 2007 +0100"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Fri Jan 25 15:05:45 2008 -0800"
      },
      "message": "ocfs2: Use generic_file_llseek\n\nWe should use generic_file_llseek() and not default_llseek() so that\ns_maxbytes gets properly checked when seeking.\n\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\nSigned-off-by: Mark Fasheh \u003cmark.fasheh@oracle.com\u003e\n"
    },
    {
      "commit": "53fc622b9e829c8e632e45ef8c14f054388759c1",
      "tree": "6b8585ab00312dd798d8087c452393bf6cc0d344",
      "parents": [
        "cf8e06f1a860d8680d6bb4ac8ec7d7724988e46f"
      ],
      "author": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Thu Dec 20 16:49:04 2007 -0800"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Fri Jan 25 15:05:43 2008 -0800"
      },
      "message": "[PATCH 2/2] ocfs2: cluster aware flock()\n\nHook up ocfs2_flock(), using the new flock lock type in dlmglue.c. A new\nmount option, \"localflocks\" is added so that users can revert to old\nfunctionality as need be.\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": "c934a92d05b549dd2f25db72c5fc3cb9dcf1b611",
      "tree": "57150c87d1d465db28fceaa14c9d5b220c7a3954",
      "parents": [
        "f1f540688eae66c274ff1c1133b5d9c687b28f58"
      ],
      "author": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Thu Oct 18 15:23:46 2007 -0700"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Fri Jan 25 14:45:57 2008 -0800"
      },
      "message": "ocfs2: Remove data locks\n\nThe meta lock now covers both meta data and data, so this just removes the\nnow-redundant data lock.\n\nCombining locks saves us a round of lock mastery per inode and one less lock\nto ping between nodes during read/write.\n\nWe don\u0027t lose much - since meta locks were always held before a data lock\n(and at the same level) ordered writeout mode (the default) ensured that\nflushing for the meta data lock also pushed out data anyways.\n\nSigned-off-by: Mark Fasheh \u003cmark.fasheh@oracle.com\u003e\n"
    },
    {
      "commit": "b1967d0eddeef4869ee283e692735cb994f3745a",
      "tree": "9f99f2a593c01c1755c1a3025577145185e90e48",
      "parents": [
        "0d8a4e0cd688ad0de6430ce3425c7849cfec1c2d"
      ],
      "author": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Tue Nov 20 11:56:39 2007 -0800"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Tue Nov 27 16:47:03 2007 -0800"
      },
      "message": "ocfs2: reverse inline-data truncate args\n\nocfs2_truncate() and ocfs2_remove_inode_range() had reversed their \"set\ni_size\" arguments to ocfs2_truncate_inline(). Fix things so that truncate\nsets i_size, and punching a hole ignores it.\n\nThis exposed a problem where punching a hole in an inline-data file wasn\u0027t\nupdating the page cache, so fix that too.\n\nSigned-off-by: Mark Fasheh \u003cmark.fasheh@oracle.com\u003e\n"
    },
    {
      "commit": "9ea2d32f40434589ea0e136373f7d1545afb411f",
      "tree": "2bc258fcaae4769a7b41ae71725eb073de33aded",
      "parents": [
        "9f70968af3e6e21612e06e153aa71c62dee5a09b"
      ],
      "author": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Thu Oct 18 14:14:45 2007 -0700"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Tue Nov 06 15:32:00 2007 -0800"
      },
      "message": "ocfs2: Commit journal on sync writes\n\nWe\u0027re missing a meta data commit for extending sync writes. In thoery, write\ncould return with the meta data required to read the data uncommitted to\ndisk. Fix that by detecting an allocating write and forcing a journal commit\nin the sync case.\n\nSigned-off-by: Mark Fasheh \u003cmark.fasheh@oracle.com\u003e\n"
    },
    {
      "commit": "b6af1bcd8720cb3062c8c4d4c8ba02bee10ff03f",
      "tree": "e6cb27498f649dd3addc48fb4d92ac20ae8de7cb",
      "parents": [
        "f2b6a16eb8f5b4851b01625a21e0c71207c2ce77"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "npiggin@suse.de",
        "time": "Tue Oct 16 01:25:24 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Oct 16 09:42:58 2007 -0700"
      },
      "message": "ocfs2: convert to new aops\n\nPlug ocfs2 into the -\u003ewrite_begin and -\u003ewrite_end aops.\n\nA bunch of custom code is now gone - the iovec iteration stuff during write\nand the ocfs2 splice write actor.\n\nSigned-off-by: Mark Fasheh \u003cmark.fasheh@oracle.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "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": "65ed39d6ca78f07d2958814e08440e4264b6b488",
      "tree": "477623ef58810a6d32c8d23fbf17e5258495ddb0",
      "parents": [
        "92e91ce2a30b2af53ebf077512801dc01e75cca5"
      ],
      "author": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Tue Aug 28 17:13:23 2007 -0700"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Fri Oct 12 11:54:35 2007 -0700"
      },
      "message": "ocfs2: move nonsparse hole-filling into ocfs2_write_begin()\n\nBy doing this, we can remove any higher level logic which has to have\nknowledge of btree functionality - any callers of ocfs2_write_begin() can\nnow expect it to do anything necessary to prepare the inode for new data.\n\nSigned-off-by: Mark Fasheh \u003cmark.fasheh@oracle.com\u003e\nReviewed-by: Joel Becker \u003cjoel.becker@oracle.com\u003e\n"
    },
    {
      "commit": "415cb800375cc4e89fb5a6a454e484bd4adbffb4",
      "tree": "816021a5279047702d5fa8180783b1c710f31746",
      "parents": [
        "6d0b842d3bf0cc027dcff57a89fb8a6b1fd610e1"
      ],
      "author": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Sun Sep 16 20:10:16 2007 -0700"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Thu Sep 20 15:06:09 2007 -0700"
      },
      "message": "ocfs2: Allow smaller allocations during large writes\n\nThe ocfs2 write code loops through a page much like the block code, except\nthat ocfs2 allocation units can be any size, including larger than page\nsize. Typically it\u0027s equal to or larger than page size - most kernels run 4k\npages, the minimum ocfs2 allocation (cluster) size.\n\nSome changes introduced during 2.6.23 changed the way writes to pages are\nhandled, and inadvertantly broke support for \u003e 4k page size. Instead of just\nwriting one cluster at a time, we now handle the whole page in one pass.\n\nThis means that multiple (small) seperate allocations might happen in the\nsame pass. The allocation code howver typically optimizes by getting the\nmaximum which was reserved. This triggered a BUG_ON in the extend code where\nit\u0027d ask for a single bit (for one part of a \u003e 4k page) and get back more\nthan it asked for.\n\nFix this by providing a variant of the high level allocation function which\nallows the caller to specify a maximum. The traditional function remains and\njust calls the new one with a maximum determined from the initial\nreservation.\n\nSigned-off-by: Mark Fasheh \u003cmark.fasheh@oracle.com\u003e\n"
    },
    {
      "commit": "e535e2efd295c3990bb9f654c8bb6bd176ebdc2b",
      "tree": "5f519f1003a7f5700e5e8d62d477382bc806d738",
      "parents": [
        "30b8548f2c270c0205558fe4826a6ab8e7fe51ad"
      ],
      "author": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Fri Aug 31 10:23:41 2007 -0700"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Tue Sep 11 11:39:46 2007 -0700"
      },
      "message": "ocfs2: Fix calculation of i_blocks during truncate\n\nWe were setting i_blocks too early - before truncating any allocation.\nCorrect things to set i_blocks after the allocation change.\n\nSigned-off-by: Mark Fasheh \u003cmark.fasheh@oracle.com\u003e\n"
    },
    {
      "commit": "ce76fd30ce98cdaeb38dca0dfbb3fa6d2801c5ce",
      "tree": "b204814a30df3e5ef5f21032ee8fb3639249b99a",
      "parents": [
        "7c08d70c69150148c14f02633855f1591219c37c"
      ],
      "author": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Fri Jul 20 12:02:14 2007 -0700"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Thu Aug 09 17:25:38 2007 -0700"
      },
      "message": "ocfs2: check ia_size limits in setattr\n\nWe have to manually check the requested truncate size as the check in\nvmtruncate() comes too late for Ocfs2.\n\nSigned-off-by: Mark Fasheh \u003cmark.fasheh@oracle.com\u003e\n"
    },
    {
      "commit": "7c08d70c69150148c14f02633855f1591219c37c",
      "tree": "d33828db9b500afbd2168e9667dddb8450683804",
      "parents": [
        "a00cce356b5592208e761525a48a25902322cce9"
      ],
      "author": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Fri Jul 20 11:58:36 2007 -0700"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Thu Aug 09 17:25:27 2007 -0700"
      },
      "message": "ocfs2: Fix some casting errors related to file writes\n\nocfs2_align_clusters_to_page_index() needs to cast the clusters shift to\npgoff_t and ocfs2_file_buffered_write() needs loff_t when calculating\ndestination start for memcpy.\n\nSigned-off-by: Mark Fasheh \u003cmark.fasheh@oracle.com\u003e\n"
    },
    {
      "commit": "a00cce356b5592208e761525a48a25902322cce9",
      "tree": "ea965cdda9b4d2b8a156aaa6e54498351577fb3f",
      "parents": [
        "c11e9fafb398411af7558fca913c2fa4a10b1f48"
      ],
      "author": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Fri Jul 20 11:28:30 2007 -0700"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Thu Aug 09 17:25:07 2007 -0700"
      },
      "message": "ocfs2: use s_maxbytes directly in ocfs2_change_file_space()\n\nThere\u0027s no need to recalculate things via ocfs2_max_file_offset() as we\u0027ve\nalready done that to fill s_maxbytes, so use that instead. We can also\nun-export ocfs2_max_file_offset() then.\n\nSigned-off-by: Mark Fasheh \u003cmark.fasheh@oracle.com\u003e\n"
    },
    {
      "commit": "c11e9fafb398411af7558fca913c2fa4a10b1f48",
      "tree": "de1879d52677c612f2efa8e98df8c218cd477230",
      "parents": [
        "6adb31c90c47262c8a25bf5097de9b3426caf3ae"
      ],
      "author": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Fri Jul 20 11:24:53 2007 -0700"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Thu Aug 09 17:23:50 2007 -0700"
      },
      "message": "ocfs2: Restrict inode changes in ocfs2_update_inode_atime()\n\nocfs2_update_inode_atime() calls ocfs2_mark_inode_dirty() to push changes\nfrom the struct inode into the ocfs2 disk inode. The problem is,\nocfs2_mark_inode_dirty() might change other fields, depending on what\nhappened to the struct inode. Since we don\u0027t always have locking to\nserialize changes to other fields (like i_size, etc), just fix things up to\nonly touch the atime field.\n\nSigned-off-by: Mark Fasheh \u003cmark.fasheh@oracle.com\u003e\n"
    },
    {
      "commit": "3836df6b520a2f93033bf53200b12a2cb5137395",
      "tree": "4f08ef9fa7684b12b839481dc7bdc60b74d3d48b",
      "parents": [
        "2f66b529d9d131971e2509aee5478c61ca258ece"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Jul 24 10:17:50 2007 +0200"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Jul 24 16:02:55 2007 -0700"
      },
      "message": "ocfs2: bad kunmap_atomic()\n\nkunmap_atomic() takes the virtual address, not the mapped page as\nargument.\n\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\nCc: Mark Fasheh \u003cmark.fasheh@oracle.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "385820a38d5e7c70b20af4d68767b1920b1e4133",
      "tree": "4843644ffae2647b872a5b8919aa8e77b9100ea0",
      "parents": [
        "589f1e81bde732dd0b1bc5d01b6bddd4bcb4527b"
      ],
      "author": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Thu Jul 19 00:14:38 2007 -0700"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Thu Jul 19 00:23:55 2007 -0700"
      },
      "message": "ocfs2: -\u003efallocate() support\n\nPlug ocfs2 into the -\u003efallocate() callback. This just re-uses the existing\npreallocation code.\n\nSigned-off-by: Mark Fasheh \u003cmark.fasheh@oracle.com\u003e\n"
    },
    {
      "commit": "8e1c091cccd551557d24ce845715e8ceb6c49d36",
      "tree": "28f1ea20efe46dd6f62cc0cb77f65be56e7225fc",
      "parents": [
        "a6343afb6e16b65b9f0b264f94f8207212e7e3ae"
      ],
      "author": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Tue Jul 17 05:40:59 2007 -0400"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Tue Jul 17 16:23:19 2007 -0400"
      },
      "message": "arch/i386/* fs/* ipc/*: mark variables with uninitialized_var()\n\nMark variables with uninitialized_var() if such a warning appears,\nand analysis proves that the var is initialized properly on all paths\nit is used.\n\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "b25801038da5823bba1b5440a57ca68afc51b6bd",
      "tree": "3a6f10f8ddb3a7552630d60aabbb790d1b5a7a77",
      "parents": [
        "063c4561f52a74de686fe0ff2f96f4f54c9fecd2"
      ],
      "author": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Fri Mar 09 16:53:21 2007 -0800"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Tue Jul 10 17:32:09 2007 -0700"
      },
      "message": "ocfs2: Support xfs style space reservation ioctls\n\nWe re-use the RESVSP/UNRESVSP ioctls from xfs which allow the user to\nallocate and deallocate regions to a file without zeroing data or changing\ni_size.\n\nThough renamed, the structure passed in from user is identical to struct\nxfs_flock64. The three fields that are actually used right now are l_whence,\nl_start and l_len.\n\nThis should get ocfs2 immediate compatibility with userspace software using\nthe pre-existing xfs ioctls.\n\nSigned-off-by: Mark Fasheh \u003cmark.fasheh@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": "b27b7cbcf12a1bfff1ed68a73ddd7d11edc20daf",
      "tree": "a25a8ca272e7f0ef01987db3b3795a49e0ccb51f",
      "parents": [
        "0d172baa5586071ae0ae0c07356a378fdbedecdb"
      ],
      "author": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Mon Jun 18 11:22:56 2007 -0700"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Tue Jul 10 17:32:03 2007 -0700"
      },
      "message": "ocfs2: support writing of unwritten extents\n\nUpdate the write code to detect when the user is asking to write to an\nunwritten extent. Like writing to a hole, we must zero the region between\nthe write and the cluster boundaries. Most of the existing cluster zeroing\nlogic can be re-used with some additional checks for the unwritten flag on\nextent records.\n\nSigned-off-by: Mark Fasheh \u003cmark.fasheh@oracle.com\u003e\n"
    },
    {
      "commit": "7307de80510a70e5e5aa98de1e80ccbb7d90a3a8",
      "tree": "ba45bef3e0b875feb67b97aebe8295159852ef97",
      "parents": [
        "607d44aa3fa6f40b0facaf1028886ed362b92682"
      ],
      "author": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Wed May 09 15:16:19 2007 -0700"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Tue Jul 10 17:31:51 2007 -0700"
      },
      "message": "ocfs2: shared writeable mmap\n\nImplement cluster consistent shared writeable mappings using the\n-\u003epage_mkwrite() callback.\n\nSigned-off-by: Mark Fasheh \u003cmark.fasheh@oracle.com\u003e\n"
    },
    {
      "commit": "3a307ffc2730bfa1a4dfa94537be9d412338aad2",
      "tree": "3e83201eb816aec8b897afcf3920dd716ce4412c",
      "parents": [
        "2e89b2e48e1da09ed483f195968c9172aa95b5e2"
      ],
      "author": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Tue May 08 17:47:32 2007 -0700"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Tue Jul 10 17:31:46 2007 -0700"
      },
      "message": "ocfs2: rework ocfs2_buffered_write_cluster()\n\nUse some ideas from the new-aops patch series and turn\nocfs2_buffered_write_cluster() into a 2 stage operation with the caller\ncopying data in between. The code now understands multiple cluster writes as\na result of having to deal with a full page write for greater than 4k pages.\n\nThis sets us up to easily call into the write path during -\u003epage_mkwrite().\n\nSigned-off-by: Mark Fasheh \u003cmark.fasheh@oracle.com\u003e\n"
    },
    {
      "commit": "2e89b2e48e1da09ed483f195968c9172aa95b5e2",
      "tree": "3e81f49c13134ebcbf4572474ad47b65e5ecffba",
      "parents": [
        "baf4661a8225d3a39622b795a8db0e6aa845c1ec"
      ],
      "author": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Wed May 09 13:40:18 2007 -0700"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Tue Jul 10 17:19:57 2007 -0700"
      },
      "message": "ocfs2: take ip_alloc_sem during entire truncate\n\nUse of the alloc sem during truncate was too narrow - we want to protect\nthe i_size change and page truncation against mmap now.\n\nSigned-off-by: Mark Fasheh \u003cmark.fasheh@oracle.com\u003e\n"
    },
    {
      "commit": "cac36bb06efe4880234524e117e0e712b10b1f16",
      "tree": "5220c6f2185cee1c6934cf8048975beac5bc94bb",
      "parents": [
        "d96e6e71647846e0dab097efd9b8bf3a3a556dca"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Thu Jun 14 13:10:48 2007 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Jul 10 08:04:15 2007 +0200"
      },
      "message": "pipe: change the -\u003epin() operation to -\u003econfirm()\n\nThe name \u0027pin\u0027 was badly chosen, it doesn\u0027t pin a pipe buffer\nin the most commonly used sense in the kernel. So change the\nname to \u0027confirm\u0027, after debating this issue with Hugh\nDickins a bit.\n\nA good return from -\u003econfirm() means that the buffer is really\nthere, and that the contents are good.\n\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "d6b29d7cee064f28ca097e906de7453541351095",
      "tree": "16775787df194cb45b4ac712da1c240f48cae96e",
      "parents": [
        "ebf9909343392c929d9943c04f421cd42e03b530"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Mon Jun 04 09:59:47 2007 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Jul 10 08:04:14 2007 +0200"
      },
      "message": "splice: divorce the splice structure/function definitions from the pipe header\n\nWe need to move even more stuff into the header so that folks can use\nthe splice_to_pipe() implementation instead of open-coding a lot of\npipe knowledge (see relay implementation), so move to our own header\nfile finally.\n\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "5ffc4ef45b3b0a57872f631b4e4ceb8ace0d7496",
      "tree": "437ec32a58ac5e4794565b2bbb3da6611f0d6a04",
      "parents": [
        "534f2aaa6ab07cd71164180bc958a7dcde41db11"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Fri Jun 01 11:49:19 2007 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Jul 10 08:04:13 2007 +0200"
      },
      "message": "sendfile: remove .sendfile from filesystems that use generic_file_sendfile()\n\nThey can use generic_file_splice_read() instead. Since sys_sendfile() now\nprefers that, there should be no change in behaviour.\n\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "6a14b90bb6bc7cd83e2a444bf457a2ea645cbfe7",
      "tree": "c6f2788cbafd29bdf520c0b2a232818f4d62ec9d",
      "parents": [
        "c66ab6fa705e1b2887a6d9246b798bdc526839e2"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Thu Jun 14 13:08:55 2007 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Jul 10 08:04:12 2007 +0200"
      },
      "message": "vmsplice: add vmsplice-to-user support\n\nA bit of a cheat, it actually just copies the data to userspace. But\nthis makes the interface nice and symmetric and enables people to build\non splice, with room for future improvement in performance.\n\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "c66ab6fa705e1b2887a6d9246b798bdc526839e2",
      "tree": "764ece0ee44f937012dfaa1657709da548ed5b16",
      "parents": [
        "71780f59e127bb281a9302d430495ca9586c14e7"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Jun 12 21:17:17 2007 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Jul 10 08:04:12 2007 +0200"
      },
      "message": "splice: abstract out actor data\n\nFor direct splicing (or private splicing), the output may not be a file.\nSo abstract out the handling into a specified actor function and put\nthe data in the splice_desc structure earlier, so we can build on top\nof that.\n\nThis is the first step in better splice handling for drivers, and also\nfor implementing vmsplice _to_ user memory.\n\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "d9b08b9efece1f397143378938e626d0de29e911",
      "tree": "d404fd44f53d535d96379d56d5520c6f5acd604c",
      "parents": [
        "8fccfc829a66b8b879c6672940523a402a786ce1"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Fri May 18 13:12:40 2007 +0200"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Fri May 25 11:06:37 2007 -0700"
      },
      "message": "[PATCH] ocfs2: use generic_segment_checks\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Mark Fasheh \u003cmark.fasheh@oracle.com\u003e\n"
    },
    {
      "commit": "1024c902abdcbd2425aa850d7ef04e013ffb35f0",
      "tree": "7071322e8a1c2dfddf9b8fe3ebd758400ae970fe",
      "parents": [
        "e9dfc0b2bc42761410e8db6c252c6c5889e178b8"
      ],
      "author": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Mon May 14 11:39:40 2007 -0700"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Fri May 25 11:00:31 2007 -0700"
      },
      "message": "ocfs2: unmap_mapping_range() in ocfs2_truncate()\n\nWe weren\u0027t calling this before, but since ocfs2 handles the entire truncate\noperation, we should.\n\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": "6cb129f5675c39944e5fe18fd2530a2eb771b754",
      "tree": "18290b53d302573632c0d5f906a0b4af8f8d4b39",
      "parents": [
        "586d232b191b776a1c6d51c10c662b8b3e238fdf"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@stusta.de",
        "time": "Thu Apr 26 00:29:35 2007 -0700"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Wed May 02 15:07:27 2007 -0700"
      },
      "message": "[PATCH] fs/ocfs2/: make 3 functions static\n\nThis patch makes the following needlessly global functions static:\n- aops.c: ocfs2_write_data_page()\n- dlmglue.c: ocfs2_dump_meta_lvb_info()\n- file.c: ocfs2_set_inode_size()\n\nSigned-off-by: Adrian Bunk \u003cbunk@stusta.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Mark Fasheh \u003cmark.fasheh@oracle.com\u003e\n"
    },
    {
      "commit": "586d232b191b776a1c6d51c10c662b8b3e238fdf",
      "tree": "8963261875e046d405d6e23b7ee67ff7c03f5c91",
      "parents": [
        "40caf5ea5a7d47f8a33e26b63ca81dea4b5109d2"
      ],
      "author": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Fri Mar 09 15:56:28 2007 -0800"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Wed May 02 15:07:16 2007 -0700"
      },
      "message": "ocfs2: Implement compat_ioctl()\n\nWe need this to support 32 bit system calls on 64 bit kernels.\n\nSigned-off-by: Mark Fasheh \u003cmark.fasheh@oracle.com\u003e\n"
    },
    {
      "commit": "7cdfc3a1c3971c9125c317cb8c2525745851798e",
      "tree": "ac0103cba9eaf0bc07b2e63893fa4e9637e6934e",
      "parents": [
        "8110b073a9135acf0a71bccfc20c0d1023f179c6"
      ],
      "author": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Mon Apr 16 17:28:51 2007 -0700"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Thu Apr 26 15:07:45 2007 -0700"
      },
      "message": "ocfs2: Remember rw lock level during direct io\n\nCluster locking might have been redone because a direct write won\u0027t\ncomplete, so this needs to be reflected in the iocb.\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": "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": "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": "6af67d8205cf65fbaaa743edc7ebb46e486e34ff",
      "tree": "1aadef5c71e4f8905477a813b1bd0a35e62ccbee",
      "parents": [
        "fa41045fcbf78269991d5aebb1820fc51534f05d"
      ],
      "author": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Tue Mar 06 17:24:46 2007 -0800"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Thu Apr 26 15:02:34 2007 -0700"
      },
      "message": "ocfs2: Use own splice write actor\n\nWe need to fill holes during a splice write. Provide our own splice write\nactor which can call ocfs2_file_buffered_write() with a splice-specific\ncallback.\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": "9517bac6cc7a7aa4fee63cb38a32cb6014e264c7",
      "tree": "3cac0c18d0cacc316e0e8a60f483282d6f991779",
      "parents": [
        "89488984ac23b0580f959b9ee549f2fcb1c2f194"
      ],
      "author": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Fri Feb 09 20:24:12 2007 -0800"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Thu Apr 26 15:02:08 2007 -0700"
      },
      "message": "ocfs2: teach ocfs2_file_aio_write() about sparse files\n\nUnfortunately, ocfs2 can no longer make use of generic_file_aio_write_nlock()\nbecause allocating writes will require zeroing of pages adjacent to the I/O\nfor cluster sizes greater than page size.\n\nImplement a custom file write here, which can order page locks for zeroing.\nThis also has the advantage that cluster locks can easily be ordered outside\nof the page locks.\n\nSigned-off-by: Mark Fasheh \u003cmark.fasheh@oracle.com\u003e\n"
    },
    {
      "commit": "abf8b1569415bb4a8915a4884943ecd39c510957",
      "tree": "d2d1e9fb20fbe1fa9126fe843cab2a283c7a2c6c",
      "parents": [
        "3a0782d09c07aa3ec767ba6089cd15cfbfbfc508"
      ],
      "author": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Wed Jan 17 13:07:24 2007 -0800"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Thu Apr 26 15:01:58 2007 -0700"
      },
      "message": "ocfs2: abstract out allocation locking\n\nRight now, file allocation for ocfs2 is done within ocfs2_extend_file(),\nwhich is either called from -\u003esetattr() (for an i_size change), or at the\ntop of ocfs2_file_aio_write().\n\nInodes on file systems with sparse file support will want to do their\nallocation during the actual write call.\n\nIn either case the cluster locking decisions are the same. We abstract out\nthat code into a new function, ocfs2_lock_allocators() which will be used by\na later patch to enable writing to sparse files.\n\nThis also provides a nice cleanup of ocfs2_extend_allocation().\n\nSigned-off-by: Mark Fasheh \u003cmark.fasheh@oracle.com\u003e\n"
    },
    {
      "commit": "3a0782d09c07aa3ec767ba6089cd15cfbfbfc508",
      "tree": "4791919970e11f4b2fb3162481a59a56f5196fe4",
      "parents": [
        "363041a5f74b953ab6b705ac9c88e5eda218a24b"
      ],
      "author": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Wed Jan 17 12:53:31 2007 -0800"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Thu Apr 26 15:01:56 2007 -0700"
      },
      "message": "ocfs2: teach extend/truncate about sparse files\n\nFor ocfs2_truncate_file(), we eliminate the \"simple\" truncate case which no\nlonger exists since i_size is not tied to i_clusters. In\nocfs2_extend_file(), we skip the allocation / page zeroing code for file\nsystems which understand sparse files.\n\nThe core truncate code is changed to do a bottom up tree traversal. This\ngets abstracted out into it\u0027s own function. To make things more readable,\nmost of the special case handling for in-inode extents from\nocfs2_do_truncate() is also removed.\n\nThough write support for sparse files comes in a later patch, we at least\nupdate ocfs2_prepare_inode_for_write() to skip allocation for sparse files.\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": "a9f5f70739363ccca2e771c274c4f015c5fb7a88",
      "tree": "243c6d9f7ba7151b6a7afc65a53682d0c5eb6b9a",
      "parents": [
        "bebe6f120b036349f7212205eeaf8248d4820c4b"
      ],
      "author": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Thu Apr 26 11:43:43 2007 -0700"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Thu Apr 26 13:39:08 2007 -0700"
      },
      "message": "ocfs2: filter more error prints\n\nWe don\u0027t want to print anything at all in ocfs2_lookup() when getting an\nerror from ocfs2_iget() - it could be something as innocuous as a signal\nbeing detected in the dlm.\n\nocfs2_permission() should filter on -ENOENT which ocfs2_meta_lock() can\nreturn if the inode was deleted on another node.\n\nSigned-off-by: Mark Fasheh \u003cmark.fasheh@oracle.com\u003e\n"
    },
    {
      "commit": "92e1d5be91a0e3ffa5c4697eeb09b2aa22792122",
      "tree": "4eb22a9f6c38e9f4cc2a5100cd6659b0af08b7ae",
      "parents": [
        "754661f143e70d66eae6c48532ca245aa05dec0e"
      ],
      "author": {
        "name": "Arjan van de Ven",
        "email": "arjan@linux.intel.com",
        "time": "Mon Feb 12 00:55:39 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Feb 12 09:48:46 2007 -0800"
      },
      "message": "[PATCH] mark struct inode_operations const 2\n\nMany struct inode_operations in the kernel can be \"const\".  Marking them const\nmoves these to the .rodata section, which avoids false sharing with potential\ndirty data.  In addition it\u0027ll catch accidental writes at compile time to\nthese shared resources.\n\nSigned-off-by: Arjan van de Ven \u003carjan@linux.intel.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "6c2aad0567e693f9588d0a0683f96ed872fb4641",
      "tree": "4f28fb78c9565c74bc24f93675ec3f0dc6af0217",
      "parents": [
        "564f8a3228879d6962edb3432d01bcd7499a67ec"
      ],
      "author": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Tue Dec 19 15:25:52 2006 -0800"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Thu Dec 28 16:38:32 2006 -0800"
      },
      "message": "ocfs2: ignore NULL vfsmnt in ocfs2_should_update_atime()\n\nThis can come from NFSD.\n\nSigned-off-by: Mark Fasheh \u003cmark.fasheh@oracle.com\u003e\n"
    },
    {
      "commit": "0333394bff439c3fb09264303de42e7038b3e709",
      "tree": "c42710ccdbfa6e218fdf1bd880471682b2ed19d3",
      "parents": [
        "3bf8ba38f38d3647368e4edcf7d019f9f8d9184a"
      ],
      "author": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Thu Dec 14 15:29:25 2006 -0800"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Thu Dec 28 16:37:20 2006 -0800"
      },
      "message": "ocfs2: don\u0027t print error in ocfs2_permission()\n\nErrors from generic_permission() can happen in valid cases and shouldn\u0027t be\nreported.\n\nSigned-off-by: Mark Fasheh \u003cmark.fasheh@oracle.com\u003e\n"
    },
    {
      "commit": "7e913c53609d5e8374f55d6f29c0bcd6650a2362",
      "tree": "77082566215aa8c8a43e2217819e35ce39ffbe63",
      "parents": [
        "47ae32d6a54955a041cdc30b06d0bb16e75f68d5"
      ],
      "author": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Wed Dec 13 00:34:35 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Wed Dec 13 09:05:50 2006 -0800"
      },
      "message": "[PATCH] ocfs2: relative atime support\n\nUpdate ocfs2_should_update_atime() to understand the MNT_RELATIME flag and\nto test against mtime / ctime accordingly.\n\n[akpm@osdl.org: cleanups]\nSigned-off-by: Mark Fasheh \u003cmark.fasheh@oracle.com\u003e\nCc: Valerie Henson \u003cval_henson@linux.intel.com\u003e\nCc: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nCc: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "d28c91740ae2cd1d963f9e4e3889789894cb6d52",
      "tree": "0f519133422e1248b6e7519960877dd062f4c2b5",
      "parents": [
        "6db5fc5d536560e31978c6911b1f5662e42083ac"
      ],
      "author": {
        "name": "Josef Sipek",
        "email": "jsipek@fsl.cs.sunysb.edu",
        "time": "Fri Dec 08 02:37:25 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Fri Dec 08 08:28:48 2006 -0800"
      },
      "message": "[PATCH] struct path: convert ocfs2\n\nSigned-off-by: Josef Sipek \u003cjsipek@fsl.cs.sunysb.edu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "d38eb8db6aa359c060dfb72a29cf8d94a96657d8",
      "tree": "3d27b15ae8fc1718030147a2ed08812c902a7b2e",
      "parents": [
        "58d206c2fa5cc0b35bf3ca48324d7633aa7d0412"
      ],
      "author": {
        "name": "Tiger Yang",
        "email": "tiger.yang@oracle.com",
        "time": "Mon Nov 27 09:59:21 2006 +0800"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Fri Dec 01 18:29:14 2006 -0800"
      },
      "message": "ocfs2: implement i_op-\u003epermission\n\nImplement .permission() in ocfs2_file_iops, ocfs2_special_file_iops and\nocfs2_dir_iops.\n\nThis helps us avoid some multi-node races with mode change and vfs\noperations.\n\nSigned-off-by: Tiger Yang \u003ctiger.yang@oracle.com\u003e\nSigned-off-by: Mark Fasheh \u003cmark.fasheh@oracle.com\u003e\n"
    },
    {
      "commit": "25899deef46c226c49c53b42c00e0f032379c04b",
      "tree": "ac8c19482ab05ee2e13d874eecd8b2eaa507a156",
      "parents": [
        "7f1a37e31f94b4f1c123d32ce9f69205ab2095bd"
      ],
      "author": {
        "name": "Tiger Yang",
        "email": "tiger.yang@oracle.com",
        "time": "Wed Nov 15 15:49:02 2006 +0800"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Fri Dec 01 18:28:58 2006 -0800"
      },
      "message": "ocfs2: update file system paths to set atime\n\nConditionally update atime in ocfs2_file_aio_read(), ocfs2_readdir() and\nocfs2_mmap().\n\nSigned-off-by: Tiger Yang \u003ctiger.yang@oracle.com\u003e\nSigned-off-by: Mark Fasheh \u003cmark.fasheh@oracle.com\u003e\n"
    },
    {
      "commit": "7f1a37e31f94b4f1c123d32ce9f69205ab2095bd",
      "tree": "7d2136573966de80d031e7320db11c15d7f93a92",
      "parents": [
        "8659ac25b434fcc61cf7797f4b69edc3eaaffb55"
      ],
      "author": {
        "name": "Tiger Yang",
        "email": "tiger.yang@oracle.com",
        "time": "Wed Nov 15 15:48:42 2006 +0800"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Fri Dec 01 18:28:51 2006 -0800"
      },
      "message": "ocfs2: core atime update functions\n\nThis patch adds the core routines for updating atime in ocfs2.\n\nSigned-off-by: Tiger Yang \u003ctiger.yang@oracle.com\u003e\nSigned-off-by: Mark Fasheh \u003cmark.fasheh@oracle.com\u003e\n"
    },
    {
      "commit": "8659ac25b434fcc61cf7797f4b69edc3eaaffb55",
      "tree": "d839abc4ad988c23a5b34c1935742310f4b6cc7f",
      "parents": [
        "e88d0c9a4180821ad64c1fb421e4c28f8155eb74"
      ],
      "author": {
        "name": "Tiger Yang",
        "email": "tiger.yang@oracle.com",
        "time": "Tue Oct 17 18:29:52 2006 -0700"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Fri Dec 01 18:28:46 2006 -0800"
      },
      "message": "ocfs2: Add splice support\n\nAdd splice read/write support in ocfs2.\n\nocfs2_file_splice_read/write are very similar to ocfs2_file_aio_read/write.\n\nSigned-off-by: Tiger Yang \u003ctiger.yang@oracle.com\u003e\nSigned-off-by: Mark Fasheh \u003cmark.fasheh@oracle.com\u003e\n"
    },
    {
      "commit": "e88d0c9a4180821ad64c1fb421e4c28f8155eb74",
      "tree": "6efa12630d5e00583d57277096a91934826dec8a",
      "parents": [
        "d23a147bb6e8d467e8df73b6589888717da3b9ce"
      ],
      "author": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Tue Oct 17 17:06:53 2006 -0700"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Fri Dec 01 18:28:43 2006 -0800"
      },
      "message": "ocfs2: Remove ocfs2_write_should_remove_suid()\n\nUse should_remove_suid() instead.\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": "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": "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": "da5cbf2f9df922cfdafa39351691fa83517f1e25",
      "tree": "845dc288b72f0408870f50605bb3c96eec978dd8",
      "parents": [
        "8d5596c687c49c1d8812c3456946dec15d069139"
      ],
      "author": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Fri Oct 06 18:34:35 2006 -0700"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Fri Dec 01 18:27:49 2006 -0800"
      },
      "message": "ocfs2: don\u0027t use handle for locking in allocation functions\n\nInstead we record our state on the allocation context structure which all\ncallers already know about and lifetime correctly. This means the\nreservation functions don\u0027t need a handle passed in any more, and we can\nalso take it off the alloc context.\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": "e2057c5a63821e17c8a54dab6db680c77ce7ee6c",
      "tree": "411465feea60aafd3bacbaec2fffb42af6e7bfe2",
      "parents": [
        "0effef776ff95b7a6d6e48a2ef407ecaa8c21f96"
      ],
      "author": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Tue Oct 03 17:53:05 2006 -0700"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Fri Oct 20 15:27:48 2006 -0700"
      },
      "message": "ocfs2: cond_resched() in ocfs2_zero_extend()\n\nThe loop within ocfs2_zero_extend() can execute for a long time, causing\nspurious soft lockup warnings.\n\nSigned-off-by: Mark Fasheh \u003cmark.fasheh@oracle.com\u003e\n"
    },
    {
      "commit": "0effef776ff95b7a6d6e48a2ef407ecaa8c21f96",
      "tree": "518ac195b10e415bd3c87f6f7c5ddec4c8448058",
      "parents": [
        "711a40fcaa83bfad87736544b69f6fdd6527482d"
      ],
      "author": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Tue Oct 03 17:44:42 2006 -0700"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Fri Oct 20 15:27:26 2006 -0700"
      },
      "message": "ocfs2: fix page zeroing during simple extends\n\nThe page zeroing code was missing the region between old i_size and new\ni_size for those extends that didn\u0027t actually require a change in space\nallocation.\n\nSigned-off-by: Mark Fasheh \u003cmark.fasheh@oracle.com\u003e\n"
    },
    {
      "commit": "027445c37282bc1ed26add45e573ad2d3e4860a5",
      "tree": "93eab101a938ffebaea64703033c8649df4d73f0",
      "parents": [
        "9ea0f9499d15c49df23e7aac4332d830c40e12d0"
      ],
      "author": {
        "name": "Badari Pulavarty",
        "email": "pbadari@us.ibm.com",
        "time": "Sat Sep 30 23:28:46 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Oct 01 00:39:28 2006 -0700"
      },
      "message": "[PATCH] Vectorize aio_read/aio_write fileop methods\n\nThis patch vectorizes aio_read() and aio_write() methods to prepare for\ncollapsing all aio \u0026 vectored operations into one interface - which is\naio_read()/aio_write().\n\nSigned-off-by: Badari Pulavarty \u003cpbadari@us.ibm.com\u003e\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nCc: Michael Holzheu \u003cHOLZHEU@de.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "ca4d147e62df370c334898464023aa7f9126abe1",
      "tree": "aff39cd19c5b0a95a1fd85caf439c4aa69c5830e",
      "parents": [
        "b4c98f625fffee3a6f633082e9e4be3e952ca2ab"
      ],
      "author": {
        "name": "Herbert Poetzl",
        "email": "herbert@13thfloor.at",
        "time": "Mon Jul 03 17:27:12 2006 -0700"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Wed Sep 20 15:48:39 2006 -0700"
      },
      "message": "ocfs2: add ext2 attributes\n\nSupport immutable, and other attributes.\n\nSome renaming and other minor fixes done by myself.\n\nSigned-off-by: Herbert Poetzl \u003cherbert@13thfloor.at\u003e\nSigned-off-by: Mark Fasheh \u003cmark.fasheh@oracle.com\u003e\n"
    },
    {
      "commit": "c4374f8a6093fbee42ac4368b3ca180d1d0c7c6d",
      "tree": "6e52cb1f85a5e769bd9f23e0e59d266767e25dcf",
      "parents": [
        "53013cba4118a5cfe8f7c7ea5e5bc1c48b160f76"
      ],
      "author": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Fri May 05 19:04:35 2006 -0700"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Wed May 17 14:38:47 2006 -0700"
      },
      "message": "ocfs2: take meta data lock in ocfs2_file_aio_read()\n\nTemporarily take the meta data lock in ocfs2_file_aio_read() to allow us to\nupdate our inode fields.\n\nSigned-off-by: Mark Fasheh \u003cmark.fasheh@oracle.com\u003e\n"
    },
    {
      "commit": "53013cba4118a5cfe8f7c7ea5e5bc1c48b160f76",
      "tree": "5170ed12fbe07b5e8557e61952aa27c25034bd7a",
      "parents": [
        "0c056c50a6218e0e577817c16ba8851af593d742"
      ],
      "author": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Fri May 05 19:04:03 2006 -0700"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Wed May 17 14:38:47 2006 -0700"
      },
      "message": "ocfs2: take data locks around extend\n\nWe need to take a data lock around extends to protect the pages that\nocfs2_zero_extend is going to be pulling into the page cache. Otherwise an\nextend on one node might populate the page cache with data pages that have\nno lock coverage.\n\nSigned-off-by: Mark Fasheh \u003cmark.fasheh@oracle.com\u003e\n"
    },
    {
      "commit": "ab0920ce7ebb6d60063c793f227ae198a492251b",
      "tree": "08519b232bbbda3dd69c74e9f9e49ac9db817c9d",
      "parents": [
        "6246b6128bbe34d0752f119cf7c5111c85fe481d"
      ],
      "author": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Thu Mar 16 15:06:37 2006 -0800"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Fri Apr 07 16:47:24 2006 -0700"
      },
      "message": "ocfs2: multi node truncate fix\n\nFix ocfs2_truncate_file() so that it forces a truncate_inode_pages() on all\ninterested nodes in all cases of a truncate(), not just allocation change.\n\nSigned-off-by: Mark Fasheh \u003cmark.fasheh@oracle.com\u003e\n"
    },
    {
      "commit": "4b6f5d20b04dcbc3d888555522b90ba6d36c4106",
      "tree": "420f271eaef7d3def7d4433b151c3cb6d7a54770",
      "parents": [
        "99ac48f54a91d02140c497edc31dc57d4bc5c85d"
      ],
      "author": {
        "name": "Arjan van de Ven",
        "email": "arjan@infradead.org",
        "time": "Tue Mar 28 01:56:42 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Mar 28 09:16:06 2006 -0800"
      },
      "message": "[PATCH] Make most file operations structs in fs/ const\n\nThis is a conversion to make the various file_operations structs in fs/\nconst.  Basically a regexp job, with a few manual fixups\n\nThe goal is both to increase correctness (harder to accidentally write to\nshared datastructures) and reducing the false sharing of cachelines with\nthings that get dirty in .data (while .rodata is nicely read only and thus\ncache clean)\n\nSigned-off-by: Arjan van de Ven \u003carjan@infradead.org\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": "d267a56c883b350a2fa80f1daf4636809e3f8e67",
      "tree": "85ffceda2a1cdea2ebe957c9026966301729a58c",
      "parents": [
        "d3178bcdd41b050e221337d7f5e30b3c58d4015a"
      ],
      "author": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Thu Feb 23 13:23:39 2006 -0800"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Wed Mar 01 11:18:22 2006 -0800"
      },
      "message": "[PATCH] ocfs2: remove unused code\n\nRemove some #ifdef\u0027d out code which was inadvertantly introduced in our\ninitial merge.\n\nSigned-off-by: Mark Fasheh \u003cmark.fasheh@oracle.com\u003e\n"
    },
    {
      "commit": "215c7f9fa11d3fc6ccd2df242d259c721ec7ae6a",
      "tree": "873d9a2d1b345567c1c6b51f8aab83b034fff922",
      "parents": [
        "ebdec83ba46c123fe3bfdcaacf62d0dfe8fe4187"
      ],
      "author": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Wed Feb 01 16:42:10 2006 -0800"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Fri Feb 03 13:55:26 2006 -0800"
      },
      "message": "[PATCH] ocfs2: fix compile warnings\n\nFix a couple of compile warnings found when compiling on a ppc64 build box.\n\nSigned-off-by: Mark Fasheh \u003cmark.fasheh@oracle.com\u003e\n"
    },
    {
      "commit": "16f7e0fe2ecc30f30652e8185e1772cdebe39109",
      "tree": "e668703267c7b02f1af3cc1581bb4366a5370fdd",
      "parents": [
        "c59ede7b78db329949d9cdcd7064e22d357560ef"
      ],
      "author": {
        "name": "Randy Dunlap",
        "email": "rdunlap@xenotime.net",
        "time": "Wed Jan 11 12:17:46 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Jan 11 18:42:13 2006 -0800"
      },
      "message": "[PATCH] capable/capability.h (fs/)\n\nfs: Use \u003clinux/capability.h\u003e where capable() is used.\n\nSigned-off-by: Randy Dunlap \u003crdunlap@xenotime.net\u003e\nAcked-by: Tim Schmielau \u003ctim@physik3.uni-rostock.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\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"
    },
    {
      "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"
    }
  ]
}
