)]}'
{
  "log": [
    {
      "commit": "d91958815d214ea365b98cbff6215383897edcb6",
      "tree": "a50416a04c9ae84c4242dbec62d8f211d97ea4d2",
      "parents": [
        "19fd6231279be3c3bdd02ed99f9b0eb195978064"
      ],
      "author": {
        "name": "Matt LaPlante",
        "email": "kernel1@cyberdogtech.com",
        "time": "Fri Jul 25 19:45:33 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Jul 26 12:00:06 2008 -0700"
      },
      "message": "Documentation cleanup: trivial misspelling, punctuation, and grammar corrections.\n\nCc: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "33dcdac2df54e66c447ae03f58c95c7251aa5649",
      "tree": "72163e37bd44452581f68d7991b14e70f37b8bba",
      "parents": [
        "dca3c33652e437ed02c30ed3eca3cecd0cc00838"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Tue Apr 29 17:46:26 2008 +0200"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue May 06 13:45:34 2008 -0400"
      },
      "message": "[PATCH] kill -\u003eput_inode\n\nAnd with that last patch to affs killing the last put_inode instance we\ncan finally, after many years of transition kill this racy and awkward\ninterface.\n\n(It\u0027s kinda funny that even the description in\nDocumentation/filesystems/vfs.txt was entirely wrong..)\n\nAlso remove a very misleading comment above the defintion of\nstruct super_operations.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "f84e3f521e1449300e0fdc314b7b43b418a66dc3",
      "tree": "a74cfd2dfb32bc0d4d5299737055c3d0027164f9",
      "parents": [
        "e542059884bb6d651d7ffc64eacedbab2b64078c"
      ],
      "author": {
        "name": "Miklos Szeredi",
        "email": "mszeredi@suse.cz",
        "time": "Fri Feb 08 04:21:34 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Feb 08 09:22:39 2008 -0800"
      },
      "message": "mount options: add documentation\n\nThis series addresses the problem of showing mount options in\n/proc/mounts.\n\nSeveral filesystems which use mount options, have not implemented a\n.show_options superblock operation.  Several others have implemented\nthis callback, but have not kept it fully up to date with the parsed\noptions.\n\nQ: Why do we need correct option showing in /proc/mounts?\nA: We want /proc/mounts to fully replace /etc/mtab.  The reasons for\n   this are:\n    - unprivileged mounters won\u0027t be able to update /etc/mtab\n    - /etc/mtab doesn\u0027t work with private mount namespaces\n    - /etc/mtab can become out-of-sync with reality\n\nQ: Can\u0027t this be done, so that filesystems need not bother with\n   implementing a .show_mounts callback, and keeping it up to date?\nA: Only in some cases.  Certain filesystems allow modification of a\n   subset of options in their remount_fs method.  It is not possible\n   to take this into account without knowing exactly how the\n   filesystem handles options.\n\nFor the simple case (no remount or remount resets all options) the\npatchset introduces two helpers:\n\n  generic_show_options()\n  save_mount_options()\n\nThese can also be used to emulate the old /etc/mtab behavior, until\nproper support is added.  Even if this is not 100% correct, it\u0027s still\nbetter than showing no options at all.\n\nThe following patches fix up most in-tree filesystems, some have been\ncompile tested only, some have been reviewed and acked by the\nmaintainer.\n\nTable displaying status of all in-kernel filesystems:\n- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -\nlegend:\n\n  none - fs has options, but doesn\u0027t define -\u003eshow_options()\n  some - fs defines -\u003eshow_options(), but some only options are shown\n  good - fs shows all options\n  noopt - fs does not have options\n  patch - a patch will be posted\n  merged - a patch has been merged by subsystem maintainer\n\n9p          good\nadfs        patch\naffs        patch\nafs         patch\nautofs      patch\nautofs4     patch\nbefs        patch\nbfs         noopt\ncifs        some\ncoda        noopt\nconfigfs    noopt\ncramfs      noopt\ndebugfs     noopt\ndevpts      patch\necryptfs    good\nefs         noopt\next2        patch\next3        good\next4        merged\nfat         patch\nfreevxfs    noopt\nfuse        patch\nfusectl\t    noopt\ngfs2        good\ngfs2meta    noopt\nhfs         good\nhfsplus     good\nhostfs      patch\nhpfs        patch\nhppfs       noopt\nhugetlbfs   patch\nisofs       patch\njffs2       noopt\njfs         merged\nminix       noopt\nmsdos       -\u003efat\nncpfs       patch\nnfs         some\nnfsd        noopt\nntfs        good\nocfs2       good\nocfs2/dlmfs noopt\nopenpromfs  noopt\nproc        noopt\nqnx4        noopt\nramfs       noopt\nreiserfs    patch\nromfs       noopt\nsmbfs       good\nsysfs       noopt\nsysv        noopt\nudf         patch\nufs         good\nvfat        -\u003efat\nxfs         good\n\nmm/shmem.c                                    patch\ndrivers/oprofile/oprofilefs.c                 noopt\ndrivers/infiniband/hw/ipath/ipath_fs.c        noopt\ndrivers/misc/ibmasm/ibmasmfs.c                noopt\ndrivers/usb/core (usbfs)                      merged\ndrivers/usb/gadget (gadgetfs)                 noopt\ndrivers/isdn/capi/capifs.c                    patch\nkernel/cpuset.c                               noopt\nfs/binfmt_misc.c                              noopt\nnet/sunrpc/rpc_pipe.c                         noopt\narch/powerpc/platforms/cell/spufs             patch\narch/s390/hypfs                               good\nipc/mqueue.c                                  noopt\nsecurity (securityfs)                         noopt\nsecurity/selinux/selinuxfs.c                  noopt\nkernel/cgroup.c                               good\nsecurity/smack/smackfs.c                      noopt\n\nin -mm:\n\nreiser4     some\nunionfs     good\n- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -\n\nThis patch:\n\nDocument the rules for handling mount options in the .show_options\nsuper operation.\n\nSigned-off-by: Miklos Szeredi \u003cmszeredi@suse.cz\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "12debc4248a4a7f1873e47cda2cdd7faca80b099",
      "tree": "1ad80b77d213ea09cb746d6e4d50c4316462a452",
      "parents": [
        "755aedc15900ff7d83dd046f632af9a680b0c28f"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Thu Feb 07 00:15:52 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Feb 07 08:42:29 2008 -0800"
      },
      "message": "iget: remove iget() and the read_inode() super op as being obsolete\n\nRemove the old iget() call and the read_inode() superblock operation it uses\nas these are really obsolete, and the use of read_inode() does not produce\nproper error handling (no distinction between ENOMEM and EIO when marking an\ninode bad).\n\nFurthermore, this removes the temptation to use iget() to find an inode by\nnumber in a filesystem from code outside that filesystem.\n\niget_locked() should be used instead.  A new function is added in an earlier\npatch (iget_failed) that is to be called to mark an inode as bad, unlock it\nand release it should the get routine fail.  Mark iget() and read_inode() as\nbeing obsolete and remove references to them from the documentation.\n\nTypically a filesystem will be modified such that the read_inode function\nbecomes an internal iget function, for example the following:\n\n\tvoid thingyfs_read_inode(struct inode *inode)\n\t{\n\t\t...\n\t}\n\nwould be changed into something like:\n\n\tstruct inode *thingyfs_iget(struct super_block *sp, unsigned long ino)\n\t{\n\t\tstruct inode *inode;\n\t\tint ret;\n\n\t\tinode \u003d iget_locked(sb, ino);\n\t\tif (!inode)\n\t\t\treturn ERR_PTR(-ENOMEM);\n\t\tif (!(inode-\u003ei_state \u0026 I_NEW))\n\t\t\treturn inode;\n\n\t\t...\n\t\tunlock_new_inode(inode);\n\t\treturn inode;\n\terror:\n\t\tiget_failed(inode);\n\t\treturn ERR_PTR(ret);\n\t}\n\nand then thingyfs_iget() would be called rather than iget(), for example:\n\n\tret \u003d -EINVAL;\n\tinode \u003d iget(sb, ino);\n\tif (!inode || is_bad_inode(inode))\n\t\tgoto error;\n\nbecomes:\n\n\tinode \u003d thingyfs_iget(sb, ino);\n\tif (IS_ERR(inode)) {\n\t\tret \u003d PTR_ERR(inode);\n\t\tgoto error;\n\t}\n\nNote that is_bad_inode() does not need to be called.  The error returned by\nthingyfs_iget() should render it unnecessary.\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\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": "bc5b1d55cc653622e612ddc015435c5471810a3c",
      "tree": "3fdc4df22819ee04ddc0d83fb4d07639e114b12d",
      "parents": [
        "b2fff3f1b52989dae8dfc76d0a093967c3b75d06"
      ],
      "author": {
        "name": "Shaun Zinck",
        "email": "shaun.zinck@gmail.com",
        "time": "Sat Oct 20 02:35:36 2007 +0200"
      },
      "committer": {
        "name": "Adrian Bunk",
        "email": "bunk@kernel.org",
        "time": "Sat Oct 20 02:35:36 2007 +0200"
      },
      "message": "Documentation/filesystems/vfs.txt: typo fix\n\nSigned-off-by: Shaun Zinck \u003cshaun.zinck@gmail.com\u003e\nSigned-off-by: Adrian Bunk \u003cbunk@kernel.org\u003e\n"
    },
    {
      "commit": "55144768e100b68447f44c5e5c9deb155ad661bd",
      "tree": "9889682ee3b64627ad9eb504f30672fad844752f",
      "parents": [
        "03158cd7eb3374843de68421142ca5900df845d9"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "npiggin@suse.de",
        "time": "Tue Oct 16 01:25:26 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Oct 16 09:42:58 2007 -0700"
      },
      "message": "fs: remove some AOP_TRUNCATED_PAGE\n\nprepare/commit_write no longer returns AOP_TRUNCATED_PAGE since OCFS2 and\nGFS2 were converted to the new aops, so we can make some simplifications\nfor that.\n\n[michal.k.k.piotrowski@gmail.com: fix warning]\nSigned-off-by: Nick Piggin \u003cnpiggin@suse.de\u003e\nCc: Michael Halcrow \u003cmhalcrow@us.ibm.com\u003e\nCc: Mark Fasheh \u003cmark.fasheh@oracle.com\u003e\nCc: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\nSigned-off-by: Michal Piotrowski \u003cmichal.k.k.piotrowski@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": "afddba49d18f346e5cc2938b6ed7c512db18ca68",
      "tree": "4726e3d3b0e9e8e5b5d3b2b0cccb36446bbdf3ca",
      "parents": [
        "637aff46f94a754207c80c8c64bf1b74f24b967d"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "npiggin@suse.de",
        "time": "Tue Oct 16 01:25:01 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Oct 16 09:42:55 2007 -0700"
      },
      "message": "fs: introduce write_begin, write_end, and perform_write aops\n\nThese are intended to replace prepare_write and commit_write with more\nflexible alternatives that are also able to avoid the buffered write\ndeadlock problems efficiently (which prepare_write is unable to do).\n\n[mark.fasheh@oracle.com: API design contributions, code review and fixes]\n[akpm@linux-foundation.org: various fixes]\n[dmonakhov@sw.ru: new aop block_write_begin fix]\nSigned-off-by: Nick Piggin \u003cnpiggin@suse.de\u003e\nSigned-off-by: Mark Fasheh \u003cmark.fasheh@oracle.com\u003e\nSigned-off-by: Dmitriy Monakhov \u003cdmonakhov@openvz.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "422b14c2e2f816f58ce8ce0ab0beeae02dfb7a75",
      "tree": "ef51d05486c9d3953ce8ed401764f0aac8e3ff94",
      "parents": [
        "d52988023a37720e9e4aeb66362be67fa21d8836"
      ],
      "author": {
        "name": "Borislav Petkov",
        "email": "bbpetkov@yahoo.de",
        "time": "Sun Jul 15 23:41:43 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Jul 16 09:05:51 2007 -0700"
      },
      "message": "update Documentation/filesystems/vfs.txt\n\nUpdate Documentation/filesystems/vfs.txt\n\nSigned-off-by: Borislav Petkov \u003cbbpetkov@yahoo.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "0746aec3c75f23de0148774ac50cf73161f09d68",
      "tree": "861be11b793f026145f503852065b9b5b6bbe31c",
      "parents": [
        "132e4b0a049c39337c535501561b8301c7f2b202"
      ],
      "author": {
        "name": "Borislav Petkov",
        "email": "bbpetkov@yahoo.de",
        "time": "Sun Jul 15 23:41:19 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Jul 16 09:05:48 2007 -0700"
      },
      "message": "update description in Documentation/filesystems/vfs.txt\n\nUpdate the description of struct file_system_type and get_sb() in\nDocumentation/filesystems/vfs.txt to match the current code.\n\nSigned-off-by: Borislav Petkov \u003cbbpetkov@yahoo.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "c23fbb6bcb3eb9cdf39a103edadf57bde8ce309c",
      "tree": "d79ab2278774de2c1a8061aa948ed068902e87b4",
      "parents": [
        "2793274298c4423d79701e9a8190f2940bf3c785"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "dada1@cosmosbay.com",
        "time": "Tue May 08 00:26:18 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue May 08 11:15:03 2007 -0700"
      },
      "message": "VFS: delay the dentry name generation on sockets and pipes\n\n1) Introduces a new method in \u0027struct dentry_operations\u0027.  This method\n   called d_dname() might be called from d_path() to build a pathname for\n   special filesystems.  It is called without locks.\n\n   Future patches (if we succeed in having one common dentry for all\n   pipes/sockets) may need to change prototype of this method, but we now\n   use : char *d_dname(struct dentry *dentry, char *buffer, int buflen);\n\n2) Adds a dynamic_dname() helper function that eases d_dname() implementations\n\n3) Defines d_dname method for sockets : No more sprintf() at socket\n   creation.  This is delayed up to the moment someone does an access to\n   /proc/pid/fd/...\n\n4) Defines d_dname method for pipes : No more sprintf() at pipe\n   creation.  This is delayed up to the moment someone does an access to\n   /proc/pid/fd/...\n\nA benchmark consisting of 1.000.000 calls to pipe()/close()/close() gives a\n*nice* speedup on my Pentium(M) 1.6 Ghz :\n\n3.090 s instead of 3.450 s\n\nSigned-off-by: Eric Dumazet \u003cdada1@cosmosbay.com\u003e\nAcked-by: Christoph Hellwig \u003chch@infradead.org\u003e\nAcked-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "955eff5acc8b8cd1c7d4eec0229c35eaabe013db",
      "tree": "08d61e41bc12f3d1d9160e39ae6b45df6b9687d9",
      "parents": [
        "c066332fb15adde1f37d874a67a1f9f7e4206484"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "npiggin@suse.de",
        "time": "Tue Feb 20 13:58:08 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Feb 20 17:10:15 2007 -0800"
      },
      "message": "[PATCH] fs: fix libfs data leak\n\nsimple_prepare_write leaks uninitialised kernel data.  This happens because\nthe it leaves an uninitialised \"hole\" over the part of the page that the\nwrite is expected to go to.  This is fine, but it then marks the page\nuptodate, which means a concurrent read can come in and copy the\nuninitialised memory into userspace before it written to.\n\nFix it by simply marking it uptodate in simple_commit_write instead, after\nthe hole has been filled in.  This could theoretically break an fs that\nuses simple_prepare_write and not simple_commit_write, and that relies on\nthe incorrect simple_prepare_write behaviour.  Luckily, none of those\nexists in the tree.\n\nSigned-off-by: Nick Piggin \u003cnpiggin@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": "670e9f34ee3c7e052514c85014d2fdd99b672cdc",
      "tree": "41f82a763ba6d5ca2fcb84d6a05808d095d4d051",
      "parents": [
        "53cb47268e6b38180d9f253527135e1c69c5d310"
      ],
      "author": {
        "name": "Paolo Ornati",
        "email": "ornati@fastwebnet.it",
        "time": "Tue Oct 03 22:57:56 2006 +0200"
      },
      "committer": {
        "name": "Adrian Bunk",
        "email": "bunk@stusta.de",
        "time": "Tue Oct 03 22:57:56 2006 +0200"
      },
      "message": "Documentation: remove duplicated words\n\nRemove many duplicated words under Documentation/ and do other small\ncleanups.\n\nExamples:\n        \"and and\" --\u003e \"and\"\n        \"in in\" --\u003e \"in\"\n        \"the the\" --\u003e \"the\"\n        \"the the\" --\u003e \"to the\"\n        ...\n\nSigned-off-by: Paolo Ornati \u003cornati@fastwebnet.it\u003e\nSigned-off-by: Adrian Bunk \u003cbunk@stusta.de\u003e\n"
    },
    {
      "commit": "027445c37282bc1ed26add45e573ad2d3e4860a5",
      "tree": "93eab101a938ffebaea64703033c8649df4d73f0",
      "parents": [
        "9ea0f9499d15c49df23e7aac4332d830c40e12d0"
      ],
      "author": {
        "name": "Badari Pulavarty",
        "email": "pbadari@us.ibm.com",
        "time": "Sat Sep 30 23:28:46 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Oct 01 00:39:28 2006 -0700"
      },
      "message": "[PATCH] Vectorize aio_read/aio_write fileop methods\n\nThis patch vectorizes aio_read() and aio_write() methods to prepare for\ncollapsing all aio \u0026 vectored operations into one interface - which is\naio_read()/aio_write().\n\nSigned-off-by: Badari Pulavarty \u003cpbadari@us.ibm.com\u003e\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nCc: Michael Holzheu \u003cHOLZHEU@de.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "5d8b2ebfa298ec4e6d9fa43e60fb013e8cd963aa",
      "tree": "0ed5349de7d6d667390d0a8b0136812b4eec63ba",
      "parents": [
        "82a854ec4f46c5fbef11b06bb49078ecc5784a2d"
      ],
      "author": {
        "name": "Jonathan Corbet",
        "email": "corbet@lwn.net",
        "time": "Mon Jul 10 04:44:07 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Jul 10 13:24:15 2006 -0700"
      },
      "message": "[PATCH] VFS documentation tweak\n\nAs I was looking over the get_sb() changes, I stumbled across a little\nmistake in the documentation updates.  Unless we\u0027re getting into an\ninteresting new object-oriented realm, I doubt that get_sb() should really\nreturn \"struct int\"...\n\nSigned-off-by: Jonathan Corbet \u003ccorbet@lwn.net\u003e\nAcked-by: David Howells \u003cdhowells@redhat.com\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": "d1195c516a9acd767cb541f914be2c6ddcafcfc1",
      "tree": "1edb7afcdee207e34298ec72e0a89b0a66866b2b",
      "parents": [
        "7519fdc90fe577cb966ab1ce2bf51ac639f05a0e"
      ],
      "author": {
        "name": "Pekka J Enberg",
        "email": "penberg@cs.Helsinki.FI",
        "time": "Tue Apr 11 14:21:59 2006 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "axboe@suse.de",
        "time": "Tue Apr 11 14:21:59 2006 +0200"
      },
      "message": "[PATCH] vfs: add splice_write and splice_read to documentation\n\nThis patch adds the new splice_write and splice_read file operations to\nDocumentation/filesystems/vfs.txt.\n\nSigned-off-by: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\nSigned-off-by: Jens Axboe \u003caxboe@suse.de\u003e\n"
    },
    {
      "commit": "a9e102b60c51faa62506132e8780d8003888c98f",
      "tree": "5f87532e8d24eda382d7f7df7764dac6e1e3132a",
      "parents": [
        "5ddcfa878d5b10b0ab94251a4229a8a9daaf93ed"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Sat Mar 25 03:08:29 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sat Mar 25 08:23:02 2006 -0800"
      },
      "message": "[PATCH] More corrections to vfs.txt update\n\nThanks \"Randy.Dunlap\" \u003crdunlap@xenotime.net\u003e\n\nCc: \"Randy.Dunlap\" \u003crdunlap@xenotime.net\u003e\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "341546f5ad6fce584531f744853a5807a140f2a9",
      "tree": "d9ffbb75bfc0b3c4f50f571279e4d16a654c505c",
      "parents": [
        "d5ee4ea8334368b7d284a7d82855f6f16ba599b4"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Sat Mar 25 03:07:56 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sat Mar 25 08:22:57 2006 -0800"
      },
      "message": "[PATCH] Update some VFS documentation\n\nFlesh out the description of the address_space operations.\n\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\nCc: Avishay Traeger \u003catraeger@cs.sunysb.edu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "e3e1bfe4f28de86d065bc041456161a3f3a9aef7",
      "tree": "8518e8c3ed2838bb553bc785cbfbfdcb6c0d854f",
      "parents": [
        "f62870db3c73683fe566a05efa2a05f3faeb44f5"
      ],
      "author": {
        "name": "Jim Cromie",
        "email": "jim.cromie@gmail.com",
        "time": "Tue Jan 03 13:35:41 2006 +0100"
      },
      "committer": {
        "name": "Adrian Bunk",
        "email": "bunk@r063144.stusta.swh.mhn.de",
        "time": "Tue Jan 03 13:35:41 2006 +0100"
      },
      "message": "Documentation/filesystems/vfs.txt: typo fix\n\nThis patch removes an extra occurrence of \u0027generic\u0027.\n\nAcked-by: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\nSigned-off-by: Adrian Bunk \u003cbunk@stusta.de\u003e\n"
    },
    {
      "commit": "cbf8f0f36a2339f87b9dabbbd301ffd86744620c",
      "tree": "5b4e307a5c39cf17d08fb650d1c3d0fa78d52df0",
      "parents": [
        "cc7d1f8f96a4d048b56edb22e8c5b0f2c2bd7549"
      ],
      "author": {
        "name": "Pekka Enberg",
        "email": "penberg@cs.helsinki.fi",
        "time": "Mon Nov 07 01:01:09 2005 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Nov 07 07:53:56 2005 -0800"
      },
      "message": "[PATCH] VFS: split dentry locking documentation\n\nThis patch splits dentry locking documentation from\nDocumentation/filesystems/vfs.txt to a separate file.  The dentry locking\nbits are useful but do not fit into the VFS overview document as is.\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": "cc7d1f8f96a4d048b56edb22e8c5b0f2c2bd7549",
      "tree": "7c371f17dceb502b550107421f2351031d44067b",
      "parents": [
        "b8887e6e8c04bcefb512cdb08fc7e9c310ac847e"
      ],
      "author": {
        "name": "Pekka Enberg",
        "email": "penberg@cs.helsinki.fi",
        "time": "Mon Nov 07 01:01:08 2005 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Nov 07 07:53:55 2005 -0800"
      },
      "message": "[PATCH] VFS: update overview document\n\nThis patch updates the Documentation/filesystems/vfs.txt document.  I\nrearranged and rewrote parts of the introduction chapter and added better\nheadings for each section.  I also added a description for the inode\nrename() operation which was missing and added links to some useful\nexternal VFS documentation.\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": "5ea626aac1ab9a34aed62dc651070cf1e5134247",
      "tree": "d90eca9489d0ea89aaf5e8c1c8ad99005c55b5fc",
      "parents": [
        "952b649272f96d58817be889ed4b932f638a4dbe"
      ],
      "author": {
        "name": "Pekka J Enberg",
        "email": "penberg@cs.Helsinki.FI",
        "time": "Fri Sep 09 13:10:19 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Sep 09 14:03:43 2005 -0700"
      },
      "message": "[PATCH] VFS: update documentation\n\nThis patch brings the now out-of-date Documentation/filesystems/vfs.txt\nback to life.  Thanks to Carsten Otte, Trond Myklebust, and Anton\nAltaparmakov for their help on updating this documentation.\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": "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"
    }
  ]
}
