)]}'
{
  "log": [
    {
      "commit": "d6952123b53cc8b334df69bba2cd0063b0d88f68",
      "tree": "b1ccaa7e3d65dbf4af093202044da65bc4deb34e",
      "parents": [
        "d3fb612076eebec6f67257db0c7a9666ac7e5892"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat Jul 23 18:56:36 2011 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Aug 01 02:10:06 2011 -0400"
      },
      "message": "switch posix_acl_equiv_mode() to umode_t *\n\n... so that \u0026inode-\u003ei_mode could be passed to it\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "d3fb612076eebec6f67257db0c7a9666ac7e5892",
      "tree": "5265fca258a74ffa75b845998492abb9446db72c",
      "parents": [
        "782b94cdf577b4df1feb376f372dccc28e66a771"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat Jul 23 18:37:50 2011 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Aug 01 02:09:42 2011 -0400"
      },
      "message": "switch posix_acl_create() to umode_t *\n\nso we can pass \u0026inode-\u003ei_mode to it\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "d3ec4844d449cf7af9e749f73ba2052fb7b72fc2",
      "tree": "c515913e85f7e50878c83da2a88bc5a7269d087c",
      "parents": [
        "0003230e8200699860f0b10af524dc47bf8aecad",
        "df2e301fee3c2c2a87592151397ad7699bb14c37"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jul 25 13:56:39 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jul 25 13:56:39 2011 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial: (43 commits)\n  fs: Merge split strings\n  treewide: fix potentially dangerous trailing \u0027;\u0027 in #defined values/expressions\n  uwb: Fix misspelling of neighbourhood in comment\n  net, netfilter: Remove redundant goto in ebt_ulog_packet\n  trivial: don\u0027t touch files that are removed in the staging tree\n  lib/vsprintf: replace link to Draft by final RFC number\n  doc: Kconfig: `to be\u0027 -\u003e `be\u0027\n  doc: Kconfig: Typo: square -\u003e squared\n  doc: Konfig: Documentation/power/{pm \u003d\u003e apm-acpi}.txt\n  drivers/net: static should be at beginning of declaration\n  drivers/media: static should be at beginning of declaration\n  drivers/i2c: static should be at beginning of declaration\n  XTENSA: static should be at beginning of declaration\n  SH: static should be at beginning of declaration\n  MIPS: static should be at beginning of declaration\n  ARM: static should be at beginning of declaration\n  rcu: treewide: Do not use rcu_read_lock_held when calling rcu_dereference_check\n  Update my e-mail address\n  PCIe ASPM: forcedly -\u003e forcibly\n  gma500: push through device driver tree\n  ...\n\nFix up trivial conflicts:\n - arch/arm/mach-ep93xx/dma-m2p.c (deleted)\n - drivers/gpio/gpio-ep93xx.c (renamed and context nearby)\n - drivers/net/r8169.c (just context changes)\n"
    },
    {
      "commit": "4e34e719e457f2e031297175410fc0bd4016a085",
      "tree": "ab969a371e0d2efc6bfbf503ca6cdfce3af3bf6c",
      "parents": [
        "edde854e8bb34a7f32fa993d721f1da0faf64165"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Sat Jul 23 17:37:31 2011 +0200"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Jul 25 14:30:23 2011 -0400"
      },
      "message": "fs: take the ACL checks to common code\n\nReplace the -\u003echeck_acl method with a -\u003eget_acl method that simply reads an\nACL from disk after having a cache miss.  This means we can replace the ACL\nchecking boilerplate code with a single implementation in namei.c.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "826cae2f2b4d726b925f43bc208a571639da4761",
      "tree": "b7f83eecf3bde8c4e455d89c7c535988b3e8bd59",
      "parents": [
        "95203befa8887997f14077d8557e67d78457ee02"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat Jul 23 03:10:32 2011 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Jul 25 14:27:32 2011 -0400"
      },
      "message": "kill boilerplates around posix_acl_create_masq()\n\nnew helper: posix_acl_create(\u0026acl, gfp, mode_p).  Replaces acl with\nmodified clone, on failure releases acl and replaces with NULL.\nReturns 0 or -ve on error.  All callers of posix_acl_create_masq()\nswitched.\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "bc26ab5f65ae41b71df86ea46df3c3833d1d8d83",
      "tree": "85bbc4e0da4fac99ccf31b3609c61e2b148a8498",
      "parents": [
        "4482a087d4c5a6ffbc385c56b4a4e2f694d9fd5d"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat Jul 23 00:18:02 2011 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Jul 25 14:27:30 2011 -0400"
      },
      "message": "kill boilerplate around posix_acl_chmod_masq()\n\nnew helper: posix_acl_chmod(\u0026acl, gfp, mode).  Replaces acl with modified\nclone or with NULL if that has failed; returns 0 or -ve on error.  All\ncallers of posix_acl_chmod_masq() switched to that - they\u0027d been doing\nexactly the same thing.\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "e77819e57f0817c6dc7cadd061acd70c604cbce2",
      "tree": "f5d7aba2dfbb747a97d783b7cc6a486922c42559",
      "parents": [
        "3ca30d40a91fb9b9871e61d5dea2c1a895906a15"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 22 19:30:19 2011 -0700"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Jul 25 14:23:39 2011 -0400"
      },
      "message": "vfs: move ACL cache lookup into generic code\n\nThis moves logic for checking the cached ACL values from low-level\nfilesystems into generic code.  The end result is a streamlined ACL\ncheck that doesn\u0027t need to load the inode-\u003ei_op-\u003echeck_acl pointer at\nall for the common cached case.\n\nThe filesystems also don\u0027t need to check for a non-blocking RCU walk\ncase in their acl_check() functions, because that is all handled at a\nVFS layer.\n\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "c0d960f038bdfe0fa73c9f698ba836ed20b672c9",
      "tree": "d3be44f58e977935718d5b8c9cc0b7e4cd8f022e",
      "parents": [
        "423e0ab086ad8b33626e45fa94ac7613146b7ffa"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat Jul 23 00:22:31 2011 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sun Jul 24 10:10:09 2011 -0400"
      },
      "message": "ocfs2_init_acl(): fix a leak\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "02c24a82187d5a628c68edfe71ae60dc135cd178",
      "tree": "c8dbaba4d82e2b20ed4335910a564a1f7d90fcf6",
      "parents": [
        "22735068d53c7115e384bc88dea95b17e76a6839"
      ],
      "author": {
        "name": "Josef Bacik",
        "email": "josef@redhat.com",
        "time": "Sat Jul 16 20:44:56 2011 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Wed Jul 20 20:47:59 2011 -0400"
      },
      "message": "fs: push i_mutex and filemap_write_and_wait down into -\u003efsync() handlers\n\nBtrfs needs to be able to control how filemap_write_and_wait_range() is called\nin fsync to make it less of a painful operation, so push down taking i_mutex and\nthe calling of filemap_write_and_wait() down into the -\u003efsync() handlers.  Some\nfile systems can drop taking the i_mutex altogether it seems, like ext3 and\nocfs2.  For correctness sake I just pushed everything down in all cases to make\nsure that we keep the current behavior the same for everybody, and then each\nindividual fs maintainer can make up their mind about what to do from there.\nThanks,\n\nAcked-by: Jan Kara \u003cjack@suse.cz\u003e\nSigned-off-by: Josef Bacik \u003cjosef@redhat.com\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "72c5052ddc3956d847f21c2b8d55c93664a51b2c",
      "tree": "47b381f3f746cdc1612f432bd902278f8901f84a",
      "parents": [
        "aacfc19c626ebd3daa675652457d71019a1f583f"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Fri Jun 24 14:29:48 2011 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Wed Jul 20 20:47:50 2011 -0400"
      },
      "message": "fs: move inode_dio_done to the end_io handler\n\nFor filesystems that delay their end_io processing we should keep our\ni_dio_count until the the processing is done.  Enable this by moving\nthe inode_dio_done call to the end_io handler if one exist.  Note that\nthe actual move to the workqueue for ext4 and XFS is not done in\nthis patch yet, but left to the filesystem maintainers.  At least\nfor XFS it\u0027s not needed yet either as XFS has an internal equivalent\nto i_dio_count.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "df2d6f26586f12a24f3ae5df4e236dc5c08d6eb4",
      "tree": "68c6ec96177f766d3b9ab0a48408271ef2af4d89",
      "parents": [
        "562c72aa57c36b178eacc3500a0215651eca9429"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Fri Jun 24 14:29:46 2011 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Wed Jul 20 20:47:48 2011 -0400"
      },
      "message": "fs: always maintain i_dio_count\n\nMaintain i_dio_count for all filesystems, not just those using DIO_LOCKING.\nThis these filesystems to also protect truncate against direct I/O requests\nby using common code.  Right now the only non-DIO_LOCKING filesystem that\nappears to do so is XFS, which uses an opencoded variant of the i_dio_count\nscheme.\n\nBehaviour doesn\u0027t change for filesystems never calling inode_dio_wait.\nFor ext4 behaviour changes when using the dioread_nonlock option, which\npreviously was missing any protection between truncate and direct I/O reads.\nFor ocfs2 that handcrafted i_dio_count manipulations are replaced with\nthe common code now enable.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "562c72aa57c36b178eacc3500a0215651eca9429",
      "tree": "2c522c53ab26fc72e85e08747a08e3dca1207c87",
      "parents": [
        "11b80f459adaf91a712f95e7734a17655a36bf30"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Fri Jun 24 14:29:45 2011 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Wed Jul 20 20:47:47 2011 -0400"
      },
      "message": "fs: move inode_dio_wait calls into -\u003esetattr\n\nLet filesystems handle waiting for direct I/O requests themselves instead\nof doing it beforehand.  This means filesystem-specific locks to prevent\nnew dio referenes from appearing can be held.  This is important to allow\ngeneralizing i_dio_count to non-DIO_LOCKING filesystems.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "bd5fe6c5eb9c548d7f07fe8f89a150bb6705e8e3",
      "tree": "ef5341c7747f809aec7ae233f6e3ef90af39be5f",
      "parents": [
        "f9b5570d7fdedff32a2e78102bfb54cd1b12b289"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Fri Jun 24 14:29:43 2011 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Wed Jul 20 20:47:46 2011 -0400"
      },
      "message": "fs: kill i_alloc_sem\n\ni_alloc_sem is a rather special rw_semaphore.  It\u0027s the last one that may\nbe released by a non-owner, and it\u0027s write side is always mirrored by\nreal exclusion.  It\u0027s intended use it to wait for all pending direct I/O\nrequests to finish before starting a truncate.\n\nReplace it with a hand-grown construct:\n\n - exclusion for truncates is already guaranteed by i_mutex, so it can\n   simply fall way\n - the reader side is replaced by an i_dio_count member in struct inode\n   that counts the number of pending direct I/O requests.  Truncate can\u0027t\n   proceed as long as it\u0027s non-zero\n - when i_dio_count reaches non-zero we wake up a pending truncate using\n   wake_up_bit on a new bit in i_flags\n - new references to i_dio_count can\u0027t appear while we are waiting for\n   it to read zero because the direct I/O count always needs i_mutex\n   (or an equivalent like XFS\u0027s i_iolock) for starting a new operation.\n\nThis scheme is much simpler, and saves the space of a spinlock_t and a\nstruct list_head in struct inode (typically 160 bits on a non-debug 64-bit\nsystem).\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "dae6ad8f37529963ae7df52baaccf056b38f210e",
      "tree": "1bfc6f766601e744c2c2c064b97cdefdcca4ad5c",
      "parents": [
        "49084c3bb2055c401f3493c13edae14d49128ca0"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sun Jun 26 11:50:15 2011 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Wed Jul 20 01:44:05 2011 -0400"
      },
      "message": "new helpers: kern_path_create/user_path_create\n\ncombination of kern_path_parent() and lookup_create().  Does *not*\nexpose struct nameidata to caller.  Syscalls converted to that...\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "10556cb21a0d0b24d95f00ea6df16f599a3345b2",
      "tree": "3d7d8dfba807805a55c154f1850717bf3b49f343",
      "parents": [
        "2830ba7f34ebb27c4e5b8b6ef408cd6d74860890"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Jun 20 19:28:19 2011 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Wed Jul 20 01:43:24 2011 -0400"
      },
      "message": "-\u003epermission() sanitizing: don\u0027t pass flags to -\u003epermission()\n\nnot used by the instances anymore.\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "2830ba7f34ebb27c4e5b8b6ef408cd6d74860890",
      "tree": "bbcebc14bffd000f1dfcbf37e64f56d2f49581ac",
      "parents": [
        "7e40145eb111a5192e6d819f764db9d6828d1abb"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Jun 20 19:16:29 2011 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Wed Jul 20 01:43:22 2011 -0400"
      },
      "message": "-\u003epermission() sanitizing: don\u0027t pass flags to generic_permission()\n\nredundant; all callers get it duplicated in mask \u0026 MAY_NOT_BLOCK and none of\nthem removes that bit.\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "7e40145eb111a5192e6d819f764db9d6828d1abb",
      "tree": "3249952a751de12465e8d66c63328445e9242f3a",
      "parents": [
        "9c2c703929e4c41210cfa6e3f599514421bab8dc"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Jun 20 19:12:17 2011 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Wed Jul 20 01:43:21 2011 -0400"
      },
      "message": "-\u003epermission() sanitizing: don\u0027t pass flags to -\u003echeck_acl()\n\nnot used in the instances anymore.\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "9c2c703929e4c41210cfa6e3f599514421bab8dc",
      "tree": "2086738f22755ad18ba18ab2ee0f2b23d651da60",
      "parents": [
        "1fc0f78ca9f311c6277e2f1b7655bb4d43ceb311"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Jun 20 19:06:22 2011 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Wed Jul 20 01:43:19 2011 -0400"
      },
      "message": "-\u003epermission() sanitizing: pass MAY_NOT_BLOCK to -\u003echeck_acl()\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "178ea73521d64ba41d7aa5488fb9f549c6d4507d",
      "tree": "7fb6bfb6483577752e307a5bb2e3905658d44294",
      "parents": [
        "07b8ce1ee87d291ff564c02cf878fae973317a52"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Jun 20 11:31:30 2011 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Wed Jul 20 01:43:16 2011 -0400"
      },
      "message": "kill check_acl callback of generic_permission()\n\nits value depends only on inode and does not change; we might as\nwell store it in -\u003ei_op-\u003echeck_acl and be done with that.\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "e44ba033c5654dbfda53461c9b1f7dd9bd1d198f",
      "tree": "92654523983a855e466a332e104c0e51550a642d",
      "parents": [
        "1816315b10862277a961a70ec394b6607983041d"
      ],
      "author": {
        "name": "Vitaliy Ivanov",
        "email": "vitalivanov@gmail.com",
        "time": "Mon Jun 20 16:08:07 2011 +0200"
      },
      "committer": {
        "name": "Jiri Kosina",
        "email": "jkosina@suse.cz",
        "time": "Mon Jun 20 16:08:19 2011 +0200"
      },
      "message": "treewide: remove duplicate includes\n\nMany stupid corrections of duplicated includes based on the output of\nscripts/checkincludes.pl.\n\nSigned-off-by: Vitaliy Ivanov \u003cvitalivanov@gmail.com\u003e\nSigned-off-by: Jiri Kosina \u003cjkosina@suse.cz\u003e\n"
    },
    {
      "commit": "9e1f1de02c2275d7172e18dc4e7c2065777611bf",
      "tree": "15e9d202e64275cdbff6ed1d54804da5966d7d8d",
      "parents": [
        "1fa7b6a29c61358cc2ca6f64cef4aa0e1a7ca74c"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Fri Jun 03 18:24:58 2011 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Fri Jun 03 18:24:58 2011 -0400"
      },
      "message": "more conservative S_NOSEC handling\n\nCaching \"we have already removed suid/caps\" was overenthusiastic as merged.\nOn network filesystems we might have had suid/caps set on another client,\nsilently picked by this client on revalidate, all of that *without* clearing\nthe S_NOSEC flag.\n\nAFAICS, the only reasonably sane way to deal with that is\n\t* new superblock flag; unless set, S_NOSEC is not going to be set.\n\t* local block filesystems set it in their -\u003emount() (more accurately,\nmount_bdev() does, so does btrfs -\u003emount(), users of mount_bdev() other than\nlocal block ones clear it)\n\t* if any network filesystem (or a cluster one) wants to use S_NOSEC,\nit\u0027ll need to set MS_NOSEC in sb-\u003es_flags *AND* take care to clear S_NOSEC when\ninode attribute changes are picked from other clients.\n\nIt\u0027s not an earth-shattering hole (anybody that can set suid on another client\nwill almost certainly be able to write to the file before doing that anyway),\nbut it\u0027s a bug that needs fixing.\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "81faae7f9c245a17f585d6edb7d4683cc6336b11",
      "tree": "17f1f67095002d64a6b18bec4217cdb9ed8df512",
      "parents": [
        "95948c31bec26e631ecf138cb04dcd547519c7af",
        "d194f1aa194d83ba3df0975497f9eaed48c95f6d"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri May 27 10:23:10 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri May 27 10:23:10 2011 -0700"
      },
      "message": "Merge branch \u0027linux-next\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jlbec/ocfs2\n\n* \u0027linux-next\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jlbec/ocfs2:\n  Ocfs2/move_extents: Validate moving goal after the adjustment.\n  Ocfs2/move_extents: Avoid doing division in extent moving.\n"
    },
    {
      "commit": "d194f1aa194d83ba3df0975497f9eaed48c95f6d",
      "tree": "9a0ece1863d192d82a982a66ee5458a1d0dc95d9",
      "parents": [
        "ece928df16494becd43f999aff9bd530182e7e81",
        "ea5e1675ac832b42889ac8d254ea8fbfbdfaa8b2"
      ],
      "author": {
        "name": "Joel Becker",
        "email": "jlbec@evilplan.org",
        "time": "Fri May 27 00:24:03 2011 -0700"
      },
      "committer": {
        "name": "Joel Becker",
        "email": "jlbec@evilplan.org",
        "time": "Fri May 27 00:24:03 2011 -0700"
      },
      "message": "Merge branch \u0027move_extents\u0027 of git://oss.oracle.com/git/tye/linux-2.6 into ocfs2-merge-window\n"
    },
    {
      "commit": "ea5e1675ac832b42889ac8d254ea8fbfbdfaa8b2",
      "tree": "04b1e47be93c982a392e4eededda41dc67191422",
      "parents": [
        "6aea6f5068cb86e89a6ac243c3fc131045b6563a"
      ],
      "author": {
        "name": "Tristan Ye",
        "email": "tristan.ye@oracle.com",
        "time": "Fri May 27 15:24:14 2011 +0800"
      },
      "committer": {
        "name": "Tristan Ye",
        "email": "tristan.ye@oracle.com",
        "time": "Fri May 27 14:52:57 2011 +0800"
      },
      "message": "Ocfs2/move_extents: Validate moving goal after the adjustment.\n\nthough the goal_to_be_moved will be validated again in following moving, it\u0027s\nstill a good idea to validate it after adjustment at the very beginning, instead\nof validating it before adjustment.\n\nSigned-off-by: Tristan Ye \u003ctristan.ye@oracle.com\u003e\n"
    },
    {
      "commit": "6aea6f5068cb86e89a6ac243c3fc131045b6563a",
      "tree": "328109905fc58424d1942db52b22537fd46f2fc7",
      "parents": [
        "dda54e76d7dba0532ebdd72e0b4f492a03f83225"
      ],
      "author": {
        "name": "Tristan Ye",
        "email": "tristan.ye@oracle.com",
        "time": "Fri May 27 15:19:56 2011 +0800"
      },
      "committer": {
        "name": "Tristan Ye",
        "email": "tristan.ye@oracle.com",
        "time": "Fri May 27 14:52:53 2011 +0800"
      },
      "message": "Ocfs2/move_extents: Avoid doing division in extent moving.\n\nIt\u0027s not wise enough to do a 64bits division anywhere in kernside, replace it\nwith a decent helper or proper shifts.\n\nSigned-off-by: Tristan Ye \u003ctristan.ye@oracle.com\u003e\n"
    },
    {
      "commit": "a74b81b0aff4a01e0816df5915c854fb52c5e87f",
      "tree": "98364cec6a9e0c0fd510e5fe9af46f1ddb28956b",
      "parents": [
        "f8d613e2a665bf1be9628a3c3f9bafe7599b32c0",
        "ece928df16494becd43f999aff9bd530182e7e81"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 26 10:55:15 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 26 10:55:15 2011 -0700"
      },
      "message": "Merge branch \u0027linux-next\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jlbec/ocfs2\n\n* \u0027linux-next\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jlbec/ocfs2: (28 commits)\n  Ocfs2: Teach local-mounted ocfs2 to handle unwritten_extents correctly.\n  ocfs2/dlm: Do not migrate resource to a node that is leaving the domain\n  ocfs2/dlm: Add new dlm message DLM_BEGIN_EXIT_DOMAIN_MSG\n  Ocfs2/move_extents: Set several trivial constraints for threshold.\n  Ocfs2/move_extents: Let defrag handle partial extent moving.\n  Ocfs2/move_extents: move/defrag extents within a certain range.\n  Ocfs2/move_extents: helper to calculate the defraging length in one run.\n  Ocfs2/move_extents: move entire/partial extent.\n  Ocfs2/move_extents: helpers to update the group descriptor and global bitmap inode.\n  Ocfs2/move_extents: helper to probe a proper region to move in an alloc group.\n  Ocfs2/move_extents: helper to validate and adjust moving goal.\n  Ocfs2/move_extents: find the victim alloc group, where the given #blk fits.\n  Ocfs2/move_extents: defrag a range of extent.\n  Ocfs2/move_extents: move a range of extent.\n  Ocfs2/move_extents: lock allocators and reserve metadata blocks and data clusters for extents moving.\n  Ocfs2/move_extents: Add basic framework and source files for extent moving.\n  Ocfs2/move_extents: Adding new ioctl code \u0027OCFS2_IOC_MOVE_EXT\u0027 to ocfs2.\n  Ocfs2/refcounttree: Publicize couple of funcs from refcounttree.c\n  Ocfs2: Add a new code \u0027OCFS2_INFO_FREEFRAG\u0027 for o2info ioctl.\n  Ocfs2: Add a new code \u0027OCFS2_INFO_FREEINODE\u0027 for o2info ioctl.\n  ...\n"
    },
    {
      "commit": "f8d613e2a665bf1be9628a3c3f9bafe7599b32c0",
      "tree": "98d4da8d0e1a5fb1d9064626b4b96d95ccf26375",
      "parents": [
        "8a0599dd2471f2a2e409498c08a0ab339057ad06",
        "5bc20fc59706214d9591c11e1938a629d3538c12"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 26 10:50:56 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 26 10:50:56 2011 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/djm/tmem\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/djm/tmem:\n  xen: cleancache shim to Xen Transcendent Memory\n  ocfs2: add cleancache support\n  ext4: add cleancache support\n  btrfs: add cleancache support\n  ext3: add cleancache support\n  mm/fs: add hooks to support cleancache\n  mm: cleancache core ops functions and config\n  fs: add field to superblock to support cleancache\n  mm/fs: cleancache documentation\n\nFix up trivial conflict in fs/btrfs/extent_io.c due to includes\n"
    },
    {
      "commit": "1cfd8bd0f97ae3ad314151cd0fd70454d7b39699",
      "tree": "3d3463b53f936a3dfd82340368b89841d3de40d8",
      "parents": [
        "7abc52c2ed169c65044d3a199879c8438ad82322"
      ],
      "author": {
        "name": "Dan Magenheimer",
        "email": "dan.magenheimer@oracle.com",
        "time": "Thu May 26 10:02:08 2011 -0600"
      },
      "committer": {
        "name": "Dan Magenheimer",
        "email": "dan.magenheimer@oracle.com",
        "time": "Thu May 26 10:02:08 2011 -0600"
      },
      "message": "ocfs2: add cleancache support\n\nThis eighth patch of eight in this cleancache series \"opts-in\"\ncleancache for ocfs2.  Clustered filesystems must explicitly enable\ncleancache by calling cleancache_init_shared_fs anytime an instance\nof the filesystem is mounted.  Ocfs2 is currently the only user of\nthe clustered filesystem interface but nevertheless, the cleancache\nhooks in the VFS layer are sufficient for ocfs2 including the matching\ncleancache_flush_fs hook which must be called on unmount.\n\nDetails and a FAQ can be found in Documentation/vm/cleancache.txt\n\n[v8: trivial merge conflict update]\n[v5: jeremy@goop.org: simplify init hook and any future fs init changes]\nSigned-off-by: Dan Magenheimer \u003cdan.magenheimer@oracle.com\u003e\nSigned-off-by: Joel Becker \u003cjoel.becker@oracle.com\u003e\nReviewed-by: Jeremy Fitzhardinge \u003cjeremy@goop.org\u003e\nReviewed-by: Konrad Rzeszutek Wilk \u003ckonrad.wilk@oracle.com\u003e\nCc: Mark Fasheh \u003cmfasheh@suse.com\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nCc: Al Viro \u003cviro@ZenIV.linux.org.uk\u003e\nCc: Matthew Wilcox \u003cmatthew@wil.cx\u003e\nCc: Nick Piggin \u003cnpiggin@kernel.dk\u003e\nCc: Mel Gorman \u003cmel@csn.ul.ie\u003e\nCc: Rik Van Riel \u003criel@redhat.com\u003e\nCc: Jan Beulich \u003cJBeulich@novell.com\u003e\nCc: Chris Mason \u003cchris.mason@oracle.com\u003e\nCc: Andreas Dilger \u003cadilger@sun.com\u003e\nCc: Ted Tso \u003ctytso@mit.edu\u003e\nCc: Nitin Gupta \u003cngupta@vflare.org\u003e\n"
    },
    {
      "commit": "ece928df16494becd43f999aff9bd530182e7e81",
      "tree": "905042764ea5d8ab6eda63666406e19f607bcf4c",
      "parents": [
        "3d1c1829ebe7e8bb48a997b39b4865abc9197e5e",
        "dda54e76d7dba0532ebdd72e0b4f492a03f83225"
      ],
      "author": {
        "name": "Joel Becker",
        "email": "jlbec@evilplan.org",
        "time": "Wed May 25 21:51:55 2011 -0700"
      },
      "committer": {
        "name": "Joel Becker",
        "email": "jlbec@evilplan.org",
        "time": "Wed May 25 21:51:55 2011 -0700"
      },
      "message": "Merge branch \u0027move_extents\u0027 of git://oss.oracle.com/git/tye/linux-2.6 into ocfs2-merge-window\n\nConflicts:\n\tfs/ocfs2/ioctl.c\n"
    },
    {
      "commit": "3d1c1829ebe7e8bb48a997b39b4865abc9197e5e",
      "tree": "45cc7eda240a9f5649887311dc2968d190b4c7fa",
      "parents": [
        "66effd3c681256874a81436493a933edb1701798"
      ],
      "author": {
        "name": "Tristan Ye",
        "email": "tristan.ye@oracle.com",
        "time": "Mon May 23 15:57:26 2011 +0800"
      },
      "committer": {
        "name": "Joel Becker",
        "email": "jlbec@evilplan.org",
        "time": "Wed May 25 21:06:28 2011 -0700"
      },
      "message": "Ocfs2: Teach local-mounted ocfs2 to handle unwritten_extents correctly.\n\nOops, local-mounted of \u0027ocfs2_fops_no_plocks\u0027 is just missing the support\nof unwritten_extents/punching-hole due to no func pointer was given correctly\nto \u0027.follocate\u0027 field.\n\nSigned-off-by: Tristan Ye \u003ctristan.ye@oracle.com\u003e\n"
    },
    {
      "commit": "66effd3c681256874a81436493a933edb1701798",
      "tree": "ce0b9047ee7be10b6e7e8848f731e1d6a7579731",
      "parents": [
        "bddefdeec5bc56ba5aa2c2ca8c904cdff58e7e5b"
      ],
      "author": {
        "name": "Sunil Mushran",
        "email": "sunil.mushran@oracle.com",
        "time": "Thu May 19 14:34:12 2011 -0700"
      },
      "committer": {
        "name": "Joel Becker",
        "email": "jlbec@evilplan.org",
        "time": "Wed May 25 21:05:22 2011 -0700"
      },
      "message": "ocfs2/dlm: Do not migrate resource to a node that is leaving the domain\n\nDuring dlm domain shutdown, o2dlm has to free all the lock resources. Ones that\nhave no locks and references are freed. Ones that have locks and/or references\nare migrated to another node.\n\nThe first task in migration is finding a target. Currently we scan the lock\nresource and find one node that either has a lock or a reference. This is not\nvery efficient in a parallel umount case as we might end up migrating the\nlock resource to a node which itself may have to migrate it to a third node.\n\nThe patch scans the dlm-\u003eexit_domain_map to ensure the target node is not\nleaving the domain. If no valid target node is found, o2dlm does not migrate\nthe resource but instead waits for the unlock and deref messages that will\nallow it to free the resource.\n\nSigned-off-by: Sunil Mushran \u003csunil.mushran@oracle.com\u003e\nSigned-off-by: Joel Becker \u003cjlbec@evilplan.org\u003e\n"
    },
    {
      "commit": "bddefdeec5bc56ba5aa2c2ca8c904cdff58e7e5b",
      "tree": "ec3a61ccfd5bba4d5fba55b6aa9844d3dfa25d78",
      "parents": [
        "98ba073c606fba7a48a8e0d36e3b02105d31c768"
      ],
      "author": {
        "name": "Sunil Mushran",
        "email": "sunil.mushran@oracle.com",
        "time": "Thu May 19 14:34:11 2011 -0700"
      },
      "committer": {
        "name": "Joel Becker",
        "email": "jlbec@evilplan.org",
        "time": "Wed May 25 21:05:15 2011 -0700"
      },
      "message": "ocfs2/dlm: Add new dlm message DLM_BEGIN_EXIT_DOMAIN_MSG\n\nThis patch adds a new dlm message DLM_BEGIN_EXIT_DOMAIN_MSG and ups the dlm\nprotocol to 1.2.\n\no2dlm sends this new message in dlm_unregister_domain() to mark the beginning\nof the exit domain. This message is sent to all nodes in the domain.\n\nCurrently o2dlm has no way of informing other nodes of its impending exit.\nThis information is useful as the other nodes could disregard the exiting\nnode in certain operations. For example, in resource migration. If two or\nmore nodes were umounting in parallel, it would be more efficient if o2dlm\nwere to choose a non-exiting node to be the new master node rather than an\nexiting one.\n\nSigned-off-by: Sunil Mushran \u003csunil.mushran@oracle.com\u003e\nReviewed-by: Mark Fasheh \u003cmfasheh@suse.com\u003e\nSigned-off-by: Joel Becker \u003cjlbec@evilplan.org\u003e\n"
    },
    {
      "commit": "dda54e76d7dba0532ebdd72e0b4f492a03f83225",
      "tree": "7eae649c453e65bc8b585d9f605bbabe9bdda5e2",
      "parents": [
        "4dfa66bd595120530506448f3d519f341afd736e"
      ],
      "author": {
        "name": "Tristan Ye",
        "email": "tristan.ye@oracle.com",
        "time": "Wed May 25 14:45:41 2011 +0800"
      },
      "committer": {
        "name": "Tristan Ye",
        "email": "tristan.ye@oracle.com",
        "time": "Wed May 25 15:17:13 2011 +0800"
      },
      "message": "Ocfs2/move_extents: Set several trivial constraints for threshold.\n\nThe threshold should be greater than clustersize and less than i_size.\n\nSigned-off-by: Tristan Ye \u003ctristan.ye@oracle.com\u003e\n"
    },
    {
      "commit": "4dfa66bd595120530506448f3d519f341afd736e",
      "tree": "e11b923c29fbd85d10aa343dff93db5bc82003b4",
      "parents": [
        "53069d4e76954e2e63c1b3c501051c6fbcf7298c"
      ],
      "author": {
        "name": "Tristan Ye",
        "email": "tristan.ye@oracle.com",
        "time": "Wed May 25 14:30:36 2011 +0800"
      },
      "committer": {
        "name": "Tristan Ye",
        "email": "tristan.ye@oracle.com",
        "time": "Wed May 25 15:17:12 2011 +0800"
      },
      "message": "Ocfs2/move_extents: Let defrag handle partial extent moving.\n\nWe\u0027re going to support partial extent moving, which may split entire extent\nmovement into pieces to compromise the insuffice allocations, it eases the\n\u0027ENSPC\u0027 pain and makes the whole moving much less likely to fail, the downside\nis it may make the fs even more fragmented before moving, just let the userspace\nmake a trade-off here.\n\nSigned-off-by: Tristan Ye \u003ctristan.ye@oracle.com\u003e\n"
    },
    {
      "commit": "53069d4e76954e2e63c1b3c501051c6fbcf7298c",
      "tree": "6b906eb22fef78636c7d4db7120370d7715f5aef",
      "parents": [
        "ee16cc037e255801892481a2d0b7c1fff2adf1aa"
      ],
      "author": {
        "name": "Tristan Ye",
        "email": "tristan.ye@oracle.com",
        "time": "Wed May 25 14:23:43 2011 +0800"
      },
      "committer": {
        "name": "Tristan Ye",
        "email": "tristan.ye@oracle.com",
        "time": "Wed May 25 15:17:12 2011 +0800"
      },
      "message": "Ocfs2/move_extents: move/defrag extents within a certain range.\n\nthe basic logic of moving extents for a file is pretty like punching-hole\nsequence, walk the extents within the range as user specified, calculating\nan appropriate len to defrag/move, then let ocfs2_defrag/move_extent() to\ndo the actual moving.\n\nThis func ends up setting \u0027OCFS2_MOVE_EXT_FL_COMPLETE\u0027 to userpace if operation\ngets done successfully.\n\nSigned-off-by: Tristan Ye \u003ctristan.ye@oracle.com\u003e\n"
    },
    {
      "commit": "ee16cc037e255801892481a2d0b7c1fff2adf1aa",
      "tree": "00ec3109caf8becea9da524282bf66469361ed7c",
      "parents": [
        "e08477176d5575493ba4c30041245c34f2737ad4"
      ],
      "author": {
        "name": "Tristan Ye",
        "email": "tristan.ye@oracle.com",
        "time": "Fri Mar 18 14:35:40 2011 +0800"
      },
      "committer": {
        "name": "Tristan Ye",
        "email": "tristan.ye@oracle.com",
        "time": "Wed May 25 15:17:12 2011 +0800"
      },
      "message": "Ocfs2/move_extents: helper to calculate the defraging length in one run.\n\nThe helper is to calculate the defrag length in one run according to a threshold,\nit will proceed doing defragmentation until the threshold was meet, and skip a\nLARGE extent if any.\n\nSigned-off-by: Tristan Ye \u003ctristan.ye@oracle.com\u003e\n"
    },
    {
      "commit": "e08477176d5575493ba4c30041245c34f2737ad4",
      "tree": "aedeb0f25df0c5a5ba926cbd0372626d8d0b755f",
      "parents": [
        "8473aa8a2b5857b1bdfb57d860594d2eb2b4a0d6"
      ],
      "author": {
        "name": "Tristan Ye",
        "email": "tristan.ye@oracle.com",
        "time": "Tue May 24 17:35:19 2011 +0800"
      },
      "committer": {
        "name": "Tristan Ye",
        "email": "tristan.ye@oracle.com",
        "time": "Wed May 25 15:17:11 2011 +0800"
      },
      "message": "Ocfs2/move_extents: move entire/partial extent.\n\nocfs2_move_extent() logic will validate the goal_offset_in_block,\nwhere extents to be moved, what\u0027s more, it also compromises a bit\nto probe the appropriate region around given goal_offset when the\noriginal goal is not able to fit the movement.\n\nSigned-off-by: Tristan Ye \u003ctristan.ye@oracle.com\u003e\n"
    },
    {
      "commit": "8473aa8a2b5857b1bdfb57d860594d2eb2b4a0d6",
      "tree": "61ae1b1951fb7795306ba322c36c6ebc4e965ebc",
      "parents": [
        "e6b5859cccfa0fec02f3c5b1069481efc7186f47"
      ],
      "author": {
        "name": "Tristan Ye",
        "email": "tristan.ye@oracle.com",
        "time": "Tue May 24 18:51:41 2011 +0800"
      },
      "committer": {
        "name": "Tristan Ye",
        "email": "tristan.ye@oracle.com",
        "time": "Wed May 25 15:17:11 2011 +0800"
      },
      "message": "Ocfs2/move_extents: helpers to update the group descriptor and global bitmap inode.\n\nThese helpers were actually borrowed from alloc.c, which may be publicized\nlater.\n\nSigned-off-by: Tristan Ye \u003ctristan.ye@oracle.com\u003e\n"
    },
    {
      "commit": "e6b5859cccfa0fec02f3c5b1069481efc7186f47",
      "tree": "bd0308fa3455645a5fc91e9bd50912441eb07dbf",
      "parents": [
        "99e4c750419e0bb24a1bbf094b1e6a5a4eedbc36"
      ],
      "author": {
        "name": "Tristan Ye",
        "email": "tristan.ye@oracle.com",
        "time": "Fri Mar 18 14:35:37 2011 +0800"
      },
      "committer": {
        "name": "Tristan Ye",
        "email": "tristan.ye@oracle.com",
        "time": "Wed May 25 15:17:11 2011 +0800"
      },
      "message": "Ocfs2/move_extents: helper to probe a proper region to move in an alloc group.\n\nBefore doing the movement of extents, we\u0027d better probe the alloc group from\n\u0027goal_blk\u0027 for searching a contiguous region to fit the wanted movement, we\neven will have a best-effort try by compromising to a threshold around the\ngiven goal.\n\nSigned-off-by: Tristan Ye \u003ctristan.ye@oracle.com\u003e\n"
    },
    {
      "commit": "99e4c750419e0bb24a1bbf094b1e6a5a4eedbc36",
      "tree": "2d9fdf13b965f6b786b1831182df02d9d5d694da",
      "parents": [
        "1c06b9126130aa4a917bba81c39579ed08a67b4e"
      ],
      "author": {
        "name": "Tristan Ye",
        "email": "tristan.ye@oracle.com",
        "time": "Fri Mar 18 14:35:36 2011 +0800"
      },
      "committer": {
        "name": "Tristan Ye",
        "email": "tristan.ye@oracle.com",
        "time": "Wed May 25 15:17:10 2011 +0800"
      },
      "message": "Ocfs2/move_extents: helper to validate and adjust moving goal.\n\nFirst best-effort attempt to validate and adjust the goal (physical address in\nblock), while it can\u0027t guarantee later operation can succeed all the time since\nglobal_bitmap may change a bit over time.\n\nSigned-off-by: Tristan Ye \u003ctristan.ye@oracle.com\u003e\n"
    },
    {
      "commit": "1c06b9126130aa4a917bba81c39579ed08a67b4e",
      "tree": "553ebd98601d3edcae182002f72246a04094d9c6",
      "parents": [
        "202ee5facb2c55f36a4324a4f56d8bdf3617a579"
      ],
      "author": {
        "name": "Tristan Ye",
        "email": "tristan.ye@oracle.com",
        "time": "Fri Mar 18 14:35:35 2011 +0800"
      },
      "committer": {
        "name": "Tristan Ye",
        "email": "tristan.ye@oracle.com",
        "time": "Wed May 25 15:17:10 2011 +0800"
      },
      "message": "Ocfs2/move_extents: find the victim alloc group, where the given #blk fits.\n\nThis function tries locate the right alloc group, where a given physical block\nresides, it returns the caller a buffer_head of victim group descriptor, and also\nthe offset of block in this group, by passing the block number.\n\nSigned-off-by: Tristan Ye \u003ctristan.ye@oracle.com\u003e\n"
    },
    {
      "commit": "202ee5facb2c55f36a4324a4f56d8bdf3617a579",
      "tree": "22875e904e85cf1ef9419119914314fe4dd48550",
      "parents": [
        "8f603e567aa7a243e68ca48b4f105b990851360f"
      ],
      "author": {
        "name": "Tristan Ye",
        "email": "tristan.ye@oracle.com",
        "time": "Fri Mar 18 14:35:34 2011 +0800"
      },
      "committer": {
        "name": "Tristan Ye",
        "email": "tristan.ye@oracle.com",
        "time": "Wed May 25 15:17:09 2011 +0800"
      },
      "message": "Ocfs2/move_extents: defrag a range of extent.\n\nIt\u0027s a relatively complete function to accomplish defragmentation for entire\nor partial extent, one journal handle was kept during the operation, it was\nlogically doing one more thing than ocfs2_move_extent() acutally, yes, it\u0027s\nclaiming the new clusters itself;-)\n\nSigned-off-by: Tristan Ye \u003ctristan.ye@oracle.com\u003e\n"
    },
    {
      "commit": "8f603e567aa7a243e68ca48b4f105b990851360f",
      "tree": "f12071d774d6f7d89480ee87a987cbca1687f49c",
      "parents": [
        "de474ee8bbc315b0e6772cebdb24b335f82cf95d"
      ],
      "author": {
        "name": "Tristan Ye",
        "email": "tristan.ye@oracle.com",
        "time": "Fri Mar 18 14:35:33 2011 +0800"
      },
      "committer": {
        "name": "Tristan Ye",
        "email": "tristan.ye@oracle.com",
        "time": "Wed May 25 15:17:09 2011 +0800"
      },
      "message": "Ocfs2/move_extents: move a range of extent.\n\nThe moving range of __ocfs2_move_extent() was within one extent always, it\nconsists following parts:\n\n1. Duplicates the clusters in pages to new_blkoffset, where extent to be moved.\n\n2. Split the original extent with new extent, coalecse the nearby extents if possible.\n\n3. Append old clusters to truncate log, or decrease_refcount if the extent was refcounted.\n\nSigned-off-by: Tristan Ye \u003ctristan.ye@oracle.com\u003e\n"
    },
    {
      "commit": "de474ee8bbc315b0e6772cebdb24b335f82cf95d",
      "tree": "04426cf07865f7f456eb2f8154d96b2ef403cee9",
      "parents": [
        "028ba5df63fa9fc18045bc1e9b48cdd43727e1c5"
      ],
      "author": {
        "name": "Tristan Ye",
        "email": "tristan.ye@oracle.com",
        "time": "Fri Mar 18 14:35:32 2011 +0800"
      },
      "committer": {
        "name": "Tristan Ye",
        "email": "tristan.ye@oracle.com",
        "time": "Wed May 25 15:17:09 2011 +0800"
      },
      "message": "Ocfs2/move_extents: lock allocators and reserve metadata blocks and data clusters for extents moving.\n\nocfs2_lock_allocators_move_extents() was like the common ocfs2_lock_allocators(),\nto lock metadata and data alloctors during extents moving, reserve appropriate\nmetadata blocks and data clusters, also performa a best- effort to calculate the\ncredits for journal transaction in one run of movement.\n\nSigned-off-by: Tristan Ye \u003ctristan.ye@oracle.com\u003e\n"
    },
    {
      "commit": "028ba5df63fa9fc18045bc1e9b48cdd43727e1c5",
      "tree": "2a3f20f03a0f82bc2ffd87b68b1649823b178e63",
      "parents": [
        "220ebc4334326bc23e4c4c3f076dc5a58ec293f6"
      ],
      "author": {
        "name": "Tristan Ye",
        "email": "tristan.ye@oracle.com",
        "time": "Tue May 24 16:42:09 2011 +0800"
      },
      "committer": {
        "name": "Tristan Ye",
        "email": "tristan.ye@oracle.com",
        "time": "Wed May 25 15:17:08 2011 +0800"
      },
      "message": "Ocfs2/move_extents: Add basic framework and source files for extent moving.\n\nAdding new files move_extents.[c|h] and fill it with nothing but\nonly a context structure.\n\nSigned-off-by: Tristan Ye \u003ctristan.ye@oracle.com\u003e\n"
    },
    {
      "commit": "220ebc4334326bc23e4c4c3f076dc5a58ec293f6",
      "tree": "b455859f7a1f53ab3bf54fc377ffd4fbc0425880",
      "parents": [
        "3e19a25e0591a6248f3ddd2c08566666607d827d"
      ],
      "author": {
        "name": "Tristan Ye",
        "email": "tristan.ye@oracle.com",
        "time": "Wed May 25 13:37:51 2011 +0800"
      },
      "committer": {
        "name": "Tristan Ye",
        "email": "tristan.ye@oracle.com",
        "time": "Wed May 25 15:17:08 2011 +0800"
      },
      "message": "Ocfs2/move_extents: Adding new ioctl code \u0027OCFS2_IOC_MOVE_EXT\u0027 to ocfs2.\n\nPatch also manages to add a manipulative struture for this ioctl.\n\nSigned-off-by: Tristan Ye \u003ctristan.ye@oracle.com\u003e\n"
    },
    {
      "commit": "3e19a25e0591a6248f3ddd2c08566666607d827d",
      "tree": "cd01e54a18f4f91e1ae14fccdbc564ee7ce1b09b",
      "parents": [
        "d24a10b9f8ed548981696cd36e2b4f16e6f360b1"
      ],
      "author": {
        "name": "Tristan Ye",
        "email": "tristan.ye@oracle.com",
        "time": "Tue May 24 16:21:20 2011 +0800"
      },
      "committer": {
        "name": "Tristan Ye",
        "email": "tristan.ye@oracle.com",
        "time": "Wed May 25 15:17:08 2011 +0800"
      },
      "message": "Ocfs2/refcounttree: Publicize couple of funcs from refcounttree.c\n\nThe original goal of commonizing these funcs is to benefit defraging/extent_moving\ncodes in the future,  based on the fact that reflink and defragmentation having\nthe same Copy-On-Wrtie mechanism.\n\nSigned-off-by: Tristan Ye \u003ctristan.ye@oracle.com\u003e\n"
    },
    {
      "commit": "d24a10b9f8ed548981696cd36e2b4f16e6f360b1",
      "tree": "4189d2be951b63a6ff480fdabd031605ce342e92",
      "parents": [
        "3e5db17d4da7f45c454940096d9e429cca12ef9f"
      ],
      "author": {
        "name": "Tristan Ye",
        "email": "tristan.ye@oracle.com",
        "time": "Tue May 24 15:27:17 2011 +0800"
      },
      "committer": {
        "name": "Tristan Ye",
        "email": "tristan.ye@oracle.com",
        "time": "Wed May 25 12:18:07 2011 +0800"
      },
      "message": "Ocfs2: Add a new code \u0027OCFS2_INFO_FREEFRAG\u0027 for o2info ioctl.\n\nThis new code is a bit more complicated than former ones, the goal is to\nshow user all statistics required to take a deep insight into filesystem\non how the disk is being fragmentaed.\n\nThe goal is achieved by scaning global bitmap from (cluster)group to group\nto figure out following factors in the filesystem:\n\n        - How many free chunks in a fixed size as user requested.\n        - How many real free chunks in all size.\n        - Min/Max/Avg size(in) clusters of free chunks.\n        - How do free chunks distribute(in size) in terms of a histogram,\n          just like following:\n          ---------------------------------------------------------\n          Extent Size Range :  Free extents  Free Clusters  Percent\n             32K...   64K-  :             1             1    0.00%\n              1M...    2M-  :             9           288    0.03%\n              8M...   16M-  :             2           831    0.09%\n             32M...   64M-  :             1          2047    0.23%\n            128M...  256M-  :             1          8191    0.92%\n            256M...  512M-  :             2         21706    2.43%\n            512M... 1024M-  :            27        858623   96.29%\n          ---------------------------------------------------------\n\nUserspace ioctl() call eventually gets the above info returned by passing\na \u0027struct ocfs2_info_freefrag\u0027 with the chunk_size being specified first.\n\nSigned-off-by: Tristan Ye \u003ctristan.ye@oracle.com\u003e\n"
    },
    {
      "commit": "3e5db17d4da7f45c454940096d9e429cca12ef9f",
      "tree": "e808424de357b1140817341675b8624292c6c7b2",
      "parents": [
        "8aa1fa360d0e2b31891f180d8b8e0f8d38f9243c"
      ],
      "author": {
        "name": "Tristan Ye",
        "email": "tristan.ye@oracle.com",
        "time": "Tue May 24 15:25:54 2011 +0800"
      },
      "committer": {
        "name": "Tristan Ye",
        "email": "tristan.ye@oracle.com",
        "time": "Wed May 25 12:18:02 2011 +0800"
      },
      "message": "Ocfs2: Add a new code \u0027OCFS2_INFO_FREEINODE\u0027 for o2info ioctl.\n\nThe new code is dedicated to calculate free inodes number of all inode_allocs,\nthen return the info to userpace in terms of an array.\n\nSpecially, flag \u0027OCFS2_INFO_FL_NON_COHERENT\u0027, manipulated by \u0027--cluster-coherent\u0027\nfrom userspace, is now going to be involved. setting the flag on means no cluster\ncoherency considered, usually, userspace tools choose none-coherency strategy by\ndefault for the sake of performace.\n\nSigned-off-by: Tristan Ye \u003ctristan.ye@oracle.com\u003e\n"
    },
    {
      "commit": "8aa1fa360d0e2b31891f180d8b8e0f8d38f9243c",
      "tree": "26d543b8b88a32db75a286895a12c69c2280b081",
      "parents": [
        "4a7df24ddc7097cd789a7527187826552ea0765e"
      ],
      "author": {
        "name": "Tristan Ye",
        "email": "tristan.ye@oracle.com",
        "time": "Tue May 24 15:22:59 2011 +0800"
      },
      "committer": {
        "name": "Tristan Ye",
        "email": "tristan.ye@oracle.com",
        "time": "Wed May 25 12:17:18 2011 +0800"
      },
      "message": "Ocfs2: Using inline funcs to set/clear *FILLED* flags in info handler.\n\nIt just removes some macros for the sake of typechecking gains.\n\nSigned-off-by: Tristan Ye \u003ctristan.ye@oracle.com\u003e\n"
    },
    {
      "commit": "98ba073c606fba7a48a8e0d36e3b02105d31c768",
      "tree": "90d498c827fbce9d0c5c10b46f98a59148159e1d",
      "parents": [
        "9f62e96084cd7ae6dedcfb4caf066ed6cc67e0d7"
      ],
      "author": {
        "name": "Robin Dong",
        "email": "hao.bigrat@gmail.com",
        "time": "Fri May 06 16:01:40 2011 +0800"
      },
      "committer": {
        "name": "Joel Becker",
        "email": "jlbec@evilplan.org",
        "time": "Mon May 23 23:59:40 2011 -0700"
      },
      "message": "ocfs2: change incorrect \u0027extern\u0027 keyword to \u0027static\u0027 in dlmfs\n\nChange function param_set_dlmfs_capabilities from \u0027extern\u0027 to \u0027static\u0027 since\nfunction param_get_dlmfs_capabilities is also \u0027static\u0027.\n\nSigned-off-by: Robin Dong \u003csanbai@taobao.com\u003e\nSigned-off-by: Joel Becker \u003cjlbec@evilplan.org\u003e\n"
    },
    {
      "commit": "9f62e96084cd7ae6dedcfb4caf066ed6cc67e0d7",
      "tree": "67a07e9c4ab93c72e1847ab0974cb601ce234251",
      "parents": [
        "10fca35ff12ad2a7017bce6567cffe9da443d7a2"
      ],
      "author": {
        "name": "Sunil Mushran",
        "email": "sunil.mushran@oracle.com",
        "time": "Thu May 19 14:34:09 2011 -0700"
      },
      "committer": {
        "name": "Joel Becker",
        "email": "jlbec@evilplan.org",
        "time": "Mon May 23 23:37:39 2011 -0700"
      },
      "message": "ocfs2/dlm: dlm_is_lockres_migrateable() returns boolean\n\nPatch cleans up the gunk added by commit 388c4bcb4e63e88fb1f312a2f5f9eb2623afcf5b.\ndlm_is_lockres_migrateable() now returns 1 if lockresource is deemed\nmigrateable and 0 if not.\n\nSigned-off-by: Sunil Mushran \u003csunil.mushran@oracle.com\u003e\nSigned-off-by: Joel Becker \u003cjlbec@evilplan.org\u003e\n"
    },
    {
      "commit": "10fca35ff12ad2a7017bce6567cffe9da443d7a2",
      "tree": "46c8fd9157bde0616798ff1945d16da4c9881d16",
      "parents": [
        "55e67872b67ebd30d1326067cdba53a622ab497d"
      ],
      "author": {
        "name": "Tao Ma",
        "email": "boyu.mt@taobao.com",
        "time": "Mon May 23 10:36:45 2011 +0800"
      },
      "committer": {
        "name": "Joel Becker",
        "email": "jlbec@evilplan.org",
        "time": "Mon May 23 23:37:20 2011 -0700"
      },
      "message": "ocfs2: Add trace event for trim.\n\nAdd the corresponding trace event for trim.\n\nSigned-off-by: Tao Ma \u003cboyu.mt@taobao.com\u003e\nSigned-off-by: Joel Becker \u003cjlbec@evilplan.org\u003e\n"
    },
    {
      "commit": "55e67872b67ebd30d1326067cdba53a622ab497d",
      "tree": "6269c3ab8aebc81ee32997c3e23ca53c68db3482",
      "parents": [
        "e80de36d8dbff216a384e9204e54d59deeadf344"
      ],
      "author": {
        "name": "Tao Ma",
        "email": "boyu.mt@taobao.com",
        "time": "Mon May 23 10:36:44 2011 +0800"
      },
      "committer": {
        "name": "Joel Becker",
        "email": "jlbec@evilplan.org",
        "time": "Mon May 23 23:37:19 2011 -0700"
      },
      "message": "ocfs2: Add FITRIM ioctl.\n\nAdd the corresponding ioctl function for FITRIM.\n\nSigned-off-by: Tao Ma \u003cboyu.mt@taobao.com\u003e\nSigned-off-by: Joel Becker \u003cjlbec@evilplan.org\u003e\n"
    },
    {
      "commit": "e80de36d8dbff216a384e9204e54d59deeadf344",
      "tree": "ff1bde3fa17785519863f3880fecbb6b6fcd148a",
      "parents": [
        "69a60c4d177632bd56ae567dc0a082f7119b71c2"
      ],
      "author": {
        "name": "Tao Ma",
        "email": "boyu.mt@taobao.com",
        "time": "Mon May 23 10:36:43 2011 +0800"
      },
      "committer": {
        "name": "Joel Becker",
        "email": "jlbec@evilplan.org",
        "time": "Mon May 23 23:37:18 2011 -0700"
      },
      "message": "ocfs2: Add ocfs2_trim_fs for SSD trim support.\n\nAdd ocfs2_trim_fs to support trimming freed clusters in the\nvolume. A range will be given and all the freed clusters greater\nthan minlen will be discarded to the block layer.\n\nSigned-off-by: Tao Ma \u003cboyu.mt@taobao.com\u003e\nSigned-off-by: Joel Becker \u003cjlbec@evilplan.org\u003e\n"
    },
    {
      "commit": "69a60c4d177632bd56ae567dc0a082f7119b71c2",
      "tree": "8d94c8a6ad6cd7040650763b23a0396d16e440f2",
      "parents": [
        "e2b0c215c2bd57693af69f7a430585109c02b07f"
      ],
      "author": {
        "name": "Amerigo Wang",
        "email": "amwang@redhat.com",
        "time": "Sun May 01 21:34:16 2011 +0800"
      },
      "committer": {
        "name": "Joel Becker",
        "email": "jlbec@evilplan.org",
        "time": "Mon May 23 23:37:14 2011 -0700"
      },
      "message": "ocfs2: remove the /sys/o2cb symlink\n\nIt is obsoleted since Dec 2005.\n\nSigned-off-by: WANG Cong \u003camwang@redhat.com\u003e\nSigned-off-by: Joel Becker \u003cjlbec@evilplan.org\u003e\n"
    },
    {
      "commit": "e2b0c215c2bd57693af69f7a430585109c02b07f",
      "tree": "1b3197508edd4045267dfb1d71c46a3acf9ae1ec",
      "parents": [
        "d762f4383100c2a87b1a3f2d678cd3b5425655b4"
      ],
      "author": {
        "name": "Tiger Yang",
        "email": "tiger.yang@oracle.com",
        "time": "Wed Mar 02 19:32:09 2011 +0800"
      },
      "committer": {
        "name": "Joel Becker",
        "email": "jlbec@evilplan.org",
        "time": "Mon May 23 23:37:12 2011 -0700"
      },
      "message": "ocfs2: clean up mount option about atime in ocfs2.txt\n\nAs ocfs2 supports relatime and strictatime, we need update the\nrelative document. Atime_quantum need work with strictatime, so only\nshow it in procfs when mount with strictatime.\n\nSigned-off-by: Tiger Yang \u003ctiger.yang@oracle.com\u003e\nSigned-off-by: Joel Becker \u003cjlbec@evilplan.org\u003e\n"
    },
    {
      "commit": "57d19e80f459dd845fb3cfeba8e6df8471bac142",
      "tree": "8254766715720228db3d50f1ef3c7fe003c06d65",
      "parents": [
        "ee9ec4f82049c678373a611ce20ac67fe9ad836e",
        "e64851f5a0ad6ec991f74ebb3108c35aa0323d5f"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon May 23 09:12:26 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon May 23 09:12:26 2011 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial: (39 commits)\n  b43: fix comment typo reqest -\u003e request\n  Haavard Skinnemoen has left Atmel\n  cris: typo in mach-fs Makefile\n  Kconfig: fix copy/paste-ism for dell-wmi-aio driver\n  doc: timers-howto: fix a typo (\"unsgined\")\n  perf: Only include annotate.h once in tools/perf/util/ui/browsers/annotate.c\n  md, raid5: Fix spelling error in comment (\u0027Ofcourse\u0027 --\u003e \u0027Of course\u0027).\n  treewide: fix a few typos in comments\n  regulator: change debug statement be consistent with the style of the rest\n  Revert \"arm: mach-u300/gpio: Fix mem_region resource size miscalculations\"\n  audit: acquire creds selectively to reduce atomic op overhead\n  rtlwifi: don\u0027t touch with treewide double semicolon removal\n  treewide: cleanup continuations and remove logging message whitespace\n  ath9k_hw: don\u0027t touch with treewide double semicolon removal\n  include/linux/leds-regulator.h: fix syntax in example code\n  tty: fix typo in descripton of tty_termios_encode_baud_rate\n  xtensa: remove obsolete BKL kernel option from defconfig\n  m68k: fix comment typo \u0027occcured\u0027\n  arch:Kconfig.locks Remove unused config option.\n  treewide: remove extra semicolons\n  ...\n"
    },
    {
      "commit": "df016c665b10ae80d8db67ec8103b50c5c234e5c",
      "tree": "84d2737f5c7ce101aefb98a0b1b3ae1c761cde5e",
      "parents": [
        "10b3dd76117a327557b8cb898b41c18afd08dc86"
      ],
      "author": {
        "name": "Sunil Mushran",
        "email": "sunil.mushran@oracle.com",
        "time": "Wed May 04 10:28:07 2011 -0700"
      },
      "committer": {
        "name": "Joel Becker",
        "email": "jlbec@evilplan.org",
        "time": "Fri May 13 11:27:30 2011 -0700"
      },
      "message": "ocfs2/dlm: Target node death during resource migration leads to thread spin\n\nDuring resource migration, if the target node were to die, the thread doing\nthe migration spins until the target node is not removed from the domain map.\nThis patch slows the spin by making the thread wait for the recovery to kick in.\n\nSigned-off-by: Sunil Mushran \u003csunil.mushran@oracle.com\u003e\nSigned-off-by: Joel Becker \u003cjlbec@evilplan.org\u003e\n"
    },
    {
      "commit": "10b3dd76117a327557b8cb898b41c18afd08dc86",
      "tree": "127b61f13ad5814aace6f2610a0cfe87d128072d",
      "parents": [
        "33c12a5436464f8d4f56d68e5e79e24a3a1f11aa"
      ],
      "author": {
        "name": "Sunil Mushran",
        "email": "sunil.mushran@oracle.com",
        "time": "Wed May 04 10:28:02 2011 -0700"
      },
      "committer": {
        "name": "Joel Becker",
        "email": "jlbec@evilplan.org",
        "time": "Fri May 13 11:27:14 2011 -0700"
      },
      "message": "ocfs2: Skip mount recovery for hard-ro mounts\n\nPatch skips mount recovery for hard-ro mounts which otherwise leads to an oops.\n\nSigned-off-by: Sunil Mushran \u003csunil.mushran@oracle.com\u003e\nAcked-by: Mark Fasheh \u003cmfasheh@suse.com\u003e\nSigned-off-by: Joel Becker \u003cjlbec@evilplan.org\u003e\n"
    },
    {
      "commit": "33c12a5436464f8d4f56d68e5e79e24a3a1f11aa",
      "tree": "8fe03ac8fa06b7681a5256661722bc311eaa8b87",
      "parents": [
        "76d9fc2954d057b19bf5d7b854df2b621b00fdec"
      ],
      "author": {
        "name": "Sunil Mushran",
        "email": "sunil.mushran@oracle.com",
        "time": "Wed May 04 10:28:01 2011 -0700"
      },
      "committer": {
        "name": "Joel Becker",
        "email": "jlbec@evilplan.org",
        "time": "Fri May 13 11:27:02 2011 -0700"
      },
      "message": "ocfs2/cluster: Heartbeat mismatch message improved\n\nIf o2hb finds unexpected values in the heartbeat slot, it prints a message\n\"ERROR: Device \"dm-6\": another node is heartbeating in our slot!\"\n\nThis message could be misleading. This patch adds two more messages to\nhelp users better diagnose the problem.\n\nSigned-off-by: Sunil Mushran \u003csunil.mushran@oracle.com\u003e\nAcked-by: Mark Fasheh \u003cmfasheh@suse.com\u003e\nSigned-off-by: Joel Becker \u003cjlbec@evilplan.org\u003e\n"
    },
    {
      "commit": "76d9fc2954d057b19bf5d7b854df2b621b00fdec",
      "tree": "ca6725a08b9ffd79030d0bb22ec4c162f341f40e",
      "parents": [
        "4da6dc293604f55d156148b8f60b94053e3195fc"
      ],
      "author": {
        "name": "Sunil Mushran",
        "email": "sunil.mushran@oracle.com",
        "time": "Wed May 04 10:28:00 2011 -0700"
      },
      "committer": {
        "name": "Joel Becker",
        "email": "jlbec@evilplan.org",
        "time": "Fri May 13 11:26:48 2011 -0700"
      },
      "message": "ocfs2/cluster: Increase the live threshold for global heartbeat\n\nWe have seen isolated cases (very few, I might add) of o2hb not detecting all\nlive nodes on startup. One plausible reasoning for it is that other node had\na hb io delay at the same time. The live threshold set at 2 (as low as it can\nbe) could be increased to ameliorate the situation.\n\nBut increasing the threshold directly affects mount time. Currently it takes\naround 5 secs to mount a volume in o2cb cluster with local heartbeat. Increasing\nthe threshold will make mounts even slower. As the issue itself is rare, we have\nleft things as they are for the local heartbeat mode.\n\nHowever we can improve the situation for global heartbeat mode as in that mode,\nwe start the heartbeat much before the mount.\n\nThis patch doubles the live threshold for the start of the first region in\nglobal heartbeat mode.\n\nAddresses internal Oracle bug#10635585.\n\nSigned-off-by: Sunil Mushran \u003csunil.mushran@oracle.com\u003e\nAcked-by: Mark Fasheh \u003cmfasheh@suse.com\u003e\nSigned-off-by: Joel Becker \u003cjlbec@evilplan.org\u003e\n"
    },
    {
      "commit": "4da6dc293604f55d156148b8f60b94053e3195fc",
      "tree": "5357b1d04f4b2b3ab34f2d502a74ca7757ab6857",
      "parents": [
        "9a790ba1ec02bbae0933e7ebd576c0bc329e9796"
      ],
      "author": {
        "name": "Sunil Mushran",
        "email": "sunil.mushran@oracle.com",
        "time": "Wed May 04 10:27:10 2011 -0700"
      },
      "committer": {
        "name": "Joel Becker",
        "email": "jlbec@evilplan.org",
        "time": "Fri May 13 11:26:37 2011 -0700"
      },
      "message": "ocfs2/dlm: Use negotiated o2dlm protocol version\n\nPatch fixes a bug in the o2dlm protocol negotiation in that it is using\nthe builtin version rather than the negotiated version during the domain\njoin. This causes join errors when a node having kernel \u003e\u003d 2.6.37 joins\na cluster with nodes having kernels \u003c 2.6.37.\n\nThis only affects the o2cb cluster stack.\n\nSigned-off-by: Sunil Mushran \u003csunil.mushran@oracle.com\u003e\nReported-by: Jacek Stepniewski \u003cJacek.Stepniewski@agora.pl\u003e\nAcked-by: Mark Fasheh \u003cmfasheh@suse.com\u003e\nSigned-off-by: Joel Becker \u003cjlbec@evilplan.org\u003e\n"
    },
    {
      "commit": "9a790ba1ec02bbae0933e7ebd576c0bc329e9796",
      "tree": "2c9de49e67ed2be4e6db04eae6b9d4062e9dd950",
      "parents": [
        "5d44670facd3205212f8fe89eb422e3b5f309612"
      ],
      "author": {
        "name": "Tristan Ye",
        "email": "tristan.ye@oracle.com",
        "time": "Thu May 12 20:47:07 2011 +0800"
      },
      "committer": {
        "name": "Joel Becker",
        "email": "jlbec@evilplan.org",
        "time": "Fri May 13 11:26:20 2011 -0700"
      },
      "message": "ocfs2: skip existing hole when removing the last extent_rec in punching-hole codes.\n\nIn the case of removing a partial extent record which covers a hole, current\npunching-hole logic will try to remove more than the length of whole extent\nrecord, which leads to the failure of following assert(fs/ocfs2/alloc.c):\n\n5507         BUG_ON(cpos \u003c le32_to_cpu(rec-\u003ee_cpos) || trunc_range \u003e rec_range);\n\nThis patch tries to skip existing hole at the last attempt of removing a partial\nextent record, what\u0027s more, it also adds some necessary comments for better\nunderstanding of punching-hole codes.\n\nSigned-off-by: Tristan Ye \u003ctristan.ye@oracle.com\u003e\nSigned-off-by: Joel Becker \u003cjlbec@evilplan.org\u003e\n"
    },
    {
      "commit": "5d44670facd3205212f8fe89eb422e3b5f309612",
      "tree": "879f9cc1e9371688ba7d14631e14c83a86ce60ab",
      "parents": [
        "446cc6345d3de6571bdd0840f48aca441488a28d"
      ],
      "author": {
        "name": "Marcus Meissner",
        "email": "meissner@suse.de",
        "time": "Thu May 05 10:44:11 2011 -0700"
      },
      "committer": {
        "name": "Joel Becker",
        "email": "jlbec@evilplan.org",
        "time": "Fri May 13 11:26:15 2011 -0700"
      },
      "message": "ocfs2: Initialize data_ac (might be used uninitialized)\n\nCLANG found that there is a path that has data_ac uninitialized,\nthis place\n\t2917\t/* This gets us the dx_root */\n\t2918\tret \u003d ocfs2_reserve_new_metadata_blocks(osb, 1, \u0026meta_ac);\n\t2919\tif (ret) {\n\n\t3\n\t\tTaking true branch\n\t2920\tmlog_errno(ret);\n\t2921\tgoto out;\n\n\t4\n\t\tControl jumps to line 3168\n\t2922\t}\n\nGoes to the out: label without data_ac being initialized.\n\nCiao, Marcus\n\nSigned-Off-By: Marcus Meissner \u003cmeissner@suse.de\u003e\nSigned-off-by: Mark Fasheh \u003cmfasheh@suse.com\u003e\nSigned-off-by: Joel Becker \u003cjlbec@evilplan.org\u003e\n"
    },
    {
      "commit": "e9c549998dc24209847007e1f209f3b6c88d21ba",
      "tree": "0f52fcbe1dfa158349afc6ad2edaa6738615dc3b",
      "parents": [
        "8e10cd74342c7f5ce259cceca36f6eba084f5d58"
      ],
      "author": {
        "name": "Lucas De Marchi",
        "email": "lucas.demarchi@profusion.mobi",
        "time": "Tue Apr 26 23:28:26 2011 -0700"
      },
      "committer": {
        "name": "Lucas De Marchi",
        "email": "lucas.demarchi@profusion.mobi",
        "time": "Tue Apr 26 23:31:11 2011 -0700"
      },
      "message": "Revert wrong fixes for common misspellings\n\nThese changes were incorrectly fixed by codespell. They were now\nmanually corrected.\n\nSigned-off-by: Lucas De Marchi \u003clucas.demarchi@profusion.mobi\u003e\n"
    },
    {
      "commit": "07f9479a40cc778bc1462ada11f95b01360ae4ff",
      "tree": "0676cf38df3844004bb3ebfd99dfa67a4a8998f5",
      "parents": [
        "9d5e6bdb3013acfb311ab407eeca0b6a6a3dedbf",
        "cd2e49e90f1cae7726c9a2c54488d881d7f1cd1c"
      ],
      "author": {
        "name": "Jiri Kosina",
        "email": "jkosina@suse.cz",
        "time": "Tue Apr 26 10:22:15 2011 +0200"
      },
      "committer": {
        "name": "Jiri Kosina",
        "email": "jkosina@suse.cz",
        "time": "Tue Apr 26 10:22:59 2011 +0200"
      },
      "message": "Merge branch \u0027master\u0027 into for-next\n\nFast-forwarded to current state of Linus\u0027 tree as there are patches to be\napplied for files that didn\u0027t exist on the old branch.\n"
    },
    {
      "commit": "6eab04a87677a37cf15b52e2b4b4fd57917102ad",
      "tree": "dc92e25473e7e5c9183312d7feeeaeabb2157baf",
      "parents": [
        "9f0af69b2dd34d2c21817d599db7bdb3c972a759"
      ],
      "author": {
        "name": "Justin P. Mattock",
        "email": "justinmattock@gmail.com",
        "time": "Fri Apr 08 19:49:08 2011 -0700"
      },
      "committer": {
        "name": "Jiri Kosina",
        "email": "jkosina@suse.cz",
        "time": "Sun Apr 10 17:01:05 2011 +0200"
      },
      "message": "treewide: remove extra semicolons\n\nSigned-off-by: Justin P. Mattock \u003cjustinmattock@gmail.com\u003e\nSigned-off-by: Jiri Kosina \u003cjkosina@suse.cz\u003e\n"
    },
    {
      "commit": "25985edcedea6396277003854657b5f3cb31a628",
      "tree": "f026e810210a2ee7290caeb737c23cb6472b7c38",
      "parents": [
        "6aba74f2791287ec407e0f92487a725a25908067"
      ],
      "author": {
        "name": "Lucas De Marchi",
        "email": "lucas.demarchi@profusion.mobi",
        "time": "Wed Mar 30 22:57:33 2011 -0300"
      },
      "committer": {
        "name": "Lucas De Marchi",
        "email": "lucas.demarchi@profusion.mobi",
        "time": "Thu Mar 31 11:26:23 2011 -0300"
      },
      "message": "Fix common misspellings\n\nFixes generated by \u0027codespell\u0027 and manually reviewed.\n\nSigned-off-by: Lucas De Marchi \u003clucas.demarchi@profusion.mobi\u003e\n"
    },
    {
      "commit": "03e4970c10151c5fb25ddd7e9a142d63c6a8d058",
      "tree": "393447b9d0a6ebc64689d6e793e80ad549b97e35",
      "parents": [
        "1788c208aab15f9d9d1d24cff0d0c64b5c73bbee",
        "272b62c1f0f6f742046e45b50b6fec98860208a0"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Mar 28 13:03:31 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Mar 28 13:03:31 2011 -0700"
      },
      "message": "Merge branch \u0027upstream-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jlbec/ocfs2\n\n* \u0027upstream-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jlbec/ocfs2: (39 commits)\n  Treat writes as new when holes span across page boundaries\n  fs,ocfs2: Move o2net_get_func_run_time under CONFIG_OCFS2_FS_STATS.\n  ocfs2/dlm: Move kmalloc() outside the spinlock\n  ocfs2: Make the left masklogs compat.\n  ocfs2: Remove masklog ML_AIO.\n  ocfs2: Remove masklog ML_UPTODATE.\n  ocfs2: Remove masklog ML_BH_IO.\n  ocfs2: Remove masklog ML_JOURNAL.\n  ocfs2: Remove masklog ML_EXPORT.\n  ocfs2: Remove masklog ML_DCACHE.\n  ocfs2: Remove masklog ML_NAMEI.\n  ocfs2: Remove mlog(0) from fs/ocfs2/dir.c\n  ocfs2: remove NAMEI from symlink.c\n  ocfs2: Remove masklog ML_QUOTA.\n  ocfs2: Remove mlog(0) from quota_local.c.\n  ocfs2: Remove masklog ML_RESERVATIONS.\n  ocfs2: Remove masklog ML_XATTR.\n  ocfs2: Remove masklog ML_SUPER.\n  ocfs2: Remove mlog(0) from fs/ocfs2/heartbeat.c\n  ocfs2: Remove mlog(0) from fs/ocfs2/slot_map.c\n  ...\n\nFix up trivial conflict in fs/ocfs2/super.c\n"
    },
    {
      "commit": "272b62c1f0f6f742046e45b50b6fec98860208a0",
      "tree": "e57667bcd599a145f845fdb6aa4925ead19c0592",
      "parents": [
        "99bdc3880c611c7f2061fbd5372ef81b40217e26"
      ],
      "author": {
        "name": "Goldwyn Rodrigues",
        "email": "rgoldwyn@gmail.com",
        "time": "Thu Feb 17 09:44:40 2011 -0600"
      },
      "committer": {
        "name": "Joel Becker",
        "email": "jlbec@evilplan.org",
        "time": "Mon Mar 28 09:44:58 2011 -0700"
      },
      "message": "Treat writes as new when holes span across page boundaries\n\nWhen a hole spans across page boundaries, the next write forces\na read of the block. This could end up reading existing garbage\ndata from the disk in ocfs2_map_page_blocks. This leads to\nnon-zero holes. In order to avoid this, mark the writes as new\nwhen the holes span across page boundaries.\n\nSigned-off-by: Goldwyn Rodrigues \u003crgoldwyn@suse.de\u003e\nSigned-off-by: jlbec \u003cjlbec@evilplan.org\u003e\n"
    },
    {
      "commit": "99bdc3880c611c7f2061fbd5372ef81b40217e26",
      "tree": "ef68a53e28e9ee53ce9db3642bab5fa5b3d44866",
      "parents": [
        "ed59992e8d91b70053c53d846a76f7e1ac000454",
        "b4e1b7e88b2c87c358c2a88bec0c76d25accc604"
      ],
      "author": {
        "name": "Joel Becker",
        "email": "jlbec@evilplan.org",
        "time": "Mon Mar 28 09:44:26 2011 -0700"
      },
      "committer": {
        "name": "Joel Becker",
        "email": "jlbec@evilplan.org",
        "time": "Mon Mar 28 09:44:26 2011 -0700"
      },
      "message": "Merge branch \u0027mlog_replace_for_39\u0027 of git://repo.or.cz/taoma-kernel into ocfs2-merge-window-fix\n"
    },
    {
      "commit": "ed59992e8d91b70053c53d846a76f7e1ac000454",
      "tree": "f8e3cebab68a6a5919225e95dde9f3f3a9d00817",
      "parents": [
        "770c4d81e0d2ca45516ddc9ae0a69565790b5533"
      ],
      "author": {
        "name": "Rakib Mullick",
        "email": "rakib.mullick@gmail.com",
        "time": "Fri Mar 18 17:01:08 2011 +0600"
      },
      "committer": {
        "name": "Joel Becker",
        "email": "jlbec@evilplan.org",
        "time": "Mon Mar 28 09:43:28 2011 -0700"
      },
      "message": "fs,ocfs2: Move o2net_get_func_run_time under CONFIG_OCFS2_FS_STATS.\n\nWhen CONFIG_DEBUG_FS\u003dy and CONFIG_OCFS2_FS_STATS\u003dn, we get the\nfollowing warning:\n\nfs/ocfs2/cluster/tcp.c:213:16: warning: ‘o2net_get_func_run_time’\ndefined but not used\n\nSince o2net_get_func_run_time is only called from\no2net_update_recv_stats, so move it under CONFIG_OCFS2_FS_STATS.\n\nSigned-off-by: Rakib Mullick \u003crakib.mullick@gmail.com\u003e\nSigned-off-by: jlbec \u003cjlbec@evilplan.org\u003e\n"
    },
    {
      "commit": "6c5103890057b1bb781b26b7aae38d33e4c517d8",
      "tree": "e6e57961dcddcb5841acb34956e70b9dc696a880",
      "parents": [
        "3dab04e6978e358ad2307bca563fabd6c5d2c58b",
        "9d2e157d970a73b3f270b631828e03eb452d525e"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Mar 24 10:16:26 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Mar 24 10:16:26 2011 -0700"
      },
      "message": "Merge branch \u0027for-2.6.39/core\u0027 of git://git.kernel.dk/linux-2.6-block\n\n* \u0027for-2.6.39/core\u0027 of git://git.kernel.dk/linux-2.6-block: (65 commits)\n  Documentation/iostats.txt: bit-size reference etc.\n  cfq-iosched: removing unnecessary think time checking\n  cfq-iosched: Don\u0027t clear queue stats when preempt.\n  blk-throttle: Reset group slice when limits are changed\n  blk-cgroup: Only give unaccounted_time under debug\n  cfq-iosched: Don\u0027t set active queue in preempt\n  block: fix non-atomic access to genhd inflight structures\n  block: attempt to merge with existing requests on plug flush\n  block: NULL dereference on error path in __blkdev_get()\n  cfq-iosched: Don\u0027t update group weights when on service tree\n  fs: assign sb-\u003es_bdi to default_backing_dev_info if the bdi is going away\n  block: Require subsystems to explicitly allocate bio_set integrity mempool\n  jbd2: finish conversion from WRITE_SYNC_PLUG to WRITE_SYNC and explicit plugging\n  jbd: finish conversion from WRITE_SYNC_PLUG to WRITE_SYNC and explicit plugging\n  fs: make fsync_buffers_list() plug\n  mm: make generic_writepages() use plugging\n  blk-cgroup: Add unaccounted time to timeslice_used.\n  block: fixup plugging stubs for !CONFIG_BLOCK\n  block: remove obsolete comments for blkdev_issue_zeroout.\n  blktrace: Use rq-\u003ecmd_flags directly in blk_add_trace_rq.\n  ...\n\nFix up conflicts in fs/{aio.c,super.c}\n"
    },
    {
      "commit": "2e1496707560ecf98e9b0604622c0990f94861d3",
      "tree": "d1473b70fad31a903fedc87221680678a6c6c5f6",
      "parents": [
        "e795b71799ff0b27365020c9ddaa25d0d83f99c8"
      ],
      "author": {
        "name": "Serge E. Hallyn",
        "email": "serge@hallyn.com",
        "time": "Wed Mar 23 16:43:26 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 23 19:47:13 2011 -0700"
      },
      "message": "userns: rename is_owner_or_cap to inode_owner_or_capable\n\nAnd give it a kernel-doc comment.\n\n[akpm@linux-foundation.org: btrfs changed in linux-next]\nSigned-off-by: Serge E. Hallyn \u003cserge.hallyn@canonical.com\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nCc: Daniel Lezcano \u003cdaniel.lezcano@free.fr\u003e\nAcked-by: David Howells \u003cdhowells@redhat.com\u003e\nCc: James Morris \u003cjmorris@namei.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "c4354d0d6812ad6729ac33d3c8bc64585cfdb890",
      "tree": "e4cc200aeae32e65578702b8f20e22b0b9047a72",
      "parents": [
        "50e0168cc3406fc1a04d57eb08f500a173d1660d"
      ],
      "author": {
        "name": "Akinobu Mita",
        "email": "akinobu.mita@gmail.com",
        "time": "Wed Mar 23 16:42:08 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 23 19:46:17 2011 -0700"
      },
      "message": "ocfs2: use little-endian bitops\n\nAs a preparation for removing ext2 non-atomic bit operations from\nasm/bitops.h.  This converts ext2 non-atomic bit operations to\nlittle-endian bit operations.\n\nSigned-off-by: Akinobu Mita \u003cakinobu.mita@gmail.com\u003e\nAcked-by: Joel Becker \u003cjoel.becker@oracle.com\u003e\nCc: Mark Fasheh \u003cmfasheh@suse.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "a44f99c7efdb88fa41128065c9a9445c19894e34",
      "tree": "9d9dc6026b2c0409eca05e360c98b8a688ccdb1e",
      "parents": [
        "b87a2d3e3147bd140da2eae584772c353d11421b",
        "22942c00a6ad6e9e93b53811a6de72c821c15d22"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Mar 20 18:14:55 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Mar 20 18:14:55 2011 -0700"
      },
      "message": "Merge branch \u0027trivial\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild-2.6\n\n* \u0027trivial\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild-2.6: (25 commits)\n  video: change to new flag variable\n  scsi: change to new flag variable\n  rtc: change to new flag variable\n  rapidio: change to new flag variable\n  pps: change to new flag variable\n  net: change to new flag variable\n  misc: change to new flag variable\n  message: change to new flag variable\n  memstick: change to new flag variable\n  isdn: change to new flag variable\n  ieee802154: change to new flag variable\n  ide: change to new flag variable\n  hwmon: change to new flag variable\n  dma: change to new flag variable\n  char: change to new flag variable\n  fs: change to new flag variable\n  xtensa: change to new flag variable\n  um: change to new flag variables\n  s390: change to new flag variable\n  mips: change to new flag variable\n  ...\n\nFix up trivial conflict in drivers/hwmon/Makefile\n"
    },
    {
      "commit": "e16b396ce314b2bcdfe6c173fe075bf8e3432368",
      "tree": "640f0f56f2ea676647af4eb42d32fa56be2ee549",
      "parents": [
        "7fd23a24717a327a66f3c32d11a20a2f169c824f",
        "e6e8dd5055a974935af1398c8648d4a9359b0ecb"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 18 10:37:40 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 18 10:37:40 2011 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial: (47 commits)\n  doc: CONFIG_UNEVICTABLE_LRU doesn\u0027t exist anymore\n  Update cpuset info \u0026 webiste for cgroups\n  dcdbas: force SMI to happen when expected\n  arch/arm/Kconfig: remove one to many l\u0027s in the word.\n  asm-generic/user.h: Fix spelling in comment\n  drm: fix printk typo \u0027sracth\u0027\n  Remove one to many n\u0027s in a word\n  Documentation/filesystems/romfs.txt: fixing link to genromfs\n  drivers:scsi Change printk typo initate -\u003e initiate\n  serial, pch uart: Remove duplicate inclusion of linux/pci.h header\n  fs/eventpoll.c: fix spelling\n  mm: Fix out-of-date comments which refers non-existent functions\n  drm: Fix printk typo \u0027failled\u0027\n  coh901318.c: Change initate to initiate.\n  mbox-db5500.c Change initate to initiate.\n  edac: correct i82975x error-info reported\n  edac: correct i82975x mci initialisation\n  edac: correct commented info\n  fs: update comments to point correct document\n  target: remove duplicate include of target/target_core_device.h from drivers/target/target_core_hba.c\n  ...\n\nTrivial conflict in fs/eventpoll.c (spelling vs addition)\n"
    },
    {
      "commit": "0ccd234ca04b09a156f8771af316ac9de2fa7312",
      "tree": "b4b990acd2bca0c755b630e7ffe4a7bf08cd4882",
      "parents": [
        "3996eabbab5597d27d5140e1d8f9e3f1145f8b40"
      ],
      "author": {
        "name": "matt mooney",
        "email": "mfm@muteddisk.com",
        "time": "Fri Jan 14 06:12:35 2011 -0800"
      },
      "committer": {
        "name": "Michal Marek",
        "email": "mmarek@suse.cz",
        "time": "Thu Mar 17 14:02:57 2011 +0100"
      },
      "message": "fs: change to new flag variable\n\nReplace EXTRA_CFLAGS with ccflags-y. And change ntfs-objs to ntfs-y\nfor cleaner conditional inclusion.\n\nSigned-off-by: matt mooney \u003cmfm@muteddisk.com\u003e\nAcked-by: WANG Cong \u003cxiyou.wangcong@gmail.com\u003e\nSigned-off-by: Michal Marek \u003cmmarek@suse.cz\u003e\n"
    },
    {
      "commit": "0f6e0e8448a16d8d22119ce91d8dd24b44865b51",
      "tree": "7c295c02db035fc6a0b867465911a2bc9dc6b1ef",
      "parents": [
        "0d2ecee2bdb2a19d04bc5cefac0f86e790f1aad4",
        "a002951c97ff8da49938c982a4c236bf2fafdc9f"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 16 09:15:43 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 16 09:15:43 2011 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/security-testing-2.6\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/security-testing-2.6: (33 commits)\n  AppArmor: kill unused macros in lsm.c\n  AppArmor: cleanup generated files correctly\n  KEYS: Add an iovec version of KEYCTL_INSTANTIATE\n  KEYS: Add a new keyctl op to reject a key with a specified error code\n  KEYS: Add a key type op to permit the key description to be vetted\n  KEYS: Add an RCU payload dereference macro\n  AppArmor: Cleanup make file to remove cruft and make it easier to read\n  SELinux: implement the new sb_remount LSM hook\n  LSM: Pass -o remount options to the LSM\n  SELinux: Compute SID for the newly created socket\n  SELinux: Socket retains creator role and MLS attribute\n  SELinux: Auto-generate security_is_socket_class\n  TOMOYO: Fix memory leak upon file open.\n  Revert \"selinux: simplify ioctl checking\"\n  selinux: drop unused packet flow permissions\n  selinux: Fix packet forwarding checks on postrouting\n  selinux: Fix wrong checks for selinux_policycap_netpeer\n  selinux: Fix check for xfrm selinux context algorithm\n  ima: remove unnecessary call to ima_must_measure\n  IMA: remove IMA imbalance checking\n  ...\n"
    },
    {
      "commit": "bd2895eeade5f11f3e5906283c630bbdb4b57454",
      "tree": "4d98f4fcd80c7d062afce28823d08aee53e66f82",
      "parents": [
        "016aa2ed1cc9cf704cf76d8df07751b6daa9750f",
        "24d51add7438f9696a7205927bf9de3c5c787a58"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 16 08:20:19 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 16 08:20:19 2011 -0700"
      },
      "message": "Merge branch \u0027for-2.6.39\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tj/wq\n\n* \u0027for-2.6.39\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tj/wq:\n  workqueue: fix build failure introduced by s/freezeable/freezable/\n  workqueue: add system_freezeable_wq\n  rds/ib: use system_wq instead of rds_ib_fmr_wq\n  net/9p: replace p9_poll_task with a work\n  net/9p: use system_wq instead of p9_mux_wq\n  xfs: convert to alloc_workqueue()\n  reiserfs: make commit_wq use the default concurrency level\n  ocfs2: use system_wq instead of ocfs2_quota_wq\n  ext4: convert to alloc_workqueue()\n  scsi/scsi_tgt_lib: scsi_tgtd isn\u0027t used in memory reclaim path\n  scsi/be2iscsi,qla2xxx: convert to alloc_workqueue()\n  misc/iwmc3200top: use system_wq instead of dedicated workqueues\n  i2o: use alloc_workqueue() instead of create_workqueue()\n  acpi: kacpi*_wq don\u0027t need WQ_MEM_RECLAIM\n  fs/aio: aio_wq isn\u0027t used in memory reclaim path\n  input/tps6507x-ts: use system_wq instead of dedicated workqueue\n  cpufreq: use system_wq instead of dedicated workqueues\n  wireless/ipw2x00: use system_wq instead of dedicated workqueues\n  arm/omap: use system_wq in mailbox\n  workqueue: use WQ_MEM_RECLAIM instead of WQ_RESCUER\n"
    },
    {
      "commit": "a002951c97ff8da49938c982a4c236bf2fafdc9f",
      "tree": "d43e7885ea7376df0a47a0fc8ceca66dc5bfa357",
      "parents": [
        "521cb40b0c44418a4fd36dc633f575813d59a43d",
        "c151694b2c48d956ac8c8c59c6927f89cc29ef70"
      ],
      "author": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Wed Mar 16 09:41:17 2011 +1100"
      },
      "committer": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Wed Mar 16 09:41:17 2011 +1100"
      },
      "message": "Merge branch \u0027next\u0027 into for-linus\n"
    },
    {
      "commit": "5fe0c2378884e68beb532f5890cc0e3539ac747b",
      "tree": "be25414052184e146049ea6466854366559d5528",
      "parents": [
        "c8b91accfa1059d5565443193d89572eca2f5dd6"
      ],
      "author": {
        "name": "Aneesh Kumar K.V",
        "email": "aneesh.kumar@linux.vnet.ibm.com",
        "time": "Sat Jan 29 18:43:25 2011 +0530"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Mar 14 09:15:28 2011 -0400"
      },
      "message": "exportfs: Return the minimum required handle size\n\nThe exportfs encode handle function should return the minimum required\nhandle size. This helps user to find out the handle size by passing 0\nhandle size in the first step and then redoing to the call again with\nthe returned handle size value.\n\nAcked-by: Serge Hallyn \u003cserue@us.ibm.com\u003e\nSigned-off-by: Aneesh Kumar K.V \u003caneesh.kumar@linux.vnet.ibm.com\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "c9c6cac0c2bdbda42e7b804838648d0bc60ddb13",
      "tree": "c2d9b41eb24026d6769175e9ba3c17c8093b6aad",
      "parents": [
        "15a9155fe3e8215c02b80df51ec2cac7c0d726ad"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Wed Feb 16 15:15:47 2011 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Mar 14 09:15:23 2011 -0400"
      },
      "message": "kill path_lookup()\n\nall remaining callers pass LOOKUP_PARENT to it, so\nflags argument can die; renamed to kern_path_parent()\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "4714e63731a8a641b5e0ed5e2e2191c13bf2d71a",
      "tree": "b857a67b96e602835db64abd1e883c16691e5921",
      "parents": [
        "53fe924161ff18d24c5c1c256549e9c1b9874827"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Thu Mar 10 03:45:07 2011 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Thu Mar 10 03:45:07 2011 -0500"
      },
      "message": "ocfs2: fix d_revalidate oopsen on NFS exports\n\ncan\u0027t blindly check nd-\u003eflags in -\u003ed_revalidate()\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "4c63f5646e405b5010cc9499419060bf2e838f5b",
      "tree": "df91ba315032c8ec4aafeb3ab96fdfa7c6c656e1",
      "parents": [
        "cafb0bfca1a73efd6d8a4a6a6a716e6134b96c24",
        "69d60eb96ae8a73cf9b79cf28051caf973006011"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jaxboe@fusionio.com",
        "time": "Thu Mar 10 08:58:35 2011 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jaxboe@fusionio.com",
        "time": "Thu Mar 10 08:58:35 2011 +0100"
      },
      "message": "Merge branch \u0027for-2.6.39/stack-plug\u0027 into for-2.6.39/core\n\nConflicts:\n\tblock/blk-core.c\n\tblock/blk-flush.c\n\tdrivers/md/raid1.c\n\tdrivers/md/raid10.c\n\tdrivers/md/raid5.c\n\tfs/nilfs2/btnode.c\n\tfs/nilfs2/mdt.c\n\nSigned-off-by: Jens Axboe \u003cjaxboe@fusionio.com\u003e\n"
    },
    {
      "commit": "7eaceaccab5f40bbfda044629a6298616aeaed50",
      "tree": "33954d12f63e25a47eb6d86ef3d3d0a5e62bf752",
      "parents": [
        "73c101011926c5832e6e141682180c4debe2cf45"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jaxboe@fusionio.com",
        "time": "Thu Mar 10 08:52:07 2011 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jaxboe@fusionio.com",
        "time": "Thu Mar 10 08:52:07 2011 +0100"
      },
      "message": "block: remove per-queue plugging\n\nCode has been converted over to the new explicit on-stack plugging,\nand delay users have been converted to use the new API for that.\nSo lets kill off the old plugging along with aops-\u003esync_page().\n\nSigned-off-by: Jens Axboe \u003cjaxboe@fusionio.com\u003e\n"
    },
    {
      "commit": "fe3fa43039d47ee4e22caf460b79b62a14937f79",
      "tree": "9eab8d00f1227b9fe0959f32a62d892ed35803ba",
      "parents": [
        "ee009e4a0d4555ed522a631bae9896399674f064",
        "026eb167ae77244458fa4b4b9fc171209c079ba7"
      ],
      "author": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Tue Mar 08 11:38:10 2011 +1100"
      },
      "committer": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Tue Mar 08 11:38:10 2011 +1100"
      },
      "message": "Merge branch \u0027master\u0027 of git://git.infradead.org/users/eparis/selinux into next\n"
    },
    {
      "commit": "770c4d81e0d2ca45516ddc9ae0a69565790b5533",
      "tree": "8a7fed6cf0b3870efacfbbaeb47929edd438494b",
      "parents": [
        "1936a267f1b5a32d4a846608fdcce82ca0f6ac8e"
      ],
      "author": {
        "name": "Sunil Mushran",
        "email": "sunil.mushran@oracle.com",
        "time": "Mon Feb 21 14:25:25 2011 -0800"
      },
      "committer": {
        "name": "Joel Becker",
        "email": "jlbec@evilplan.org",
        "time": "Tue Feb 22 01:35:30 2011 -0800"
      },
      "message": "ocfs2/dlm: Move kmalloc() outside the spinlock\n\nIn dlm_query_region_handler(), move the kmalloc outside the spinlock.\nThis allows us to use GFP_KERNEL instead of GFP_ATOMIC.\n\nSigned-off-by: Sunil Mushran \u003csunil.mushran@oracle.com\u003e\nSigned-off-by: Joel Becker \u003cjlbec@evilplan.org\u003e\n"
    },
    {
      "commit": "b4e1b7e88b2c87c358c2a88bec0c76d25accc604",
      "tree": "50c8ab74457a1b3e6ab139018d9d122857c3261c",
      "parents": [
        "75ba49ae0637c15880fe8f1c8a89333afa052bd8"
      ],
      "author": {
        "name": "Tao Ma",
        "email": "boyu.mt@taobao.com",
        "time": "Mon Feb 21 11:19:43 2011 +0800"
      },
      "committer": {
        "name": "Tao Ma",
        "email": "boyu.mt@taobao.com",
        "time": "Mon Feb 21 11:19:43 2011 +0800"
      },
      "message": "ocfs2: Make the left masklogs compat.\n\nSince we have removed almost all of the masklogs in fs/ocfs2/*,\nmake the left masklogs compat.\n\nSigned-off-by: Tao Ma \u003cboyu.mt@taobao.com\u003e\n"
    },
    {
      "commit": "75ba49ae0637c15880fe8f1c8a89333afa052bd8",
      "tree": "4296c6299214c2387d55d0310bcdee63f1102f8c",
      "parents": [
        "d701485a6246486fda0ee58457b82a81562a7bc4"
      ],
      "author": {
        "name": "Tao Ma",
        "email": "boyu.mt@taobao.com",
        "time": "Mon Feb 21 11:19:27 2011 +0800"
      },
      "committer": {
        "name": "Tao Ma",
        "email": "boyu.mt@taobao.com",
        "time": "Mon Feb 21 11:19:27 2011 +0800"
      },
      "message": "ocfs2: Remove masklog ML_AIO.\n\nThere is no user for masklog AIO, so remove it.\n\nSigned-off-by: Tao Ma \u003cboyu.mt@taobao.com\u003e\n"
    },
    {
      "commit": "d701485a6246486fda0ee58457b82a81562a7bc4",
      "tree": "abf7b949616f552577dd7fe402fe5c9cafef886d",
      "parents": [
        "15057e981abb3436c16835af1001447056a809b5"
      ],
      "author": {
        "name": "Tao Ma",
        "email": "boyu.mt@taobao.com",
        "time": "Thu Feb 24 16:22:20 2011 +0800"
      },
      "committer": {
        "name": "Tao Ma",
        "email": "boyu.mt@taobao.com",
        "time": "Thu Feb 24 16:22:20 2011 +0800"
      },
      "message": "ocfs2: Remove masklog ML_UPTODATE.\n\nRemove mlog(0,...) and mlog(ML_UPTODATE,...) from\nfs/ocfs2/uptodate.c and fs/ocfs2/buffer_head_io.c.\n\nThe masklog UPTODATE is removed finally.\n\nSigned-off-by: Tao Ma \u003cboyu.mt@taobao.com\u003e\n"
    },
    {
      "commit": "15057e981abb3436c16835af1001447056a809b5",
      "tree": "331f678020329bf08aabf3208004d1c60192b115",
      "parents": [
        "b41079504c786eb226e7e1e3dc5cc1f37fbd1c2b"
      ],
      "author": {
        "name": "Tao Ma",
        "email": "boyu.mt@taobao.com",
        "time": "Thu Feb 24 16:09:38 2011 +0800"
      },
      "committer": {
        "name": "Tao Ma",
        "email": "boyu.mt@taobao.com",
        "time": "Thu Feb 24 16:09:38 2011 +0800"
      },
      "message": "ocfs2: Remove masklog ML_BH_IO.\n\nRemove mlog(0,...) and mlog(ML_BH_IO,...) from\nfs/ocfs2/buffer_head_io.c.\nThe masklog BH_IO is removed finally.\n\nSigned-off-by: Tao Ma \u003cboyu.mt@taobao.com\u003e\n"
    },
    {
      "commit": "b41079504c786eb226e7e1e3dc5cc1f37fbd1c2b",
      "tree": "ce449319016d1ddf2a319f3f1a093471043d9a46",
      "parents": [
        "781f200cb7a657339c8760984870c252701aa485"
      ],
      "author": {
        "name": "Tao Ma",
        "email": "boyu.mt@taobao.com",
        "time": "Thu Feb 24 14:15:35 2011 +0800"
      },
      "committer": {
        "name": "Tao Ma",
        "email": "boyu.mt@taobao.com",
        "time": "Thu Feb 24 14:15:35 2011 +0800"
      },
      "message": "ocfs2: Remove masklog ML_JOURNAL.\n\nRemove mlog(0) from fs/ocfs2/journal.c and the masklog JOURNAL.\n\nSigned-off-by: Tao Ma \u003cboyu.mt@taobao.com\u003e\n"
    },
    {
      "commit": "781f200cb7a657339c8760984870c252701aa485",
      "tree": "5cef7fdd6d24276595cc1d453b955f9fa1f444e0",
      "parents": [
        "a5b8443b34d57c6c6e3f8180d9f88890f3625a4b"
      ],
      "author": {
        "name": "Tao Ma",
        "email": "boyu.mt@taobao.com",
        "time": "Thu Feb 24 13:50:19 2011 +0800"
      },
      "committer": {
        "name": "Tao Ma",
        "email": "boyu.mt@taobao.com",
        "time": "Thu Feb 24 13:50:19 2011 +0800"
      },
      "message": "ocfs2: Remove masklog ML_EXPORT.\n\nRemove mlog(0) from fs/ocfs2/export.c and the masklog EXPORT.\n\nSigned-off-by: Tao Ma \u003cboyu.mt@taobao.com\u003e\n"
    },
    {
      "commit": "a5b8443b34d57c6c6e3f8180d9f88890f3625a4b",
      "tree": "8389aef2e7785293daca2021af70d85d5935bed6",
      "parents": [
        "8990e44a2bceaa68018fb13000e3a4497d78a53c"
      ],
      "author": {
        "name": "Tao Ma",
        "email": "boyu.mt@taobao.com",
        "time": "Wed Feb 23 22:51:49 2011 +0800"
      },
      "committer": {
        "name": "Tao Ma",
        "email": "boyu.mt@taobao.com",
        "time": "Wed Feb 23 22:51:49 2011 +0800"
      },
      "message": "ocfs2: Remove masklog ML_DCACHE.\n\nRemove mlog(0) from fs/ocfs2/dcache.c and the masklog DCACHE.\n\nSigned-off-by: Tao Ma \u003cboyu.mt@taobao.com\u003e\n"
    },
    {
      "commit": "8990e44a2bceaa68018fb13000e3a4497d78a53c",
      "tree": "eab93a9f67de418579c608d0cdfdd67dbf8f854c",
      "parents": [
        "f1088d471f8d846e817eb4d673212d18d9820c61"
      ],
      "author": {
        "name": "Tao Ma",
        "email": "boyu.mt@taobao.com",
        "time": "Wed Feb 23 22:45:26 2011 +0800"
      },
      "committer": {
        "name": "Tao Ma",
        "email": "boyu.mt@taobao.com",
        "time": "Wed Feb 23 22:45:26 2011 +0800"
      },
      "message": "ocfs2: Remove masklog ML_NAMEI.\n\nRemove mlog(0) from fs/ocfs2/namei.c and the masklog NAMEI finally.\n\nSigned-off-by: Tao Ma \u003cboyu.mt@taobao.com\u003e\n"
    },
    {
      "commit": "f1088d471f8d846e817eb4d673212d18d9820c61",
      "tree": "3b2108676d74c0341808b8c716fa3248a3861120",
      "parents": [
        "f32037d9bda37ca9a7a179cc1546033d374a8541"
      ],
      "author": {
        "name": "Tao Ma",
        "email": "boyu.mt@taobao.com",
        "time": "Wed Feb 23 22:30:23 2011 +0800"
      },
      "committer": {
        "name": "Tao Ma",
        "email": "boyu.mt@taobao.com",
        "time": "Wed Feb 23 22:30:23 2011 +0800"
      },
      "message": "ocfs2: Remove mlog(0) from fs/ocfs2/dir.c\n\nThis is the 2nd step to remove the debug info of NAMEI.\n\nSigned-off-by: Tao Ma \u003cboyu.mt@taobao.com\u003e\n"
    },
    {
      "commit": "f32037d9bda37ca9a7a179cc1546033d374a8541",
      "tree": "5a91db78ac4f08ee1a50e1e9b7af9067819a031c",
      "parents": [
        "1db986a839d8acf8ad809c876f1154f2e672d3af"
      ],
      "author": {
        "name": "Tao Ma",
        "email": "boyu.mt@taobao.com",
        "time": "Mon Feb 21 11:19:02 2011 +0800"
      },
      "committer": {
        "name": "Tao Ma",
        "email": "boyu.mt@taobao.com",
        "time": "Mon Feb 21 11:19:02 2011 +0800"
      },
      "message": "ocfs2: remove NAMEI from symlink.c\n\nNo mlog(0,...) in symlink.c, so just remove NAMEI.\n\nSigned-off-by: Tao Ma \u003cboyu.mt@taobao.com\u003e\n"
    },
    {
      "commit": "1db986a839d8acf8ad809c876f1154f2e672d3af",
      "tree": "76c68953717ec0e876303a8ce01fb6888d4f4a25",
      "parents": [
        "38877a43795d3a834fad827f3d6532ff649e5c45"
      ],
      "author": {
        "name": "Tao Ma",
        "email": "boyu.mt@taobao.com",
        "time": "Wed Feb 23 22:19:12 2011 +0800"
      },
      "committer": {
        "name": "Tao Ma",
        "email": "boyu.mt@taobao.com",
        "time": "Wed Feb 23 22:19:12 2011 +0800"
      },
      "message": "ocfs2: Remove masklog ML_QUOTA.\n\nRemove mlog(0) from fs/ocfs2/quota_global.c and\nthe masklog QUOTA.\n\nSigned-off-by: Tao Ma \u003cboyu.mt@taobao.com\u003e\n"
    }
  ],
  "next": "38877a43795d3a834fad827f3d6532ff649e5c45"
}
