)]}'
{
  "log": [
    {
      "commit": "58dadcdbc2584db050969f9781727fc5a3f618db",
      "tree": "40df8466e7409be77131ee6d61a66649f57f4425",
      "parents": [
        "4d0ddb2ce25db2254d468233d942276ecf40bff8"
      ],
      "author": {
        "name": "Julia Lawall",
        "email": "julia@diku.dk",
        "time": "Fri Mar 28 14:43:10 2008 -0700"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mfasheh@suse.com",
        "time": "Fri Apr 18 08:56:11 2008 -0700"
      },
      "message": "fs/ocfs2/aops.c: test for IS_ERR rather than 0\n\nThe function ocfs2_start_trans always returns either a valid pointer or a\nvalue made with ERR_PTR, so its result should be tested with IS_ERR, not\nwith a test for 0.\n\nSigned-off-by: Julia Lawall \u003cjulia@diku.dk\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Mark Fasheh \u003cmfasheh@suse.com\u003e\n"
    },
    {
      "commit": "86c838b03daf35e2af6555842d04fe09a89f8d93",
      "tree": "82c0df727f20d9c179cee5cbdb0e4a610c11c9ce",
      "parents": [
        "05488bbebe3deedbc5d58a1832f563ff96bc2ef6"
      ],
      "author": {
        "name": "Julia Lawall",
        "email": "julia@diku.dk",
        "time": "Tue Feb 26 21:45:56 2008 +0100"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Mon Mar 03 15:50:21 2008 -0800"
      },
      "message": "[PATCH] fs/ocfs2/aops.c: Correct use of ! and \u0026\n\nIn commit e6bafba5b4765a5a252f1b8d31cbf6d2459da337, a bug was fixed that\ninvolved converting !x \u0026 y to !(x \u0026 y).  The code below shows the same\npattern, and thus should perhaps be fixed in the same way.\n\nThis is not tested and clearly changes the semantics, so it is only\nsomething to consider.\n\nSigned-off-by: Julia Lawall \u003cjulia@diku.dk\u003e\nSigned-off-by: Mark Fasheh \u003cmark.fasheh@oracle.com\u003e\n"
    },
    {
      "commit": "eebd2aa355692afaf9906f62118620f1a1c19dbb",
      "tree": "207eead3a736963c3e50942038c463f2f611ccce",
      "parents": [
        "b98348bdd08dc4ec11828aa98a78edde15c53cfa"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@sgi.com",
        "time": "Mon Feb 04 22:28:29 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Feb 05 09:44:13 2008 -0800"
      },
      "message": "Pagecache zeroing: zero_user_segment, zero_user_segments and zero_user\n\nSimplify page cache zeroing of segments of pages through 3 functions\n\nzero_user_segments(page, start1, end1, start2, end2)\n\n        Zeros two segments of the page. It takes the position where to\n        start and end the zeroing which avoids length calculations and\n\tmakes code clearer.\n\nzero_user_segment(page, start, end)\n\n        Same for a single segment.\n\nzero_user(page, start, length)\n\n        Length variant for the case where we know the length.\n\nWe remove the zero_user_page macro. Issues:\n\n1. Its a macro. Inline functions are preferable.\n\n2. The KM_USER0 macro is only defined for HIGHMEM.\n\n   Having to treat this special case everywhere makes the\n   code needlessly complex. The parameter for zeroing is always\n   KM_USER0 except in one single case that we open code.\n\nAvoiding KM_USER0 makes a lot of code not having to be dealing\nwith the special casing for HIGHMEM anymore. Dealing with\nkmap is only necessary for HIGHMEM configurations. In those\nconfigurations we use KM_USER0 like we do for a series of other\nfunctions defined in highmem.h.\n\nSince KM_USER0 is depends on HIGHMEM the existing zero_user_page\nfunction could not be a macro. zero_user_* functions introduced\nhere can be be inline because that constant is not used when these\nfunctions are called.\n\nAlso extract the flushing of the caches to be outside of the kmap.\n\n[akpm@linux-foundation.org: fix nfs and ntfs build]\n[akpm@linux-foundation.org: fix ntfs build some more]\nSigned-off-by: Christoph Lameter \u003cclameter@sgi.com\u003e\nCc: Steven French \u003csfrench@us.ibm.com\u003e\nCc: Michael Halcrow \u003cmhalcrow@us.ibm.com\u003e\nCc: \u003clinux-ext4@vger.kernel.org\u003e\nCc: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\nCc: Trond Myklebust \u003ctrond.myklebust@fys.uio.no\u003e\nCc: \"J. Bruce Fields\" \u003cbfields@fieldses.org\u003e\nCc: Anton Altaparmakov \u003caia21@cantab.net\u003e\nCc: Mark Fasheh \u003cmark.fasheh@oracle.com\u003e\nCc: David Chinner \u003cdgc@sgi.com\u003e\nCc: Michael Halcrow \u003cmhalcrow@us.ibm.com\u003e\nCc: Steven French \u003csfrench@us.ibm.com\u003e\nCc: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\nCc: Trond Myklebust \u003ctrond.myklebust@fys.uio.no\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "d2849fb294d92d6eee0a811c688f1ecb39d26800",
      "tree": "cdfab35099e97d64e47ebebd14067053ea08459e",
      "parents": [
        "5fa0613ea58a80f69852b242337121bd39dc798e"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Wed Dec 19 15:24:09 2007 +0100"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Fri Jan 25 15:05:44 2008 -0800"
      },
      "message": "ocfs2: Safer read_inline_data()\n\nIn ocfs2_read_inline_data() we should store file size in loff_t. Although\nthe file size should fit in 32 bits we cannot be sure in case filesystem is\ncorrupted.\n\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\nSigned-off-by: Mark Fasheh \u003cmark.fasheh@oracle.com\u003e\n"
    },
    {
      "commit": "628a24f5bdf31b795d596eaed71670579b96a9aa",
      "tree": "3dcd23a6cfd10e142cf0397a53e5f95ca72f5168",
      "parents": [
        "d69a3ad6a0e47b2aa9b2b2ddfd385752132a4d34"
      ],
      "author": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Tue Oct 30 12:08:32 2007 -0700"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Fri Jan 25 14:48:12 2008 -0800"
      },
      "message": "ocfs2: Readpages support\n\nAdd -\u003ereadpages support to Ocfs2. This is rather trivial - all it required\nis a small update to ocfs2_get_block (for mapping full extents via b_size)\nand an ocfs2_readpages() function which partially mirrors ocfs2_readpage().\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": "0d8a4e0cd688ad0de6430ce3425c7849cfec1c2d",
      "tree": "f959aba36b640232ae9f885b8765fe0e463fde67",
      "parents": [
        "bccb9dad8949cd0df1d3d2188a1fdb4b1936d537"
      ],
      "author": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Tue Nov 20 11:48:41 2007 -0800"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Tue Nov 27 16:47:03 2007 -0800"
      },
      "message": "ocfs2: Fix comparison in ocfs2_size_fits_inline_data()\n\nThis was causing us to prematurely push out inline data by one byte.\n\nSigned-off-by: Mark Fasheh \u003cmark.fasheh@oracle.com\u003e\n"
    },
    {
      "commit": "4e9563fd55ff4479f2b118d0757d121dd0cfc39c",
      "tree": "604066cd76db3d40896263d4a24a7fd5d9824eb2",
      "parents": [
        "9ea2d32f40434589ea0e136373f7d1545afb411f"
      ],
      "author": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Thu Nov 01 11:37:48 2007 -0700"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Tue Nov 06 15:35:29 2007 -0800"
      },
      "message": "ocfs2: fix write() performance regression\n\nOn file systems which don\u0027t support sparse files, Ocfs2_map_page_blocks()\nwas reading blocks on appending writes. This caused write performance to\nsuffer dramatically. Fix this by detecting an appending write on a nonsparse\nfs and skipping the read.\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": "6798d35a31c413bbb3f83bbaa844bd2598168ccc",
      "tree": "ff3e2928ebdfda06f08605d9dbc7002f0413e731",
      "parents": [
        "15b1e36bdb487d67ef924a37b0967453143be53a"
      ],
      "author": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Fri Sep 07 14:05:51 2007 -0700"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Fri Oct 12 11:54:39 2007 -0700"
      },
      "message": "ocfs2: Read support for inline data\n\nThis hooks up ocfs2_readpage() to populate a page with data from an inode\nblock. Direct IO reads from inline data are modified to fall back to\nbuffered I/O. Appropriate checks are also placed in the extent map code to\navoid reading an extent list when inline data might be stored.\n\nSigned-off-by: Mark Fasheh \u003cmark.fasheh@oracle.com\u003e\nReviewed-by: Joel Becker \u003cjoel.becker@oracle.com\u003e\n"
    },
    {
      "commit": "1d410a6e337a0d2d5543ad1d9bccb670a7a05312",
      "tree": "696f70750482a4a49b61c79e6499659ddb3635b4",
      "parents": [
        "65ed39d6ca78f07d2958814e08440e4264b6b488"
      ],
      "author": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Fri Sep 07 14:20:45 2007 -0700"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Fri Oct 12 11:54:35 2007 -0700"
      },
      "message": "ocfs2: Small refactor of truncate zeroing code\n\nWe\u0027ll want to reuse most of this when pushing inline data back out to an\nextent. Keeping this part as a seperate patch helps to keep the upcoming\nchanges for write support uncluttered.\n\nThe core portion of ocfs2_zero_cluster_pages() responsible for making sure a\npage is mapped and properly dirtied is abstracted out into it\u0027s own\nfunction, ocfs2_map_and_dirty_page(). Actual functionality doesn\u0027t change,\nthough zeroing becomes optional.\n\nWe also turn part of ocfs2_free_write_ctxt() into  a common function for\nunlocking and freeing a page array. This operation is very common (and\nuniform) for Ocfs2 cluster sizes greater than page size, so it makes sense\nto keep the code in one place.\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": "5c26a7b70f89c36e8d9acc95cb896c3cd205fc8d",
      "tree": "83471ee744573481ffb2ffee09e0fe7fcf9643bd",
      "parents": [
        "db56246c6980e376b02d2da568d119da71f82fb9"
      ],
      "author": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Tue Sep 18 17:49:29 2007 -0700"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Thu Sep 20 15:06:10 2007 -0700"
      },
      "message": "ocfs2: Don\u0027t double set write parameters\n\nThe target page offsets were being incorrectly set a second time in\nocfs2_prepare_page_for_write(), which was causing problems on a 16k page\nsize kernel. Additionally, ocfs2_write_failure() was incorrectly using those\nparameters instead of the parameters for the individual page being cleaned\nup.\n\nSigned-off-by: Mark Fasheh \u003cmark.fasheh@oracle.com\u003e\n"
    },
    {
      "commit": "db56246c6980e376b02d2da568d119da71f82fb9",
      "tree": "dc88e09c80d50dd77580d1d9366bac8c74c9bffa",
      "parents": [
        "415cb800375cc4e89fb5a6a454e484bd4adbffb4"
      ],
      "author": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Mon Sep 17 09:06:29 2007 -0700"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Thu Sep 20 15:06:09 2007 -0700"
      },
      "message": "ocfs2: Fix pos/len passed to ocfs2_write_cluster\n\nThis was broken for file systems whose cluster size is greater than page\nsize. Pos needs to be incremented as we loop through the descriptors, and\nlen needs to be capped to the size of a single cluster.\n\nSigned-off-by: Mark Fasheh \u003cmark.fasheh@oracle.com\u003e\n"
    },
    {
      "commit": "30b8548f2c270c0205558fe4826a6ab8e7fe51ad",
      "tree": "7c5756dba9c62813cab4aa01b8d42305cb4d41f6",
      "parents": [
        "c0123adef626607535f3c2c93b530c36780885e0"
      ],
      "author": {
        "name": "tao.ma@oracle.com",
        "email": "tao.ma@oracle.com",
        "time": "Thu Sep 06 08:02:25 2007 +0800"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Tue Sep 11 11:39:05 2007 -0700"
      },
      "message": "[PATCH] ocfs2: Fix a wrong cluster calculation.\n\nIn ocfs2_alloc_write_write_ctxt, the written clusters length is calculated\nby the byte length only. This may cause some problems if we start to write\nat some position in the end of one cluster and last to a second cluster\nwhile the \"len\" is smaller than a cluster size. In that case, we have to\nwrite 2 clusters actually.\nSo we have to take the start position into consideration also.\n\nSigned-off-by: Tao Ma \u003ctao.ma@oracle.com\u003e\nSigned-off-by: Mark Fasheh \u003cmark.fasheh@oracle.com\u003e\n"
    },
    {
      "commit": "54cb8821de07f2ffcd28c380ce9b93d5784b40d7",
      "tree": "1de676534963d96af42863b20191bc9f80060dea",
      "parents": [
        "d00806b183152af6d24f46f0c33f14162ca1262a"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "npiggin@suse.de",
        "time": "Thu Jul 19 01:46:59 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Jul 19 10:04:41 2007 -0700"
      },
      "message": "mm: merge populate and nopage into fault (fixes nonlinear)\n\nNonlinear mappings are (AFAIKS) simply a virtual memory concept that encodes\nthe virtual address -\u003e file offset differently from linear mappings.\n\n-\u003epopulate is a layering violation because the filesystem/pagecache code\nshould need to know anything about the virtual memory mapping.  The hitch here\nis that the -\u003enopage handler didn\u0027t pass down enough information (ie.  pgoff).\n But it is more logical to pass pgoff rather than have the -\u003enopage function\ncalculate it itself anyway (because that\u0027s a similar layering violation).\n\nHaving the populate handler install the pte itself is likewise a nasty thing\nto be doing.\n\nThis patch introduces a new fault handler that replaces -\u003enopage and\n-\u003epopulate and (later) -\u003enopfn.  Most of the old mechanism is still in place\nso there is a lot of duplication and nice cleanups that can be removed if\neveryone switches over.\n\nThe rationale for doing this in the first place is that nonlinear mappings are\nsubject to the pagefault vs invalidate/truncate race too, and it seemed stupid\nto duplicate the synchronisation logic rather than just consolidate the two.\n\nAfter this patch, MAP_NONBLOCK no longer sets up ptes for pages present in\npagecache.  Seems like a fringe functionality anyway.\n\nNOPAGE_REFAULT is removed.  This should be implemented with -\u003efault, and no\nusers have hit mainline yet.\n\n[akpm@linux-foundation.org: cleanup]\n[randy.dunlap@oracle.com: doc. fixes for readahead]\n[akpm@linux-foundation.org: build fix]\nSigned-off-by: Nick Piggin \u003cnpiggin@suse.de\u003e\nSigned-off-by: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nCc: 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": "54c57dc3b6578356c0a428c767d4bf080254a2ee",
      "tree": "009484927ae335d7a6312aa5a53c0bcd90d92a9e",
      "parents": [
        "b25801038da5823bba1b5440a57ca68afc51b6bd"
      ],
      "author": {
        "name": "Eric Sandeen",
        "email": "sandeen@redhat.com",
        "time": "Wed Jun 20 17:15:10 2007 -0700"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Tue Jul 10 17:32:10 2007 -0700"
      },
      "message": "[PATCH] ocfs2: zero_user_page conversion\n\nSigned-off-by: Eric Sandeen \u003csandeen@redhat.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": "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": "0d172baa5586071ae0ae0c07356a378fdbedecdb",
      "tree": "8124c326700c15ceffcaf2f525fef8eb55f0fb06",
      "parents": [
        "328d5752e1259dfb29b7e65f6c2d145fddbaa750"
      ],
      "author": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Mon May 14 18:09:54 2007 -0700"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Tue Jul 10 17:32:01 2007 -0700"
      },
      "message": "ocfs2: small cleanup of ocfs2_write_begin_nolock()\n\nWe can easily seperate out the write descriptor setup and manipulation\ninto helper functions.\n\nSigned-off-by: Mark Fasheh \u003cmark.fasheh@oracle.com\u003e\n"
    },
    {
      "commit": "59a5e416d1ab543a5248a2b34d83202c4d55d132",
      "tree": "3e97ce48774d26e8a927edd839dd54a7d68f8c7d",
      "parents": [
        "2b604351bc99b4e4504758cbac369b660b71de0b"
      ],
      "author": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Fri Jun 22 15:52:36 2007 -0700"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Tue Jul 10 17:31:55 2007 -0700"
      },
      "message": "ocfs2: plug truncate into cached dealloc routines\n\nSigned-off-by: Mark Fasheh \u003cmark.fasheh@oracle.com\u003e\n"
    },
    {
      "commit": "bce997682fe3121516f5a20cf7bad2e6029ba018",
      "tree": "1f54d1c289b7fac2ec036f6923a27e00a6d777ae",
      "parents": [
        "7307de80510a70e5e5aa98de1e80ccbb7d90a3a8"
      ],
      "author": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Mon Jun 18 11:12:36 2007 -0700"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Tue Jul 10 17:31:52 2007 -0700"
      },
      "message": "ocfs2: harden buffer check during mapping of page blocks\n\nWe don\u0027t want to submit buffer_new blocks for read i/o. This actually won\u0027t\nhappen right now because those requests during an allocating write are all nicely\naligned. It\u0027s probably a good idea to provide an explicit check though.\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": "607d44aa3fa6f40b0facaf1028886ed362b92682",
      "tree": "cacd360252a7bfd60dde613c6cf1b4b3d3beeb8f",
      "parents": [
        "3a307ffc2730bfa1a4dfa94537be9d412338aad2"
      ],
      "author": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Wed May 09 15:14:45 2007 -0700"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Tue Jul 10 17:31:49 2007 -0700"
      },
      "message": "ocfs2: factor out write aops into nolock variants\n\nocfs2_mkwrite() will want this so that it can add some mmap specific checks\nbefore asking for a write.\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": "eeb47d1234af1a9267836f680a8e114b2e88d0dc",
      "tree": "8362fcf841f204876446c952dca530cdb419899d",
      "parents": [
        "59be7dc97bacc0fd8e22f0be6e2aebb5c9b4ff47"
      ],
      "author": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Wed Jun 06 16:15:24 2007 -0700"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Wed Jun 06 16:42:03 2007 -0700"
      },
      "message": "ocfs2: Fix invalid assertion during write on 64k pages\n\nThe write path code intends to bug if a math error (or unhandled case)\nresults in a write outside of the current cluster boundaries. The actual\nBUG_ON() statements however are incorrect, leading to a crash on kernels\nwith 64k page size. Fix those by checking against the right variables.\n\nAlso, move the assertions higher up within the functions so that they trip\n*before* the code starts to mark buffers.\n\nSigned-off-by: Mark Fasheh \u003cmark.fasheh@oracle.com\u003e\n"
    },
    {
      "commit": "5c3c6bb7709bf2bf4132750124879b3d89183e46",
      "tree": "267dc760d0dbb747989d17759fa5e49479da24c2",
      "parents": [
        "1024c902abdcbd2425aa850d7ef04e013ffb35f0"
      ],
      "author": {
        "name": "Nate Diller",
        "email": "nate.diller@gmail.com",
        "time": "Thu May 10 22:56:01 2007 -0700"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Fri May 25 11:00:39 2007 -0700"
      },
      "message": "[PATCH] ocfs2: use zero_user_page\n\nUse zero_user_page() instead of open-coding it.\n\nSigned-off-by: Nate Diller \u003cnate.diller@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Mark Fasheh \u003cmark.fasheh@oracle.com\u003e\n"
    },
    {
      "commit": "e9dfc0b2bc42761410e8db6c252c6c5889e178b8",
      "tree": "d42beb9d6b2c54bc205e48bc75cdf26ec0eeddc3",
      "parents": [
        "1c1ee4c3e7e16d23166a624a132889df3c540a18"
      ],
      "author": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Mon May 14 11:38:51 2007 -0700"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Fri May 25 11:00:23 2007 -0700"
      },
      "message": "ocfs2: trylock in ocfs2_readpage()\n\nSimilarly to the page lock / cluster lock inversion in ocfs2_readpage, we\ncan deadlock on ip_alloc_sem. We can down_read_trylock() instead and just\nreturn AOP_TRUNCATED_PAGE if the operation fails.\n\nSigned-off-by: Mark Fasheh \u003cmark.fasheh@oracle.com\u003e\n"
    },
    {
      "commit": "9315f130e11249457f5c3a7f74ee82a7065bd854",
      "tree": "dd2a3671ec0696b52bc98c937d0465b7b8782cdb",
      "parents": [
        "5fdf1e677127cb460c38733b9586b772d657be43"
      ],
      "author": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Tue May 01 17:44:20 2007 -0700"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Wed May 02 15:08:34 2007 -0700"
      },
      "message": "ocfs2: Force use of GFP_NOFS in ocfs2_write()\n\nWe can otherwise recurse into the file system.\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": "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": "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": "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": "25baf2da1473d9dcde1a4c7b0ab26e7d67d9bf62",
      "tree": "7e07eb6de18f07d4814ab75a02c1c6837fd3e3ea",
      "parents": [
        "5069120b7227fd323152a3755a0aa6bdeb361310"
      ],
      "author": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Wed Feb 14 15:30:30 2007 -0800"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Thu Apr 26 15:02:16 2007 -0700"
      },
      "message": "ocfs2: Teach ocfs2_get_block() about holes\n\nocfs2_get_block() didn\u0027t understand sparse files, fix that. Also remove some\ncode that isn\u0027t really useful anymore. We can fix up\nocfs2_direct_IO_get_blocks() at the same time.\n\nSigned-off-by: Mark Fasheh \u003cmark.fasheh@oracle.com\u003e\n"
    },
    {
      "commit": "5069120b7227fd323152a3755a0aa6bdeb361310",
      "tree": "38f55942537178098b4e3a3996bb0f02787dbb51",
      "parents": [
        "9517bac6cc7a7aa4fee63cb38a32cb6014e264c7"
      ],
      "author": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Fri Feb 09 20:52:53 2007 -0800"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Thu Apr 26 15:02:12 2007 -0700"
      },
      "message": "ocfs2: remove ocfs2_prepare_write() and ocfs2_commit_write()\n\nThese are no longer used, and can\u0027t handle file systems with sparse file\nallocation.\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": "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": "03f981cf2ec95dd8bc43d2ecccaec4e83c8375e2",
      "tree": "1c339ea26ceed628e33f3dc57c7936d2570d6e5c",
      "parents": [
        "e6c352dbc0f4dc7e3f82feafb9e6207c5814a189"
      ],
      "author": {
        "name": "Joel Becker",
        "email": "joel.becker@oracle.com",
        "time": "Thu Jan 04 14:54:41 2007 -0800"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Wed Mar 14 14:37:16 2007 -0700"
      },
      "message": "ocfs2: add some missing address space callbacks\n\nUnder load, OCFS2 would crash in invalidate_inode_pages2_range() because\ninvalidate_complete_page2() was unable to invalidate a page.  It would\nappear that JBD is holding on to the page.  ext3 has a specific\n-\u003ereleasepage() handler to cover this case.\n\nSteal ext3\u0027s -\u003ereleasepage(), -\u003einvalidatepage(), and -\u003emigratepage(), as\nthey appear completely appropriate for OCFS2.\n\nSigned-off-by: Joel Becker \u003cjoel.becker@oracle.com\u003e\nSigned-off-by: Mark Fasheh \u003cmark.fasheh@oracle.com\u003e\n"
    },
    {
      "commit": "564f8a3228879d6962edb3432d01bcd7499a67ec",
      "tree": "6e3a1b840e3061e7a1bc4df56287a99c2f513a47",
      "parents": [
        "0333394bff439c3fb09264303de42e7038b3e709"
      ],
      "author": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Thu Dec 14 13:01:05 2006 -0800"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Thu Dec 28 16:38:08 2006 -0800"
      },
      "message": "ocfs2: Allow direct I/O read past end of file\n\nocfs2_direct_IO_get_blocks() was incorrectly returning -EIO for a direct I/O\nread whose start block was past the end of the file allocation tree. Fix\nthings so that we return a hole instead. do_direct_IO() will then notice\nthat the range start is past eof and return a short read.\n\nWhile there, remove the unused vbo_max variable.\n\nSigned-off-by: Mark Fasheh \u003cmark.fasheh@oracle.com\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": "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": "e0b4096d34fbd6b30838c417100c9d0ef73c71f2",
      "tree": "cabe34d3ae64b906f186ddea53bf3b4f84099ab7",
      "parents": [
        "0f62de2c9ca60a35f63122e7ea992cee8aae4bef"
      ],
      "author": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Tue Jul 11 14:38:54 2006 -0700"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Wed Sep 20 15:53:05 2006 -0700"
      },
      "message": "ocfs2: properly update i_mtime on buffered write\n\nWe weren\u0027t always updating i_mtime on writes, so fix ocfs2_commit_write() to\nhandle this.\n\nSigned-off-by: Mark Fasheh \u003cmark.fasheh@oracle.com\u003e\nAcked-by: Zach Brown \u003czach.brown@oracle.com\u003e\n"
    },
    {
      "commit": "184d7d20d352c7374f70ebca7468dc8cd5cc618a",
      "tree": "bcea4e8f5eba60f03ff0c7980b4e13b4b579bf2b",
      "parents": [
        "784270435b001164054e803421a624ef1098519d"
      ],
      "author": {
        "name": "Florin Malita",
        "email": "fmalita@gmail.com",
        "time": "Sat Jun 03 19:30:10 2006 -0400"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Thu Jun 29 16:13:35 2006 -0700"
      },
      "message": "ocfs2: remove redundant NULL checks in ocfs2_direct_IO_get_blocks()\n\nSigned-off-by: Florin Malita \u003cfmalita@gmail.com\u003e\nSigned-off-by: Mark Fasheh \u003cmark.fasheh@oracle.com\u003e\n"
    },
    {
      "commit": "f5e54d6e53a20cef45af7499e86164f0e0d16bb2",
      "tree": "cb92acbb89b84796261bf5563182261ec5654127",
      "parents": [
        "a052b68b1e7a31f1e6a721290035e9deb0f6fed9"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Wed Jun 28 04:26:44 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Jun 28 14:59:04 2006 -0700"
      },
      "message": "[PATCH] mark address_space_operations const\n\nSame as with already do with the file operations: keep them in .rodata and\nprevents people from doing runtime patching.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nCc: Steven French \u003csfrench@us.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\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": "1d8fa7a2b9a39d18727acc5c468e870df606c852",
      "tree": "41537fe9ea5478f3243e3301184dc13980f8201f",
      "parents": [
        "fa30bd058b746c0e2318a77ff8b4977faa924c2c"
      ],
      "author": {
        "name": "Badari Pulavarty",
        "email": "pbadari@us.ibm.com",
        "time": "Sun Mar 26 01:38:02 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Mar 26 08:57:01 2006 -0800"
      },
      "message": "[PATCH] remove -\u003eget_blocks() support\n\nNow that get_block() can handle mapping multiple disk blocks, no need to have\n-\u003eget_blocks().  This patch removes fs specific -\u003eget_blocks() added for DIO\nand makes it users use get_block() instead.\n\nSigned-off-by: Badari Pulavarty \u003cpbadari@us.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "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"
    }
  ]
}
