)]}'
{
  "log": [
    {
      "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": "4482a087d4c5a6ffbc385c56b4a4e2f694d9fd5d",
      "tree": "10ca7beda590618be3c695720e04582c63a03822",
      "parents": [
        "6311b10800a4bdc3f2c85d01fb113cf49bb83770"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Sat Jul 23 17:37:03 2011 +0200"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Jul 25 14:25:38 2011 -0400"
      },
      "message": "reiserfs: cache negative ACLs for v1 stat format\n\nAlways set up a negative ACL cache entry if the inode can\u0027t have ACLs.\nThat behaves much better than doing this check inside -\u003echeck_acl.\n\nAlso remove the left over MAY_NOT_BLOCK check.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "6311b10800a4bdc3f2c85d01fb113cf49bb83770",
      "tree": "4798068e025fa64c9c8656e2a28427f120d447a0",
      "parents": [
        "ebbb0ef2871bf3f529987313a9146cc42419a8a8"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Sat Jul 23 17:36:50 2011 +0200"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Jul 25 14:25:38 2011 -0400"
      },
      "message": "xfs: cache negative ACLs if there is no attribute fork\n\nAlways set up a negative ACL cache entry if the inode doesn\u0027t have an\nattribute fork.  That behaves much better than doing this check inside\n-\u003echeck_acl.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "ebbb0ef2871bf3f529987313a9146cc42419a8a8",
      "tree": "b833325b05b6e25c976be34f3be69088dbd6d7c1",
      "parents": [
        "e77819e57f0817c6dc7cadd061acd70c604cbce2"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Sat Jul 23 17:36:38 2011 +0200"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Jul 25 14:25:38 2011 -0400"
      },
      "message": "9p: do no return 0 from -\u003echeck_acl without actually checking\n\nIf we do not want to use ACLs we at least need to perform normal Unix\npermission checks.  From the comment I\u0027m not quite sure that\u0027s what\nis intended, but if 0p wants to do permission checks entirely on the\nserver it needs to do so in -\u003epermission, not in -\u003echeck_acl.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\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": "3ca30d40a91fb9b9871e61d5dea2c1a895906a15",
      "tree": "2d0af7b870f0c56a4b81938a65276565e8b0ac2b",
      "parents": [
        "340a0a01b9675a16201cc4fc4a210eb5b3bc11ce"
      ],
      "author": {
        "name": "Pavel Shilovsky",
        "email": "piastryyy@gmail.com",
        "time": "Mon Jul 25 17:59:10 2011 +0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Jul 25 14:23:21 2011 -0400"
      },
      "message": "CIFS: Fix oops while mounting with prefixpath\n\ncommit fec11dd9a0109fe52fd631e5c510778d6cbff6cc caused\na regression when we have already mounted //server/share/a\nand want to mount //server/share/a/b.\n\nThe problem is that lookup_one_len calls __lookup_hash\nwith nd pointer as NULL. Then __lookup_hash calls\ndo_revalidate in the case when dentry exists and we end\nup with NULL pointer deference in cifs_d_revalidate:\n\nif (nd-\u003eflags \u0026 LOOKUP_RCU)\n\treturn -ECHILD;\n\nFix this by checking nd for NULL.\n\nSigned-off-by: Pavel Shilovsky \u003cpiastryyy@gmail.com\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "340a0a01b9675a16201cc4fc4a210eb5b3bc11ce",
      "tree": "472f690c330e08391b286430a79864c9c83fc3cf",
      "parents": [
        "e13889bab3c6b5c839075086d28fe05f71984dda"
      ],
      "author": {
        "name": "Markus Trippelsdorf",
        "email": "markus@trippelsdorf.de",
        "time": "Sun Jul 24 14:03:30 2011 +0200"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Jul 25 14:23:21 2011 -0400"
      },
      "message": "xfs: Fix wrong return value of xfs_file_aio_write\n\nThe fsync prototype change commit 02c24a82187d accidentally overwrote\nthe ssize_t return value of xfs_file_aio_write with 0 for SYNC type\nwrites. Fix this by checking if an error occured when calling\nxfs_file_fsync and only change the return value in this case.\nIn addition xfs_file_fsync actually returns a normal negative error, so\nfix this, too.\n\nSigned-off-by: Markus Trippelsdorf \u003cmarkus@trippelsdorf.de\u003e\nReviewed-by: Christoph Hellwig \u003chch@lst.de\u003e\nTested-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "e13889bab3c6b5c839075086d28fe05f71984dda",
      "tree": "4b2931575f48186533848f36a7c80809ea929097",
      "parents": [
        "eda65cc6ce2a45dc01c233e301e59cd7a0f763ad"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Jul 25 14:15:50 2011 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Jul 25 14:15:50 2011 -0400"
      },
      "message": "fix devtmpfs race\n\nAfter we\u0027s done complete(\u0026req-\u003edone), there\u0027s nothing to prevent the\nscope containing *req from being gone and *req overwritten by any\nkind of junk.  So we must read req-\u003enext before that...\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "eda65cc6ce2a45dc01c233e301e59cd7a0f763ad",
      "tree": "dea2bc7276405a999f3c314d86fc8b148b7ef3de",
      "parents": [
        "e55d92b92d240189241c22bfdfc885d4225a4d61"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sun Jul 24 04:32:53 2011 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sun Jul 24 10:12:42 2011 -0400"
      },
      "message": "caam: don\u0027t pass bogus S_IFCHR to debugfs_create_...()\n\nit will be replaced with S_IFREG anyway\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "e55d92b92d240189241c22bfdfc885d4225a4d61",
      "tree": "f29095ec817db02a1e40349b0c6b136e0172e2b4",
      "parents": [
        "e772aed369779c98f44e83ccd7fb1b713953cd09"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sun Jul 24 02:07:46 2011 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sun Jul 24 10:12:33 2011 -0400"
      },
      "message": "get rid of create_proc_entry() abuses - proc_mkdir() is there for purpose\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "e772aed369779c98f44e83ccd7fb1b713953cd09",
      "tree": "b95e12adefedbaa2df6cb2d41e820f9a6161b033",
      "parents": [
        "963945bf93e46b9bf71a07bf9c78183e0f57733a"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat Jul 23 20:59:40 2011 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sun Jul 24 10:12:19 2011 -0400"
      },
      "message": "asus-wmi: -\u003eis_visible() can\u0027t return negative\n\nIt\u0027s mode_t; return 0 (no access) on error.\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "963945bf93e46b9bf71a07bf9c78183e0f57733a",
      "tree": "736c84e9a31b2dd736293ca117688527e3a5a194",
      "parents": [
        "1ec95bf34d976b38897d1977b155a544d77b05e7"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat Jul 23 18:18:58 2011 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sun Jul 24 10:12:01 2011 -0400"
      },
      "message": "fix jffs2 ACLs on big-endian with 16bit mode_t\n\ncasting int * to mode_t * is not a good thing - on a *lot* of big-endian\narchitectures mode_t happens to be smaller than int and there it breaks\nquite spectaculary...\n\nFucked-up-by: commit cfc8dc6f6f69ede939e09c2af06a01adee577285\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "1ec95bf34d976b38897d1977b155a544d77b05e7",
      "tree": "4ab00349b5bb528bf24631c6e80402cbbc190e42",
      "parents": [
        "c0d960f038bdfe0fa73c9f698ba836ed20b672c9"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat Jul 23 02:28:13 2011 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sun Jul 24 10:10:18 2011 -0400"
      },
      "message": "9p: close ACL leaks\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "c0d960f038bdfe0fa73c9f698ba836ed20b672c9",
      "tree": "d3be44f58e977935718d5b8c9cc0b7e4cd8f022e",
      "parents": [
        "423e0ab086ad8b33626e45fa94ac7613146b7ffa"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat Jul 23 00:22:31 2011 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sun Jul 24 10:10:09 2011 -0400"
      },
      "message": "ocfs2_init_acl(): fix a leak\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "423e0ab086ad8b33626e45fa94ac7613146b7ffa",
      "tree": "249c9337a02254fe5dbede7436f78dfcc1ec508f",
      "parents": [
        "bbd9d6f7fbb0305c9a592bf05a32e87eb364a4ff"
      ],
      "author": {
        "name": "Tim Chen",
        "email": "tim.c.chen@linux.intel.com",
        "time": "Tue Jul 19 09:32:38 2011 -0700"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sun Jul 24 10:08:32 2011 -0400"
      },
      "message": "VFS : mount lock scalability for internal mounts\n\nFor a number of file systems that don\u0027t have a mount point (e.g. sockfs\nand pipefs), they are not marked as long term. Therefore in\nmntput_no_expire, all locks in vfs_mount lock are taken instead of just\nlocal cpu\u0027s lock to aggregate reference counts when we release\nreference to file objects.  In fact, only local lock need to have been\ntaken to update ref counts as these file systems are in no danger of\ngoing away until we are ready to unregister them.\n\nThe attached patch marks file systems using kern_mount without\nmount point as long term.  The contentions of vfs_mount lock\nis now eliminated.  Before un-registering such file system,\nkern_unmount should be called to remove the long term flag and\nmake the mount point ready to be freed.\n\nSigned-off-by: Tim Chen \u003ctim.c.chen@linux.intel.com\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "bbd9d6f7fbb0305c9a592bf05a32e87eb364a4ff",
      "tree": "12b2bb4202b05f6ae6a43c6ce830a0472043dbe5",
      "parents": [
        "8e204874db000928e37199c2db82b7eb8966cc3c",
        "5a9a43646cf709312d71eca71cef90ad802f28f9"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 22 19:02:39 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 22 19:02:39 2011 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6: (107 commits)\n  vfs: use ERR_CAST for err-ptr tossing in lookup_instantiate_filp\n  isofs: Remove global fs lock\n  jffs2: fix IN_DELETE_SELF on overwriting rename() killing a directory\n  fix IN_DELETE_SELF on overwriting rename() on ramfs et.al.\n  mm/truncate.c: fix build for CONFIG_BLOCK not enabled\n  fs:update the NOTE of the file_operations structure\n  Remove dead code in dget_parent()\n  AFS: Fix silly characters in a comment\n  switch d_add_ci() to d_splice_alias() in \"found negative\" case as well\n  simplify gfs2_lookup()\n  jfs_lookup(): don\u0027t bother with . or ..\n  get rid of useless dget_parent() in btrfs rename() and link()\n  get rid of useless dget_parent() in fs/btrfs/ioctl.c\n  fs: push i_mutex and filemap_write_and_wait down into -\u003efsync() handlers\n  drivers: fix up various -\u003ellseek() implementations\n  fs: handle SEEK_HOLE/SEEK_DATA properly in all fs\u0027s that define their own llseek\n  Ext4: handle SEEK_HOLE/SEEK_DATA generically\n  Btrfs: implement our own -\u003ellseek\n  fs: add SEEK_HOLE and SEEK_DATA flags\n  reiserfs: make reiserfs default to barrier\u003dflush\n  ...\n\nFix up trivial conflicts in fs/xfs/linux-2.6/xfs_super.c due to the new\nshrinker callout for the inode cache, that clashed with the xfs code to\nstart the periodic workers later.\n"
    },
    {
      "commit": "8e204874db000928e37199c2db82b7eb8966cc3c",
      "tree": "eae66035cb761c3c5a79e98b92280b5156bc01ef",
      "parents": [
        "3e0b8df79ddb8955d2cce5e858972a9cfe763384",
        "aafade242ff24fac3aabf61c7861dfa44a3c2445"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 22 17:05:15 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 22 17:05:15 2011 -0700"
      },
      "message": "Merge branch \u0027x86-vdso-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027x86-vdso-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  x86-64, vdso: Do not allocate memory for the vDSO\n  clocksource: Change __ARCH_HAS_CLOCKSOURCE_DATA to a CONFIG option\n  x86, vdso: Drop now wrong comment\n  Document the vDSO and add a reference parser\n  ia64: Replace clocksource.fsys_mmio with generic arch data\n  x86-64: Move vread_tsc and vread_hpet into the vDSO\n  clocksource: Replace vread with generic arch data\n  x86-64: Add --no-undefined to vDSO build\n  x86-64: Allow alternative patching in the vDSO\n  x86: Make alternative instruction pointers relative\n  x86-64: Improve vsyscall emulation CS and RIP handling\n  x86-64: Emulate legacy vsyscalls\n  x86-64: Fill unused parts of the vsyscall page with 0xcc\n  x86-64: Remove vsyscall number 3 (venosys)\n  x86-64: Map the HPET NX\n  x86-64: Remove kernel.vsyscall64 sysctl\n  x86-64: Give vvars their own page\n  x86-64: Document some of entry_64.S\n  x86-64: Fix alignment of jiffies variable\n"
    },
    {
      "commit": "3e0b8df79ddb8955d2cce5e858972a9cfe763384",
      "tree": "dbe35b7403c462aaaabb4176c02229feb991be1c",
      "parents": [
        "805120795947008612ef64618bba8a6aa30cf88b",
        "ae90c232be376bd8a283f3b6fb37cb5bd2635d67"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 22 17:04:55 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 22 17:04:55 2011 -0700"
      },
      "message": "Merge branch \u0027x86-uv-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027x86-uv-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  x86, UV: Correct UV2 BAU destination timeout\n  x86, UV: Correct failed topology memory leak\n  x86, UV: Remove cpumask_t from the stack\n  x86, UV: Rename hubmask to pnmask\n  x86, UV: Correct reset_with_ipi()\n  x86, UV: Allow for non-consecutive sockets\n  x86, UV: Inline header file functions\n  x86, UV: Fix smp_processor_id() use in a preemptable region\n  x66, UV: Enable 64-bit ACPI MFCG support for SGI UV2 platform\n  x86, UV: Clean up uv_mmrs.h\n"
    },
    {
      "commit": "805120795947008612ef64618bba8a6aa30cf88b",
      "tree": "229acb76bfddb595f4d8b215637e12d911c1727d",
      "parents": [
        "9e39264ed4f687251632c0a6f4a70c2e51719662",
        "73d382deccac186d103496bf10388bc2432a8384"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 22 17:04:32 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 22 17:04:32 2011 -0700"
      },
      "message": "Merge branch \u0027x86-signal-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027x86-signal-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  x86: Kill handle_signal()-\u003eset_fs()\n  x86, do_signal: Simplify the TS_RESTORE_SIGMASK logic\n  x86, signals: Convert the X86_32 code to use set_current_blocked()\n  x86, signals: Convert the IA32_EMULATION code to use set_current_blocked()\n"
    },
    {
      "commit": "9e39264ed4f687251632c0a6f4a70c2e51719662",
      "tree": "27651ca028328ac5e7b5a030312ad113b6cb8b2b",
      "parents": [
        "dc43d9fa73d82083656fb9c02f4823bcdcfb9f91",
        "1e01979c8f502ac13e3cdece4f38712c5944e6e8"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 22 17:04:18 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 22 17:04:18 2011 -0700"
      },
      "message": "Merge branch \u0027x86-numa-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027x86-numa-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  x86, numa: Implement pfn -\u003e nid mapping granularity check\n  x86, mm: s/PAGES_PER_ELEMENT/PAGES_PER_SECTION/\n"
    },
    {
      "commit": "dc43d9fa73d82083656fb9c02f4823bcdcfb9f91",
      "tree": "f5303b6d7ff3e0157ab3312b5dc3182785972fec",
      "parents": [
        "80775068dbcf849dca81316e43bcc309985956ac",
        "50c31e4a2497ea17747b587e8f96b278f07f5483"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 22 17:04:04 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 22 17:04:04 2011 -0700"
      },
      "message": "Merge branch \u0027x86-mtrr-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027x86-mtrr-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  x86, mtrr: Use pci_dev-\u003erevision\n  x86, mtrr: use stop_machine APIs for doing MTRR rendezvous\n  stop_machine: implement stop_machine_from_inactive_cpu()\n  stop_machine: reorganize stop_cpus() implementation\n  x86, mtrr: lock stop machine during MTRR rendezvous sequence\n"
    },
    {
      "commit": "80775068dbcf849dca81316e43bcc309985956ac",
      "tree": "431131746de7f983c14f88ac838f3678678e2ec6",
      "parents": [
        "7c6582b28a7debef031a8b7e31953c7d45ddb05d",
        "40b7f3dfcc5ab211a0b8d916751bb22ac2290806"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 22 17:03:52 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 22 17:03:52 2011 -0700"
      },
      "message": "Merge branch \u0027x86-microcode-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027x86-microcode-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  x86, microcode, AMD: Fix section header size check\n  x86, microcode, AMD: Correct buf references\n"
    },
    {
      "commit": "7c6582b28a7debef031a8b7e31953c7d45ddb05d",
      "tree": "33104b99d85b7250384a938534ef42853821351e",
      "parents": [
        "227ad9bc070db2801a7f586b4d350dd1d8b82e03",
        "c7cece89f1b00b56276303942f96ec67cf206e1e"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 22 17:03:40 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 22 17:03:40 2011 -0700"
      },
      "message": "Merge branch \u0027x86-mce-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027x86-mce-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  x86, mce: Use mce_sysdev_ prefix to group functions\n  x86, mce: Use mce_chrdev_ prefix to group functions\n  x86, mce: Cleanup mce_read()\n  x86, mce: Cleanup mce_create()/remove_device()\n  x86, mce: Check the result of ancient_init()\n  x86, mce: Introduce mce_gather_info()\n  x86, mce: Replace MCM_ with MCI_MISC_\n  x86, mce: Replace MCE_SELF_VECTOR by irq_work\n  x86, mce, severity: Clean up trivial coding style problems\n  x86, mce, severity: Cleanup severity table\n  x86, mce, severity: Make formatting a bit more readable\n  x86, mce, severity: Fix two severities table signatures\n"
    },
    {
      "commit": "227ad9bc070db2801a7f586b4d350dd1d8b82e03",
      "tree": "fe5182ed4131e5f4c77eaedda6566e1b3ca082e0",
      "parents": [
        "35b004cce1b0880876faecb8e0bd7cb2cb5a59d1",
        "d80603c9d876efafd8b07469c891076de470e323"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 22 17:03:14 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 22 17:03:14 2011 -0700"
      },
      "message": "Merge branch \u0027x86-efi-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027x86-efi-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  x86, efi: Properly pre-initialize table pointers\n  x86, efi: Add infrastructure for UEFI 2.0 runtime services\n  x86, efi: Fix argument types for SetVariable()\n"
    },
    {
      "commit": "35b004cce1b0880876faecb8e0bd7cb2cb5a59d1",
      "tree": "84ac064e56be49bd57b383392531c5c5ebe0c455",
      "parents": [
        "0a613b647bac0cfab7b7d81f11271883209a70ef",
        "17edf2d79f1ea6dfdb4c444801d928953b9f98d6"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 22 17:02:54 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 22 17:02:54 2011 -0700"
      },
      "message": "Merge branch \u0027x86-cpu-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027x86-cpu-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  x86, intel, power: Correct the MSR_IA32_ENERGY_PERF_BIAS message\n  x86, msr: Fix typo in ENERGY_PERF_BIAS_POWERSAVE\n  x86, intel, power: Initialize MSR_IA32_ENERGY_PERF_BIAS\n"
    },
    {
      "commit": "0a613b647bac0cfab7b7d81f11271883209a70ef",
      "tree": "e08bc77eb987ef8f4560c0c46cd4ed54784b23c0",
      "parents": [
        "eb47418dc56baaca33d270a868d8ddaa81150952",
        "a6c23905ff0d6bbddf590ef0838489ee0f6c74ac"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 22 17:02:38 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 22 17:02:38 2011 -0700"
      },
      "message": "Merge branch \u0027x86-cleanups-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027x86-cleanups-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  x86, smpboot: Mark the names[] array in __inquire_remote_apic() as const\n  x86: Convert vmalloc()+memset() to vzalloc()\n"
    },
    {
      "commit": "eb47418dc56baaca33d270a868d8ddaa81150952",
      "tree": "16c0b09bacf3f6c25e5786afcfa741fa2a550ae5",
      "parents": [
        "2c9e88a1085b3183e5f92170a74980e5654f817b",
        "a750036f35cda160ef77408ec92c3dc41f8feebb"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 22 17:02:24 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 22 17:02:24 2011 -0700"
      },
      "message": "Merge branch \u0027x86-asm-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027x86-asm-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  x86: Fix write lock scalability 64-bit issue\n  x86: Unify rwsem assembly implementation\n  x86: Unify rwlock assembly implementation\n  x86, asm: Fix binutils 2.16 issue with __USER32_CS\n  x86, asm: Cleanup thunk_64.S\n  x86, asm: Flip RESTORE_ARGS arguments logic\n  x86, asm: Flip SAVE_ARGS arguments logic\n  x86, asm: Thin down SAVE/RESTORE_* asm macros\n"
    },
    {
      "commit": "2c9e88a1085b3183e5f92170a74980e5654f817b",
      "tree": "43d38618012ecc8f7aba5df2c0fd1ba5e62b2a82",
      "parents": [
        "52de84f3f3f407013a7f7872601e7a43a505abd3",
        "42f0efc5aae2bd7e3bc420c0902c7024ef77391f"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 22 17:02:07 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 22 17:02:07 2011 -0700"
      },
      "message": "Merge branch \u0027x86-apic-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027x86-apic-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  x86, ioapic: Print IR_IO_APIC_route_entry when IR is enabled\n  x86, ioapic: Print IRTE when IR is enabled\n  x86, x2apic: Preserve high 32-bits of IA32_APIC_BASE MSR\n  x86, ioapic: Also print Dest field\n  x86, ioapic: Format clean up for IOAPIC output\n  x86: print APIC data a little later during boot\n"
    },
    {
      "commit": "52de84f3f3f407013a7f7872601e7a43a505abd3",
      "tree": "cfd7ac2fd9a928d4855eb90be06d25947f90f1ef",
      "parents": [
        "112ec469663e09ffc815761254b52f3ca787ce83",
        "ef68c8f87ed13f65df867dddf36c0e185b27b942"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 22 16:52:39 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 22 16:52:39 2011 -0700"
      },
      "message": "Merge branch \u0027timers-rtc-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027timers-rtc-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  x86: Serialize EFI time accesses on rtc_lock\n  x86: Serialize SMP bootup CMOS accesses on rtc_lock\n  rtc: stmp3xxx: Remove UIE handlers\n  rtc: stmp3xxx: Get rid of mach-specific accessors\n  rtc: stmp3xxx: Initialize drvdata before registering device\n  rtc: stmp3xxx: Port stmp-functions to mxs-equivalents\n  rtc: stmp3xxx: Restore register definitions\n  rtc: vt8500: Use define instead of hardcoded value for status bit\n"
    },
    {
      "commit": "112ec469663e09ffc815761254b52f3ca787ce83",
      "tree": "18a7d2300dc10b7c2c994107681dffc927589701",
      "parents": [
        "a99a7d1436f9375662f35ccac8f1a1e1b0302a11",
        "cbaa51524b3224813814607177a00c350ee35d12"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 22 16:52:18 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 22 16:52:18 2011 -0700"
      },
      "message": "Merge branch \u0027timers-core-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027timers-core-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  time: Fix stupid KERN_WARN compile issue\n  rtc: Avoid accumulating time drift in suspend/resume\n  time: Avoid accumulating time drift in suspend/resume\n  time: Catch invalid timespec sleep values in __timekeeping_inject_sleeptime\n"
    },
    {
      "commit": "a99a7d1436f9375662f35ccac8f1a1e1b0302a11",
      "tree": "0b3f411f6b1c4256063cf1d53773110f5a5f7482",
      "parents": [
        "bdc7ccfc0631797636837b10df7f87bc1e2e4ae3",
        "ded7c1ee9799fe0ca725b459f151402e3ca4d12b"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 22 16:51:56 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 22 16:51:56 2011 -0700"
      },
      "message": "Merge branch \u0027timers-cleanup-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027timers-cleanup-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  mips: Fix i8253 clockevent fallout\n  i8253: Cleanup outb/inb magic\n  arm: Footbridge: Use common i8253 clockevent\n  mips: Use common i8253 clockevent\n  x86: Use common i8253 clockevent\n  i8253: Create common clockevent implementation\n  i8253: Export i8253_lock unconditionally\n  pcpskr: MIPS: Make config dependencies finer grained\n  pcspkr: Cleanup Kconfig dependencies\n  i8253: Move remaining content and delete asm/i8253.h\n  i8253: Consolidate definitions of PIT_LATCH\n  x86: i8253: Consolidate definitions of global_clock_event\n  i8253: Alpha, PowerPC: Remove unused asm/8253pit.h\n  alpha: i8253: Cleanup remaining users of i8253pit.h\n  i8253: Remove I8253_LOCK config\n  i8253: Make pcsp sound driver use the shared i8253_lock\n  i8253: Make pcspkr input driver use the shared i8253_lock\n  i8253: Consolidate all kernel definitions of i8253_lock\n  i8253: Unify all kernel declarations of i8253_lock\n  i8253: Create linux/i8253.h and use it in all 8253 related files\n"
    },
    {
      "commit": "bdc7ccfc0631797636837b10df7f87bc1e2e4ae3",
      "tree": "70f09f8ffee07486d41ca254b8abb05692713d1e",
      "parents": [
        "4d4abdcb1dee03a4f9d6d2021622ed07e14dfd17",
        "0f3171438fc917b9f6b8b60dbb7a3fff9a0f68fd"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 22 16:45:02 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 22 16:45:02 2011 -0700"
      },
      "message": "Merge branch \u0027sched-core-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027sched-core-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (24 commits)\n  sched: Cleanup duplicate local variable in [enqueue|dequeue]_task_fair\n  sched: Replace use of entity_key()\n  sched: Separate group-scheduling code more clearly\n  sched: Reorder root_domain to remove 64 bit alignment padding\n  sched: Do not attempt to destroy uninitialized rt_bandwidth\n  sched: Remove unused function cpu_cfs_rq()\n  sched: Fix (harmless) typo \u0027CONFG_FAIR_GROUP_SCHED\u0027\n  sched, cgroup: Optimize load_balance_fair()\n  sched: Don\u0027t update shares twice on on_rq parent\n  sched: update correct entity\u0027s runtime in check_preempt_wakeup()\n  xtensa: Use generic config PREEMPT definition\n  h8300: Use generic config PREEMPT definition\n  m32r: Use generic PREEMPT config\n  sched: Skip autogroup when looking for all rt sched groups\n  sched: Simplify mutex_spin_on_owner()\n  sched: Remove rcu_read_lock() from wake_affine()\n  sched: Generalize sleep inside spinlock detection\n  sched: Make sleeping inside spinlock detection working in !CONFIG_PREEMPT\n  sched: Isolate preempt counting in its own config option\n  sched: Remove pointless in_atomic() definition check\n  ...\n"
    },
    {
      "commit": "4d4abdcb1dee03a4f9d6d2021622ed07e14dfd17",
      "tree": "4ed4c74b70240451065165fda5fb2059f8c6b1e5",
      "parents": [
        "0342cbcfced2ee937d7c8e1c63f3d3082da7c7dc",
        "7fcfd1abd6480d3b9ef17f5759c175e036e835cf"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 22 16:44:39 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 22 16:44:39 2011 -0700"
      },
      "message": "Merge branch \u0027perf-core-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027perf-core-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (123 commits)\n  perf: Remove the nmi parameter from the oprofile_perf backend\n  x86, perf: Make copy_from_user_nmi() a library function\n  perf: Remove perf_event_attr::type check\n  x86, perf: P4 PMU - Fix typos in comments and style cleanup\n  perf tools: Make test use the preset debugfs path\n  perf tools: Add automated tests for events parsing\n  perf tools: De-opt the parse_events function\n  perf script: Fix display of IP address for non-callchain path\n  perf tools: Fix endian conversion reading event attr from file header\n  perf tools: Add missing \u0027node\u0027 alias to the hw_cache[] array\n  perf probe: Support adding probes on offline kernel modules\n  perf probe: Add probed module in front of function\n  perf probe: Introduce debuginfo to encapsulate dwarf information\n  perf-probe: Move dwarf library routines to dwarf-aux.{c, h}\n  perf probe: Remove redundant dwarf functions\n  perf probe: Move strtailcmp to string.c\n  perf probe: Rename DIE_FIND_CB_FOUND to DIE_FIND_CB_END\n  tracing/kprobe: Update symbol reference when loading module\n  tracing/kprobes: Support module init function probing\n  kprobes: Return -ENOENT if probe point doesn\u0027t exist\n  ...\n"
    },
    {
      "commit": "0342cbcfced2ee937d7c8e1c63f3d3082da7c7dc",
      "tree": "fb98291d321a50de2dfd99f9bcaa33274f0c3952",
      "parents": [
        "391d6276db9fbdedfbc30e1b56390414f0e55988",
        "7f70893173b056df691b2ee7546bb44fd9abae6a"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 22 16:44:08 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 22 16:44:08 2011 -0700"
      },
      "message": "Merge branch \u0027core-rcu-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027core-rcu-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  rcu: Fix wrong check in list_splice_init_rcu()\n  net,rcu: Convert call_rcu(xt_rateest_free_rcu) to kfree_rcu()\n  sysctl,rcu: Convert call_rcu(free_head) to kfree\n  vmalloc,rcu: Convert call_rcu(rcu_free_vb) to kfree_rcu()\n  vmalloc,rcu: Convert call_rcu(rcu_free_va) to kfree_rcu()\n  ipc,rcu: Convert call_rcu(ipc_immediate_free) to kfree_rcu()\n  ipc,rcu: Convert call_rcu(free_un) to kfree_rcu()\n  security,rcu: Convert call_rcu(sel_netport_free) to kfree_rcu()\n  security,rcu: Convert call_rcu(sel_netnode_free) to kfree_rcu()\n  ia64,rcu: Convert call_rcu(sn_irq_info_free) to kfree_rcu()\n  block,rcu: Convert call_rcu(disk_free_ptbl_rcu_cb) to kfree_rcu()\n  scsi,rcu: Convert call_rcu(fc_rport_free_rcu) to kfree_rcu()\n  audit_tree,rcu: Convert call_rcu(__put_tree) to kfree_rcu()\n  security,rcu: Convert call_rcu(whitelist_item_free) to kfree_rcu()\n  md,rcu: Convert call_rcu(free_conf) to kfree_rcu()\n"
    },
    {
      "commit": "391d6276db9fbdedfbc30e1b56390414f0e55988",
      "tree": "d22cd2482f5452d616ee981e954074ffc6ae094d",
      "parents": [
        "75b56ec294b074d70f8a676ab02611a3fea76cab",
        "dd4e5d3ac4a76b868daf30e35bd572def96c30ed"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 22 16:43:49 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 22 16:43:49 2011 -0700"
      },
      "message": "Merge branch \u0027core-printk-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027core-printk-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  lockdep: Fix trace_[soft,hard]irqs_[on,off]() recursion\n  printk: Fix console_sem vs logbuf_lock unlock race\n  printk: Release console_sem after logbuf_lock\n"
    },
    {
      "commit": "75b56ec294b074d70f8a676ab02611a3fea76cab",
      "tree": "d5299adb43ac6fc8dcc50c3e438c7f0cdd452b1c",
      "parents": [
        "6d16d6d9bb6f93e6f8506cfb3e91795d6443d54f",
        "efbe2eee6dc0f179be84292bf269528b3ec365e9"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 22 16:43:21 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 22 16:43:21 2011 -0700"
      },
      "message": "Merge branch \u0027core-locking-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027core-locking-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  lockdep: Fix lockdep_no_validate against IRQ states\n  mutex: Make mutex_destroy() an inline function\n  plist: Remove the need to supply locks to plist heads\n  lockup detector: Fix reference to the non-existent CONFIG_DETECT_SOFTLOCKUP option\n"
    },
    {
      "commit": "5a9a43646cf709312d71eca71cef90ad802f28f9",
      "tree": "9083e5e4e5bb2e8ad3f3f039503e37629acb5ddc",
      "parents": [
        "d769b3c2ab7184ddd42056595b627cc871caa90e"
      ],
      "author": {
        "name": "Konstantin Khlebnikov",
        "email": "khlebnikov@openvz.org",
        "time": "Sun Jul 17 15:35:12 2011 +0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Fri Jul 22 19:42:13 2011 -0400"
      },
      "message": "vfs: use ERR_CAST for err-ptr tossing in lookup_instantiate_filp\n\nReplace unclear (struct dentry *) to (struct file *) typecast with ERR_CAST() macro.\n\nSigned-off-by: Konstantin Khlebnikov \u003ckhlebnikov@openvz.org\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "d769b3c2ab7184ddd42056595b627cc871caa90e",
      "tree": "b030270648c2a2aca7c5417e2ae0436ec7d0a31c",
      "parents": [
        "22ba747f660c0acd14761628c24aa972d18058a0"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Thu Jul 21 22:22:25 2011 +0200"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Fri Jul 22 19:42:12 2011 -0400"
      },
      "message": "isofs: Remove global fs lock\n\nsbi-\u003es_mutex isn\u0027t needed for isofs at all so we can just remove it. Generally,\nsince isofs is always mounted read-only, filesystem structure cannot change\nunder us.  So buffer_head contents stays constant after it\u0027s filled in. That\nleaves us with possible changes of global data structures. Superblock changes\nonly during filesystem mount (even remount does not change it), inodes are only\nfilled in during reading from disk. So there are no changes of these structures\nto bother about.\n\nArguments why sbi-\u003es_mutex can be removed at each place:\nisofs_readdir: Accesses sb, inode, filp, local variables \u003d\u003e s_mutex not needed\nisofs_lookup: Protected by directory\u0027s i_mutex. Accesses sb, inode, dentry,\n  local variables \u003d\u003e s_mutex not needed\nrock_ridge_symlink_readpage: Protected by page lock. Accesses sb, inode,\n  local variables \u003d\u003e s_mutex not needed.\n\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "22ba747f660c0acd14761628c24aa972d18058a0",
      "tree": "8a96b344623ba66c3138bd4d6cc916f5ad3d3053",
      "parents": [
        "841590ce16c19a3ce38028adfc8b1955482ee00c"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Thu Jul 21 15:57:47 2011 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Fri Jul 22 19:42:11 2011 -0400"
      },
      "message": "jffs2: fix IN_DELETE_SELF on overwriting rename() killing a directory\n\nWe don\u0027t generate IN_DELETE_SELF on victim of overwriting rename() if\nit happens to be a directory.  Trivially fixed by doing to -\u003ei_nlink\nwhat we do -\u003epino_nlink a couple of lines later in jffs2_rename().\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "841590ce16c19a3ce38028adfc8b1955482ee00c",
      "tree": "83f20931de0103f1b3b60f6ba4b8aa8490c08084",
      "parents": [
        "ed70afcd6e795e3de98df56f1cd0f898fbf641a7"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Thu Jul 21 15:49:09 2011 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Fri Jul 22 19:42:11 2011 -0400"
      },
      "message": "fix IN_DELETE_SELF on overwriting rename() on ramfs et.al.\n\nOn ramfs and other simple_rename() users IN_DELETE_SELF is not generated\nfor victim of overwriting rename() if it\u0027s is a directory.  Works on\nmost of the local filesystems and really trivial to fix...\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "ed70afcd6e795e3de98df56f1cd0f898fbf641a7",
      "tree": "7d81e3e3e6b30fe8025d45aa6b81ea553095e701",
      "parents": [
        "295cc522c2b2834b302424e41ebb5846df6d61bd"
      ],
      "author": {
        "name": "Randy Dunlap",
        "email": "rdunlap@xenotime.net",
        "time": "Thu Jul 21 13:55:37 2011 -0700"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Fri Jul 22 19:41:19 2011 -0400"
      },
      "message": "mm/truncate.c: fix build for CONFIG_BLOCK not enabled\n\nFix build error when CONFIG_BLOCK is not enabled by providing a stub\ninode_dio_wait() function.\n\nmm/truncate.c:612: error: implicit declaration of function \u0027inode_dio_wait\u0027\n\nSigned-off-by: Randy Dunlap \u003crdunlap@xenotime.net\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "6d16d6d9bb6f93e6f8506cfb3e91795d6443d54f",
      "tree": "92a1c9e4b645fa6d1fffedaeb56141b66f847320",
      "parents": [
        "431bf99d26157d56689e5de65bd27ce9f077fc3f",
        "b395fb36d59e17b9335805c10fa30fc51c8a94c6"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 22 16:39:42 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 22 16:39:42 2011 -0700"
      },
      "message": "Merge branch \u0027core-iommu-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027core-iommu-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  iommu/core: Fix build with INTR_REMAP\u003dy \u0026\u0026 CONFIG_DMAR\u003dn\n  iommu/amd: Don\u0027t use MSI address range for DMA addresses\n  iommu/amd: Move missing parts to drivers/iommu\n  iommu: Move iommu Kconfig entries to submenu\n  x86/ia64: intel-iommu: move to drivers/iommu/\n  x86: amd_iommu: move to drivers/iommu/\n  msm: iommu: move to drivers/iommu/\n  drivers: iommu: move to a dedicated folder\n  x86/amd-iommu: Store device alias as dev_data pointer\n  x86/amd-iommu: Search for existind dev_data before allocting a new one\n  x86/amd-iommu: Allow dev_data-\u003ealias to be NULL\n  x86/amd-iommu: Use only dev_data in low-level domain attach/detach functions\n  x86/amd-iommu: Use only dev_data for dte and iotlb flushing routines\n  x86/amd-iommu: Store ATS state in dev_data\n  x86/amd-iommu: Store devid in dev_data\n  x86/amd-iommu: Introduce global dev_data_list\n  x86/amd-iommu: Remove redundant device_flush_dte() calls\n  iommu-api: Add missing header file\n\nFix up trivial conflicts (independent additions close to each other) in\ndrivers/Makefile and include/linux/pci.h\n"
    },
    {
      "commit": "431bf99d26157d56689e5de65bd27ce9f077fc3f",
      "tree": "b15e357039956fcdd0e0e6177d2fc99bb3cfa822",
      "parents": [
        "72f96e0e38d7e29ba16dcfd824ecaebe38b8293e",
        "7ae033cc0dfce68d8e0c83aca60837cf2bf0d2e6"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 22 16:01:57 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 22 16:01:57 2011 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/suspend-2.6\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/suspend-2.6: (51 commits)\n  PM: Improve error code of pm_notifier_call_chain()\n  PM: Add \"RTC\" to PM trace time stamps to avoid confusion\n  PM / Suspend: Export suspend_set_ops, suspend_valid_only_mem\n  PM / Suspend: Add .suspend_again() callback to suspend_ops\n  PM / OPP: Introduce function to free cpufreq table\n  ARM / shmobile: Return -EBUSY from A4LC power off if A3RV is active\n  PM / Domains: Take .power_off() error code into account\n  ARM / shmobile: Use genpd_queue_power_off_work()\n  ARM / shmobile: Use pm_genpd_poweroff_unused()\n  PM / Domains: Introduce function to power off all unused PM domains\n  OMAP: PM: disable idle on suspend for GPIO and UART\n  OMAP: PM: omap_device: add API to disable idle on suspend\n  OMAP: PM: omap_device: add system PM methods for PM domain handling\n  OMAP: PM: omap_device: conditionally use PM domain runtime helpers\n  PM / Runtime: Add new helper function: pm_runtime_status_suspended()\n  PM / Domains: Queue up power off work only if it is not pending\n  PM / Domains: Improve handling of wakeup devices during system suspend\n  PM / Domains: Do not restore all devices on power off error\n  PM / Domains: Allow callbacks to execute all runtime PM helpers\n  PM / Domains: Do not execute device callbacks under locks\n  ...\n"
    },
    {
      "commit": "72f96e0e38d7e29ba16dcfd824ecaebe38b8293e",
      "tree": "2100f3333a993b529376add583985416f83002bf",
      "parents": [
        "17413f5acd03224bcd09eefc5c4088894e832cad",
        "fa4951595648c14754621c99a07c47c9b9dcf05b"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 22 16:01:14 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 22 16:01:14 2011 -0700"
      },
      "message": "Merge branch \u0027for-linus-core\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/nab/target-pending\n\n* \u0027for-linus-core\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/nab/target-pending: (38 commits)\n  target: Bump version to v4.1.0-rc1-ml\n  target: remove custom hex2bin() implementation\n  target: fix typo Assoication -\u003e Association\n  target: Update QUEUE ALGORITHM MODIFIER control page default\n  target: -\u003emap_task_SG conversion to -\u003emap_control_SG and -\u003emap_data_SG\n  target: Follow up core updates from AGrover and HCH (round 4)\n  target: Eliminate usage of struct se_mem\n  target: Pass 2nd param of transport_split_cdb by value\n  target: Enforce 1 page max for control cdb buffer sizes\n  target: Make all control CDBs scatter-gather\n  target: Implement Block Device Characteristics VPD page\n  target: Fix reporting of supported VPD pages\n  target: Allow for built-in target modules\n  tcm_fc: Convert to wake_up_process and schedule_timeout_interruptible\n  tcm_fc: Makefile cleanups\n  loopback: Fix memory leak in tcm_loop_make_scsi_hba()\n  loopback: Remove duplicate scsi/scsi_tcq.h include\n  loopback: off by one in tcm_loop_make_naa_tpg()\n  target/iblock: Remove unused iblock_dev members\n  target/iblock: Use request_queue-\u003enr_request for se_device defaults\n  ...\n"
    },
    {
      "commit": "17413f5acd03224bcd09eefc5c4088894e832cad",
      "tree": "9912a2a6fc13ce7e081d4b25e0051f0fb245c099",
      "parents": [
        "5a791ea4fa4495f7136679cb5366f6544148e613",
        "688d3be815b1563b1484ce67702249a4a7a6314e"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 22 15:07:35 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 22 15:07:35 2011 -0700"
      },
      "message": "Merge branch \u0027for-3.1\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tj/percpu\n\n* \u0027for-3.1\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tj/percpu:\n  percpu: Fixup __this_cpu_xchg* operations\n"
    },
    {
      "commit": "5a791ea4fa4495f7136679cb5366f6544148e613",
      "tree": "dc27644add7d5f1165db19c28c25ae842e5f96b2",
      "parents": [
        "8209f53d79444747782a28520187abaf689761f2",
        "9c5a2ba70251ecaab18c7a83e38b3c620223476c"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 22 15:07:15 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 22 15:07:15 2011 -0700"
      },
      "message": "Merge branch \u0027for-3.1\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tj/wq\n\n* \u0027for-3.1\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tj/wq:\n  workqueue: separate out drain_workqueue() from destroy_workqueue()\n  workqueue: remove cancel_rearming_delayed_work[queue]()\n"
    },
    {
      "commit": "8209f53d79444747782a28520187abaf689761f2",
      "tree": "726270ea29e037f026d77a99787b9d844531ac42",
      "parents": [
        "22a3b9771117d566def0150ea787fcc95f16e724",
        "eac1b5e57d7abc836e78fd3fbcf77dbeed01edc9"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 22 15:06:50 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 22 15:06:50 2011 -0700"
      },
      "message": "Merge branch \u0027ptrace\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/oleg/misc\n\n* \u0027ptrace\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/oleg/misc: (39 commits)\n  ptrace: do_wait(traced_leader_killed_by_mt_exec) can block forever\n  ptrace: fix ptrace_signal() \u0026\u0026 STOP_DEQUEUED interaction\n  connector: add an event for monitoring process tracers\n  ptrace: dont send SIGSTOP on auto-attach if PT_SEIZED\n  ptrace: mv send-SIGSTOP from do_fork() to ptrace_init_task()\n  ptrace_init_task: initialize child-\u003ejobctl explicitly\n  has_stopped_jobs: s/task_is_stopped/SIGNAL_STOP_STOPPED/\n  ptrace: make former thread ID available via PTRACE_GETEVENTMSG after PTRACE_EVENT_EXEC stop\n  ptrace: wait_consider_task: s/same_thread_group/ptrace_reparented/\n  ptrace: kill real_parent_is_ptracer() in in favor of ptrace_reparented()\n  ptrace: ptrace_reparented() should check same_thread_group()\n  redefine thread_group_leader() as exit_signal \u003e\u003d 0\n  do not change dead_task-\u003eexit_signal\n  kill task_detached()\n  reparent_leader: check EXIT_DEAD instead of task_detached()\n  make do_notify_parent() __must_check, update the callers\n  __ptrace_detach: avoid task_detached(), check do_notify_parent()\n  kill tracehook_notify_death()\n  make do_notify_parent() return bool\n  ptrace: s/tracehook_tracer_task()/ptrace_parent()/\n  ...\n"
    },
    {
      "commit": "22a3b9771117d566def0150ea787fcc95f16e724",
      "tree": "20e24aa4df50cde8d28211531e893a7be61d1dfe",
      "parents": [
        "acb41c0f928fdb84a1c3753ac92c534a2a0f08d2",
        "a91f423e598912ab301592c7759cfd89e10682a1"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 22 15:02:58 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 22 15:02:58 2011 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/hid\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/hid: (31 commits)\n  HID: fix support for Microsoft comfort mouse 4500\n  HID: hid-multitouch: add one new multitouch device\u0027s VID/PID\n  HID: prodikeys: remove a redundant forward declaration of struct pcmidi_snd\n  HID: prodikeys: make needlessly global symbols static\n  HID: emsff: properly handle emsff_init failure\n  HID: ACRUX - add missing hid_hw_stop() in ax_probe() error path\n  HID: fix horizontal wheel for ms comfort mouse 4500\n  HID: uclogic: Add support for UC-Logic WP1062\n  HID: wiimote: Add sysfs support to wiimote driver\n  HID: wiimote: Cache wiimote led state\n  HID: wiimote: Add wiimote led request\n  HID: wiimote: Add wiimote input button parser\n  HID: wiimote: Add wiimote event handler\n  HID: wiimote: Add output queue for wiimote driver\n  HID: wiimote: Add wiimote send function\n  HID: wiimote: Synchronize wiimote input and hid event handling\n  HID: wiimote: Register input device in wiimote hid driver\n  HID: wiimote: Add wiimote device structure\n  HID: wiimote: Register wiimote hid driver stub\n  HID: wiimote: Add Nintendo Wii Remote driver stub\n  ...\n"
    },
    {
      "commit": "acb41c0f928fdb84a1c3753ac92c534a2a0f08d2",
      "tree": "4bf92f1c2b1f36fa68d3e77d646b04b863e1a7e4",
      "parents": [
        "8181780c163e7111f15619067cfa044172d532e1",
        "ef3b4f8cc20e80c767e47b848fb7512770ab80d7"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 22 14:54:02 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 22 14:54:02 2011 -0700"
      },
      "message": "Merge branch \u0027of-pci\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc\n\n* \u0027of-pci\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc:\n  pci/of: Consolidate pci_bus_to_OF_node()\n  pci/of: Consolidate pci_device_to_OF_node()\n  x86/devicetree: Use generic PCI \u003c-\u003e OF matching\n  microblaze/pci: Move the remains of pci_32.c to pci-common.c\n  microblaze/pci: Remove powermac originated cruft\n  pci/of: Match PCI devices to OF nodes dynamically\n"
    },
    {
      "commit": "8181780c163e7111f15619067cfa044172d532e1",
      "tree": "7eec99ddd1b20e9018edfba5c05a179b317c27fe",
      "parents": [
        "7235dd74a4733d4b3651349b5261d2e06996427d",
        "99ce39e359fa29e4b609a6a13485e7573eda5dfb"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 22 14:53:38 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 22 14:53:38 2011 -0700"
      },
      "message": "Merge branch \u0027devicetree/next\u0027 of git://git.secretlab.ca/git/linux-2.6\n\n* \u0027devicetree/next\u0027 of git://git.secretlab.ca/git/linux-2.6:\n  dt: include linux/errno.h in linux/of_address.h\n  of/address: Add of_find_matching_node_by_address helper\n  dt: remove extra xsysace platform_driver registration\n  tty/serial: Add devicetree support for nVidia Tegra serial ports\n  dt: add empty of_property_read_u32[_array] for non-dt\n  dt: bindings: move SEC node under new crypto/\n  dt: add helper function to read u32 arrays\n  tty/serial: change of_serial to use new of_property_read_u32() api\n  dt: add \u0027const\u0027 for of_property_read_string parameter **out_string\n  dt: add helper functions to read u32 and string property values\n  tty: of_serial: support for 32 bit accesses\n  dt: document the of_serial bindings\n  dt/platform: allow device name to be overridden\n  drivers/amba: create devices from device tree\n  dt: add of_platform_populate() for creating device from the device tree\n  dt: Add default match table for bus ids\n"
    },
    {
      "commit": "7235dd74a4733d4b3651349b5261d2e06996427d",
      "tree": "737d4141e77fdd6bfd8c9878ed4f7fe293e7b629",
      "parents": [
        "c7c8518498e82591d7784452f5674c3aeb4d079c",
        "22a85e4cd51b49ec99703ddfdff8686d5442a093"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 22 14:52:44 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 22 14:52:44 2011 -0700"
      },
      "message": "Merge branch \u0027spi/next\u0027 of git://git.secretlab.ca/git/linux-2.6\n\n* \u0027spi/next\u0027 of git://git.secretlab.ca/git/linux-2.6: (34 commits)\n  spi/imx: add device tree probe support\n  spi/imx: copy gpio number passed by platform data into driver private data\n  spi/imx: use soc name in spi device type naming scheme\n  spi/imx: merge type SPI_IMX_VER_0_7 into SPI_IMX_VER_0_4\n  spi/imx: do not use spi_imx2_3 to name SPI_IMX_VER_2_3 function and macro\n  spi/imx: use mx21 to name SPI_IMX_VER_0_0 function and macro\n  spi/imx: do not make copy of spi_imx_devtype_data\n  spi/dw: Add spi number into spi irq desc\n  spi/tegra: Use engineering names in DT compatible property\n  spi/fsl_spi: fix CPM spi driver\n  mach-s3c2410: remove unused spi-gpio.h file\n  spi: remove obsolete spi-s3c24xx-gpio driver\n  mach-gta2: remove unused spi-gpio.h include\n  mach-qt2410: convert to spi_gpio\n  mach-jive: convert to spi_gpio\n  spi/pxa2xx: Remove unavailable ssp_type from documentation\n  spi/bfin_spi: uninline fat queue funcs\n  spi/bfin_spi: constify pin array\n  spi/bfin_spi: use structs for accessing hardware regs\n  spi/topcliff-pch: Support new device ML7223 IOH\n  ...\n\nFix up trivial conflict in arch/arm/mach-ep93xx/Makefile\n"
    },
    {
      "commit": "c7c8518498e82591d7784452f5674c3aeb4d079c",
      "tree": "790ff7e6b6741daf32ec686b9a302b957b07c0f4",
      "parents": [
        "ece236ce2fad9c27a6fd2530f899289025194bce",
        "591567a5ea25852f20b7ef2953f6f72020121199"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 22 14:50:57 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 22 14:50:57 2011 -0700"
      },
      "message": "Merge branch \u0027gpio/next\u0027 of git://git.secretlab.ca/git/linux-2.6\n\n* \u0027gpio/next\u0027 of git://git.secretlab.ca/git/linux-2.6: (61 commits)\n  gpio/mxc/mxs: fix build error introduced by the irq_gc_ack() renaming\n  mcp23s08: add i2c support\n  mcp23s08: isolate spi specific parts\n  mcp23s08: get rid of setup/teardown callbacks\n  gpio/tegra: dt: add binding for gpio polarity\n  mcp23s08: remove unused work queue\n  gpio/da9052: remove a redundant assignment for gpio-\u003eda9052\n  gpio/mxc: add device tree probe support\n  ARM: mxc: use ARCH_NR_GPIOS to define gpio number\n  gpio/mxc: get rid of the uses of cpu_is_mx()\n  gpio/mxc: add missing initialization of basic_mmio_gpio shadow variables\n  gpio: Move mpc5200 gpio driver to drivers/gpio\n  GPIO: DA9052 GPIO module v3\n  gpio/tegra: Use engineering names in DT compatible property\n  of/gpio: Add new method for getting gpios under different property names\n  gpio/dt: Refine GPIO device tree binding\n  gpio/ml-ioh: fix off-by-one for displaying variable i in dev_err\n  gpio/pca953x: Deprecate meaningless device-tree bindings\n  gpio/pca953x: Remove dynamic platform data pointer\n  gpio/pca953x: Fix IRQ support.\n  ...\n"
    },
    {
      "commit": "ece236ce2fad9c27a6fd2530f899289025194bce",
      "tree": "474b793205872206a2a3f7d409ff9b1f81f3a9a8",
      "parents": [
        "441c196e84b11aad3123baa9320eee7abc6b5c98",
        "4460207561290c3be7e6c7538f22690028170c1d"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 22 14:50:12 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 22 14:50:12 2011 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband: (26 commits)\n  IB/qib: Defer HCA error events to tasklet\n  mlx4_core: Bump the driver version to 1.0\n  RDMA/cxgb4: Use printk_ratelimited() instead of printk_ratelimit()\n  IB/mlx4: Support PMA counters for IBoE\n  IB/mlx4: Use flow counters on IBoE ports\n  IB/pma: Add include file for IBA performance counters definitions\n  mlx4_core: Add network flow counters\n  mlx4_core: Fix location of counter index in QP context struct\n  mlx4_core: Read extended capabilities into the flags field\n  mlx4_core: Extend capability flags to 64 bits\n  IB/mlx4: Generate GID change events in IBoE code\n  IB/core: Add GID change event\n  RDMA/cma: Don\u0027t allow IPoIB port space for IBoE\n  RDMA: Allow for NULL .modify_device() and .modify_port() methods\n  IB/qib: Update active link width\n  IB/qib: Fix potential deadlock with link down interrupt\n  IB/qib: Add sysfs interface to read free contexts\n  IB/mthca: Remove unnecessary read of PCI_CAP_ID_EXP\n  IB/qib: Remove double define\n  IB/qib: Remove unnecessary read of PCI_CAP_ID_EXP\n  ...\n"
    },
    {
      "commit": "441c196e84b11aad3123baa9320eee7abc6b5c98",
      "tree": "ea51d689c9ac09cce10a5758f19d6adbd8a7a9d7",
      "parents": [
        "951cc93a7493a81a47e20231441bc6cf17c98a37",
        "9a00c24ae7cb08dcd46edf1327a47871e8466444"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 22 14:49:48 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 22 14:49:48 2011 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394/linux1394-2.6\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394/linux1394-2.6:\n  firewire: document the sysfs ABIs\n  firewire: cdev: ABI documentation enhancements\n  firewire: cdev: prevent race between first get_info ioctl and bus reset event queuing\n  firewire: cdev: return -ENOTTY for unimplemented ioctls, not -EINVAL\n  firewire: ohci: skip soft reset retries after card ejection\n  firewire: ohci: fix PHY reg access after card ejection\n  firewire: ohci: add a comment on PHY reg access serialization\n  firewire: ohci: reduce potential context_stop latency\n  firewire: ohci: remove superfluous posted write flushes\n  firewire: net: replacing deprecated __attribute__((packed)) with __packed\n"
    },
    {
      "commit": "951cc93a7493a81a47e20231441bc6cf17c98a37",
      "tree": "f53934f0f225e0215a85c8c59af4c6513e89e3f1",
      "parents": [
        "a7e1aabb28e8154ce987b622fd78d80a1ca39361",
        "415b3334a21aa67806c52d1acf4e72e14f7f402f"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 22 14:43:13 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 22 14:43:13 2011 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next: (1287 commits)\n  icmp: Fix regression in nexthop resolution during replies.\n  net: Fix ppc64 BPF JIT dependencies.\n  acenic: include NET_SKB_PAD headroom to incoming skbs\n  ixgbe: convert to ndo_fix_features\n  ixgbe: only enable WoL for magic packet by default\n  ixgbe: remove ifdef check for non-existent define\n  ixgbe: Pass staterr instead of re-reading status and error bits from descriptor\n  ixgbe: Move interrupt related values out of ring and into q_vector\n  ixgbe: add structure for containing RX/TX rings to q_vector\n  ixgbe: inline the ixgbe_maybe_stop_tx function\n  ixgbe: Update ATR to use recorded TX queues instead of CPU for routing\n  igb: Fix for DH89xxCC near end loopback test\n  e1000: always call e1000_check_for_link() on e1000_ce4100 MACs.\n  netxen: add fw version compatibility check\n  be2net: request native mode each time the card is reset\n  ipv4: Constrain UFO fragment sizes to multiples of 8 bytes\n  virtio_net: Fix panic in virtnet_remove\n  ipv6: make fragment identifications less predictable\n  ipv6: unshare inetpeers\n  can: make function can_get_bittiming static\n  ...\n"
    },
    {
      "commit": "a91f423e598912ab301592c7759cfd89e10682a1",
      "tree": "e6519241f27f4b3ea237121730f2b50984ec2c67",
      "parents": [
        "901e64dbdb5998b9248c372a401c921bbdf662f6",
        "b580169affd7ccc9347cbf4d5f4db1480ee7ee06",
        "3c1c2fce64fdfa2f0c0ff4fffb3bb171ea6361ca"
      ],
      "author": {
        "name": "Jiri Kosina",
        "email": "jkosina@suse.cz",
        "time": "Fri Jul 22 22:47:08 2011 +0200"
      },
      "committer": {
        "name": "Jiri Kosina",
        "email": "jkosina@suse.cz",
        "time": "Fri Jul 22 22:47:08 2011 +0200"
      },
      "message": "Merge branches \u0027roccat\u0027, \u0027upstream\u0027 and \u0027wiimote\u0027 into for-linus\n"
    },
    {
      "commit": "a7e1aabb28e8154ce987b622fd78d80a1ca39361",
      "tree": "8671d8faf51d43665045b7362a177a23dc88921b",
      "parents": [
        "111ad119d1765b1bbef2629a5f2bd825caeb7e74",
        "996ba96a97f7406052486682846d68935a60e986"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 22 13:45:50 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 22 13:45:50 2011 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux-2.6-for-linus\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux-2.6-for-linus:\n  lguest: Fix in/out emulation\n  lguest: Fix translation count about wikipedia\u0027s cpuid page\n  lguest: Fix three simple typos in comments\n  lguest: update comments\n  lguest: Simplify device initialization.\n  lguest: don\u0027t rewrite vmcall instructions\n  lguest: remove remaining vmcall\n  lguest: use a special 1:1 linear pagetable mode until first switch.\n  lguest: Do not exit on non-fatal errors\n"
    },
    {
      "commit": "111ad119d1765b1bbef2629a5f2bd825caeb7e74",
      "tree": "167ee4a4e6e9276bb7178ddcce85d6860543cfb4",
      "parents": [
        "997271cf5e12c1b38aec0764187094663501c984",
        "3a6d28b11a895d08b6b4fc6f16dd9ff995844b45"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 22 13:45:15 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 22 13:45:15 2011 -0700"
      },
      "message": "Merge branch \u0027stable/drivers\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/konrad/xen\n\n* \u0027stable/drivers\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/konrad/xen:\n  xen/pciback: Have \u0027passthrough\u0027 option instead of XEN_PCIDEV_BACKEND_PASS and XEN_PCIDEV_BACKEND_VPCI\n  xen/pciback: Remove the DEBUG option.\n  xen/pciback: Drop two backends, squash and cleanup some code.\n  xen/pciback: Print out the MSI/MSI-X (PIRQ) values\n  xen/pciback: Don\u0027t setup an fake IRQ handler for SR-IOV devices.\n  xen: rename pciback module to xen-pciback.\n  xen/pciback: Fine-grain the spinlocks and fix BUG: scheduling while atomic cases.\n  xen/pciback: Allocate IRQ handler for device that is shared with guest.\n  xen/pciback: Disable MSI/MSI-X when reseting a device\n  xen/pciback: guest SR-IOV support for PV guest\n  xen/pciback: Register the owner (domain) of the PCI device.\n  xen/pciback: Cleanup the driver based on checkpatch warnings and errors.\n  xen/pciback: xen pci backend driver.\n  xen: tmem: self-ballooning and frontswap-selfshrinking\n  xen: Add module alias to autoload backend drivers\n  xen: Populate xenbus device attributes\n  xen: Add __attribute__((format(printf... where appropriate\n  xen: prepare tmem shim to handle frontswap\n  xen: allow enable use of VGA console on dom0\n"
    },
    {
      "commit": "997271cf5e12c1b38aec0764187094663501c984",
      "tree": "45760ec5aa3fd3da05f73b1e52190562fe286093",
      "parents": [
        "896d01796d33e50589c96bbef5f0017d3cfc4ee8",
        "97ffab1f14638d2c95ad986ce735481d164a0bd2"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 22 13:44:53 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 22 13:44:53 2011 -0700"
      },
      "message": "Merge branch \u0027stable/pci.cleanups.v1\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/konrad/xen\n\n* \u0027stable/pci.cleanups.v1\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/konrad/xen:\n  xen/pci: Use \u0027acpi_gsi_to_irq\u0027 value unconditionally.\n  xen/pci: Remove \u0027xen_allocate_pirq_gsi\u0027.\n  xen/pci: Retire unnecessary #ifdef CONFIG_ACPI\n  xen/pci: Move the allocation of IRQs when there are no IOAPIC\u0027s to the end\n  xen/pci: Squash pci_xen_initial_domain and xen_setup_pirqs together.\n  xen/pci: Use the xen_register_pirq for HVM and initial domain users\n  xen/pci: In xen_register_pirq bind the GSI to the IRQ after the hypercall.\n  xen/pci: Provide #ifdef CONFIG_ACPI to easy code squashing.\n  xen/pci: Update comments and fix empty spaces.\n  xen/pci: Shuffle code around.\n"
    },
    {
      "commit": "896d01796d33e50589c96bbef5f0017d3cfc4ee8",
      "tree": "fd192a6d8f6a700f58114395dda9e2e1e5c02038",
      "parents": [
        "0df55ea55bf1f4827115af4740899980b4fce77f",
        "3c52b7bf6967e53dec3fbbcf99fee65e49e600df"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 22 13:44:45 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 22 13:44:45 2011 -0700"
      },
      "message": "Merge branch \u0027stable/bug.fixes\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/konrad/xen\n\n* \u0027stable/bug.fixes\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/konrad/xen:\n  xen:pvhvm: Modpost section mismatch fix\n"
    },
    {
      "commit": "0df55ea55bf1f4827115af4740899980b4fce77f",
      "tree": "1392b2c4b8d6758af933cc56586bb1396db7f3f3",
      "parents": [
        "c1f792a5bfebcf7ee1d739c3cb9baeaede0160e7",
        "d1057c40682990d29d4ee93d6ffd9836043552e6"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 22 13:44:18 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 22 13:44:18 2011 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/cjb/mmc\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/cjb/mmc: (78 commits)\n  mmc: MAINTAINERS: add myself as a tmio-mmc maintainer\n  mmc: print debug messages for runtime PM actions\n  mmc: fix runtime PM with -ENOSYS suspend case\n  mmc: at91_mci: move register header from include/ to drivers/\n  mmc: mxs-mmc: fix clock rate setting\n  mmc: tmio: fix a deadlock\n  mmc: tmio: fix a recently introduced bug in DMA code\n  mmc: sh_mmcif: maximize power saving\n  mmc: tmio: maximize power saving\n  mmc: tmio: fix recursive spinlock, don\u0027t schedule with interrupts disabled\n  mmc: Added quirks for Ricoh 1180:e823 lower base clock frequency\n  mmc: omap_hsmmc: fix oops in omap_hsmmc_dma_cb()\n  mmc: omap_hsmmc: refactor duplicated code\n  mmc: omap_hsmmc: fix a few bugs when setting the clock divisor\n  mmc: omap_hsmmc: introduce start_clock and re-use stop_clock\n  mmc: omap_hsmmc: split duplicate code to calc_divisor() function\n  mmc: omap_hsmmc: move hardcoded frequency constants to defines\n  mmc: omap_hsmmc: correct debug report error status mnemonics\n  mmc: block: fixed NULL pointer dereference\n  mmc: documentation of mmc non-blocking request usage and design.\n  ...\n"
    },
    {
      "commit": "c1f792a5bfebcf7ee1d739c3cb9baeaede0160e7",
      "tree": "01909604be05d364a80760ff2b4b6cee902b3430",
      "parents": [
        "6aaf4404ab2efff2f2f3ee4a5bb5379c1c8092b3",
        "55fb25d5b39320242b41af894921f5cef0c7e293"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 22 13:16:33 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 22 13:16:33 2011 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://oss.sgi.com/xfs/xfs\n\n* \u0027for-linus\u0027 of git://oss.sgi.com/xfs/xfs: (49 commits)\n  xfs: add size update tracepoint to IO completion\n  xfs: convert AIL cursors to use struct list_head\n  xfs: remove confusing ail cursor wrapper\n  xfs: use a cursor for bulk AIL insertion\n  xfs: failure mapping nfs fh to inode should return ESTALE\n  xfs: Remove the second parameter to xfs_sb_count()\n  xfs: remove the dead XFS_DABUF_DEBUG code\n  xfs: remove leftovers of the old btree tracing code\n  xfs: remove the dead QUOTADEBUG code\n  xfs: remove the unused xfs_buf_delwri_sort function\n  xfs: remove wrappers around b_iodone\n  xfs: remove wrappers around b_fspriv\n  xfs: add a proper transaction pointer to struct xfs_buf\n  xfs: factor out xfs_da_grow_inode_int\n  xfs: factor out xfs_dir2_leaf_find_stale\n  xfs: cleanup struct xfs_dir2_free\n  xfs: reshuffle dir2 headers\n  xfs: start periodic workers later\n  Revert \"xfs: fix filesystsem freeze race in xfs_trans_alloc\"\n  xfs: remove variables that serve no purpose in xfs_alloc_ag_vextent_exact()\n  ...\n"
    },
    {
      "commit": "6aaf4404ab2efff2f2f3ee4a5bb5379c1c8092b3",
      "tree": "e1108192285784cbdb6974d9c8791c1aa7cef77d",
      "parents": [
        "ba1f9db908a9ac4038f6b694de3e55959886258d",
        "10d1459fafbb02a18e7bc8f2c384a9e973560b00"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 22 13:16:07 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 22 13:16:07 2011 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/teigland/dlm\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/teigland/dlm:\n  dlm: don\u0027t limit active work items\n  dlm: use workqueue for callbacks\n  dlm: remove deadlock debug print\n  dlm: improve rsb searches\n  dlm: keep lkbs in idr\n  dlm: fix kmalloc args\n  dlm: don\u0027t do pointless NULL check, use kzalloc and fix order of arguments\n  dlm: dump address of unknown node\n  dlm: use vmalloc for hash tables\n  dlm: show addresses in configfs\n"
    },
    {
      "commit": "ba1f9db908a9ac4038f6b694de3e55959886258d",
      "tree": "69e0b0976a99c813ff583203690eec2400b64745",
      "parents": [
        "49302baa640d90074d26297156d180320a7aed2f",
        "6596528e391ad978a6a120142cba97a1d7324cb6"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 22 13:12:17 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 22 13:12:17 2011 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/hch/hfsplus\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/hch/hfsplus:\n  hfsplus: ensure bio requests are not smaller than the hardware sectors\n  hfsplus: Add additional range check to handle on-disk corruptions\n  hfsplus: Add error propagation for hfsplus_ext_write_extent_locked\n  hfsplus: add error checking for hfs_find_init()\n  hfsplus: lift the 2TB size limit\n  hfsplus: fix overflow in hfsplus_read_wrapper\n  hfsplus: fix overflow in hfsplus_get_block\n  hfsplus: assignments inside `if\u0027 condition clean-up\n"
    },
    {
      "commit": "49302baa640d90074d26297156d180320a7aed2f",
      "tree": "5f8bc3cb178b0de73cfec12643078739afecf1e4",
      "parents": [
        "eadc3875ebb724bc749bf604c92c6577d06158d1",
        "46fcb2ed29ff7a9ec34c4ae67b631743eb7e756f"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 22 13:10:41 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 22 13:10:41 2011 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/steve/gfs2-2.6-nmw\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/steve/gfs2-2.6-nmw:\n  GFS2: combine duplicated block freeing routines\n  GFS2: Add S_NOSEC support\n  GFS2: Automatically adjust glock min hold time\n  GFS2: Cache dir hash table in a contiguous buffer\n"
    },
    {
      "commit": "eadc3875ebb724bc749bf604c92c6577d06158d1",
      "tree": "c9c080849a0ba421c5ba1741543f83443ad72b62",
      "parents": [
        "59a7ac12110f27951c6f754b4e451a9df686aea9",
        "01dc9cc314ad1009f5b7356399b386015fdb0400"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 22 13:09:55 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 22 13:09:55 2011 -0700"
      },
      "message": "Merge branch \u0027linux-next\u0027 of git://git.infradead.org/ubi-2.6\n\n* \u0027linux-next\u0027 of git://git.infradead.org/ubi-2.6:\n  UBI: clarify the volume notification types\u0027 doc\n  UBI: remove dead code\n  UBI: dump stack when switching to R/O mode\n  UBI: fix oops in error path\n  UBI: switch debugging tests knobs to debugfs\n  UBI: make it possible to use struct ubi_device in debug.h\n  UBI: prepare debugging stuff to further debugfs conversion\n  UBI: use debugfs for the extra checks knobs\n  UBI: change the interface of a debugging check function\n"
    },
    {
      "commit": "59a7ac12110f27951c6f754b4e451a9df686aea9",
      "tree": "4f824b721e44f92388fcbc0471541a34a2709d43",
      "parents": [
        "f99b7880cb9863e11441bd8b2f31d4f556ef1a44",
        "cc8f9b99ed9b728e4dd154337a4332cda9e6d38b"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 22 13:09:35 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 22 13:09:35 2011 -0700"
      },
      "message": "Merge branch \u0027linux-next\u0027 of git://git.infradead.org/ubifs-2.6\n\n* \u0027linux-next\u0027 of git://git.infradead.org/ubifs-2.6: (32 commits)\n  MAINTAINERS: change e-mail of Adrian Hunter\n  UBIFS: fix master node recovery\n  UBIFS: improve power cut emulation testing\n  UBIFS: rename recovery testing variables\n  UBIFS: remove custom list of superblocks\n  UBIFS: stop re-defining UBI operations\n  UBIFS: switch to I/O helpers\n  UBIFS: switch to ubifs_leb_write\n  UBIFS: switch to ubifs_leb_read\n  UBIFS: introduce more I/O helpers\n  UBIFS: always print stacktrace when switching to R/O mode\n  UBIFS: remove unused and unneeded debugging function\n  UBIFS: add global debugfs knobs\n  UBIFS: introduce debugfs helpers\n  UBIFS: re-arrange debugging code a bit\n  UBIFS: be more informative in failure mode\n  UBIFS: switch self-check knobs to debugfs\n  UBIFS: lessen amount of debugging check types\n  UBIFS: introduce helper functions for debugging checks and tests\n  UBIFS: amend debugging inode size check function prototype\n  ...\n"
    },
    {
      "commit": "f99b7880cb9863e11441bd8b2f31d4f556ef1a44",
      "tree": "6f3dc6e33e847b431dd899bd968d799f0d4a8fff",
      "parents": [
        "02f8c6aee8df3cdc935e9bdd4f2d020306035dbe",
        "7ea466f2256b02a7047dfd47d76a2f6c1e427e3e"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 22 12:44:30 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 22 12:44:30 2011 -0700"
      },
      "message": "Merge branch \u0027slab-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/penberg/slab-2.6\n\n* \u0027slab-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/penberg/slab-2.6:\n  slab: fix DEBUG_SLAB warning\n  slab: shrink sizeof(struct kmem_cache)\n  slab: fix DEBUG_SLAB build\n  SLUB: Fix missing \u003clinux/stacktrace.h\u003e include\n  slub: reduce overhead of slub_debug\n  slub: Add method to verify memory is not freed\n  slub: Enable backtrace for create/delete points\n  slab allocators: Provide generic description of alignment defines\n  slab, slub, slob: Unify alignment definition\n  slob/lockdep: Fix gfp flags passed to lockdep\n"
    },
    {
      "commit": "4460207561290c3be7e6c7538f22690028170c1d",
      "tree": "d374529f243986dce5335f799d8af2c8d785ed6e",
      "parents": [
        "2efdd6a038b2d72e74deb8d4725db1663135268c",
        "3cbe182a5b443c4a06a8ddaf13057cbd893963c7",
        "57631811728d12ad9b0e96ed3eccb486124a5605",
        "10e1b54bbb51ac134c51996022f3bd10579fbd3b",
        "e1892fa80def35f7d0e9963e582edba01dd8e453",
        "9b89925c0d8f7d1cc203682df4fab847a7b4b7ec",
        "e67306a38063d75f61d405527ff8bf1c8e92eb84",
        "fd1b6c4a693c9cac59375ffb36ffe5d7c079037c"
      ],
      "author": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Fri Jul 22 11:56:11 2011 -0700"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Fri Jul 22 11:56:11 2011 -0700"
      },
      "message": "Merge branches \u0027cma\u0027, \u0027cxgb4\u0027, \u0027ipath\u0027, \u0027misc\u0027, \u0027mlx4\u0027, \u0027mthca\u0027, \u0027qib\u0027 and \u0027srp\u0027 into for-next\n"
    },
    {
      "commit": "e67306a38063d75f61d405527ff8bf1c8e92eb84",
      "tree": "d40991481f25dea940bd549524a10679cbbe5699",
      "parents": [
        "e800bd032c2623b10ef38a4d7d646e3e3c7bb3ad"
      ],
      "author": {
        "name": "Mike Marciniszyn",
        "email": "mike.marciniszyn@qlogic.com",
        "time": "Thu Jul 21 13:21:16 2011 +0000"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Fri Jul 22 11:56:05 2011 -0700"
      },
      "message": "IB/qib: Defer HCA error events to tasklet\n\nWith ib_qib options:\n\n    options ib_qib krcvqs\u003d1 pcie_caps\u003d0x51 rcvhdrcnt\u003d4096 singleport\u003d1 ibmtu\u003d4\n\na run of ib_write_bw -a yields the following:\n\n    ------------------------------------------------------------------\n     #bytes     #iterations    BW peak[MB/sec]    BW average[MB/sec]\n     1048576   5000           2910.64            229.80\n    ------------------------------------------------------------------\n\nThe top cpu use in a profile is:\n\n    CPU: Intel Architectural Perfmon, speed 2400.15 MHz (estimated)\n    Counted CPU_CLK_UNHALTED events (Clock cycles when not halted) with a unit mask\n    of 0x00 (No unit mask) count 1002300\n    Counted LLC_MISSES events (Last level cache demand requests from this core that\n    missed the LLC) with a unit mask of 0x41 (No unit mask) count 10000\n    samples  %        samples  %        app name                 symbol name\n    15237    29.2642  964      17.1195  ib_qib.ko                qib_7322intr\n    12320    23.6618  1040     18.4692  ib_qib.ko                handle_7322_errors\n    4106      7.8860  0              0  vmlinux                  vsnprintf\n\n\nAnalysis of the stats, profile, the code, and the annotated profile indicate:\n - All of the overflow interrupts (one per packet overflow) are\n   serviced on CPU0 with no mitigation on the frequency.\n - All of the receive interrupts are being serviced by CPU0.  (That is\n   the way truescale.cmds statically allocates the kctx IRQs to CPU)\n - The code is spending all of its time servicing QIB_I_C_ERROR\n   RcvEgrFullErr interrupts on CPU0, starving the packet receive\n   processing.\n - The decode_err routine is very inefficient, using a printf variant\n   to format a \"%s\" and continues to loop when the errs mask has been\n   cleared.\n - Both qib_7322intr and handle_7322_errors read pci registers, which\n   is very inefficient.\n\nThe fix does the following:\n - Adds a tasklet to service QIB_I_C_ERROR\n - Replaces the very inefficient scnprintf() with a memcpy().  A field\n   is added to qib_hwerror_msgs to save the sizeof(\"string\") at\n   compile time so that a strlen is not needed during err_decode().\n - The most frequent errors (Overflows) are serviced first to exit the\n   loop as early as possible.\n - The loop now exits as soon as the errs mask is clear rather than\n   fruitlessly looping through the msp array.\n\nWith this fix the performance changes to:\n\n    ------------------------------------------------------------------\n     #bytes     #iterations    BW peak[MB/sec]    BW average[MB/sec]\n     1048576   5000           2990.64            2941.35\n    ------------------------------------------------------------------\n\nDuring testing of the error handling overflow patch, it was determined\nthat some CPU\u0027s were slower when servicing both overflow and receive\ninterrupts on CPU0 with different MSI interrupt vectors.\n\nThis patch adds an option (krcvq01_no_msi) to not use a dedicated MSI\ninterrupt for kctx\u0027s \u003c 2 and to service them on the default interrupt.\nFor some CPUs, the cost of the interrupt enter/exit is more costly\nthan then the additional PCI read in the default handler.\n\nSigned-off-by: Mike Marciniszyn \u003cmike.marciniszyn@qlogic.com\u003e\nSigned-off-by: Roland Dreier \u003croland@purestorage.com\u003e\n"
    },
    {
      "commit": "6596528e391ad978a6a120142cba97a1d7324cb6",
      "tree": "9f9ad6f52b9665074545639c54399e2680e6c889",
      "parents": [
        "aac4e4198eff7f9551d586c55342403d49249d95"
      ],
      "author": {
        "name": "Seth Forshee",
        "email": "seth.forshee@canonical.com",
        "time": "Mon Jul 18 08:06:23 2011 -0700"
      },
      "committer": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Fri Jul 22 16:37:44 2011 +0200"
      },
      "message": "hfsplus: ensure bio requests are not smaller than the hardware sectors\n\nCurrently all bio requests are 512 bytes, which may fail for media\nwhose physical sector size is larger than this. Ensure these\nrequests are not smaller than the block device logical block size.\n\nBugLink: http://bugs.launchpad.net/bugs/734883\nSigned-off-by: Seth Forshee \u003cseth.forshee@canonical.com\u003e\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\n"
    },
    {
      "commit": "aac4e4198eff7f9551d586c55342403d49249d95",
      "tree": "9fadb2150044176f1585133d0cf2711c737ddd99",
      "parents": [
        "dd7f3d5458e5c0eded620fe8192abe7e418fc94c"
      ],
      "author": {
        "name": "Naohiro Aota",
        "email": "naota@elisp.net",
        "time": "Tue Jul 12 02:54:13 2011 +0900"
      },
      "committer": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Fri Jul 22 16:36:56 2011 +0200"
      },
      "message": "hfsplus: Add additional range check to handle on-disk corruptions\n\n\u0027recoff\u0027 is read from disk and used for an argument to memcpy, so if\nthe value read from disk is larger than the page size, it result to\n\"general protection fault\". This patch add additional range check for\nthe value, so that disk fuzz won\u0027t cause such fault.\n\nSigned-off-by: Naohiro Aota \u003cnaota@elisp.net\u003e\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\n"
    },
    {
      "commit": "415b3334a21aa67806c52d1acf4e72e14f7f402f",
      "tree": "d1101d6d6a6b82ae21bfb312ae3a1e3a8e2d7c29",
      "parents": [
        "ace62dd1a805ab9de9ef8d67585d0588cb379653"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Jul 22 06:22:10 2011 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Jul 22 06:22:10 2011 -0700"
      },
      "message": "icmp: Fix regression in nexthop resolution during replies.\n\nicmp_route_lookup() uses the wrong flow parameters if the reverse\nsession route lookup isn\u0027t used.\n\nSo do not commit to the re-decoded flow until we actually make a\nfinal decision to use a real route saved in \u0027rt2\u0027.\n\nReported-by: Florian Westphal \u003cfw@strlen.de\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "eac1b5e57d7abc836e78fd3fbcf77dbeed01edc9",
      "tree": "50d267e7a4edd645543abfeb33d12eb18d84d00e",
      "parents": [
        "8a35241803eeb0e9fd3fe27835d6b2775c73b641"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@redhat.com",
        "time": "Thu Jul 21 20:00:43 2011 +0200"
      },
      "committer": {
        "name": "Oleg Nesterov",
        "email": "oleg@redhat.com",
        "time": "Fri Jul 22 15:10:49 2011 +0200"
      },
      "message": "ptrace: do_wait(traced_leader_killed_by_mt_exec) can block forever\n\nTest-case:\n\n\tvoid *tfunc(void *arg)\n\t{\n\t\texecvp(\"true\", NULL);\n\t\treturn NULL;\n\t}\n\n\tint main(void)\n\t{\n\t\tint pid;\n\n\t\tif (fork()) {\n\t\t\tpthread_t t;\n\n\t\t\tkill(getpid(), SIGSTOP);\n\n\t\t\tpthread_create(\u0026t, NULL, tfunc, NULL);\n\n\t\t\tfor (;;)\n\t\t\t\tpause();\n\t\t}\n\n\t\tpid \u003d getppid();\n\t\tassert(ptrace(PTRACE_ATTACH, pid, 0,0) \u003d\u003d 0);\n\n\t\twhile (wait(NULL) \u003e 0)\n\t\t\tptrace(PTRACE_CONT, pid, 0,0);\n\n\t\treturn 0;\n\t}\n\nIt is racy, exit_notify() does __wake_up_parent() too. But in the\nlikely case it triggers the problem: de_thread() does release_task()\nand the old leader goes away without the notification, the tracer\nsleeps in do_wait() without children/tracees.\n\nChange de_thread() to do __wake_up_parent(traced_leader-\u003eparent).\nSince it is already EXIT_DEAD we can do this without ptrace_unlink(),\nEXIT_DEAD threads do not exist from do_wait\u0027s pov.\n\nSigned-off-by: Oleg Nesterov \u003coleg@redhat.com\u003e\nAcked-by: Tejun Heo \u003ctj@kernel.org\u003e\n"
    },
    {
      "commit": "0f3171438fc917b9f6b8b60dbb7a3fff9a0f68fd",
      "tree": "9164575614f17bbce9a03128af460e997189a808",
      "parents": [
        "2bd2d6f2dc952fc44fc52887de36e51896da96b9"
      ],
      "author": {
        "name": "Lin Ming",
        "email": "ming.m.lin@intel.com",
        "time": "Fri Jul 22 09:14:31 2011 +0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jul 22 12:47:22 2011 +0200"
      },
      "message": "sched: Cleanup duplicate local variable in [enqueue|dequeue]_task_fair\n\nNo need to define a new \"cfs_rq\" variable in the \"for\" block.\nJust use the one at the top of the function.\n\nSigned-off-by: Lin Ming \u003cming.m.lin@intel.com\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLink: http://lkml.kernel.org/r/1311297271.3938.1352.camel@minggr.sh.intel.com\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "b580169affd7ccc9347cbf4d5f4db1480ee7ee06",
      "tree": "eff8a0406fc628aba320a55ae7b3dccfb093952a",
      "parents": [
        "bc8a2a9b4e5c418bebaa6bb812982b7ecd298821"
      ],
      "author": {
        "name": "Jiri Kosina",
        "email": "jkosina@suse.cz",
        "time": "Fri Jul 22 12:11:15 2011 +0200"
      },
      "committer": {
        "name": "Jiri Kosina",
        "email": "jkosina@suse.cz",
        "time": "Fri Jul 22 12:11:15 2011 +0200"
      },
      "message": "HID: fix support for Microsoft comfort mouse 4500\n\nAdd forgotten entry into the global blacklist.\n\nSigned-off-by: Jiri Kosina \u003cjkosina@suse.cz\u003e\n"
    },
    {
      "commit": "fa4951595648c14754621c99a07c47c9b9dcf05b",
      "tree": "4c722e426d18130e31baf2d3d9c5f4aeba068989",
      "parents": [
        "11650b859681e03fdbf26277fcfc5f1f62186703"
      ],
      "author": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Fri Jul 22 08:24:22 2011 +0000"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Fri Jul 22 09:37:49 2011 +0000"
      },
      "message": "target: Bump version to v4.1.0-rc1-ml\n\nThis patch bumps the target core version to v4.1.0-rc1 now that we are\nin sync with upstream lio-core-2.6.git/master\n\nSigned-off-by: Nicholas Bellinger \u003cnab@linux-iscsi.org\u003e\n"
    },
    {
      "commit": "11650b859681e03fdbf26277fcfc5f1f62186703",
      "tree": "1073305aa356589d05cf59c70dae748c4c0e8b75",
      "parents": [
        "163cd5fa9fcb7ccc73a9e39d5f601cfd41a23bfa"
      ],
      "author": {
        "name": "Andy Shevchenko",
        "email": "andriy.shevchenko@linux.intel.com",
        "time": "Mon Jul 18 22:26:40 2011 -0700"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Fri Jul 22 09:37:49 2011 +0000"
      },
      "message": "target: remove custom hex2bin() implementation\n\nThis patch drops transport_asciihex_to_binaryhex() in favor of proper\nhex2bin usage from include/linux/kernel.h:hex2bin()\n\nSigned-off-by: Andy Shevchenko \u003candriy.shevchenko@linux.intel.com\u003e\nSigned-off-by: Nicholas Bellinger \u003cnab@linux-iscsi.org\u003e\n"
    },
    {
      "commit": "163cd5fa9fcb7ccc73a9e39d5f601cfd41a23bfa",
      "tree": "54f6d4bd12189c241f7b3fa8d33a722f6cb69f59",
      "parents": [
        "5de619a31d9cb051d1f818e661af4e54def82316"
      ],
      "author": {
        "name": "Andy Shevchenko",
        "email": "andriy.shevchenko@linux.intel.com",
        "time": "Mon Jul 18 22:17:43 2011 -0700"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Fri Jul 22 09:37:49 2011 +0000"
      },
      "message": "target: fix typo Assoication -\u003e Association\n\nAdditionally this patch brings proper apply of the designator type.\nHowever, the original code luckily has no bug, because the association\nequals to 0.\n\nSigned-off-by: Andy Shevchenko \u003candriy.shevchenko@linux.intel.com\u003e\nCc: James Bottomley \u003cjbottomley@parallels.com\u003e\nSigned-off-by: Nicholas Bellinger \u003cnab@linux-iscsi.org\u003e\n"
    },
    {
      "commit": "5de619a31d9cb051d1f818e661af4e54def82316",
      "tree": "bbdf282c42fe3818607fff4f3a4f7d1b74ee064e",
      "parents": [
        "1d20bb6147954d4fbd337a3d1b40c7eeae254cd7"
      ],
      "author": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Sun Jul 17 02:57:58 2011 -0700"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Fri Jul 22 09:37:49 2011 +0000"
      },
      "message": "target: Update QUEUE ALGORITHM MODIFIER control page default\n\nThis patch adds the default \u0027Unrestricted reordering allowed\u0027 for SCSI\ncontrol mode page QUEUE ALGORITHM MODIFIER on a per se_device basis in\ntarget_modesense_control() following spc4r23.  This includes a new\nemuluate_rest_reord configfs attribute that currently (only) accepts\nzero to signal \u0027Unrestricted reordering allowed\u0027 in control mode page\nusage by the backend target device.\n\nReported-by: Roland Dreier \u003croland@purestorage.com\u003e\nSigned-off-by: Nicholas Bellinger \u003cnab@risingtidesystems.com\u003e\n"
    },
    {
      "commit": "1d20bb6147954d4fbd337a3d1b40c7eeae254cd7",
      "tree": "23dcdd9376c5e26acfd2817812e2d5ccfbf81149",
      "parents": [
        "6708bb27bb2703da238f21f516034263348af5be"
      ],
      "author": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Thu Jul 21 04:41:48 2011 +0000"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Fri Jul 22 09:37:48 2011 +0000"
      },
      "message": "target: -\u003emap_task_SG conversion to -\u003emap_control_SG and -\u003emap_data_SG\n\nThis patch breaks up the -\u003emap_task_SG() backend call into two seperate\n-\u003emap_control_SG() and -\u003emap_data_SG() in order to better address\nIBLOCK and pSCSI.  IBLOCK only allocates bios for -\u003emap_data_SG(), and\npSCSI will allocate a struct request for both cases.\n\nThis patch fixes incorrect usage of -\u003emap_task_SG() for all se_cmd descriptors\nin transport_generic_new_cmd() by moving the call into it\u0027s proper location\ndirectly inside of transport_allocate_data_tasks()\n\nReported-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Nicholas Bellinger \u003cnab@linux-iscsi.org\u003e\n"
    },
    {
      "commit": "6708bb27bb2703da238f21f516034263348af5be",
      "tree": "a23e1f9eab22933d773d6b6ad6263d6751379a00",
      "parents": [
        "ec98f7825c6eaa4a9afb0eb518826efc8a2ed4a2"
      ],
      "author": {
        "name": "Andy Grover",
        "email": "agrover@redhat.com",
        "time": "Wed Jun 08 10:36:43 2011 -0700"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Fri Jul 22 09:37:48 2011 +0000"
      },
      "message": "target: Follow up core updates from AGrover and HCH (round 4)\n\nThis patch contains the squashed version of forth round series cleanups\nfrom Andy and Christoph following the post heavy lifting in the preceeding:\n\u0027Eliminate usage of struct se_mem\u0027 and \u0027Make all control CDBs scatter-gather\u0027\nchanges.  This also includes a conversion of target core and the v3.0\nmainline fabric modules (loopback and tcm_fc) to use pr_debug and the\nCONFIG_DYNAMIC_DEBUG infrastructure!\n\nThese have been squashed into this third and final round for v3.1.\n\ntarget: Remove ifdeffed code in t_g_process_write\ntarget: Remove direct ramdisk code\ntarget: Rename task_sg_num to task_sg_nents\ntarget: Remove custom debug macros for pr_debug. Use pr_err().\ntarget: Remove custom debug macros in mainline fabrics\ntarget: Set WSNZ\u003d1 in block limits VPD. Abort if WRITE_SAME sectors \u003d 0\ntarget: Remove transport do_se_mem_map callback\ntarget: Further simplify transport_free_pages\ntarget: Redo task allocation return value handling\ntarget: Remove extra parentheses\ntarget: change alloc_task call to take *cdb, not *cmd\n\n(nab: Fix bogus struct file assignments in fd_do_readv and fd_do_writev)\n\nSigned-off-by: Andy Grover \u003cagrover@redhat.com\u003e\nReviewed-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Nicholas Bellinger \u003cnab@linux-iscsi.org\u003e\n"
    },
    {
      "commit": "ec98f7825c6eaa4a9afb0eb518826efc8a2ed4a2",
      "tree": "b4ccee24db5d7d54ccfa5e3be2441d3a4e37f295",
      "parents": [
        "3a86720567fd92819b449df10db85a2f73447d87"
      ],
      "author": {
        "name": "Andy Grover",
        "email": "agrover@redhat.com",
        "time": "Wed Jul 20 19:28:46 2011 +0000"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Fri Jul 22 09:37:48 2011 +0000"
      },
      "message": "target: Eliminate usage of struct se_mem\n\nBoth backstores and fabrics use arrays of struct scatterlist to describe\ndata buffers. However TCM used struct se_mems, basically a linked list\nof scatterlist entries. We are able to simplify the code by eliminating\nthis intermediate data structure and just using struct scatterlist[]\nthroughout.\n\nAlso, moved attachment of task to cmd out of transport_generic_get_task\nand into allocate_control_task and allocate_data_tasks. The reasoning\nis that it\u0027s nonintuitive that get_task should automatically add it to\nthe cmd\u0027s task list -- it should just return an allocated, initialized\ntask. That\u0027s all it should do, based on the function\u0027s name, so either the\nfunction shouldn\u0027t do it, or the name should change to encapsulate the\nentire essence of what it does.\n\n(nab: Fix compile warnings in tcm_fc, and make transport_kmap_first_data_page\n honor sg-\u003eoffset for SGLs from contigious memory with TCM_Loop, and\n fix control se_cmd descriptor memory leak)\n\nSigned-off-by: Andy Grover \u003cagrover@redhat.com\u003e\nSigned-off-by: Nicholas Bellinger \u003cnab@linux-iscsi.org\u003e\n"
    },
    {
      "commit": "3a86720567fd92819b449df10db85a2f73447d87",
      "tree": "2d971854eabe7b4bc8ff091b0e9d91dca8377bbe",
      "parents": [
        "d0229ae3fed59b4009e33f836d9ad4e312294d46"
      ],
      "author": {
        "name": "Andy Grover",
        "email": "agrover@redhat.com",
        "time": "Tue Jun 28 10:31:18 2011 -0700"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Fri Jul 22 09:37:48 2011 +0000"
      },
      "message": "target: Pass 2nd param of transport_split_cdb by value\n\nSince sectors is not modified, it\u0027s more straightforward to do this.\n\nSigned-off-by: Andy Grover \u003cagrover@redhat.com\u003e\nSigned-off-by: Nicholas Bellinger \u003cnab@linux-iscsi.org\u003e\n"
    },
    {
      "commit": "d0229ae3fed59b4009e33f836d9ad4e312294d46",
      "tree": "148f60e1db4efa563d3f4ee5e7bc735358b57a13",
      "parents": [
        "05d1c7c0d0db4cc25548d9aadebb416888a82327"
      ],
      "author": {
        "name": "Andy Grover",
        "email": "agrover@redhat.com",
        "time": "Fri Jul 08 17:04:53 2011 -0700"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Fri Jul 22 09:37:48 2011 +0000"
      },
      "message": "target: Enforce 1 page max for control cdb buffer sizes\n\nDue to all cdbs\u0027 data buffers being referenced by scatterlists, buffers\nof more than a page are not contiguous. Instead of handling this in all\ncontrol command handlers, we may be able to get away with just limiting\ncontrol cdb data buffers to one page. The only control CDBs we handle that\nhave potentially large data buffers are REPORT LUNS and UNMAP, so if we\ndidn\u0027t want to live with this limitation, they would need to be modified\nto walk the pages in the data buffer\u0027s sgl.\n\nSigned-off-by: Andy Grover \u003cagrover@redhat.com\u003e\nSigned-off-by: Nicholas Bellinger \u003cnab@linux-iscsi.org\u003e\n"
    },
    {
      "commit": "05d1c7c0d0db4cc25548d9aadebb416888a82327",
      "tree": "290243526d188a7f6a683b0e13a63c7207471fa1",
      "parents": [
        "e22a7f075226c51f3f71b922e9eeb4f99fac1475"
      ],
      "author": {
        "name": "Andy Grover",
        "email": "agrover@redhat.com",
        "time": "Wed Jul 20 19:13:28 2011 +0000"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Fri Jul 22 09:37:48 2011 +0000"
      },
      "message": "target: Make all control CDBs scatter-gather\n\nPreviously, some control CDBs did not allocate memory in pages for their\ndata buffer, but just did a kmalloc. This patch makes all cdbs allocate\npages.\n\nThis has the benefit of streamlining some paths that had to behave\ndifferently when we used two allocation methods. The downside is that\nall accesses to the data buffer need to kmap it before use, and need to\nhandle data in page-sized chunks if more than a page is needed for a given\ncommand\u0027s data buffer.\n\nFinally, note that cdbs with no data buffers are handled a little\ndifferently. Before, SCSI_NON_DATA_CDBs would not call get_mem at all\n(they\u0027d be in the final else in transport_allocate_resources) but now\nthese will make it into generic_get_mem, but just not allocate any\nbuffers.\n\nSigned-off-by: Andy Grover \u003cagrover@redhat.com\u003e\nSigned-off-by: Nicholas Bellinger \u003cnab@linux-iscsi.org\u003e\n"
    },
    {
      "commit": "e22a7f075226c51f3f71b922e9eeb4f99fac1475",
      "tree": "e0a04f974153136eafe13793ee59be58c37c5ffc",
      "parents": [
        "b2eb705e00a9b9a9b3122192a7ab3e9058f0c48a"
      ],
      "author": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Tue Jul 05 13:34:52 2011 -0700"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Fri Jul 22 09:37:47 2011 +0000"
      },
      "message": "target: Implement Block Device Characteristics VPD page\n\nImplement page B1h, Block Device Characteristics, so that we can report\na medium rotation rate of 1 (non-rotating / solid state) if the\nis_nonrot device attribute is set; we update the iblock backend to set\nthis attribute if the underlying Linux block device has its nonrot\nflag set.\n\nSigned-off-by: Roland Dreier \u003croland@purestorage.com\u003e\nReviewed-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Nicholas Bellinger \u003cnab@linux-iscsi.org\u003e\n"
    },
    {
      "commit": "b2eb705e00a9b9a9b3122192a7ab3e9058f0c48a",
      "tree": "3eec44a2dcec8d389a5363f2d7b0748a904eceae",
      "parents": [
        "f5fbed856931faa1e94a76caf0f0c273c67f0d32"
      ],
      "author": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Tue Jul 05 13:34:51 2011 -0700"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Fri Jul 22 09:37:47 2011 +0000"
      },
      "message": "target: Fix reporting of supported VPD pages\n\nThe current handling of VPD page 00h (Supported VPD Pages) for INQUIRY\ncommands has a couple of problems:\n\n - The page length field is incorrectly set to 3, so the entry for 86h\n   (Extended INQUIRY Data) is ignored since it is in the fourth slot.\n - Even though the code handles pages B0h and B2h, those pages aren\u0027t\n   mentioned in the Supported VPD Pages list, so eg the Linux SCSI stack\n   won\u0027t actually try to use them.\n\nFix these problems and make things more robust to avoid future problems\nby moving to a table of supported VPD pages, which means that any added\nVPD page support will automatically get reported on page 0.\n\nSigned-off-by: Roland Dreier \u003croland@purestorage.com\u003e\nReviewed-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Nicholas Bellinger \u003cnab@linux-iscsi.org\u003e\n"
    },
    {
      "commit": "f5fbed856931faa1e94a76caf0f0c273c67f0d32",
      "tree": "477499feebf9a32714ad25993f577a43eeb1e3d2",
      "parents": [
        "2be18149d9d7ebfde7c3081d60f7c9d8d3b6f8c7"
      ],
      "author": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Tue Jul 05 13:34:50 2011 -0700"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Fri Jul 22 09:37:47 2011 +0000"
      },
      "message": "target: Allow for built-in target modules\n\nIn target_fabric_configfs_init(), we should allow fabric_mod to be NULL,\nsince THIS_MODULE is NULL for built-in modules.  The main method of\nusing the target code may be as modules, but having everything built-in\nis useful eg to be able to do quick testing with \"qemu -kernel\".\n\nIn any case, we shouldn\u0027t bomb out fabric registration for a perfectly\nvalid configuration, so simply drop the check of fabric_mod.\n\nSigned-off-by: Roland Dreier \u003croland@purestorage.com\u003e\nReviewed-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Nicholas Bellinger \u003cnab@linux-iscsi.org\u003e\n"
    },
    {
      "commit": "2be18149d9d7ebfde7c3081d60f7c9d8d3b6f8c7",
      "tree": "2d6d602112049f4e6188d8ee3412168760e302ae",
      "parents": [
        "a1fa3759583ef2379da6e2cc346ee9f99dfba309"
      ],
      "author": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Fri May 27 13:58:48 2011 -0700"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Fri Jul 22 09:37:47 2011 +0000"
      },
      "message": "tcm_fc: Convert to wake_up_process and schedule_timeout_interruptible\n\nThis patch converts ft_queue_cmd() to use wake_up_process() and\nft_thread() to use schedule_timeout_interruptible(MAX_SCHEDULE_TIMEOUT)\ninstead of wait_event_interruptible().  This fixes a potential race with\nthe wait_event_interruptible() conditional with qobj-\u003equeue_cnt in\nft_thread().\n\nThis patch also drops the unnecessary set_user_nice(current, -20) in\nft_thread(), and drops extra () around two if (!(acl)) conditionals in\ntfc_conf.c.\n\nReported-by: Christoph Hellwig \u003chch@infradead.org\u003e\nSigned-off-by: Nicholas A. Bellinger \u003cnab@linux-iscsi.org\u003e\n"
    },
    {
      "commit": "a1fa3759583ef2379da6e2cc346ee9f99dfba309",
      "tree": "3878c51563d8847a51ad5b7ae3c612e9ebdca916",
      "parents": [
        "a57b5d36453cc9335f75ae191ffd682a250d08ba"
      ],
      "author": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Fri May 27 13:34:20 2011 -0700"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Fri Jul 22 09:37:47 2011 +0000"
      },
      "message": "tcm_fc: Makefile cleanups\n\nThis patch removes the unnecessary EXTRA_CFLAGS includes, and drops the\nunused -DTCM_FC_DEBUG define.\n\nReported-by: Christoph Hellwig \u003chch@infradead.org\u003e\nSigned-off-by: Nicholas A. Bellinger \u003cnab@linux-iscsi.org\u003e\n"
    },
    {
      "commit": "a57b5d36453cc9335f75ae191ffd682a250d08ba",
      "tree": "4879b45aec4865ee6c7df64cf7a71b56f75e9238",
      "parents": [
        "824cc5ff37a0dc3ec8c9e7002e3b1ca0b408917e"
      ],
      "author": {
        "name": "Jesper Juhl",
        "email": "jj@chaosbits.net",
        "time": "Tue Jun 28 00:30:17 2011 +0200"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Fri Jul 22 09:37:46 2011 +0000"
      },
      "message": "loopback: Fix memory leak in tcm_loop_make_scsi_hba()\n\nThere is a memory leak in tcm_loop_make_scsi_hba().\n\nIf all the strstr() calls return NULL and we end up at return ERR_PTR(-EINVAL);\nthen we\u0027ll be leaking the memory previously allocated to tl_hba as\nthat variable goes out of scope.\n\nThis patch should fix the leak.\n\nSigned-off-by: Jesper Juhl \u003cjj@chaosbits.net\u003e\nSigned-off-by: Dan Carpenter \u003cerror27@gmail.com\u003e\nSigned-off-by: Nicholas Bellinger \u003cnab@linux-iscsi.org\u003e\n"
    },
    {
      "commit": "824cc5ff37a0dc3ec8c9e7002e3b1ca0b408917e",
      "tree": "75a56399479a48cdcf365aaf3b216cb5980ade67",
      "parents": [
        "12f09ccb4612734a53e47ed5302e0479c10a50f8"
      ],
      "author": {
        "name": "Jesper Juhl",
        "email": "jj@chaosbits.net",
        "time": "Wed Jun 22 01:55:50 2011 -0700"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Fri Jul 22 09:37:46 2011 +0000"
      },
      "message": "loopback: Remove duplicate scsi/scsi_tcq.h include\n\nSigned-off-by: Jesper Juhl \u003cjj@chaosbits.net\u003e\nSigned-off-by: Nicholas Bellinger \u003cnab@linux-iscsi.org\u003e\n"
    },
    {
      "commit": "12f09ccb4612734a53e47ed5302e0479c10a50f8",
      "tree": "6bbd52b7ac29fd768ccc12eca076a188a0eb07cf",
      "parents": [
        "21bca31c9678edda8eb1dc823be00d190965c53b"
      ],
      "author": {
        "name": "Dan Carpenter",
        "email": "error27@gmail.com",
        "time": "Sat Apr 02 14:32:47 2011 -0700"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Fri Jul 22 09:37:46 2011 +0000"
      },
      "message": "loopback: off by one in tcm_loop_make_naa_tpg()\n\nThis is an off by one \u0027tgpt\u0027 check in tcm_loop_make_naa_tpg() that could result\nin memory corruption.\n\nSigned-off-by: Dan Carpenter \u003cerror27@gmail.com\u003e\nSigned-off-by: Nicholas A. Bellinger \u003cnab@linux-iscsi.org\u003e\n"
    },
    {
      "commit": "21bca31c9678edda8eb1dc823be00d190965c53b",
      "tree": "bef78367227b6d71a25e7842ea9b6c419df844b1",
      "parents": [
        "8f3d14e2b0352e41c8e64a39c95c7d9498c96e89"
      ],
      "author": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Tue Jul 05 15:35:02 2011 -0700"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Fri Jul 22 09:37:46 2011 +0000"
      },
      "message": "target/iblock: Remove unused iblock_dev members\n\nibd_depth and ibd_force are used write-only.  Remove them.\nibd_major/minor can be easily retrieved from ibd_bd, so get\nrid of them too.\n\nSigned-off-by: Roland Dreier \u003croland@purestorage.com\u003e\nReviewed-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Nicholas Bellinger \u003cnab@linux-iscsi.org\u003e\n"
    },
    {
      "commit": "8f3d14e2b0352e41c8e64a39c95c7d9498c96e89",
      "tree": "607a72e745b87c18a9e594e9f3c8167ffdbb42bf",
      "parents": [
        "5e1be919820175a2becc3c72051050aaa3fae954"
      ],
      "author": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Wed Jun 22 01:32:20 2011 -0700"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Fri Jul 22 09:37:45 2011 +0000"
      },
      "message": "target/iblock: Use request_queue-\u003enr_request for se_device defaults\n\nThis patch converts iblock_create_virtdevice() to use request_queue-\u003enr_request\nfor se_dev_limits usage of -\u003ehw_queue_depth and -\u003equeue_depth for individual\nstruct se_device export.\n\nIt also removes the now unused defines for IBLOCK_DEVICE_QUEUE_DEPTH and\nIBLOCK_MAX_DEVICE_QUEUE_DEPTH\n\nSigned-off-by: Nicholas Bellinger \u003cnab@linux-iscsi.org\u003e\n"
    },
    {
      "commit": "5e1be919820175a2becc3c72051050aaa3fae954",
      "tree": "50b987bb753e481fd0d921e5723deacd17f5a97f",
      "parents": [
        "56e34ee2adb59a35bfa5714bdf4dcb3f4d14a41d"
      ],
      "author": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Wed Jul 20 09:28:56 2011 +0000"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Fri Jul 22 09:37:45 2011 +0000"
      },
      "message": "target: Make se_tmr_lock IRQ-safe\n\ntransport_lookup_tmr_lun() can be called from interrupt context and\ntherefore needs to use IRQ-safe spinlock functions.  Fix this up, and\nto make the locking work, convert the other uses of se_tmr_lock to be\nIRQ-disabling.\n\nSigned-off-by: Roland Dreier \u003croland@purestorage.com\u003e\nSigned-off-by: Nicholas Bellinger \u003cnab@linux-iscsi.org\u003e\n"
    },
    {
      "commit": "56e34ee2adb59a35bfa5714bdf4dcb3f4d14a41d",
      "tree": "80ab54908f9cd603ef26cdcc634e70ddd34c6640",
      "parents": [
        "78faae37897dc2a9ccc7c19155294a4bfdcae077"
      ],
      "author": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Mon Jun 13 20:55:06 2011 -0700"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Fri Jul 22 09:37:45 2011 +0000"
      },
      "message": "target: Make se_dev_check_online() locking IRQ-safe\n\nse_dev_check_online() is called from transport_lookup_cmd_lun(), which\nas discussed before may be called from interrupt context.  So it needs\nto use spin_lock_irqsave() instead of spin_lock_irq() to avoid\nenabling interrupts at the wrong time.\n\nSigned-off-by: Roland Dreier \u003croland@purestorage.com\u003e\nSigned-off-by: Nicholas Bellinger \u003cnab@linux-iscsi.org\u003e\n"
    },
    {
      "commit": "78faae37897dc2a9ccc7c19155294a4bfdcae077",
      "tree": "36db87c44506bd34da1d21633dbfe1e59de40910",
      "parents": [
        "07bde79a5c355dbca66ca4318645aa17b4c0d859"
      ],
      "author": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Wed Jul 20 09:09:10 2011 +0000"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Fri Jul 22 09:37:45 2011 +0000"
      },
      "message": "target: Make transport_lookup_cmd_lun() locking IRQ-safe\n\ntransport_lookup_cmd_lun() may be called from interrupt context (eg\ntcm_loop_allocate_core_cmd() calls it, and it has a comment that says,\n\"Can be called from interrupt context\"), so it needs to use\nspin_lock_irqsave() instead of spin_lock_irq() to avoid enabling\ninterrupts at the wrong time.\n\n(And indeed the last set of lock operations, on lun_cmd_lock, were\nalready using spin_lock_irqsave(), so we just need to fix the other\ntwo locks we take)\n\nSigned-off-by: Roland Dreier \u003croland@purestorage.com\u003e\nSigned-off-by: Nicholas Bellinger \u003cnab@linux-iscsi.org\u003e\n"
    },
    {
      "commit": "07bde79a5c355dbca66ca4318645aa17b4c0d859",
      "tree": "e602132193959df436a2f5d325cd3da9984ada4f",
      "parents": [
        "695434e1cbd57f404110bf4ab187a5127ffd79bb"
      ],
      "author": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Mon Jun 13 14:46:09 2011 -0700"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Fri Jul 22 09:37:45 2011 +0000"
      },
      "message": "target: Add SCF_EMULATE_QUEUE_FULL -\u003e transport_handle_queue_full\n\nThis patch adds SCF_EMULATE_QUEUE_FULL support using -EAGAIN failures\nvia transport_handle_queue_full() to signal queue full in completion\npath TFO-\u003equeue_data_in() and TFO-\u003equeue_status() callbacks.\n\nThis is done using a new se_cmd-\u003etransport_qf_callback() to handle\nthe following queue full exception cases within target core:\n\n*) TRANSPORT_COMPLETE_OK (for completion path queue full)\n\n*) TRANSPORT_COMPLETE_QF_WP (for TRANSPORT_WRITE_PENDING queue full)\n\n*) transport_send_check_condition_and_sense() failure paths in\n   transport_generic_request_failure() and transport_generic_complete_ok()\n\nAll logic is driven using se_device-\u003eqf_work_queue -\u003e target_qf_do_work()\nto to requeue outstanding se_cmd at the head of se_dev-\u003equeue_obj-\u003eqobj_list\nfor transport_processing_thread() execution.\n\nTested using tcm_qla2xxx with MAX_OUTSTANDING_COMMANDS\u003d128 for FCP READ\nto trigger the TRANSPORT_COMPLETE_OK queue full cases, and a simulated\nTFO-\u003ewrite_pending() -EAGAIN failure to trigger TRANSPORT_COMPLETE_QF_WP.\n\nReported-by: Roland Dreier \u003croland@purestorage.com\u003e\nSigned-off-by: Nicholas Bellinger \u003cnab@linux-iscsi.org\u003e\n"
    }
  ],
  "next": "695434e1cbd57f404110bf4ab187a5127ffd79bb"
}
