)]}'
{
  "log": [
    {
      "commit": "6f772fe65c7aa1a4679739d885775f07492a6eea",
      "tree": "fcb8c33f59f500106a078e8c9b4b032039aa5c05",
      "parents": [
        "beeae05138baf615a0284fc4a9022c33271ee37c"
      ],
      "author": {
        "name": "Stefani Seibold",
        "email": "stefani@seibold.net",
        "time": "Wed Jan 12 17:01:10 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 13 08:03:23 2011 -0800"
      },
      "message": "cramfs: generate unique inode number for better inode cache usage\n\nGenerate a unique inode numbers for any entries in the cram file system.\nFor files which did not contain data\u0027s (device nodes, fifos and sockets)\nthe offset of the directory entry inside the cramfs plus 1 will be used as\ninode number.\n\nThe + 1 for the inode will it make possible to distinguish between a file\nwhich contains no data and files which has data, the later one has a inode\nvalue where the lower two bits are always 0.\n\nIt also reimplements the behavior to set the size and the number of block\nto 0 for special file, which is the right value for empty files, devices,\nfifos and sockets\n\nAs a little benefit it will be also more compatible which older mkcramfs,\nbecause it will never use the cramfs_inode-\u003eoffset for creating a inode\nnumber for special files.\n\n[akpm@linux-foundation.org: trivial comment fix]\n[akpm@linux-foundation.org: coding-style fixes]\nSigned-off-by: Stefani Seibold \u003cstefani@seibold.net\u003e\nCc: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nCc: Pekka Enberg \u003cpenberg@kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "152a08366671080f27b32e0c411ad620c5f88b57",
      "tree": "d13d16028f74839c678bce355ba8aac75d939fa8",
      "parents": [
        "c96e41e92b4aaf11e1f9775ecf0d1c8cbff829ed"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sun Jul 25 00:46:55 2010 +0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Fri Oct 29 04:16:13 2010 -0400"
      },
      "message": "new helper: mount_bdev()\n\n... and switch of the obvious get_sb_bdev() users to -\u003emount()\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "b845ff8f3ea2988ad5041315e2d35298e85cbc2f",
      "tree": "b2b4c7aaa45281ad8e0b1f39679ea7e2ff58da7e",
      "parents": [
        "f4ae2faa40199b97b12f508234640bc565d166f8"
      ],
      "author": {
        "name": "Alexander Shishkin",
        "email": "virtuoso@slind.org",
        "time": "Tue Aug 17 17:08:35 2010 +0300"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Wed Aug 18 01:01:33 2010 -0400"
      },
      "message": "cramfs: only unlock new inodes\n\nCommit 77b8a75f5bb introduced a warning at fs/inode.c:692 unlock_new_inode(),\ncaused by unlock_new_inode() being called on existing inodes as well.\n\nThis patch changes setup_inode() to only call unlock_new_inode() for I_NEW\ninodes.\n\nSigned-off-by: Alexander Shishkin \u003cvirtuoso@slind.org\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "77b8a75f5bb461951148a7211ef30eecac5cb662",
      "tree": "695040da119d4ebed2b00ff7b4d85c0f250f9053",
      "parents": [
        "b69257f2502e046beac7b9a3086fda552eb4d7e9"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Fri Jun 04 21:19:01 2010 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Aug 09 16:47:51 2010 -0400"
      },
      "message": "simplify get_cramfs_inode()\n\nsimply don\u0027t hash the inodes that don\u0027t have real inumber instead of\nskipping them during iget5_locked(); as the result, simple iget_locked()\nwould do and we can get rid of cramfs -\u003edrop_inode() as well.\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "94ea77ac696d76522ad32a51e84a969f83284eda",
      "tree": "093e7553289e1a7f10b960f808cb86136757dbe9",
      "parents": [
        "8587246a004d6ac10aa12c10e3474cfd9dafa44a"
      ],
      "author": {
        "name": "Coly Li",
        "email": "coly.li@suse.de",
        "time": "Thu Apr 02 16:59:33 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Apr 02 19:05:08 2009 -0700"
      },
      "message": "fs/cramfs: return f_fsid for statfs(2)\n\nMake cramfs return f_fsid info for statfs(2).\n\nSigned-off-by: Coly Li \u003ccoly.li@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "98310e581e098514867573031b2bfa4ba89c0d93",
      "tree": "b4eeec1516af4be7bd7f3f64dbf49f80e84b2bca",
      "parents": [
        "6e873ec71d091f52510f6aa9bc71d4732438522a"
      ],
      "author": {
        "name": "David VomLehn",
        "email": "dvomlehn@cisco.com",
        "time": "Thu Apr 02 16:59:15 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Apr 02 19:05:07 2009 -0700"
      },
      "message": "cramfs: propagate uncompression errors\n\nDecompression errors can arise due to corruption of compressed blocks on\nflash or in memory.  This patch propagates errors detected during\ndecompression back to the block layer.\n\nSigned-off-by: David VomLehn \u003cdvomlehn@cisco.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "2a22783be0fbbd63599dd6aacf8bc2ddab941bf7",
      "tree": "409b63efd212ced91101fea07009ec07d1824cd4",
      "parents": [
        "571f0a0bdeeb2d1692751b6c5df15dafb483c7ff"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Thu Jan 22 10:56:54 2009 +0300"
      },
      "committer": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Thu Jan 22 13:15:58 2009 +0300"
      },
      "message": "fs/Kconfig: move cramfs out\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\n"
    },
    {
      "commit": "56ff5efad96182f4d3cb3dc6b07396762c658f16",
      "tree": "cb91f93aa2324573527165d56d230b606a3111ed",
      "parents": [
        "acfa4380efe77e290d3a96b11cd4c9f24f4fbb18"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Dec 09 09:34:39 2008 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Jan 05 11:54:28 2009 -0500"
      },
      "message": "zero i_uid/i_gid on inode allocation\n\n... and don\u0027t bother in callers.  Don\u0027t bother with zeroing i_blocks,\nwhile we are at it - it\u0027s already been zeroed.\n\ni_mode is not worth the effort; it has no common default value.\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "82d63fc9e30687c055b97928942b8893ea65b0bb",
      "tree": "c767b9a7a41893c434e85532f3e02515433076f1",
      "parents": [
        "d847471d063663b9f36927d265c66a270c0cfaab"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@ZenIV.linux.org.uk",
        "time": "Wed Aug 20 14:09:24 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Aug 20 15:40:32 2008 -0700"
      },
      "message": "cramfs: fix named-pipe handling\n\nAfter commit a97c9bf33f4612e2aed6f000f6b1d268b6814f3c (fix cramfs\nmaking duplicate entries in inode cache) in kernel 2.6.14, named-pipe\non cramfs does not work properly.\n\nIt seems the commit make all named-pipe on cramfs share their inode\n(and named-pipe buffer).\n\nMake ..._test() refuse to merge inodes with -\u003ei_ino \u003d\u003d 1, take inode setup\nback to get_cramfs_inode() and make -\u003edrop_inode() evict ones with -\u003ei_ino\n\u003d\u003d 1 immediately.\n\nReported-by: Atsushi Nemoto \u003canemo@mba.ocn.ne.jp\u003e\nCc: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nCc: \u003cstable@kernel.org\u003e\t\t[2.6.14 and later]\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "cb688371e27880d86c42323826846d1cd7caad8f",
      "tree": "1be4f5bb437e86a547365a94aed5ade23adb09da",
      "parents": [
        "d3135846f6c1858dbad6ccb780a42e6c98953e6d"
      ],
      "author": {
        "name": "Matthew Wilcox",
        "email": "matthew@wil.cx",
        "time": "Tue Feb 26 09:59:26 2008 -0500"
      },
      "committer": {
        "name": "Matthew Wilcox",
        "email": "willy@linux.intel.com",
        "time": "Fri Apr 18 22:16:44 2008 -0400"
      },
      "message": "fs: Remove unnecessary inclusions of asm/semaphore.h\n\nNone of these files use any of the functionality promised by\nasm/semaphore.h.\n\nSigned-off-by: Matthew Wilcox \u003cwilly@linux.intel.com\u003e\n"
    },
    {
      "commit": "4176ed593866b5e4bcf86896e0734315ad46661b",
      "tree": "18756b3b0f2ede9925ec8e2ded3652bf76120041",
      "parents": [
        "6bbfb0776615b3cb84ccfec8f5d6214938143b2a"
      ],
      "author": {
        "name": "Andi Drebes",
        "email": "lists-receive@programmierforen.de",
        "time": "Thu Oct 18 03:06:55 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Oct 18 14:37:29 2007 -0700"
      },
      "message": "fs/cramfs/inode.c: replace hardcoded value with preprocessor constant\n\nRemove the hardcoded value 256 in fs/cramfs/inode.c and replaces it with\nCRAMFS_MAXPATHLEN.\n\nTested on an i386 box.\nSigned-off-by: Andi Drebes \u003clists-receive@programmierforen.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "6bbfb0776615b3cb84ccfec8f5d6214938143b2a",
      "tree": "00fc93a6097ddd49af32f054216c23d806282592",
      "parents": [
        "b8dc93cbe91324b922395919cd5df4cca2fe55f6"
      ],
      "author": {
        "name": "Andi Drebes",
        "email": "lists-receive@programmierforen.de",
        "time": "Thu Oct 18 03:06:54 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Oct 18 14:37:29 2007 -0700"
      },
      "message": "fs/cramfs/inode.c: remove unused variable\n\nRemove a variable that is never read.\n\nSigned-off-by: Andi Drebes \u003clists-receive@programmierforen.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "ac8d35c5658377c280dc830352f66233e2f76f73",
      "tree": "bf0f460defa448c4a01c8d3acb6fa1d03c48fc36",
      "parents": [
        "7f44c3621a41576d755668c48d0caf894c228fa9"
      ],
      "author": {
        "name": "Andi Drebes",
        "email": "lists-receive@programmierforen.de",
        "time": "Tue Oct 16 23:27:12 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Oct 17 08:42:53 2007 -0700"
      },
      "message": "cramfs: error message about endianess\n\nThe README file in the cramfs subdirectory says: \"All data is currently in\nhost-endian format; neither mkcramfs nor the kernel ever do swabbing.\"\n\nIf somebody tries to mount a cramfs with the wrong endianess, cramfs only\ncomplains about a wrong magic but doesn\u0027t inform the user that only the\nendianess isn\u0027t right.\n\nThe following patch adds an error message to the cramfs sources.  If a user\ntries to mount a cramfs with the wrong endianess using the patched sources,\ncramfs will display the message \"cramfs: wrong endianess\".\n\nSigned-off-by: Andi Drebes \u003clists-receive@programmierforen.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "6fe6900e1e5b6fa9e5c59aa5061f244fe3f467e2",
      "tree": "8bbfe5072279227cc50a941ad4813908082426a1",
      "parents": [
        "714b8171af9c930a59a0da8f6fe50518e70ab035"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "npiggin@suse.de",
        "time": "Sun May 06 14:49:04 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon May 07 12:12:51 2007 -0700"
      },
      "message": "mm: make read_cache_page synchronous\n\nEnsure pages are uptodate after returning from read_cache_page, which allows\nus to cut out most of the filesystem-internal PageUptodate calls.\n\nI didn\u0027t have a great look down the call chains, but this appears to fixes 7\npossible use-before uptodate in hfs, 2 in hfsplus, 1 in jfs, a few in\necryptfs, 1 in jffs2, and a possible cleared data overwritten with readpage in\nblock2mtd.  All depending on whether the filler is async and/or can return\nwith a !uptodate page.\n\nSigned-off-by: Nick Piggin \u003cnpiggin@suse.de\u003e\nCc: Hugh Dickins \u003chugh@veritas.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.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": "754661f143e70d66eae6c48532ca245aa05dec0e",
      "tree": "c3ed0f7f96061931e497ed92d2b21294756b4831",
      "parents": [
        "9c2e08c592cd357a8330c34def1e8ecfdcf53275"
      ],
      "author": {
        "name": "Arjan van de Ven",
        "email": "arjan@linux.intel.com",
        "time": "Mon Feb 12 00:55:38 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Feb 12 09:48:46 2007 -0800"
      },
      "message": "[PATCH] mark struct inode_operations const 1\n\nMany struct inode_operations in the kernel can be \"const\".  Marking them const\nmoves these to the .rodata section, which avoids false sharing with potential\ndirty data.  In addition it\u0027ll catch accidental writes at compile time to\nthese shared resources.\n\nSigned-off-by: Arjan van de Ven \u003carjan@linux.intel.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "352d8af748a1bee0935987b811c9fc4693803d99",
      "tree": "92910d9b0ea82ad4449096a120a46f5a490d1d78",
      "parents": [
        "f04538c38134edf5f424dc24fda6ef46da736734"
      ],
      "author": {
        "name": "Josef Sipek",
        "email": "jsipek@fsl.cs.sunysb.edu",
        "time": "Fri Dec 08 02:36:58 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Fri Dec 08 08:28:44 2006 -0800"
      },
      "message": "[PATCH] struct path: convert cramfs\n\nSigned-off-by: Josef Sipek \u003cjsipek@fsl.cs.sunysb.edu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "8bb0269160df2a60764013994d0bc5165406cf4a",
      "tree": "1d91813ab99469213ee72afe90e7341a58a7fa79",
      "parents": [
        "2e591bbc0d563e12f5a260fbbca0df7d5810910e"
      ],
      "author": {
        "name": "Phillip Lougher",
        "email": "phillip@lougher.org.uk",
        "time": "Wed Dec 06 20:37:20 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Thu Dec 07 08:39:36 2006 -0800"
      },
      "message": "[PATCH] corrupted cramfs filesystems cause kernel oops\n\nSteve Grubb\u0027s fzfuzzer tool (http://people.redhat.com/sgrubb/files/\nfsfuzzer-0.6.tar.gz) generates corrupt Cramfs filesystems which cause\nCramfs to kernel oops in cramfs_uncompress_block().  The cause of the oops\nis an unchecked corrupted block length field read by cramfs_readpage().\n\nThis patch adds a sanity check to cramfs_readpage() which checks that the\nblock length field is sensible.  The (PAGE_CACHE_SIZE \u003c\u003c 1) size check is\nintentional, even though the uncompressed data is not going to be larger\nthan PAGE_CACHE_SIZE, gzip sometimes generates compressed data larger than\nthe original source data.  Mkcramfs checks that the compressed size is\nalways less than or equal to PAGE_CACHE_SIZE \u003c\u003c 1.  Of course Cramfs could\nuse the original uncompressed data in this case, but it doesn\u0027t.\n\nSigned-off-by: Phillip Lougher \u003cphillip@lougher.org.uk\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "368bdb3d616fa352971f45b423ae6344715e620b",
      "tree": "dcb02bd584d5d23c12393726f91694b1fc03ccc1",
      "parents": [
        "a4376e13ce07774be14e83fe501ef5c8500b83a1"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Fri Sep 29 02:01:05 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Sep 29 09:18:20 2006 -0700"
      },
      "message": "[PATCH] cramfs: make cramfs_uncompress_exit() return void\n\nIt always returns 0, so relying on it is useless.  The only caller isn\u0027t\nchecking return value.  In general, un-, de-, -free functions should return\nvoid.\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "50d44ed009a628e6d5c784fae18ea743d7cf199a",
      "tree": "596b91bfd22d0101619599e5085451e9558421fe",
      "parents": [
        "dcc8e559ee5ae03fa6bdb8611d76d86d0083e793"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Fri Sep 29 02:01:04 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Sep 29 09:18:20 2006 -0700"
      },
      "message": "[PATCH] cramfs: rewrite init_cramfs_fs()\n\nTwo lines -- two bugs. :-(\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "ba52de123d454b57369f291348266d86f4b35070",
      "tree": "3973f3f3c853b5857b6b64a027cadd4fe954e3b9",
      "parents": [
        "577c4eb09d1034d0739e3135fd2cff50588024be"
      ],
      "author": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Wed Sep 27 01:50:49 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Sep 27 08:26:18 2006 -0700"
      },
      "message": "[PATCH] inode-diet: Eliminate i_blksize from the inode structure\n\nThis eliminates the i_blksize field from struct inode.  Filesystems that want\nto provide a per-inode st_blksize can do so by providing their own getattr\nroutine instead of using the generic_fillattr() function.\n\nNote that some filesystems were providing pretty much random (and incorrect)\nvalues for i_blksize.\n\n[bunk@stusta.de: cleanup]\n[akpm@osdl.org: generic_fillattr() fix]\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\nSigned-off-by: Adrian Bunk \u003cbunk@stusta.de\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": "f5e54d6e53a20cef45af7499e86164f0e0d16bb2",
      "tree": "cb92acbb89b84796261bf5563182261ec5654127",
      "parents": [
        "a052b68b1e7a31f1e6a721290035e9deb0f6fed9"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Wed Jun 28 04:26:44 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Jun 28 14:59:04 2006 -0700"
      },
      "message": "[PATCH] mark address_space_operations const\n\nSame as with already do with the file operations: keep them in .rodata and\nprevents people from doing runtime patching.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nCc: Steven French \u003csfrench@us.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "090d2b185d8680fc26a2eaf4245d4171dcf4baf1",
      "tree": "67e604e3cd1bad3cfd034bced19a0fbff6a80c30",
      "parents": [
        "c330dda908b5a46469a997eea90b66f2f9f02b34"
      ],
      "author": {
        "name": "Pekka Enberg",
        "email": "penberg@cs.helsinki.fi",
        "time": "Fri Jun 23 02:05:08 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Jun 23 07:43:02 2006 -0700"
      },
      "message": "[PATCH] read_mapping_page for address space\n\nAdd read_mapping_page() which is used for callers that pass\nmapping-\u003ea_ops-\u003ereadpage as the filler for read_cache_page.  This removes\nsome duplication from filesystem code.\n\nSigned-off-by: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "726c334223180e3c0197cc980a432681370d4baf",
      "tree": "8327b354bb3dc959a6606051ae6f8d4d035e38a2",
      "parents": [
        "454e2398be9b9fa30433fccc548db34d19aa9958"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Fri Jun 23 02:02:58 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 perform statfs with a known root dentry\n\nGive the statfs superblock operation a dentry pointer rather than a superblock\npointer.\n\nThis complements the get_sb() patch.  That reduced the significance of\nsb-\u003es_root, allowing NFS to place a fake root there.  However, NFS does\nrequire a dentry to use as a target for the statfs operation.  This permits\nthe root in the vfsmount to be used instead.\n\nlinux/mount.h has been added where necessary to make allyesconfig build\nsuccessfully.\n\nInterest has also been expressed for use with the FUSE and XFS filesystems.\n\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\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\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": "4b6f5d20b04dcbc3d888555522b90ba6d36c4106",
      "tree": "420f271eaef7d3def7d4433b151c3cb6d7a54770",
      "parents": [
        "99ac48f54a91d02140c497edc31dc57d4bc5c85d"
      ],
      "author": {
        "name": "Arjan van de Ven",
        "email": "arjan@infradead.org",
        "time": "Tue Mar 28 01:56:42 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Mar 28 09:16:06 2006 -0800"
      },
      "message": "[PATCH] Make most file operations structs in fs/ const\n\nThis is a conversion to make the various file_operations structs in fs/\nconst.  Basically a regexp job, with a few manual fixups\n\nThe goal is both to increase correctness (harder to accidentally write to\nshared datastructures) and reducing the false sharing of cachelines with\nthings that get dirty in .data (while .rodata is nicely read only and thus\ncache clean)\n\nSigned-off-by: Arjan van de Ven \u003carjan@infradead.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "353ab6e97b8f209dbecc9f650f1f84e3da2a7bb1",
      "tree": "bffabd9a5a493ffd2b41dd825e71e848ca6ba6d7",
      "parents": [
        "e655a250d5fc12b6dfe0d436180ba4a3bfffdc9f"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun Mar 26 01:37:12 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Mar 26 08:56:55 2006 -0800"
      },
      "message": "[PATCH] sem2mutex: fs/\n\nSemaphore to mutex conversion.\n\nThe conversion was generated via scripts, and the result was validated\nautomatically via a script as well.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Eric Van Hensbergen \u003cericvh@ericvh.myip.org\u003e\nCc: Robert Love \u003crml@tech9.net\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: David Woodhouse \u003cdwmw2@infradead.org\u003e\nCc: Neil Brown \u003cneilb@cse.unsw.edu.au\u003e\nCc: Trond Myklebust \u003ctrond.myklebust@fys.uio.no\u003e\nCc: Dave Kleikamp \u003cshaggy@austin.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "ff3aea0e68bfd46120ce2d08bc1f8240fa2bd36a",
      "tree": "6994ee69f5007218ce5b6cc1b14e372ebffc457f",
      "parents": [
        "9888e6fa7b68d9c8cc2c162a90979825ab45150a"
      ],
      "author": {
        "name": "Dave Johnson",
        "email": "djohnson@sw.starentnetworks.com",
        "time": "Mon Mar 06 15:42:36 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Mar 06 18:40:43 2006 -0800"
      },
      "message": "[PATCH] cramfs mounts provide corrupted content since 2.6.15\n\nFix handling of cramfs images created by util-linux containing empty\nregular files.  Images created by cramfstools 1.x were ok.\n\nFill out inode contents in cramfs_iget5_set() instead of get_cramfs_inode()\nto prevent issues if cramfs_iget5_test() is called with I_LOCK|I_NEW still\nset.\n\nSigned-off-by: Dave Johnson \u003cdjohnson+linux-kernel@sw.starentnetworks.com\u003e\nCc: Olaf Hering \u003colh@suse.de\u003e\nCc: Chris Mason \u003cmason@suse.com\u003e\nCc: Andreas Gruenbacher \u003cagruen@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "e711700a0e6a6824fcfd5519d6b6982850a648ee",
      "tree": "23b0fd5b0498c8cb5776f7c4ad8c143c23df40f3",
      "parents": [
        "b01d8684e9e5b04270970c97df856d47668267e3"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@stusta.de",
        "time": "Sat Sep 10 00:27:20 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sat Sep 10 10:06:35 2005 -0700"
      },
      "message": "[PATCH] fs/cramfs/uncompress.c should #include \u003clinux/cramfs_fs.h\u003e\n\nEvery file should #include the header with the prototypes of the global\nfunctions it is offering.\n\nSigned-off-by: Adrian Bunk \u003cbunk@stusta.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "a97c9bf33f4612e2aed6f000f6b1d268b6814f3c",
      "tree": "5950b47e63f046ff4ce0812720a356ca3eac20dd",
      "parents": [
        "7f4bde9a3486cd7e70bedd2aff35b38667d50173"
      ],
      "author": {
        "name": "Dave Johnson",
        "email": "djohnson+linux-kernel@sw.starentnetworks.com",
        "time": "Tue Sep 06 15:17:40 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Sep 07 16:57:33 2005 -0700"
      },
      "message": "[PATCH] fix cramfs making duplicate entries in inode cache\n\nEvery time cramfs_lookup() is called to lookup and inode for a dentry,\nget_cramfs_inode() will allocate a new inode without checking to see if that\ninode already exists in the inode cache.\n\nThis is fine the first time, but if the dentry cache entry(ies) associated\nwith that inode are aged out, but the inode entry is not aged out (which can\nbe quite common if the inode has buffer cache linked to it), cramfs_lookup()\nwill be called again and another inode will be allocated and added to the\ninode cache creating a duplicate in the inode cache.\n\nThe big issue here is that the buffers associated with each inode cache entry\nare not shared between the duplicates!\n\nThe older inode entries are now orphaned as no dentry points to it and won\u0027t\nbe freed until the buffer cache assoicated with them are first freed.  The\nnewest entry will have to create all new buffer cache for each part of its\nfile as the old buffer cache is now orphaned as well.\n\nPatch below fixes this by making get_cramfs_inode() use the inode cache before\nblindly creating a new entry every time.  This eliminates the duplicate inodes\nand duplicate buffer cache.\n\nCc: Phillip Lougher \u003cphillip@lougher.demon.co.uk\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\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"
    }
  ]
}
