)]}'
{
  "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": "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": "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": "5dabd69515765156605b09261abf969236a77803",
      "tree": "4a44a7554c9513f012c4140793d1620001809999",
      "parents": [
        "58dadcdbc2584db050969f9781727fc5a3f618db"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Thu Feb 21 18:00:00 2008 +0100"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mfasheh@suse.com",
        "time": "Fri Apr 18 08:56:11 2008 -0700"
      },
      "message": "ocfs2: Improve rename locking\n\nocfs2_rename() was being too aggressive with the rename lock - we only need\nit for certain forms of directory rename.\n\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\nSigned-off-by: Mark Fasheh \u003cmfasheh@suse.com\u003e\n"
    },
    {
      "commit": "4d0ddb2ce25db2254d468233d942276ecf40bff8",
      "tree": "6a114da03bb9911de637146f2b24866f1ae96718",
      "parents": [
        "a4a4891164d4f6f383cc17e7c90828a7ca6a1146"
      ],
      "author": {
        "name": "Tao Ma",
        "email": "tao.ma@oracle.com",
        "time": "Wed Mar 05 16:11:46 2008 +0800"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mfasheh@suse.com",
        "time": "Fri Apr 18 08:56:10 2008 -0700"
      },
      "message": "ocfs2: Add inode stealing for ocfs2_reserve_new_inode\n\nInode allocation is modified to look in other nodes allocators during\nextreme out of space situations. We retry our own slot when space is freed\nback to the global bitmap, or whenever we\u0027ve allocated more than 1024 inodes\nfrom another slot.\n\nSigned-off-by: Tao Ma \u003ctao.ma@oracle.com\u003e\nSigned-off-by: Mark Fasheh \u003cmfasheh@suse.com\u003e\n"
    },
    {
      "commit": "5fa0613ea58a80f69852b242337121bd39dc798e",
      "tree": "21170694624428a8903efc6cba843fd10de93c64",
      "parents": [
        "53fc622b9e829c8e632e45ef8c14f054388759c1"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Fri Jan 11 00:11:45 2008 +0100"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Fri Jan 25 15:05:44 2008 -0800"
      },
      "message": "ocfs2: Silence false lockdep warnings\n\nCreate separate lockdep lock classes for system file\u0027s i_mutexes. They are\nused to guard allocations and similar things and thus rank differently\nthan i_mutex of a regular file or directory.\n\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\nSigned-off-by: Mark Fasheh \u003cmark.fasheh@oracle.com\u003e\n"
    },
    {
      "commit": "e63aecb651ba73dffc62f9608ee1b7ae2a0ffd4b",
      "tree": "06a4b727230120fe73421dc3149c21aaed5fe91e",
      "parents": [
        "c934a92d05b549dd2f25db72c5fc3cb9dcf1b611"
      ],
      "author": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Thu Oct 18 15:30:42 2007 -0700"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Fri Jan 25 14:46:01 2008 -0800"
      },
      "message": "ocfs2: Rename ocfs2_meta_[un]lock\n\nCall this the \"inode_lock\" now, since it covers both data and meta data.\nThis patch makes no functional changes.\n\nSigned-off-by: Mark Fasheh \u003cmark.fasheh@oracle.com\u003e\n"
    },
    {
      "commit": "34d024f84345807bf44163fac84e921513dde323",
      "tree": "aef303ae5feeb42cb8791acc1c0b8a74f0a97674",
      "parents": [
        "6f7b056ea9c6fa978c79ca626eff43549df94dbb"
      ],
      "author": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Mon Sep 24 15:56:19 2007 -0700"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Fri Jan 25 14:45:34 2008 -0800"
      },
      "message": "ocfs2: Remove mount/unmount votes\n\nThe node maps that are set/unset by these votes are no longer relevant, thus\nwe can remove the mount and umount votes. Since those are the last two\nremaining votes, we can also remove the entire vote infrastructure.\n\nThe vote thread has been renamed to the downconvert thread, and the small\namount of functionality related to managing it has been moved into\nfs/ocfs2/dlmglue.c. All references to votes have been removed or updated.\n\nSigned-off-by: Mark Fasheh \u003cmark.fasheh@oracle.com\u003e\n"
    },
    {
      "commit": "e325a88f17196f18888f6e1426eb9fe3b4346d28",
      "tree": "34536cea32f530c0a41df0b8323d1e3a2249a0e6",
      "parents": [
        "bc7e97cbdd4bef162e5772c74ee2cc4487a2d997"
      ],
      "author": {
        "name": "Srinivas Eeda",
        "email": "srinivas.eeda@oracle.com",
        "time": "Wed Oct 31 16:49:43 2007 -0700"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Tue Nov 06 15:35:40 2007 -0800"
      },
      "message": "ocfs2: fix rename vs unlink race\n\nIf another node unlinks the destination while ocfs2_rename() is waiting on a\ncluster lock, ocfs2_rename() simply logs an error and continues. This causes\na crash because the renaming node is now trying to delete a non-existent\ninode. The correct solution is to return -ENOENT.\n\nSigned-off-by: Srinivas Eeda \u003csrinivas.eeda@oracle.com\u003e\nSigned-off-by: Mark Fasheh \u003cmark.fasheh@oracle.com\u003e\n"
    },
    {
      "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": "38760e243249f03b4c6d78ca624dd846a2681b67",
      "tree": "adf4cc72ac30455f9d4a646f64f1628e38b14a89",
      "parents": [
        "be94d11704ef79030fd2e6a0c41b4a7f65f9e860"
      ],
      "author": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Tue Sep 11 17:21:56 2007 -0700"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Fri Oct 12 11:54:38 2007 -0700"
      },
      "message": "ocfs2: Rename cleanups\n\nocfs2_rename() does direct manipulation of the dirent it\u0027s gotten back from\na directory search. Wrap this manipulation inside of a function so that we\ncan transparently change directory update behavior in the future. As an\nadded bonus, this gets rid of an ugly macro.\n\nSigned-off-by: Mark Fasheh \u003cmark.fasheh@oracle.com\u003e\nReviewed-by: Joel Becker \u003cjoel.becker@oracle.com\u003e\n"
    },
    {
      "commit": "be94d11704ef79030fd2e6a0c41b4a7f65f9e860",
      "tree": "10b060625c464db127210acc00e8aa80b43ce6f3",
      "parents": [
        "0bfbbf62a8b5a129ba2c689283bfece80a601aba"
      ],
      "author": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Tue Sep 11 15:22:06 2007 -0700"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Fri Oct 12 11:54:38 2007 -0700"
      },
      "message": "ocfs2: Provide convenience function for ino lookup\n\nA couple paths which needed to just match a parent dir + name pair to an\ninode number were a bit messy because they had to deal with\nocfs2_find_files_on_disk() which returns a larger number of values. Provide\na convenience function, ocfs2_lookup_ino_from_name() which internalizes all\nthe extra accounting.\n\nSigned-off-by: Mark Fasheh \u003cmark.fasheh@oracle.com\u003e\nReviewed-by: Joel Becker \u003cjoel.becker@oracle.com\u003e\n"
    },
    {
      "commit": "316f4b9f98a353ac1be93199694fd97272378815",
      "tree": "c54f7feb08fc1693f64879d8a3edc18cf3bb2713",
      "parents": [
        "1d410a6e337a0d2d5543ad1d9bccb670a7a05312"
      ],
      "author": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Fri Sep 07 18:21:26 2007 -0700"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Fri Oct 12 11:54:36 2007 -0700"
      },
      "message": "ocfs2: Move directory manipulation code into dir.c\n\nThe code for adding, removing, deleting directory entries was splattered all\nover namei.c. I\u0027d rather have this all centralized, so that it\u0027s easier to\nmake changes for inline dir data, and eventually indexed directories.\n\nNone of the code in any of the functions was changed. I only removed the\nstatic keyword from some prototypes so that they could be exported.\n\nSigned-off-by: Mark Fasheh \u003cmark.fasheh@oracle.com\u003e\nReviewed-by: Joel Becker \u003cjoel.becker@oracle.com\u003e\n"
    },
    {
      "commit": "480214d71f1972756473415d31953647952400fb",
      "tree": "558ca94278953cc2c01e60a206954d059fda75b1",
      "parents": [
        "6a18380e7ddd7d1a0493efe3be6475dd92323364"
      ],
      "author": {
        "name": "Sunil Mushran",
        "email": "sunil.musran@oracle.com",
        "time": "Mon Aug 06 15:11:56 2007 -0700"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Thu Aug 09 17:27:10 2007 -0700"
      },
      "message": "ocfs2: Fix rename/extend race\n\nIf one process is extending a file while another is renaming it, there\nexists a window when rename could flush the old inode\u0027s stale i_size to\ndisk. This patch recognizes the fact that rename is only updating the old\ninode\u0027s ctime, so it ensures only that value is flushed to disk.\n\nSigned-off-by: Sunil Mushran \u003csunil.musran@oracle.com\u003e\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": "1ca1a111b1e6be843c9ce5245dcd570312998d94",
      "tree": "e9f14300df896a4c7ee4f03db09cf08ddd027471",
      "parents": [
        "6e4b0d5692cd27d3c9be893a9f5939a9cafbb09f"
      ],
      "author": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Fri Apr 27 16:01:25 2007 -0700"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Wed May 02 15:08:08 2007 -0700"
      },
      "message": "ocfs2: fix sparse warnings in fs/ocfs2\n\nNone of these are actually harmful, but the noise makes looking for real\nproblems difficult.\n\nSigned-off-by: Mark Fasheh \u003cmark.fasheh@oracle.com\u003e\n"
    },
    {
      "commit": "8110b073a9135acf0a71bccfc20c0d1023f179c6",
      "tree": "b668738e25648f3fcfd7b1063ab8d4948cebc668",
      "parents": [
        "4f902c37727bbedbc0508a1477874c58ddcc9af8"
      ],
      "author": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Thu Mar 22 16:53:23 2007 -0700"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Thu Apr 26 15:07:40 2007 -0700"
      },
      "message": "ocfs2: Fix up i_blocks calculation to know about holes\n\nOlder file systems which didn\u0027t support holes did a dumb calculation of\ni_blocks based on i_size. This is no longer accurate, so fix things up to\ntake actual allocation into account.\n\nSigned-off-by: Mark Fasheh \u003cmark.fasheh@oracle.com\u003e\n"
    },
    {
      "commit": "4f902c37727bbedbc0508a1477874c58ddcc9af8",
      "tree": "841b35387cfea5d2518c258c4de6ef868948369b",
      "parents": [
        "49cb8d2d496ce06869ccca2ab368ed6b0b5b979d"
      ],
      "author": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Fri Mar 09 16:26:50 2007 -0800"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Thu Apr 26 15:02:45 2007 -0700"
      },
      "message": "ocfs2: Fix extent lookup to return true size of holes\n\nInitially, we had wired things to return a size \u00271\u0027 of holes. Cook up a\nsmall amount of code to find the next extent and calculate the number of\nclusters between the virtual offset and the next allocated extent.\n\nSigned-off-by: Mark Fasheh \u003cmark.fasheh@oracle.com\u003e\n"
    },
    {
      "commit": "49cb8d2d496ce06869ccca2ab368ed6b0b5b979d",
      "tree": "7aded7178e87dc26eb2ceafb169d7e68a8ee5ded",
      "parents": [
        "e48edee2d8eab812f31f0ff62c6ba635ca2e1e21"
      ],
      "author": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Fri Mar 09 16:21:46 2007 -0800"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Thu Apr 26 15:02:41 2007 -0700"
      },
      "message": "ocfs2: Read from an unwritten extent returns zeros\n\nReturn an optional extent flags field from our lookup functions and wire up\ncallers to treat unwritten regions as holes for the purpose of returning\nzeros to the user.\n\nSigned-off-by: Mark Fasheh \u003cmark.fasheh@oracle.com\u003e\n"
    },
    {
      "commit": "363041a5f74b953ab6b705ac9c88e5eda218a24b",
      "tree": "c0661c3f88978f2049693682f1cb94b20a8454c0",
      "parents": [
        "dcd0538ff4e854fa9d7f4630b359ca8fdb5cb5a8"
      ],
      "author": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Wed Jan 17 12:31:35 2007 -0800"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Thu Apr 26 15:01:31 2007 -0700"
      },
      "message": "ocfs2: temporarily remove extent map caching\n\nThe code in extent_map.c is not prepared to deal with a subtree being\nrotated between lookups. This can happen when filling holes in sparse files.\nInstead of a lengthy patch to update the code (which would likely lose the\nbenefit of caching subtree roots), we remove most of the algorithms and\nimplement a simple path based lookup. A less ambitious extent caching scheme\nwill be added in a later patch.\n\nSigned-off-by: Mark Fasheh \u003cmark.fasheh@oracle.com\u003e\n"
    },
    {
      "commit": "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": "500086300e6dc5308a7328990bd50d17e075162b",
      "tree": "4083cda09445c260c2cc2ac1d0f68c05ad2b958e",
      "parents": [
        "a9f5f70739363ccca2e771c274c4f015c5fb7a88"
      ],
      "author": {
        "name": "Tiger Yang",
        "email": "tiger.yang@oracle.com",
        "time": "Tue Mar 20 16:01:38 2007 -0700"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Thu Apr 26 14:39:48 2007 -0700"
      },
      "message": "ocfs2: Remove delete inode vote\n\nOcfs2 currently does cluster-wide node messaging to check the open state of\nan inode during delete. This patch removes that mechanism in favor of an\ninode cluster lock which is taken at shared read when an inode is first read\nand dropped in clear_inode(). This allows a deleting node to test the\nliveness of an inode by attempting to take an exclusive lock.\n\nSigned-off-by: Tiger Yang \u003ctiger.yang@oracle.com\u003e\nSigned-off-by: Mark Fasheh \u003cmark.fasheh@oracle.com\u003e\n"
    },
    {
      "commit": "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": "1b3c3714cb4767d00f507cc6854d3339d82c5b9d",
      "tree": "70a24435398cee2939bd71377f2fdf4d58aad8c0",
      "parents": [
        "85d1fe095ccb6318f7a128c96630477a8859cfce"
      ],
      "author": {
        "name": "Uwe Kleine-König",
        "email": "zeisberg@informatik.uni-freiburg.de",
        "time": "Sat Feb 17 19:23:03 2007 +0100"
      },
      "committer": {
        "name": "Adrian Bunk",
        "email": "bunk@stusta.de",
        "time": "Sat Feb 17 19:23:03 2007 +0100"
      },
      "message": "Fix typos concerning hierarchy\n\n        heirarchical, hierachical -\u003e hierarchical\n        heirarchy, hierachy -\u003e hierarchy\n\nSigned-off-by: Uwe Kleine-König \u003czeisberg@informatik.uni-freiburg.de\u003e\nSigned-off-by: Adrian Bunk \u003cbunk@stusta.de\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": "592282cf2eaa33409c6511ddd3f3ecaa57daeaaa",
      "tree": "fea7fe8403d6b2a96848372a69976b0123a4cf1d",
      "parents": [
        "72bce5078d124a8b13fb167aea028b6e8d91873e"
      ],
      "author": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Tue Jan 02 17:59:40 2007 -0800"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Sun Jan 21 16:18:49 2007 -0800"
      },
      "message": "ocfs2: Directory c/mtime update fixes\n\nocfs2 wasn\u0027t updating c/mtime on directories during dirent\ncreation/deletion. Fix ocfs2_unlink(), ocfs2_rename() and\n__ocfs2_add_entry() by adding the proper code to update the struct inode and\npush the change out to disk.\n\nThis helps rename/unlink on nfs exported file systems in particular as those\nclients compare directory time values to avoid a full re-reading a directory\nwhich hasn\u0027t changed.\n\nocfs2_rename() loses some superfluous error handling as a result of this\npatch.\n\nSigned-off-by: Mark Fasheh \u003cmark.fasheh@oracle.com\u003e\n"
    },
    {
      "commit": "c271c5c22b0a7ca45fda15f1f4d258bca36a5b94",
      "tree": "9803af515ecf1c101c4a5921d7407c66184147e1",
      "parents": [
        "c99767974ebd2a719d849fdeaaa1674456f5283f"
      ],
      "author": {
        "name": "Sunil Mushran",
        "email": "Sunil.Mushran@oracle.com",
        "time": "Tue Dec 05 17:56:35 2006 -0800"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Thu Dec 07 17:37:53 2006 -0800"
      },
      "message": "ocfs2: local mounts\n\nThis allows users to format an ocfs2 file system with a special flag,\nOCFS2_FEATURE_INCOMPAT_LOCAL_MOUNT. When the file system sees this flag, it\nwill not use any cluster services, nor will it require a cluster\nconfiguration, thus acting like a \u0027local\u0027 file system.\n\nSigned-off-by: Sunil Mushran \u003csunil.mushran@oracle.com\u003e\nSigned-off-by: Mark Fasheh \u003cmark.fasheh@oracle.com\u003e\n"
    },
    {
      "commit": "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": "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": "85b9e783cbc8cf4acc7bfaa76f37ea26b426f514",
      "tree": "b8ef170b91e476168cc1b6c71ae3ff500fe3e1a4",
      "parents": [
        "da5cbf2f9df922cfdafa39351691fa83517f1e25"
      ],
      "author": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Fri Oct 06 18:40:41 2006 -0700"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Fri Dec 01 18:27:53 2006 -0800"
      },
      "message": "ocfs2: Don\u0027t allocate handle early in ocfs2_rename()\n\nIt isn\u0027t used until ocfs2_start_trans() anyway.\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": "8d5596c687c49c1d8812c3456946dec15d069139",
      "tree": "559019dcbc19443433f74808360268f38bc26ef0",
      "parents": [
        "6d8fc40e63401be065b0aa98dfa4246deca04b8c"
      ],
      "author": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Fri Oct 06 15:04:51 2006 -0700"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Fri Dec 01 18:27:24 2006 -0800"
      },
      "message": "ocfs2: don\u0027t pass handle to ocfs2_meta_lock in ocfs2_rename()\n\nTake and drop the locks directly.\n\nSigned-off-by: Mark Fasheh \u003cmark.fasheh@oracle.com\u003e\n"
    },
    {
      "commit": "6d8fc40e63401be065b0aa98dfa4246deca04b8c",
      "tree": "4fb08b4284f07e9fe991a3529b33ac598e798605",
      "parents": [
        "30a4f5e86bc7bc388ce808117e7722706f739602"
      ],
      "author": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Fri Oct 06 11:54:33 2006 -0700"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Fri Dec 01 18:27:22 2006 -0800"
      },
      "message": "ocfs2: don\u0027t pass handle to ocfs2_meta_lock in ocfs2_symlink()\n\nTake and drop the locks directly.\n\nSigned-off-by: Mark Fasheh \u003cmark.fasheh@oracle.com\u003e\n"
    },
    {
      "commit": "30a4f5e86bc7bc388ce808117e7722706f739602",
      "tree": "d1d7ad7be97d7f9728446e7ab59e5b540b8969ae",
      "parents": [
        "5098c27bb8cd89e30d909ac9d76e305d334dadaf"
      ],
      "author": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Fri Oct 06 11:49:45 2006 -0700"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Fri Dec 01 18:27:19 2006 -0800"
      },
      "message": "ocfs2: don\u0027t pass handle to ocfs2_meta_lock in ocfs2_unlink()\n\nTake and drop the locks directly.\n\nSigned-off-by: Mark Fasheh \u003cmark.fasheh@oracle.com\u003e\n"
    },
    {
      "commit": "5098c27bb8cd89e30d909ac9d76e305d334dadaf",
      "tree": "66d1fe614ab99490a144a4849b900cb5e219e982",
      "parents": [
        "123a9643408882620347cc2c82f24e57dab05f44"
      ],
      "author": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Thu Oct 05 18:12:57 2006 -0700"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Fri Dec 01 18:27:16 2006 -0800"
      },
      "message": "ocfs2: don\u0027t pass handle to ocfs2_meta_lock() in orphan dir code\n\nTake and drop the locks directly.\n\nSigned-off-by: Mark Fasheh \u003cmark.fasheh@oracle.com\u003e\n"
    },
    {
      "commit": "123a9643408882620347cc2c82f24e57dab05f44",
      "tree": "a36e56e89eb966c5edf213cdc8cc59e78163d903",
      "parents": [
        "e3a821385984e57d5dd1b0e7292761abb0ea4dd9"
      ],
      "author": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Thu Oct 05 16:48:23 2006 -0700"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Fri Dec 01 18:27:14 2006 -0800"
      },
      "message": "ocfs2: don\u0027t pass handle to ocfs2_meta_lock() in ocfs2_link()\n\nTake and drop the locks directly.\n\nSigned-off-by: Mark Fasheh \u003cmark.fasheh@oracle.com\u003e\n"
    },
    {
      "commit": "e3a821385984e57d5dd1b0e7292761abb0ea4dd9",
      "tree": "2a833a3780e8eddbf4b502ec1012cc9854019fe0",
      "parents": [
        "e08dc8b9808f06d412904db4d67434bf19984752"
      ],
      "author": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Thu Oct 05 16:04:17 2006 -0700"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Fri Dec 01 18:27:12 2006 -0800"
      },
      "message": "ocfs2: don\u0027t pass handle to ocfs2_meta_lock() in ocfs2_mknod()\n\nTake and drop the locks directly.\n\nSigned-off-by: Mark Fasheh \u003cmark.fasheh@oracle.com\u003e\n"
    },
    {
      "commit": "711a40fcaa83bfad87736544b69f6fdd6527482d",
      "tree": "8a994dc00559c00f20ebc74d5b10ebe3024741e2",
      "parents": [
        "79cd22d3ac921b9209bf813c7e75e6b69e74896c"
      ],
      "author": {
        "name": "Sunil Mushran",
        "email": "sunil.mushran@oracle.com",
        "time": "Wed Oct 11 12:23:02 2006 -0700"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Fri Oct 20 15:26:35 2006 -0700"
      },
      "message": "ocfs2: remove spurious d_count check in ocfs2_rename()\n\nThis was causing some folks to incorrectly get -EBUSY during rename.\n\nSigned-off-by: Sunil Mushran \u003csunil.mushran@oracle.com\u003e\nSigned-off-by: Mark Fasheh \u003cmark.fasheh@oracle.com\u003e\n"
    },
    {
      "commit": "17ff785691503f63ec648df82a7fdaece7695561",
      "tree": "9777f4787253941c723aac1e13ab37fb285bcc4a",
      "parents": [
        "d8c76e6f45c111c32a4b3e50a2adc9210737b0d8"
      ],
      "author": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Sat Sep 30 23:29:05 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Oct 01 00:39:30 2006 -0700"
      },
      "message": "[PATCH] r/o bind mounts: clean up OCFS2 nlink handling\n\nOCFS2 does some operations on i_nlink, then reverts them if some of its\noperations fail to complete.  This does not fit in well with the\ndrop_nlink() logic where we expect i_nlink to stay at zero once it gets\nthere.\n\nSo, delay all of the nlink operations until we\u0027re sure that the operations\nhave completed.  Also, introduce a small helper to check whether an inode\nhas proper \"unlinkable\" i_nlink counts no matter whether it is a directory\nor regular inode.\n\nThis patch is broken out from the others because it does contain some\nlogical changes.\n\nSigned-off-by: Dave Hansen \u003chaveblue@us.ibm.com\u003e\nSigned-off-by: Mark Fasheh \u003cmark.fasheh@oracle.com\u003e\nCc: Christoph Hellwig \u003chch@lst.de\u003e\nCc: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "d8c76e6f45c111c32a4b3e50a2adc9210737b0d8",
      "tree": "25521b59d48c6d8c9aec1af54dbe5008ad4b215b",
      "parents": [
        "9a53c3a783c2fa9b969628e65695c11c3e51e673"
      ],
      "author": {
        "name": "Dave Hansen",
        "email": "haveblue@us.ibm.com",
        "time": "Sat Sep 30 23:29:04 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Oct 01 00:39:30 2006 -0700"
      },
      "message": "[PATCH] r/o bind mount prepwork: inc_nlink() helper\n\nThis is mostly included for parity with dec_nlink(), where we will have some\nmore hooks.  This one should stay pretty darn straightforward for now.\n\nSigned-off-by: Dave Hansen \u003chaveblue@us.ibm.com\u003e\nAcked-by: Christoph Hellwig \u003chch@lst.de\u003e\nCc: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "9a53c3a783c2fa9b969628e65695c11c3e51e673",
      "tree": "5a6115e18ee105246d46e3db3d5b07749d232f5b",
      "parents": [
        "aab520e2f6c80160cabd187a8d0292d1cec8ff68"
      ],
      "author": {
        "name": "Dave Hansen",
        "email": "haveblue@us.ibm.com",
        "time": "Sat Sep 30 23:29:03 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Oct 01 00:39:30 2006 -0700"
      },
      "message": "[PATCH] r/o bind mounts: unlink: monitor i_nlink\n\nWhen a filesystem decrements i_nlink to zero, it means that a write must be\nperformed in order to drop the inode from the filesystem.\n\nWe\u0027re shortly going to have keep filesystems from being remounted r/o between\nthe time that this i_nlink decrement and that write occurs.\n\nSo, add a little helper function to do the decrements.  We\u0027ll tie into it in a\nbit to note when i_nlink hits zero.\n\nSigned-off-by: Dave Hansen \u003chaveblue@us.ibm.com\u003e\nAcked-by: Christoph Hellwig \u003chch@lst.de\u003e\nCc: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "24c19ef40474c3930597f31ae233dc06319bd881",
      "tree": "e05b1cf72435d25bf47e67b206aa376bbea33b7d",
      "parents": [
        "f9e2d82e6395cfa0802446b54b63cc412089d82c"
      ],
      "author": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Fri Sep 22 17:28:19 2006 -0700"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Sun Sep 24 13:50:46 2006 -0700"
      },
      "message": "ocfs2: Remove i_generation from inode lock names\n\nOCFS2 puts inode meta data in the \"lock value block\" provided by the DLM.\nTypically, i_generation is encoded in the lock name so that a deleted inode\non and a new one in the same block don\u0027t share the same lvb.\n\nUnfortunately, that scheme means that the read in ocfs2_read_locked_inode()\nis potentially thrown away as soon as the meta data lock is taken - we\ncannot encode the lock name without first knowing i_generation, which\nrequires a disk read.\n\nThis patch encodes i_generation in the inode meta data lvb, and removes the\nvalue from the inode meta data lock name. This way, the read can be covered\nby a lock, and at the same time we can distinguish between an up to date and\na stale LVB.\n\nThis will help cold-cache stat(2) performance in particular.\n\nSince this patch changes the protocol version, we take the opportunity to do\na minor re-organization of two of the LVB fields.\n\nSigned-off-by: Mark Fasheh \u003cmark.fasheh@oracle.com\u003e\n"
    },
    {
      "commit": "0027dd5bc213bc639e09dd002a4ab56bd18317c3",
      "tree": "b41612706b25e8be6aa22f8423cc92a95a2337dc",
      "parents": [
        "1ba9da2ffa54b56a6346746248bfa38124d499a6"
      ],
      "author": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Thu Sep 21 16:51:28 2006 -0700"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Sun Sep 24 13:50:45 2006 -0700"
      },
      "message": "ocfs2: Remove special casing for inode creation in ocfs2_dentry_attach_lock()\n\nWe can\u0027t use LKM_LOCAL for new dentry locks because an unlink and subsequent\nre-create of a name/inode pair may result in the lock still being mastered\nsomewhere in the cluster.\n\nSigned-off-by: Mark Fasheh \u003cmark.fasheh@oracle.com\u003e\n"
    },
    {
      "commit": "379dfe9d0db99ed33fb089fcb9c07f5f92566e9e",
      "tree": "8f04d8dbf97fa70d8f02fcbb037e7b318cd7143e",
      "parents": [
        "80c05846f604bab6d61e9732c262420ee9f5f358"
      ],
      "author": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Fri Sep 08 14:21:03 2006 -0700"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Sun Sep 24 13:50:43 2006 -0700"
      },
      "message": "ocfs2: Hook rest of the file system into dentry locking API\n\nActually replace the vote calls with the new dentry operations. Make any\nnecessary adjustments to get the scheme to work.\n\nSigned-off-by: Mark Fasheh \u003cmark.fasheh@oracle.com\u003e\n"
    },
    {
      "commit": "aa9588741db907785e4d92c8b768dd6c9077e6f0",
      "tree": "d34da288a9d296a8a2ba19dfa0f1df8429bd3e33",
      "parents": [
        "e0b4096d34fbd6b30838c417100c9d0ef73c71f2"
      ],
      "author": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Fri Apr 21 13:49:02 2006 -0700"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Wed Sep 20 15:53:40 2006 -0700"
      },
      "message": "ocfs2: implement directory read-ahead\n\nUptodate.c now knows about read-ahead buffers. Use some more aggressive\nlogic in ocfs2_readdir().\n\nThe two functions which currently use directory read-ahead are\nocfs2_find_entry() and ocfs2_readdir().\n\nSigned-off-by: Mark Fasheh \u003cmark.fasheh@oracle.com\u003e\n"
    },
    {
      "commit": "0f62de2c9ca60a35f63122e7ea992cee8aae4bef",
      "tree": "31af0006aedea3a22e463198b5c4a00ca893bf1c",
      "parents": [
        "a663e30513d7ecc77dd71d474e7646bf78c0ba62"
      ],
      "author": {
        "name": "Tiger Yang",
        "email": "tiger.yang@oracle.com",
        "time": "Thu Aug 31 20:39:47 2006 -0700"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Wed Sep 20 15:52:27 2006 -0700"
      },
      "message": "ocfs2: Fix directory link count checks in ocfs2_link()\n\nRemove the redundant \"i_nlink \u003e\u003d OCFS2_LINK_MAX\" check and adds an unlinked\ndirectory check in ocfs2_link().\n\nSigned-off-by: Tiger Yang \u003ctiger.yang@oracle.com\u003e\nSigned-off-by: Mark Fasheh \u003cmark.fasheh@oracle.com\u003e\n"
    },
    {
      "commit": "a663e30513d7ecc77dd71d474e7646bf78c0ba62",
      "tree": "ac37a5d33b62cce82df4e35a816f73f4631e339a",
      "parents": [
        "471e3f57286da7ce8820ad42c77d5f5f49d56a41"
      ],
      "author": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Wed Aug 09 11:45:07 2006 -0700"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Wed Sep 20 15:52:08 2006 -0700"
      },
      "message": "ocfs2: move nlink check in ocfs2_mknod()\n\nThe dir nlink check in ocfs2_mknod() was being done outside of the cluster\nlock, which means we could have been checking against a stale version of the\ninode. Fix this by doing the check after the cluster lock instead.\n\nSigned-off-by: Mark Fasheh \u003cmark.fasheh@oracle.com\u003e\n"
    },
    {
      "commit": "5515eff811cb807f0d3221a6e8cc223c7850d205",
      "tree": "4538d128fd5b1d61d8d791a032c5a29e59b0d993",
      "parents": [
        "a0f62ac6362c168754cccb36f196b3dfbddc3bc3"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@osdl.org",
        "time": "Sun Mar 26 01:37:53 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Mar 26 08:57:00 2006 -0800"
      },
      "message": "[PATCH] 2tb-files-add-blkcnt_t-fixes\n\nCc: Takashi Sato \u003csho@tnes.nec.co.jp\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "b0697053f9e8de9cea3d510d9e290851ece9460b",
      "tree": "bcfa2ae33e4a5302ddbe94dec0eaf95013e79850",
      "parents": [
        "29004858a76ba9e26393dd8a85e653f105a33753"
      ],
      "author": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Fri Mar 03 10:24:33 2006 -0800"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Fri Mar 24 14:58:28 2006 -0800"
      },
      "message": "ocfs2: don\u0027t use MLF* in the file system\n\nSigned-off-by: Mark Fasheh \u003cmark.fasheh@oracle.com\u003e\n"
    },
    {
      "commit": "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"
    }
  ]
}
