)]}'
{
  "log": [
    {
      "commit": "efefc6eb38d43b8e5daef482f575d767b002004e",
      "tree": "8a3933db1f8721f9bcc9912c800dc8406f4bdf94",
      "parents": [
        "117494a1b65183f0e3fcc817b07944bc5c465050",
        "cd59abfcc441b2abb4cf2cd62c1eb0f02a60e8dd"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Oct 12 15:49:37 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Oct 12 15:49:37 2007 -0700"
      },
      "message": "Merge master.kernel.org:/pub/scm/linux/kernel/git/gregkh/driver-2.6\n\n* master.kernel.org:/pub/scm/linux/kernel/git/gregkh/driver-2.6: (75 commits)\n  PM: merge device power-management source files\n  sysfs: add copyrights\n  kobject: update the copyrights\n  kset: add some kerneldoc to help describe what these strange things are\n  Driver core: rename ktype_edd and ktype_efivar\n  Driver core: rename ktype_driver\n  Driver core: rename ktype_device\n  Driver core: rename ktype_class\n  driver core: remove subsystem_init()\n  sysfs: move sysfs file poll implementation to sysfs_open_dirent\n  sysfs: implement sysfs_open_dirent\n  sysfs: move sysfs_dirent-\u003es_children into sysfs_dirent-\u003es_dir\n  sysfs: make sysfs_root a regular directory dirent\n  sysfs: open code sysfs_attach_dentry()\n  sysfs: make s_elem an anonymous union\n  sysfs: make bin attr open get active reference of parent too\n  sysfs: kill unnecessary NULL pointer check in sysfs_release()\n  sysfs: kill unnecessary sysfs_get() in open paths\n  sysfs: reposition sysfs_dirent-\u003es_mode.\n  sysfs: kill sysfs_update_file()\n  ...\n"
    },
    {
      "commit": "34980ca8faebfcce31094eba6ffbb0113950361f",
      "tree": "1339b5a059fdc34e688d5571749577e8f3f96f09",
      "parents": [
        "7e7654a92a5a75a350cc3458389bc76273498f6a"
      ],
      "author": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Wed Sep 12 15:06:57 2007 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Oct 12 14:51:02 2007 -0700"
      },
      "message": "Drivers: clean up direct setting of the name of a kset\n\nA kset should not have its name set directly, so dynamically set the\nname at runtime.\n\nThis is needed to remove the static array in the kobject structure which\nwill be changed in a future patch.\n\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n\n"
    },
    {
      "commit": "e7b34019606ab1dd06196635e931b0c302799228",
      "tree": "c5fc9393ddd817b3e577e6df755e924015d3c06e",
      "parents": [
        "5b6a3a2b4a5f071d170f8122038dd647a84810a8"
      ],
      "author": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Mon Sep 24 14:25:27 2007 -0700"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Fri Oct 12 11:54:41 2007 -0700"
      },
      "message": "ocfs2: Optionally return filldir errors\n\nModify ocfs2_dir_foreach_blk() to optionally return any error from the\nfilldir callback. This way ocfs2_dirforeach() can terminate early, as\nopposed to always passing through the entire directory. This fixes a bug\nintroduced during a previous code refactor where ocfs2_empty_dir() would\nloop infinitely.\n\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": "23193e513d1cd69411469f028d56fd175d4a6b07",
      "tree": "18c2c6019d4ba6253a7c2ce87b53a118801ce534",
      "parents": [
        "1afc32b952335f665327a1a9001ba1b44bb76fd9"
      ],
      "author": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Wed Sep 12 13:01:18 2007 -0700"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Fri Oct 12 11:54:40 2007 -0700"
      },
      "message": "ocfs2: Read support for directories with inline data\n\nThis splits out extent based directory read support and implements\ninline-data versions of those functions. All knowledge of inline-data versus\nextent based directories is internalized. For lookups the code uses\nocfs2_find_entry_id(), full dir iterations make use of\nocfs2_dir_foreach_blk_id().\n\nSigned-off-by: Mark Fasheh \u003cmark.fasheh@oracle.com\u003e\nReviewed-by: Joel Becker \u003cjoel.becker@oracle.com\u003e\n"
    },
    {
      "commit": "1afc32b952335f665327a1a9001ba1b44bb76fd9",
      "tree": "c914afd0ef5d32b426c3cf65820de7599e570656",
      "parents": [
        "6798d35a31c413bbb3f83bbaa844bd2598168ccc"
      ],
      "author": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Fri Sep 07 14:46:51 2007 -0700"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Fri Oct 12 11:54:40 2007 -0700"
      },
      "message": "ocfs2: Write support for inline data\n\nThis fixes up write, truncate, mmap, and RESVSP/UNRESVP to understand inline\ninode data.\n\nFor the most part, the changes to the core write code can be relied on to do\nthe heavy lifting. Any code calling ocfs2_write_begin (including shared\nwriteable mmap) can count on it doing the right thing with respect to\ngrowing inline data to an extent tree.\n\nSize reducing truncates, including UNRESVP can simply zero that portion of\nthe inode block being removed. Size increasing truncatesm, including RESVP\nhave to be a little bit smarter and grow the inode to an extent tree if\nnecessary.\n\nSigned-off-by: Mark Fasheh \u003cmark.fasheh@oracle.com\u003e\nReviewed-by: Joel Becker \u003cjoel.becker@oracle.com\u003e\n"
    },
    {
      "commit": "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": "15b1e36bdb487d67ef924a37b0967453143be53a",
      "tree": "448e955663c183a12f574f0e470e842d7722c1fb",
      "parents": [
        "8553cf4f360d6fc4913a0bdd3b22dd7b5bb9a3be"
      ],
      "author": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Fri Sep 07 13:58:15 2007 -0700"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Fri Oct 12 11:54:39 2007 -0700"
      },
      "message": "ocfs2: Structure updates for inline data\n\nAdd the disk, network and memory structures needed to support data in inode.\n\nStruct ocfs2_inline_data is defined and embedded in ocfs2_dinode for storing\ninline data.\n\nA new inode field, i_dyn_features, is added to facilitate tracking of\ndynamic inode state. Since it will be used often, we want to mirror it on\nocfs2_inode_info, and transfer it via the meta data lvb.\n\nSigned-off-by: Mark Fasheh \u003cmark.fasheh@oracle.com\u003e\nReviewed-by: Joel Becker \u003cjoel.becker@oracle.com\u003e\n"
    },
    {
      "commit": "8553cf4f360d6fc4913a0bdd3b22dd7b5bb9a3be",
      "tree": "705bedbd5dcaf12e1ed8bb3c3f6fc8f9bd828477",
      "parents": [
        "38760e243249f03b4c6d78ca624dd846a2681b67"
      ],
      "author": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Thu Sep 13 16:29:01 2007 -0700"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Fri Oct 12 11:54:39 2007 -0700"
      },
      "message": "ocfs2: Cleanup dirent size check\n\nThe check to see if a new dirent would fit in an old one is pretty ugly, and\nit\u0027s done at least twice. Clean things up by putting this in it\u0027s own\neasier-to-read function.\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": "0bfbbf62a8b5a129ba2c689283bfece80a601aba",
      "tree": "af010d9f03acf04f81aef04eb07e2962fe502543",
      "parents": [
        "5eae5b96fc86e6c85f5f90e90fe9e6966f1fec63"
      ],
      "author": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Wed Sep 12 11:19:00 2007 -0700"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Fri Oct 12 11:54:37 2007 -0700"
      },
      "message": "ocfs2: Implement ocfs2_empty_dir() as a caller of ocfs2_dir_foreach()\n\nWe can preserve the behavior of ocfs2_empty_dir(), while getting rid of the\nopen coded directory walk by just providing a smart filldir callback. This\nalso automatically gets to use the dir readahead code, though in this case\nany advantage is minor at best.\n\nSigned-off-by: Mark Fasheh \u003cmark.fasheh@oracle.com\u003e\nReviewed-by: Joel Becker \u003cjoel.becker@oracle.com\u003e\n"
    },
    {
      "commit": "5eae5b96fc86e6c85f5f90e90fe9e6966f1fec63",
      "tree": "f9ab0815a6b0ee9c181a17e304abb8386bd09843",
      "parents": [
        "7e8536797d4508ddc790cc3af6a281db1582d485"
      ],
      "author": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Mon Sep 10 17:50:51 2007 -0700"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Fri Oct 12 11:54:37 2007 -0700"
      },
      "message": "ocfs2: Remove open coded readdir()\n\nocfs2_queue_orphans() has an open coded readdir loop which can easily just\nuse a directory accessor function.\n\nSigned-off-by: Mark Fasheh \u003cmark.fasheh@oracle.com\u003e\nReviewed-by: Joel Becker \u003cjoel.becker@oracle.com\u003e\n"
    },
    {
      "commit": "7e8536797d4508ddc790cc3af6a281db1582d485",
      "tree": "dd18e042cb00ff09077244ffd755b363776e1dc3",
      "parents": [
        "b8bc5f4fde376c9eee524a9a2b7e85560e604e85"
      ],
      "author": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Mon Sep 10 17:30:26 2007 -0700"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Fri Oct 12 11:54:37 2007 -0700"
      },
      "message": "ocfs2: Pass raw u64 to filldir\n\nfilldir_t can take this, so don\u0027t turn de-\u003einode into a 32 bit value. Right\nnow this doesn\u0027t make a difference since no ocfs2 inodes overflow that, but\nit could be a nasty surprise later on if some kernel code is calling\nocfs2_dir_foreach_blk() and expecting real inode numbers back...\n\nSigned-off-by: Mark Fasheh \u003cmark.fasheh@oracle.com\u003e\nReviewed-by: Joel Becker \u003cjoel.becker@oracle.com\u003e\n"
    },
    {
      "commit": "b8bc5f4fde376c9eee524a9a2b7e85560e604e85",
      "tree": "859f375caec2ff80626494ad00f28723d6b51eaf",
      "parents": [
        "316f4b9f98a353ac1be93199694fd97272378815"
      ],
      "author": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Mon Sep 10 17:17:52 2007 -0700"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Fri Oct 12 11:54:36 2007 -0700"
      },
      "message": "ocfs2: Abstract out core dir listing functionality\n\nPut this in it\u0027s own function so that the functionality can be overridden.\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": "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": "92e91ce2a30b2af53ebf077512801dc01e75cca5",
      "tree": "94683566a3ffa137d8c053acd858fadf47fe5b86",
      "parents": [
        "bddb8eb37f1460fc19e1af16010c9ad4ca3717a6"
      ],
      "author": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Thu Sep 20 11:19:20 2007 -0700"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Fri Oct 12 11:54:34 2007 -0700"
      },
      "message": "ocfs2: Sync ocfs2_fs.h with ocfs2-tools\n\nocfs2-tools added some on-disk fields and flags which are used by\ntunefs.ocfs2.\n\nSigned-off-by: Mark Fasheh \u003cmark.fasheh@oracle.com\u003e\n"
    },
    {
      "commit": "bddb8eb37f1460fc19e1af16010c9ad4ca3717a6",
      "tree": "82210332a8cd53835e7b356791fdb18c5e5d1b0e",
      "parents": [
        "d550071c03f129a60dfad60d23dab73f894129a9"
      ],
      "author": {
        "name": "Denis Cheng",
        "email": "crquan@gmail.com",
        "time": "Thu Sep 27 02:10:04 2007 +0800"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Fri Oct 12 11:54:34 2007 -0700"
      },
      "message": "[PATCH] fs/ocfs2/: removed unneeded initial value and function\u0027s return value\n\nSigned-off-by: Denis Cheng \u003ccrquan@gmail.com\u003e\nSigned-off-by: Mark Fasheh \u003cmark.fasheh@oracle.com\u003e\n"
    },
    {
      "commit": "d550071c03f129a60dfad60d23dab73f894129a9",
      "tree": "883fc5365e66ac312996a5fcedc35ce60a394926",
      "parents": [
        "19b613d41051296be628581e7e21b847e9eaba80"
      ],
      "author": {
        "name": "Sunil Mushran",
        "email": "sunil.mushran@oracle.com",
        "time": "Thu Sep 06 13:34:16 2007 -0700"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Fri Oct 12 11:54:33 2007 -0700"
      },
      "message": "ocfs2: Implement show_options()\n\nImplement sops-\u003eshow_options() so as to allow /proc/mounts to show the mount\noptions.\n\nSigned-off-by: Sunil Mushran \u003csunil.mushran@oracle.com\u003e\nSigned-off-by: Mark Fasheh \u003cmark.fasheh@oracle.com\u003e\n"
    },
    {
      "commit": "19b613d41051296be628581e7e21b847e9eaba80",
      "tree": "9b5adabc3d3ef6b478e54b2a44aac3aca38cea33",
      "parents": [
        "015452b15ff6c2d9fa1f82f28d61e7a66e2df86a"
      ],
      "author": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Thu Oct 04 14:47:09 2007 -0700"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Fri Oct 12 11:54:33 2007 -0700"
      },
      "message": "ocfs2: Clear slot map when umounting a local volume\n\nThis is technically harmless (recovery will clean it out later), but leaves\na bogus entry in the slot_map which really shouldn\u0027t be there.\n\nSigned-off-by: Mark Fasheh \u003cmark.fasheh@oracle.com\u003e\n"
    },
    {
      "commit": "015452b15ff6c2d9fa1f82f28d61e7a66e2df86a",
      "tree": "30c6e1f042e5c17159fb0f03b0575f6a6e4171d5",
      "parents": [
        "518d7269f3c9129ae51d5f804edff998ab945a40"
      ],
      "author": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Wed Sep 12 10:21:22 2007 -0700"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Fri Oct 12 11:54:32 2007 -0700"
      },
      "message": "ocfs2: Remove unused structure field\n\nc_used_tail_recs in struct ocfs2_merge_ctxt is only ever set, so we can\nremove it.\n\nSigned-off-by: Mark Fasheh \u003cmark.fasheh@oracle.com\u003e\n"
    },
    {
      "commit": "518d7269f3c9129ae51d5f804edff998ab945a40",
      "tree": "57ae06a6f396d6a4dad850d99a3f01697274c131",
      "parents": [
        "c77534f6fb6d58e27d923b6825ea3b0ef485ab26"
      ],
      "author": {
        "name": "Tao Mao",
        "email": "tao.ma@oracle.com",
        "time": "Tue Aug 28 17:25:35 2007 -0700"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Fri Oct 12 11:54:32 2007 -0700"
      },
      "message": "ocfs2: remove unused variable\n\ndelete_tail_recs in ocfs2_try_to_merge_extent() was only ever set, remove\nit.\n\nSigned-off-by: Tao Mao \u003ctao.ma@oracle.com\u003e\nSigned-off-by: Mark Fasheh \u003cmark.fasheh@oracle.com\u003e\n"
    },
    {
      "commit": "c77534f6fb6d58e27d923b6825ea3b0ef485ab26",
      "tree": "0002821236678d0206d66e73939c99239cfa9eb3",
      "parents": [
        "782e3b3b3804c38d5130c7f21d7ec7bf6709023f"
      ],
      "author": {
        "name": "Tao Mao",
        "email": "tao.ma@oracle.com",
        "time": "Tue Aug 28 17:22:33 2007 -0700"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Fri Oct 12 11:54:32 2007 -0700"
      },
      "message": "ocfs2: remove mostly unused field from insert structure\n\nocfs2_insert_type-\u003eins_free_records was only used in one place, and was set\nincorrectly in most places. We can free up some memory and lose some code by\nremoving this.\n\n* Small warning fixup contributed by Andrew Mortom \u003cakpm@linux-foundation.org\u003e\n\nSigned-off-by: Tao Mao \u003ctao.ma@oracle.com\u003e\nSigned-off-by: Mark Fasheh \u003cmark.fasheh@oracle.com\u003e\n"
    },
    {
      "commit": "782e3b3b3804c38d5130c7f21d7ec7bf6709023f",
      "tree": "54e790dfd52f0451189fa1591dc97bc5ff5f5866",
      "parents": [
        "cbd09dbbb62096c1da627eca865f988d2ed0a84e"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@ftp.linux.org.uk",
        "time": "Fri Oct 12 07:17:47 2007 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Oct 12 00:29:50 2007 -0700"
      },
      "message": "Fix up more bio fallout\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "6712ecf8f648118c3363c142196418f89a510b90",
      "tree": "347d39a7d5a7ed96d3b1afecd28de2a0f98b98c9",
      "parents": [
        "5bb23a688b2de23d7765a1dd439d89c038378978"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Thu Sep 27 12:47:43 2007 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "axboe@carl.home.kernel.dk",
        "time": "Wed Oct 10 09:25:57 2007 +0200"
      },
      "message": "Drop \u0027size\u0027 argument from bio_endio and bi_end_io\n\nAs bi_end_io is only called once when the reqeust is complete,\nthe \u0027size\u0027 argument is now redundant.  Remove it.\n\nNow there is no need for bio_endio to subtract the size completed\nfrom bi_size.  So don\u0027t do that either.\n\nWhile we are at it, change bi_end_io to return void.\n\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "bda0233b89c10ae46ccecb78bffdaf0fd7833d17",
      "tree": "b7ffce2948a7ecd1912f58b3de553f76fe61f74f",
      "parents": [
        "f778089cb2445dfc6dfd30a7a567925fd8589f1e"
      ],
      "author": {
        "name": "Sunil Mushran",
        "email": "sunil.mushran@oracle.com",
        "time": "Fri Sep 21 11:41:43 2007 -0700"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Wed Oct 03 11:14:45 2007 -0700"
      },
      "message": "ocfs2: Unlock mutex in local alloc failure case\n\nThe fs was not unlocking the local alloc inode mutex in the code path in\nwhich it failed to find a window of free bits in the global bitmap.\n\nSigned-off-by: Sunil Mushran \u003csunil.mushran@oracle.com\u003e\nSigned-off-by: Mark Fasheh \u003cmark.fasheh@oracle.com\u003e\n"
    },
    {
      "commit": "813d974c53a2b353566a86bb127625b403696dae",
      "tree": "bc568671141e7d2271b17a07f57f9ce134c0c75a",
      "parents": [
        "5c26a7b70f89c36e8d9acc95cb896c3cd205fc8d"
      ],
      "author": {
        "name": "Sunil Mushran",
        "email": "sunil.mushran@oracle.com",
        "time": "Thu Sep 20 10:59:48 2007 -0700"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Thu Sep 20 15:06:10 2007 -0700"
      },
      "message": "ocfs2: Pack vote message and response structures\n\nThe ocfs2_vote_msg and ocfs2_response_msg structs needed to be\npacked to ensure similar sizeofs in 32-bit and 64-bit arches. Without this,\nwe had inadvertantly broken 32/64 bit cross mounts.\n\nSigned-off-by: Sunil Mushran \u003csunil.mushran@oracle.com\u003e\nSigned-off-by: Mark Fasheh \u003cmark.fasheh@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": "415cb800375cc4e89fb5a6a454e484bd4adbffb4",
      "tree": "816021a5279047702d5fa8180783b1c710f31746",
      "parents": [
        "6d0b842d3bf0cc027dcff57a89fb8a6b1fd610e1"
      ],
      "author": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Sun Sep 16 20:10:16 2007 -0700"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Thu Sep 20 15:06:09 2007 -0700"
      },
      "message": "ocfs2: Allow smaller allocations during large writes\n\nThe ocfs2 write code loops through a page much like the block code, except\nthat ocfs2 allocation units can be any size, including larger than page\nsize. Typically it\u0027s equal to or larger than page size - most kernels run 4k\npages, the minimum ocfs2 allocation (cluster) size.\n\nSome changes introduced during 2.6.23 changed the way writes to pages are\nhandled, and inadvertantly broke support for \u003e 4k page size. Instead of just\nwriting one cluster at a time, we now handle the whole page in one pass.\n\nThis means that multiple (small) seperate allocations might happen in the\nsame pass. The allocation code howver typically optimizes by getting the\nmaximum which was reserved. This triggered a BUG_ON in the extend code where\nit\u0027d ask for a single bit (for one part of a \u003e 4k page) and get back more\nthan it asked for.\n\nFix this by providing a variant of the high level allocation function which\nallows the caller to specify a maximum. The traditional function remains and\njust calls the new one with a maximum determined from the initial\nreservation.\n\nSigned-off-by: Mark Fasheh \u003cmark.fasheh@oracle.com\u003e\n"
    },
    {
      "commit": "e535e2efd295c3990bb9f654c8bb6bd176ebdc2b",
      "tree": "5f519f1003a7f5700e5e8d62d477382bc806d738",
      "parents": [
        "30b8548f2c270c0205558fe4826a6ab8e7fe51ad"
      ],
      "author": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Fri Aug 31 10:23:41 2007 -0700"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Tue Sep 11 11:39:46 2007 -0700"
      },
      "message": "ocfs2: Fix calculation of i_blocks during truncate\n\nWe were setting i_blocks too early - before truncating any allocation.\nCorrect things to set i_blocks after the allocation change.\n\nSigned-off-by: Mark Fasheh \u003cmark.fasheh@oracle.com\u003e\n"
    },
    {
      "commit": "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": "c0123adef626607535f3c2c93b530c36780885e0",
      "tree": "ce61b2efb74c14632fa2584fb45ef37df3b3dedd",
      "parents": [
        "10b0845bed2b93f88d9758880a0a0e53f50c5139"
      ],
      "author": {
        "name": "Tiger Yang",
        "email": "tiger.yang@oracle.com",
        "time": "Sat Sep 08 00:16:10 2007 +0800"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Tue Sep 11 11:38:48 2007 -0700"
      },
      "message": "[PATCH] ocfs2: fix mount option parsing\n\nFor some mount option types, ocfs2_parse_options() will try to access\nsb-\u003es_fs_info to get at the ocfs2 private superblock. Unfortunately, that\nhasn\u0027t been allocated yet and will cause a kernel crash.\n\nFix this by storing options in a struct which can then get pushed into the\nocfs2_super once it\u0027s been allocated later. If we need more options which\nstore to the ocfs2_super in the future, we can just fields to this struct.\n\nSigned-off-by: Tiger Yang \u003ctiger.yang@oracle.com\u003e\nSigned-off-by: Mark Fasheh \u003cmark.fasheh@oracle.com\u003e\n"
    },
    {
      "commit": "e0dceaf0a4b8c55076a4dbcba7ac8b05755f5cc6",
      "tree": "b580fe81cd6b7765db0eb3dc6d42fcd7c2b1676d",
      "parents": [
        "ce17204ae633001ef41318d487282730e96b9522"
      ],
      "author": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Thu Aug 09 16:52:30 2007 -0700"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Thu Aug 09 17:27:58 2007 -0700"
      },
      "message": "ocfs2: set non-default s_time_gran during mount\n\nWe need to manually set this to \u00271\u0027 during mount, otherwise inode_setattr()\nwill chop off the nanosecond portion of our timestamps.\n\nSigned-off-by: Mark Fasheh \u003cmark.fasheh@oracle.com\u003e\n"
    },
    {
      "commit": "ce17204ae633001ef41318d487282730e96b9522",
      "tree": "8e60bc0a652ce19f47b6e9ab52e2ebe2b1dad51a",
      "parents": [
        "480214d71f1972756473415d31953647952400fb"
      ],
      "author": {
        "name": "Sunil Mushran",
        "email": "sunil.mushran@oracle.com",
        "time": "Mon Jul 30 11:02:50 2007 -0700"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Thu Aug 09 17:27:38 2007 -0700"
      },
      "message": "ocfs2: Retry sendpage() if it returns EAGAIN\n\nInstead of treating EAGAIN, returned from sendpage(), as an error, this\npatch retries the operation.\n\nSigned-off-by: Sunil Mushran \u003csunil.mushran@oracle.com\u003e\nSigned-off-by: Mark Fasheh \u003cmark.fasheh@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": "6a18380e7ddd7d1a0493efe3be6475dd92323364",
      "tree": "cbdd6882818c3c9ec2dd676832320186a0d39301",
      "parents": [
        "5a25403175b8a945e93fc9c64ae9cf54f5730add"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@stusta.de",
        "time": "Mon Jul 23 10:01:21 2007 +0200"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Thu Aug 09 17:26:03 2007 -0700"
      },
      "message": "[2.6 patch] ocfs2_insert_extent(): remove dead code\n\nThis patch removes some now dead code.\n\nSpotted by the Coverity checker.\n\nSigned-off-by: Adrian Bunk \u003cbunk@stusta.de\u003e\nSigned-off-by: Mark Fasheh \u003cmark.fasheh@oracle.com\u003e\n"
    },
    {
      "commit": "5a25403175b8a945e93fc9c64ae9cf54f5730add",
      "tree": "b40693ea1e35ba8679c9b89ca91e92be3352748b",
      "parents": [
        "ce76fd30ce98cdaeb38dca0dfbb3fa6d2801c5ce"
      ],
      "author": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Fri Jul 20 12:56:16 2007 -0700"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Thu Aug 09 17:25:49 2007 -0700"
      },
      "message": "ocfs2: Fix max offset calculations\n\nocfs2_max_file_offset() was over-estimating the largest file size for\nseveral cases. This wasn\u0027t really a problem before, but now that we support\nsparse files, it needs to be more accurate.\n\nSigned-off-by: Mark Fasheh \u003cmark.fasheh@oracle.com\u003e\n"
    },
    {
      "commit": "ce76fd30ce98cdaeb38dca0dfbb3fa6d2801c5ce",
      "tree": "b204814a30df3e5ef5f21032ee8fb3639249b99a",
      "parents": [
        "7c08d70c69150148c14f02633855f1591219c37c"
      ],
      "author": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Fri Jul 20 12:02:14 2007 -0700"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Thu Aug 09 17:25:38 2007 -0700"
      },
      "message": "ocfs2: check ia_size limits in setattr\n\nWe have to manually check the requested truncate size as the check in\nvmtruncate() comes too late for Ocfs2.\n\nSigned-off-by: Mark Fasheh \u003cmark.fasheh@oracle.com\u003e\n"
    },
    {
      "commit": "7c08d70c69150148c14f02633855f1591219c37c",
      "tree": "d33828db9b500afbd2168e9667dddb8450683804",
      "parents": [
        "a00cce356b5592208e761525a48a25902322cce9"
      ],
      "author": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Fri Jul 20 11:58:36 2007 -0700"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Thu Aug 09 17:25:27 2007 -0700"
      },
      "message": "ocfs2: Fix some casting errors related to file writes\n\nocfs2_align_clusters_to_page_index() needs to cast the clusters shift to\npgoff_t and ocfs2_file_buffered_write() needs loff_t when calculating\ndestination start for memcpy.\n\nSigned-off-by: Mark Fasheh \u003cmark.fasheh@oracle.com\u003e\n"
    },
    {
      "commit": "a00cce356b5592208e761525a48a25902322cce9",
      "tree": "ea965cdda9b4d2b8a156aaa6e54498351577fb3f",
      "parents": [
        "c11e9fafb398411af7558fca913c2fa4a10b1f48"
      ],
      "author": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Fri Jul 20 11:28:30 2007 -0700"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Thu Aug 09 17:25:07 2007 -0700"
      },
      "message": "ocfs2: use s_maxbytes directly in ocfs2_change_file_space()\n\nThere\u0027s no need to recalculate things via ocfs2_max_file_offset() as we\u0027ve\nalready done that to fill s_maxbytes, so use that instead. We can also\nun-export ocfs2_max_file_offset() then.\n\nSigned-off-by: Mark Fasheh \u003cmark.fasheh@oracle.com\u003e\n"
    },
    {
      "commit": "c11e9fafb398411af7558fca913c2fa4a10b1f48",
      "tree": "de1879d52677c612f2efa8e98df8c218cd477230",
      "parents": [
        "6adb31c90c47262c8a25bf5097de9b3426caf3ae"
      ],
      "author": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Fri Jul 20 11:24:53 2007 -0700"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Thu Aug 09 17:23:50 2007 -0700"
      },
      "message": "ocfs2: Restrict inode changes in ocfs2_update_inode_atime()\n\nocfs2_update_inode_atime() calls ocfs2_mark_inode_dirty() to push changes\nfrom the struct inode into the ocfs2 disk inode. The problem is,\nocfs2_mark_inode_dirty() might change other fields, depending on what\nhappened to the struct inode. Since we don\u0027t always have locking to\nserialize changes to other fields (like i_size, etc), just fix things up to\nonly touch the atime field.\n\nSigned-off-by: Mark Fasheh \u003cmark.fasheh@oracle.com\u003e\n"
    },
    {
      "commit": "3836df6b520a2f93033bf53200b12a2cb5137395",
      "tree": "4f08ef9fa7684b12b839481dc7bdc60b74d3d48b",
      "parents": [
        "2f66b529d9d131971e2509aee5478c61ca258ece"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Jul 24 10:17:50 2007 +0200"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Jul 24 16:02:55 2007 -0700"
      },
      "message": "ocfs2: bad kunmap_atomic()\n\nkunmap_atomic() takes the virtual address, not the mapped page as\nargument.\n\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\nCc: Mark Fasheh \u003cmark.fasheh@oracle.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "1833633803c7ef4d8f09877d3f1549cbd252f477",
      "tree": "ce69505de705701f838bd77c6b6b6bc18529bed0",
      "parents": [
        "e228929bc257b963523ed75aa60d2ad77ece2189"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "npiggin@suse.de",
        "time": "Fri Jul 20 00:31:45 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Jul 20 08:44:19 2007 -0700"
      },
      "message": "fix some conversion overflows\n\nFix page index to offset conversion overflows in buffer layer, ecryptfs,\nand ocfs2.\n\nIt would be nice to convert the whole tree to page_offset, but for now\njust fix the bugs.\n\nSigned-off-by: Nick Piggin \u003cnpiggin@suse.de\u003e\nCc: Michael Halcrow \u003cmhalcrow@us.ibm.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": "20c2df83d25c6a95affe6157a4c9cac4cf5ffaac",
      "tree": "415c4453d2b17a50abe7a3e515177e1fa337bd67",
      "parents": [
        "64fb98fc40738ae1a98bcea9ca3145b89fb71524"
      ],
      "author": {
        "name": "Paul Mundt",
        "email": "lethal@linux-sh.org",
        "time": "Fri Jul 20 10:11:58 2007 +0900"
      },
      "committer": {
        "name": "Paul Mundt",
        "email": "lethal@linux-sh.org",
        "time": "Fri Jul 20 10:11:58 2007 +0900"
      },
      "message": "mm: Remove slab destructors from kmem_cache_create().\n\nSlab destructors were no longer supported after Christoph\u0027s\nc59def9f222d44bb7e2f0a559f2906191a0862d7 change. They\u0027ve been\nBUGs for both slab and slub, and slob never supported them\neither.\n\nThis rips out support for the dtor pointer from kmem_cache_create()\ncompletely and fixes up every single callsite in the kernel (there were\nabout 224, not including the slab allocator definitions themselves,\nor the documentation references).\n\nSigned-off-by: Paul Mundt \u003clethal@linux-sh.org\u003e\n"
    },
    {
      "commit": "f745bb1c73e2395e6b9961d4d915a8f8e2cd32cd",
      "tree": "dfb015e697b2ce9dfe0077f59a5c43ac470b6c08",
      "parents": [
        "ff86303e3021587c49a14df1bc54fe2d393e2223",
        "385820a38d5e7c70b20af4d68767b1920b1e4133"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Jul 19 14:16:44 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Jul 19 14:16:44 2007 -0700"
      },
      "message": "Merge branch \u0027upstream-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/mfasheh/ocfs2\n\n* \u0027upstream-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/mfasheh/ocfs2:\n  ocfs2: -\u003efallocate() support\n"
    },
    {
      "commit": "d0217ac04ca6591841e5665f518e38064f4e65bd",
      "tree": "d3309094bb734d34773f97d642593e298a5cfcfc",
      "parents": [
        "ed2f2f9b3ff8debdf512f7687b232c3c1d7d60d7"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "npiggin@suse.de",
        "time": "Thu Jul 19 01:47:03 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Jul 19 10:04:41 2007 -0700"
      },
      "message": "mm: fault feedback #1\n\nChange -\u003efault prototype.  We now return an int, which contains\nVM_FAULT_xxx code in the low byte, and FAULT_RET_xxx code in the next byte.\n FAULT_RET_ code tells the VM whether a page was found, whether it has been\nlocked, and potentially other things.  This is not quite the way he wanted\nit yet, but that\u0027s changed in the next patch (which requires changes to\narch code).\n\nThis means we no longer set VM_CAN_INVALIDATE in the vma in order to say\nthat a page is locked which requires filemap_nopage to go away (because we\ncan no longer remain backward compatible without that flag), but we were\ngoing to do that anyway.\n\nstruct fault_data is renamed to struct vm_fault as Linus asked. address\nis now a void __user * that we should firmly encourage drivers not to use\nwithout really good reason.\n\nThe page is now returned via a page pointer in the vm_fault struct.\n\nSigned-off-by: Nick Piggin \u003cnpiggin@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\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": "d00806b183152af6d24f46f0c33f14162ca1262a",
      "tree": "36f829cf13d5410374a3f00b56ec0b1f8dc3ce3c",
      "parents": [
        "589f1e81bde732dd0b1bc5d01b6bddd4bcb4527b"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "npiggin@suse.de",
        "time": "Thu Jul 19 01:46:57 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Jul 19 10:04:41 2007 -0700"
      },
      "message": "mm: fix fault vs invalidate race for linear mappings\n\nFix the race between invalidate_inode_pages and do_no_page.\n\nAndrea Arcangeli identified a subtle race between invalidation of pages from\npagecache with userspace mappings, and do_no_page.\n\nThe issue is that invalidation has to shoot down all mappings to the page,\nbefore it can be discarded from the pagecache.  Between shooting down ptes to\na particular page, and actually dropping the struct page from the pagecache,\ndo_no_page from any process might fault on that page and establish a new\nmapping to the page just before it gets discarded from the pagecache.\n\nThe most common case where such invalidation is used is in file truncation.\nThis case was catered for by doing a sort of open-coded seqlock between the\nfile\u0027s i_size, and its truncate_count.\n\nTruncation will decrease i_size, then increment truncate_count before\nunmapping userspace pages; do_no_page will read truncate_count, then find the\npage if it is within i_size, and then check truncate_count under the page\ntable lock and back out and retry if it had subsequently been changed (ptl\nwill serialise against unmapping, and ensure a potentially updated\ntruncate_count is actually visible).\n\nComplexity and documentation issues aside, the locking protocol fails in the\ncase where we would like to invalidate pagecache inside i_size.  do_no_page\ncan come in anytime and filemap_nopage is not aware of the invalidation in\nprogress (as it is when it is outside i_size).  The end result is that\ndangling (-\u003emapping \u003d\u003d NULL) pages that appear to be from a particular file\nmay be mapped into userspace with nonsense data.  Valid mappings to the same\nplace will see a different page.\n\nAndrea implemented two working fixes, one using a real seqlock, another using\na page-\u003eflags bit.  He also proposed using the page lock in do_no_page, but\nthat was initially considered too heavyweight.  However, it is not a global or\nper-file lock, and the page cacheline is modified in do_no_page to increment\n_count and _mapcount anyway, so a further modification should not be a large\nperformance hit.  Scalability is not an issue.\n\nThis patch implements this latter approach.  -\u003enopage implementations return\nwith the page locked if it is possible for their underlying file to be\ninvalidated (in that case, they must set a special vm_flags bit to indicate\nso).  do_no_page only unlocks the page after setting up the mapping\ncompletely.  invalidation is excluded because it holds the page lock during\ninvalidation of each page (and ensures that the page is not mapped while\nholding the lock).\n\nThis also allows significant simplifications in do_no_page, because we have\nthe page locked in the right place in the pagecache from the start.\n\nSigned-off-by: Nick Piggin \u003cnpiggin@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "385820a38d5e7c70b20af4d68767b1920b1e4133",
      "tree": "4843644ffae2647b872a5b8919aa8e77b9100ea0",
      "parents": [
        "589f1e81bde732dd0b1bc5d01b6bddd4bcb4527b"
      ],
      "author": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Thu Jul 19 00:14:38 2007 -0700"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Thu Jul 19 00:23:55 2007 -0700"
      },
      "message": "ocfs2: -\u003efallocate() support\n\nPlug ocfs2 into the -\u003efallocate() callback. This just re-uses the existing\npreallocation code.\n\nSigned-off-by: Mark Fasheh \u003cmark.fasheh@oracle.com\u003e\n"
    },
    {
      "commit": "86313c488a6848b7ec2ba04e74f25f79dd32a0b7",
      "tree": "3b190f7afc338362470573b563f65a1eb83795ac",
      "parents": [
        "10a0a8d4e3f6bf2d077f94344441909abe670f5a"
      ],
      "author": {
        "name": "Jeremy Fitzhardinge",
        "email": "jeremy@xensource.com",
        "time": "Tue Jul 17 18:37:03 2007 -0700"
      },
      "committer": {
        "name": "Jeremy Fitzhardinge",
        "email": "jeremy@goop.org",
        "time": "Wed Jul 18 08:47:40 2007 -0700"
      },
      "message": "usermodehelper: Tidy up waiting\n\nRather than using a tri-state integer for the wait flag in\ncall_usermodehelper_exec, define a proper enum, and use that.  I\u0027ve\npreserved the integer values so that any callers I\u0027ve missed should\nstill work OK.\n\nSigned-off-by: Jeremy Fitzhardinge \u003cjeremy@xensource.com\u003e\nCc: James Bottomley \u003cJames.Bottomley@HansenPartnership.com\u003e\nCc: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nCc: Christoph Hellwig \u003chch@infradead.org\u003e\nCc: Andi Kleen \u003cak@suse.de\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nCc: Ralf Baechle \u003cralf@linux-mips.org\u003e\nCc: Bjorn Helgaas \u003cbjorn.helgaas@hp.com\u003e\nCc: Joel Becker \u003cjoel.becker@oracle.com\u003e\nCc: Tony Luck \u003ctony.luck@intel.com\u003e\nCc: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\nCc: Srivatsa Vaddagiri \u003cvatsa@in.ibm.com\u003e\nCc: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nCc: David Howells \u003cdhowells@redhat.com\u003e\n"
    },
    {
      "commit": "b8c638acacfe32c0bde361916467af00691f1965",
      "tree": "a5655f484fa731d5ffd49c284f0372c4e055d144",
      "parents": [
        "ef9efe43f2eddabee1e78a90c7c8451505bf05e1",
        "8e1c091cccd551557d24ce845715e8ceb6c49d36"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Jul 17 15:19:06 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Jul 17 15:19:06 2007 -0700"
      },
      "message": "Merge branch \u0027uninit-var\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/misc-2.6\n\n* \u0027uninit-var\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/misc-2.6:\n  arch/i386/* fs/* ipc/*: mark variables with uninitialized_var()\n  drivers/*: mark variables with uninitialized_var()\n"
    },
    {
      "commit": "8e1c091cccd551557d24ce845715e8ceb6c49d36",
      "tree": "28f1ea20efe46dd6f62cc0cb77f65be56e7225fc",
      "parents": [
        "a6343afb6e16b65b9f0b264f94f8207212e7e3ae"
      ],
      "author": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Tue Jul 17 05:40:59 2007 -0400"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Tue Jul 17 16:23:19 2007 -0400"
      },
      "message": "arch/i386/* fs/* ipc/*: mark variables with uninitialized_var()\n\nMark variables with uninitialized_var() if such a warning appears,\nand analysis proves that the var is initialized properly on all paths\nit is used.\n\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "3bd858ab1c451725c07a805dcb315215dc85b86e",
      "tree": "5d49c4300e350d64fd81eb3230b81f754117e0c1",
      "parents": [
        "49c13b51a15f1ba9f6d47e26e4a3886c4f3931e2"
      ],
      "author": {
        "name": "Satyam Sharma",
        "email": "ssatyam@cse.iitk.ac.in",
        "time": "Tue Jul 17 15:00:08 2007 +0530"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Jul 17 12:00:03 2007 -0700"
      },
      "message": "Introduce is_owner_or_cap() to wrap CAP_FOWNER use with fsuid check\n\nIntroduce is_owner_or_cap() macro in fs.h, and convert over relevant\nusers to it. This is done because we want to avoid bugs in the future\nwhere we check for only effective fsuid of the current task against a\nfile\u0027s owning uid, without simultaneously checking for CAP_FOWNER as\nwell, thus violating its semantics.\n[ XFS uses special macros and structures, and in general looked ...\nuntouchable, so we leave it alone -- but it has been looked over. ]\n\nThe (current-\u003efsuid !\u003d inode-\u003ei_uid) check in generic_permission() and\nexec_permission_lite() is left alone, because those operations are\ncovered by CAP_DAC_OVERRIDE and CAP_DAC_READ_SEARCH. Similarly operations\nfalling under the purview of CAP_CHOWN and CAP_LEASE are also left alone.\n\nSigned-off-by: Satyam Sharma \u003cssatyam@cse.iitk.ac.in\u003e\nCc: Al Viro \u003cviro@ftp.linux.org.uk\u003e\nAcked-by: Serge E. Hallyn \u003cserge@hallyn.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "a569425512253992cc64ebf8b6d00a62f986db3e",
      "tree": "7ea72c75c54697bddbad807af89cc549d7426a69",
      "parents": [
        "6dd4ac3b30b81b5bd0d628af1c89b7da689a38ea"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Tue Jul 17 04:04:28 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Jul 17 10:23:06 2007 -0700"
      },
      "message": "knfsd: exportfs: add exportfs.h header\n\ncurrently the export_operation structure and helpers related to it are in\nfs.h.  fs.h is already far too large and there are very few places needing the\nexport bits, so split them off into a separate header.\n\n[akpm@linux-foundation.org: fix cifs build]\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\nCc: Steven French \u003csfrench@us.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "add096909da63ef32d6766f6771c07c9f16c6ee5",
      "tree": "58594bcf68cbb6f777d5270d098ab8ca69cbaee3",
      "parents": [
        "e245befce7af0a1e1347079ed62695b059594bd4",
        "54c57dc3b6578356c0a428c767d4bf080254a2ee"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Jul 16 10:52:55 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Jul 16 10:52:55 2007 -0700"
      },
      "message": "Merge branch \u0027upstream-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/mfasheh/ocfs2\n\n* \u0027upstream-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/mfasheh/ocfs2: (32 commits)\n  [PATCH] ocfs2: zero_user_page conversion\n  ocfs2: Support xfs style space reservation ioctls\n  ocfs2: support for removing file regions\n  ocfs2: update truncate handling of partial clusters\n  ocfs2: btree support for removal of arbirtrary extents\n  ocfs2: Support creation of unwritten extents\n  ocfs2: support writing of unwritten extents\n  ocfs2: small cleanup of ocfs2_write_begin_nolock()\n  ocfs2: btree changes for unwritten extents\n  ocfs2: abstract btree growing calls\n  ocfs2: use all extent block suballocators\n  ocfs2: plug truncate into cached dealloc routines\n  ocfs2: simplify deallocation locking\n  ocfs2: harden buffer check during mapping of page blocks\n  ocfs2: shared writeable mmap\n  ocfs2: factor out write aops into nolock variants\n  ocfs2: rework ocfs2_buffered_write_cluster()\n  ocfs2: take ip_alloc_sem during entire truncate\n  ocfs2: Add \"preferred slot\" mount option\n  [KJ PATCH] Replacing memset(\u003caddr\u003e,0,PAGE_SIZE) with clear_page() in fs/ocfs2/dlm/dlmrecovery.c\n  ...\n"
    },
    {
      "commit": "7b595756ec1f49e0049a9e01a1298d53a7faaa15",
      "tree": "cd06687ab3e5c7a5a4ef91903dff207a18c4db76",
      "parents": [
        "dbde0fcf9f8f6d477af3c32d9979e789ee680cde"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Thu Jun 14 03:45:17 2007 +0900"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Wed Jul 11 16:09:06 2007 -0700"
      },
      "message": "sysfs: kill unnecessary attribute-\u003eowner\n\nsysfs is now completely out of driver/module lifetime game.  After\ndeletion, a sysfs node doesn\u0027t access anything outside sysfs proper,\nso there\u0027s no reason to hold onto the attribute owners.  Note that\noften the wrong modules were accounted for as owners leading to\naccessing removed modules.\n\nThis patch kills now unnecessary attribute-\u003eowner.  Note that with\nthis change, userland holding a sysfs node does not prevent the\nbacking module from being unloaded.\n\nFor more info regarding lifetime rule cleanup, please read the\nfollowing message.\n\n  http://article.gmane.org/gmane.linux.kernel/510293\n\n(tweaked by Greg to not delete the field just yet, to make it easier to\nmerge things properly.)\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nCc: Cornelia Huck \u003ccornelia.huck@de.ibm.com\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\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": "b25801038da5823bba1b5440a57ca68afc51b6bd",
      "tree": "3a6f10f8ddb3a7552630d60aabbb790d1b5a7a77",
      "parents": [
        "063c4561f52a74de686fe0ff2f96f4f54c9fecd2"
      ],
      "author": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Fri Mar 09 16:53:21 2007 -0800"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Tue Jul 10 17:32:09 2007 -0700"
      },
      "message": "ocfs2: Support xfs style space reservation ioctls\n\nWe re-use the RESVSP/UNRESVSP ioctls from xfs which allow the user to\nallocate and deallocate regions to a file without zeroing data or changing\ni_size.\n\nThough renamed, the structure passed in from user is identical to struct\nxfs_flock64. The three fields that are actually used right now are l_whence,\nl_start and l_len.\n\nThis should get ocfs2 immediate compatibility with userspace software using\nthe pre-existing xfs ioctls.\n\nSigned-off-by: Mark Fasheh \u003cmark.fasheh@oracle.com\u003e\n"
    },
    {
      "commit": "063c4561f52a74de686fe0ff2f96f4f54c9fecd2",
      "tree": "73a202c316df70bdfafa489d70e2863c5c5ea33a",
      "parents": [
        "35edec1d52c075975991471d624b33b9336226f2"
      ],
      "author": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Tue Jul 03 13:34:11 2007 -0700"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Tue Jul 10 17:32:08 2007 -0700"
      },
      "message": "ocfs2: support for removing file regions\n\nProvide an internal interface for the removal of arbitrary file regions.\n\nocfs2_remove_inode_range() takes a byte range within a file and will remove\nexisting extents within that range. Partial clusters will be zeroed so that\nany read from within the region will return zeros.\n\nSigned-off-by: Mark Fasheh \u003cmark.fasheh@oracle.com\u003e\n"
    },
    {
      "commit": "35edec1d52c075975991471d624b33b9336226f2",
      "tree": "4fc59b9d60826b8eb44bc5c1e558a15bea171193",
      "parents": [
        "d0c7d7082ee1ec4f95ee57bf86ed39d1a27c4037"
      ],
      "author": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Fri Jul 06 14:41:18 2007 -0700"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Tue Jul 10 17:32:07 2007 -0700"
      },
      "message": "ocfs2: update truncate handling of partial clusters\n\nThe partial cluster zeroing code used during truncate usually assumes that\nthe rightmost byte in the range to be zeroed lies on a cluster boundary.\nThis makes sense for truncate, but punching holes might require zeroing on\nnon-aligned rightmost boundaries.\n\nSigned-off-by: Mark Fasheh \u003cmark.fasheh@oracle.com\u003e\n"
    },
    {
      "commit": "d0c7d7082ee1ec4f95ee57bf86ed39d1a27c4037",
      "tree": "a4b25631aca30589a4227b42638ee5d300bf4585",
      "parents": [
        "2ae99a60374f360ba07037ebbf33d19b89ac43a6"
      ],
      "author": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Tue Jul 03 13:27:22 2007 -0700"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Tue Jul 10 17:32:05 2007 -0700"
      },
      "message": "ocfs2: btree support for removal of arbirtrary extents\n\nAdd code to the btree paths to support the removal of arbitrary regions\nwithin an existing extent. With proper higher level support this can be used\nto \"punch holes\" in a file. Truncate (a special case of hole punching) could\nalso be converted to use these methods.\n\nSigned-off-by: Mark Fasheh \u003cmark.fasheh@oracle.com\u003e\n"
    },
    {
      "commit": "2ae99a60374f360ba07037ebbf33d19b89ac43a6",
      "tree": "ce83db2022a28deb8c402fca7c08cf924ee8e608",
      "parents": [
        "b27b7cbcf12a1bfff1ed68a73ddd7d11edc20daf"
      ],
      "author": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Fri Mar 09 16:43:28 2007 -0800"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Tue Jul 10 17:32:04 2007 -0700"
      },
      "message": "ocfs2: Support creation of unwritten extents\n\nThis can now be trivially supported with re-use of our existing extend code.\n\nocfs2_allocate_unwritten_extents() takes a start offset and a byte length\nand iterates over the inode, adding extents (marked as unwritten) until len\nis reached. Existing extents are skipped over.\n\nSigned-off-by: Mark Fasheh \u003cmark.fasheh@oracle.com\u003e\n"
    },
    {
      "commit": "b27b7cbcf12a1bfff1ed68a73ddd7d11edc20daf",
      "tree": "a25a8ca272e7f0ef01987db3b3795a49e0ccb51f",
      "parents": [
        "0d172baa5586071ae0ae0c07356a378fdbedecdb"
      ],
      "author": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Mon Jun 18 11:22:56 2007 -0700"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Tue Jul 10 17:32:03 2007 -0700"
      },
      "message": "ocfs2: support writing of unwritten extents\n\nUpdate the write code to detect when the user is asking to write to an\nunwritten extent. Like writing to a hole, we must zero the region between\nthe write and the cluster boundaries. Most of the existing cluster zeroing\nlogic can be re-used with some additional checks for the unwritten flag on\nextent records.\n\nSigned-off-by: Mark Fasheh \u003cmark.fasheh@oracle.com\u003e\n"
    },
    {
      "commit": "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": "328d5752e1259dfb29b7e65f6c2d145fddbaa750",
      "tree": "08198271a0382cafcc4c0de2fc1efcf35cb400af",
      "parents": [
        "c3afcbb34426a9291e4c038540129053a72c3cd8"
      ],
      "author": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Mon Jun 18 10:48:04 2007 -0700"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Tue Jul 10 17:32:00 2007 -0700"
      },
      "message": "ocfs2: btree changes for unwritten extents\n\nWrites to a region marked as unwritten might result in a record split or\nmerge. We can support splits by making minor changes to the existing insert\ncode. Merges require left rotations which mostly re-use right rotation\nsupport functions.\n\nSigned-off-by: Mark Fasheh \u003cmark.fasheh@oracle.com\u003e\n"
    },
    {
      "commit": "c3afcbb34426a9291e4c038540129053a72c3cd8",
      "tree": "39630188c8fe69dbb6be9f4c3a5b1f9d61cf7906",
      "parents": [
        "1f6697d072e6fd0b332a4301c21060dcb89bd623"
      ],
      "author": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Tue May 29 14:28:51 2007 -0700"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Tue Jul 10 17:31:58 2007 -0700"
      },
      "message": "ocfs2: abstract btree growing calls\n\nThe top level calls and logic for growing a tree can easily be abstracted\nout of ocfs2_insert_extent() into a seperate function - ocfs2_grow_tree().\n\nThis allows future code to easily grow btrees when needed.\n\nSigned-off-by: Mark Fasheh \u003cmark.fasheh@oracle.com\u003e\n"
    },
    {
      "commit": "1f6697d072e6fd0b332a4301c21060dcb89bd623",
      "tree": "26fd1121b851433856ee128810ab425408b19f4f",
      "parents": [
        "59a5e416d1ab543a5248a2b34d83202c4d55d132"
      ],
      "author": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Mon Jun 25 14:53:33 2007 -0700"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Tue Jul 10 17:31:56 2007 -0700"
      },
      "message": "ocfs2: use all extent block suballocators\n\nNow that we have a method to deallocate blocks from them, each node should\nallocate extent blocks from their local suballocator file.\n\nSigned-off-by: Mark Fasheh \u003cmark.fasheh@oracle.com\u003e\n"
    },
    {
      "commit": "59a5e416d1ab543a5248a2b34d83202c4d55d132",
      "tree": "3e97ce48774d26e8a927edd839dd54a7d68f8c7d",
      "parents": [
        "2b604351bc99b4e4504758cbac369b660b71de0b"
      ],
      "author": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Fri Jun 22 15:52:36 2007 -0700"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Tue Jul 10 17:31:55 2007 -0700"
      },
      "message": "ocfs2: plug truncate into cached dealloc routines\n\nSigned-off-by: Mark Fasheh \u003cmark.fasheh@oracle.com\u003e\n"
    },
    {
      "commit": "2b604351bc99b4e4504758cbac369b660b71de0b",
      "tree": "293fa51f1ae9d19db0d09c721cc8433303cc8974",
      "parents": [
        "bce997682fe3121516f5a20cf7bad2e6029ba018"
      ],
      "author": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Fri Jun 22 15:45:27 2007 -0700"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Tue Jul 10 17:31:54 2007 -0700"
      },
      "message": "ocfs2: simplify deallocation locking\n\nDeallocation of suballocator blocks, most notably extent blocks, might\ninvolve multiple suballocator inodes.\n\nThe locking for this can get extremely complicated, especially when the\nsuballocator inodes to delete from aren\u0027t known until deep within an\nunrelated codepath.\n\nImplement a simple scheme for recording the blocks to be unlinked so that\nthe actual deallocation can be done in a context which won\u0027t deadlock.\n\nSigned-off-by: Mark Fasheh \u003cmark.fasheh@oracle.com\u003e\n"
    },
    {
      "commit": "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": "2e89b2e48e1da09ed483f195968c9172aa95b5e2",
      "tree": "3e81f49c13134ebcbf4572474ad47b65e5ecffba",
      "parents": [
        "baf4661a8225d3a39622b795a8db0e6aa845c1ec"
      ],
      "author": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Wed May 09 13:40:18 2007 -0700"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Tue Jul 10 17:19:57 2007 -0700"
      },
      "message": "ocfs2: take ip_alloc_sem during entire truncate\n\nUse of the alloc sem during truncate was too narrow - we want to protect\nthe i_size change and page truncation against mmap now.\n\nSigned-off-by: Mark Fasheh \u003cmark.fasheh@oracle.com\u003e\n"
    },
    {
      "commit": "baf4661a8225d3a39622b795a8db0e6aa845c1ec",
      "tree": "bb61d2dbd08d6fa427f89325177f83f4ceb996a5",
      "parents": [
        "5fb0f7f010ba07e373c30c3e99b0efd868c6c977"
      ],
      "author": {
        "name": "Sunil Mushran",
        "email": "Sunil.Mushran@oracle.com",
        "time": "Mon Jun 18 17:00:24 2007 -0700"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Tue Jul 10 17:19:54 2007 -0700"
      },
      "message": "ocfs2: Add \"preferred slot\" mount option\n\nocfs2 will attempt to assign the node the slot# provided in the mount\noption. Failure to assign the preferred slot is not an error. This small\nfeature can be useful for automated testing.\n\nSigned-off-by: Sunil Mushran \u003csunil.mushran@oracle.com\u003e\nSigned-off-by: Mark Fasheh \u003cmark.fasheh@oracle.com\u003e\n"
    },
    {
      "commit": "5fb0f7f010ba07e373c30c3e99b0efd868c6c977",
      "tree": "41c18e9921c409d939b6557ffa16411d44b64b18",
      "parents": [
        "800deef3f6f87fee3a2e89cf7237a1f20c1a78d7"
      ],
      "author": {
        "name": "Shani Moideen",
        "email": "shani.moideen@wipro.com",
        "time": "Mon Jun 11 09:38:19 2007 +0530"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Tue Jul 10 17:19:52 2007 -0700"
      },
      "message": "[KJ PATCH] Replacing memset(\u003caddr\u003e,0,PAGE_SIZE) with clear_page() in fs/ocfs2/dlm/dlmrecovery.c\n\nReplacing memset(\u003caddr\u003e,0,PAGE_SIZE) with clear_page() in\nfs/ocfs2/dlm/dlmrecovery.c\n\nSigned-off-by: Shani Moideen \u003cshani.moideen@wipro.com\u003e\nSigned-off-by: Mark Fasheh \u003cmark.fasheh@oracle.com\u003e\n"
    },
    {
      "commit": "800deef3f6f87fee3a2e89cf7237a1f20c1a78d7",
      "tree": "adc036024ba3ee6e04fe8c9cdd3b9abb4a2af14d",
      "parents": [
        "e6df3a663a5d1ee68aeae7f007197f272700d9cc"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Thu May 17 16:03:13 2007 +0200"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Tue Jul 10 17:19:49 2007 -0700"
      },
      "message": "[PATCH] ocfs2: use list_for_each_entry where benefical\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Mark Fasheh \u003cmark.fasheh@oracle.com\u003e\n"
    },
    {
      "commit": "e6df3a663a5d1ee68aeae7f007197f272700d9cc",
      "tree": "e484382e0ae46553febd3dd56c0f8a9e882ec71b",
      "parents": [
        "16c6a4f24de2933b26477ad5dfb71f518220d641"
      ],
      "author": {
        "name": "Joel Becker",
        "email": "joel.becker@oracle.com",
        "time": "Tue Feb 06 15:45:39 2007 -0800"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Tue Jul 10 17:19:46 2007 -0700"
      },
      "message": "ocfs2: Wake up a starting region if it gets killed in the background.\n\nTell o2cb_region_dev_write() to wake up if rmdir(2) happens on the\nheartbeat region while it is starting up.  Then o2hb_region_dev_write()\ncan check to see if it is alive and act accordingly.  This prevents a hang\n(not being woken) and a crash (if it\u0027s woken by a signal).\n\nSigned-off-by: Joel Becker \u003cjoel.becker@oracle.com\u003e\nSigned-off-by: Mark Fasheh \u003cmark.fasheh@oracle.com\u003e\n"
    },
    {
      "commit": "16c6a4f24de2933b26477ad5dfb71f518220d641",
      "tree": "dd6e1efd95d00f84a7132b8ada3314bcea730d68",
      "parents": [
        "14829422be6d6b6721f61b1e749acf5a9cb664d8"
      ],
      "author": {
        "name": "Joel Becker",
        "email": "joel.becker@oracle.com",
        "time": "Tue Jun 19 11:34:03 2007 -0700"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Tue Jul 10 17:19:43 2007 -0700"
      },
      "message": "ocfs2: live heartbeat depends on the local node configuration\n\nRemoving the local node configuration out from underneath a running\nheartbeat is \"bad\".  Provide an API in the ocfs2 nodemanager to request\na configfs dependancy on the local node, then use it in heartbeat.\n\nSigned-off-by: Joel Becker \u003cjoel.becker@oracle.com\u003e\nSigned-off-by: Mark Fasheh \u003cmark.fasheh@oracle.com\u003e\n"
    },
    {
      "commit": "14829422be6d6b6721f61b1e749acf5a9cb664d8",
      "tree": "4a8c931b431653aa5e35523f43ebcddffa8641b8",
      "parents": [
        "631d1febab8e546e3bb800bdfe2c212b8adf87de"
      ],
      "author": {
        "name": "Joel Becker",
        "email": "joel.becker@oracle.com",
        "time": "Thu Jun 14 21:40:49 2007 -0700"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Tue Jul 10 17:19:40 2007 -0700"
      },
      "message": "ocfs2: Depend on configfs heartbeat items.\n\nocfs2 mounts require a heartbeat region.  Use the new configfs_depend_item()\nfacility to actually depend on them so they can\u0027t go away from under us.\n\nFirst, teach cluster/nodemanager.c to depend an item on the o2cb subsystem.\nThen teach o2hb_register_callbacks to take a UUID and depend on the\nappropriate region.  Finally, teach all users of o2hb to pass a UUID or\nNULL if they don\u0027t require a pin.\n\nSigned-off-by: Joel Becker \u003cjoel.becker@oracle.com\u003e\nSigned-off-by: Mark Fasheh \u003cmark.fasheh@oracle.com\u003e\n"
    },
    {
      "commit": "e6bd07aee739566803425acdbf5cdb29919164e1",
      "tree": "e085a5065d06af2b7c0cab8bcd8fb4eb289344be",
      "parents": [
        "3fe6c5ce1176cf661dbe71fc43b627c1a742a89a"
      ],
      "author": {
        "name": "Joel Becker",
        "email": "joel.becker@oracle.com",
        "time": "Fri Jul 06 23:33:17 2007 -0700"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Tue Jul 10 17:10:56 2007 -0700"
      },
      "message": "configfs: Convert subsystem semaphore to mutex\n\nConvert the su_sem member of struct configfs_subsystem to a struct\nmutex, as that\u0027s what it is. Also convert all the users and update\nDocumentation/configfs.txt and Documentation/configfs_example.c\naccordingly.\n\n[ Conflict in fs/dlm/config.c with commit\n  3168b0780d06ace875696f8a648d04d6089654e5 manually resolved. --Mark ]\n\nInspired-by: Satyam Sharma \u003cssatyam@cse.iitk.ac.in\u003e\nSigned-off-by: Joel Becker \u003cjoel.becker@oracle.com\u003e\nSigned-off-by: Mark Fasheh \u003cmark.fasheh@oracle.com\u003e\n"
    },
    {
      "commit": "cac36bb06efe4880234524e117e0e712b10b1f16",
      "tree": "5220c6f2185cee1c6934cf8048975beac5bc94bb",
      "parents": [
        "d96e6e71647846e0dab097efd9b8bf3a3a556dca"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Thu Jun 14 13:10:48 2007 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Jul 10 08:04:15 2007 +0200"
      },
      "message": "pipe: change the -\u003epin() operation to -\u003econfirm()\n\nThe name \u0027pin\u0027 was badly chosen, it doesn\u0027t pin a pipe buffer\nin the most commonly used sense in the kernel. So change the\nname to \u0027confirm\u0027, after debating this issue with Hugh\nDickins a bit.\n\nA good return from -\u003econfirm() means that the buffer is really\nthere, and that the contents are good.\n\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "d6b29d7cee064f28ca097e906de7453541351095",
      "tree": "16775787df194cb45b4ac712da1c240f48cae96e",
      "parents": [
        "ebf9909343392c929d9943c04f421cd42e03b530"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Mon Jun 04 09:59:47 2007 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Jul 10 08:04:14 2007 +0200"
      },
      "message": "splice: divorce the splice structure/function definitions from the pipe header\n\nWe need to move even more stuff into the header so that folks can use\nthe splice_to_pipe() implementation instead of open-coding a lot of\npipe knowledge (see relay implementation), so move to our own header\nfile finally.\n\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "5ffc4ef45b3b0a57872f631b4e4ceb8ace0d7496",
      "tree": "437ec32a58ac5e4794565b2bbb3da6611f0d6a04",
      "parents": [
        "534f2aaa6ab07cd71164180bc958a7dcde41db11"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Fri Jun 01 11:49:19 2007 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Jul 10 08:04:13 2007 +0200"
      },
      "message": "sendfile: remove .sendfile from filesystems that use generic_file_sendfile()\n\nThey can use generic_file_splice_read() instead. Since sys_sendfile() now\nprefers that, there should be no change in behaviour.\n\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "6a14b90bb6bc7cd83e2a444bf457a2ea645cbfe7",
      "tree": "c6f2788cbafd29bdf520c0b2a232818f4d62ec9d",
      "parents": [
        "c66ab6fa705e1b2887a6d9246b798bdc526839e2"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Thu Jun 14 13:08:55 2007 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Jul 10 08:04:12 2007 +0200"
      },
      "message": "vmsplice: add vmsplice-to-user support\n\nA bit of a cheat, it actually just copies the data to userspace. But\nthis makes the interface nice and symmetric and enables people to build\non splice, with room for future improvement in performance.\n\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "c66ab6fa705e1b2887a6d9246b798bdc526839e2",
      "tree": "764ece0ee44f937012dfaa1657709da548ed5b16",
      "parents": [
        "71780f59e127bb281a9302d430495ca9586c14e7"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Jun 12 21:17:17 2007 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Jul 10 08:04:12 2007 +0200"
      },
      "message": "splice: abstract out actor data\n\nFor direct splicing (or private splicing), the output may not be a file.\nSo abstract out the handling into a specified actor function and put\nthe data in the splice_desc structure earlier, so we can build on top\nof that.\n\nThis is the first step in better splice handling for drivers, and also\nfor implementing vmsplice _to_ user memory.\n\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "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": "59be7dc97bacc0fd8e22f0be6e2aebb5c9b4ff47",
      "tree": "61a194a1225a19c0fd72170297106619603d8049",
      "parents": [
        "5ecd3100e695228ac5e0ce0e325e252c0f11806f"
      ],
      "author": {
        "name": "Tiger Yang",
        "email": "tiger.yang@oracle.com",
        "time": "Mon Jun 04 10:31:08 2007 +0800"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Wed Jun 06 16:41:08 2007 -0700"
      },
      "message": "ocfs2: Fix masklog breakage\n\nSome of the sysfs changes inadvertantly broke the simple runtime debug log\nfiltering employed in ocfs2. Fix this by properly exporting the masklog\ncategory filter names.\n\nSigned-off-by: Tiger Yang \u003ctiger.yang@oracle.com\u003e\nSigned-off-by: Mark Fasheh \u003cmark.fasheh@oracle.com\u003e\n"
    },
    {
      "commit": "d9b08b9efece1f397143378938e626d0de29e911",
      "tree": "d404fd44f53d535d96379d56d5520c6f5acd604c",
      "parents": [
        "8fccfc829a66b8b879c6672940523a402a786ce1"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Fri May 18 13:12:40 2007 +0200"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Fri May 25 11:06:37 2007 -0700"
      },
      "message": "[PATCH] ocfs2: use generic_segment_checks\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Mark Fasheh \u003cmark.fasheh@oracle.com\u003e\n"
    },
    {
      "commit": "8fccfc829a66b8b879c6672940523a402a786ce1",
      "tree": "c36ea2c8b9de97102397a755bf10cb3997461071",
      "parents": [
        "5c3c6bb7709bf2bf4132750124879b3d89183e46"
      ],
      "author": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Wed May 09 17:34:26 2007 -0700"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Fri May 25 11:00:46 2007 -0700"
      },
      "message": "ocfs2: fix inode leak\n\nWe weren\u0027t cleaning up our inode reference on error in\nocfs2_reserve_local_alloc_bits(). Add a check for error return and iput() if\nneed be. Move the code to set the alloc context inode info to the end of the\nfunction so we don\u0027t have any possibility of passing back a bad pointer.\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": "1024c902abdcbd2425aa850d7ef04e013ffb35f0",
      "tree": "7071322e8a1c2dfddf9b8fe3ebd758400ae970fe",
      "parents": [
        "e9dfc0b2bc42761410e8db6c252c6c5889e178b8"
      ],
      "author": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Mon May 14 11:39:40 2007 -0700"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Fri May 25 11:00:31 2007 -0700"
      },
      "message": "ocfs2: unmap_mapping_range() in ocfs2_truncate()\n\nWe weren\u0027t calling this before, but since ocfs2 handles the entire truncate\noperation, we should.\n\nSigned-off-by: Mark Fasheh \u003cmark.fasheh@oracle.com\u003e\n"
    },
    {
      "commit": "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": "a35afb830f8d71ec211531aeb9a621b09a2efb39",
      "tree": "198280081e1f8b2f6c450742a5075cc7904a3d58",
      "parents": [
        "5577bd8a85c8b7643a241789b14fafa9c8a6c7db"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@sgi.com",
        "time": "Wed May 16 22:10:57 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu May 17 05:23:04 2007 -0700"
      },
      "message": "Remove SLAB_CTOR_CONSTRUCTOR\n\nSLAB_CTOR_CONSTRUCTOR is always specified. No point in checking it.\n\nSigned-off-by: Christoph Lameter \u003cclameter@sgi.com\u003e\nCc: David Howells \u003cdhowells@redhat.com\u003e\nCc: Jens Axboe \u003cjens.axboe@oracle.com\u003e\nCc: Steven French \u003csfrench@us.ibm.com\u003e\nCc: Michael Halcrow \u003cmhalcrow@us.ibm.com\u003e\nCc: OGAWA Hirofumi \u003chirofumi@mail.parknet.co.jp\u003e\nCc: Miklos Szeredi \u003cmiklos@szeredi.hu\u003e\nCc: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\nCc: Roman Zippel \u003czippel@linux-m68k.org\u003e\nCc: David Woodhouse \u003cdwmw2@infradead.org\u003e\nCc: Dave Kleikamp \u003cshaggy@austin.ibm.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: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Christoph Hellwig \u003chch@lst.de\u003e\nCc: Jan Kara \u003cjack@ucw.cz\u003e\nCc: David Chinner \u003cdgc@sgi.com\u003e\nCc: \"David S. Miller\" \u003cdavem@davemloft.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "c4a7f5eb5f6a02dcc3a35e47c37c3d221ebc1cc2",
      "tree": "cf83d46aedc25d01422627e315c2f8a60adb0266",
      "parents": [
        "6f076f5dd9d227cea2704061048894b00cc0d62b"
      ],
      "author": {
        "name": "Randy Dunlap",
        "email": "randy.dunlap@oracle.com",
        "time": "Thu May 10 03:15:30 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu May 10 09:26:52 2007 -0700"
      },
      "message": "ocfs2: kobject/kset foobar\n\nFix gcc warning and Oops that it causes:\n\nfs/ocfs2/cluster/masklog.c:161: warning: assignment from incompatible pointer type\n[ 2776.204120] OCFS2 Node Manager 1.3.3\n[ 2776.211729] BUG: spinlock bad magic on CPU#0, modprobe/4424\n[ 2776.214269]  lock: ffff810021c8fe18, .magic: ffffffff, .owner: /6394416, .owner_cpu: 0\n[ 2776.217864] [ 2776.217865] Call Trace:\n[ 2776.219662]  [\u003cffffffff803426c8\u003e] spin_bug+0x9e/0xe9\n[ 2776.221921]  [\u003cffffffff803427bf\u003e] _raw_spin_lock+0x23/0xf9\n[ 2776.224417]  [\u003cffffffff8051acf4\u003e] _spin_lock+0x9/0xb\n[ 2776.226676]  [\u003cffffffff8033c3b1\u003e] kobject_shadow_add+0x98/0x1ac\n[ 2776.229367]  [\u003cffffffff8033c4d0\u003e] kobject_add+0xb/0xd\n[ 2776.231665]  [\u003cffffffff8033c4df\u003e] kset_add+0xd/0xf\n[ 2776.233845]  [\u003cffffffff8033c5a6\u003e] kset_register+0x23/0x28\n[ 2776.236309]  [\u003cffffffff8808ccb7\u003e] :ocfs2_nodemanager:mlog_sys_init+0x68/0x6d\n[ 2776.239518]  [\u003cffffffff8808ccee\u003e] :ocfs2_nodemanager:o2cb_sys_init+0x32/0x4a\n[ 2776.242726]  [\u003cffffffff880b80a6\u003e] :ocfs2_nodemanager:init_o2nm+0xa6/0xd5\n[ 2776.245772]  [\u003cffffffff8025266c\u003e] sys_init_module+0x1471/0x15d2\n[ 2776.248465]  [\u003cffffffff8033f250\u003e] simple_strtoull+0x0/0xdc\n[ 2776.250959]  [\u003cffffffff8020948e\u003e] system_call+0x7e/0x83\n\nSigned-off-by: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nAcked-by: Mark Fasheh \u003cmark.fasheh@oracle.com\u003e\nCc: Greg KH \u003cgreg@kroah.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "e63340ae6b6205fef26b40a75673d1c9c0c8bb90",
      "tree": "8d3212705515edec73c3936bb9e23c71d34a7b41",
      "parents": [
        "04c9167f91e309c9c4ea982992aa08e83b2eb42e"
      ],
      "author": {
        "name": "Randy Dunlap",
        "email": "randy.dunlap@oracle.com",
        "time": "Tue May 08 00:28:08 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue May 08 11:15:07 2007 -0700"
      },
      "message": "header cleaning: don\u0027t include smp_lock.h when not used\n\nRemove includes of \u003clinux/smp_lock.h\u003e where it is not used/needed.\nSuggested by Al Viro.\n\nBuilds cleanly on x86_64, i386, alpha, ia64, powerpc, sparc,\nsparc64, and arm (all 59 defconfigs).\n\nSigned-off-by: Randy Dunlap \u003crandy.dunlap@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": "50953fe9e00ebbeffa032a565ab2f08312d51a87",
      "tree": "9f95f56f0b51600959a76cd88ce17f6e9c7a98a3",
      "parents": [
        "4b1d89290b62bb2db476c94c82cf7442aab440c8"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@sgi.com",
        "time": "Sun May 06 14:50:16 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon May 07 12:12:57 2007 -0700"
      },
      "message": "slab allocators: Remove SLAB_DEBUG_INITIAL flag\n\nI have never seen a use of SLAB_DEBUG_INITIAL.  It is only supported by\nSLAB.\n\nI think its purpose was to have a callback after an object has been freed\nto verify that the state is the constructor state again?  The callback is\nperformed before each freeing of an object.\n\nI would think that it is much easier to check the object state manually\nbefore the free.  That also places the check near the code object\nmanipulation of the object.\n\nAlso the SLAB_DEBUG_INITIAL callback is only performed if the kernel was\ncompiled with SLAB debugging on.  If there would be code in a constructor\nhandling SLAB_DEBUG_INITIAL then it would have to be conditional on\nSLAB_DEBUG otherwise it would just be dead code.  But there is no such code\nin the kernel.  I think SLUB_DEBUG_INITIAL is too problematic to make real\nuse of, difficult to understand and there are easier ways to accomplish the\nsame effect (i.e.  add debug code before kfree).\n\nThere is a related flag SLAB_CTOR_VERIFY that is frequently checked to be\nclear in fs inode caches.  Remove the pointless checks (they would even be\npointless without removeal of SLAB_DEBUG_INITIAL) from the fs constructors.\n\nThis is the last slab flag that SLUB did not support.  Remove the check for\nunimplemented flags from SLUB.\n\nSigned-off-by: Christoph Lameter \u003cclameter@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    }
  ],
  "next": "6fe6900e1e5b6fa9e5c59aa5061f244fe3f467e2"
}
