)]}'
{
  "log": [
    {
      "commit": "d02f00cc057809d96c044cc72d5b9809d59f7d49",
      "tree": "44a6d81ecf9fb4b5aa91c0501a8da2ee36890a38",
      "parents": [
        "ec20cec7a351584ca6c70ead012e73d61f9a8e04"
      ],
      "author": {
        "name": "Mark Fasheh",
        "email": "mfasheh@suse.com",
        "time": "Mon Dec 07 13:10:48 2009 -0800"
      },
      "committer": {
        "name": "Joel Becker",
        "email": "joel.becker@oracle.com",
        "time": "Wed May 05 18:17:30 2010 -0700"
      },
      "message": "ocfs2: allocation reservations\n\nThis patch improves Ocfs2 allocation policy by allowing an inode to\nreserve a portion of the local alloc bitmap for itself. The reserved\nportion (allocation window) is advisory in that other allocation\nwindows might steal it if the local alloc bitmap becomes\nfull. Otherwise, the reservations are honored and guaranteed to be\nfree. When the local alloc window is moved to a different portion of\nthe bitmap, existing reservations are discarded.\n\nReservation windows are represented internally by a red-black\ntree. Within that tree, each node represents the reservation window of\none inode. An LRU of active reservations is also maintained. When new\ndata is written, we allocate it from the inodes window. When all bits\nin a window are exhausted, we allocate a new one as close to the\nprevious one as possible. Should we not find free space, an existing\nreservation is pulled off the LRU and cannibalized.\n\nSigned-off-by: Mark Fasheh \u003cmfasheh@suse.com\u003e\n"
    },
    {
      "commit": "34a9dd7e29e9129fec40c645a03f1bbbe810e771",
      "tree": "43a149d9f9ea913d029e22aae066a6d9a9fc9f15",
      "parents": [
        "65b6f3403431cd43ef7b0dab679a50f770124a65"
      ],
      "author": {
        "name": "Joel Becker",
        "email": "joel.becker@oracle.com",
        "time": "Thu Jan 28 15:00:49 2010 -0800"
      },
      "committer": {
        "name": "Joel Becker",
        "email": "joel.becker@oracle.com",
        "time": "Fri Feb 26 15:41:14 2010 -0800"
      },
      "message": "ocfs2_dlmfs: Move to its own directory\n\nWe\u0027re going to remove the tie between ocfs2_dlmfs and o2dlm.\nocfs2_dlmfs doesn\u0027t belong in the fs/ocfs2/dlm directory anymore.  Here\nwe move it to fs/ocfs2/dlmfs.\n\nSigned-off-by: Joel Becker \u003cjoel.becker@oracle.com\u003e\n"
    },
    {
      "commit": "e6aabe0cac14a495d42f629a803c5e221089bae8",
      "tree": "39972946024d893ecbdcdbb30447bdb5b9fc5201",
      "parents": [
        "2f48d593b6ceb7bb63d34124ceba77d33be298cf"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Thu Oct 15 14:54:03 2009 +0200"
      },
      "committer": {
        "name": "Joel Becker",
        "email": "joel.becker@oracle.com",
        "time": "Wed Oct 28 23:05:57 2009 -0700"
      },
      "message": "ocfs2: Always include ACL support\n\nTo become consistent with filesystems such as XFS or BTRFS, make posix\nACLs always available. This also reduces possibility of\nmisconfiguration on admin\u0027s side.\n\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\nSigned-off-by: Joel Becker \u003cjoel.becker@oracle.com\u003e\n"
    },
    {
      "commit": "f2c870e3b12e38da6d9b5b17c4c8ae56a0ed68e4",
      "tree": "23aabcc02bc4437c975626012248a7fad3a307de",
      "parents": [
        "93c97087a646429f4dc0d73298d64674ddd5cde8"
      ],
      "author": {
        "name": "Tao Ma",
        "email": "tao.ma@oracle.com",
        "time": "Tue Aug 18 11:19:26 2009 +0800"
      },
      "committer": {
        "name": "Joel Becker",
        "email": "joel.becker@oracle.com",
        "time": "Tue Sep 22 20:09:26 2009 -0700"
      },
      "message": "ocfs2: Add ocfs2_read_refcount_block.\n\nSigned-off-by: Tao Ma \u003ctao.ma@oracle.com\u003e\n"
    },
    {
      "commit": "70ad1ba7b48364d758a112df0823edc5ca6632aa",
      "tree": "0ec30f4a812c1e66e3e3e7457eca1db8a451549a",
      "parents": [
        "ab552d54673f262d7f70014003d3928d29270f22"
      ],
      "author": {
        "name": "Joel Becker",
        "email": "joel.becker@oracle.com",
        "time": "Thu Oct 16 17:54:25 2008 -0700"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mfasheh@suse.com",
        "time": "Mon Jan 05 08:40:31 2009 -0800"
      },
      "message": "ocfs2: Add the underlying blockcheck code.\n\nThis is the code that computes crc32 and ecc for ocfs2 metadata blocks.\nThere are high-level functions that check whether the filesystem has the\necc feature, mid-level functions that work on a single block or array of\nbuffer_heads, and the low-level ecc hamming code that can handle\nmultiple buffers like crc32_le().\n\nIt\u0027s not hooked up to the filesystem yet.\n\nSigned-off-by: Joel Becker \u003cjoel.becker@oracle.com\u003e\nCc: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Mark Fasheh \u003cmfasheh@suse.com\u003e\n"
    },
    {
      "commit": "9e33d69f553aaf11377307e8d6f82deb3385e351",
      "tree": "ded5f48f6cf82db976f30d5f0f4d44b941f60f44",
      "parents": [
        "bbbd0eb34bf801dee01e345785959a75258f6567"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Mon Aug 25 19:56:50 2008 +0200"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mfasheh@suse.com",
        "time": "Mon Jan 05 08:40:23 2009 -0800"
      },
      "message": "ocfs2: Implementation of local and global quota file handling\n\nFor each quota type each node has local quota file. In this file it stores\nchanges users have made to disk usage via this node. Once in a while this\ninformation is synced to global file (and thus with other nodes) so that\nlimits enforcement at least aproximately works.\n\nGlobal quota files contain all the information about usage and limits. It\u0027s\nmostly handled by the generic VFS code (which implements a trie of structures\ninside a quota file). We only have to provide functions to convert structures\nfrom on-disk format to in-memory one. We also have to provide wrappers for\nvarious quota functions starting transactions and acquiring necessary cluster\nlocks before the actual IO is really started.\n\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\nSigned-off-by: Mark Fasheh \u003cmfasheh@suse.com\u003e\n"
    },
    {
      "commit": "929fb014e041c6572c5e8c3686f1e32742b5b953",
      "tree": "149328875787dab63ec873cfa06364f4a23ac06d",
      "parents": [
        "4e3e9d027f63488e676bf7700ec515a192e54f69"
      ],
      "author": {
        "name": "Tiger Yang",
        "email": "tiger.yang@oracle.com",
        "time": "Fri Nov 14 11:17:04 2008 +0800"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mfasheh@suse.com",
        "time": "Mon Jan 05 08:34:20 2009 -0800"
      },
      "message": "ocfs2: add POSIX ACL API\n\nThis patch adds POSIX ACL(access control lists) APIs in ocfs2. We convert\nstruct posix_acl to many ocfs2_acl_entry and regard them as an extended\nattribute entry.\n\nSigned-off-by: Tiger Yang \u003ctiger.yang@oracle.com\u003e\nSigned-off-by: Mark Fasheh \u003cmfasheh@suse.com\u003e\n"
    },
    {
      "commit": "99219aea68b5bff4f182858372b43181ad3bdb34",
      "tree": "fbe3c16322ecc658e2c432dc7700bb1b19d00d54",
      "parents": [
        "40daa16a3441abe822bfcc748150116a77aee2ea"
      ],
      "author": {
        "name": "Mark Fasheh",
        "email": "mfasheh@suse.com",
        "time": "Tue Oct 07 14:52:59 2008 -0700"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mfasheh@suse.com",
        "time": "Mon Oct 13 17:02:44 2008 -0700"
      },
      "message": "ocfs2: Move trusted and user attribute support into xattr.c\n\nPer Christoph Hellwig\u0027s suggestion - don\u0027t split these up. It\u0027s not like we\ngained much by having the two tiny files around.\n\nSigned-off-by: Mark Fasheh \u003cmfasheh@suse.com\u003e\n"
    },
    {
      "commit": "cf1d6c763fbcb115263114302485ad17e7933d87",
      "tree": "85717dc9d20b7ac1e31b683653933f2d30099f44",
      "parents": [
        "fdd77704a8b4666a32120fcd1e4a9fedaf3263d8"
      ],
      "author": {
        "name": "Tiger Yang",
        "email": "tiger.yang@oracle.com",
        "time": "Mon Aug 18 17:11:00 2008 +0800"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mfasheh@suse.com",
        "time": "Mon Oct 13 16:57:02 2008 -0700"
      },
      "message": "ocfs2: Add extended attribute support\n\nThis patch implements storing extended attributes both in inode or a single\nexternal block. We only store EA\u0027s in-inode when blocksize \u003e 512 or that\ninode block has free space for it. When an EA\u0027s value is larger than 80\nbytes, we will store the value via b-tree outside inode or block.\n\nSigned-off-by: Tiger Yang \u003ctiger.yang@oracle.com\u003e\nSigned-off-by: Mark Fasheh \u003cmfasheh@suse.com\u003e\n"
    },
    {
      "commit": "f56654c435c06f2b2bd5751889b1a08a3add7d6c",
      "tree": "b186d68aedc5dda7afe435f5a68c03937ae382ff",
      "parents": [
        "ac11c827192272eabb68b8f4cf844066461d9690"
      ],
      "author": {
        "name": "Tao Ma",
        "email": "tao.ma@oracle.com",
        "time": "Mon Aug 18 17:38:48 2008 +0800"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mfasheh@suse.com",
        "time": "Mon Oct 13 16:57:01 2008 -0700"
      },
      "message": "ocfs2: Add extent tree operation for xattr value btrees\n\nAdd some thin wrappers around ocfs2_insert_extent() for each of the 3\ndifferent btree types, ocfs2_inode_insert_extent(),\nocfs2_xattr_value_insert_extent() and ocfs2_xattr_tree_insert_extent(). The\nlast is for the xattr index btree, which will be used in a followup patch.\n\nAll the old callers in file.c etc will call ocfs2_dinode_insert_extent(),\nwhile the other two handle the xattr issue. And the init of extent tree are\nhandled by these functions.\n\nWhen storing xattr value which is too large, we will allocate some clusters\nfor it and here ocfs2_extent_list and ocfs2_extent_rec will also be used. In\norder to re-use the b-tree operation code, a new parameter named \"private\"\nis added into ocfs2_extent_tree and it is used to indicate the root of\nocfs2_exent_list. The reason is that we can\u0027t deduce the root from the\nbuffer_head now. It may be in an inode, an ocfs2_xattr_block or even worse,\nin any place in an ocfs2_xattr_bucket.\n\nSigned-off-by: Tao Ma \u003ctao.ma@oracle.com\u003e\nSigned-off-by: Mark Fasheh \u003cmfasheh@suse.com\u003e\n"
    },
    {
      "commit": "9341d22942d63d6a1e4cc90f246980dbb7e1ca94",
      "tree": "b06edc1bdf80acbcf501f1a8df53198102c6ac07",
      "parents": [
        "b92eccdd28e1e3870a5b2aa625282c9ae8e35cec"
      ],
      "author": {
        "name": "Joel Becker",
        "email": "joel.becker@oracle.com",
        "time": "Tue Mar 04 17:58:56 2008 -0800"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mfasheh@suse.com",
        "time": "Fri Apr 18 08:56:07 2008 -0700"
      },
      "message": "ocfs2: Allow selection of cluster plug-ins.\n\nocfs2 now supports plug-ins for the classic O2CB stack as well as\nuserspace cluster stacks in conjunction with fs/dlm.  This allows zero,\none, or both of the plug-ins to be selected in Kconfig.  For local mounts\n(non-clustered), neither plug-in is needed.  Both plugins can be loaded\nat one time, the runtime will select the one needed for the cluster\nsystme in use.\n\nSigned-off-by: Joel Becker \u003cjoel.becker@oracle.com\u003e\nSigned-off-by: Mark Fasheh \u003cmfasheh@suse.com\u003e\n"
    },
    {
      "commit": "b92eccdd28e1e3870a5b2aa625282c9ae8e35cec",
      "tree": "2b8b1c8036804fa5312951daf126e181a87a9296",
      "parents": [
        "8f318311faf57481452895448e6ffaec7c38a146"
      ],
      "author": {
        "name": "Joel Becker",
        "email": "joel.becker@oracle.com",
        "time": "Wed Nov 28 14:53:30 2007 -0800"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mfasheh@suse.com",
        "time": "Fri Apr 18 08:56:07 2008 -0700"
      },
      "message": "ocfs2: Add kbuild for ocfs2_stack_user.ko\n\nAdd ocfs2_stack_user.ko to the Makefile so that it builds.\n\nSigned-off-by: Joel Becker \u003cjoel.becker@oracle.com\u003e\nSigned-off-by: Mark Fasheh \u003cmfasheh@suse.com\u003e\n"
    },
    {
      "commit": "286eaa95c5c5915a6b72cc3f0a2534161fd7928b",
      "tree": "dce03b619389cc5b5e2508b30ca3e1411401cf4e",
      "parents": [
        "e3dad42bf993a0f24eb6e46152356c9b119c15e8"
      ],
      "author": {
        "name": "Joel Becker",
        "email": "joel.becker@oracle.com",
        "time": "Fri Feb 01 15:03:57 2008 -0800"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mfasheh@suse.com",
        "time": "Fri Apr 18 08:56:05 2008 -0700"
      },
      "message": "ocfs2: Break out stackglue into modules.\n\nWe define the ocfs2_stack_plugin structure to represent a stack driver.\nThe o2cb stack code is split into stack_o2cb.c.  This becomes the\nocfs2_stack_o2cb.ko module.\n\nThe stackglue generic functions are similarly split into the\nocfs2_stackglue.ko module.  This module now provides an interface to\nregister drivers.  The ocfs2_stack_o2cb driver registers itself.  As\npart of this interface, ocfs2_stackglue can load drivers on demand.\nThis is accomplished in ocfs2_cluster_connect().\n\nocfs2_cluster_disconnect() is now notified when a _hangup() is pending.\nIf a hangup is pending, it will not release the driver module and will\nlet _hangup() do that.\n\nSigned-off-by: Joel Becker \u003cjoel.becker@oracle.com\u003e\n"
    },
    {
      "commit": "e3dad42bf993a0f24eb6e46152356c9b119c15e8",
      "tree": "df0419dc5e4387db7e6a6e0118bb5b9d01d8c0b2",
      "parents": [
        "553aa7e408eac402c00b67ddfa7aec13fe1f3a33"
      ],
      "author": {
        "name": "Joel Becker",
        "email": "joel.becker@oracle.com",
        "time": "Fri Feb 01 15:02:36 2008 -0800"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mfasheh@suse.com",
        "time": "Fri Apr 18 08:56:05 2008 -0700"
      },
      "message": "ocfs2: Create ocfs2_stack_operations and split out the o2cb stack.\n\nDefine the ocfs2_stack_operations structure.  Build o2cb_stack_ops from\nall of the o2cb-specific stack functions.  Change the generic stack glue\nfunctions to call the stack_ops instead of the o2cb functions directly.\n\nThe o2cb functions are moved to stack_o2cb.c.  The headers are cleaned up\nto where only needed headers are included.\n\nIn this code, stackglue.c and stack_o2cb.c refer to some shared\nextern variables.  When they become modules, that will change.\n\nSigned-off-by: Joel Becker \u003cjoel.becker@oracle.com\u003e\nSigned-off-by: Mark Fasheh \u003cmfasheh@suse.com\u003e\n"
    },
    {
      "commit": "24ef1815e5e13e50196eb1ab8ddc0d783443bdf8",
      "tree": "4c44e87b1a80d4745416c9973258c40db8433829",
      "parents": [
        "386a2ef8576e966076c293f6496b9e3d7e3d9035"
      ],
      "author": {
        "name": "Joel Becker",
        "email": "joel.becker@oracle.com",
        "time": "Tue Jan 29 17:37:32 2008 -0800"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mfasheh@suse.com",
        "time": "Fri Apr 18 08:56:03 2008 -0700"
      },
      "message": "ocfs2: Separate out dlm lock functions.\n\nThis is the first in a series of patches to isolate ocfs2 from the\nunderlying cluster stack. Here we wrap the dlm locking functions with\nocfs2-specific calls. Because ocfs2 always uses the same dlm lock status\ncallbacks, we can eliminate the callbacks from the filesystem visible\nfunctions.\n\nSigned-off-by: Joel Becker \u003cjoel.becker@oracle.com\u003e\nSigned-off-by: Mark Fasheh \u003cmfasheh@suse.com\u003e\n"
    },
    {
      "commit": "53fc622b9e829c8e632e45ef8c14f054388759c1",
      "tree": "6b8585ab00312dd798d8087c452393bf6cc0d344",
      "parents": [
        "cf8e06f1a860d8680d6bb4ac8ec7d7724988e46f"
      ],
      "author": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Thu Dec 20 16:49:04 2007 -0800"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Fri Jan 25 15:05:43 2008 -0800"
      },
      "message": "[PATCH 2/2] ocfs2: cluster aware flock()\n\nHook up ocfs2_flock(), using the new flock lock type in dlmglue.c. A new\nmount option, \"localflocks\" is added so that users can revert to old\nfunctionality as need be.\n\nSigned-off-by: Mark Fasheh \u003cmark.fasheh@oracle.com\u003e\n"
    },
    {
      "commit": "d659072f736837e56b6433d58e5315ad1d4d5ccf",
      "tree": "56882b7b36c6b60a8208f6ed5bee9904adc7b649",
      "parents": [
        "7f68fc28219be3b44ef4132f95c6506ff3e806b5"
      ],
      "author": {
        "name": "Tao Ma",
        "email": "tao.ma@oracle.com",
        "time": "Tue Dec 18 15:47:03 2007 +0800"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Fri Jan 25 14:53:35 2008 -0800"
      },
      "message": "[PATCH 1/2] ocfs2: Add group extend for online resize\n\nThis patch adds the ability for a userspace program to request an extend of\nlast cluster group on an Ocfs2 file system. The request is made via ioctl,\nOCFS2_IOC_GROUP_EXTEND. This is derived from EXT3_IOC_GROUP_EXTEND, but is\nobviously Ocfs2 specific.\n\ntunefs.ocfs2 would call this for an online-resize operation if the last\ncluster group isn\u0027t full.\n\nSigned-off-by: Tao Ma \u003ctao.ma@oracle.com\u003e\nSigned-off-by: Mark Fasheh \u003cmark.fasheh@oracle.com\u003e\n"
    },
    {
      "commit": "34d024f84345807bf44163fac84e921513dde323",
      "tree": "aef303ae5feeb42cb8791acc1c0b8a74f0a97674",
      "parents": [
        "6f7b056ea9c6fa978c79ca626eff43549df94dbb"
      ],
      "author": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Mon Sep 24 15:56:19 2007 -0700"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Fri Jan 25 14:45:34 2008 -0800"
      },
      "message": "ocfs2: Remove mount/unmount votes\n\nThe node maps that are set/unset by these votes are no longer relevant, thus\nwe can remove the mount and umount votes. Since those are the last two\nremaining votes, we can also remove the entire vote infrastructure.\n\nThe vote thread has been renamed to the downconvert thread, and the small\namount of functionality related to managing it has been moved into\nfs/ocfs2/dlmglue.c. All references to votes have been removed or updated.\n\nSigned-off-by: Mark Fasheh \u003cmark.fasheh@oracle.com\u003e\n"
    },
    {
      "commit": "ca4d147e62df370c334898464023aa7f9126abe1",
      "tree": "aff39cd19c5b0a95a1fd85caf439c4aa69c5830e",
      "parents": [
        "b4c98f625fffee3a6f633082e9e4be3e952ca2ab"
      ],
      "author": {
        "name": "Herbert Poetzl",
        "email": "herbert@13thfloor.at",
        "time": "Mon Jul 03 17:27:12 2006 -0700"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Wed Sep 20 15:48:39 2006 -0700"
      },
      "message": "ocfs2: add ext2 attributes\n\nSupport immutable, and other attributes.\n\nSome renaming and other minor fixes done by myself.\n\nSigned-off-by: Herbert Poetzl \u003cherbert@13thfloor.at\u003e\nSigned-off-by: Mark Fasheh \u003cmark.fasheh@oracle.com\u003e\n"
    },
    {
      "commit": "ccd979bdbce9fba8412beb3f1de68a9d0171b12c",
      "tree": "c50ed941849ce06ccadd4ce27599b3ef9fdbe2ae",
      "parents": [
        "8df08c89c668e1bd922a053fdb5ba1fadbecbb38"
      ],
      "author": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Thu Dec 15 14:31:24 2005 -0800"
      },
      "committer": {
        "name": "Joel Becker",
        "email": "joel.becker@oracle.com",
        "time": "Tue Jan 03 11:45:47 2006 -0800"
      },
      "message": "[PATCH] OCFS2: The Second Oracle Cluster Filesystem\n\nThe OCFS2 file system module.\n\nSigned-off-by: Mark Fasheh \u003cmark.fasheh@oracle.com\u003e\nSigned-off-by: Kurt Hackel \u003ckurt.hackel@oracle.com\u003e\n"
    }
  ]
}
