)]}'
{
  "log": [
    {
      "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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "848b83a59b772b8f102bc5e3f1187c2fa5676959",
      "tree": "d09a3755252e73f4bef000ffafbc0e9fd72d1a38",
      "parents": [
        "152a08366671080f27b32e0c411ad620c5f88b57"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sun Jul 25 00:56:46 2010 +0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Fri Oct 29 04:16:26 2010 -0400"
      },
      "message": "convert get_sb_mtd() users to -\u003emount()\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "1a028dd2dd589c3924d9711a1b073a13c820b6b5",
      "tree": "e93d344ef2f9f0e318a94e530cdfa1dc208feda5",
      "parents": [
        "18dfe89d7c394b56e20e06dde8b7a80ff96cf02c"
      ],
      "author": {
        "name": "Arnd Bergmann",
        "email": "arnd@arndb.de",
        "time": "Thu Sep 16 16:11:09 2010 +0200"
      },
      "committer": {
        "name": "Arnd Bergmann",
        "email": "arnd@arndb.de",
        "time": "Mon Oct 04 21:10:50 2010 +0200"
      },
      "message": "BKL: Remove BKL from jffs2\n\nThe BKL is only used in put_super, fill_super and remount_fs that are all\nthree protected by the superblocks s_umount rw_semaphore. Therefore it is\nsafe to remove the BKL entirely.\n\nSigned-off-by: Arnd Bergmann \u003carnd@arndb.de\u003e\nCc: David Woodhouse \u003cdwmw2@infradead.org\u003e\n"
    },
    {
      "commit": "db71922217a214e5c9268448e537b54fc1f301ea",
      "tree": "9c9afbf29411547891f6968e5ade29ce59d66c07",
      "parents": [
        "899611ee7d373e5eeda08e9a8632684e1ebbbf00"
      ],
      "author": {
        "name": "Jan Blunck",
        "email": "jblunck@infradead.org",
        "time": "Sun Aug 15 22:51:10 2010 +0200"
      },
      "committer": {
        "name": "Arnd Bergmann",
        "email": "arnd@arndb.de",
        "time": "Mon Oct 04 21:10:10 2010 +0200"
      },
      "message": "BKL: Explicitly add BKL around get_sb/fill_super\n\nThis patch is a preparation necessary to remove the BKL from do_new_mount().\nIt explicitly adds calls to lock_kernel()/unlock_kernel() around\nget_sb/fill_super operations for filesystems that still uses the BKL.\n\nI\u0027ve read through all the code formerly covered by the BKL inside\ndo_kern_mount() and have satisfied myself that it doesn\u0027t need the BKL\nany more.\n\ndo_kern_mount() is already called without the BKL when mounting the rootfs\nand in nfsctl. do_kern_mount() calls vfs_kern_mount(), which is called\nfrom various places without BKL: simple_pin_fs(), nfs_do_clone_mount()\nthrough nfs_follow_mountpoint(), afs_mntpt_do_automount() through\nafs_mntpt_follow_link(). Both later functions are actually the filesystems\nfollow_link inode operation. vfs_kern_mount() is calling the specified\nget_sb function and lets the filesystem do its job by calling the given\nfill_super function.\n\nTherefore I think it is safe to push down the BKL from the VFS to the\nlow-level filesystems get_sb/fill_super operation.\n\n[arnd: do not add the BKL to those file systems that already\n       don\u0027t use it elsewhere]\n\nSigned-off-by: Jan Blunck \u003cjblunck@infradead.org\u003e\nSigned-off-by: Arnd Bergmann \u003carnd@arndb.de\u003e\nCc: Matthew Wilcox \u003cmatthew@wil.cx\u003e\nCc: Christoph Hellwig \u003chch@infradead.org\u003e\n"
    },
    {
      "commit": "b57922d97fd6f79b6dbe6db0c4fd30d219fa08c1",
      "tree": "1d39e9cd8e1c1f502fb7e985a08286859c69aa36",
      "parents": [
        "45321ac54316eaeeebde0b5f728a1791e500974c"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Jun 07 14:34:48 2010 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Aug 09 16:48:37 2010 -0400"
      },
      "message": "convert remaining -\u003eclear_inode() to -\u003eevict_inode()\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "9723152ad1efb844445e63f052e6d39e85e11649",
      "tree": "9abe25074d3c64f06859f0cba3b33c758a91d090",
      "parents": [
        "64a5c2eb82d2a626116fde8a0ea3bb39a3f4f233"
      ],
      "author": {
        "name": "Joakim Tjernlund",
        "email": "joakim.tjernlund@transmode.se",
        "time": "Wed May 19 17:16:11 2010 +0100"
      },
      "committer": {
        "name": "David Woodhouse",
        "email": "David.Woodhouse@intel.com",
        "time": "Wed May 19 17:16:11 2010 +0100"
      },
      "message": "jffs2: Stop triggering block erases from jffs2_write_super()\n\nThis is the culmination of this sequence of patches. By moving the block\nerasing from jffs2_write_super() into the GC code, we avoid huge\nlatencies on unmount where it waits for _all_ pending blocks to be\nerased, and we allow better control for time-critical tasks by stopping\nthe GC thread.\n\nSigned-off-by: Joakim Tjernlund \u003cjoakim.tjernlund@transmode.se\u003e\nSigned-off-by: David Woodhouse \u003cDavid.Woodhouse@intel.com\u003e\n"
    },
    {
      "commit": "acb64a43e4503fbea9faf123f2403da7af8831eb",
      "tree": "862d5ad6530b7c8671bda96a1bd1d07179f0b7c9",
      "parents": [
        "d6ce171069635f05737935adc813b4d48d71a583"
      ],
      "author": {
        "name": "David Woodhouse",
        "email": "David.Woodhouse@intel.com",
        "time": "Wed May 19 17:00:10 2010 +0100"
      },
      "committer": {
        "name": "David Woodhouse",
        "email": "David.Woodhouse@intel.com",
        "time": "Wed May 19 17:10:22 2010 +0100"
      },
      "message": "jffs2: Require jffs2_garbage_collect_trigger() to be called with lock held\n\nWe\u0027re about to call this from a bunch of places which already hold\nc-\u003eerase_completion_lock, so add an assertion and change its existing\ncallers to do the same.\n\nSigned-off-by: David Woodhouse \u003cDavid.Woodhouse@intel.com\u003e\n"
    },
    {
      "commit": "ac4cfdd6d141c319a7af8655f750ed504c187a74",
      "tree": "2143509e0d585667203892a5036676e955273e52",
      "parents": [
        "b87221de6a4934eda856475a0065688d12973a04"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Mon Sep 21 17:01:10 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Sep 22 07:17:24 2009 -0700"
      },
      "message": "const: mark remaining export_operations const\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "405f55712dfe464b3240d7816cc4fe4174831be2",
      "tree": "96c425ea7fa8b31058b8f83a433c5e5265c8ebc7",
      "parents": [
        "f9fabcb58a6d26d6efde842d1703ac7cfa9427b6"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Sat Jul 11 22:08:37 2009 +0400"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Jul 12 12:22:34 2009 -0700"
      },
      "message": "headers: smp_lock.h redux\n\n* Remove smp_lock.h from files which don\u0027t need it (including some headers!)\n* Add smp_lock.h to files which do need it\n* Make smp_lock.h include conditional in hardirq.h\n  It\u0027s needed only for one kernel_locked() usage which is under CONFIG_PREEMPT\n\n  This will make hardirq.h inclusion cheaper for every PREEMPT\u003dn config\n  (which includes allmodconfig/allyesconfig, BTW)\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "d579ed00aa96a7f7486978540a0d7cecaff742ae",
      "tree": "a1c988e4f97ea9e3750779ff9cfa0f12d95386e4",
      "parents": [
        "8c8006564a58d0ea912bf7f2d0a758d97e4b464f"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Mon Jun 08 10:08:21 2009 +0200"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Thu Jun 11 21:36:16 2009 -0400"
      },
      "message": "jffs2: call jffs2_write_super from jffs2_sync_fs\n\nThe call to -\u003ewrite_super from __sync_filesystem will go away, so make\nsure jffs2 performs the same actions from inside -\u003esync_fs.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "ebc1ac164560a241d9bf1b7519062910c3f90a01",
      "tree": "db17fd3043b15f8269cce2c2d00213814022fc30",
      "parents": [
        "01ba687577647beef6c5f2ea59bfb56fac9fcde2"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Mon May 11 23:35:03 2009 +0200"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Thu Jun 11 21:36:09 2009 -0400"
      },
      "message": "-\u003ewrite_super lock_super pushdown\n\nPush down lock_super into -\u003ewrite_super instances and remove it from the\ncaller.\n\nFollowing filesystem don\u0027t need -\u003es_lock in -\u003ewrite_super and are skipped:\n\n * bfs, nilfs2 - no other uses of s_lock and have internal locks in\n\t-\u003ewrite_super\n * ext2 - uses BKL in ext2_write_super and has internal calls without s_lock\n * reiserfs - no other uses of s_lock as has reiserfs_write_lock (BKL) in\n \t-\u003ewrite_super\n * xfs - no other uses of s_lock and uses internal lock (buffer lock on\n\tsuperblock buffer) to serialize -\u003ewrite_super.  Also xfs_fs_write_super\n\tis superflous and will go away in the next merge window\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "01ba687577647beef6c5f2ea59bfb56fac9fcde2",
      "tree": "fadd888ca8568f3e373bda5b80857396cd79828a",
      "parents": [
        "4aa98cf768b6f2ea4b204620d949a665959214f6"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Mon May 11 23:34:27 2009 +0200"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Thu Jun 11 21:36:09 2009 -0400"
      },
      "message": "jffs2: move jffs2_write_super to super.c\n\njffs2_write_super is only called from super.c and doesn\u0027t use any\nfunctionality from fs.c.  So move it over to super.c and make it\nstatic there.\n\n[should go in through the vfs tree as it is a requirement for the\n next patch]\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "6cfd0148425e528b859b26e436b01f23f6926224",
      "tree": "60e3257053554ff198fe5825e6f12a00c3b4422a",
      "parents": [
        "a9e220f8322e2b0e0b8903fe00265461cffad3f0"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Tue May 05 15:40:36 2009 +0200"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Thu Jun 11 21:36:07 2009 -0400"
      },
      "message": "push BKL down into -\u003eput_super\n\nMove BKL into -\u003eput_super from the only caller.  A couple of\nfilesystems had trivial enough -\u003eput_super (only kfree and NULLing of\ns_fs_info + stuff in there) to not get any locking: coda, cramfs, efs,\nhugetlbfs, omfs, qnx4, shmem, all others got the full treatment.  Most\nof them probably don\u0027t need it, but I\u0027d rather sort that out individually.\nPreferably after all the other BKL pushdowns in that area.\n\n[AV: original used to move lock_super() down as well; these changes are\nremoved since we don\u0027t do lock_super() at all in generic_shutdown_super()\nnow]\n[AV: fuse, btrfs and xfs are known to need no damn BKL, exempt]\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "8c85e125124a473d6f3e9bb187b0b84207f81d91",
      "tree": "d883424a156c00c55193e46567efdffddb6ef6b9",
      "parents": [
        "517bfae28353e996160518add4d00033d3886e61"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Tue Apr 28 18:00:26 2009 +0200"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Thu Jun 11 21:36:06 2009 -0400"
      },
      "message": "remove -\u003ewrite_super call in generic_shutdown_super\n\nWe just did a full fs writeout using sync_filesystem before, and if\nthat\u0027s not enough for the filesystem it can perform it\u0027s own writeout\nin -\u003eput_super, which many filesystems already do.\n\nMove a call to foofs_write_super into every foofs_put_super for now to\nguarantee identical behaviour until it\u0027s cleaned up by the individual\nfilesystem maintainers.\n\nExceptions:\n\n - affs already has identical copy \u0026 pasted code at the beginning of\n   affs_put_super so no need to do it twice.\n - xfs does the right thing without it and I have changes pending for\n   the xfs tree touching this are so I don\u0027t really need conflicts\n   here..\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "5f556aab907a358c7837cc9a83c3aea4e69cff5b",
      "tree": "75637c75845ac700fe834f8ecb4f540e007ae63e",
      "parents": [
        "d88f1833fcbb5663c86253039966f880f8f46b1a"
      ],
      "author": {
        "name": "David Woodhouse",
        "email": "David.Woodhouse@intel.com",
        "time": "Thu Jul 31 20:39:25 2008 +0100"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Thu Oct 23 05:13:07 2008 -0400"
      },
      "message": "[JFFS2] Reinstate NFS exportability\n\nNow that the readdir/lookup deadlock issues have been dealt with, we can\nexport JFFS2 file systems again.\n\n(For now, you have to specify fsid manually; we should add a method to\nthe export_ops to handle that too.)\n\nSigned-off-by: David Woodhouse \u003cDavid.Woodhouse@intel.com\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "51cc50685a4275c6a02653670af9f108a64e01cf",
      "tree": "819d47bd2b0c8a9d1835d863853804b0a0242b97",
      "parents": [
        "d91958815d214ea365b98cbff6215383897edcb6"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Fri Jul 25 19:45:34 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Jul 26 12:00:07 2008 -0700"
      },
      "message": "SL*B: drop kmem cache argument from constructor\n\nKmem cache passed to constructor is only needed for constructors that are\nthemselves multiplexeres.  Nobody uses this \"feature\", nor does anybody uses\npassed kmem cache in non-trivial way, so pass only pointer to object.\n\nNon-trivial places are:\n\tarch/powerpc/mm/init_64.c\n\tarch/powerpc/mm/hugetlbpage.c\n\nThis is flag day, yes.\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nAcked-by: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\nAcked-by: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nCc: Jon Tollefson \u003ckniht@linux.vnet.ibm.com\u003e\nCc: Nick Piggin \u003cnickpiggin@yahoo.com.au\u003e\nCc: Matt Mackall \u003cmpm@selenic.com\u003e\n[akpm@linux-foundation.org: fix arch/powerpc/mm/hugetlbpage.c]\n[akpm@linux-foundation.org: fix mm/slab.c]\n[akpm@linux-foundation.org: fix ubifs]\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "4e571aba7bb25a3a069a7b88c0f63fe5a14c05c6",
      "tree": "fe80a324ad8ea66235737459d095356303387aec",
      "parents": [
        "fb96c00819c28860fd10137f1c63f7c48dec252b"
      ],
      "author": {
        "name": "David Woodhouse",
        "email": "dwmw2@infradead.org",
        "time": "Thu May 01 12:28:04 2008 +0100"
      },
      "committer": {
        "name": "David Woodhouse",
        "email": "dwmw2@infradead.org",
        "time": "Thu May 01 12:29:37 2008 +0100"
      },
      "message": "[JFFS2] Clean up jffs2_alloc_inode() and jffs2_i_init_once()\n\nDitch a couple of pointless casts from void *, and use the normal\nvariable name \u0027f\u0027 for jffs2_inode_info pointers -- especially since\nit actually shows up in lockdep reports.\n\nSigned-off-by: David Woodhouse \u003cdwmw2@infradead.org\u003e\n"
    },
    {
      "commit": "ced22070363ef50e4a47aadd003a81ebeaa3f917",
      "tree": "66f094dce47a5a0f8f9936308fffe57e2c50255a",
      "parents": [
        "52f8301437a0ba744265e0549ee7239eb85426fc"
      ],
      "author": {
        "name": "David Woodhouse",
        "email": "dwmw2@infradead.org",
        "time": "Tue Apr 22 15:13:40 2008 +0100"
      },
      "committer": {
        "name": "David Woodhouse",
        "email": "dwmw2@infradead.org",
        "time": "Tue Apr 22 15:13:40 2008 +0100"
      },
      "message": "[JFFS2] semaphore-\u003emutex conversion\n\nSigned-off-by: David Woodhouse \u003cdwmw2@infradead.org\u003e\n"
    },
    {
      "commit": "5451f79f5f817880958ed063864ad268d94ccd1f",
      "tree": "a1b2a80902be0c83e81c8bcca2e6bf58d824ea98",
      "parents": [
        "c4386c83bf849c56b1f49951595aeb7c9a719d21"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Thu Feb 07 00:15:42 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Feb 07 08:42:28 2008 -0800"
      },
      "message": "iget: stop JFFS2 from using iget() and read_inode()\n\nStop the JFFS2 filesystem from using iget() and read_inode().  Replace\njffs2_read_inode() with jffs2_iget(), and call that instead of iget().\njffs2_iget() then uses iget_locked() directly and returns a proper error code\ninstead of an inode in the event of an error.\n\njffs2_do_fill_super() returns any error incurred when getting the root inode\ninstead of EINVAL.\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nCc: David Woodhouse \u003cdwmw2@infradead.org\u003e\nAcked-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "4ba9b9d0ba0a49d91fa6417c7510ee36f48cf957",
      "tree": "191b4f45f926e44b882b1e87a9a85dc12230b892",
      "parents": [
        "b811c202a0edadaac7242ab834fe7ba409978ae7"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@sgi.com",
        "time": "Tue Oct 16 23:25:51 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Oct 17 08:42:45 2007 -0700"
      },
      "message": "Slab API: remove useless ctor parameter and reorder parameters\n\nSlab constructors currently have a flags parameter that is never used.  And\nthe order of the arguments is opposite to other slab functions.  The object\npointer is placed before the kmem_cache pointer.\n\nConvert\n\n        ctor(void *object, struct kmem_cache *s, unsigned long flags)\n\nto\n\n        ctor(struct kmem_cache *s, void *object)\n\nthroughout the kernel\n\n[akpm@linux-foundation.org: coupla fixes]\nSigned-off-by: Christoph Lameter \u003cclameter@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "20c2df83d25c6a95affe6157a4c9cac4cf5ffaac",
      "tree": "415c4453d2b17a50abe7a3e515177e1fa337bd67",
      "parents": [
        "64fb98fc40738ae1a98bcea9ca3145b89fb71524"
      ],
      "author": {
        "name": "Paul Mundt",
        "email": "lethal@linux-sh.org",
        "time": "Fri Jul 20 10:11:58 2007 +0900"
      },
      "committer": {
        "name": "Paul Mundt",
        "email": "lethal@linux-sh.org",
        "time": "Fri Jul 20 10:11:58 2007 +0900"
      },
      "message": "mm: Remove slab destructors from kmem_cache_create().\n\nSlab destructors were no longer supported after Christoph\u0027s\nc59def9f222d44bb7e2f0a559f2906191a0862d7 change. They\u0027ve been\nBUGs for both slab and slub, and slob never supported them\neither.\n\nThis rips out support for the dtor pointer from kmem_cache_create()\ncompletely and fixes up every single callsite in the kernel (there were\nabout 224, not including the slab allocator definitions themselves,\nor the documentation references).\n\nSigned-off-by: Paul Mundt \u003clethal@linux-sh.org\u003e\n"
    },
    {
      "commit": "ec4883b015c3212f6f6d04fb2ff45f528492f598",
      "tree": "0e393eb198a35a90adafcd8129564d0173aafad4",
      "parents": [
        "464cf177df7727efcc5506322fc5d0c8b896f545",
        "0477d24e2a87a9077b62298b01b031929f5cf2a2"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Jun 04 17:54:09 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Jun 04 17:54:09 2007 -0700"
      },
      "message": "Merge git://git.infradead.org/mtd-2.6\n\n* git://git.infradead.org/mtd-2.6:\n  [JFFS2] Fix obsoletion of metadata nodes in jffs2_add_tn_to_tree()\n  [MTD] Fix error checking after get_mtd_device() in get_sb_mtd functions\n  [JFFS2] Fix buffer length calculations in jffs2_get_inode_nodes()\n  [JFFS2] Fix potential memory leak of dead xattrs on unmount.\n  [JFFS2] Fix BUG() caused by failing to discard xattrs on deleted files.\n  [MTD] generalise the handling of MTD-specific superblocks\n  [MTD] [MAPS] don\u0027t force uclinux mtd map to be root dev\n"
    },
    {
      "commit": "a35afb830f8d71ec211531aeb9a621b09a2efb39",
      "tree": "198280081e1f8b2f6c450742a5075cc7904a3d58",
      "parents": [
        "5577bd8a85c8b7643a241789b14fafa9c8a6c7db"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@sgi.com",
        "time": "Wed May 16 22:10:57 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu May 17 05:23:04 2007 -0700"
      },
      "message": "Remove SLAB_CTOR_CONSTRUCTOR\n\nSLAB_CTOR_CONSTRUCTOR is always specified. No point in checking it.\n\nSigned-off-by: Christoph Lameter \u003cclameter@sgi.com\u003e\nCc: David Howells \u003cdhowells@redhat.com\u003e\nCc: Jens Axboe \u003cjens.axboe@oracle.com\u003e\nCc: Steven French \u003csfrench@us.ibm.com\u003e\nCc: Michael Halcrow \u003cmhalcrow@us.ibm.com\u003e\nCc: OGAWA Hirofumi \u003chirofumi@mail.parknet.co.jp\u003e\nCc: Miklos Szeredi \u003cmiklos@szeredi.hu\u003e\nCc: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\nCc: Roman Zippel \u003czippel@linux-m68k.org\u003e\nCc: David Woodhouse \u003cdwmw2@infradead.org\u003e\nCc: Dave Kleikamp \u003cshaggy@austin.ibm.com\u003e\nCc: Trond Myklebust \u003ctrond.myklebust@fys.uio.no\u003e\nCc: \"J. Bruce Fields\" \u003cbfields@fieldses.org\u003e\nCc: Anton Altaparmakov \u003caia21@cantab.net\u003e\nCc: Mark Fasheh \u003cmark.fasheh@oracle.com\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Christoph Hellwig \u003chch@lst.de\u003e\nCc: Jan Kara \u003cjack@ucw.cz\u003e\nCc: David Chinner \u003cdgc@sgi.com\u003e\nCc: \"David S. Miller\" \u003cdavem@davemloft.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "acaebfd8a7af0019b2edfcf4045c56c3e18375c5",
      "tree": "312d91a96fbc6ed3672220e2c4087a196e5ab6cf",
      "parents": [
        "33672f72b24191fb17c3666ec1c620f3fa617b50"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Thu May 10 22:51:50 2007 -0700"
      },
      "committer": {
        "name": "David Woodhouse",
        "email": "dwmw2@infradead.org",
        "time": "Fri May 11 12:14:15 2007 +0100"
      },
      "message": "[MTD] generalise the handling of MTD-specific superblocks\n\nGeneralise the handling of MTD-specific superblocks so that JFFS2 and ROMFS\ncan both share it.\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: David Woodhouse \u003cdwmw2@infradead.org\u003e\n"
    },
    {
      "commit": "50953fe9e00ebbeffa032a565ab2f08312d51a87",
      "tree": "9f95f56f0b51600959a76cd88ce17f6e9c7a98a3",
      "parents": [
        "4b1d89290b62bb2db476c94c82cf7442aab440c8"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@sgi.com",
        "time": "Sun May 06 14:50:16 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon May 07 12:12:57 2007 -0700"
      },
      "message": "slab allocators: Remove SLAB_DEBUG_INITIAL flag\n\nI have never seen a use of SLAB_DEBUG_INITIAL.  It is only supported by\nSLAB.\n\nI think its purpose was to have a callback after an object has been freed\nto verify that the state is the constructor state again?  The callback is\nperformed before each freeing of an object.\n\nI would think that it is much easier to check the object state manually\nbefore the free.  That also places the check near the code object\nmanipulation of the object.\n\nAlso the SLAB_DEBUG_INITIAL callback is only performed if the kernel was\ncompiled with SLAB debugging on.  If there would be code in a constructor\nhandling SLAB_DEBUG_INITIAL then it would have to be conditional on\nSLAB_DEBUG otherwise it would just be dead code.  But there is no such code\nin the kernel.  I think SLUB_DEBUG_INITIAL is too problematic to make real\nuse of, difficult to understand and there are easier ways to accomplish the\nsame effect (i.e.  add debug code before kfree).\n\nThere is a related flag SLAB_CTOR_VERIFY that is frequently checked to be\nclear in fs inode caches.  Remove the pointless checks (they would even be\npointless without removeal of SLAB_DEBUG_INITIAL) from the fs constructors.\n\nThis is the last slab flag that SLUB did not support.  Remove the check for\nunimplemented flags from SLUB.\n\nSigned-off-by: Christoph Lameter \u003cclameter@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "c00c310eac04a28d2143368ae988716792ed53ce",
      "tree": "38ddce44f83105b2d593620c34638d699052857f",
      "parents": [
        "c36c46d53b2f95bfcbe992cfb541a78ab92310a4"
      ],
      "author": {
        "name": "David Woodhouse",
        "email": "dwmw2@infradead.org",
        "time": "Wed Apr 25 14:16:47 2007 +0100"
      },
      "committer": {
        "name": "David Woodhouse",
        "email": "dwmw2@infradead.org",
        "time": "Wed Apr 25 14:16:47 2007 +0100"
      },
      "message": "[JFFS2] Tidy up licensing/copyright boilerplate.\n\nIn particular, remove the bit in the LICENCE file about contacting\nRed Hat for alternative arrangements. Their errant IS department broke\nthat arrangement a long time ago -- the policy of collecting copyright\nassignments from contributors came to an end when the plug was pulled on\nthe servers hosting the project, without notice or reason.\n\nWe do still dual-license it for use with eCos, with the GPL+exception\nlicence approved by the FSF as being GPL-compatible. It\u0027s just that nobody\nhas the right to license it differently.\n\nSigned-off-by: David Woodhouse \u003cdwmw2@infradead.org\u003e\n"
    },
    {
      "commit": "ee9b6d61a2a43c5952eb43283f8db284a4e70b8a",
      "tree": "afb0340e79d3e9d14f39df20e165ce2efe941b18",
      "parents": [
        "c5ef1c42c51b1b5b4a401a6517bdda30933ddbaf"
      ],
      "author": {
        "name": "Josef \u0027Jeff\u0027 Sipek",
        "email": "jsipek@cs.sunysb.edu",
        "time": "Mon Feb 12 00:55:41 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Feb 12 09:48:47 2007 -0800"
      },
      "message": "[PATCH] Mark struct super_operations const\n\nThis patch is inspired by Arjan\u0027s \"Patch series to mark struct\nfile_operations and struct inode_operations const\".\n\nCompile tested with gcc \u0026 sparse.\n\nSigned-off-by: Josef \u0027Jeff\u0027 Sipek \u003cjsipek@cs.sunysb.edu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "9cdf083f981b8d37b3212400a359368661385099",
      "tree": "aa15a6a08ad87e650dea40fb59b3180bef0d345b",
      "parents": [
        "e499e01d234a31d59679b7b1e1cf628d917ba49a",
        "a8b3485287731978899ced11f24628c927890e78"
      ],
      "author": {
        "name": "David Woodhouse",
        "email": "dwmw2@infradead.org",
        "time": "Thu Jan 18 10:34:51 2007 +1100"
      },
      "committer": {
        "name": "David Woodhouse",
        "email": "dwmw2@infradead.org",
        "time": "Thu Jan 18 10:34:51 2007 +1100"
      },
      "message": "Merge branch \u0027master\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6\n"
    },
    {
      "commit": "e18b890bb0881bbab6f4f1a6cd20d9c60d66b003",
      "tree": "4828be07e1c24781c264b42c5a75bcd968223c3f",
      "parents": [
        "441e143e95f5aa1e04026cb0aa71c801ba53982f"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@sgi.com",
        "time": "Wed Dec 06 20:33:20 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Thu Dec 07 08:39:25 2006 -0800"
      },
      "message": "[PATCH] slab: remove kmem_cache_t\n\nReplace all uses of kmem_cache_t with struct kmem_cache.\n\nThe patch was generated using the following script:\n\n\t#!/bin/sh\n\t#\n\t# Replace one string by another in all the kernel sources.\n\t#\n\n\tset -e\n\n\tfor file in `find * -name \"*.c\" -o -name \"*.h\"|xargs grep -l $1`; do\n\t\tquilt add $file\n\t\tsed -e \"1,\\$s/$1/$2/g\" $file \u003e/tmp/$$\n\t\tmv /tmp/$$ $file\n\t\tquilt refresh\n\tdone\n\nThe script was run like this\n\n\tsh replace kmem_cache_t \"struct kmem_cache\"\n\nSigned-off-by: Christoph Lameter \u003cclameter@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "e94b1766097d53e6f3ccfb36c8baa562ffeda3fc",
      "tree": "93fa0a8ab84976d4e89c50768ca8b8878d642a0d",
      "parents": [
        "54e6ecb23951b195d02433a741c7f7cb0b796c78"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@sgi.com",
        "time": "Wed Dec 06 20:33:17 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Thu Dec 07 08:39:24 2006 -0800"
      },
      "message": "[PATCH] slab: remove SLAB_KERNEL\n\nSLAB_KERNEL is an alias of GFP_KERNEL.\n\nSigned-off-by: Christoph Lameter \u003cclameter@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "9c74034f8fc5d93fbe5656421cbbdc4c76ddda28",
      "tree": "e5a205e124c0e42899743d765598f82a228156c2",
      "parents": [
        "9fe912cea32aec18f860c95e8574410b5892481b"
      ],
      "author": {
        "name": "Artem Bityutskiy",
        "email": "dedekind@infradead.org",
        "time": "Wed Oct 11 14:52:47 2006 +0300"
      },
      "committer": {
        "name": "Artem Bityutskiy",
        "email": "dedekind@infradead.org",
        "time": "Wed Nov 29 17:06:38 2006 +0200"
      },
      "message": "[MTD] return error code from get_mtd_device()\n\nget_mtd_device() returns NULL in case of any failure. Teach it to return an\nerror code instead. Fix all users as well.\n\nSigned-off-by: Artem Bityutskiy \u003cdedekind@infradead.org\u003e\n"
    },
    {
      "commit": "2ecd05ae68a903761e736e9e0aca40d6ace4319e",
      "tree": "4bb0a178362e954191a6e6cee351745cd2dbe685",
      "parents": [
        "fbab41ccc479b6b0ba15c137af9e0b1c100bff24"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Wed Oct 11 01:22:05 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Oct 11 11:14:23 2006 -0700"
      },
      "message": "[PATCH] fs/*: use BUILD_BUG_ON\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nCc: David Woodhouse \u003cdwmw2@infradead.org\u003e\nCc: David Howells \u003cdhowells@redhat.com\u003e\nCc: Mark Fasheh \u003cmark.fasheh@oracle.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "f8314dc60ccba7e41f425048c4160dc7f63377d5",
      "tree": "4e361a6e93dc7f64da0244e5a0dfef1fface0ddb",
      "parents": [
        "32c2d2bc4bed61323f14f2a7d69ccbd567253d8a"
      ],
      "author": {
        "name": "Panagiotis Issaris",
        "email": "takis@issaris.org",
        "time": "Wed Sep 27 01:49:37 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Sep 27 08:26:10 2006 -0700"
      },
      "message": "[PATCH] fs: Conversions from kmalloc+memset to k(z|c)alloc\n\nConversions from kmalloc+memset to kzalloc.\n\nSigned-off-by: Panagiotis Issaris \u003ctakis@issaris.org\u003e\nJffs2-bit-acked-by: David Woodhouse \u003cdwmw2@infradead.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "6ab3d5624e172c553004ecc862bfeac16d9d68b7",
      "tree": "6d98881fe91fd9583c109208d5c27131b93fa248",
      "parents": [
        "e02169b682bc448ccdc819dc8639ed34a23cedd8"
      ],
      "author": {
        "name": "Jörn Engel",
        "email": "joern@wohnheim.fh-wedel.de",
        "time": "Fri Jun 30 19:25:36 2006 +0200"
      },
      "committer": {
        "name": "Adrian Bunk",
        "email": "bunk@stusta.de",
        "time": "Fri Jun 30 19:25:36 2006 +0200"
      },
      "message": "Remove obsolete #include \u003clinux/config.h\u003e\n\nSigned-off-by: Jörn Engel \u003cjoern@wohnheim.fh-wedel.de\u003e\nSigned-off-by: Adrian Bunk \u003cbunk@stusta.de\u003e\n"
    },
    {
      "commit": "454e2398be9b9fa30433fccc548db34d19aa9958",
      "tree": "1f61cb0c3716a33b661cfc8977e9beeb480a322c",
      "parents": [
        "1ad5544098a69d7dc1fa508cbb17e13a7a952fd8"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Fri Jun 23 02:02:57 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Jun 23 07:42:45 2006 -0700"
      },
      "message": "[PATCH] VFS: Permit filesystem to override root dentry on mount\n\nExtend the get_sb() filesystem operation to take an extra argument that\npermits the VFS to pass in the target vfsmount that defines the mountpoint.\n\nThe filesystem is then required to manually set the superblock and root dentry\npointers.  For most filesystems, this should be done with simple_set_mnt()\nwhich will set the superblock pointer and then set the root dentry to the\nsuperblock\u0027s s_root (as per the old default behaviour).\n\nThe get_sb() op now returns an integer as there\u0027s now no need to return the\nsuperblock pointer.\n\nThis patch permits a superblock to be implicitly shared amongst several mount\npoints, such as can be done with NFS to avoid potential inode aliasing.  In\nsuch a case, simple_set_mnt() would not be called, and instead the mnt_root\nand mnt_sb would be set directly.\n\nThe patch also makes the following changes:\n\n (*) the get_sb_*() convenience functions in the core kernel now take a vfsmount\n     pointer argument and return an integer, so most filesystems have to change\n     very little.\n\n (*) If one of the convenience function is not used, then get_sb() should\n     normally call simple_set_mnt() to instantiate the vfsmount. This will\n     always return 0, and so can be tail-called from get_sb().\n\n (*) generic_shutdown_super() now calls shrink_dcache_sb() to clean up the\n     dcache upon superblock destruction rather than shrink_dcache_anon().\n\n     This is required because the superblock may now have multiple trees that\n     aren\u0027t actually bound to s_root, but that still need to be cleaned up. The\n     currently called functions assume that the whole tree is rooted at s_root,\n     and that anonymous dentries are not the roots of trees which results in\n     dentries being left unculled.\n\n     However, with the way NFS superblock sharing are currently set to be\n     implemented, these assumptions are violated: the root of the filesystem is\n     simply a dummy dentry and inode (the real inode for \u0027/\u0027 may well be\n     inaccessible), and all the vfsmounts are rooted on anonymous[*] dentries\n     with child trees.\n\n     [*] Anonymous until discovered from another tree.\n\n (*) The documentation has been adjusted, including the additional bit of\n     changing ext2_* into foo_* in the documentation.\n\n[akpm@osdl.org: convert ipath_fs, do other stuff]\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nAcked-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nCc: Nathan Scott \u003cnathans@sgi.com\u003e\nCc: Roland Dreier \u003crolandd@cisco.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "20a92fc74c5c91c7bc5693d51acc2b99aceb0465",
      "tree": "41bf535f38ff1a29c560bcf622e9b4ef03c2c106",
      "parents": [
        "21b9879bf2817aca343cdda11ade6a87f5373e74",
        "f6a673b3f4f93c1c50e1b18f29254b0531b722a8"
      ],
      "author": {
        "name": "KaiGai Kohei",
        "email": "kaigai@ak.jp.nec.com",
        "time": "Fri May 19 00:43:53 2006 +0900"
      },
      "committer": {
        "name": "KaiGai Kohei",
        "email": "kaigai@ak.jp.nec.com",
        "time": "Fri May 19 00:43:53 2006 +0900"
      },
      "message": "Merge git://git.infradead.org/mtd-2.6\n"
    },
    {
      "commit": "3e68fbb59b3d4e6b47b65e9928b5929e02179759",
      "tree": "6ff2574161328a89f81f637ac42ce639e8ba31d3",
      "parents": [
        "52239da1b06ff445bf71d35e04d8ce74e4c6fe7b"
      ],
      "author": {
        "name": "David Woodhouse",
        "email": "dwmw2@infradead.org",
        "time": "Mon May 15 00:49:43 2006 +0100"
      },
      "committer": {
        "name": "David Woodhouse",
        "email": "dwmw2@infradead.org",
        "time": "Mon May 15 00:49:43 2006 +0100"
      },
      "message": "[JFFS2] Don\u0027t pack on-medium structures, because GCC emits crappy code\n\nIf we use __attribute__((packed)), GCC will _also_ assume that the\nstructures aren\u0027t sensibly aligned, and it\u0027ll emit code to cope with\nthat instead of straight word load/save. This can be _very_ suboptimal\non architectures like ARM.\n\nIdeally, we want an attribute which just tells GCC not to do any\npadding, without the alignment side-effects. In the absense of that,\nwe\u0027ll just drop the \u0027packed\u0027 attribute and hope that everything stays as\nit was (which to be fair is fairly much what we expect). And add some\nparanoia checks in the initialisation code, which should be optimised\naway completely in the normal case.\n\nSigned-off-by: David Woodhouse \u003cdwmw2@infradead.org\u003e\n"
    },
    {
      "commit": "aa98d7cf59b5b0764d3502662053489585faf2fe",
      "tree": "e98e83f3e69ebe3a1112394a19d440419e899749",
      "parents": [
        "4992a9e88886b0c5ebc3d27eb74d0344c873eeea"
      ],
      "author": {
        "name": "KaiGai Kohei",
        "email": "kaigai@ak.jp.nec.com",
        "time": "Sat May 13 15:09:47 2006 +0900"
      },
      "committer": {
        "name": "KaiGai Kohei",
        "email": "kaigai@ak.jp.nec.com",
        "time": "Sat May 13 15:09:47 2006 +0900"
      },
      "message": "[JFFS2][XATTR] XATTR support on JFFS2 (version. 5)\n\nThis attached patches provide xattr support including POSIX-ACL and\nSELinux support on JFFS2 (version.5).\n\nThere are some significant differences from previous version posted\nat last December.\nThe biggest change is addition of EBS(Erase Block Summary) support.\nCurrently, both kernel and usermode utility (sumtool) can recognize\nxattr nodes which have JFFS2_NODETYPE_XATTR/_XREF nodetype.\n\nIn addition, some bugs are fixed.\n- A potential race condition was fixed.\n- Unexpected fail when updating a xattr by same name/value pair was fixed.\n- A bug when removing xattr name/value pair was fixed.\n\nThe fundamental structures (such as using two new nodetypes and exclusion\nmechanism by rwsem) are unchanged. But most of implementation were reviewed\nand updated if necessary.\nEspacially, we had to change several internal implementations related to\nload_xattr_datum() to avoid a potential race condition.\n\n[1/2] xattr_on_jffs2.kernel.version-5.patch\n[2/2] xattr_on_jffs2.utils.version-5.patch\n\nSigned-off-by: KaiGai Kohei \u003ckaigai@ak.jp.nec.com\u003e\nSigned-off-by: David Woodhouse \u003cdwmw2@infradead.org\u003e\n"
    },
    {
      "commit": "fffb60f93ce5880aade88e01d7133b52a4879710",
      "tree": "7882f0550af8580c0646306f6d391fe610f7ef8c",
      "parents": [
        "4b6a9316fab51af611dc8671f296734089f6a22a"
      ],
      "author": {
        "name": "Paul Jackson",
        "email": "pj@sgi.com",
        "time": "Fri Mar 24 03:16:06 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Mar 24 07:33:23 2006 -0800"
      },
      "message": "[PATCH] cpuset memory spread: slab cache format\n\nRewrap the overly long source code lines resulting from the previous\npatch\u0027s addition of the slab cache flag SLAB_MEM_SPREAD.  This patch\ncontains only formatting changes, and no function change.\n\nSigned-off-by: Paul Jackson \u003cpj@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "4b6a9316fab51af611dc8671f296734089f6a22a",
      "tree": "078f8f0f01a206af529bef137d5b71515c39053d",
      "parents": [
        "44110fe385af23ca5eee8a6ad4ff55d50339097a"
      ],
      "author": {
        "name": "Paul Jackson",
        "email": "pj@sgi.com",
        "time": "Fri Mar 24 03:16:05 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Mar 24 07:33:23 2006 -0800"
      },
      "message": "[PATCH] cpuset memory spread: slab cache filesystems\n\nMark file system inode and similar slab caches subject to SLAB_MEM_SPREAD\nmemory spreading.\n\nIf a slab cache is marked SLAB_MEM_SPREAD, then anytime that a task that\u0027s\nin a cpuset with the \u0027memory_spread_slab\u0027 option enabled goes to allocate\nfrom such a slab cache, the allocations are spread evenly over all the\nmemory nodes (task-\u003emems_allowed) allowed to that task, instead of favoring\nallocation on the node local to the current cpu.\n\nThe following inode and similar caches are marked SLAB_MEM_SPREAD:\n\n    file                               cache\n    \u003d\u003d\u003d\u003d                               \u003d\u003d\u003d\u003d\u003d\n    fs/adfs/super.c                    adfs_inode_cache\n    fs/affs/super.c                    affs_inode_cache\n    fs/befs/linuxvfs.c                 befs_inode_cache\n    fs/bfs/inode.c                     bfs_inode_cache\n    fs/block_dev.c                     bdev_cache\n    fs/cifs/cifsfs.c                   cifs_inode_cache\n    fs/coda/inode.c                    coda_inode_cache\n    fs/dquot.c                         dquot\n    fs/efs/super.c                     efs_inode_cache\n    fs/ext2/super.c                    ext2_inode_cache\n    fs/ext2/xattr.c (fs/mbcache.c)     ext2_xattr\n    fs/ext3/super.c                    ext3_inode_cache\n    fs/ext3/xattr.c (fs/mbcache.c)     ext3_xattr\n    fs/fat/cache.c                     fat_cache\n    fs/fat/inode.c                     fat_inode_cache\n    fs/freevxfs/vxfs_super.c           vxfs_inode\n    fs/hpfs/super.c                    hpfs_inode_cache\n    fs/isofs/inode.c                   isofs_inode_cache\n    fs/jffs/inode-v23.c                jffs_fm\n    fs/jffs2/super.c                   jffs2_i\n    fs/jfs/super.c                     jfs_ip\n    fs/minix/inode.c                   minix_inode_cache\n    fs/ncpfs/inode.c                   ncp_inode_cache\n    fs/nfs/direct.c                    nfs_direct_cache\n    fs/nfs/inode.c                     nfs_inode_cache\n    fs/ntfs/super.c                    ntfs_big_inode_cache_name\n    fs/ntfs/super.c                    ntfs_inode_cache\n    fs/ocfs2/dlm/dlmfs.c               dlmfs_inode_cache\n    fs/ocfs2/super.c                   ocfs2_inode_cache\n    fs/proc/inode.c                    proc_inode_cache\n    fs/qnx4/inode.c                    qnx4_inode_cache\n    fs/reiserfs/super.c                reiser_inode_cache\n    fs/romfs/inode.c                   romfs_inode_cache\n    fs/smbfs/inode.c                   smb_inode_cache\n    fs/sysv/inode.c                    sysv_inode_cache\n    fs/udf/super.c                     udf_inode_cache\n    fs/ufs/super.c                     ufs_inode_cache\n    net/socket.c                       sock_inode_cache\n    net/sunrpc/rpc_pipe.c              rpc_inode_cache\n\nThe choice of which slab caches to so mark was quite simple.  I marked\nthose already marked SLAB_RECLAIM_ACCOUNT, except for fs/xfs, dentry_cache,\ninode_cache, and buffer_head, which were marked in a previous patch.  Even\nthough SLAB_RECLAIM_ACCOUNT is for a different purpose, it marks the same\npotentially large file system i/o related slab caches as we need for memory\nspreading.\n\nGiven that the rule now becomes \"wherever you would have used a\nSLAB_RECLAIM_ACCOUNT slab cache flag before (usually the inode cache), use\nthe SLAB_MEM_SPREAD flag too\", this should be easy enough to maintain.\nFuture file system writers will just copy one of the existing file system\nslab cache setups and tend to get it right without thinking.\n\nSigned-off-by: Paul Jackson \u003cpj@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "9b04c997b1120feefa1e6ee8e2902270bc055cd2",
      "tree": "09376b68d11ccce2a1ef53bac25a41a763ad36d0",
      "parents": [
        "6961ec8267d08e21011457b05d2263ec06bdcfe1"
      ],
      "author": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Fri Mar 24 03:15:10 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Mar 24 07:33:15 2006 -0800"
      },
      "message": "[PATCH] vfs: MS_VERBOSE should be MS_SILENT\n\nThe meaning of MS_VERBOSE is backwards; if the bit is set, it really means,\n\"don\u0027t be verbose\".  This is confusing and counter-intuitive.\n\nIn addition, there is also no way to set the MS_VERBOSE flag in the\nmount(8) program in util-linux, but interesting, it does define options\nwhich would do the right thing if MS_SILENT were defined, which\nunfortunately we do not:\n\n#ifdef MS_SILENT\n  { \"quiet\",    0, 0, MS_SILENT    },   /* be quiet  */\n  { \"loud\",     0, 1, MS_SILENT    },   /* print out messages. */\n#endif\n\nSo the obvious fix is to deprecate the use of MS_VERBOSE and replace it\nwith MS_SILENT.\n\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "21eeb7aa116b1f59fc23339521173cbb13e57f1a",
      "tree": "aca16132a18dca8c8bf3417d118ad9d98834db32",
      "parents": [
        "bc4117f8767203927e78b92e9e5b3ddb71d6a84d"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@mtd.linutronix.de",
        "time": "Tue Nov 29 16:57:17 2005 +0100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@mtd.linutronix.de",
        "time": "Tue Nov 29 16:57:17 2005 +0100"
      },
      "message": "[JFFS2] Fix the slab cache constructor of \u0027struct jffs2_inode_info\u0027 objects.\n\nJFFS2 initialize f-\u003esem mutex as \"locked\" in the slab constructor which is a\nbug. Objects are freed with unlocked f-\u003esem mutex. So, when they allocated\nagain, f-\u003esem is unlocked because the slab cache constructor is not called for\nthem. The constructor is called only once when memory pages are allocated for\nobjects (namely, when the slab layer allocates new slabs). So, sometimes\n\u0027struct jffs2_inode_info\u0027 are allocated with unlocked f-\u003esem, sometimes with\nlocked. This is a bug. Instead, initialize f-\u003esem as unlocked in the\nconstructor. I.e., in the \"constructed\" state f-\u003esem must be unlocked.\n\nFrom: Keijiro Yano \u003ckeijiro_yano@yahoo.co.jp\u003e\nAcked-by: Artem B. Bityutskiy \u003cdedekind@infradead.org\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "182ec4eee397543101a6db8906ed88727d3f7e53",
      "tree": "0f6dd2c52697123702bdf0c3a7143537f947b060",
      "parents": [
        "97894cda5773e59bd13e87b72077751099419a9f"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Mon Nov 07 11:16:07 2005 +0000"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@mtd.linutronix.de",
        "time": "Mon Nov 07 14:18:56 2005 +0100"
      },
      "message": "[JFFS2] Clean up trailing white spaces\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "e631ddba588783edd521c5a89f7b2902772fb691",
      "tree": "e25f322ee498b344f058ce4a40060baa22a5f105",
      "parents": [
        "15017876751e4c2d786ba95920618359fe2b4f0a"
      ],
      "author": {
        "name": "Ferenc Havasi",
        "email": "havasi@inf.u-szeged.hu",
        "time": "Wed Sep 07 09:35:26 2005 +0100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@mtd.linutronix.de",
        "time": "Sun Nov 06 21:29:48 2005 +0100"
      },
      "message": "[JFFS2] Add erase block summary support (mount time improvement)\n\nThe goal of summary is to speed up the mount time. Erase block summary (EBS)\nstores summary information at the end of every (closed) erase block. It is\nno longer necessary to scan all nodes separetly (and read all pages of them)\njust read this \"small\" summary, where every information is stored which is\nneeded at mount time.\n\nThis summary information is stored in a JFFS2_FEATURE_RWCOMPAT_DELETE. During\nthe mount process if there is no summary info the orignal scan process will\nbe executed. EBS works with NAND and NOR flashes, too.\n\nThere is a user space tool called sumtool to generate this summary\ninformation for a JFFS2 image.\n\nSigned-off-by: Ferenc Havasi \u003chavasi@inf.u-szeged.hu\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "4ce1f562189696605a84813cf71847c0cc698414",
      "tree": "1ec543b00db38f5ae8db38f0f881db11ebb5d010",
      "parents": [
        "f0507530cbedf37515e0d803c332cdb81b34e71a"
      ],
      "author": {
        "name": "Ferenc Havasi",
        "email": "havasi@inf.u-szeged.hu",
        "time": "Wed Aug 31 14:51:04 2005 +0100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@mtd.linutronix.de",
        "time": "Sun Nov 06 21:08:27 2005 +0100"
      },
      "message": "[JFFS2] Remove support for virtual blocks\n\nRemove support for virtual blocks, which are build by\nconcatenation of multiple physical erase blocks.\n\nFor more information please read the MTD mailing list thread\n\"[PATCH] remove support for virtual blocks\"\n\nSigned-off-by: Ferenc Havasi \u003chavasi@inf.u-szeged.hu\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "b62205986a73a40e4fc174d2ef668e3895e925bc",
      "tree": "e5754d64dcdf508dd4f3602135c963990d261411",
      "parents": [
        "e4fef6618992bea48b7856ebbd236796b744964f"
      ],
      "author": {
        "name": "Artem B. Bityuckiy",
        "email": "dedekind@infradead.org",
        "time": "Tue Jul 12 17:37:12 2005 +0100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@mtd.linutronix.de",
        "time": "Wed Jul 13 00:02:33 2005 +0200"
      },
      "message": "[JFFS2] Init locks early during mount\n\nIn case of a mount error locks might be uninitialized but\naccessed by the resulting call to jffs2_kill_sb().\n\nSigned-off-by: Artem B. Bityuckiy \u003cdedekind@infradead.org\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "a69dde91e8940b49bdc9920dd65ec02c6a51f85c",
      "tree": "f7e4359c4a7d6238a64ab104b0fbb11c4e123971",
      "parents": [
        "4132ace8d6f1b57839048548a17a0265f889aa3e"
      ],
      "author": {
        "name": "Artem B. Bityuckiy",
        "email": "dedekind@infradead.org",
        "time": "Wed May 18 12:37:28 2005 +0100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@mtd.linutronix.de",
        "time": "Mon May 23 13:20:19 2005 +0200"
      },
      "message": "[JFFS2] Kill GC thread before cleanup\n\nFirst kill GC thread, then start clearing the internal structures\n\nSigned-off-by: Artem B. Bityuckiy \u003cdedekind@infradead.org\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "2f82ce1eb637c06dfc60f095cd1891ae0ba4894c",
      "tree": "425727d05f70fdd55d5cf715c7acbeca6aeeeb18",
      "parents": [
        "8f15fd55f9bf266139b10850947e19c4e3f4e9b7"
      ],
      "author": {
        "name": "Andrew Victor",
        "email": "andrew@sanpeople.com",
        "time": "Wed Feb 09 09:24:26 2005 +0000"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@mtd.linutronix.de",
        "time": "Mon May 23 12:29:43 2005 +0200"
      },
      "message": "[JFFS2] Use a single config option for write buffer support\n\nThis patch replaces the current CONFIG_JFFS2_FS_NAND, CONFIG_JFFS2_FS_NOR_ECC\nand CONFIG_JFFS2_FS_DATAFLASH with a single configuration option -\nCONFIG_JFFS2_FS_WRITEBUFFER.\n\nThe only functional change of this patch is that the slower div/mod\ncalculations for SECTOR_ADDR(), PAGE_DIV() and PAGE_MOD() are now always\nused when CONFIG_JFFS2_FS_WRITEBUFFER is enabled.\n\nSigned-off-by: Andrew Victor \u003candrew@sanpeople.com\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "1da177e4c3f41524e886b7f1b8a0c1fc7321cac2",
      "tree": "0bba044c4ce775e45a88a51686b5d9f90697ea9d",
      "parents": [],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sat Apr 16 15:20:36 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sat Apr 16 15:20:36 2005 -0700"
      },
      "message": "Linux-2.6.12-rc2\n\nInitial git repository build. I\u0027m not bothering with the full history,\neven though we have it. We can create a separate \"historical\" git\narchive of that later if we want to, and in the meantime it\u0027s about\n3.2GB when imported into git - space that would just make the early\ngit days unnecessarily complicated, when we don\u0027t have a lot of good\ninfrastructure for it.\n\nLet it rip!\n"
    }
  ]
}
