)]}'
{
  "log": [
    {
      "commit": "ea022dfb3c2a4680483b00eb2fecc9fc4f6091d1",
      "tree": "a1fc74b921ef4ea32603492f2a500b016e15e377",
      "parents": [
        "408bd629badbd4353b238ab6f58001529b274d73"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Thu May 03 10:14:29 2012 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue May 29 23:28:40 2012 -0400"
      },
      "message": "ocfs: simplify symlink handling\n\nseeing that \"fast\" symlinks still get allocation + copy, we might as\nwell simply switch them to pagecache-based variant of -\u003efollow_link();\njust need an appropriate -\u003ereadpage() for them...\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "1db5df98faaf7aa6c25bc7d9703342d13678452a",
      "tree": "74c89810727eb6f6697f042b78dab68c373dd2b2",
      "parents": [
        "f6a5690324d5ab9c33bbc0a6b4cc59c7fa34eeec"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Thu Apr 12 19:58:53 2012 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue May 29 23:28:35 2012 -0400"
      },
      "message": "ocfs2: kill endianness abuses in blockcheck.c\n\nocfs2_block_check is for little-endian contents; if we just want to\nits fields converted to host-endian in a couple of functions, just\nput those values into local u32 and u16...\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "f6a5690324d5ab9c33bbc0a6b4cc59c7fa34eeec",
      "tree": "8ae239168609f06a9bba78058e7f7e3fa18c20d9",
      "parents": [
        "8515841086d14594b24cdc8febdcc7fd1bbc313e"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Thu Apr 12 19:52:19 2012 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue May 29 23:28:35 2012 -0400"
      },
      "message": "ocfs2: deal with __user misannotations\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "8515841086d14594b24cdc8febdcc7fd1bbc313e",
      "tree": "2ed58b01194e20dd9ece474158028eb253a37b32",
      "parents": [
        "66f8f50920472f9b6d0a797a29dc8a8ada0b24c3"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Thu Apr 12 18:47:13 2012 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue May 29 23:28:34 2012 -0400"
      },
      "message": "ocfs2: trivial endianness misannotations\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "b0b0382bb4904965a9e9fca77ad87514dfda0d1c",
      "tree": "dc46873fa74e0d194e4a2571b16f0767e1919ae8",
      "parents": [
        "6d42e7e9f6d86ed4dfacde75a6cf515068f9749c"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Apr 02 14:34:06 2012 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue May 29 23:28:33 2012 -0400"
      },
      "message": "-\u003eencode_fh() API change\n\npass inode + parent\u0027s inode or NULL instead of dentry + bool saying\nwhether we want the parent or not.\n\nNOTE: that needs ceph fix folded in.\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "90324cc1b11a211e37eabd8cb863e1a1561d6b1d",
      "tree": "c8b79c6850420a114ca6660c1b44fc486b1ba86d",
      "parents": [
        "fb8b00675eb6462aacab56bca31ed6107bda5314",
        "169ebd90131b2ffca74bb2dbe7eeacd39fb83714"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon May 28 09:54:45 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon May 28 09:54:45 2012 -0700"
      },
      "message": "Merge tag \u0027writeback\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/wfg/linux\n\nPull writeback tree from Wu Fengguang:\n \"Mainly from Jan Kara to avoid iput() in the flusher threads.\"\n\n* tag \u0027writeback\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/wfg/linux:\n  writeback: Avoid iput() from flusher thread\n  vfs: Rename end_writeback() to clear_inode()\n  vfs: Move waiting for inode writeback from end_writeback() to evict_inode()\n  writeback: Refactor writeback_single_inode()\n  writeback: Remove wb-\u003elist_lock from writeback_single_inode()\n  writeback: Separate inode requeueing after writeback\n  writeback: Move I_DIRTY_PAGES handling\n  writeback: Move requeueing when I_SYNC set to writeback_sb_inodes()\n  writeback: Move clearing of I_SYNC into inode_sync_complete()\n  writeback: initialize global_dirty_limit\n  fs: remove 8 bytes of padding from struct writeback_control on 64 bit builds\n  mm: page-writeback.c: local functions should not be exposed globally\n"
    },
    {
      "commit": "dbd5768f87ff6fb0a4fe09c4d7b6c4a24de99430",
      "tree": "42ea94ea733538f797aa745945fc43c4d1b89217",
      "parents": [
        "7994e6f7254354e03028a11f98a27bd67dace9f1"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Thu May 03 14:48:02 2012 +0200"
      },
      "committer": {
        "name": "Fengguang Wu",
        "email": "fengguang.wu@intel.com",
        "time": "Sun May 06 13:43:41 2012 +0800"
      },
      "message": "vfs: Rename end_writeback() to clear_inode()\n\nAfter we moved inode_sync_wait() from end_writeback() it doesn\u0027t make sense\nto call the function end_writeback() anymore. Rename it to clear_inode()\nwhich well says what the function really does - set I_CLEAR flag.\n\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\nSigned-off-by: Fengguang Wu \u003cfengguang.wu@intel.com\u003e\n"
    },
    {
      "commit": "f24001941c99776f41bd3f09c07d91205c2ad9d4",
      "tree": "0ab31480ccdf343b61db045e195d096068ef7c73",
      "parents": [
        "a108d5f35adc5c5d5cdc882dc0bb920565551bff",
        "4d634ca35a8b38530b134ae92bc9e3cc9c23c030"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Apr 23 23:14:36 2012 -0400"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Apr 23 23:15:17 2012 -0400"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net\n\nFix merge between commit 3adadc08cc1e (\"net ax25: Reorder ax25_exit to\nremove races\") and commit 0ca7a4c87d27 (\"net ax25: Simplify and\ncleanup the ax25 sysctl handling\")\n\nThe former moved around the sysctl register/unregister calls, the\nlater simply removed them.\n\nWith help from Stephen Rothwell.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "4a17fd5229c1b6066aa478f6b690f8293ce811a1",
      "tree": "f6acd00935d2d7a990befb4c77f57fdf39f46689",
      "parents": [
        "59c55bdde856c4000bbeb33ba212c3df6f1997a4"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@parallels.com",
        "time": "Thu Apr 19 03:39:36 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Apr 21 15:52:25 2012 -0400"
      },
      "message": "sock: Introduce named constants for sk_reuse\n\nName them in a \"backward compatible\" manner, i.e. reuse or not\nare still 1 and 0 respectively. The reuse value of 2 means that\nthe socket with it will forcibly reuse everyone else\u0027s port.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "72094e43e3af5020510f920321d71f1798fa896d",
      "tree": "4c96bb725fe1eec8a051cb8d57dcd3ed0fc900cc",
      "parents": [
        "28748b325dc2d730ccc312830a91c4ae0c0d9379"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Fri Apr 13 12:30:02 2012 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Fri Apr 13 12:31:43 2012 -0400"
      },
      "message": "ocfs2: -\u003ee_leaf_clusters endianness breakage\n\nle16, not le32...\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "28748b325dc2d730ccc312830a91c4ae0c0d9379",
      "tree": "755255c8ee2facfa7f8ad4268dc198350d166089",
      "parents": [
        "e1bf4cc620fd143766ddfcee3b004a1d1bb34fd0"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Fri Apr 13 12:28:21 2012 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Fri Apr 13 12:31:41 2012 -0400"
      },
      "message": "ocfs2: -\u003erl_count endianness breakage\n\nle16, not le32...\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "e1bf4cc620fd143766ddfcee3b004a1d1bb34fd0",
      "tree": "d8c8d430d1fb9f87d998ee32b921180d272807c1",
      "parents": [
        "3a251f04fe97c3d335b745c98e4b377e3c3899f2"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Fri Apr 13 12:27:11 2012 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Fri Apr 13 12:31:38 2012 -0400"
      },
      "message": "ocfs: -\u003erl_used breakage on big-endian\n\nit\u0027s le16, not le32 or le64...\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "3a251f04fe97c3d335b745c98e4b377e3c3899f2",
      "tree": "b5835ebf3639fe4e8bc9d71abbb36891080e777e",
      "parents": [
        "6ed3cf2cdfce4c9f1d73171bd3f27d9cb77b734e"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Fri Apr 13 12:22:00 2012 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Fri Apr 13 12:31:37 2012 -0400"
      },
      "message": "ocfs2: -\u003el_next_free_req breakage on big-endian\n\nIt\u0027s le16, not le32...\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "2f99c36986ff27a86f06f27212c5f5fa8c7164a3",
      "tree": "a90fd7fe865bb1c5a00b0946754b505bcf070b60",
      "parents": [
        "4a165d25f63a989d0aabe9d8eed5b3a5d5da1862"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Fri Mar 23 16:04:05 2012 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat Mar 31 16:03:15 2012 -0400"
      },
      "message": "get rid of pointless includes of ext2_fs.h\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "e2a0883e4071237d09b604a342c28b96b44a04b3",
      "tree": "aa56f4d376b5eb1c32358c19c2669c2a94e0e1fd",
      "parents": [
        "3a990a52f9f25f45469e272017a31e7a3fda60ed",
        "07c0c5d8b8c122b2f2df9ee574ac3083daefc981"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 21 13:36:41 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 21 13:36:41 2012 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs\n\nPull vfs pile 1 from Al Viro:\n \"This is _not_ all; in particular, Miklos\u0027 and Jan\u0027s stuff is not there\n  yet.\"\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs: (64 commits)\n  ext4: initialization of ext4_li_mtx needs to be done earlier\n  debugfs-related mode_t whack-a-mole\n  hfsplus: add an ioctl to bless files\n  hfsplus: change finder_info to u32\n  hfsplus: initialise userflags\n  qnx4: new helper - try_extent()\n  qnx4: get rid of qnx4_bread/qnx4_getblk\n  take removal of PF_FORKNOEXEC to flush_old_exec()\n  trim includes in inode.c\n  um: uml_dup_mmap() relies on -\u003emmap_sem being held, but activate_mm() doesn\u0027t hold it\n  um: embed -\u003estub_pages[] into mmu_context\n  gadgetfs: list_for_each_safe() misuse\n  ocfs2: fix leaks on failure exits in module_init\n  ecryptfs: make register_filesystem() the last potential failure exit\n  ntfs: forgets to unregister sysctls on register_filesystem() failure\n  logfs: missing cleanup on register_filesystem() failure\n  jfs: mising cleanup on register_filesystem() failure\n  make configfs_pin_fs() return root dentry on success\n  configfs: configfs_create_dir() has parent dentry in dentry-\u003ed_parent\n  configfs: sanitize configfs_create()\n  ...\n"
    },
    {
      "commit": "342827d7d19cb52b562bb3efeb4d4b672d008c35",
      "tree": "92b2155e8febaf9a9e5caad01f5929d9f63bcd11",
      "parents": [
        "0794f569ec307dc25bbb12456ef75aa71f72f744"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat Mar 17 22:03:58 2012 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Mar 20 21:29:49 2012 -0400"
      },
      "message": "ocfs2: fix leaks on failure exits in module_init\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "48fde701aff662559b38d9a609574068f22d00fe",
      "tree": "aa6b203dc671b51d58575b65eb08310ff8309b60",
      "parents": [
        "6b4231e2f92adbcf96fb2a3fa751d7ca0a61b21f"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sun Jan 08 22:15:13 2012 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Mar 20 21:29:35 2012 -0400"
      },
      "message": "switch open-coded instances of d_make_root() to new helper\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "be0d93f0aa5682a24a2a9ec0dd26fffaad608cce",
      "tree": "fc35e184e39ffe630dfa62e881cb8dbd5d6db22c",
      "parents": [
        "f56b0fbc6477e50303a503ee1453ed94e20f154a"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sun Feb 12 21:46:49 2012 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Mar 20 21:29:34 2012 -0400"
      },
      "message": "... and the same failure exits cleanup for ocfs2\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "c4bc8dcbbe7a7876d76e3f3e129a2ccec46d7cdb",
      "tree": "9412b6e44738d25b35c88887489f4dd915c564f9",
      "parents": [
        "a3ac1414eb601136ba3475e841fe76ccbab5e88d"
      ],
      "author": {
        "name": "Cong Wang",
        "email": "amwang@redhat.com",
        "time": "Fri Nov 25 23:14:34 2011 +0800"
      },
      "committer": {
        "name": "Cong Wang",
        "email": "xiyou.wangcong@gmail.com",
        "time": "Tue Mar 20 21:48:25 2012 +0800"
      },
      "message": "ocfs2: remove the second argument of k[un]map_atomic()\n\nAcked-by: Joel Becker \u003cjlbec@evilplan.org\u003e\nSigned-off-by: Cong Wang \u003camwang@redhat.com\u003e\n"
    },
    {
      "commit": "847c9db5cb50841589b8ebd3da0769b1b02fb3b2",
      "tree": "58d303a0306ed61114032b6d40085b17e13aaa0c",
      "parents": [
        "fcf83067bf6eb101a35620d752bd559d473cfbaa"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sun Feb 12 21:00:05 2012 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Feb 13 20:45:39 2012 -0500"
      },
      "message": "ocfs2: deal with wraparounds of i_nlink in ocfs2_rename()\n\nunfortunately, nlink_t may be smaller than 32 bits and -\u003ei_nlink\non ocfs2 can grow up to 0xffffffff; storing it in nlink_t variable\nwill lose upper bits on such architectures.  Needs to be made u32,\nuntil we get kernel-side nlink_t uniformly 32bit...\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "49d41bae46f15da528ef9848fd7c9d38582aa8e9",
      "tree": "76907a9a5066642a32cb238ef8d8367fc612d064",
      "parents": [
        "7b3480f8b701170c046e1ed362946f5f0d005e13",
        "60f98d1839376d30e13f3e452dce2433fad3060e"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 10 14:55:55 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 10 14:55:55 2012 -0800"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/teigland/linux-dlm\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/teigland/linux-dlm:\n  dlm: add recovery callbacks\n  dlm: add node slots and generation\n  dlm: move recovery barrier calls\n  dlm: convert rsb list to rb_tree\n"
    },
    {
      "commit": "98793265b429a3f0b3f1750e74d67cd4d740d162",
      "tree": "b0bd717673f0c21845cf053f3fb6b75d42530af5",
      "parents": [
        "b4a133da2eaccb844a7beaef16ffd9c76a0d21d3",
        "bd1b2a555952d959f47169056fca05acf7eff81f"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Jan 08 13:21:22 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Jan 08 13:21:22 2012 -0800"
      },
      "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: (53 commits)\n  Kconfig: acpi: Fix typo in comment.\n  misc latin1 to utf8 conversions\n  devres: Fix a typo in devm_kfree comment\n  btrfs: free-space-cache.c: remove extra semicolon.\n  fat: Spelling s/obsolate/obsolete/g\n  SCSI, pmcraid: Fix spelling error in a pmcraid_err() call\n  tools/power turbostat: update fields in manpage\n  mac80211: drop spelling fix\n  types.h: fix comment spelling for \u0027architectures\u0027\n  typo fixes: aera -\u003e area, exntension -\u003e extension\n  devices.txt: Fix typo of \u0027VMware\u0027.\n  sis900: Fix enum typo \u0027sis900_rx_bufer_status\u0027\n  decompress_bunzip2: remove invalid vi modeline\n  treewide: Fix comment and string typo \u0027bufer\u0027\n  hyper-v: Update MAINTAINERS\n  treewide: Fix typos in various parts of the kernel, and fix some comments.\n  clockevents: drop unknown Kconfig symbol GENERIC_CLOCKEVENTS_MIGR\n  gpio: Kconfig: drop unknown symbol \u0027CS5535_GPIO\u0027\n  leds: Kconfig: Fix typo \u0027D2NET_V2\u0027\n  sound: Kconfig: drop unknown symbol ARCH_CLPS7500\n  ...\n\nFix up trivial conflicts in arch/powerpc/platforms/40x/Kconfig (some new\nkconfig additions, close to removed commented-out old ones)\n"
    },
    {
      "commit": "34c80b1d93e6e20ca9dea0baf583a5b5510d92d4",
      "tree": "7dcbf0a4e09464247e6992c8f44fcc872867bd3a",
      "parents": [
        "a6322de67b58a00e3a783ad9c87c2a11b2d67b47"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Thu Dec 08 21:32:45 2011 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Fri Jan 06 23:19:54 2012 -0500"
      },
      "message": "vfs: switch -\u003eshow_options() to struct dentry *\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "60f98d1839376d30e13f3e452dce2433fad3060e",
      "tree": "b8b43859ad26519bd75a40920f6d1ca46f2d44a5",
      "parents": [
        "757a42719635495779462514458bbfbf12a37dac"
      ],
      "author": {
        "name": "David Teigland",
        "email": "teigland@redhat.com",
        "time": "Wed Nov 02 14:30:58 2011 -0500"
      },
      "committer": {
        "name": "David Teigland",
        "email": "teigland@redhat.com",
        "time": "Wed Jan 04 08:56:31 2012 -0600"
      },
      "message": "dlm: add recovery callbacks\n\nThese new callbacks notify the dlm user about lock recovery.\nGFS2, and possibly others, need to be aware of when the dlm\nwill be doing lock recovery for a failed lockspace member.\n\nIn the past, this coordination has been done between dlm and\nfile system daemons in userspace, which then direct their\nkernel counterparts.  These callbacks allow the same\ncoordination directly, and more simply.\n\nSigned-off-by: David Teigland \u003cteigland@redhat.com\u003e\n"
    },
    {
      "commit": "67697cbdccb8b63eae892a9437bcc79d08b79578",
      "tree": "6c14fa996532e314de662f36d9ef5e1410f7ffde",
      "parents": [
        "2b15ad068418a91687c2d5819c6c03c227d391f2"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Jul 26 02:55:32 2011 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Jan 03 22:55:02 2012 -0500"
      },
      "message": "ocfs2: propagate umode_t\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "2b15ad068418a91687c2d5819c6c03c227d391f2",
      "tree": "1a9c5a6ec12d9aa2244b4c2c052a6954ddc45b92",
      "parents": [
        "3eda0de677b5756be09a76ac0399e1a3db00f0e0"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sun Jul 24 13:43:19 2011 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Jan 03 22:55:01 2012 -0500"
      },
      "message": "dlmfs: use inode_init_owner()\n\ndon\u0027t open-code it...\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "f4ae40a6a50a98ac23d4b285f739455e926a473e",
      "tree": "c84d7393700bd85e5285a194f8c22d4d00e36b28",
      "parents": [
        "48176a973d65572e61d0ce95495e5072887e6fb6"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sun Jul 24 04:33:43 2011 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Jan 03 22:54:56 2012 -0500"
      },
      "message": "switch debugfs to umode_t\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "1a67aafb5f72a436ca044293309fa7e6351d6a35",
      "tree": "d9e58600148de9d41b478cf815773b746647d15b",
      "parents": [
        "4acdaf27ebe2034c342f3be57ef49aed1ad885ef"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Jul 26 01:52:52 2011 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Jan 03 22:54:54 2012 -0500"
      },
      "message": "switch -\u003emknod() to umode_t\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "4acdaf27ebe2034c342f3be57ef49aed1ad885ef",
      "tree": "d89a876ee19cd88609a587f8aa6c464a52ee6d98",
      "parents": [
        "18bb1db3e7607e4a997d50991a6f9fa5b0f8722c"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Jul 26 01:42:34 2011 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Jan 03 22:54:53 2012 -0500"
      },
      "message": "switch -\u003ecreate() to umode_t\n\nvfs_create() ignores everything outside of 16bit subset of its\nmode argument; switching it to umode_t is obviously equivalent\nand it\u0027s the only caller of the method\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "18bb1db3e7607e4a997d50991a6f9fa5b0f8722c",
      "tree": "4ee4e584bc9a67f3ec14ce159d2d7d4a27e68d4a",
      "parents": [
        "8208a22bb8bd3c52ef634b4ff194f14892ab1713"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Jul 26 01:41:39 2011 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Jan 03 22:54:53 2012 -0500"
      },
      "message": "switch vfs_mkdir() and -\u003emkdir() to umode_t\n\nvfs_mkdir() gets int, but immediately drops everything that might not\nfit into umode_t and that\u0027s the only caller of -\u003emkdir()...\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "6b520e0565422966cdf1c3759bd73df77b0f248c",
      "tree": "f63a26afa7342eb59b125271b16e30a219b59094",
      "parents": [
        "2a79f17e4a641a2f463cb512cb0ec349844a147b"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Dec 12 15:51:45 2011 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Jan 03 22:52:40 2012 -0500"
      },
      "message": "vfs: fix the stupidity with i_dentry in inode destructors\n\nSeeing that just about every destructor got that INIT_LIST_HEAD() copied into\nit, there is no point whatsoever keeping this INIT_LIST_HEAD in inode_init_once();\nthe cost of taking it into inode_init_always() will be negligible for pipes\nand sockets and negative for everything else.  Not to mention the removal of\nboilerplate code from -\u003edestroy_inode() instances...\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "2a79f17e4a641a2f463cb512cb0ec349844a147b",
      "tree": "8801127310d0a3492941bb284e83393844a19685",
      "parents": [
        "8c9379e972e984d11c2b99121847ba9fa7a0c56c"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Fri Dec 09 08:06:57 2011 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Jan 03 22:52:40 2012 -0500"
      },
      "message": "vfs: mnt_drop_write_file()\n\nnew helper (wrapper around mnt_drop_write()) to be used in pair with\nmnt_want_write_file().\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "a561be7100cd610bd2e082f3211c1dfb45835817",
      "tree": "a1016a11df967be6f289a4e8ae29597ba39df17e",
      "parents": [
        "f47ec3f28354795f000c14bf18ed967ec81a3ec3"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Wed Nov 23 11:57:51 2011 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Jan 03 22:52:35 2012 -0500"
      },
      "message": "switch a bunch of places to mnt_want_write_file()\n\nit\u0027s both faster (in case when file has been opened for write) and cleaner.\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "42b2aa86c6670347a2a07e6d7af0e0ecc8fdbff9",
      "tree": "6f8fb2a1efb3e84bf281658befe06dc6a7fb026b",
      "parents": [
        "a13b032776379fa6e2bfccf798969ca51e5fb052"
      ],
      "author": {
        "name": "Justin P. Mattock",
        "email": "justinmattock@gmail.com",
        "time": "Mon Nov 28 20:31:00 2011 -0800"
      },
      "committer": {
        "name": "Jiri Kosina",
        "email": "jkosina@suse.cz",
        "time": "Fri Dec 02 14:57:31 2011 +0100"
      },
      "message": "treewide: Fix typos in various parts of the kernel, and fix some comments.\n\nThe below patch fixes some typos in various parts of the kernel, as well as fixes some comments.\nPlease let me know if I missed anything, and I will try to get it changed and resent.\n\nSigned-off-by: Justin P. Mattock \u003cjustinmattock@gmail.com\u003e\nAcked-by: Randy Dunlap \u003crdunlap@xenotime.net\u003e\nSigned-off-by: Jiri Kosina \u003cjkosina@suse.cz\u003e\n"
    },
    {
      "commit": "0a4ebed781dbb9ecbfef2374d29da1ab3b1a63f3",
      "tree": "ab171047c0b1bab2d423e85106f84fdf7b52ac7d",
      "parents": [
        "3b120ab76225592e9c267086fa4dfa3ce5a075fe",
        "939255798a468e1a92f03546de6e87be7b491e57"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Dec 01 14:55:34 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Dec 01 14:55:34 2011 -0800"
      },
      "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: (31 commits)\n  ocfs2: avoid unaligned access to dqc_bitmap\n  ocfs2: Use filemap_write_and_wait() instead of write_inode_now()\n  ocfs2: honor O_(D)SYNC flag in fallocate\n  ocfs2: Add a missing journal credit in ocfs2_link_credits() -v2\n  ocfs2: send correct UUID to cleancache initialization\n  ocfs2: Commit transactions in error cases -v2\n  ocfs2: make direntry invalid when deleting it\n  fs/ocfs2/dlm/dlmlock.c: free kmem_cache_zalloc\u0027d data using kmem_cache_free\n  ocfs2: Avoid livelock in ocfs2_readpage()\n  ocfs2: serialize unaligned aio\n  ocfs2: Implement llseek()\n  ocfs2: Fix ocfs2_page_mkwrite()\n  ocfs2: Add comment about orphan scanning\n  ocfs2: Clean up messages in the fs\n  ocfs2/cluster: Cluster up now includes network connections too\n  ocfs2/cluster: Add new function o2net_fill_node_map()\n  ocfs2/cluster: Fix output in file elapsed_time_in_ms\n  ocfs2/dlm: dlmlock_remote() needs to account for remastery\n  ocfs2/dlm: Take inflight reference count for remotely mastered resources too\n  ocfs2/dlm: Cleanup dlm_wait_for_node_death() and dlm_wait_for_node_recovery()\n  ...\n"
    },
    {
      "commit": "939255798a468e1a92f03546de6e87be7b491e57",
      "tree": "4ba0db743223eea3dea3405b3532d98716dcf250",
      "parents": [
        "249ec93c01db8898058899a80ffb537c8d27f86f"
      ],
      "author": {
        "name": "Akinobu Mita",
        "email": "akinobu.mita@gmail.com",
        "time": "Tue Nov 15 14:56:34 2011 -0800"
      },
      "committer": {
        "name": "Joel Becker",
        "email": "jlbec@evilplan.org",
        "time": "Thu Dec 01 14:39:32 2011 -0800"
      },
      "message": "ocfs2: avoid unaligned access to dqc_bitmap\n\nThe dqc_bitmap field of struct ocfs2_local_disk_chunk is 32-bit aligned,\nbut not 64-bit aligned.  The dqc_bitmap is accessed by ocfs2_set_bit(),\nocfs2_clear_bit(), ocfs2_test_bit(), or ocfs2_find_next_zero_bit().  These\nare wrapper macros for ext2_*_bit() which need to take an unsigned long\naligned address (though some architectures are able to handle unaligned\naddress correctly)\n\nSo some 64bit architectures may not be able to access the dqc_bitmap\ncorrectly.\n\nThis avoids such unaligned access by using another wrapper functions for\next2_*_bit().  The code is taken from fs/ext4/mballoc.c which also need to\nhandle unaligned bitmap access.\n\nSigned-off-by: Akinobu Mita \u003cakinobu.mita@gmail.com\u003e\nAcked-by: Joel Becker \u003cjlbec@evilplan.org\u003e\nCc: Mark Fasheh \u003cmfasheh@suse.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Joel Becker \u003cjlbec@evilplan.org\u003e\n"
    },
    {
      "commit": "249ec93c01db8898058899a80ffb537c8d27f86f",
      "tree": "381c22ba9726ac884aa1267b91736fff3836c766",
      "parents": [
        "df295d4a4b3c98af1a2445a82aef169e7e5d96b8"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Tue Nov 08 00:20:39 2011 +0100"
      },
      "committer": {
        "name": "Joel Becker",
        "email": "jlbec@evilplan.org",
        "time": "Thu Nov 17 02:18:57 2011 -0800"
      },
      "message": "ocfs2: Use filemap_write_and_wait() instead of write_inode_now()\n\nSince ocfs2 has no -\u003ewrite_inode method, there\u0027s no point in calling\nwrite_inode_now() from ocfs2_cleanup_delete_inode().  Use\nfilemap_write_and_wait() instead. This helps us to cleanup inode writing\ninterfaces...\n\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\nSigned-off-by: Joel Becker \u003cjlbec@evilplan.org\u003e\n"
    },
    {
      "commit": "df295d4a4b3c98af1a2445a82aef169e7e5d96b8",
      "tree": "e262858cac79bdffe8e139aa5d445e0b4bb9b8a0",
      "parents": [
        "0393afea31874947b1d149b82d17b7dccac4f210"
      ],
      "author": {
        "name": "Mark Fasheh",
        "email": "mfasheh@suse.de",
        "time": "Wed Nov 16 12:03:10 2011 -0800"
      },
      "committer": {
        "name": "Joel Becker",
        "email": "jlbec@evilplan.org",
        "time": "Thu Nov 17 02:15:58 2011 -0800"
      },
      "message": "ocfs2: honor O_(D)SYNC flag in fallocate\n\nWe need to sync the transaction which updates i_size if the file is marked\nas needing sync semantics.\n\nSigned-off-by: Mark Fasheh \u003cmfasheh@suse.de\u003e\nSigned-off-by: Joel Becker \u003cjlbec@evilplan.org\u003e\n"
    },
    {
      "commit": "0393afea31874947b1d149b82d17b7dccac4f210",
      "tree": "f9eb50279c4a122d9483be097d41e7a4d8f20905",
      "parents": [
        "e41d33af7c037a6f7350f8410b45ce83b50d1b80"
      ],
      "author": {
        "name": "Xiaowei.Hu",
        "email": "xiaowei.hu@oracle.com",
        "time": "Wed Oct 19 09:34:19 2011 +0800"
      },
      "committer": {
        "name": "Joel Becker",
        "email": "jlbec@evilplan.org",
        "time": "Thu Nov 17 01:46:48 2011 -0800"
      },
      "message": "ocfs2: Add a missing journal credit in ocfs2_link_credits() -v2\n\nWith indexed_dir enabled, ocfs2 maintains a list of dirblocks having\nspace.\n\nThe credit calculation in ocfs2_link_credits() did not correctly account\nfor adding an entry that exactly fills a dirblock that triggers removing\nthat dirblock by changing the pointer in the previous block in the list.\nThe credit calculation did not account for that previous block.\n\nTo expose, do:\n\nmkfs.ocfs2 -b 512 -M local /dev/sdX\nmount /dev/sdX /ocfs2\nmkdir /ocfs2/linkdir\ntouch /ocfs2/linkdir/file1\nfor i in `seq 1 29` ; do link /ocfs2/linkdir/file1\n/ocfs2/linkdir/linklinklinklinklinklink$i; done\nrm -f /ocfs2/linkdir/linklinklinklinklinklink10\nsleep 8\nlink /ocfs2/linkdir/file1\n/ocfs2/linkdir/linklinklinklinklinklinkaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\n\nNote:\nThe link names have been crafted for a 512 byte blocksize. Reproducing\nwith a larger blocksize will require longer (or more) links. The sleep\nis important. We want jbd2 to commit the transaction so that the missing\nblock does not piggy back on account of the previous transaction.\n\nSigned-off-by: XiaoweiHu \u003cxiaowei.hu at oracle.com\u003e\nReviewed-by: WengangWang \u003cwen.gang.wang at oracle.com\u003e\nReviewed-by: Sunil.Mushran \u003csunil.mushran at oracle.com\u003e\nSigned-off-by: Joel Becker \u003cjlbec@evilplan.org\u003e\n"
    },
    {
      "commit": "e41d33af7c037a6f7350f8410b45ce83b50d1b80",
      "tree": "bbf08c4e9321dd17265f3aa65b96bbf441d23f8f",
      "parents": [
        "b8a0ae579fb8d9b21008ac386be08b9428902455"
      ],
      "author": {
        "name": "Dan Magenheimer",
        "email": "dan.magenheimer@oracle.com",
        "time": "Mon Oct 17 16:47:17 2011 -0700"
      },
      "committer": {
        "name": "Joel Becker",
        "email": "jlbec@evilplan.org",
        "time": "Thu Nov 17 01:46:48 2011 -0800"
      },
      "message": "ocfs2: send correct UUID to cleancache initialization\n\nocfs2: Fix cleancache initialization call to correctly pass uuid\n\nAs reported by Steven Whitehouse in https://lkml.org/lkml/2011/5/27/221\nthe ocfs2 volume UUID is incorrectly passed to cleancache.\nAs a result, shared-ephemeral tmem pools will not actually\nbe created; instead they will be private (unshared) which\nmisses out on a major benefit of tmem.\n\nReported-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\nSigned-off-by: Dan Magenheimer \u003cdan.magenheimer@oracle.com\u003e\nSigned-off-by: Joel Becker \u003cjlbec@evilplan.org\u003e\n"
    },
    {
      "commit": "b8a0ae579fb8d9b21008ac386be08b9428902455",
      "tree": "cab8d712ee687c26bd2e1ce8ba7b069be4a7e92a",
      "parents": [
        "8298524803339a9a8df053ebdfebc2975ec55be9"
      ],
      "author": {
        "name": "Wengang Wang",
        "email": "wen.gang.wang@oracle.com",
        "time": "Wed Oct 12 15:22:15 2011 +0800"
      },
      "committer": {
        "name": "Joel Becker",
        "email": "jlbec@evilplan.org",
        "time": "Thu Nov 17 01:46:47 2011 -0800"
      },
      "message": "ocfs2: Commit transactions in error cases -v2\n\nThere are three cases found that in error cases, journal transactions are not\ncommitted nor aborted. We should take care of these case by committing the\ntransactions. Otherwise, there would left a journal handle which will lead to\n, in same process context, the comming ocfs2_start_trans() gets wrong credits.\n\nSigned-off-by: Wengang Wang \u003cwen.gang.wang@oracle.com\u003e\nSigned-off-by: Joel Becker \u003cjlbec@evilplan.org\u003e\n"
    },
    {
      "commit": "8298524803339a9a8df053ebdfebc2975ec55be9",
      "tree": "2bea3c08eac9239ea596707fadfefed7f1bab2d7",
      "parents": [
        "fc9f899483435935c1cd7005df29681929d1c99b"
      ],
      "author": {
        "name": "Wengang Wang",
        "email": "wen.gang.wang@oracle.com",
        "time": "Tue Jul 12 16:43:14 2011 +0800"
      },
      "committer": {
        "name": "Joel Becker",
        "email": "jlbec@evilplan.org",
        "time": "Thu Nov 17 01:46:46 2011 -0800"
      },
      "message": "ocfs2: make direntry invalid when deleting it\n\nWhen we deleting a direntry from a directory, if it\u0027s the first in a block we\ninvalid it by setting inode to 0; otherwise, we merge the deleted one to the\nprior and contiguous direntry. And we don\u0027t truncate directories.\n\nThere is a problem for the later case since inode is not set to 0.\nThis problem happens when the caller passes a file position as parameter to\nocfs2_dir_foreach_blk(). If the position happens to point to a stale(not\nthe first, deleted in betweens of ocfs2_dir_foreach_blk()s) direntry, we are\nnot able to recognize its staleness. So that we treat it as a live one wrongly.\n\nThe fix is to set inode to 0 in both cases indicating the direntry is stale.\nThis won\u0027t introduce additional IOs.\n\nSigned-off-by: Wengang Wang \u003cwen.gang.wang@oracle.com\u003e\nSigned-off-by: Joel Becker \u003cjlbec@evilplan.org\u003e\n"
    },
    {
      "commit": "fc9f899483435935c1cd7005df29681929d1c99b",
      "tree": "c7ad164cfcfc16e5fb155e0ea3d3039eb47f0def",
      "parents": [
        "99b1bb61b225c3eb4d3b196d4f1d041695b19a7e"
      ],
      "author": {
        "name": "Julia Lawall",
        "email": "julia@diku.dk",
        "time": "Sat Jul 09 18:04:39 2011 +0200"
      },
      "committer": {
        "name": "Joel Becker",
        "email": "jlbec@evilplan.org",
        "time": "Thu Nov 17 01:46:46 2011 -0800"
      },
      "message": "fs/ocfs2/dlm/dlmlock.c: free kmem_cache_zalloc\u0027d data using kmem_cache_free\n\nMemory allocated using kmem_cache_zalloc should be freed using\nkmem_cache_free, not kfree.\n\nThe semantic patch that fixes this problem is as follows:\n(http://coccinelle.lip6.fr/)\n\n// \u003csmpl\u003e\n@@\nexpression x,e,e1,e2;\n@@\n\nx \u003d kmem_cache_zalloc(e1,e2)\n... when !\u003d x \u003d e\n?-kfree(x)\n+kmem_cache_free(e1,x)\n// \u003c/smpl\u003e\n\nSigned-off-by: Julia Lawall \u003cjulia@diku.dk\u003e\nSigned-off-by: Joel Becker \u003cjlbec@evilplan.org\u003e\n"
    },
    {
      "commit": "32aaeffbd4a7457bf2f7448b33b5946ff2a960eb",
      "tree": "faf7ad871d87176423ff9ed1d1ba4d9c688fc23f",
      "parents": [
        "208bca0860406d16398145ddd950036a737c3c9d",
        "67b84999b1a8b1af5625b1eabe92146c5eb42932"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Nov 06 19:44:47 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Nov 06 19:44:47 2011 -0800"
      },
      "message": "Merge branch \u0027modsplit-Oct31_2011\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/paulg/linux\n\n* \u0027modsplit-Oct31_2011\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/paulg/linux: (230 commits)\n  Revert \"tracing: Include module.h in define_trace.h\"\n  irq: don\u0027t put module.h into irq.h for tracking irqgen modules.\n  bluetooth: macroize two small inlines to avoid module.h\n  ip_vs.h: fix implicit use of module_get/module_put from module.h\n  nf_conntrack.h: fix up fallout from implicit moduleparam.h presence\n  include: replace linux/module.h with \"struct module\" wherever possible\n  include: convert various register fcns to macros to avoid include chaining\n  crypto.h: remove unused crypto_tfm_alg_modname() inline\n  uwb.h: fix implicit use of asm/page.h for PAGE_SIZE\n  pm_runtime.h: explicitly requires notifier.h\n  linux/dmaengine.h: fix implicit use of bitmap.h and asm/page.h\n  miscdevice.h: fix up implicit use of lists and types\n  stop_machine.h: fix implicit use of smp.h for smp_processor_id\n  of: fix implicit use of errno.h in include/linux/of.h\n  of_platform.h: delete needless include \u003clinux/module.h\u003e\n  acpi: remove module.h include from platform/aclinux.h\n  miscdevice.h: delete unnecessary inclusion of module.h\n  device_cgroup.h: delete needless include \u003clinux/module.h\u003e\n  net: sch_generic remove redundant use of \u003clinux/module.h\u003e\n  net: inet_timewait_sock doesnt need \u003clinux/module.h\u003e\n  ...\n\nFix up trivial conflicts (other header files, and  removal of the ab3550 mfd driver) in\n - drivers/media/dvb/frontends/dibx000_common.c\n - drivers/media/video/{mt9m111.c,ov6650.c}\n - drivers/mfd/ab3550-core.c\n - include/linux/dmaengine.h\n"
    },
    {
      "commit": "bfe8684869601dacfcb2cd69ef8cfd9045f62170",
      "tree": "4e213aaa766b26f43f0f9ec7998a7745239d9377",
      "parents": [
        "6d6b77f163c7eabedbba00ed2abb7d4a570bff76"
      ],
      "author": {
        "name": "Miklos Szeredi",
        "email": "mszeredi@suse.cz",
        "time": "Fri Oct 28 14:13:29 2011 +0200"
      },
      "committer": {
        "name": "Christoph Hellwig",
        "email": "hch@serles.lst.de",
        "time": "Wed Nov 02 12:53:43 2011 +0100"
      },
      "message": "filesystems: add set_nlink()\n\nReplace remaining direct i_nlink updates with a new set_nlink()\nupdater function.\n\nSigned-off-by: Miklos Szeredi \u003cmszeredi@suse.cz\u003e\nTested-by: Toshiyuki Okajima \u003ctoshi.okajima@jp.fujitsu.com\u003e\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\n"
    },
    {
      "commit": "6d6b77f163c7eabedbba00ed2abb7d4a570bff76",
      "tree": "6ce074a7dd5a25fae28ef9de6f59ddee08ea4e61",
      "parents": [
        "dd2a981f46a0903a8770a784f213d4d40bbb6f19"
      ],
      "author": {
        "name": "Miklos Szeredi",
        "email": "mszeredi@suse.cz",
        "time": "Fri Oct 28 14:13:28 2011 +0200"
      },
      "committer": {
        "name": "Christoph Hellwig",
        "email": "hch@serles.lst.de",
        "time": "Wed Nov 02 12:53:43 2011 +0100"
      },
      "message": "filesystems: add missing nlink wrappers\n\nReplace direct i_nlink updates with the respective updater function\n(inc_nlink, drop_nlink, clear_nlink, inode_dec_link_count).\n\nSigned-off-by: Miklos Szeredi \u003cmszeredi@suse.cz\u003e\n"
    },
    {
      "commit": "a7732b05f775a5575baac34c03bb0e8d16950edf",
      "tree": "9b0311f5004a98afbb46a65a57a665b13e613e23",
      "parents": [
        "c818b682c955aa4d13212512deb529cb8bd1348b"
      ],
      "author": {
        "name": "Miklos Szeredi",
        "email": "mszeredi@suse.cz",
        "time": "Fri Oct 28 14:13:26 2011 +0200"
      },
      "committer": {
        "name": "Christoph Hellwig",
        "email": "hch@serles.lst.de",
        "time": "Wed Nov 02 12:53:42 2011 +0100"
      },
      "message": "ocfs2: remove unnecessary nlink setting\n\nalloc_inode() initializes i_nlink to 1.  Remove unnecessary\nre-initialization.\n\nSigned-off-by: Miklos Szeredi \u003cmszeredi@suse.cz\u003e\nCC: Joel Becker \u003cjlbec@evilplan.org\u003e\nCC: Mark Fasheh \u003cmfasheh@suse.com\u003e\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\n"
    },
    {
      "commit": "b9075fa968a0a4347aef35e235e2995c0e57dddd",
      "tree": "cf9f9716784e790d8a43339653256d9cf9178ff3",
      "parents": [
        "ae29bc92da01a2e9d278a9a58c3b307d41cc0254"
      ],
      "author": {
        "name": "Joe Perches",
        "email": "joe@perches.com",
        "time": "Mon Oct 31 17:11:33 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 31 17:30:54 2011 -0700"
      },
      "message": "treewide: use __printf not __attribute__((format(printf,...)))\n\nStandardize the style for compiler based printf format verification.\nStandardized the location of __printf too.\n\nDone via script and a little typing.\n\n$ grep -rPl --include\u003d*.[ch] -w \"__attribute__\" * | \\\n  grep -vP \"^(tools|scripts|include/linux/compiler-gcc.h)\" | \\\n  xargs perl -n -i -e \u0027local $/; while (\u003c\u003e) { s/\\b__attribute__\\s*\\(\\s*\\(\\s*format\\s*\\(\\s*printf\\s*,\\s*(.+)\\s*,\\s*(.+)\\s*\\)\\s*\\)\\s*\\)/__printf($1, $2)/g ; print; }\u0027\n\n[akpm@linux-foundation.org: revert arch bits]\nSigned-off-by: Joe Perches \u003cjoe@perches.com\u003e\nCc: \"Kirill A. Shutemov\" \u003ckirill@shutemov.name\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "afeacc8c1f38b7bb93d4bc7b4ba04c2605061ef0",
      "tree": "e6eb248db3f932808ff2495a094e728d7d7f61e1",
      "parents": [
        "79bb1ee46ad1b76069108ca9b5467a3c14574744"
      ],
      "author": {
        "name": "Paul Gortmaker",
        "email": "paul.gortmaker@windriver.com",
        "time": "Thu May 26 16:00:52 2011 -0400"
      },
      "committer": {
        "name": "Paul Gortmaker",
        "email": "paul.gortmaker@windriver.com",
        "time": "Mon Oct 31 19:30:31 2011 -0400"
      },
      "message": "fs: add export.h to files using EXPORT_SYMBOL/THIS_MODULE macros\n\nThese files were getting \u003clinux/module.h\u003e via an implicit include\npath, but we want to crush those out of existence since they cost\ntime during compiles of processing thousands of lines of headers\nfor no reason.  Give them the lightweight header that just contains\nthe EXPORT_SYMBOL infrastructure.\n\nSigned-off-by: Paul Gortmaker \u003cpaul.gortmaker@windriver.com\u003e\n"
    },
    {
      "commit": "99b1bb61b225c3eb4d3b196d4f1d041695b19a7e",
      "tree": "06cabdc34538f3b38a39e3b802ecc1a2ab2aae00",
      "parents": [
        "c7e25e6e0b0486492c5faaf6312b37413642c48e",
        "93862d5e1ab875664c6cc95254fc365028a48bb1"
      ],
      "author": {
        "name": "Joel Becker",
        "email": "jlbec@evilplan.org",
        "time": "Sun Aug 21 21:02:57 2011 -0700"
      },
      "committer": {
        "name": "Joel Becker",
        "email": "jlbec@evilplan.org",
        "time": "Sun Aug 21 21:02:57 2011 -0700"
      },
      "message": "Merge branch \u0027mw-3.1-jul25\u0027 of git://oss.oracle.com/git/smushran/linux-2.6 into ocfs2-fixes\n"
    },
    {
      "commit": "5a2f3a02aea164f4f59c0c3497772090a411b462",
      "tree": "d3ebe03d4f97575290087843960baa01de3acd0a",
      "parents": [
        "1d568ab068c021672d6cd7f50f92a3695a921ffb",
        "817b54aa45db03437c6d09a7693fc6926eb8e822"
      ],
      "author": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Tue Aug 09 10:31:03 2011 +1000"
      },
      "committer": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Tue Aug 09 10:31:03 2011 +1000"
      },
      "message": "Merge branch \u0027next-evm\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/zohar/ima-2.6 into next\n\nConflicts:\n\tfs/attr.c\n\nResolve conflict manually.\n\nSigned-off-by: James Morris \u003cjmorris@namei.org\u003e\n"
    },
    {
      "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": "c7e25e6e0b0486492c5faaf6312b37413642c48e",
      "tree": "c097a213a8eb2ad336fb2ef8046d2e71f0fa1f4a",
      "parents": [
        "a11f7e63c59810a81494d4c4b028af707d4c7ca4"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Thu Jun 23 22:51:47 2011 +0200"
      },
      "committer": {
        "name": "Joel Becker",
        "email": "jlbec@evilplan.org",
        "time": "Thu Jul 28 02:07:19 2011 -0700"
      },
      "message": "ocfs2: Avoid livelock in ocfs2_readpage()\n\nWhen someone writes to an inode, readers accessing the same inode via\nocfs2_readpage() just busyloop trying to get ip_alloc_sem because\ndo_generic_file_read() looks up the page again and retries -\u003ereadpage()\nwhen previous attempt failed with AOP_TRUNCATED_PAGE. When there are enough\nreaders, they can occupy all CPUs and in non-preempt kernel the system is\ndeadlocked because writer holding ip_alloc_sem is never run to release the\nsemaphore. Fix the problem by making reader block on ip_alloc_sem to break\nthe busy loop.\n\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\nSigned-off-by: Joel Becker \u003cjlbec@evilplan.org\u003e\n"
    },
    {
      "commit": "a11f7e63c59810a81494d4c4b028af707d4c7ca4",
      "tree": "6d28cfc9519f96db5c20780bf765de9e0fc03bef",
      "parents": [
        "730e663bd82c1a10a85ff00728d34152a5a67ec8"
      ],
      "author": {
        "name": "Mark Fasheh",
        "email": "mfasheh@suse.com",
        "time": "Wed Jun 22 14:23:38 2011 -0700"
      },
      "committer": {
        "name": "Joel Becker",
        "email": "jlbec@evilplan.org",
        "time": "Thu Jul 28 02:07:16 2011 -0700"
      },
      "message": "ocfs2: serialize unaligned aio\n\nFix a corruption that can happen when we have (two or more) outstanding\naio\u0027s to an overlapping unaligned region.  Ext4\n(e9e3bcecf44c04b9e6b505fd8e2eb9cea58fb94d) and xfs recently had to fix\nsimilar issues.\n\nIn our case what happens is that we can have an outstanding aio on a region\nand if a write comes in with some bytes overlapping the original aio we may\ndecide to read that region into a page before continuing (typically because\nof buffered-io fallback).  Since we have no ordering guarantees with the\naio, we can read stale or bad data into the page and then write it back out.\n\nIf the i/o is page and block aligned, then we avoid this issue as there\nwon\u0027t be any need to read data from disk.\n\nI took the same approach as Eric in the ext4 patch and introduced some\nserialization of unaligned async direct i/o.  I don\u0027t expect this to have an\neffect on the most common cases of AIO.  Unaligned aio will be slower\nthough, but that\u0027s far more acceptable than data corruption.\n\nSigned-off-by: Mark Fasheh \u003cmfasheh@suse.com\u003e\nSigned-off-by: Joel Becker \u003cjlbec@evilplan.org\u003e\n"
    },
    {
      "commit": "93862d5e1ab875664c6cc95254fc365028a48bb1",
      "tree": "3299a37486b2265e051a4c641aa7cfbb309a69d6",
      "parents": [
        "5cffff9e29866a3de98c2c25135b3199491f93b0"
      ],
      "author": {
        "name": "Sunil Mushran",
        "email": "sunil.mushran@oracle.com",
        "time": "Mon Jul 25 14:58:15 2011 -0700"
      },
      "committer": {
        "name": "Sunil Mushran",
        "email": "sunil.mushran@oracle.com",
        "time": "Mon Jul 25 14:58:15 2011 -0700"
      },
      "message": "ocfs2: Implement llseek()\n\nocfs2 implements its own llseek() to provide the SEEK_HOLE/SEEK_DATA\nfunctionality.\n\nSEEK_HOLE sets the file pointer to the start of either a hole or an unwritten\n(preallocated) extent, that is greater than or equal to the supplied offset.\n\nSEEK_DATA sets the file pointer to the start of an allocated extent (not\nunwritten) that is greater than or equal to the supplied offset.\n\nIf the supplied offset is on a desired region, then the file pointer is set\nto it. Offsets greater than or equal to the file size return -ENXIO.\n\nUnwritten (preallocated) extents are considered holes because the file system\ntreats reads to such regions in the same way as it does to holes.\n\nSigned-off-by: Sunil Mushran \u003csunil.mushran@oracle.com\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": "5cffff9e29866a3de98c2c25135b3199491f93b0",
      "tree": "11b53cb3ad7cb44adb80f7802a62c145bf713514",
      "parents": [
        "a035bff6b82aca89c1223e2c614adc2d17ec8aa2"
      ],
      "author": {
        "name": "Wengang Wang",
        "email": "wen.gang.wang@oracle.com",
        "time": "Sun Jul 24 10:36:54 2011 -0700"
      },
      "committer": {
        "name": "Sunil Mushran",
        "email": "sunil.mushran@oracle.com",
        "time": "Sun Jul 24 10:36:54 2011 -0700"
      },
      "message": "ocfs2: Fix ocfs2_page_mkwrite()\n\nThis patch address two shortcomings in ocfs2_page_mkwrite():\n1. Makes the function return better VM_FAULT_* errors.\n2. It handles a error that is triggered when a page is dropped from the mapping\ndue to memory pressure. This patch locks the page to prevent that.\n\n[Patch was cleaned up by Sunil Mushran.]\n\nSigned-off-by: Wengang Wang \u003cwen.gang.wang@oracle.com\u003e\nSigned-off-by: Sunil Mushran \u003csunil.mushran@oracle.com\u003e\n"
    },
    {
      "commit": "a035bff6b82aca89c1223e2c614adc2d17ec8aa2",
      "tree": "edc27e463547909288f4f28438cc7e6104c125f6",
      "parents": [
        "619c200de144b44f5e405305241bcd7edbb8c6cf"
      ],
      "author": {
        "name": "Sunil Mushran",
        "email": "sunil.mushran@oracle.com",
        "time": "Sun Jul 24 10:35:54 2011 -0700"
      },
      "committer": {
        "name": "Sunil Mushran",
        "email": "sunil.mushran@oracle.com",
        "time": "Sun Jul 24 10:35:54 2011 -0700"
      },
      "message": "ocfs2: Add comment about orphan scanning\n\nAdd a comment that explains the reason as to why orphan scan scans all the slots.\n\nSigned-off-by: Sunil Mushran \u003csunil.mushran@oracle.com\u003e\n"
    },
    {
      "commit": "619c200de144b44f5e405305241bcd7edbb8c6cf",
      "tree": "3ec4ca199ac599d0ae2933d5fc58dfd904722cd4",
      "parents": [
        "6b27f62fc750d85bc6fc3718b3b38ec60edc2d74"
      ],
      "author": {
        "name": "Sunil Mushran",
        "email": "sunil.mushran@oracle.com",
        "time": "Sun Jul 24 10:34:54 2011 -0700"
      },
      "committer": {
        "name": "Sunil Mushran",
        "email": "sunil.mushran@oracle.com",
        "time": "Sun Jul 24 10:34:54 2011 -0700"
      },
      "message": "ocfs2: Clean up messages in the fs\n\nConvert useful messages from ML_NOTICE to KERN_NOTICE to improve readability.\n\nSigned-off-by: Sunil Mushran \u003csunil.mushran@oracle.com\u003e\n"
    },
    {
      "commit": "6b27f62fc750d85bc6fc3718b3b38ec60edc2d74",
      "tree": "8046b9a0b55ceb282a3b1d9afd35a4c4fb8e1727",
      "parents": [
        "3ba169ccec1c5ad0f678e04fd29b990197fdfe79"
      ],
      "author": {
        "name": "Sunil Mushran",
        "email": "sunil.mushran@oracle.com",
        "time": "Sun Jul 24 10:33:54 2011 -0700"
      },
      "committer": {
        "name": "Sunil Mushran",
        "email": "sunil.mushran@oracle.com",
        "time": "Sun Jul 24 10:33:54 2011 -0700"
      },
      "message": "ocfs2/cluster: Cluster up now includes network connections too\n\nThe cluster up check only checks to see if the node is heartbeating or not.\nIf yes it continues assuming that the node is connected to all the nodes. But\nif that is not the case, the cluster join aborts with a stack of errors that\nare not easy to comprehend.\n\nThis patch adds the network connect check upfront and prints the nodes that\nthe node is not yet connected to, before aborting.\n\nSigned-off-by: Sunil Mushran \u003csunil.mushran@oracle.com\u003e\n"
    },
    {
      "commit": "3ba169ccec1c5ad0f678e04fd29b990197fdfe79",
      "tree": "44aa0576afaf198a717e12b0450f45619e2c5cc4",
      "parents": [
        "bb570a5d9e74f71d32751823052db4a97d6a5e7c"
      ],
      "author": {
        "name": "Sunil Mushran",
        "email": "sunil.mushran@oracle.com",
        "time": "Sun Jul 24 10:32:54 2011 -0700"
      },
      "committer": {
        "name": "Sunil Mushran",
        "email": "sunil.mushran@oracle.com",
        "time": "Sun Jul 24 10:32:54 2011 -0700"
      },
      "message": "ocfs2/cluster: Add new function o2net_fill_node_map()\n\nPatch adds function o2net_fill_node_map() to return the bitmap of nodes that\nit is connected to. This bitmap is also accessible by the user via the debugfs\nfile, /sys/kernel/debug/o2net/connected_nodes.\n\nSigned-off-by: Sunil Mushran \u003csunil.mushran@oracle.com\u003e\n"
    },
    {
      "commit": "bb570a5d9e74f71d32751823052db4a97d6a5e7c",
      "tree": "f8690b945d29e88d67bc55cd32656de73e13941d",
      "parents": [
        "a2c0cc1579176bd0808ef7deea456767dfa80217"
      ],
      "author": {
        "name": "Sunil Mushran",
        "email": "sunil.mushran@oracle.com",
        "time": "Sun Jul 24 10:31:54 2011 -0700"
      },
      "committer": {
        "name": "Sunil Mushran",
        "email": "sunil.mushran@oracle.com",
        "time": "Sun Jul 24 10:31:54 2011 -0700"
      },
      "message": "ocfs2/cluster: Fix output in file elapsed_time_in_ms\n\nThe o2hb debugfs file, elapsed_time_in_ms, should return values only after the\ntimer is armed atleast once.\n\nSigned-off-by: Sunil Mushran \u003csunil.mushran@oracle.com\u003e\n"
    },
    {
      "commit": "a2c0cc1579176bd0808ef7deea456767dfa80217",
      "tree": "4f797a5fda954ce8a4783e9149da455879ca3641",
      "parents": [
        "ff0a522e7db79625aa27a433467eb94c5e255718"
      ],
      "author": {
        "name": "Sunil Mushran",
        "email": "sunil.mushran@oracle.com",
        "time": "Sun Jul 24 10:30:54 2011 -0700"
      },
      "committer": {
        "name": "Sunil Mushran",
        "email": "sunil.mushran@oracle.com",
        "time": "Sun Jul 24 10:30:54 2011 -0700"
      },
      "message": "ocfs2/dlm: dlmlock_remote() needs to account for remastery\n\nIn dlmlock_remote(), we wait for the resource to stop being active before\nsetting the inprogress flag. Active includes recovery, migration, etc.\n\nThe problem here is that if the resource was being recovered or migrated, the\nnew owner could very well be that node itself (and thus not a remote node).\nThis problem was observed in Oracle bug#12583620. The error messages observed\nwere as follows:\n\ndlm_send_remote_lock_request:337 ERROR: Error -40 (ELOOP) when sending message 503 (key 0xd6d8c7) to node 2\ndlmlock_remote:271 ERROR: dlm status \u003d DLM_BADARGS\ndlmlock:751 ERROR: dlm status \u003d DLM_BADARGS\n\nSigned-off-by: Sunil Mushran \u003csunil.mushran@oracle.com\u003e\n"
    },
    {
      "commit": "ff0a522e7db79625aa27a433467eb94c5e255718",
      "tree": "b404bbd397b3f495792db561a4a09fa66aa82be0",
      "parents": [
        "ed8625c6fb93d750ed022db571a8a7b7a6724b3b"
      ],
      "author": {
        "name": "Sunil Mushran",
        "email": "sunil.mushran@oracle.com",
        "time": "Sun Jul 24 10:29:54 2011 -0700"
      },
      "committer": {
        "name": "Sunil Mushran",
        "email": "sunil.mushran@oracle.com",
        "time": "Sun Jul 24 10:29:54 2011 -0700"
      },
      "message": "ocfs2/dlm: Take inflight reference count for remotely mastered resources too\n\nThe inflight reference count, in the lock resource, is taken to pin the resource\nin memory. We take it when a new resource is created and release it after a\nlock is attached to it. We do this to prevent the resource from getting purged\nprematurely.\n\nEarlier this reference count was being taken for locally mastered resources\nonly. This patch extends the same functionality for remotely mastered ones.\n\nWe are doing this because the same premature purging could occur for remotely\nmastered resources if the remote node were to die before completion of the\ncreate lock.\n\nFix for Oracle bug#12405575.\n\nSigned-off-by: Sunil Mushran \u003csunil.mushran@oracle.com\u003e\n"
    },
    {
      "commit": "ed8625c6fb93d750ed022db571a8a7b7a6724b3b",
      "tree": "c1daa0440883e05786abe1c453a8aea304640551",
      "parents": [
        "e9f0b6a6233105c188064328c3f15e21942d0241"
      ],
      "author": {
        "name": "Sunil Mushran",
        "email": "sunil.mushran@oracle.com",
        "time": "Sun Jul 24 10:28:54 2011 -0700"
      },
      "committer": {
        "name": "Sunil Mushran",
        "email": "sunil.mushran@oracle.com",
        "time": "Sun Jul 24 10:28:54 2011 -0700"
      },
      "message": "ocfs2/dlm: Cleanup dlm_wait_for_node_death() and dlm_wait_for_node_recovery()\n\ndlm_wait_for_node_death() and dlm_wait_for_node_recovery() needed a facelift.\n\nSigned-off-by: Sunil Mushran \u003csunil.mushran@oracle.com\u003e\n"
    },
    {
      "commit": "e9f0b6a6233105c188064328c3f15e21942d0241",
      "tree": "362f0f98f9a7d9909a75210b3a2a4b8eb5532323",
      "parents": [
        "8d400b81cc83b171ff872587723a37eb7fae9abe"
      ],
      "author": {
        "name": "Sunil Mushran",
        "email": "sunil.mushran@oracle.com",
        "time": "Sun Jul 24 10:27:54 2011 -0700"
      },
      "committer": {
        "name": "Sunil Mushran",
        "email": "sunil.mushran@oracle.com",
        "time": "Sun Jul 24 10:27:54 2011 -0700"
      },
      "message": "ocfs2/dlm: Trace insert/remove of resource to/from hash\n\nAdd mlog to trace adding and removing the resource from/to the hash table.\n\nSigned-off-by: Sunil Mushran \u003csunil.mushran@oracle.com\u003e\n"
    },
    {
      "commit": "8d400b81cc83b171ff872587723a37eb7fae9abe",
      "tree": "443b802744cdfa1f1f9f38b3d5917fc4bc30a4e2",
      "parents": [
        "0afbba13226fcdbd4327f6b13a42f6efbb8c9caf"
      ],
      "author": {
        "name": "Sunil Mushran",
        "email": "sunil.mushran@oracle.com",
        "time": "Sun Jul 24 10:26:54 2011 -0700"
      },
      "committer": {
        "name": "Sunil Mushran",
        "email": "sunil.mushran@oracle.com",
        "time": "Sun Jul 24 10:26:54 2011 -0700"
      },
      "message": "ocfs2/dlm: Clean up refmap helpers\n\nPatch cleans up helpers that set/clear refmap bits and grab/drop inflight lock\nref counts.\n\nSigned-off-by: Sunil Mushran \u003csunil.mushran@oracle.com\u003e\n"
    },
    {
      "commit": "0afbba13226fcdbd4327f6b13a42f6efbb8c9caf",
      "tree": "4ed7ddff738f162ef5b6403df87847931eaf0d43",
      "parents": [
        "394eb3d38a3ecc549cc34a3040103a9164be516b"
      ],
      "author": {
        "name": "Sunil Mushran",
        "email": "sunil.mushran@oracle.com",
        "time": "Sun Jul 24 10:25:54 2011 -0700"
      },
      "committer": {
        "name": "Sunil Mushran",
        "email": "sunil.mushran@oracle.com",
        "time": "Sun Jul 24 10:25:54 2011 -0700"
      },
      "message": "ocfs2/dlm: Cleanup up dlm_finish_local_lockres_recovery()\n\ndlm_finish_local_lockres_recovery() needed a facelift.\n\nSigned-off-by: Sunil Mushran \u003csunil.mushran@oracle.com\u003e\n"
    },
    {
      "commit": "394eb3d38a3ecc549cc34a3040103a9164be516b",
      "tree": "c373152dde8a2aae2a0f444f05021c6fef186fb1",
      "parents": [
        "8decab3c8dadcdf4f54ffb30df6e6f67b398b6e0"
      ],
      "author": {
        "name": "Sunil Mushran",
        "email": "sunil.mushran@oracle.com",
        "time": "Sun Jul 24 10:24:54 2011 -0700"
      },
      "committer": {
        "name": "Sunil Mushran",
        "email": "sunil.mushran@oracle.com",
        "time": "Sun Jul 24 10:24:54 2011 -0700"
      },
      "message": "ocfs2: Clean up messages in stack_o2cb.c\n\no2cb messages needed a facelift.\n\nSigned-off-by: Sunil Mushran \u003csunil.mushran@oracle.com\u003e\n"
    },
    {
      "commit": "8decab3c8dadcdf4f54ffb30df6e6f67b398b6e0",
      "tree": "c1221be95579ae14f55774d13d48d9d938152071",
      "parents": [
        "1dfecf810e0eacb35987905082f23e5c2cd26e91"
      ],
      "author": {
        "name": "Sunil Mushran",
        "email": "sunil.mushran@oracle.com",
        "time": "Sun Jul 24 10:23:54 2011 -0700"
      },
      "committer": {
        "name": "Sunil Mushran",
        "email": "sunil.mushran@oracle.com",
        "time": "Sun Jul 24 10:23:54 2011 -0700"
      },
      "message": "ocfs2/dlm: Clean up messages in o2dlm\n\no2dlm messages needed a facelift.\n\nSigned-off-by: Sunil Mushran \u003csunil.mushran@oracle.com\u003e\n"
    },
    {
      "commit": "1dfecf810e0eacb35987905082f23e5c2cd26e91",
      "tree": "106f0d7f7f9a0bd28fadf9f29e592d7745f44219",
      "parents": [
        "d2eece376648d2f7ba0a7d78f3c4d0421e608ac2"
      ],
      "author": {
        "name": "Sunil Mushran",
        "email": "sunil.mushran@oracle.com",
        "time": "Sun Jul 24 10:22:54 2011 -0700"
      },
      "committer": {
        "name": "Sunil Mushran",
        "email": "sunil.mushran@oracle.com",
        "time": "Sun Jul 24 10:22:54 2011 -0700"
      },
      "message": "ocfs2/cluster: Clean up messages in o2net\n\no2net messages needed a facelift.\n\nSigned-off-by: Sunil Mushran \u003csunil.mushran@oracle.com\u003e\n"
    },
    {
      "commit": "d2eece376648d2f7ba0a7d78f3c4d0421e608ac2",
      "tree": "6d43ac36bcbdf01f544027ec5d2c1427411ab498",
      "parents": [
        "b6844e8f64920cdee620157252169ba63afb0c89"
      ],
      "author": {
        "name": "Sunil Mushran",
        "email": "sunil.mushran@oracle.com",
        "time": "Sun Jul 24 10:21:54 2011 -0700"
      },
      "committer": {
        "name": "Sunil Mushran",
        "email": "sunil.mushran@oracle.com",
        "time": "Sun Jul 24 10:21:54 2011 -0700"
      },
      "message": "ocfs2/cluster: Abort heartbeat start on hard-ro devices\n\nCurrently if the heartbeat device is hard-ro, the o2hb thread keeps chugging\nalong and dumping errors along the way. The user needs to manually stop the\nheartbeat.\n\nThe patch addresses this shortcoming by adding a limit to the number of times\nthe hb thread will iterate in an unsteady state. If the hb thread does not\nready steady state in that many interation, the start is aborted.\n\nSigned-off-by: Sunil Mushran \u003csunil.mushran@oracle.com\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": "9d8f13ba3f4833219e50767b022b82cd0da930eb",
      "tree": "3ba2367380d009111ea17696162a62320c88d144",
      "parents": [
        "0f2a55d5bb2372058275b0b343d90dd5d640d045"
      ],
      "author": {
        "name": "Mimi Zohar",
        "email": "zohar@linux.vnet.ibm.com",
        "time": "Mon Jun 06 15:29:25 2011 -0400"
      },
      "committer": {
        "name": "Mimi Zohar",
        "email": "zohar@linux.vnet.ibm.com",
        "time": "Mon Jul 18 12:29:38 2011 -0400"
      },
      "message": "security: new security_inode_init_security API adds function callback\n\nThis patch changes the security_inode_init_security API by adding a\nfilesystem specific callback to write security extended attributes.\nThis change is in preparation for supporting the initialization of\nmultiple LSM xattrs and the EVM xattr.  Initially the callback function\nwalks an array of xattrs, writing each xattr separately, but could be\noptimized to write multiple xattrs at once.\n\nFor existing security_inode_init_security() calls, which have not yet\nbeen converted to use the new callback function, such as those in\nreiserfs and ocfs2, this patch defines security_old_inode_init_security().\n\nSigned-off-by: Mimi Zohar \u003czohar@us.ibm.com\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": "730e663bd82c1a10a85ff00728d34152a5a67ec8",
      "tree": "c7ca96c508146bdc76890fa66f143786eed4b28f",
      "parents": [
        "87f0d5c8db7aad85b9120c26723fdc63cd84a460"
      ],
      "author": {
        "name": "Akinobu Mita",
        "email": "akinobu.mita@gmail.com",
        "time": "Mon May 30 21:58:05 2011 +0900"
      },
      "committer": {
        "name": "Joel Becker",
        "email": "jlbec@evilplan.org",
        "time": "Tue May 31 19:03:45 2011 -0700"
      },
      "message": "ocfs2: use proper little-endian bitops\n\nUsing __test_and_{set,clear}_bit_le() with ignoring its return value\ncan be replaced with __{set,clear}_bit_le().\n\nSigned-off-by: Akinobu Mita \u003cakinobu.mita@gmail.com\u003e\nCc: Joel Becker \u003cjlbec@evilplan.org\u003e\nCc: Mark Fasheh \u003cmfasheh@suse.com\u003e\nCc: ocfs2-devel@oss.oracle.com\nSigned-off-by: Joel Becker \u003cjlbec@evilplan.org\u003e\n"
    },
    {
      "commit": "87f0d5c8db7aad85b9120c26723fdc63cd84a460",
      "tree": "7233a07d4a4ac888db738c1ddd25b868ec13c8f3",
      "parents": [
        "3d75be7c4771c7e4d5b5fa586a599af8473de32c"
      ],
      "author": {
        "name": "Dan Carpenter",
        "email": "error27@gmail.com",
        "time": "Sun May 29 22:57:16 2011 +0300"
      },
      "committer": {
        "name": "Joel Becker",
        "email": "jlbec@evilplan.org",
        "time": "Tue May 31 19:03:45 2011 -0700"
      },
      "message": "ocfs2: null deref on allocation error\n\nThe original code had a null derefence in the error handling.\n\nSigned-off-by: Dan Carpenter \u003cerror27@gmail.com\u003e\nSigned-off-by: Joel Becker \u003cjlbec@evilplan.org\u003e\n"
    },
    {
      "commit": "3d75be7c4771c7e4d5b5fa586a599af8473de32c",
      "tree": "45052c6e7317f1bfe2d0f6961ca5a738deae5766",
      "parents": [
        "03efed8a2a1b8e00164eb4720a82a7dd5e368a8e"
      ],
      "author": {
        "name": "Dan Carpenter",
        "email": "error27@gmail.com",
        "time": "Sun May 29 22:56:31 2011 +0300"
      },
      "committer": {
        "name": "Joel Becker",
        "email": "jlbec@evilplan.org",
        "time": "Tue May 31 19:03:44 2011 -0700"
      },
      "message": "ocfs2: checking the wrong variable in ocfs2_move_extent()\n\n\"new_phys_cpos\" is always a valid pointer here.\nocfs2_probe_alloc_group() allocates \"*new_phys_cpos\".\n\nSigned-off-by: Dan Carpenter \u003cerror27@gmail.com\u003e\nSigned-off-by: Joel Becker \u003cjlbec@evilplan.org\u003e\n"
    },
    {
      "commit": "03efed8a2a1b8e00164eb4720a82a7dd5e368a8e",
      "tree": "efe713ba18680a1ccedecfbff2d81d83f048fdb0",
      "parents": [
        "e12ca23d41bd157354a5d1aadff30211a410c53a"
      ],
      "author": {
        "name": "Tiger Yang",
        "email": "tiger.yang@oracle.com",
        "time": "Sat May 28 00:34:19 2011 +0800"
      },
      "committer": {
        "name": "Joel Becker",
        "email": "jlbec@evilplan.org",
        "time": "Tue May 31 19:03:44 2011 -0700"
      },
      "message": "ocfs2: Bugfix for hard readonly mount\n\nocfs2 cannot currently mount a device that is readonly at the media\n(\"hard readonly\").  Fix the broken places.\nsee detail: http://oss.oracle.com/bugzilla/show_bug.cgi?id\u003d1322\n\n[ Description edited -- Joel ]\n\nSigned-off-by: Tiger Yang \u003ctiger.yang@oracle.com\u003e\nReviewed-by: Sunil Mushran \u003csunil.mushran@oracle.com\u003e\nSigned-off-by: Joel Becker \u003cjlbec@evilplan.org\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"
    }
  ],
  "next": "a74b81b0aff4a01e0816df5915c854fb52c5e87f"
}
