)]}'
{
  "log": [
    {
      "commit": "f5e7e844a571124ffc117d4696787d6afc4fc5ae",
      "tree": "26bb17dc94e9536da540c187b00cedb0c1b24664",
      "parents": [
        "48445159e9ecb44a96a4de06c6ae7c54eb43ba5b",
        "4a43faf54e9173b6acce37cf7f053fc9515a2cdf"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jun 01 16:55:42 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jun 01 16:55:42 2012 -0700"
      },
      "message": "Merge tag \u0027for-linus-3.5-20120601\u0027 of git://git.infradead.org/linux-mtd\n\nPull mtd update from David Woodhouse:\n - More robust parsing especially of xattr data in JFFS2\n - Updates to mxc_nand and gpmi drivers to support new boards and device tree\n - Improve consistency of information about ECC strength in NAND devices\n - Clean up partition handling of plat_nand\n - Support NAND drivers without dedicated access to OOB area\n - BCH hardware ECC support for OMAP\n - Other fixes and cleanups, and a few new device IDs\n\nFixed trivial conflict in drivers/mtd/nand/gpmi-nand/gpmi-nand.c due to\nadded include files next to each other.\n\n* tag \u0027for-linus-3.5-20120601\u0027 of git://git.infradead.org/linux-mtd: (75 commits)\n  mtd: mxc_nand: move ecc strengh setup before nand_scan_tail\n  mtd: block2mtd: fix recursive call of mtd_writev\n  mtd: gpmi-nand: define ecc.strength\n  mtd: of_parts: fix breakage in Kconfig\n  mtd: nand: fix scan_read_raw_oob\n  mtd: docg3 fix in-middle of blocks reads\n  mtd: cfi_cmdset_0002: Slight cleanup of fixup messages\n  mtd: add fixup for S29NS512P NOR flash.\n  jffs2: allow to complete xattr integrity check on first GC scan\n  jffs2: allow to discriminate between recoverable and non-recoverable errors\n  mtd: nand: omap: add support for hardware BCH ecc\n  ARM: OMAP3: gpmc: add BCH ecc api and modes\n  mtd: nand: check the return code of \u0027read_oob/read_oob_raw\u0027\n  mtd: nand: remove \u0027sndcmd\u0027 parameter of \u0027read_oob/read_oob_raw\u0027\n  mtd: m25p80: Add support for Winbond W25Q80BW\n  jffs2: get rid of jffs2_sync_super\n  jffs2: remove unnecessary GC pass on sync\n  jffs2: remove unnecessary GC pass on umount\n  jffs2: remove lock_super\n  mtd: gpmi: add gpmi support for mx6q\n  ...\n"
    },
    {
      "commit": "8bdc81c5069e43755d6e59e5e990e21ca200e8e2",
      "tree": "eee9ff0210dcd0918a864b006feed14e5f715449",
      "parents": [
        "06688905cc36b86c700f376e9bc9bb68bc67d801"
      ],
      "author": {
        "name": "Artem Bityutskiy",
        "email": "artem.bityutskiy@linux.intel.com",
        "time": "Mon May 07 19:56:53 2012 +0300"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Wed May 30 21:04:52 2012 -0400"
      },
      "message": "jffs2: get rid of jffs2_sync_super\n\nCurrently JFFS2 file-system maps the VFS \"superblock\" abstraction to the\nwrite-buffer. Namely, it uses VFS services to synchronize the write-buffer\nperiodically.\n\nThe whole \"superblock write-out\" VFS infrastructure is served by the\n\u0027sync_supers()\u0027 kernel thread, which wakes up every 5 (by default) seconds and\nwrites out all dirty superblock using the \u0027-\u003ewrite_super()\u0027 call-back. But the\nproblem with this thread is that it wastes power by waking up the system every\n5 seconds no matter what. So we want to kill it completely and thus, we need to\nmake file-systems to stop using the \u0027-\u003ewrite_super\u0027 VFS service, and then\nremove it together with the kernel thread.\n\nThis patch switches the JFFS2 write-buffer management from\n\u0027-\u003ewrite_super()\u0027/\u0027-\u003es_dirt\u0027 to a delayed work. Instead of setting the \u0027s_dirt\u0027\nflag we just schedule a delayed work for synchronizing the write-buffer.\n\nSigned-off-by: Artem Bityutskiy \u003cartem.bityutskiy@linux.intel.com\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "06688905cc36b86c700f376e9bc9bb68bc67d801",
      "tree": "dea29dde6086be3e1904a9d265daaff04a2c79d5",
      "parents": [
        "d0490eea14cc9221cb8343091c216fb862d19958"
      ],
      "author": {
        "name": "Artem Bityutskiy",
        "email": "artem.bityutskiy@linux.intel.com",
        "time": "Mon May 07 19:56:52 2012 +0300"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Wed May 30 21:04:51 2012 -0400"
      },
      "message": "jffs2: remove unnecessary GC pass on sync\n\nWe do not need to call \u0027jffs2_write_super()\u0027 on sync. This function\ncauses a GC pass to make sure the current contents is pushed out with\nthe data which we already have on the media.\n\nBut this is not needed on unmount and only slows sync down unnecessarily.\nIt is enough to just sync the write-buffer.\n\nThis call was added by one of the generic VFS rework patch-sets,\nsee d579ed00aa96a7f7486978540a0d7cecaff742ae.\n\nSigned-off-by: Artem Bityutskiy \u003cartem.bityutskiy@linux.intel.com\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "d0490eea14cc9221cb8343091c216fb862d19958",
      "tree": "c8c66d39694e5fe33d5063206a78240c57efdbdf",
      "parents": [
        "3a0c0e26b64505522b8bce8578a6e61609c31318"
      ],
      "author": {
        "name": "Artem Bityutskiy",
        "email": "artem.bityutskiy@linux.intel.com",
        "time": "Mon May 07 19:56:51 2012 +0300"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Wed May 30 21:04:51 2012 -0400"
      },
      "message": "jffs2: remove unnecessary GC pass on umount\n\nWe do not need to call \u0027jffs2_write_super()\u0027 on unmount. This function\ncauses a GC pass to make sure the current contents is pushed out with\nthe data which we already have on the media.\n\nBut this is not needed on unmount and only slows unmount down unnecessarily.\nIt is enough to just sync the write-buffer.\n\nThis call was added by one of the generic VFS rework patch-sets,\nsee 8c85e125124a473d6f3e9bb187b0b84207f81d91.\n\nSigned-off-by: Artem Bityutskiy \u003cartem.bityutskiy@linux.intel.com\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "3a0c0e26b64505522b8bce8578a6e61609c31318",
      "tree": "ea64458463045c261d56cd88c1e6e2a8eb304607",
      "parents": [
        "bb8ac181a5cf50458a0d83b4460790badc9fdc16"
      ],
      "author": {
        "name": "Artem Bityutskiy",
        "email": "artem.bityutskiy@linux.intel.com",
        "time": "Mon May 07 19:56:50 2012 +0300"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Wed May 30 21:04:51 2012 -0400"
      },
      "message": "jffs2: remove lock_super\n\nWe do not need \u0027lock_super()\u0027/\u0027unlock_super()\u0027 in JFFS2 - kill them.\n\nSigned-off-by: Artem Bityutskiy \u003cartem.bityutskiy@linux.intel.com\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "90324cc1b11a211e37eabd8cb863e1a1561d6b1d",
      "tree": "c8b79c6850420a114ca6660c1b44fc486b1ba86d",
      "parents": [
        "fb8b00675eb6462aacab56bca31ed6107bda5314",
        "169ebd90131b2ffca74bb2dbe7eeacd39fb83714"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon May 28 09:54:45 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon May 28 09:54:45 2012 -0700"
      },
      "message": "Merge tag \u0027writeback\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/wfg/linux\n\nPull writeback tree from Wu Fengguang:\n \"Mainly from Jan Kara to avoid iput() in the flusher threads.\"\n\n* tag \u0027writeback\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/wfg/linux:\n  writeback: Avoid iput() from flusher thread\n  vfs: Rename end_writeback() to clear_inode()\n  vfs: Move waiting for inode writeback from end_writeback() to evict_inode()\n  writeback: Refactor writeback_single_inode()\n  writeback: Remove wb-\u003elist_lock from writeback_single_inode()\n  writeback: Separate inode requeueing after writeback\n  writeback: Move I_DIRTY_PAGES handling\n  writeback: Move requeueing when I_SYNC set to writeback_sb_inodes()\n  writeback: Move clearing of I_SYNC into inode_sync_complete()\n  writeback: initialize global_dirty_limit\n  fs: remove 8 bytes of padding from struct writeback_control on 64 bit builds\n  mm: page-writeback.c: local functions should not be exposed globally\n"
    },
    {
      "commit": "8c5a0366403f5dbca9d4ccf50f95bafbaddc2844",
      "tree": "6955c7e9b1520ab89dc26f62fc9e11997c31078c",
      "parents": [
        "9824f75d56298e5fe4f9f57d9f3abd5fbf3d472c"
      ],
      "author": {
        "name": "Jean-Christophe DUBOIS",
        "email": "jcd@tribudubois.net",
        "time": "Thu May 10 17:14:03 2012 +0200"
      },
      "committer": {
        "name": "David Woodhouse",
        "email": "David.Woodhouse@intel.com",
        "time": "Sun May 13 23:32:36 2012 -0500"
      },
      "message": "jffs2: allow to complete xattr integrity check on first GC scan\n\nUnlike file data integrity the xattr data integrity was not checked\nbefore some explicit access to the attribute was made.\n\nThis could leave in the system a number of corrupted extended attributes\nwhich will be detected only at access time and possibly at a very late\ntime compared to the time the corruption actually happened.\n\nThis patch adds the ability to check for extended attribute integrity\non first GC scan pass (similar to file data integrity check). This allows\nfor all present attributes to be completly verified before any use of them.\n\nIn order to work correctly this patch also needs the patch allowing\nJFFS2 to discriminate between recoverable and non recoverable errors\non extended attributes.\n\nSigned-off-by: Jean-Christophe DUBOIS \u003cjcd@tribudubois.net\u003e\nSigned-off-by: Artem Bityutskiy \u003cartem.bityutskiy@linux.intel.com\u003e\nSigned-off-by: David Woodhouse \u003cDavid.Woodhouse@intel.com\u003e\n"
    },
    {
      "commit": "9824f75d56298e5fe4f9f57d9f3abd5fbf3d472c",
      "tree": "1eda72635e2a5c7a5a997fdd579656db2a0da6e0",
      "parents": [
        "0e618ef0a6a33cf7ef96c2c824402088dd8ef48c"
      ],
      "author": {
        "name": "Jean-Christophe DUBOIS",
        "email": "jcd@tribudubois.net",
        "time": "Thu May 10 17:13:44 2012 +0200"
      },
      "committer": {
        "name": "David Woodhouse",
        "email": "David.Woodhouse@intel.com",
        "time": "Sun May 13 23:30:34 2012 -0500"
      },
      "message": "jffs2: allow to discriminate between recoverable and non-recoverable errors\n\nThis patch is basically a revert of commit f326966b3df47f4fa7e90425f60efdd30c31fe19.\n\nIt allows JFFS2 to make the distinction between a potential transient\nerror (reading or writing the media) and a non recoverable error like a\nbad CRC on the extended attribute data or some insconsitent parameters.\n\nIn order to make clear that the error is indeed intended to report a\ncorrupted attribute, a new local error code (JFFS2_XATTR_IS_CORRUPTED)\nis introduced rather than returning a confusing positive EIO, which is\nwhat led to the inappropriate \"fix\" last time.\n\nThis error code is never reported to user space and only checked locally\nin this file.\n\nSigned-off-by: Jean-Christophe DUBOIS \u003cjcd@tribudubois.net\u003e\nSigned-off-by: Artem Bityutskiy \u003cartem.bityutskiy@linux.intel.com\u003e\nSigned-off-by: David Woodhouse \u003cDavid.Woodhouse@intel.com\u003e\n"
    },
    {
      "commit": "208b14e507c00ff7f108e1a388dd3d8cc805a443",
      "tree": "34ec5a82825cf87d2d9a2856bde10f722a22cd14",
      "parents": [
        "e832579fd100eb4f9658bdfefd61caf86a6cbff1"
      ],
      "author": {
        "name": "Artem Bityutskiy",
        "email": "artem.bityutskiy@linux.intel.com",
        "time": "Mon May 07 19:02:46 2012 +0300"
      },
      "committer": {
        "name": "David Woodhouse",
        "email": "David.Woodhouse@intel.com",
        "time": "Sun May 13 23:24:23 2012 -0500"
      },
      "message": "jffs2: get rid of jffs2_sync_super\n\nCurrently JFFS2 file-system maps the VFS \"superblock\" abstraction to the\nwrite-buffer. Namely, it uses VFS services to synchronize the write-buffer\nperiodically.\n\nThe whole \"superblock write-out\" VFS infrastructure is served by the\n\u0027sync_supers()\u0027 kernel thread, which wakes up every 5 (by default) seconds and\nwrites out all dirty superblock using the \u0027-\u003ewrite_super()\u0027 call-back. But the\nproblem with this thread is that it wastes power by waking up the system every\n5 seconds no matter what. So we want to kill it completely and thus, we need to\nmake file-systems to stop using the \u0027-\u003ewrite_super\u0027 VFS service, and then\nremove it together with the kernel thread.\n\nThis patch switches the JFFS2 write-buffer management from\n\u0027-\u003ewrite_super()\u0027/\u0027-\u003es_dirt\u0027 to a delayed work. Instead of setting the \u0027s_dirt\u0027\nflag we just schedule a delayed work for synchronizing the write-buffer.\n\nSigned-off-by: Artem Bityutskiy \u003cartem.bityutskiy@linux.intel.com\u003e\nSigned-off-by: David Woodhouse \u003cDavid.Woodhouse@intel.com\u003e\n"
    },
    {
      "commit": "e832579fd100eb4f9658bdfefd61caf86a6cbff1",
      "tree": "dfa30431ea286652a4ecf6ff364113fc3deb64e7",
      "parents": [
        "c3c4a36979c8b68cc35643497e83c7383cd07955"
      ],
      "author": {
        "name": "Artem Bityutskiy",
        "email": "artem.bityutskiy@linux.intel.com",
        "time": "Mon May 07 18:51:54 2012 +0300"
      },
      "committer": {
        "name": "David Woodhouse",
        "email": "David.Woodhouse@intel.com",
        "time": "Sun May 13 23:23:12 2012 -0500"
      },
      "message": "jffs2: remove unnecessary GC pass on sync\n\nWe do not need to call \u0027jffs2_write_super()\u0027 on sync. This function\ncauses a GC pass to make sure the current contents is pushed out with\nthe data which we already have on the media.\n\nBut this is not needed on unmount and only slows sync down unnecessarily.\nIt is enough to just sync the write-buffer.\n\nThis call was added by one of the generic VFS rework patch-sets,\nsee d579ed00aa96a7f7486978540a0d7cecaff742ae.\n\nSigned-off-by: Artem Bityutskiy \u003cartem.bityutskiy@linux.intel.com\u003e\nSigned-off-by: David Woodhouse \u003cDavid.Woodhouse@intel.com\u003e\n"
    },
    {
      "commit": "c3c4a36979c8b68cc35643497e83c7383cd07955",
      "tree": "0fa3511ebc863a9f95a88c60bd3c0cde097cc2fc",
      "parents": [
        "f4d0b3557582808d5ce9f868e9dfd98f0e769e82"
      ],
      "author": {
        "name": "Artem Bityutskiy",
        "email": "artem.bityutskiy@linux.intel.com",
        "time": "Mon May 07 18:45:39 2012 +0300"
      },
      "committer": {
        "name": "David Woodhouse",
        "email": "David.Woodhouse@intel.com",
        "time": "Sun May 13 23:23:01 2012 -0500"
      },
      "message": "jffs2: remove unnecessary GC pass on umount\n\nWe do not need to call \u0027jffs2_write_super()\u0027 on unmount. This function\ncauses a GC pass to make sure the current contents is pushed out with\nthe data which we already have on the media.\n\nBut this is not needed on unmount and only slows unmount down unnecessarily.\nIt is enough to just sync the write-buffer.\n\nThis call was added by one of the generic VFS rework patch-sets,\nsee 8c85e125124a473d6f3e9bb187b0b84207f81d91.\n\nSigned-off-by: Artem Bityutskiy \u003cartem.bityutskiy@linux.intel.com\u003e\nSigned-off-by: David Woodhouse \u003cDavid.Woodhouse@intel.com\u003e\n"
    },
    {
      "commit": "f4d0b3557582808d5ce9f868e9dfd98f0e769e82",
      "tree": "4ca75f3e17d534863e06a63ddfa3ca355ba9fe86",
      "parents": [
        "9013bb40ae8e97d579015a3dc96a10aa9c625757"
      ],
      "author": {
        "name": "Artem Bityutskiy",
        "email": "artem.bityutskiy@linux.intel.com",
        "time": "Mon May 07 18:25:00 2012 +0300"
      },
      "committer": {
        "name": "David Woodhouse",
        "email": "David.Woodhouse@intel.com",
        "time": "Sun May 13 23:22:38 2012 -0500"
      },
      "message": "jffs2: remove lock_super\n\nWe do not need \u0027lock_super()\u0027/\u0027unlock_super()\u0027 in JFFS2 - kill them.\n\nSigned-off-by: Artem Bityutskiy \u003cartem.bityutskiy@linux.intel.com\u003e\nSigned-off-by: David Woodhouse \u003cDavid.Woodhouse@intel.com\u003e\n"
    },
    {
      "commit": "b6778fd7812d877abdbc78b9b2d4304150b2ce05",
      "tree": "f3ab4d664efdc7c64038f3f84a88b9dd081b6cb3",
      "parents": [
        "7c80c352331a27cf0584f1701ed3a003984985f0"
      ],
      "author": {
        "name": "Xi Wang",
        "email": "xi.wang@gmail.com",
        "time": "Wed Apr 25 14:45:23 2012 -0400"
      },
      "committer": {
        "name": "David Woodhouse",
        "email": "David.Woodhouse@intel.com",
        "time": "Sun May 13 23:08:57 2012 -0500"
      },
      "message": "jffs2: refactor csize usage in jffs2_do_read_inode_internal()\n\nReplace the verbose `je32_to_cpu(latest_node-\u003ecsize)\u0027 with a shorter\n`csize\u0027.\n\nSigned-off-by: Xi Wang \u003cxi.wang@gmail.com\u003e\nCc: Artem Bityutskiy \u003cdedekind1@gmail.com\u003e\nSigned-off-by: Artem Bityutskiy \u003cartem.bityutskiy@linux.intel.com\u003e\nSigned-off-by: David Woodhouse \u003cDavid.Woodhouse@intel.com\u003e\n"
    },
    {
      "commit": "7c80c352331a27cf0584f1701ed3a003984985f0",
      "tree": "3c90b8d5a23cf563fb40a9866bc8dcf11af4b2fc",
      "parents": [
        "8abc0d4a1181b44e0a42cadab4a15f8c6aa42451"
      ],
      "author": {
        "name": "Xi Wang",
        "email": "xi.wang@gmail.com",
        "time": "Wed Apr 25 14:45:22 2012 -0400"
      },
      "committer": {
        "name": "David Woodhouse",
        "email": "David.Woodhouse@intel.com",
        "time": "Sun May 13 23:05:15 2012 -0500"
      },
      "message": "jffs2: validate symlink size in jffs2_do_read_inode_internal()\n\n`csize\u0027 is read from disk and thus needs validation.  Otherwise a bogus\nvalue 0xffffffff would turn the subsequent kmalloc(csize + 1, ...) into\nkmalloc(0, ...), leading to out-of-bounds write.\n\nThis patch limits `csize\u0027 to JFFS2_MAX_NAME_LEN, which is also used\nin jffs2_symlink().\n\nArtem: we actually validate csize by checking CRC, so this 0xFFs cannot\ncome from empty flash region. But I guess an attacker could feed JFFS2\nan image with random csize value, including 0xFFs.\n\nSigned-off-by: Xi Wang \u003cxi.wang@gmail.com\u003e\nSigned-off-by: Artem Bityutskiy \u003cartem.bityutskiy@linux.intel.com\u003e\nSigned-off-by: David Woodhouse \u003cDavid.Woodhouse@intel.com\u003e\n"
    },
    {
      "commit": "8da8ba2ea6ad52ea8558384f38586b0c1a516e9d",
      "tree": "d11d632886c481758b51cd5b9129dc0a5b94c7bd",
      "parents": [
        "886bd33da7cfb1f6c7f3396f7146278ed02e76a7"
      ],
      "author": {
        "name": "Daniel Drake",
        "email": "dsd@laptop.org",
        "time": "Tue Apr 10 22:22:35 2012 +0100"
      },
      "committer": {
        "name": "David Woodhouse",
        "email": "David.Woodhouse@intel.com",
        "time": "Sun May 13 22:51:29 2012 -0500"
      },
      "message": "JFFS2: Add parameter to reserve disk space for root\n\nAdd a new rp_size\u003d parameter which creates a \"reserved pool\" of disk\nspace which can only be used by root. Other users are not permitted\nto write to disk when the available space is less than the pool size.\n\nBased on original code by Artem Bityutskiy in\nhttps://dev.laptop.org/ticket/5317\n\n[dwmw2: use capable(CAP_SYS_RESOURCE) not uid/gid check, fix debug prints]\nSigned-off-by: Daniel Drake \u003cdsd@laptop.org\u003e\nSigned-off-by: Artem Bityutskiy \u003cArtem.Bityutskiy@linux.intel.com\u003e\nSigned-off-by: David Woodhouse \u003cDavid.Woodhouse@intel.com\u003e\n"
    },
    {
      "commit": "226bb7df3d22bcf4a1c0fe8206c80cc427498eae",
      "tree": "9e876ce5c9a8699ecacccf9dc3ee4a9c436015c3",
      "parents": [
        "7a84477c4acebf6299b6a8bd6a1d5894eb838ffa"
      ],
      "author": {
        "name": "Josh Cartwright",
        "email": "joshc@linux.com",
        "time": "Thu Mar 29 19:34:53 2012 -0400"
      },
      "committer": {
        "name": "David Woodhouse",
        "email": "David.Woodhouse@intel.com",
        "time": "Mon May 07 20:30:14 2012 +0100"
      },
      "message": "jffs2: Fix lock acquisition order bug in gc path\n\nThe locking policy is such that the erase_complete_block spinlock is\nnested within the alloc_sem mutex.  This fixes a case in which the\nacquisition order was erroneously reversed.  This issue was caught by\nthe following lockdep splat:\n\n   \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n   [ INFO: possible circular locking dependency detected ]\n   3.0.5 #1\n   -------------------------------------------------------\n   jffs2_gcd_mtd6/299 is trying to acquire lock:\n    (\u0026c-\u003ealloc_sem){+.+.+.}, at: [\u003cc01f7714\u003e] jffs2_garbage_collect_pass+0x314/0x890\n\n   but task is already holding lock:\n    (\u0026(\u0026c-\u003eerase_completion_lock)-\u003erlock){+.+...}, at: [\u003cc01f7708\u003e] jffs2_garbage_collect_pass+0x308/0x890\n\n   which lock already depends on the new lock.\n\n   the existing dependency chain (in reverse order) is:\n\n   -\u003e #1 (\u0026(\u0026c-\u003eerase_completion_lock)-\u003erlock){+.+...}:\n          [\u003cc008bec4\u003e] validate_chain+0xe6c/0x10bc\n          [\u003cc008c660\u003e] __lock_acquire+0x54c/0xba4\n          [\u003cc008d240\u003e] lock_acquire+0xa4/0x114\n          [\u003cc046780c\u003e] _raw_spin_lock+0x3c/0x4c\n          [\u003cc01f744c\u003e] jffs2_garbage_collect_pass+0x4c/0x890\n          [\u003cc01f937c\u003e] jffs2_garbage_collect_thread+0x1b4/0x1cc\n          [\u003cc0071a68\u003e] kthread+0x98/0xa0\n          [\u003cc000f264\u003e] kernel_thread_exit+0x0/0x8\n\n   -\u003e #0 (\u0026c-\u003ealloc_sem){+.+.+.}:\n          [\u003cc008ad2c\u003e] print_circular_bug+0x70/0x2c4\n          [\u003cc008c08c\u003e] validate_chain+0x1034/0x10bc\n          [\u003cc008c660\u003e] __lock_acquire+0x54c/0xba4\n          [\u003cc008d240\u003e] lock_acquire+0xa4/0x114\n          [\u003cc0466628\u003e] mutex_lock_nested+0x74/0x33c\n          [\u003cc01f7714\u003e] jffs2_garbage_collect_pass+0x314/0x890\n          [\u003cc01f937c\u003e] jffs2_garbage_collect_thread+0x1b4/0x1cc\n          [\u003cc0071a68\u003e] kthread+0x98/0xa0\n          [\u003cc000f264\u003e] kernel_thread_exit+0x0/0x8\n\n   other info that might help us debug this:\n\n    Possible unsafe locking scenario:\n\n          CPU0                    CPU1\n          ----                    ----\n     lock(\u0026(\u0026c-\u003eerase_completion_lock)-\u003erlock);\n                                  lock(\u0026c-\u003ealloc_sem);\n                                  lock(\u0026(\u0026c-\u003eerase_completion_lock)-\u003erlock);\n     lock(\u0026c-\u003ealloc_sem);\n\n    *** DEADLOCK ***\n\n   1 lock held by jffs2_gcd_mtd6/299:\n    #0:  (\u0026(\u0026c-\u003eerase_completion_lock)-\u003erlock){+.+...}, at: [\u003cc01f7708\u003e] jffs2_garbage_collect_pass+0x308/0x890\n\n   stack backtrace:\n   [\u003cc00155dc\u003e] (unwind_backtrace+0x0/0x100) from [\u003cc0463dc0\u003e] (dump_stack+0x20/0x24)\n   [\u003cc0463dc0\u003e] (dump_stack+0x20/0x24) from [\u003cc008ae84\u003e] (print_circular_bug+0x1c8/0x2c4)\n   [\u003cc008ae84\u003e] (print_circular_bug+0x1c8/0x2c4) from [\u003cc008c08c\u003e] (validate_chain+0x1034/0x10bc)\n   [\u003cc008c08c\u003e] (validate_chain+0x1034/0x10bc) from [\u003cc008c660\u003e] (__lock_acquire+0x54c/0xba4)\n   [\u003cc008c660\u003e] (__lock_acquire+0x54c/0xba4) from [\u003cc008d240\u003e] (lock_acquire+0xa4/0x114)\n   [\u003cc008d240\u003e] (lock_acquire+0xa4/0x114) from [\u003cc0466628\u003e] (mutex_lock_nested+0x74/0x33c)\n   [\u003cc0466628\u003e] (mutex_lock_nested+0x74/0x33c) from [\u003cc01f7714\u003e] (jffs2_garbage_collect_pass+0x314/0x890)\n   [\u003cc01f7714\u003e] (jffs2_garbage_collect_pass+0x314/0x890) from [\u003cc01f937c\u003e] (jffs2_garbage_collect_thread+0x1b4/0x1cc)\n   [\u003cc01f937c\u003e] (jffs2_garbage_collect_thread+0x1b4/0x1cc) from [\u003cc0071a68\u003e] (kthread+0x98/0xa0)\n   [\u003cc0071a68\u003e] (kthread+0x98/0xa0) from [\u003cc000f264\u003e] (kernel_thread_exit+0x0/0x8)\n\nThis was introduce in \u002781cfc9f jffs2: Fix serious write stall due to erase\u0027.\n\nCc: stable@kernel.org [2.6.37+]\nSigned-off-by: Josh Cartwright \u003cjoshc@linux.com\u003e\nSigned-off-by: Artem Bityutskiy \u003cartem.bityutskiy@linux.intel.com\u003e\nSigned-off-by: David Woodhouse \u003cDavid.Woodhouse@intel.com\u003e\n"
    },
    {
      "commit": "dbd5768f87ff6fb0a4fe09c4d7b6c4a24de99430",
      "tree": "42ea94ea733538f797aa745945fc43c4d1b89217",
      "parents": [
        "7994e6f7254354e03028a11f98a27bd67dace9f1"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Thu May 03 14:48:02 2012 +0200"
      },
      "committer": {
        "name": "Fengguang Wu",
        "email": "fengguang.wu@intel.com",
        "time": "Sun May 06 13:43:41 2012 +0800"
      },
      "message": "vfs: Rename end_writeback() to clear_inode()\n\nAfter we moved inode_sync_wait() from end_writeback() it doesn\u0027t make sense\nto call the function end_writeback() anymore. Rename it to clear_inode()\nwhich well says what the function really does - set I_CLEAR flag.\n\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\nSigned-off-by: Fengguang Wu \u003cfengguang.wu@intel.com\u003e\n"
    },
    {
      "commit": "623ff7739e7c00fa3d55dbfd42a492a68298fd7a",
      "tree": "0b7461753a1b13b27ea2958a7d48c6efb47bba54",
      "parents": [
        "c39e8ede284f469971589f2e04af78216e1a771d",
        "7b0e67f604e1829e5292e1ad7743eb18dc42ea7c"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 30 17:31:56 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 30 17:31:56 2012 -0700"
      },
      "message": "Merge tag \u0027for-linus-3.4\u0027 of git://git.infradead.org/mtd-2.6\n\nPull MTD changes from David Woodhouse:\n - Artem\u0027s cleanup of the MTD API continues apace.\n - Fixes and improvements for ST FSMC and SuperH FLCTL NAND, amongst\n   others.\n - More work on DiskOnChip G3, new driver for DiskOnChip G4.\n - Clean up debug/warning printks in JFFS2 to use pr_\u003clevel\u003e.\n\nFix up various trivial conflicts, largely due to changes in calling\nconventions for things like dmaengine_prep_slave_sg() (new inline\nwrapper to hide new parameter, clashing with rewrite of previously last\nparameter that used to be an \u0027append\u0027 flag, and is now a bitmap of\n\u0027unsigned long flags\u0027).\n\n(Also some header file fallout - like so many merges this merge window -\nand silly conflicts with sparse fixes)\n\n* tag \u0027for-linus-3.4\u0027 of git://git.infradead.org/mtd-2.6: (120 commits)\n  mtd: docg3 add protection against concurrency\n  mtd: docg3 refactor cascade floors structure\n  mtd: docg3 increase write/erase timeout\n  mtd: docg3 fix inbound calculations\n  mtd: nand: gpmi: fix function annotations\n  mtd: phram: fix section mismatch for phram_setup\n  mtd: unify initialization of erase_info-\u003efail_addr\n  mtd: support ONFI multi lun NAND\n  mtd: sm_ftl: fix typo in major number.\n  mtd: add device-tree support to spear_smi\n  mtd: spear_smi: Remove default partition information from driver\n  mtd: Add device-tree support to fsmc_nand\n  mtd: fix section mismatch for doc_probe_device\n  mtd: nand/fsmc: Remove sparse warnings and errors\n  mtd: nand/fsmc: Add DMA support\n  mtd: nand/fsmc: Access the NAND device word by word whenever possible\n  mtd: nand/fsmc: Use dev_err to report error scenario\n  mtd: nand/fsmc: Use devm routines\n  mtd: nand/fsmc: Modify fsmc driver to accept nand timing parameters via platform\n  mtd: fsmc_nand: add pm callbacks to support hibernation\n  ...\n"
    },
    {
      "commit": "3b27dac03972c10980ec5480ad8425fc95aae9ad",
      "tree": "62238107d409fd08ed06a0dc5e030d48aec320e4",
      "parents": [
        "637957551c0ac80de8dfc7650d320c5a98c2c0c0"
      ],
      "author": {
        "name": "Shmulik Ladkani",
        "email": "shmulik.ladkani@gmail.com",
        "time": "Thu Feb 09 15:36:29 2012 +0200"
      },
      "committer": {
        "name": "David Woodhouse",
        "email": "David.Woodhouse@intel.com",
        "time": "Tue Mar 27 01:02:24 2012 +0100"
      },
      "message": "mtd: unify initialization of erase_info-\u003efail_addr\n\nInitialization of \u0027erase_info-\u003efail_addr\u0027 to MTD_FAIL_ADDR_UNKNOWN prior\nerase operation is duplicated accross several MTD drivers, and also taken\ncare of by some MTD users as well.\n\nHarmonize it: initialize \u0027fail_addr\u0027 within \u0027mtd_erase()\u0027 interface.\n\nSigned-off-by: Shmulik Ladkani \u003cshmulik.ladkani@gmail.com\u003e\nSigned-off-by: Artem Bityutskiy \u003cartem.bityutskiy@linux.intel.com\u003e\nSigned-off-by: David Woodhouse \u003cDavid.Woodhouse@intel.com\u003e\n"
    },
    {
      "commit": "9bbf29e4757fb152c8673eda0b1e9d507b953df9",
      "tree": "ca2462838286fb1e7fe06e4a6fedf78ac36d4904",
      "parents": [
        "5a528957e7c74f1fed73fe20424b7a3421658877"
      ],
      "author": {
        "name": "Joe Perches",
        "email": "joe@perches.com",
        "time": "Wed Feb 15 15:56:46 2012 -0800"
      },
      "committer": {
        "name": "David Woodhouse",
        "email": "David.Woodhouse@intel.com",
        "time": "Tue Mar 27 00:42:14 2012 +0100"
      },
      "message": "jffs2: Standardize JFFS_\u003cLEVEL\u003e uses\n\nUse pr_\u003clevel\u003e to prefix KBUILD_MODNAME via pr_fmt.\n\nRemove obfuscating defines and use constants in pr_\u003clevel\u003e\nNo need for a do {} while (0) for single statements.\n\nForm of JFFS_\u003cLEVEL\u003e output changes from\n\"JFFS2 notice: \" to \"jffs2: notice: \"\n\nAdded pr_fmt to xattr.c\n\nSigned-off-by: Joe Perches \u003cjoe@perches.com\u003e\nSigned-off-by: Artem Bityutskiy \u003cartem.bityutskiy@linux.intel.com\u003e\nSigned-off-by: David Woodhouse \u003cDavid.Woodhouse@intel.com\u003e\n"
    },
    {
      "commit": "5a528957e7c74f1fed73fe20424b7a3421658877",
      "tree": "4b5e353fe0ceb0e275f278461a62a8d3094fe692",
      "parents": [
        "da320f055a8818269c008e30b887cdcf09d8e4bd"
      ],
      "author": {
        "name": "Joe Perches",
        "email": "joe@perches.com",
        "time": "Wed Feb 15 15:56:45 2012 -0800"
      },
      "committer": {
        "name": "David Woodhouse",
        "email": "David.Woodhouse@intel.com",
        "time": "Tue Mar 27 00:40:19 2012 +0100"
      },
      "message": "jffs2: Use pr_fmt and remove jffs: from formats\n\nUse pr_fmt to prefix KBUILD_MODNAME to appropriate logging messages.\n\nRemove now unnecessary internal prefixes from formats.\n\nSigned-off-by: Joe Perches \u003cjoe@perches.com\u003e\nSigned-off-by: Artem Bityutskiy \u003cartem.bityutskiy@linux.intel.com\u003e\nSigned-off-by: David Woodhouse \u003cDavid.Woodhouse@intel.com\u003e\n"
    },
    {
      "commit": "da320f055a8818269c008e30b887cdcf09d8e4bd",
      "tree": "deaead9c0bd0ed473e633fca2d66460b3b0ec99d",
      "parents": [
        "9c261b33a9c417ccaf07f41796be278d09d02d49"
      ],
      "author": {
        "name": "Joe Perches",
        "email": "joe@perches.com",
        "time": "Wed Feb 15 15:56:44 2012 -0800"
      },
      "committer": {
        "name": "David Woodhouse",
        "email": "David.Woodhouse@intel.com",
        "time": "Tue Mar 27 00:39:40 2012 +0100"
      },
      "message": "jffs2: Convert printks to pr_\u003clevel\u003e\n\nUse the more current logging style.\n\nCoalesce formats, align arguments.\nConvert uses of embedded function names to %s, __func__.\n\nA couple of long line checkpatch errors I don\u0027t care about exist.\n\nSigned-off-by: Joe Perches \u003cjoe@perches.com\u003e\nSigned-off-by: Artem Bityutskiy \u003cartem.bityutskiy@linux.intel.com\u003e\nSigned-off-by: David Woodhouse \u003cDavid.Woodhouse@intel.com\u003e\n"
    },
    {
      "commit": "9c261b33a9c417ccaf07f41796be278d09d02d49",
      "tree": "6cf47f47364647dfbba845c0fd3f05539072175a",
      "parents": [
        "bf011f2ed53d587fdd8148c173c4f09ed77bdf1a"
      ],
      "author": {
        "name": "Joe Perches",
        "email": "joe@perches.com",
        "time": "Wed Feb 15 15:56:43 2012 -0800"
      },
      "committer": {
        "name": "David Woodhouse",
        "email": "David.Woodhouse@intel.com",
        "time": "Tue Mar 27 00:39:24 2012 +0100"
      },
      "message": "jffs2: Convert most D1/D2 macros to jffs2_dbg\n\nD1 and D2 macros are mostly uses to emit debugging messages.\n\nConvert the logging uses of D1 \u0026 D2 to jffs2_dbg(level, fmt, ...)\nto be a bit more consistent style with the rest of the kernel.\n\nAll jffs2_dbg output is now at KERN_DEBUG where some of\nthe previous uses were emitted at various KERN_\u003cLEVEL\u003es.\n\nSigned-off-by: Joe Perches \u003cjoe@perches.com\u003e\nSigned-off-by: Artem Bityutskiy \u003cartem.bityutskiy@linux.intel.com\u003e\nSigned-off-by: David Woodhouse \u003cDavid.Woodhouse@intel.com\u003e\n"
    },
    {
      "commit": "273a65ad3256a829bdeb073a2e9b359433de2fe5",
      "tree": "a5321f496deee5f3db442eaefe90277725875ac9",
      "parents": [
        "342d3a93e2b191b0ada07ba7c48380181c9214e8"
      ],
      "author": {
        "name": "Nikola Pajkovsky",
        "email": "n.pajkovsky@gmail.com",
        "time": "Sun Feb 19 19:51:42 2012 +0100"
      },
      "committer": {
        "name": "David Woodhouse",
        "email": "David.Woodhouse@intel.com",
        "time": "Tue Mar 27 00:36:44 2012 +0100"
      },
      "message": "jffs2: make jffs2_initxattrs() static\n\nSigned-off-by: Nikola Pajkovsky \u003cn.pajkovsky@gmail.com\u003e\nSigned-off-by: Artem Bityutskiy \u003cartem.bityutskiy@linux.intel.com\u003e\nSigned-off-by: David Woodhouse \u003cDavid.Woodhouse@intel.com\u003e\n"
    },
    {
      "commit": "4de034787251e872f5eded7cfeb3fde094da633a",
      "tree": "484d61c55f00676d98ea7d8cb2a1dcbd33e825ea",
      "parents": [
        "a3c1e3b732b3708a80e4035b9d845f3f7c7dd0c9"
      ],
      "author": {
        "name": "Masanari Iida",
        "email": "standby24x7@gmail.com",
        "time": "Wed Feb 08 20:39:39 2012 +0900"
      },
      "committer": {
        "name": "David Woodhouse",
        "email": "David.Woodhouse@intel.com",
        "time": "Tue Mar 27 00:33:59 2012 +0100"
      },
      "message": "jffs2: Fix typo in compr.c\n\nCorrect spelling \"modul\" to \"module\" in\nfs/hffs2/compr.c\n\nSigned-off-by: Masanari Iida \u003cstandby24x7@gmail.com\u003e\nSigned-off-by: Artem Bityutskiy \u003cartem.bityutskiy@linux.intel.com\u003e\nSigned-off-by: David Woodhouse \u003cDavid.Woodhouse@intel.com\u003e\n"
    },
    {
      "commit": "045ead345b53c6186303f1413f90154f3137f457",
      "tree": "0ca2af26919b90f19cb986e0e27f41fc684edcf2",
      "parents": [
        "2c4ae276b13114a2c7ebac31257db391b4bf2b6f"
      ],
      "author": {
        "name": "Joe Perches",
        "email": "joe@perches.com",
        "time": "Tue Jan 31 14:42:08 2012 -0800"
      },
      "committer": {
        "name": "David Woodhouse",
        "email": "David.Woodhouse@intel.com",
        "time": "Tue Mar 27 00:21:58 2012 +0100"
      },
      "message": "jffs2: Remove unnecessary OOM messages\n\nPer call site OOM messages are unnecessary.\nk.alloc and v.alloc failures use dump_stack().\n\nSigned-off-by: Joe Perches \u003cjoe@perches.com\u003e\nSigned-off-by: Artem Bityutskiy \u003cartem.bityutskiy@linux.intel.com\u003e\nSigned-off-by: David Woodhouse \u003cDavid.Woodhouse@intel.com\u003e\n"
    },
    {
      "commit": "3e3417402b3bcaf0faf7995d426b848d7aa17c6e",
      "tree": "23d4a75d26e463222d7e69ff73f59ad12fd465b5",
      "parents": [
        "3c3c10bba1e4ccb75b41442e45c1a072f6cded19"
      ],
      "author": {
        "name": "Masanari Iida",
        "email": "standby24x7@gmail.com",
        "time": "Sat Jan 28 00:17:28 2012 +0900"
      },
      "committer": {
        "name": "David Woodhouse",
        "email": "David.Woodhouse@intel.com",
        "time": "Tue Mar 27 00:20:11 2012 +0100"
      },
      "message": "jffs2: fix typo in scan.c\n\nCorrect spelling \"scaning\" to scanning\" in\nfs/jffs2/scan.c\n\nSigned-off-by: Masanari Iida \u003cstandby24x7@gmail.com\u003e\nSigned-off-by: Artem Bityutskiy \u003cartem.bityutskiy@linux.intel.com\u003e\nSigned-off-by: David Woodhouse \u003cDavid.Woodhouse@intel.com\u003e\n"
    },
    {
      "commit": "a6c22850d20273896e7c8ee996730ccf2ba60a22",
      "tree": "2846c9b055f0b48173374cd52aa2c67979a1c6b8",
      "parents": [
        "c382fb43df3421b6bfb052561d1e8652ee7e82eb"
      ],
      "author": {
        "name": "Brian Norris",
        "email": "computersforpeace@gmail.com",
        "time": "Thu Feb 02 16:21:09 2012 -0800"
      },
      "committer": {
        "name": "David Woodhouse",
        "email": "David.Woodhouse@intel.com",
        "time": "Tue Mar 27 00:19:38 2012 +0100"
      },
      "message": "jffs2: update to new MTD interface\n\nThere were a few instances of the old MTD interface remaining for JFFS2. We\nfix one error that shows up (only when CONFIG_JFFS2_FS_WRITEBUFFER is not\ndefined) like this:\n\n  fs/jffs2/read.c: In function \u0027jffs2_read_dnode\u0027:\n  fs/jffs2/read.c:36:8: error: \u0027struct mtd_info\u0027 has no member named \u0027read\u0027\n  fs/jffs2/read.c:112:8: error: \u0027struct mtd_info\u0027 has no member named \u0027read\u0027\n  ...\n\nWe also simply remove two macros that are not in use, were not updated to\nthe new MTD interface, and don\u0027t even utilize the old interface properly.\n(That means they weren\u0027t used since commit 8593fbc6, year 2006; almost 6\nyears ago, for those who don\u0027t want to do the math)\n\nReported-by: Randy Dunlap \u003crdunlap@xenotime.net\u003e\nSigned-off-by: Brian Norris \u003ccomputersforpeace@gmail.com\u003e\nAcked-by: Randy Dunlap \u003crdunlap@xenotime.net\u003e\nSigned-off-by: Artem Bityutskiy \u003cartem.bityutskiy@linux.intel.com\u003e\nSigned-off-by: David Woodhouse \u003cDavid.Woodhouse@intel.com\u003e\n"
    },
    {
      "commit": "f02654504dd24348ed28bc965527de99abaa4485",
      "tree": "dbaa450069cb29bd175a13dbad730e0a4ac077af",
      "parents": [
        "570469f3bde7f71cc1ece07a18d54a05b6a8775d"
      ],
      "author": {
        "name": "Artem Bityutskiy",
        "email": "artem.bityutskiy@linux.intel.com",
        "time": "Mon Jan 30 15:08:26 2012 +0200"
      },
      "committer": {
        "name": "David Woodhouse",
        "email": "David.Woodhouse@intel.com",
        "time": "Tue Mar 27 00:19:21 2012 +0100"
      },
      "message": "jffs2: remove direct mtd-\u003epoint reference\n\nCommit 10934478e44d9a5a7b16dadd89094fb608cf101e did not remove now useless\n\"if (mtd-\u003epoint)\" check mistakingly - let\u0027s kill it now.\n\nSigned-off-by: Artem Bityutskiy \u003cartem.bityutskiy@linux.intel.com\u003e\nSigned-off-by: David Woodhouse \u003cDavid.Woodhouse@intel.com\u003e\n"
    },
    {
      "commit": "e2a0883e4071237d09b604a342c28b96b44a04b3",
      "tree": "aa56f4d376b5eb1c32358c19c2669c2a94e0e1fd",
      "parents": [
        "3a990a52f9f25f45469e272017a31e7a3fda60ed",
        "07c0c5d8b8c122b2f2df9ee574ac3083daefc981"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 21 13:36:41 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 21 13:36:41 2012 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs\n\nPull vfs pile 1 from Al Viro:\n \"This is _not_ all; in particular, Miklos\u0027 and Jan\u0027s stuff is not there\n  yet.\"\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs: (64 commits)\n  ext4: initialization of ext4_li_mtx needs to be done earlier\n  debugfs-related mode_t whack-a-mole\n  hfsplus: add an ioctl to bless files\n  hfsplus: change finder_info to u32\n  hfsplus: initialise userflags\n  qnx4: new helper - try_extent()\n  qnx4: get rid of qnx4_bread/qnx4_getblk\n  take removal of PF_FORKNOEXEC to flush_old_exec()\n  trim includes in inode.c\n  um: uml_dup_mmap() relies on -\u003emmap_sem being held, but activate_mm() doesn\u0027t hold it\n  um: embed -\u003estub_pages[] into mmu_context\n  gadgetfs: list_for_each_safe() misuse\n  ocfs2: fix leaks on failure exits in module_init\n  ecryptfs: make register_filesystem() the last potential failure exit\n  ntfs: forgets to unregister sysctls on register_filesystem() failure\n  logfs: missing cleanup on register_filesystem() failure\n  jfs: mising cleanup on register_filesystem() failure\n  make configfs_pin_fs() return root dentry on success\n  configfs: configfs_create_dir() has parent dentry in dentry-\u003ed_parent\n  configfs: sanitize configfs_create()\n  ...\n"
    },
    {
      "commit": "69a7aebcf019ab3ff5764525ad6858fbe23bb86d",
      "tree": "7211df5704b743a7667159748c670a9744164482",
      "parents": [
        "d464c92b5234227c1698862a1906827e2e398ae0",
        "f1f996b66cc3908a8f5ffccc2ff41840e92f3b10"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Mar 20 21:12:50 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Mar 20 21:12:50 2012 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial\n\nPull trivial tree from Jiri Kosina:\n \"It\u0027s indeed trivial -- mostly documentation updates and a bunch of\n  typo fixes from Masanari.\n\n  There are also several linux/version.h include removals from Jesper.\"\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial: (101 commits)\n  kcore: fix spelling in read_kcore() comment\n  constify struct pci_dev * in obvious cases\n  Revert \"char: Fix typo in viotape.c\"\n  init: fix wording error in mm_init comment\n  usb: gadget: Kconfig: fix typo for \u0027different\u0027\n  Revert \"power, max8998: Include linux/module.h just once in drivers/power/max8998_charger.c\"\n  writeback: fix fn name in writeback_inodes_sb_nr_if_idle() comment header\n  writeback: fix typo in the writeback_control comment\n  Documentation: Fix multiple typo in Documentation\n  tpm_tis: fix tis_lock with respect to RCU\n  Revert \"media: Fix typo in mixer_drv.c and hdmi_drv.c\"\n  Doc: Update numastat.txt\n  qla4xxx: Add missing spaces to error messages\n  compiler.h: Fix typo\n  security: struct security_operations kerneldoc fix\n  Documentation: broken URL in libata.tmpl\n  Documentation: broken URL in filesystems.tmpl\n  mtd: simplify return logic in do_map_probe()\n  mm: fix comment typo of truncate_inode_pages_range\n  power: bq27x00: Fix typos in comment\n  ...\n"
    },
    {
      "commit": "48fde701aff662559b38d9a609574068f22d00fe",
      "tree": "aa6b203dc671b51d58575b65eb08310ff8309b60",
      "parents": [
        "6b4231e2f92adbcf96fb2a3fa751d7ca0a61b21f"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sun Jan 08 22:15:13 2012 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Mar 20 21:29:35 2012 -0400"
      },
      "message": "switch open-coded instances of d_make_root() to new helper\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "42ea19790e82498e14a24e97b7cf2a83d89203b6",
      "tree": "c0ee0b10a632d644b527715da9a23f18b69ad0df",
      "parents": [
        "d4b48ba395a6289fbd72c1b883cc52ee680d967a"
      ],
      "author": {
        "name": "Masanari Iida",
        "email": "standby24x7@gmail.com",
        "time": "Wed Feb 08 20:39:39 2012 +0900"
      },
      "committer": {
        "name": "Jiri Kosina",
        "email": "jkosina@suse.cz",
        "time": "Thu Feb 09 23:09:37 2012 +0100"
      },
      "message": "jffs2: Fix typo in compr.c\n\nCorrect spelling \"modul\" to \"module\" in\nfs/hffs2/compr.c\n\nSigned-off-by: Masanari Iida \u003cstandby24x7@gmail.com\u003e\nSigned-off-by: Jiri Kosina \u003cjkosina@suse.cz\u003e\n"
    },
    {
      "commit": "bce41d601e58af12cee1398fe836e6b9a8fb5396",
      "tree": "9d3b7d8fc67d3629c015bf5fc15c10cb223a81ad",
      "parents": [
        "9398d1ce09b9009996f7d2468e1d3c785fa6feda"
      ],
      "author": {
        "name": "Artem Bityutskiy",
        "email": "artem.bityutskiy@linux.intel.com",
        "time": "Tue Jan 10 15:32:29 2012 +0200"
      },
      "committer": {
        "name": "David Woodhouse",
        "email": "David.Woodhouse@intel.com",
        "time": "Wed Jan 11 09:53:51 2012 +0000"
      },
      "message": "jffs2: do not initialize variable unnecessarily\n\nRemove unnecessary initializer for a local variable.\n\nSigned-off-by: Artem Bityutskiy \u003cartem.bityutskiy@linux.intel.com\u003e\nSigned-off-by: David Woodhouse \u003cDavid.Woodhouse@intel.com\u003e\n"
    },
    {
      "commit": "7b3480f8b701170c046e1ed362946f5f0d005e13",
      "tree": "bd25e05b4f35699689b485480dddf24f840f80af",
      "parents": [
        "1c8106528aa6bf16b3f457de80df1cf7462a49a4",
        "b60ef99c1164a8ad346cf41f9e71acfffb6d25a6"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 10 13:45:22 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 10 13:45:22 2012 -0800"
      },
      "message": "Merge tag \u0027for-linus-3.3\u0027 of git://git.infradead.org/mtd-2.6\n\nMTD pull for 3.3\n\n* tag \u0027for-linus-3.3\u0027 of git://git.infradead.org/mtd-2.6: (113 commits)\n  mtd: Fix dependency for MTD_DOC200x\n  mtd: do not use mtd-\u003eblock_markbad directly\n  logfs: do not use \u0027mtd-\u003eblock_isbad\u0027 directly\n  mtd: introduce mtd_can_have_bb helper\n  mtd: do not use mtd-\u003esuspend and mtd-\u003eresume directly\n  mtd: do not use mtd-\u003elock, unlock and is_locked directly\n  mtd: do not use mtd-\u003esync directly\n  mtd: harmonize mtd_writev usage\n  mtd: do not use mtd-\u003elock_user_prot_reg directly\n  mtd: mtd-\u003ewrite_user_prot_reg directly\n  mtd: do not use mtd-\u003eread_*_prot_reg directly\n  mtd: do not use mtd-\u003eget_*_prot_info directly\n  mtd: do not use mtd-\u003eread_oob directly\n  mtd: mtdoops: do not use mtd-\u003epanic_write directly\n  romfs: do not use mtd-\u003eget_unmapped_area directly\n  mtd: do not use mtd-\u003eget_unmapped_area directly\n  mtd: do use mtd-\u003epoint directly\n  mtd: introduce mtd_has_oob helper\n  mtd: mtdcore: export symbols cleanup\n  mtd: clean-up the default_mtd_writev function\n  ...\n\nFix up trivial edit/remove conflict in drivers/staging/spectra/lld_mtd.c\n"
    },
    {
      "commit": "800ffd3496987e91f599a135060ef49731e045ac",
      "tree": "a62c4985597e6ce01d8f8ab07f67212357e2a846",
      "parents": [
        "d58b27ed58a30faf376e40d19945f34301944b8d"
      ],
      "author": {
        "name": "Artem Bityutskiy",
        "email": "artem.bityutskiy@linux.intel.com",
        "time": "Mon Jan 02 13:59:12 2012 +0200"
      },
      "committer": {
        "name": "David Woodhouse",
        "email": "David.Woodhouse@intel.com",
        "time": "Mon Jan 09 18:26:26 2012 +0000"
      },
      "message": "mtd: do not use mtd-\u003eblock_markbad directly\n\nInstead, use the new \u0027mtd_can_have_bb()\u0027, or just rely on \u0027mtd_block_markbad()\u0027\nreturn code, which will be -EOPNOTSUPP if bad blocks are not supported.\n\nSigned-off-by: Artem Bityutskiy \u003cartem.bityutskiy@linux.intel.com\u003e\nSigned-off-by: David Woodhouse \u003cDavid.Woodhouse@intel.com\u003e\n"
    },
    {
      "commit": "327cf2922b4edf0439b219469722d2a502e37349",
      "tree": "6fe4c70d0b4693950e7e20286a3b66bab82ac821",
      "parents": [
        "1dbebd32562b3c2caeca35960e5cb00bfcc12900"
      ],
      "author": {
        "name": "Artem Bityutskiy",
        "email": "artem.bityutskiy@linux.intel.com",
        "time": "Fri Dec 30 16:35:35 2011 +0200"
      },
      "committer": {
        "name": "David Woodhouse",
        "email": "David.Woodhouse@intel.com",
        "time": "Mon Jan 09 18:26:21 2012 +0000"
      },
      "message": "mtd: do not use mtd-\u003esync directly\n\nThis patch teaches \u0027mtd_sync()\u0027 to do nothing when the MTD driver does\nnot have the \u0027-\u003esync()\u0027 method, which allows us to remove all direct\n\u0027mtd-\u003esync\u0027 accesses.\n\nSigned-off-by: Artem Bityutskiy \u003cartem.bityutskiy@linux.intel.com\u003e\nSigned-off-by: David Woodhouse \u003cDavid.Woodhouse@intel.com\u003e\n"
    },
    {
      "commit": "1dbebd32562b3c2caeca35960e5cb00bfcc12900",
      "tree": "773776d87730828adb55f3f7fe8221eabb528d8f",
      "parents": [
        "e2936b2af5562c8c66060e2bc2ae2e209d0acd3d"
      ],
      "author": {
        "name": "Artem Bityutskiy",
        "email": "artem.bityutskiy@linux.intel.com",
        "time": "Fri Dec 30 16:23:41 2011 +0200"
      },
      "committer": {
        "name": "David Woodhouse",
        "email": "David.Woodhouse@intel.com",
        "time": "Mon Jan 09 18:26:19 2012 +0000"
      },
      "message": "mtd: harmonize mtd_writev usage\n\nThis patch makes the \u0027mtd_writev()\u0027 function more usable and logical. We first\nteach it to fall-back to the \u0027default_mtd_writev()\u0027 function if the MTD driver\ndoes not define its own \u0027-\u003ewritev()\u0027 method. Then we make block2mtd and JFFS2\njust \u0027mtd_writev()\u0027 instead of \u0027default_mtd_writev()\u0027 function. This means we\ncan now stop exporting \u0027default_mtd_writev()\u0027 and instead, export\n\u0027mtd_writev()\u0027. This is much cleaner and more logical, as well as allows us to\nget read of another direct \u0027mtd-\u003ewritev\u0027 access in JFFS2.\n\nSigned-off-by: Artem Bityutskiy \u003cartem.bityutskiy@linux.intel.com\u003e\nSigned-off-by: David Woodhouse \u003cDavid.Woodhouse@intel.com\u003e\n"
    },
    {
      "commit": "10934478e44d9a5a7b16dadd89094fb608cf101e",
      "tree": "603d4f5165fc032a28e5efaa872da685eea7bf32",
      "parents": [
        "fc002e3c320602d0e206f607aca0460540d7637a"
      ],
      "author": {
        "name": "Artem Bityutskiy",
        "email": "artem.bityutskiy@linux.intel.com",
        "time": "Wed Dec 28 15:55:42 2011 +0200"
      },
      "committer": {
        "name": "David Woodhouse",
        "email": "David.Woodhouse@intel.com",
        "time": "Mon Jan 09 18:26:09 2012 +0000"
      },
      "message": "mtd: do use mtd-\u003epoint directly\n\nRemove direct usage of the \"mtd-\u003epoint\" function pointer. Instead,\ntest the mtd_point() return code for \u0027-EOPNOTSUPP\u0027.\n\nSigned-off-by: Artem Bityutskiy \u003cartem.bityutskiy@linux.intel.com\u003e\nSigned-off-by: David Woodhouse \u003cDavid.Woodhouse@intel.com\u003e\n"
    },
    {
      "commit": "4ccf2f1349e681401b5fae73efc87b8d2d70ce0e",
      "tree": "b62d5d22d67c80918c4c7a40676062e54ae7e236",
      "parents": [
        "bac972777403f810d83062dd0d0303746e466ece"
      ],
      "author": {
        "name": "Artem Bityutskiy",
        "email": "artem.bityutskiy@linux.intel.com",
        "time": "Fri Dec 30 15:48:55 2011 +0200"
      },
      "committer": {
        "name": "David Woodhouse",
        "email": "David.Woodhouse@intel.com",
        "time": "Mon Jan 09 18:26:04 2012 +0000"
      },
      "message": "jffs: remove custom mtd_fake_writev function\n\nInstead, use \u0027default_mtd_writev()\u0027 function which MTD provides.\n\nSigned-off-by: Artem Bityutskiy \u003cartem.bityutskiy@linux.intel.com\u003e\nSigned-off-by: David Woodhouse \u003cDavid.Woodhouse@intel.com\u003e\n"
    },
    {
      "commit": "5942ddbc500d1c9b75e571b656be97f65b26adfe",
      "tree": "7e96cfb905fb67bc40e1da30eb8454d674353a36",
      "parents": [
        "7086c19d07429d697057587caf1e5e0345442d16"
      ],
      "author": {
        "name": "Artem Bityutskiy",
        "email": "artem.bityutskiy@linux.intel.com",
        "time": "Fri Dec 23 19:37:38 2011 +0200"
      },
      "committer": {
        "name": "David Woodhouse",
        "email": "David.Woodhouse@intel.com",
        "time": "Mon Jan 09 18:25:48 2012 +0000"
      },
      "message": "mtd: introduce mtd_block_markbad interface\n\nSigned-off-by: Artem Bityutskiy \u003cartem.bityutskiy@linux.intel.com\u003e\nSigned-off-by: David Woodhouse \u003cDavid.Woodhouse@intel.com\u003e\n"
    },
    {
      "commit": "7086c19d07429d697057587caf1e5e0345442d16",
      "tree": "3a892182dba0847de32ef79b1fe1d46d8b1b5de8",
      "parents": [
        "ead995f8d4da1e2f1ef40b0e5f4133fee38a3d3d"
      ],
      "author": {
        "name": "Artem Bityutskiy",
        "email": "artem.bityutskiy@linux.intel.com",
        "time": "Fri Dec 23 19:35:30 2011 +0200"
      },
      "committer": {
        "name": "David Woodhouse",
        "email": "David.Woodhouse@intel.com",
        "time": "Mon Jan 09 18:25:47 2012 +0000"
      },
      "message": "mtd: introduce mtd_block_isbad interface\n\nSigned-off-by: Artem Bityutskiy \u003cartem.bityutskiy@linux.intel.com\u003e\nSigned-off-by: David Woodhouse \u003cDavid.Woodhouse@intel.com\u003e\n"
    },
    {
      "commit": "85f2f2a809d658c15b574df02ede92090f45a1f2",
      "tree": "7d4ae7ca646db856aca7f2509c404b9d938fee0b",
      "parents": [
        "b0a31f7b2a668f00a8d0546dfeed65fac871b2da"
      ],
      "author": {
        "name": "Artem Bityutskiy",
        "email": "artem.bityutskiy@linux.intel.com",
        "time": "Fri Dec 23 19:03:12 2011 +0200"
      },
      "committer": {
        "name": "David Woodhouse",
        "email": "David.Woodhouse@intel.com",
        "time": "Mon Jan 09 18:25:35 2012 +0000"
      },
      "message": "mtd: introduce mtd_sync interface\n\nSigned-off-by: Artem Bityutskiy \u003cartem.bityutskiy@linux.intel.com\u003e\nSigned-off-by: David Woodhouse \u003cDavid.Woodhouse@intel.com\u003e\n"
    },
    {
      "commit": "b0a31f7b2a668f00a8d0546dfeed65fac871b2da",
      "tree": "7379a66d9bfd6ae067f090f1bebac5d47332f5cb",
      "parents": [
        "4403dbfb4541d34e5db33db709094d57d09f7467"
      ],
      "author": {
        "name": "Artem Bityutskiy",
        "email": "artem.bityutskiy@linux.intel.com",
        "time": "Fri Dec 23 18:59:12 2011 +0200"
      },
      "committer": {
        "name": "David Woodhouse",
        "email": "David.Woodhouse@intel.com",
        "time": "Mon Jan 09 18:25:34 2012 +0000"
      },
      "message": "mtd: introduce mtd_writev interface\n\nSigned-off-by: Artem Bityutskiy \u003cartem.bityutskiy@linux.intel.com\u003e\nSigned-off-by: David Woodhouse \u003cDavid.Woodhouse@intel.com\u003e\n"
    },
    {
      "commit": "a2cc5ba075f9bc837d0b4d4ec7328dcefc11859d",
      "tree": "a5f2c88ddd21028247bfaf02ca336dd501ed3a5f",
      "parents": [
        "fd2819bbc92fc98bed5d612e4acbe16b6326f6bf"
      ],
      "author": {
        "name": "Artem Bityutskiy",
        "email": "artem.bityutskiy@linux.intel.com",
        "time": "Fri Dec 23 18:29:55 2011 +0200"
      },
      "committer": {
        "name": "David Woodhouse",
        "email": "David.Woodhouse@intel.com",
        "time": "Mon Jan 09 18:25:24 2012 +0000"
      },
      "message": "mtd: introduce mtd_write_oob interface\n\nSigned-off-by: Artem Bityutskiy \u003cartem.bityutskiy@linux.intel.com\u003e\nSigned-off-by: David Woodhouse \u003cDavid.Woodhouse@intel.com\u003e\n"
    },
    {
      "commit": "fd2819bbc92fc98bed5d612e4acbe16b6326f6bf",
      "tree": "114f2a130cb854c74707eb805854fe048f65ac14",
      "parents": [
        "7ae79d7ff1769a3e9c47076b46e4eaa11204a2ee"
      ],
      "author": {
        "name": "Artem Bityutskiy",
        "email": "artem.bityutskiy@linux.intel.com",
        "time": "Fri Dec 23 18:27:05 2011 +0200"
      },
      "committer": {
        "name": "David Woodhouse",
        "email": "David.Woodhouse@intel.com",
        "time": "Mon Jan 09 18:25:23 2012 +0000"
      },
      "message": "mtd: introduce mtd_read_oob interface\n\nSigned-off-by: Artem Bityutskiy \u003cartem.bityutskiy@linux.intel.com\u003e\nSigned-off-by: David Woodhouse \u003cDavid.Woodhouse@intel.com\u003e\n"
    },
    {
      "commit": "eda95cbf75193808f62948fb0142ba0901d8bee2",
      "tree": "047bcfa05bc118b1d34327b3e62fa1d10d4bcb43",
      "parents": [
        "329ad399a9b3adf52c90637b21ca029fcf7f8795"
      ],
      "author": {
        "name": "Artem Bityutskiy",
        "email": "artem.bityutskiy@linux.intel.com",
        "time": "Fri Dec 23 17:35:41 2011 +0200"
      },
      "committer": {
        "name": "David Woodhouse",
        "email": "David.Woodhouse@intel.com",
        "time": "Mon Jan 09 18:25:20 2012 +0000"
      },
      "message": "mtd: introduce mtd_write interface\n\nSigned-off-by: Artem Bityutskiy \u003cartem.bityutskiy@linux.intel.com\u003e\nSigned-off-by: David Woodhouse \u003cDavid.Woodhouse@intel.com\u003e\n"
    },
    {
      "commit": "329ad399a9b3adf52c90637b21ca029fcf7f8795",
      "tree": "7aa7bb2609c25de7859c3a666f3ea90934609592",
      "parents": [
        "04c601bfa4cb29c968dcb66e44c799c9c01d8675"
      ],
      "author": {
        "name": "Artem Bityutskiy",
        "email": "artem.bityutskiy@linux.intel.com",
        "time": "Fri Dec 23 17:30:16 2011 +0200"
      },
      "committer": {
        "name": "David Woodhouse",
        "email": "David.Woodhouse@intel.com",
        "time": "Mon Jan 09 18:25:19 2012 +0000"
      },
      "message": "mtd: introduce mtd_read interface\n\nSigned-off-by: Artem Bityutskiy \u003cartem.bityutskiy@linux.intel.com\u003e\nSigned-off-by: David Woodhouse \u003cDavid.Woodhouse@intel.com\u003e\n"
    },
    {
      "commit": "7219778ad9c18cc2c05c7fca0abe026afbc19dfb",
      "tree": "509a11bf7f7ebeef9a4236901adf53e507d1455b",
      "parents": [
        "d35ea200c0fb5315f16fb2599a4bafd9c1a7b386"
      ],
      "author": {
        "name": "Artem Bityutskiy",
        "email": "artem.bityutskiy@linux.intel.com",
        "time": "Fri Dec 23 17:05:52 2011 +0200"
      },
      "committer": {
        "name": "David Woodhouse",
        "email": "David.Woodhouse@intel.com",
        "time": "Mon Jan 09 18:25:17 2012 +0000"
      },
      "message": "mtd: introduce mtd_unpoint interface\n\nSigned-off-by: Artem Bityutskiy \u003cartem.bityutskiy@linux.intel.com\u003e\nSigned-off-by: David Woodhouse \u003cDavid.Woodhouse@intel.com\u003e\n"
    },
    {
      "commit": "d35ea200c0fb5315f16fb2599a4bafd9c1a7b386",
      "tree": "bca893ecf2cada20a1a3a84f64759c2e75838c5b",
      "parents": [
        "7e1f0dc0551b99acb5e8fa161a7ac401994d57d8"
      ],
      "author": {
        "name": "Artem Bityutskiy",
        "email": "artem.bityutskiy@linux.intel.com",
        "time": "Fri Dec 23 17:00:37 2011 +0200"
      },
      "committer": {
        "name": "David Woodhouse",
        "email": "David.Woodhouse@intel.com",
        "time": "Mon Jan 09 18:25:15 2012 +0000"
      },
      "message": "mtd: introduce mtd_point interface\n\nSigned-off-by: Artem Bityutskiy \u003cartem.bityutskiy@linux.intel.com\u003e\nSigned-off-by: David Woodhouse \u003cDavid.Woodhouse@intel.com\u003e\n"
    },
    {
      "commit": "7e1f0dc0551b99acb5e8fa161a7ac401994d57d8",
      "tree": "19108039bb082d42fbda40d4bd3ddb11a1185cd1",
      "parents": [
        "969e57adc2589a0a0ae5edbbe7b92062565ce70b"
      ],
      "author": {
        "name": "Artem Bityutskiy",
        "email": "artem.bityutskiy@linux.intel.com",
        "time": "Fri Dec 23 15:25:39 2011 +0200"
      },
      "committer": {
        "name": "David Woodhouse",
        "email": "David.Woodhouse@intel.com",
        "time": "Mon Jan 09 18:25:11 2012 +0000"
      },
      "message": "mtd: introduce mtd_erase interface\n\nThis patch is part of a patch-set which changes the MTD interface\nfrom \u0027mtd-\u003efunc()\u0027 form to \u0027mtd_func()\u0027 form. We need this because\nwe want to add common code to to all drivers in the mtd core level,\nwhich is impossible with the current interface when MTD clients\ncall driver functions like \u0027read()\u0027 or \u0027write()\u0027 directly.\n\nAt this point we just introduce a new inline wrapper function, but\nlater some of them are expected to gain more code. E.g., the input\nparameters check should be moved to the wrappers rather than be\nduplicated at many drivers.\n\nThis particular patch introduced the \u0027mtd_erase()\u0027 interface. The\nfollowing patches add all the other interfaces one by one.\n\nSigned-off-by: Artem Bityutskiy \u003cartem.bityutskiy@linux.intel.com\u003e\nSigned-off-by: David Woodhouse \u003cDavid.Woodhouse@intel.com\u003e\n"
    },
    {
      "commit": "53466710202900ce49e471f480cac11275e1d0c4",
      "tree": "c9a4d9458dff37cd7e15f2181c8bc1d5edcf3f91",
      "parents": [
        "fa3ae714c763f3e9d8fd876879338d2b674b8db2"
      ],
      "author": {
        "name": "Eric Sandeen",
        "email": "sandeen@sandeen.net",
        "time": "Tue Dec 06 17:06:06 2011 -0600"
      },
      "committer": {
        "name": "David Woodhouse",
        "email": "David.Woodhouse@intel.com",
        "time": "Mon Jan 09 18:18:03 2012 +0000"
      },
      "message": "jffs2: fix up error handling for insert_inode_locked\n\nafter 250df6ed274d767da844a5d9f05720b804240197\n(fs: protect inode-\u003ei_state with inode-\u003ei_lock), insert_inode_locked()\nno longer returns the inode with I_NEW set on failure.  However,\nthe error handler still calls unlock_new_inode() on failure,\nwhich does a WARN_ON if I_NEW is not set, so any failure spews\na lot of warnings.\n\nWe can just drop the unlock_new_inode() if insert_inode_locked()\nfails here.\n\nSigned-off-by: Eric Sandeen \u003csandeen@redhat.com\u003e\nSigned-off-by: Artem Bityutskiy \u003cArtem.Bityutskiy@linux.intel.com\u003e\nSigned-off-by: David Woodhouse \u003cDavid.Woodhouse@intel.com\u003e\n"
    },
    {
      "commit": "34c80b1d93e6e20ca9dea0baf583a5b5510d92d4",
      "tree": "7dcbf0a4e09464247e6992c8f44fcc872867bd3a",
      "parents": [
        "a6322de67b58a00e3a783ad9c87c2a11b2d67b47"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Thu Dec 08 21:32:45 2011 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Fri Jan 06 23:19:54 2012 -0500"
      },
      "message": "vfs: switch -\u003eshow_options() to struct dentry *\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "1a67aafb5f72a436ca044293309fa7e6351d6a35",
      "tree": "d9e58600148de9d41b478cf815773b746647d15b",
      "parents": [
        "4acdaf27ebe2034c342f3be57ef49aed1ad885ef"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Jul 26 01:52:52 2011 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Jan 03 22:54:54 2012 -0500"
      },
      "message": "switch -\u003emknod() to umode_t\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "4acdaf27ebe2034c342f3be57ef49aed1ad885ef",
      "tree": "d89a876ee19cd88609a587f8aa6c464a52ee6d98",
      "parents": [
        "18bb1db3e7607e4a997d50991a6f9fa5b0f8722c"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Jul 26 01:42:34 2011 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Jan 03 22:54:53 2012 -0500"
      },
      "message": "switch -\u003ecreate() to umode_t\n\nvfs_create() ignores everything outside of 16bit subset of its\nmode argument; switching it to umode_t is obviously equivalent\nand it\u0027s the only caller of the method\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "18bb1db3e7607e4a997d50991a6f9fa5b0f8722c",
      "tree": "4ee4e584bc9a67f3ec14ce159d2d7d4a27e68d4a",
      "parents": [
        "8208a22bb8bd3c52ef634b4ff194f14892ab1713"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Jul 26 01:41:39 2011 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Jan 03 22:54:53 2012 -0500"
      },
      "message": "switch vfs_mkdir() and -\u003emkdir() to umode_t\n\nvfs_mkdir() gets int, but immediately drops everything that might not\nfit into umode_t and that\u0027s the only caller of -\u003emkdir()...\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "6b520e0565422966cdf1c3759bd73df77b0f248c",
      "tree": "f63a26afa7342eb59b125271b16e30a219b59094",
      "parents": [
        "2a79f17e4a641a2f463cb512cb0ec349844a147b"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Dec 12 15:51:45 2011 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Jan 03 22:52:40 2012 -0500"
      },
      "message": "vfs: fix the stupidity with i_dentry in inode destructors\n\nSeeing that just about every destructor got that INIT_LIST_HEAD() copied into\nit, there is no point whatsoever keeping this INIT_LIST_HEAD in inode_init_once();\nthe cost of taking it into inode_init_always() will be negligible for pipes\nand sockets and negative for everything else.  Not to mention the removal of\nboilerplate code from -\u003edestroy_inode() instances...\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "e0d65113a70f1dc514e625cc4e7a7485a4bf72df",
      "tree": "7320a130dc304623f5cf4b5dd8f67fb1776225ca",
      "parents": [
        "cf5e15fbd72c13977720aa15b7b7e00e1d8fd8f2",
        "48e546b7f281f251893baa40769581fd15f085fb"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Nov 07 09:11:16 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Nov 07 09:11:16 2011 -0800"
      },
      "message": "Merge git://git.infradead.org/mtd-2.6\n\n* git://git.infradead.org/mtd-2.6: (226 commits)\n  mtd: tests: annotate as DANGEROUS in Kconfig\n  mtd: tests: don\u0027t use mtd0 as a default\n  mtd: clean up usage of MTD_DOCPROBE_ADDRESS\n  jffs2: add compr\u003dlzo and compr\u003dzlib options\n  jffs2: implement mount option parsing and compression overriding\n  mtd: nand: initialize ops.mode\n  mtd: provide an alias for the redboot module name\n  mtd: m25p80: don\u0027t probe device which has status of \u0027disabled\u0027\n  mtd: nand_h1900 never worked\n  mtd: Add DiskOnChip G3 support\n  mtd: m25p80: add EON flash EN25Q32B into spi flash id table\n  mtd: mark block device queue as non-rotational\n  mtd: r852: make r852_pm_ops static\n  mtd: m25p80: add support for at25df321a spi data flash\n  mtd: mxc_nand: preset_v1_v2: unlock all NAND flash blocks\n  mtd: nand: switch `check_pattern()\u0027 to standard `memcmp()\u0027\n  mtd: nand: invalidate cache on unaligned reads\n  mtd: nand: do not scan bad blocks with NAND_BBT_NO_OOB set\n  mtd: nand: wait to set BBT version\n  mtd: nand: scrub BBT on ECC errors\n  ...\n\nFix up trivial conflicts:\n - arch/arm/mach-at91/board-usb-a9260.c\n\tMerged into board-usb-a926x.c\n - drivers/mtd/maps/lantiq-flash.c\n\tadd_mtd_partitions -\u003e mtd_device_register vs changed to use\n\tmtd_device_parse_register.\n"
    },
    {
      "commit": "bfe8684869601dacfcb2cd69ef8cfd9045f62170",
      "tree": "4e213aaa766b26f43f0f9ec7998a7745239d9377",
      "parents": [
        "6d6b77f163c7eabedbba00ed2abb7d4a570bff76"
      ],
      "author": {
        "name": "Miklos Szeredi",
        "email": "mszeredi@suse.cz",
        "time": "Fri Oct 28 14:13:29 2011 +0200"
      },
      "committer": {
        "name": "Christoph Hellwig",
        "email": "hch@serles.lst.de",
        "time": "Wed Nov 02 12:53:43 2011 +0100"
      },
      "message": "filesystems: add set_nlink()\n\nReplace remaining direct i_nlink updates with a new set_nlink()\nupdater function.\n\nSigned-off-by: Miklos Szeredi \u003cmszeredi@suse.cz\u003e\nTested-by: Toshiyuki Okajima \u003ctoshi.okajima@jp.fujitsu.com\u003e\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\n"
    },
    {
      "commit": "123005f3ccfa58637ad6e1a8b9f7f3f861ca65f4",
      "tree": "a9bd8a539d9c950f47514a5f94f65c25c09e3b6c",
      "parents": [
        "92abc475d8de1c29373f6d96ed63d8ecaa199d25"
      ],
      "author": {
        "name": "Andres Salomon",
        "email": "dilinger@queued.net",
        "time": "Sun Oct 16 18:15:23 2011 -0700"
      },
      "committer": {
        "name": "Artem Bityutskiy",
        "email": "artem.bityutskiy@intel.com",
        "time": "Wed Oct 19 17:22:21 2011 +0300"
      },
      "message": "jffs2: add compr\u003dlzo and compr\u003dzlib options\n\n..to allow forcing of either compression scheme.  This will override\ncompiled-in defaults.  jffs2_compress is reworked a bit, as the lzo/zlib\noverride shares lots of code w/ the PRIORITY mode.\n\nv2: update show_options accordingly.\n\nSigned-off-by: Andres Salomon \u003cdilinger@queued.net\u003e\nSigned-off-by: Artem Bityutskiy \u003cartem.bityutskiy@intel.com\u003e\n"
    },
    {
      "commit": "92abc475d8de1c29373f6d96ed63d8ecaa199d25",
      "tree": "44f4d9d04fd04ccee9877e28d8fff5e472bba7d2",
      "parents": [
        "23b1a99b87f3fc9e4242b98b2af3c9bed210f048"
      ],
      "author": {
        "name": "Andres Salomon",
        "email": "dilinger@queued.net",
        "time": "Sun Oct 16 18:15:16 2011 -0700"
      },
      "committer": {
        "name": "Artem Bityutskiy",
        "email": "artem.bityutskiy@intel.com",
        "time": "Wed Oct 19 17:22:20 2011 +0300"
      },
      "message": "jffs2: implement mount option parsing and compression overriding\n\nCurrently jffs2 has compile-time constants (and .config options)\ncontrolling whether or not the various compression/decompression\ndrivers are built in and enabled.  This is fine for embedded\nsystems, but it clashes with distribution kernels.  Distro kernels\ntend to turn on everything; this causes OpenFirmware to fall\nover, as it understands ZLIB-compressed inodes.  Booting a kernel\nthat has LZO compression enabled, writing to the boot partition,\nand then rebooting causes OFW to fail to read the kernel from\nthe filesystem.  This is because LZO compression has priority\nwhen writing new data to jffs2, if LZO is enabled.\n\nThis patch adds mount option parsing, and a single supported\noption (\"compr\u003dnone\").  This adds the flexibility of being\nable to specify which compressor overrides on a per-superblock\nbasis.  For now, we can simply disable compression;\nadditional flexibility coming soon.\n\nv2: kill some printks, and implement show_options as suggested\nby Artem Bityutskiy.\n\nSigned-off-by: Andres Salomon \u003cdilinger@queued.net\u003e\nSigned-off-by: Artem Bityutskiy \u003cartem.bityutskiy@intel.com\u003e\n"
    },
    {
      "commit": "0612b9ddc2eeda014dd805c87c752b342d8f80f0",
      "tree": "7691ee548ab6da1e7df946a75abd96a814208d8e",
      "parents": [
        "905c6bcdb42616da717a9bd6c0c5870dbd90b09e"
      ],
      "author": {
        "name": "Brian Norris",
        "email": "computersforpeace@gmail.com",
        "time": "Tue Aug 30 18:45:40 2011 -0700"
      },
      "committer": {
        "name": "Artem Bityutskiy",
        "email": "artem.bityutskiy@intel.com",
        "time": "Sun Sep 11 15:28:59 2011 +0300"
      },
      "message": "mtd: rename MTD_OOB_* to MTD_OPS_*\n\nThese modes are not necessarily for OOB only. Particularly, MTD_OOB_RAW\naffected operations on in-band page data as well. To clarify these\noptions and to emphasize that their effect is applied per-operation, we\nchange the primary prefix to MTD_OPS_.\n\nSigned-off-by: Brian Norris \u003ccomputersforpeace@gmail.com\u003e\nSigned-off-by: Artem Bityutskiy \u003cartem.bityutskiy@intel.com\u003e\n"
    },
    {
      "commit": "51b11e3630672b7ce8793ecf13e5759656edf38a",
      "tree": "90b22e023e1120b475adbb6153283e16eaf6f932",
      "parents": [
        "9786f6e68af00d0988ad7f51fe3fd118be1c30ad"
      ],
      "author": {
        "name": "Alexey Khoroshilov",
        "email": "khoroshilov@ispras.ru",
        "time": "Tue Jun 28 00:21:30 2011 +0400"
      },
      "committer": {
        "name": "Artem Bityutskiy",
        "email": "artem.bityutskiy@intel.com",
        "time": "Sun Sep 11 15:02:14 2011 +0300"
      },
      "message": "jffs2: use mutex_is_locked() in __jffs2_flush_wbuf()\n\nUse a helper to test if a mutex is held instead of a hack with\nmutex_trylock().\n\nSigned-off-by: Alexey Khoroshilov \u003ckhoroshilov@ispras.ru\u003e\nSigned-off-by: Artem Bityutskiy \u003cdedekind1@gmail.com\u003e\n"
    },
    {
      "commit": "e8a0e41266e9c207ad8ac158cee9547ef1bc90ac",
      "tree": "be7ccbe744f5a71b6de19ed31e1ce31162d1c51c",
      "parents": [
        "e638275e18a929103bb087acb94d2b67eb0818e0"
      ],
      "author": {
        "name": "Jesper Juhl",
        "email": "jj@chaosbits.net",
        "time": "Mon Jun 13 22:16:44 2011 +0200"
      },
      "committer": {
        "name": "Artem Bityutskiy",
        "email": "artem.bityutskiy@intel.com",
        "time": "Sun Sep 11 15:02:10 2011 +0300"
      },
      "message": "jffs2: Avoid unneeded \u0027if\u0027 before kfree\n\nkfree() deals gracefully with NULL pointers, so it\u0027s pointless to test for\none prior to calling it.\nThis removes such a test from jffs2_scan_medium().\n\nSigned-off-by: Jesper Juhl \u003cjj@chaosbits.net\u003e\nSigned-off-by: Artem Bityutskiy \u003cdedekind1@gmail.com\u003e\n"
    },
    {
      "commit": "5a2f3a02aea164f4f59c0c3497772090a411b462",
      "tree": "d3ebe03d4f97575290087843960baa01de3acd0a",
      "parents": [
        "1d568ab068c021672d6cd7f50f92a3695a921ffb",
        "817b54aa45db03437c6d09a7693fc6926eb8e822"
      ],
      "author": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Tue Aug 09 10:31:03 2011 +1000"
      },
      "committer": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Tue Aug 09 10:31:03 2011 +1000"
      },
      "message": "Merge branch \u0027next-evm\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/zohar/ima-2.6 into next\n\nConflicts:\n\tfs/attr.c\n\nResolve conflict manually.\n\nSigned-off-by: James Morris \u003cjmorris@namei.org\u003e\n"
    },
    {
      "commit": "d6952123b53cc8b334df69bba2cd0063b0d88f68",
      "tree": "b1ccaa7e3d65dbf4af093202044da65bc4deb34e",
      "parents": [
        "d3fb612076eebec6f67257db0c7a9666ac7e5892"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat Jul 23 18:56:36 2011 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Aug 01 02:10:06 2011 -0400"
      },
      "message": "switch posix_acl_equiv_mode() to umode_t *\n\n... so that \u0026inode-\u003ei_mode could be passed to it\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "d3fb612076eebec6f67257db0c7a9666ac7e5892",
      "tree": "5265fca258a74ffa75b845998492abb9446db72c",
      "parents": [
        "782b94cdf577b4df1feb376f372dccc28e66a771"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat Jul 23 18:37:50 2011 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Aug 01 02:09:42 2011 -0400"
      },
      "message": "switch posix_acl_create() to umode_t *\n\nso we can pass \u0026inode-\u003ei_mode to it\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "61effb519cbf0b2973c65070a890fabfcbf84756",
      "tree": "f402715c8c497e368330669d9f5fa09039e435a3",
      "parents": [
        "da404dc0b1fe76b06a8d094e3ef1af9ec8252cec"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sun Jul 24 17:11:33 2011 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Jul 26 13:00:35 2011 -0400"
      },
      "message": "jffs2: S_ISLNK(mode \u0026 S_IFMT) is pointless\n\nit\u0027s S_ISLNK(mode), TYVM...\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "d3ec4844d449cf7af9e749f73ba2052fb7b72fc2",
      "tree": "c515913e85f7e50878c83da2a88bc5a7269d087c",
      "parents": [
        "0003230e8200699860f0b10af524dc47bf8aecad",
        "df2e301fee3c2c2a87592151397ad7699bb14c37"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jul 25 13:56:39 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jul 25 13:56:39 2011 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial: (43 commits)\n  fs: Merge split strings\n  treewide: fix potentially dangerous trailing \u0027;\u0027 in #defined values/expressions\n  uwb: Fix misspelling of neighbourhood in comment\n  net, netfilter: Remove redundant goto in ebt_ulog_packet\n  trivial: don\u0027t touch files that are removed in the staging tree\n  lib/vsprintf: replace link to Draft by final RFC number\n  doc: Kconfig: `to be\u0027 -\u003e `be\u0027\n  doc: Kconfig: Typo: square -\u003e squared\n  doc: Konfig: Documentation/power/{pm \u003d\u003e apm-acpi}.txt\n  drivers/net: static should be at beginning of declaration\n  drivers/media: static should be at beginning of declaration\n  drivers/i2c: static should be at beginning of declaration\n  XTENSA: static should be at beginning of declaration\n  SH: static should be at beginning of declaration\n  MIPS: static should be at beginning of declaration\n  ARM: static should be at beginning of declaration\n  rcu: treewide: Do not use rcu_read_lock_held when calling rcu_dereference_check\n  Update my e-mail address\n  PCIe ASPM: forcedly -\u003e forcibly\n  gma500: push through device driver tree\n  ...\n\nFix up trivial conflicts:\n - arch/arm/mach-ep93xx/dma-m2p.c (deleted)\n - drivers/gpio/gpio-ep93xx.c (renamed and context nearby)\n - drivers/net/r8169.c (just context changes)\n"
    },
    {
      "commit": "4e34e719e457f2e031297175410fc0bd4016a085",
      "tree": "ab969a371e0d2efc6bfbf503ca6cdfce3af3bf6c",
      "parents": [
        "edde854e8bb34a7f32fa993d721f1da0faf64165"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Sat Jul 23 17:37:31 2011 +0200"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Jul 25 14:30:23 2011 -0400"
      },
      "message": "fs: take the ACL checks to common code\n\nReplace the -\u003echeck_acl method with a -\u003eget_acl method that simply reads an\nACL from disk after having a cache miss.  This means we can replace the ACL\nchecking boilerplate code with a single implementation in namei.c.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "826cae2f2b4d726b925f43bc208a571639da4761",
      "tree": "b7f83eecf3bde8c4e455d89c7c535988b3e8bd59",
      "parents": [
        "95203befa8887997f14077d8557e67d78457ee02"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat Jul 23 03:10:32 2011 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Jul 25 14:27:32 2011 -0400"
      },
      "message": "kill boilerplates around posix_acl_create_masq()\n\nnew helper: posix_acl_create(\u0026acl, gfp, mode_p).  Replaces acl with\nmodified clone, on failure releases acl and replaces with NULL.\nReturns 0 or -ve on error.  All callers of posix_acl_create_masq()\nswitched.\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "bc26ab5f65ae41b71df86ea46df3c3833d1d8d83",
      "tree": "85bbc4e0da4fac99ccf31b3609c61e2b148a8498",
      "parents": [
        "4482a087d4c5a6ffbc385c56b4a4e2f694d9fd5d"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat Jul 23 00:18:02 2011 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Jul 25 14:27:30 2011 -0400"
      },
      "message": "kill boilerplate around posix_acl_chmod_masq()\n\nnew helper: posix_acl_chmod(\u0026acl, gfp, mode).  Replaces acl with modified\nclone or with NULL if that has failed; returns 0 or -ve on error.  All\ncallers of posix_acl_chmod_masq() switched to that - they\u0027d been doing\nexactly the same thing.\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "e77819e57f0817c6dc7cadd061acd70c604cbce2",
      "tree": "f5d7aba2dfbb747a97d783b7cc6a486922c42559",
      "parents": [
        "3ca30d40a91fb9b9871e61d5dea2c1a895906a15"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 22 19:30:19 2011 -0700"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Jul 25 14:23:39 2011 -0400"
      },
      "message": "vfs: move ACL cache lookup into generic code\n\nThis moves logic for checking the cached ACL values from low-level\nfilesystems into generic code.  The end result is a streamlined ACL\ncheck that doesn\u0027t need to load the inode-\u003ei_op-\u003echeck_acl pointer at\nall for the common cached case.\n\nThe filesystems also don\u0027t need to check for a non-blocking RCU walk\ncase in their acl_check() functions, because that is all handled at a\nVFS layer.\n\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "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": "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": "df2e301fee3c2c2a87592151397ad7699bb14c37",
      "tree": "09364e1443d8cac6c415af5e8d07b2b37793b68e",
      "parents": [
        "497888cf69bf607ac1fe061a6437e0a670b0022f"
      ],
      "author": {
        "name": "Jean Delvare",
        "email": "khali@linux-fr.org",
        "time": "Sat Jul 16 18:10:35 2011 +0200"
      },
      "committer": {
        "name": "Jiri Kosina",
        "email": "jkosina@suse.cz",
        "time": "Fri Jul 22 16:47:15 2011 +0200"
      },
      "message": "fs: Merge split strings\n\nNo idea why these were split in the first place...\n\nSigned-off-by: Jean Delvare \u003ckhali@linux-fr.org\u003e\nSigned-off-by: Jiri Kosina \u003cjkosina@suse.cz\u003e\n"
    },
    {
      "commit": "02c24a82187d5a628c68edfe71ae60dc135cd178",
      "tree": "c8dbaba4d82e2b20ed4335910a564a1f7d90fcf6",
      "parents": [
        "22735068d53c7115e384bc88dea95b17e76a6839"
      ],
      "author": {
        "name": "Josef Bacik",
        "email": "josef@redhat.com",
        "time": "Sat Jul 16 20:44:56 2011 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Wed Jul 20 20:47:59 2011 -0400"
      },
      "message": "fs: push i_mutex and filemap_write_and_wait down into -\u003efsync() handlers\n\nBtrfs needs to be able to control how filemap_write_and_wait_range() is called\nin fsync to make it less of a painful operation, so push down taking i_mutex and\nthe calling of filemap_write_and_wait() down into the -\u003efsync() handlers.  Some\nfile systems can drop taking the i_mutex altogether it seems, like ext3 and\nocfs2.  For correctness sake I just pushed everything down in all cases to make\nsure that we keep the current behavior the same for everybody, and then each\nindividual fs maintainer can make up their mind about what to do from there.\nThanks,\n\nAcked-by: Jan Kara \u003cjack@suse.cz\u003e\nSigned-off-by: Josef Bacik \u003cjosef@redhat.com\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "a9049376ee05bf966bfe2b081b5071326856890a",
      "tree": "efb3cbfc7760537f201bb28dacbb0d39ec39f04c",
      "parents": [
        "0c1aa9a952c3608eb17bf990466f1491d1ee8b6c"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Fri Jul 08 21:20:11 2011 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Wed Jul 20 01:44:26 2011 -0400"
      },
      "message": "make d_splice_alias(ERR_PTR(err), dentry) \u003d ERR_PTR(err)\n\n... and simplify the living hell out of callers\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "7e40145eb111a5192e6d819f764db9d6828d1abb",
      "tree": "3249952a751de12465e8d66c63328445e9242f3a",
      "parents": [
        "9c2c703929e4c41210cfa6e3f599514421bab8dc"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Jun 20 19:12:17 2011 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Wed Jul 20 01:43:21 2011 -0400"
      },
      "message": "-\u003epermission() sanitizing: don\u0027t pass flags to -\u003echeck_acl()\n\nnot used in the instances anymore.\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "9c2c703929e4c41210cfa6e3f599514421bab8dc",
      "tree": "2086738f22755ad18ba18ab2ee0f2b23d651da60",
      "parents": [
        "1fc0f78ca9f311c6277e2f1b7655bb4d43ceb311"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Jun 20 19:06:22 2011 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Wed Jul 20 01:43:19 2011 -0400"
      },
      "message": "-\u003epermission() sanitizing: pass MAY_NOT_BLOCK to -\u003echeck_acl()\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "9d8f13ba3f4833219e50767b022b82cd0da930eb",
      "tree": "3ba2367380d009111ea17696162a62320c88d144",
      "parents": [
        "0f2a55d5bb2372058275b0b343d90dd5d640d045"
      ],
      "author": {
        "name": "Mimi Zohar",
        "email": "zohar@linux.vnet.ibm.com",
        "time": "Mon Jun 06 15:29:25 2011 -0400"
      },
      "committer": {
        "name": "Mimi Zohar",
        "email": "zohar@linux.vnet.ibm.com",
        "time": "Mon Jul 18 12:29:38 2011 -0400"
      },
      "message": "security: new security_inode_init_security API adds function callback\n\nThis patch changes the security_inode_init_security API by adding a\nfilesystem specific callback to write security extended attributes.\nThis change is in preparation for supporting the initialization of\nmultiple LSM xattrs and the EVM xattr.  Initially the callback function\nwalks an array of xattrs, writing each xattr separately, but could be\noptimized to write multiple xattrs at once.\n\nFor existing security_inode_init_security() calls, which have not yet\nbeen converted to use the new callback function, such as those in\nreiserfs and ocfs2, this patch defines security_old_inode_init_security().\n\nSigned-off-by: Mimi Zohar \u003czohar@us.ibm.com\u003e\n"
    },
    {
      "commit": "36947a76826111e661a26cb0f668a5be6cc3ddb4",
      "tree": "ed5d92c9d71f9ca68e6a3583a10ebf911c9c44dd",
      "parents": [
        "a947e23a8ec04bccbfe98c5a2d64cd1f88b612d5",
        "69b4573296469fd3f70cf7044693074980517067"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat May 28 13:03:41 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat May 28 13:03:41 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: (36 commits)\n  Cache xattr security drop check for write v2\n  fs: block_page_mkwrite should wait for writeback to finish\n  mm: Wait for writeback when grabbing pages to begin a write\n  configfs: remove unnecessary dentry_unhash on rmdir, dir rename\n  fat: remove unnecessary dentry_unhash on rmdir, dir rename\n  hpfs: remove unnecessary dentry_unhash on rmdir, dir rename\n  minix: remove unnecessary dentry_unhash on rmdir, dir rename\n  fuse: remove unnecessary dentry_unhash on rmdir, dir rename\n  coda: remove unnecessary dentry_unhash on rmdir, dir rename\n  afs: remove unnecessary dentry_unhash on rmdir, dir rename\n  affs: remove unnecessary dentry_unhash on rmdir, dir rename\n  9p: remove unnecessary dentry_unhash on rmdir, dir rename\n  ncpfs: fix rename over directory with dangling references\n  ncpfs: document dentry_unhash usage\n  ecryptfs: remove unnecessary dentry_unhash on rmdir, dir rename\n  hostfs: remove unnecessary dentry_unhash on rmdir, dir rename\n  hfsplus: remove unnecessary dentry_unhash on rmdir, dir rename\n  hfs: remove unnecessary dentry_unhash on rmdir, dir rename\n  omfs: remove unnecessary dentry_unhash on rmdir, dir rneame\n  udf: remove unnecessary dentry_unhash from rmdir, dir rename\n  ...\n"
    },
    {
      "commit": "cf0f0536fa65ca1353476c49feed34891f3f7134",
      "tree": "f75e2b40e072821fe4ebfd19ab8b074cdd642cca",
      "parents": [
        "873ae4d5a8b282c6e2bbc09c6d59eeb1bec97ef7"
      ],
      "author": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Fri May 27 13:41:56 2011 -0700"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat May 28 01:02:50 2011 -0400"
      },
      "message": "jffs2: remove unnecessary dentry_unhash from rmdir, dir rename\n\njffs2 does not have problems with references to unlinked directories.\n\nCC: David Woodhouse \u003cdwmw2@infradead.org\u003e\nCC: linux-mtd@lists.infradead.org\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "29a6ccca3869bbe33879dae0cd7df2a1559eff54",
      "tree": "2d9d355d8662ede95af7bc812d686dc4d5f37ff3",
      "parents": [
        "426048313dfa7d65dbd2379b1665755511f9544f",
        "6a8a98b22b10f1560d5f90aded4a54234b9b2724"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri May 27 20:06:53 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri May 27 20:06:53 2011 -0700"
      },
      "message": "Merge git://git.infradead.org/mtd-2.6\n\n* git://git.infradead.org/mtd-2.6: (97 commits)\n  mtd: kill CONFIG_MTD_PARTITIONS\n  mtd: remove add_mtd_partitions, add_mtd_device and friends\n  mtd: convert remaining users to mtd_device_register()\n  mtd: samsung onenand: convert to mtd_device_register()\n  mtd: omap2 onenand: convert to mtd_device_register()\n  mtd: txx9ndfmc: convert to mtd_device_register()\n  mtd: tmio_nand: convert to mtd_device_register()\n  mtd: socrates_nand: convert to mtd_device_register()\n  mtd: sharpsl: convert to mtd_device_register()\n  mtd: s3c2410 nand: convert to mtd_device_register()\n  mtd: ppchameleonevb: convert to mtd_device_register()\n  mtd: orion_nand: convert to mtd_device_register()\n  mtd: omap2: convert to mtd_device_register()\n  mtd: nomadik_nand: convert to mtd_device_register()\n  mtd: ndfc: convert to mtd_device_register()\n  mtd: mxc_nand: convert to mtd_device_register()\n  mtd: mpc5121_nfc: convert to mtd_device_register()\n  mtd: jz4740_nand: convert to mtd_device_register()\n  mtd: h1910: convert to mtd_device_register()\n  mtd: fsmc_nand: convert to mtd_device_register()\n  ...\n\nFixed up trivial conflicts in\n - drivers/mtd/maps/integrator-flash.c: removed in ARM tree\n - drivers/mtd/maps/physmap.c: addition of afs partition probe type\n   clashing with removal of CONFIG_MTD_PARTITIONS\n"
    },
    {
      "commit": "aa38572954ade525817fe88c54faebf85e5a61c0",
      "tree": "ef398ec06c97134592f62a49c99f3f80041b427c",
      "parents": [
        "d6e9bd256c88ce5f4b668249e363a74f51393daa"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Fri May 27 06:53:02 2011 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Fri May 27 07:04:40 2011 -0400"
      },
      "message": "fs: pass exact type of data dirties to -\u003edirty_inode\n\nTell the filesystem if we just updated timestamp (I_DIRTY_SYNC) or\nanything else, so that the filesystem can track internally if it\nneeds to push out a transaction for fdatasync or not.\n\nThis is just the prototype change with no user for it yet.  I plan\nto push large XFS changes for the next merge window, and getting\nthis trivial infrastructure in this window would help a lot to avoid\ntree interdependencies.\n\nAlso remove incorrect comments that -\u003edirty_inode can\u0027t block.  That\nhas been changed a long time ago, and many implementations rely on it.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "e4eaac06bcccb2a70bca6a2de9871882dce2aa14",
      "tree": "ca6736d96294cd6e65a1c3055718bfd5adc7336e",
      "parents": [
        "79bf7c732b5ff75b96022ed9d29181afd3d2509c"
      ],
      "author": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Tue May 24 13:06:07 2011 -0700"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Thu May 26 07:26:48 2011 -0400"
      },
      "message": "vfs: push dentry_unhash on rename_dir into file systems\n\nOnly a few file systems need this.  Start by pushing it down into each\nrename method (except gfs2 and xfs) so that it can be dealt with on a\nper-fs basis.\n\nAcked-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "79bf7c732b5ff75b96022ed9d29181afd3d2509c",
      "tree": "74b8cc690f9a37fff02d0685464e1c695a25ef94",
      "parents": [
        "64252c75a2196a0cf1e0d3777143ecfe0e3ae650"
      ],
      "author": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Tue May 24 13:06:06 2011 -0700"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Thu May 26 07:26:47 2011 -0400"
      },
      "message": "vfs: push dentry_unhash on rmdir into file systems\n\nOnly a few file systems need this.  Start by pushing it down into each\nfs rmdir method (except gfs2 and xfs) so it can be dealt with on a per-fs\nbasis.\n\nThis does not change behavior for any in-tree file systems.\n\nAcked-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "1ddd0d9a3177356f2a29c8f3826ad79e1ad18397",
      "tree": "040b7bdc00b8cba4e51440e5aa8d598555bc2678",
      "parents": [
        "3e45cf5e85a4f344fc4c8c901ac057a2402db125"
      ],
      "author": {
        "name": "Grant Erickson",
        "email": "marathon96@gmail.com",
        "time": "Fri Apr 08 08:51:34 2011 -0700"
      },
      "committer": {
        "name": "David Woodhouse",
        "email": "David.Woodhouse@intel.com",
        "time": "Wed May 25 02:00:50 2011 +0100"
      },
      "message": "JFFS2: retry large buffer allocations\n\nReplace direct call to kmalloc for a potentially large, contiguous\nbuffer allocation with one to mtd_kmalloc_up_to which helps ensure the\noperation can succeed under low-memory, highly- fragmented situations\nalbeit somewhat more slowly.\n\nSigned-off-by: Grant Erickson \u003cmarathon96@gmail.com\u003e\nSigned-off-by: Artem Bityutskiy \u003cArtem.Bityutskiy@nokia.com\u003e\nSigned-off-by: David Woodhouse \u003cDavid.Woodhouse@intel.com\u003e\n"
    },
    {
      "commit": "8cb2a180abfa7b677c63cddfb21df9cefb27fe2d",
      "tree": "1282c6b780ab78cbbbbdd8960a3b97dddcc394de",
      "parents": [
        "d178e3e88f538323eb483df1563c8edfb71fdb39"
      ],
      "author": {
        "name": "Sergey Senozhatsky",
        "email": "sergey.senozhatsky@gmail.com",
        "time": "Tue Mar 22 14:11:02 2011 +0200"
      },
      "committer": {
        "name": "David Woodhouse",
        "email": "David.Woodhouse@intel.com",
        "time": "Wed May 25 01:47:39 2011 +0100"
      },
      "message": "jffs2: remove unused variables\n\nRemove unused \u0027jffs2_sb_info *c\u0027 variable from \u0027jffs2_lookup()\u0027\nand \u0027jffs2_readdir()\u0027.\n\nSigned-off-by: Sergey Senozhatsky \u003csergey.senozhatsky@gmail.com\u003e\nSigned-off-by: Artem Bityutskiy \u003cArtem.Bityutskiy@nokia.com\u003e\nSigned-off-by: David Woodhouse \u003cDavid.Woodhouse@intel.com\u003e\n"
    },
    {
      "commit": "25985edcedea6396277003854657b5f3cb31a628",
      "tree": "f026e810210a2ee7290caeb737c23cb6472b7c38",
      "parents": [
        "6aba74f2791287ec407e0f92487a725a25908067"
      ],
      "author": {
        "name": "Lucas De Marchi",
        "email": "lucas.demarchi@profusion.mobi",
        "time": "Wed Mar 30 22:57:33 2011 -0300"
      },
      "committer": {
        "name": "Lucas De Marchi",
        "email": "lucas.demarchi@profusion.mobi",
        "time": "Thu Mar 31 11:26:23 2011 -0300"
      },
      "message": "Fix common misspellings\n\nFixes generated by \u0027codespell\u0027 and manually reviewed.\n\nSigned-off-by: Lucas De Marchi \u003clucas.demarchi@profusion.mobi\u003e\n"
    },
    {
      "commit": "7bf7e370d5919112c223a269462cd0b546903829",
      "tree": "03ccc715239df14ae168277dbccc9d9cf4d8a2c8",
      "parents": [
        "68b1a1e786f29c900fa1c516a402e24f0ece622a",
        "d39dd11c3e6a7af5c20bfac40594db36cf270f42"
      ],
      "author": {
        "name": "Artem Bityutskiy",
        "email": "Artem.Bityutskiy@nokia.com",
        "time": "Fri Mar 25 17:41:20 2011 +0200"
      },
      "committer": {
        "name": "Artem Bityutskiy",
        "email": "Artem.Bityutskiy@nokia.com",
        "time": "Fri Mar 25 17:41:20 2011 +0200"
      },
      "message": "Merge branch \u0027master\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6 into for-linus-1\n\n* \u0027master\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6: (9356 commits)\n  [media] rc: update for bitop name changes\n  fs: simplify iget \u0026 friends\n  fs: pull inode-\u003ei_lock up out of writeback_single_inode\n  fs: rename inode_lock to inode_hash_lock\n  fs: move i_wb_list out from under inode_lock\n  fs: move i_sb_list out from under inode_lock\n  fs: remove inode_lock from iput_final and prune_icache\n  fs: Lock the inode LRU list separately\n  fs: factor inode disposal\n  fs: protect inode-\u003ei_state with inode-\u003ei_lock\n  lib, arch: add filter argument to show_mem and fix private implementations\n  SLUB: Write to per cpu data when allocating it\n  slub: Fix debugobjects with lockless fastpath\n  autofs4: Do not potentially dereference NULL pointer returned by fget() in autofs_dev_ioctl_setpipefd()\n  autofs4 - remove autofs4_lock\n  autofs4 - fix d_manage() return on rcu-walk\n  autofs4 - fix autofs4_expire_indirect() traversal\n  autofs4 - fix dentry leak in autofs4_expire_direct()\n  autofs4 - reinstate last used update on access\n  vfs - check non-mountpoint dentry might block in __follow_mount_rcu()\n  ...\n\nNOTE!\n\nThis merge commit was created to fix compilation error. The block\ntree was merged upstream and removed the \u0027elv_queue_empty()\u0027\nfunction which the new \u0027mtdswap\u0027 driver is using. So a simple\nmerge of the mtd tree with upstream does not compile. And the\nmtd tree has already be published, so re-basing it is not an option.\n\nTo fix this unfortunate situation, I had to merge upstream into the\nmtd-2.6.git tree without committing, put the fixup patch on top of\nthis, and then commit this. The result is that we do not have commits\nwhich do not compile.\n\nIn other words, this merge commit \"merges\" 3 things: the MTD tree, the\nupstream tree, and the fixup patch.\n"
    },
    {
      "commit": "2e1496707560ecf98e9b0604622c0990f94861d3",
      "tree": "d1473b70fad31a903fedc87221680678a6c6c5f6",
      "parents": [
        "e795b71799ff0b27365020c9ddaa25d0d83f99c8"
      ],
      "author": {
        "name": "Serge E. Hallyn",
        "email": "serge@hallyn.com",
        "time": "Wed Mar 23 16:43:26 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 23 19:47:13 2011 -0700"
      },
      "message": "userns: rename is_owner_or_cap to inode_owner_or_capable\n\nAnd give it a kernel-doc comment.\n\n[akpm@linux-foundation.org: btrfs changed in linux-next]\nSigned-off-by: Serge E. Hallyn \u003cserge.hallyn@canonical.com\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nCc: Daniel Lezcano \u003cdaniel.lezcano@free.fr\u003e\nAcked-by: David Howells \u003cdhowells@redhat.com\u003e\nCc: James Morris \u003cjmorris@namei.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "565d76cb7d5fd7cb010fd690602280a69ab116ef",
      "tree": "beff4279da00976e10145820c22e699192056973",
      "parents": [
        "b12d12596992f608f5506a8dabe4d1299594bd1e"
      ],
      "author": {
        "name": "Jim Keniston",
        "email": "jkenisto@linux.vnet.ibm.com",
        "time": "Tue Mar 22 16:35:12 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Mar 22 17:44:17 2011 -0700"
      },
      "message": "zlib: slim down zlib_deflate() workspace when possible\n\nInstead of always creating a huge (268K) deflate_workspace with the\nmaximum compression parameters (windowBits\u003d15, memLevel\u003d8), allow the\ncaller to obtain a smaller workspace by specifying smaller parameter\nvalues.\n\nFor example, when capturing oops and panic reports to a medium with\nlimited capacity, such as NVRAM, compression may be the only way to\ncapture the whole report.  In this case, a small workspace (24K works\nfine) is a win, whether you allocate the workspace when you need it (i.e.,\nduring an oops or panic) or at boot time.\n\nI\u0027ve verified that this patch works with all accepted values of windowBits\n(positive and negative), memLevel, and compression level.\n\nSigned-off-by: Jim Keniston \u003cjkenisto@us.ibm.com\u003e\nCc: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nCc: David Miller \u003cdavem@davemloft.net\u003e\nCc: Chris Mason \u003cchris.mason@oracle.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "bea9312839c51853a2837336405c829b0bf18f88",
      "tree": "a352bb715a7e178be0e35912c65c766ec70c54ca",
      "parents": [
        "775adc3d44c8076d3e475fabebb61c08421c4421"
      ],
      "author": {
        "name": "Tracey Dent",
        "email": "tdent48227@gmail.com",
        "time": "Sat Feb 26 11:15:13 2011 -0500"
      },
      "committer": {
        "name": "David Woodhouse",
        "email": "David.Woodhouse@intel.com",
        "time": "Fri Mar 11 14:22:48 2011 +0000"
      },
      "message": "jffs2: remove a trailing white space in commentaries\n\nSigned-off-by: Tracey Dent \u003ctdent48227@gmail.com\u003e\nSigned-off-by: Artem Bityutskiy \u003cArtem.Bityutskiy@nokia.com\u003e\nSigned-off-by: David Woodhouse \u003cDavid.Woodhouse@intel.com\u003e\n"
    },
    {
      "commit": "fe3fa43039d47ee4e22caf460b79b62a14937f79",
      "tree": "9eab8d00f1227b9fe0959f32a62d892ed35803ba",
      "parents": [
        "ee009e4a0d4555ed522a631bae9896399674f064",
        "026eb167ae77244458fa4b4b9fc171209c079ba7"
      ],
      "author": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Tue Mar 08 11:38:10 2011 +1100"
      },
      "committer": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Tue Mar 08 11:38:10 2011 +1100"
      },
      "message": "Merge branch \u0027master\u0027 of git://git.infradead.org/users/eparis/selinux into next\n"
    },
    {
      "commit": "2a7dba391e5628ad665ce84ef9a6648da541ebab",
      "tree": "ba0722bd74d2c883dbda7ff721850bab411cac04",
      "parents": [
        "821404434f3324bf23f545050ff64055a149766e"
      ],
      "author": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Tue Feb 01 11:05:39 2011 -0500"
      },
      "committer": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Tue Feb 01 11:12:29 2011 -0500"
      },
      "message": "fs/vfs/security: pass last path component to LSM on inode creation\n\nSELinux would like to implement a new labeling behavior of newly created\ninodes.  We currently label new inodes based on the parent and the creating\nprocess.  This new behavior would also take into account the name of the\nnew object when deciding the new label.  This is not the (supposed) full path,\njust the last component of the path.\n\nThis is very useful because creating /etc/shadow is different than creating\n/etc/passwd but the kernel hooks are unable to differentiate these\noperations.  We currently require that userspace realize it is doing some\ndifficult operation like that and than userspace jumps through SELinux hoops\nto get things set up correctly.  This patch does not implement new\nbehavior, that is obviously contained in a seperate SELinux patch, but it\ndoes pass the needed name down to the correct LSM hook.  If no such name\nexists it is fine to pass NULL.\n\nSigned-off-by: Eric Paris \u003ceparis@redhat.com\u003e\n"
    },
    {
      "commit": "ab2020f2f11fc7fb81e6c71298b0830d85412011",
      "tree": "c9a6342063461dcf31278d65585bca73bdda4a84",
      "parents": [
        "235646a486d10891bd86af28d8eac75d9f22bd2d",
        "154bf89f5e3e3dc59666926f27ca4a0866f39157"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jan 17 11:15:30 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jan 17 11:15:30 2011 -0800"
      },
      "message": "Merge git://git.infradead.org/mtd-2.6\n\n* git://git.infradead.org/mtd-2.6: (59 commits)\n  mtd: mtdpart: disallow reading OOB past the end of the partition\n  mtd: pxa3xx_nand: NULL dereference in pxa3xx_nand_probe\n  UBI: use mtd-\u003ewritebufsize to set minimal I/O unit size\n  mtd: initialize writebufsize in the MTD object of a partition\n  mtd: onenand: add mtd-\u003ewritebufsize initialization\n  mtd: nand: add mtd-\u003ewritebufsize initialization\n  mtd: cfi: add writebufsize initialization\n  mtd: add writebufsize field to mtd_info struct\n  mtd: OneNAND: OMAP2/3: prevent regulator sleeping while OneNAND is in use\n  mtd: OneNAND: add enable / disable methods to onenand_chip\n  mtd: m25p80: Fix JEDEC ID for AT26DF321\n  mtd: txx9ndfmc: limit transfer bytes to 512 (ECC provides 6 bytes max)\n  mtd: cfi_cmdset_0002: add support for Samsung K8D3x16UxC NOR chips\n  mtd: cfi_cmdset_0002: add support for Samsung K8D6x16UxM NOR chips\n  mtd: nand: ams-delta: drop omap_read/write, use ioremap\n  mtd: m25p80: add debugging trace in sst_write\n  mtd: nand: ams-delta: select for built-in by default\n  mtd: OneNAND: lighten scary initial bad block messages\n  mtd: OneNAND: OMAP2/3: add support for command line partitioning\n  mtd: nand: rearrange ONFI revision checking, add ONFI 2.3\n  ...\n\nFix up trivial conflict in drivers/mtd/Kconfig as per DavidW.\n"
    },
    {
      "commit": "b74c79e99389cd79b31fcc08f82c24e492e63c7e",
      "tree": "763c6b412517306670bc625e90035f2d16bb739f",
      "parents": [
        "34286d6662308d82aed891852d04c7c3a2649b16"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "npiggin@kernel.dk",
        "time": "Fri Jan 07 17:49:58 2011 +1100"
      },
      "committer": {
        "name": "Nick Piggin",
        "email": "npiggin@kernel.dk",
        "time": "Fri Jan 07 17:50:29 2011 +1100"
      },
      "message": "fs: provide rcu-walk aware permission i_ops\n\nSigned-off-by: Nick Piggin \u003cnpiggin@kernel.dk\u003e\n"
    },
    {
      "commit": "fa0d7e3de6d6fc5004ad9dea0dd6b286af8f03e9",
      "tree": "203e0f73883e4c26b5597e36042386a1237dab35",
      "parents": [
        "77812a1ef139d84270d27faacc0630c887411013"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "npiggin@kernel.dk",
        "time": "Fri Jan 07 17:49:49 2011 +1100"
      },
      "committer": {
        "name": "Nick Piggin",
        "email": "npiggin@kernel.dk",
        "time": "Fri Jan 07 17:50:26 2011 +1100"
      },
      "message": "fs: icache RCU free inodes\n\nRCU free the struct inode. This will allow:\n\n- Subsequent store-free path walking patch. The inode must be consulted for\n  permissions when walking, so an RCU inode reference is a must.\n- sb_inode_list_lock to be moved inside i_lock because sb list walkers who want\n  to take i_lock no longer need to take sb_inode_list_lock to walk the list in\n  the first place. This will simplify and optimize locking.\n- Could remove some nested trylock loops in dcache code\n- Could potentially simplify things a bit in VM land. Do not need to take the\n  page lock to follow page-\u003emapping.\n\nThe downsides of this is the performance cost of using RCU. In a simple\ncreat/unlink microbenchmark, performance drops by about 10% due to inability to\nreuse cache-hot slab objects. As iterations increase and RCU freeing starts\nkicking over, this increases to about 20%.\n\nIn cases where inode lifetimes are longer (ie. many inodes may be allocated\nduring the average life span of a single inode), a lot of this cache reuse is\nnot applicable, so the regression caused by this patch is smaller.\n\nThe cache-hot regression could largely be avoided by using SLAB_DESTROY_BY_RCU,\nhowever this adds some complexity to list walking and store-free path walking,\nso I prefer to implement this at a later date, if it is shown to be a win in\nreal situations. I haven\u0027t found a regression in any non-micro benchmark so I\ndoubt it will be a problem.\n\nSigned-off-by: Nick Piggin \u003cnpiggin@kernel.dk\u003e\n"
    },
    {
      "commit": "027d9ac2c8de9f70b7319e08dee121b8b85c8d88",
      "tree": "bc9e1594b7eda240a1dc83f17e05d48fa4feb524",
      "parents": [
        "f326966b3df47f4fa7e90425f60efdd30c31fe19"
      ],
      "author": {
        "name": "Dan Carpenter",
        "email": "error27@gmail.com",
        "time": "Mon Nov 15 21:20:05 2010 +0300"
      },
      "committer": {
        "name": "David Woodhouse",
        "email": "David.Woodhouse@intel.com",
        "time": "Fri Dec 03 16:30:40 2010 +0000"
      },
      "message": "jffs2: typo in comment\n\nIt says FB instead of FS (file system).\n\nSigned-off-by: Dan Carpenter \u003cerror27@gmail.com\u003e\nSigned-off-by: Artem Bityutskiy \u003cArtem.Bityutskiy@nokia.com\u003e\nSigned-off-by: David Woodhouse \u003cDavid.Woodhouse@intel.com\u003e\n"
    }
  ],
  "next": "f326966b3df47f4fa7e90425f60efdd30c31fe19"
}
