)]}'
{
  "log": [
    {
      "commit": "90324cc1b11a211e37eabd8cb863e1a1561d6b1d",
      "tree": "c8b79c6850420a114ca6660c1b44fc486b1ba86d",
      "parents": [
        "fb8b00675eb6462aacab56bca31ed6107bda5314",
        "169ebd90131b2ffca74bb2dbe7eeacd39fb83714"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon May 28 09:54:45 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon May 28 09:54:45 2012 -0700"
      },
      "message": "Merge tag \u0027writeback\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/wfg/linux\n\nPull writeback tree from Wu Fengguang:\n \"Mainly from Jan Kara to avoid iput() in the flusher threads.\"\n\n* tag \u0027writeback\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/wfg/linux:\n  writeback: Avoid iput() from flusher thread\n  vfs: Rename end_writeback() to clear_inode()\n  vfs: Move waiting for inode writeback from end_writeback() to evict_inode()\n  writeback: Refactor writeback_single_inode()\n  writeback: Remove wb-\u003elist_lock from writeback_single_inode()\n  writeback: Separate inode requeueing after writeback\n  writeback: Move I_DIRTY_PAGES handling\n  writeback: Move requeueing when I_SYNC set to writeback_sb_inodes()\n  writeback: Move clearing of I_SYNC into inode_sync_complete()\n  writeback: initialize global_dirty_limit\n  fs: remove 8 bytes of padding from struct writeback_control on 64 bit builds\n  mm: page-writeback.c: local functions should not be exposed globally\n"
    },
    {
      "commit": "dbd5768f87ff6fb0a4fe09c4d7b6c4a24de99430",
      "tree": "42ea94ea733538f797aa745945fc43c4d1b89217",
      "parents": [
        "7994e6f7254354e03028a11f98a27bd67dace9f1"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Thu May 03 14:48:02 2012 +0200"
      },
      "committer": {
        "name": "Fengguang Wu",
        "email": "fengguang.wu@intel.com",
        "time": "Sun May 06 13:43:41 2012 +0800"
      },
      "message": "vfs: Rename end_writeback() to clear_inode()\n\nAfter we moved inode_sync_wait() from end_writeback() it doesn\u0027t make sense\nto call the function end_writeback() anymore. Rename it to clear_inode()\nwhich well says what the function really does - set I_CLEAR flag.\n\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\nSigned-off-by: Fengguang Wu \u003cfengguang.wu@intel.com\u003e\n"
    },
    {
      "commit": "64f371bc3107e69efce563a3d0f0e6880de0d537",
      "tree": "7eac8ef3bf7a6cc8f9e147b9bf341b14fc6ae7f3",
      "parents": [
        "9883035ae7edef3ec62ad215611cb8e17d6a1a5d"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Apr 29 13:30:08 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Apr 29 13:30:08 2012 -0700"
      },
      "message": "autofs: make the autofsv5 packet file descriptor use a packetized pipe\n\nThe autofs packet size has had a very unfortunate size problem on x86:\nbecause the alignment of \u0027u64\u0027 differs in 32-bit and 64-bit modes, and\nbecause the packet data was not 8-byte aligned, the size of the autofsv5\npacket structure differed between 32-bit and 64-bit modes despite\nlooking otherwise identical (300 vs 304 bytes respectively).\n\nWe first fixed that up by making the 64-bit compat mode know about this\nproblem in commit a32744d4abae (\"autofs: work around unhappy compat\nproblem on x86-64\"), and that made a 32-bit \u0027systemd\u0027 work happily on a\n64-bit kernel because everything then worked the same way as on a 32-bit\nkernel.\n\nBut it turned out that \u0027automount\u0027 had actually known and worked around\nthis problem in user space, so fixing the kernel to do the proper 32-bit\ncompatibility handling actually *broke* 32-bit automount on a 64-bit\nkernel, because it knew that the packet sizes were wrong and expected\nthose incorrect sizes.\n\nAs a result, we ended up reverting that compatibility mode fix, and\nthus breaking systemd again, in commit fcbf94b9dedd.\n\nWith both automount and systemd doing a single read() system call, and\nverifying that they get *exactly* the size they expect but using\ndifferent sizes, it seemed that fixing one of them inevitably seemed to\nbreak the other.  At one point, a patch I seriously considered applying\nfrom Michael Tokarev did a \"strcmp()\" to see if it was automount that\nwas doing the operation.  Ugly, ugly.\n\nHowever, a prettier solution exists now thanks to the packetized pipe\nmode.  By marking the communication pipe as being packetized (by simply\nsetting the O_DIRECT flag), we can always just write the bigger packet\nsize, and if user-space does a smaller read, it will just get that\npartial end result and the extra alignment padding will simply be thrown\naway.\n\nThis makes both automount and systemd happy, since they now get the size\nthey asked for, and the kernel side of autofs simply no longer needs to\ncare - it could pad out the packet arbitrarily.\n\nOf course, if there is some *other* user of autofs (please, please,\nplease tell me it ain\u0027t so - and we haven\u0027t heard of any) that tries to\nread the packets with multiple writes, that other user will now be\nbroken - the whole point of the packetized mode is that one system call\ngets exactly one packet, and you cannot read a packet in pieces.\n\nTested-by: Michael Tokarev \u003cmjt@tls.msk.ru\u003e\nCc: Alan Cox \u003calan@lxorguk.ukuu.org.uk\u003e\nCc: David Miller \u003cdavem@davemloft.net\u003e\nCc: Ian Kent \u003craven@themaw.net\u003e\nCc: Thomas Meyer \u003cthomas@m3y3r.de\u003e\nCc: stable@kernel.org\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "fcbf94b9dedd2ce08e798a99aafc94fec8668161",
      "tree": "bc81982bbcf96538a09103b2c722ac7d2c99bdef",
      "parents": [
        "c629eaf8392b676b4f83c3dc344e66402bfeec92"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Apr 28 08:29:56 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Apr 28 08:29:56 2012 -0700"
      },
      "message": "Revert \"autofs: work around unhappy compat problem on x86-64\"\n\nThis reverts commit a32744d4abae24572eff7269bc17895c41bd0085.\n\nWhile that commit was technically the right thing to do, and made the\nx86-64 compat mode work identically to native 32-bit mode (and thus\nfixing the problem with a 32-bit systemd install on a 64-bit kernel), it\nturns out that the automount binaries had workarounds for this compat\nproblem.\n\nNow, the workarounds are disgusting: doing an \"uname()\" to find out the\narchitecture of the kernel, and then comparing it for the 64-bit cases\nand fixing up the size of the read() in automount for those.  And they\nwere confused: it\u0027s not actually a generic 64-bit issue at all, it\u0027s\nvery much tied to just x86-64, which has different alignment for an\n\u0027u64\u0027 in 64-bit mode than in 32-bit mode.\n\nBut the end result is that fixing the compat layer actually breaks the\ncase of a 32-bit automount on a x86-64 kernel.\n\nThere are various approaches to fix this (including just doing a\n\"strcmp()\" on current-\u003ecomm and comparing it to \"automount\"), but I\nthink that I will do the one that teaches pipes about a special \"packet\nmode\", which will allow user space to not have to care too deeply about\nthe padding at the end of the autofs packet.\n\nThat change will make the compat workaround unnecessary, so let\u0027s revert\nit first, and get automount working again in compat mode.  The\npacketized pipes will then fix autofs for systemd.\n\nReported-and-requested-by: Michael Tokarev \u003cmjt@tls.msk.ru\u003e\nCc: Ian Kent \u003craven@themaw.net\u003e\nCc: stable@kernel.org # for 3.3\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "48fde701aff662559b38d9a609574068f22d00fe",
      "tree": "aa6b203dc671b51d58575b65eb08310ff8309b60",
      "parents": [
        "6b4231e2f92adbcf96fb2a3fa751d7ca0a61b21f"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sun Jan 08 22:15:13 2012 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Mar 20 21:29:35 2012 -0400"
      },
      "message": "switch open-coded instances of d_make_root() to new helper\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "a32744d4abae24572eff7269bc17895c41bd0085",
      "tree": "b384f580af75b17ede3fd830b7ad5276d0036ac0",
      "parents": [
        "b52b80023f262ce8a0ffdcb490acb23e8678377a"
      ],
      "author": {
        "name": "Ian Kent",
        "email": "raven@themaw.net",
        "time": "Wed Feb 22 20:45:44 2012 +0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Feb 25 12:10:27 2012 -0800"
      },
      "message": "autofs: work around unhappy compat problem on x86-64\n\nWhen the autofs protocol version 5 packet type was added in commit\n5c0a32fc2cd0 (\"autofs4: add new packet type for v5 communications\"), it\nobvously tried quite hard to be word-size agnostic, and uses explicitly\nsized fields that are all correctly aligned.\n\nHowever, with the final \"char name[NAME_MAX+1]\" array at the end, the\nactual size of the structure ends up being not very well defined:\nbecause the struct isn\u0027t marked \u0027packed\u0027, doing a \"sizeof()\" on it will\nalign the size of the struct up to the biggest alignment of the members\nit has.\n\nAnd despite all the members being the same, the alignment of them is\ndifferent: a \"__u64\" has 4-byte alignment on x86-32, but native 8-byte\nalignment on x86-64.  And while \u0027NAME_MAX+1\u0027 ends up being a nice round\nnumber (256), the name[] array starts out a 4-byte aligned.\n\nEnd result: the \"packed\" size of the structure is 300 bytes: 4-byte, but\nnot 8-byte aligned.\n\nAs a result, despite all the fields being in the same place on all\narchitectures, sizeof() will round up that size to 304 bytes on\narchitectures that have 8-byte alignment for u64.\n\nNote that this is *not* a problem for 32-bit compat mode on POWER, since\nthere __u64 is 8-byte aligned even in 32-bit mode.  But on x86, 32-bit\nand 64-bit alignment is different for 64-bit entities, and as a result\nthe structure that has exactly the same layout has different sizes.\n\nSo on x86-64, but no other architecture, we will just subtract 4 from\nthe size of the structure when running in a compat task.  That way we\nwill write the properly sized packet that user mode expects.\n\nNot pretty.  Sadly, this very subtle, and unnecessary, size difference\nhas been encoded in user space that wants to read packets of *exactly*\nthe right size, and will refuse to touch anything else.\n\nReported-and-tested-by: Thomas Meyer \u003cthomas@m3y3r.de\u003e\nSigned-off-by: Ian Kent \u003craven@themaw.net\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "d668dc56631da067540b2494d2a1f29ff7b5f15a",
      "tree": "303ad17208838e8b9b1752f9427d55c84555f0f0",
      "parents": [
        "8753333266be67ff3a984ac1f6566d31c260bee4"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Jan 10 22:35:38 2012 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Wed Jan 11 00:20:12 2012 -0500"
      },
      "message": "autofs4: deal with autofs4_write/autofs4_write races\n\nJust serialize the actual writing of packets into pipe on\na new mutex, independent from everything else in the locking\nhierarchy.  As soon as something has started feeding a piece\nof packet into the pipe to daemon, we *want* everything else\nabout to try the same to wait until we are done.\n\nAcked-by: Ian Kent \u003craven@themaw.net\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\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": "030a8ba48fa6fa2a1304bab5b0f49360613c4af2",
      "tree": "497adf7fb741306aa0ba2f4417f1e3b02af04d1f",
      "parents": [
        "c47da79851d5f8629c6715e681315dd8e0a3d7d8"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Jul 26 03:29:03 2011 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Jan 03 22:55:10 2012 -0500"
      },
      "message": "autofs4: propagate umode_t\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "bfe8684869601dacfcb2cd69ef8cfd9045f62170",
      "tree": "4e213aaa766b26f43f0f9ec7998a7745239d9377",
      "parents": [
        "6d6b77f163c7eabedbba00ed2abb7d4a570bff76"
      ],
      "author": {
        "name": "Miklos Szeredi",
        "email": "mszeredi@suse.cz",
        "time": "Fri Oct 28 14:13:29 2011 +0200"
      },
      "committer": {
        "name": "Christoph Hellwig",
        "email": "hch@serles.lst.de",
        "time": "Wed Nov 02 12:53:43 2011 +0100"
      },
      "message": "filesystems: add set_nlink()\n\nReplace remaining direct i_nlink updates with a new set_nlink()\nupdater function.\n\nSigned-off-by: Miklos Szeredi \u003cmszeredi@suse.cz\u003e\nTested-by: Toshiyuki Okajima \u003ctoshi.okajima@jp.fujitsu.com\u003e\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\n"
    },
    {
      "commit": "b89b12b46211d971d75e5ca8249817bc9e11c453",
      "tree": "3b846ec3daa6ce9e301668121b8c335b0d879470",
      "parents": [
        "26e6c910670171410577c7df2aebe94cef76e150"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sun Jan 16 21:42:32 2011 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Jan 18 01:21:29 2011 -0500"
      },
      "message": "autofs4: clean -\u003ed_release() and autofs4_free_ino() up\n\nThe latter is called only when both ino and dentry are about to\nbe freed, so cleaning -\u003ed_fsdata and -\u003edentry is pointless.\n\nAcked-by: Ian Kent \u003craven@themaw.net\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "26e6c910670171410577c7df2aebe94cef76e150",
      "tree": "407ecb012b91efce80be76f0191b2efc43689b7f",
      "parents": [
        "5a37db302e698a83209eff22ca8f3fd05eb1d84b"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sun Jan 16 18:43:40 2011 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Jan 18 01:21:28 2011 -0500"
      },
      "message": "autofs4: split autofs4_init_ino()\n\nsplit init_ino into new_ino and clean_ino; the former is\nwhat used to be init_ino(NULL, sbi), the latter is for cases\nwhere we passed non-NULL ino.  Lose unused arguments.\n\nAcked-by: Ian Kent \u003craven@themaw.net\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "726a5e0688fd344110d8f2979d87f243a4ba1a48",
      "tree": "c554b40ff5619dfd491b4890e89c8ee9c3131efd",
      "parents": [
        "0bf71d4d005176f6b6587ba64a377f9798213f21"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sun Jan 16 17:43:52 2011 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Jan 18 01:21:28 2011 -0500"
      },
      "message": "autofs4: autofs4_get_inode() doesn\u0027t need autofs_info * argument anymore\n\nAcked-by: Ian Kent \u003craven@themaw.net\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "0bf71d4d005176f6b6587ba64a377f9798213f21",
      "tree": "4814d73e0201e92e7aca19b0a45f64b9a9644698",
      "parents": [
        "09f12c03fa699ce7d030c47add60577138927d4f"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sun Jan 16 17:39:15 2011 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Jan 18 01:21:28 2011 -0500"
      },
      "message": "autofs4: kill -\u003esize in autofs_info\n\nIt\u0027s used only to pass the length of symlink body to\nautofs4_get_inode() in autofs4_dir_symlink().  We can\nbloody well set inode-\u003ei_size in autofs4_dir_symlink()\ndirectly and be done with that.\n\nAcked-by: Ian Kent \u003craven@themaw.net\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "09f12c03fa699ce7d030c47add60577138927d4f",
      "tree": "b9ef52e197a38579799ba9b62f78bf0c35efa4cc",
      "parents": [
        "14a2f00bde7668fe18d1c8355d26c7c96961e1f7"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sun Jan 16 17:20:23 2011 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Jan 18 01:21:27 2011 -0500"
      },
      "message": "autofs4: pass mode to autofs4_get_inode() explicitly\n\nIn all cases we\u0027d set inf-\u003emode to know value just before\npassing it to autofs4_get_inode().  That kills the need\nto store it in autofs_info and pass it to autofs_init_ino()\n\nAcked-by: Ian Kent \u003craven@themaw.net\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "14a2f00bde7668fe18d1c8355d26c7c96961e1f7",
      "tree": "c14da20ae3c32474c52d49bec43e046b583b8d9d",
      "parents": [
        "292c5ee802e9b969b84ee671a5e3001d94230f5b"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sun Jan 16 17:13:33 2011 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Jan 18 01:21:27 2011 -0500"
      },
      "message": "autofs4: autofs4_mkroot() is not different from autofs4_init_ino()\n\nKill it.  Mind you, it\u0027s been an obfuscated call of autofs4_init_ino()\never since 2.3.99pre6-4...\n\nAcked-by: Ian Kent \u003craven@themaw.net\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "292c5ee802e9b969b84ee671a5e3001d94230f5b",
      "tree": "616b0a583d17c50aedbb87082943248333d63c2b",
      "parents": [
        "c0bcc9d55252012805300ca01b9b7a143b4daf85"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Jan 17 00:47:38 2011 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Jan 18 01:21:27 2011 -0500"
      },
      "message": "autofs4: keep symlink body in inode-\u003ei_private\n\ngets rid of all -\u003efree()/-\u003eu.symlink machinery in autofs; we simply\nkeep symlink bodies in inode-\u003ei_private and free them in -\u003eevict_inode().\n\nAcked-by: Ian Kent \u003craven@themaw.net\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "b650c858c26bd9ba29ebc82d30f09355845a294a",
      "tree": "cd3749a722a81425263e3a2b1d82898586665acf",
      "parents": [
        "ea5b778a8b98c85a87d66bf844904f9c3802b869"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Sat Jan 15 10:51:57 2011 +0000"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat Jan 15 20:07:49 2011 -0500"
      },
      "message": "autofs4: Merge the remaining dentry ops tables\n\nMerge the remaining autofs4 dentry ops tables.  It doesn\u0027t matter if\nd_automount and d_manage are present on something that\u0027s not mountable or\nholdable as these ops are only used if the appropriate flags are set in\ndentry-\u003ed_flags.\n\n[AV] switch to -\u003es_d_op, since now _everything_ on autofs4 is using the\nsame dentry_operations.\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "6651149371b842715906311b4631b8489cebf7e8",
      "tree": "4ad6941a353515edaada23426ec3b44724f40ca3",
      "parents": [
        "71e469db242c2eeb00faf9caf7d9e00150c00a6e"
      ],
      "author": {
        "name": "Ian Kent",
        "email": "raven@themaw.net",
        "time": "Fri Jan 14 18:46:24 2011 +0000"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat Jan 15 20:07:42 2011 -0500"
      },
      "message": "autofs4: Clean up autofs4_free_ino()\n\nWhen this function is called the local reference count does\u0027t need to\nbe updated since the dentry is going away and dput definitely must\nnot be called here.\n\nAlso the autofs info struct field inode isn\u0027t used so remove it.\n\nSigned-off-by: Ian Kent \u003craven@themaw.net\u003e\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "71e469db242c2eeb00faf9caf7d9e00150c00a6e",
      "tree": "8fdb7f6900edca6f2973f9ae64331895112f017e",
      "parents": [
        "e61da20a50d21725ff27571a6dff9468e4fb7146"
      ],
      "author": {
        "name": "Ian Kent",
        "email": "raven@themaw.net",
        "time": "Fri Jan 14 18:46:19 2011 +0000"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat Jan 15 20:07:41 2011 -0500"
      },
      "message": "autofs4: Clean up dentry operations\n\nThere are now two distinct dentry operations uses. One for dentrys\nthat trigger mounts and one for dentrys that do not.\n\nRationalize the use of these dentry operations and rename them to\nreflect their function.\n\nSigned-off-by: Ian Kent \u003craven@themaw.net\u003e\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "e61da20a50d21725ff27571a6dff9468e4fb7146",
      "tree": "c82ea451647e95754bb27aa46c60fd264ddd7c2c",
      "parents": [
        "8c13a676d5a56495c350f3141824a5ef6c6b4606"
      ],
      "author": {
        "name": "Ian Kent",
        "email": "raven@themaw.net",
        "time": "Fri Jan 14 18:46:14 2011 +0000"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat Jan 15 20:07:40 2011 -0500"
      },
      "message": "autofs4: Clean up inode operations\n\nSince the use of -\u003efollow_link() has been eliminated there is no\nneed to separate the indirect and direct inode operations.\n\nSigned-off-by: Ian Kent \u003craven@themaw.net\u003e\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "b5b801779d59165c4ecf1009009109545bd1f642",
      "tree": "3a1c8b2e65e72977993ba96c1398edba4c63cbf5",
      "parents": [
        "10584211e48036182212b598cc53331776406d60"
      ],
      "author": {
        "name": "Ian Kent",
        "email": "raven@themaw.net",
        "time": "Fri Jan 14 18:46:03 2011 +0000"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat Jan 15 20:07:38 2011 -0500"
      },
      "message": "autofs4: Add d_manage() dentry operation\n\nThis patch required a previous patch to add the -\u003ed_automount()\ndentry operation.\n\nAdd a function to use the newly defined -\u003ed_manage() dentry operation\nfor blocking during mount and expire.\n\nWhether the VFS calls the dentry operations d_automount() and d_manage()\nis controled by the DMANAGED_AUTOMOUNT and DMANAGED_TRANSIT flags. autofs\nuses the d_automount() operation to callback to user space to request\nmount operations and the d_manage() operation to block walks into mounts\nthat are under construction or destruction.\n\nIn order to prevent these functions from being called unnecessarily the\nDMANAGED_* flags are cleared for cases which would cause this. In the\ncommon case the DMANAGED_AUTOMOUNT and DMANAGED_TRANSIT flags are both\nset for dentrys waiting to be mounted. The DMANAGED_TRANSIT flag is\ncleared upon successful mount request completion and set during expire\nruns, both during the dentry expire check, and if selected for expire,\nis left set until a subsequent successful mount request completes.\n\nThe exception to this is the so-called rootless multi-mount which has\nno actual mount at its base. In this case the DMANAGED_AUTOMOUNT flag\nis cleared upon successful mount request completion as well and set\nagain after a successful expire.\n\nSigned-off-by: Ian Kent \u003craven@themaw.net\u003e\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "10584211e48036182212b598cc53331776406d60",
      "tree": "b66067b47a1104c3ae3ccd4248c9b41d5b869c5e",
      "parents": [
        "db3729153e82ba3ada89681f26c4f1b6d6807a80"
      ],
      "author": {
        "name": "Ian Kent",
        "email": "raven@themaw.net",
        "time": "Fri Jan 14 18:45:58 2011 +0000"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat Jan 15 20:07:37 2011 -0500"
      },
      "message": "autofs4: Add d_automount() dentry operation\n\nAdd a function to use the newly defined -\u003ed_automount() dentry operation\nfor triggering mounts instead of doing the user space callback in -\u003elookup()\nand -\u003ed_revalidate().\n\nNote, to be useful the subsequent patch to add the -\u003ed_manage() dentry\noperation is also needed so the discussion of functionality is deferred to\nthat patch.\n\nSigned-off-by: Ian Kent \u003craven@themaw.net\u003e\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "fb045adb99d9b7c562dc7fef834857f78249daa1",
      "tree": "1fd6a4024fffeec568abe100d730589bfdb81c38",
      "parents": [
        "5f57cbcc02cf18f6b22ef4066bb10afeb8f930ff"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "npiggin@kernel.dk",
        "time": "Fri Jan 07 17:49:55 2011 +1100"
      },
      "committer": {
        "name": "Nick Piggin",
        "email": "npiggin@kernel.dk",
        "time": "Fri Jan 07 17:50:28 2011 +1100"
      },
      "message": "fs: dcache reduce branches in lookup path\n\nReduce some branches and memory accesses in dcache lookup by adding dentry\nflags to indicate common d_ops are set, rather than having to check them.\nThis saves a pointer memory access (dentry-\u003ed_op) in common path lookup\nsituations, and saves another pointer load and branch in cases where we\nhave d_op but not the particular operation.\n\nPatched with:\n\ngit grep -E \u0027[.\u003e]([[:space:]])*d_op([[:space:]])*\u003d\u0027 | xargs sed -e \u0027s/\\([^\\t ]*\\)-\u003ed_op \u003d \\(.*\\);/d_set_d_op(\\1, \\2);/\u0027 -e \u0027s/\\([^\\t ]*\\)\\.d_op \u003d \\(.*\\);/d_set_d_op(\\\u0026\\1, \\2);/\u0027 -i\n\nSigned-off-by: Nick Piggin \u003cnpiggin@kernel.dk\u003e\n"
    },
    {
      "commit": "85fe4025c616a7c0ed07bc2fc8c5371b07f3888c",
      "tree": "7a5db7accb6192f2911f2473b4e3191227b914cc",
      "parents": [
        "f991bd2e14210fb93d722cb23e54991de20e8a3d"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Sat Oct 23 11:19:54 2010 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Oct 25 21:26:11 2010 -0400"
      },
      "message": "fs: do not assign default i_ino in new_inode\n\nInstead of always assigning an increasing inode number in new_inode\nmove the call to assign it into those callers that actually need it.\nFor now callers that need it is estimated conservatively, that is\nthe call is added to all filesystems that do not assign an i_ino\nby themselves.  For a few more filesystems we can avoid assigning\nany inode number given that they aren\u0027t user visible, and for others\nit could be done lazily when an inode number is actually needed,\nbut that\u0027s left for later patches.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Dave Chinner \u003cdchinner@redhat.com\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "5b7e934d887c67fe093b61f1308bc2d9c49381ff",
      "tree": "6498bae20c1e90cdee8d4d3bbef6658868843ad1",
      "parents": [
        "3899167dbd6832a3d8d7171b425257ad46b6c40c"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sun Jan 24 00:28:52 2010 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Wed Mar 03 14:07:54 2010 -0500"
      },
      "message": "Use kill_litter_super() in autofs4 -\u003ekill_sb()\n\n... and get rid of open-coding its guts (i.e. RIP autofs4_force_release())\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "4b1ae27a96d9860e6c4348673e8fb6a0322511fe",
      "tree": "d9d195bfef3e8e746ef68adb4364516633d27313",
      "parents": [
        "60b341b778cc2929df16c0a504c91621b3c6a4ad"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Wed Mar 03 12:58:31 2010 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Wed Mar 03 12:58:31 2010 -0500"
      },
      "message": "Revert \"autofs4: always use lookup for lookup\"\n\nThis reverts commit 213614d583748d00967a91cacd656f417efb36ce.\n\nAlas, -\u003ed_revalidate() can\u0027t rely on -\u003elookup() finishing what\nit\u0027s started; if d_alloc() in do_lookup() fails, we are not going\nto call -\u003elookup() at all.\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "213614d583748d00967a91cacd656f417efb36ce",
      "tree": "f24b85cb8192af7f6723f3886fba3da55ccfbe0d",
      "parents": [
        "cb4b492ac7595aad10756fe0b04691f0965e0cfc"
      ],
      "author": {
        "name": "Ian Kent",
        "email": "raven@themaw.net",
        "time": "Tue Dec 15 16:45:51 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Dec 16 07:19:58 2009 -0800"
      },
      "message": "autofs4: always use lookup for lookup\n\nWe need to be able to cope with the directory mutex being held during\n-\u003ed_revalidate() in some cases, but not all cases, and not necessarily by\nus.  Because we need to release the mutex when we call back to the daemon\nto do perform a mount we must be sure that it is us who holds the mutex so\nwe must redirect mount requests to -\u003elookup() if the mutex is held.\n\nSigned-off-by: Ian Kent \u003craven@themaw.net\u003e\nCc: Sage Weil \u003csage@newdream.net\u003e\nCc: Al Viro \u003cviro@ZenIV.linux.org.uk\u003e\nCc: Andreas Dilger \u003cadilger@sun.com\u003e\nCc: Christoph Hellwig \u003chch@infradead.org\u003e\nCc: Yehuda Saheh \u003cyehuda@newdream.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "4f8427d1903148f9753eb35c5f51a8a865457329",
      "tree": "8d40dc21c988f53dd154b61eb1ed66914bedf7a3",
      "parents": [
        "9ea9a886b0e8630e12cff515955e7f0f5be32cb1"
      ],
      "author": {
        "name": "Ian Kent",
        "email": "raven@themaw.net",
        "time": "Tue Dec 15 16:45:42 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Dec 16 07:19:57 2009 -0800"
      },
      "message": "autofs4: use helper functions for active list handling\n\nDefine some simple helper functions for adding and deleting entries on the\nactive (and unhashed) dentry list.\n\nSigned-off-by: Ian Kent \u003craven@themaw.net\u003e\nCc: Sage Weil \u003csage@newdream.net\u003e\nCc: Al Viro \u003cviro@ZenIV.linux.org.uk\u003e\nCc: Andreas Dilger \u003cadilger@sun.com\u003e\nCc: Christoph Hellwig \u003chch@infradead.org\u003e\nCc: Yehuda Saheh \u003cyehuda@newdream.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "08f11513fa6f712506edb99327f7d051da9d860f",
      "tree": "4c174f5d9d573187687c4c638d90a4dee69cce1a",
      "parents": [
        "a488257ce5a55c53973671218791296463698d07"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Fri Feb 20 05:56:19 2009 +0000"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Fri Mar 27 14:44:00 2009 -0400"
      },
      "message": "constify dentry_operations: autofs, autofs4\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "a92daf6ba1f9ace8584edc8eb557a77aa7c2c71d",
      "tree": "a4734bb761e762af714710ab53c4b3c3c58516f8",
      "parents": [
        "41cfef2eb87694a8d64105c059b39f7bd6b7d4fe"
      ],
      "author": {
        "name": "Ian Kent",
        "email": "raven@themaw.net",
        "time": "Tue Jan 06 14:42:08 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 06 15:59:23 2009 -0800"
      },
      "message": "autofs4: make autofs type usage explicit\n\n- the type assigned at mount when no type is given is changed\n  from 0 to AUTOFS_TYPE_INDIRECT. This was done because 0 and\n  AUTOFS_TYPE_INDIRECT were being treated implicitly as the same\n  type.\n\n- previously, an offset mount had it\u0027s type set to\n  AUTOFS_TYPE_DIRECT|AUTOFS_TYPE_OFFSET but the mount control\n  re-implementation needs to be able distinguish all three types.\n  So this was changed to make the type setting explicit.\n\n- a type AUTOFS_TYPE_ANY was added for use by the re-implementation\n  when checking if a given path is a mountpoint. It\u0027s not really a\n  type as we use this to ask if a given path is a mountpoint in the\n  autofs_dev_ioctl_ismountpoint() function.\n\n- functions to set and test the autofs mount types have been added to\n  improve readability and make the type usage explicit.\n\n- the mount type is used from user space for the mount control\n  re-implementtion so, for consistency, all the definitions have\n  been moved to the user space include file include/linux/auto_fs4.h.\n\nSigned-off-by: Ian Kent \u003craven@themaw.net\u003e\nSigned-off-by: Jeff Moyer \u003cjmoyer@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\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": "0eb790e3a2d872192af8ceff2cabff8594c56440",
      "tree": "e9dd5602d5c89b5c42e343d5bd677df34e8b8f9d",
      "parents": [
        "73c646e4afb658e601a46bf1b57925450307a119"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Fri Nov 14 10:38:46 2008 +1100"
      },
      "committer": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Fri Nov 14 10:38:46 2008 +1100"
      },
      "message": "CRED: Wrap task credential accesses in the autofs4 filesystem\n\nWrap access to task credentials so that they can be separated more easily from\nthe task_struct during the introduction of COW creds.\n\nChange most current-\u003e(|e|s|fs)[ug]id to current_(|e|s|fs)[ug]id().\n\nChange some task-\u003ee?[ug]id to task_e?[ug]id().  In some places it makes more\nsense to use RCU directly rather than a convenient wrapper; these will be\naddressed by later patches.\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nReviewed-by: James Morris \u003cjmorris@namei.org\u003e\nAcked-by: Serge Hallyn \u003cserue@us.ibm.com\u003e\nCc: Ian Kent \u003craven@themaw.net\u003e\nCc: autofs@linux.kernel.org\nSigned-off-by: James Morris \u003cjmorris@namei.org\u003e\n"
    },
    {
      "commit": "c0f54d3e54fd7ac6723b2125d881f1b25d21ed16",
      "tree": "3215eeae82b4c81094227b78ad668943c69b46e5",
      "parents": [
        "bb979d7fc360bc37cbaff43a6fafceb897cb5e47"
      ],
      "author": {
        "name": "Ian Kent",
        "email": "raven@themaw.net",
        "time": "Wed Oct 15 22:02:52 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Oct 16 11:21:39 2008 -0700"
      },
      "message": "autofs4: track uid and gid of last mount requester\n\nTrack the uid and gid of the last process to request a mount for on an\nautofs dentry.\n\n[akpm@linux-foundation.org: fix tpyo in comment]\nSigned-off-by: Ian Kent \u003craven@themaw.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "bb979d7fc360bc37cbaff43a6fafceb897cb5e47",
      "tree": "b99f90b4cacebf1e8cd5725917fd14cf8d1c50ac",
      "parents": [
        "624ae5284516870657505103ada531c64dba2a9a"
      ],
      "author": {
        "name": "Ian Kent",
        "email": "raven@themaw.net",
        "time": "Wed Oct 15 22:02:52 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Oct 16 11:21:39 2008 -0700"
      },
      "message": "autofs4: cleanup autofs mount type usage\n\nUsage of the AUTOFS_TYPE_* defines is a little confusing and appears\ninconsistent.\n\nSigned-off-by: Ian Kent \u003craven@themaw.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "a447c0932445f92ce6f4c1bd020f62c5097a7842",
      "tree": "bacf05bc7f9764515cdd6f7dc5e2254776b4f160",
      "parents": [
        "54cebc68c81eacac41a21bdfe99dc889d3882c60"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Mon Oct 13 10:46:57 2008 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 13 10:10:37 2008 -0700"
      },
      "message": "vfs: Use const for kernel parser table\n\nThis is a much better version of a previous patch to make the parser\ntables constant. Rather than changing the typedef, we put the \"const\" in\nall the various places where its required, allowing the __initconst\nexception for nfsroot which was the cause of the previous trouble.\n\nThis was posted for review some time ago and I believe its been in -mm\nsince then.\n\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\nCc: Alexander Viro \u003caviro@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "5a11d4d0ee1ff284271f7265929d07ea4a1168a6",
      "tree": "4b9b76486afa5d9fc29216df069c5a557e09011a",
      "parents": [
        "70b52a0a5005ce6a0ceec56e97222437a0ba7506"
      ],
      "author": {
        "name": "Ian Kent",
        "email": "raven@themaw.net",
        "time": "Wed Jul 23 21:30:17 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jul 24 10:47:32 2008 -0700"
      },
      "message": "autofs4: fix waitq locking\n\nThe autofs4_catatonic_mode() function accesses the wait queue without any\nlocking but can be called at any time.  This could lead to a possible\ndouble free of the name field of the wait and a double fput of the daemon\ncommunication pipe or an fput of a NULL file pointer.\n\nSigned-off-by: Ian Kent \u003craven@themaw.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "2576737873dc1d9ea461a5955a5f6779b569a350",
      "tree": "aad8f5cf52c872f307275328022a3bcb94a6c342",
      "parents": [
        "caf7da3d5d4d9dd873eb52d025d8cc63b89f1fdb"
      ],
      "author": {
        "name": "Ian Kent",
        "email": "raven@themaw.net",
        "time": "Wed Jul 23 21:30:12 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jul 24 10:47:31 2008 -0700"
      },
      "message": "autofs4: use look aside list for lookups\n\nA while ago a patch to resolve a deadlock during directory creation was\nmerged.  This delayed the hashing of lookup dentrys until the -\u003emkdir()\n(or -\u003esymlink()) operation completed to ensure we always went through\n-\u003elookup() instead of also having processes go through -\u003erevalidate() so\nour VFS locking remained consistent.\n\nNow we are seeing a couple of side affects of that change in situations\nwith heavy mount activity.\n\nTwo cases have been identified:\n\n1) When a mount request is triggered, due to the delayed hashing, the\n   directory created by user space for the mount point doesn\u0027t have the\n   DCACHE_AUTOFS_PENDING flag set.  In the case of an autofs multi-mount\n   where a tree of mount point directories are created this can lead to\n   the path walk continuing rather than the dentry being sent to the wait\n   queue to wait for request completion.  This is because, if the pending\n   flag isn\u0027t set, the criteria for deciding this is a mount in progress\n   fails to hold, namely that the dentry is not a mount point and has no\n   subdirectories.\n\n2) A mount request dentry is initially created negative and unhashed.\n   It remains this way until the -\u003emkdir() callback completes.  Since it\n   is unhashed a fresh dentry is used when the user space mount request\n   creates the mount point directory.  This leaves the original dentry\n   negative and unhashed.  But revalidate has no way to tell the VFS that\n   the dentry has changed, other than to force another -\u003elookup() by\n   returning false, which is at best wastefull and at worst not possible.\n   This results in an -ENOENT return from the original path walk when in\n   fact the mount succeeded.\n\nTo resolve this we need to ensure that the same dentry is used in all\ncalls to -\u003elookup() during the course of a mount request.  This patch\nachieves that by adding the initial dentry to a look aside list and\nremoves it at -\u003emkdir() or -\u003esymlink() completion (or when the dentry is\nreleased), since these are the only create operations autofs4 supports.\n\nSigned-off-by: Ian Kent \u003craven@themaw.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "5f6f4f28b6ba543beef8bad91aa6f69c7ffeee51",
      "tree": "72f3aac56d49c7bea7940f8d8b6e8ca559e3ae1c",
      "parents": [
        "391b52f98cf2e9bff227dad8bf9ea206fec43fa4"
      ],
      "author": {
        "name": "Ian Kent",
        "email": "raven@themaw.net",
        "time": "Wed Jul 23 21:30:09 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jul 24 10:47:31 2008 -0700"
      },
      "message": "autofs4: don\u0027t make expiring dentry negative\n\nCorrect the error of making a positive dentry negative after it has been\ninstantiated.\n\nThe code that makes this error attempts to re-use the dentry from a\nconcurrent expire and mount to resolve a race and the dentry used for the\nlookup must be negative for mounts to trigger in the required cases.  The\nfact is that the dentry doesn\u0027t need to be re-used because all that is\nneeded is to preserve the flag that indicates an expire is still\nincomplete at the time of the mount request.\n\nThis change uses the the dentry to check the flag and wait for the expire\nto complete then discards it instead of attempting to re-use it.\n\nSigned-off-by: Ian Kent \u003craven@themaw.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "aef97cb9031755422c23cc64f7a089a0fbbcca7a",
      "tree": "7c8cca03733cadce05bcbb0fa919282fe688c818",
      "parents": [
        "969729d56ef2c8b709844bc0071805f86dfbd2f9"
      ],
      "author": {
        "name": "Miklos Szeredi",
        "email": "mszeredi@suse.cz",
        "time": "Fri Feb 08 04:21:37 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Feb 08 09:22:39 2008 -0800"
      },
      "message": "mount options: fix autofs4\n\nAdd uid\u003d and gid\u003d options to /proc/mounts for autofs4 filesystems.\n\nSigned-off-by: Miklos Szeredi \u003cmszeredi@suse.cz\u003e\nAcked-by: Ian Kent \u003craven@themaw.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "a47afb0f9d794d525a372c8d69902147cc88222a",
      "tree": "7bd67280e2edc1c3b1803d4a93bee794088e9342",
      "parents": [
        "858d72ead4864da0fb0b89b919524125ce998e27"
      ],
      "author": {
        "name": "Pavel Emelianov",
        "email": "xemul@openvz.org",
        "time": "Thu Oct 18 23:39:46 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Oct 19 11:53:37 2007 -0700"
      },
      "message": "pid namespaces: round up the API\n\nThe set of functions process_session, task_session, process_group and\ntask_pgrp is confusing, as the names can be mixed with each other when looking\nat the code for a long time.\n\nThe proposals are to\n* equip the functions that return the integer with _nr suffix to\n  represent that fact,\n* and to make all functions work with task (not process) by making\n  the common prefix of the same name.\n\nFor monotony the routines signal_session() and set_signal_session() are\nreplaced with task_session_nr() and set_task_session(), especially since they\nare only used with the explicit task-\u003esignal dereference.\n\nSigned-off-by: Pavel Emelianov \u003cxemul@openvz.org\u003e\nAcked-by: Serge E. Hallyn \u003cserue@us.ibm.com\u003e\nCc: Kirill Korotaev \u003cdev@openvz.org\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nCc: Cedric Le Goater \u003cclg@fr.ibm.com\u003e\nCc: Herbert Poetzl \u003cherbert@13thfloor.at\u003e\nCc: Sukadev Bhattiprolu \u003csukadev@us.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "b63d50c438bd3a8910263e15c37ca8634b110c92",
      "tree": "d7198d3bd8c2ac7a6c93a8ab11b3167636b0b3cd",
      "parents": [
        "f035ac821bf8c36a558471e78c514a96202a1bda"
      ],
      "author": {
        "name": "Mariusz Kozlowski",
        "email": "m.kozlowski@tuxland.pl",
        "time": "Tue Oct 16 23:26:44 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Oct 17 08:42:50 2007 -0700"
      },
      "message": "fs/autofs4/inode.c: kmalloc + memset conversion to kzalloc\n\n fs/autofs4/inode.c | 10467 -\u003e 10435 (-32 bytes)\n fs/autofs4/inode.o | 98576 -\u003e 98552 (-24 bytes)\n\nSigned-off-by: Mariusz Kozlowski \u003cm.kozlowski@tuxland.pl\u003e\nAcked-by: Ian Kent \u003craven@themaw.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "d78e53c89a820471837e0cb91fe36b7be1a7c9de",
      "tree": "7f015a0c2b3584f56e1864a7621ffa033d911ccd",
      "parents": [
        "93ba0881176ace057bc3111c8bdd717a23cb75ed"
      ],
      "author": {
        "name": "Sukadev Bhattiprolu",
        "email": "sukadev@us.ibm.com",
        "time": "Thu May 10 22:23:06 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri May 11 08:29:36 2007 -0700"
      },
      "message": "Fix some coding-style errors in autofs\n\nFix coding style errors (extra spaces, long lines) in autofs and autofs4 files\nbeing modified for container/pidspace issues.\n\nSigned-off-by: Sukadev Bhattiprolu \u003csukadev@us.ibm.com\u003e\nCc: Cedric Le Goater \u003cclg@fr.ibm.com\u003e\nCc: Dave Hansen \u003chaveblue@us.ibm.com\u003e\nCc: Serge Hallyn \u003cserue@us.ibm.com\u003e\nCc: \u003ccontainers@lists.osdl.org\u003e\nCc: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nCc: Ian Kent \u003craven@themaw.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "e63340ae6b6205fef26b40a75673d1c9c0c8bb90",
      "tree": "8d3212705515edec73c3936bb9e23c71d34a7b41",
      "parents": [
        "04c9167f91e309c9c4ea982992aa08e83b2eb42e"
      ],
      "author": {
        "name": "Randy Dunlap",
        "email": "randy.dunlap@oracle.com",
        "time": "Tue May 08 00:28:08 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue May 08 11:15:07 2007 -0700"
      },
      "message": "header cleaning: don\u0027t include smp_lock.h when not used\n\nRemove includes of \u003clinux/smp_lock.h\u003e where it is not used/needed.\nSuggested by Al Viro.\n\nBuilds cleanly on x86_64, i386, alpha, ia64, powerpc, sparc,\nsparc64, and arm (all 59 defconfigs).\n\nSigned-off-by: 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": "f50b6f8691cae2e0064c499dd3ef3f31142987f0",
      "tree": "56c449af977772a42939afde5230c4809a057ffe",
      "parents": [
        "e8514478f63b95548a49576ba96b47edeb8596e0"
      ],
      "author": {
        "name": "Ian Kent",
        "email": "raven@themaw.net",
        "time": "Tue Feb 20 13:58:10 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Feb 20 17:10:15 2007 -0800"
      },
      "message": "[PATCH] autofs4: fix another race between mount and expire\n\nJeff Moyer has identified a race between mount and expire.\n\nWhat happens is that during an expire the situation can arise that a directory\nis removed and another lookup is done before the expire issues a completion\nstatus to the kernel module.  In this case, since the the lookup gets a new\ndentry, it doesn\u0027t know that there is an expire in progress and when it posts\nits mount request, matches the existing expire request and waits for its\ncompletion.  ENOENT is then returned to user space from lookup (as the dentry\npassed in is now unhashed) without having performed the mount request.\n\nThe solution used here is to keep track of dentrys in this unhashed state and\nreuse them, if possible, in order to preserve the flags.  Additionally, this\ninfrastructure will provide the framework for the reintroduction of caching of\nmount fails removed earlier in development.\n\nSigned-off-by: Ian Kent \u003craven@themaw.net\u003e\nAcked-by: Jeff Moyer \u003cjmoyer@redhat.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": "5cbded585d129d0226cb48ac4202b253c781be26",
      "tree": "fb24edc194a57ee81a3bf8a4dd8a95030dd0ad22",
      "parents": [
        "0743b86800cf1dfbf96df4a438938127bbe4476c"
      ],
      "author": {
        "name": "Robert P. J. Day",
        "email": "rpjday@mindspring.com",
        "time": "Wed Dec 13 00:35:56 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Wed Dec 13 09:05:58 2006 -0800"
      },
      "message": "[PATCH] getting rid of all casts of k[cmz]alloc() calls\n\nRun this:\n\n\t#!/bin/sh\n\tfor f in $(grep -Erl \"\\([^\\)]*\\) *k[cmz]alloc\" *) ; do\n\t  echo \"De-casting $f...\"\n\t  perl -pi -e \"s/ ?\u003d ?\\([^\\)]*\\) *(k[cmz]alloc) *\\(/ \u003d \\1\\(/\" $f\n\tdone\n\nAnd then go through and reinstate those cases where code is casting pointers\nto non-pointers.\n\nAnd then drop a few hunks which conflicted with outstanding work.\n\nCc: Russell King \u003crmk@arm.linux.org.uk\u003e, Ian Molton \u003cspyro@f2s.com\u003e\nCc: Mikael Starvik \u003cstarvik@axis.com\u003e\nCc: Yoshinori Sato \u003cysato@users.sourceforge.jp\u003e\nCc: Roman Zippel \u003czippel@linux-m68k.org\u003e\nCc: Geert Uytterhoeven \u003cgeert@linux-m68k.org\u003e\nCc: Ralf Baechle \u003cralf@linux-mips.org\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Kyle McMartin \u003ckyle@mcmartin.ca\u003e\nCc: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nCc: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\nCc: \"David S. Miller\" \u003cdavem@davemloft.net\u003e\nCc: Jeff Dike \u003cjdike@addtoit.com\u003e\nCc: Greg KH \u003cgreg@kroah.com\u003e\nCc: Jens Axboe \u003cjens.axboe@oracle.com\u003e\nCc: Paul Fulghum \u003cpaulkf@microgate.com\u003e\nCc: Alan Cox \u003calan@lxorguk.ukuu.org.uk\u003e\nCc: Karsten Keil \u003ckkeil@suse.de\u003e\nCc: Mauro Carvalho Chehab \u003cmchehab@infradead.org\u003e\nCc: Jeff Garzik \u003cjeff@garzik.org\u003e\nCc: James Bottomley \u003cJames.Bottomley@steeleye.com\u003e\nCc: Ian Kent \u003craven@themaw.net\u003e\nCc: Steven French \u003csfrench@us.ibm.com\u003e\nCc: David Woodhouse \u003cdwmw2@infradead.org\u003e\nCc: Neil Brown \u003cneilb@cse.unsw.edu.au\u003e\nCc: Jaroslav Kysela \u003cperex@suse.cz\u003e\nCc: Takashi Iwai \u003ctiwai@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "c949d4eb40ce021b1abc3b63af23aa535662cb17",
      "tree": "054b4464c4968f9e07f65fe9680b483cae6e71df",
      "parents": [
        "595142e0490918af5ffae5a833a2b2acd7097c02"
      ],
      "author": {
        "name": "Jiri Kosina",
        "email": "jkosina@suse.cz",
        "time": "Wed Dec 06 20:39:38 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Thu Dec 07 08:39:43 2006 -0800"
      },
      "message": "[PATCH] autofs: fix error code path in autofs_fill_sb()\n\nWhen kernel is compiled with old version of autofs (CONFIG_AUTOFS_FS), and\nnew (observed at least with 5.x.x) automount deamon is started, kernel\ncorrectly reports incompatible version of kernel and userland daemon, but\nthen screws things up instead of correct handling of the error:\n\n autofs: kernel does not match daemon version\n \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n [ BUG: bad unlock balance detected! ]\n -------------------------------------\n automount/4199 is trying to release lock (\u0026type-\u003es_umount_key) at:\n [\u003cc0163b9e\u003e] get_sb_nodev+0x76/0xa4\n but there are no more locks to release!\n\n other info that might help us debug this:\n no locks held by automount/4199.\n\n stack backtrace:\n  [\u003cc0103b15\u003e] dump_trace+0x68/0x1b2\n  [\u003cc0103c77\u003e] show_trace_log_lvl+0x18/0x2c\n  [\u003cc01041db\u003e] show_trace+0xf/0x11\n  [\u003cc010424d\u003e] dump_stack+0x12/0x14\n  [\u003cc012e02c\u003e] print_unlock_inbalance_bug+0xe7/0xf3\n  [\u003cc012fd4f\u003e] lock_release+0x8d/0x164\n  [\u003cc012b452\u003e] up_write+0x14/0x27\n  [\u003cc0163b9e\u003e] get_sb_nodev+0x76/0xa4\n  [\u003cc0163689\u003e] vfs_kern_mount+0x83/0xf6\n  [\u003cc016373e\u003e] do_kern_mount+0x2d/0x3e\n  [\u003cc017513f\u003e] do_mount+0x607/0x67a\n  [\u003cc0175224\u003e] sys_mount+0x72/0xa4\n  [\u003cc0102b96\u003e] sysenter_past_esp+0x5f/0x99\n DWARF2 unwinder stuck at sysenter_past_esp+0x5f/0x99\n Leftover inexact backtrace:\n  \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n\nand then deadlock comes.\n\nThe problem: autofs_fill_super() returns EINVAL to get_sb_nodev(), but\nbefore that, it calls kill_anon_super() to destroy the superblock which\nwon\u0027t be needed.  This is however way too soon to call kill_anon_super(),\nbecause get_sb_nodev() has to perform its own cleanup of the superblock\nfirst (deactivate_super(), etc.).  The correct time to call\nkill_anon_super() is in the autofs_kill_sb() callback, which is called by\ndeactivate_super() at proper time, when the superblock is ready to be\nkilled.\n\nI can see the same faulty codepath also in autofs4.  This patch solves\nissues in both filesystems in a same way - it postpones the\nkill_anon_super() until the proper time is signalized by deactivate_super()\ncalling the kill_sb() callback.\n\n[raven@themaw.net: update comment]\nSigned-off-by: Jiri Kosina \u003cjkosina@suse.cz\u003e\nAcked-by: Ian Kent \u003craven@themaw.net\u003e\nCc: \u003cstable@kernel.org\u003e\nSigned-off-by: Ian Kent \u003craven@themaw.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "ba8df43c0ee93ec05fc526278a80aaf4cb5ab1fa",
      "tree": "510db3f9141e0bf091eccaf7ef7a0db3c81338bb",
      "parents": [
        "6a34b57bec41c95f1e38f700cd9b81324baaffc7"
      ],
      "author": {
        "name": "Ian Kent",
        "email": "raven@themaw.net",
        "time": "Tue Nov 14 02:03:29 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Tue Nov 14 09:09:27 2006 -0800"
      },
      "message": "[PATCH] autofs4: panic after mount fail\n\nResolve the panic on failed mount of an autofs filesystem originally\nreported by Mao Bibo.\n\nIt addresses two issues that happen after the mount fail.  The first a NULL\npointer reference to a field (pipe) in the autofs superblock info structure\nand second the lack of super block cleanup by the autofs and autofs4\nmodules.\n\nSigned-off-by: Ian Kent \u003craven@themaw.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "6ce315234aefcbc599dea390c15672156ebf9e7b",
      "tree": "ecf559a2b3f351dd35e274eb2d78fe6e2902c15c",
      "parents": [
        "edc666e2ff9ec2e4e9510f1127c68c22cffc93f6"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Wed Oct 11 01:22:15 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Oct 11 11:14:25 2006 -0700"
      },
      "message": "[PATCH] AUTOFS: Make sure all dentries refs are released before calling kill_anon_super()\n\nMake sure all dentries refs are released before calling kill_anon_super() so\nthat the assumption that generic_shutdown_super() can completely destroy the\ndentry tree for there will be no external references holds true.\n\nWhat was being done in the put_super() superblock op, is now done in the\nkill_sb() filesystem op instead, prior to calling kill_anon_super().\n\nThis makes the struct autofs_sb_info::root member variable redundant (since\nsb-\u003es_root is still available), and so that is removed.  The calls to\nshrink_dcache_sb() are also removed since they\u0027re also redundant as\nshrink_dcache_for_umount() will now be called after the cleanup routine.\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nAcked-by: Ian Kent \u003craven@themaw.net\u003e\nCc: Trond Myklebust \u003ctrond.myklebust@fys.uio.no\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": "e18fa700c9a31360bc8f193aa543b7ef7b39a06b",
      "tree": "1006f53177341c614d4aeb6c96e2e8f3859b5f52",
      "parents": [
        "4f5537de7c1531398e84e18a24f667e49cc94208"
      ],
      "author": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Sun Sep 24 11:13:19 2006 -0400"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Sun Sep 24 11:13:19 2006 -0400"
      },
      "message": "Move several *_SUPER_MAGIC symbols to include/linux/magic.h.\n\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "f5b95ff010d0a4e40f877277f8f0e62fcd83b5a8",
      "tree": "dd9b8f58a16fec4746fb58a0848a36916b1f86f1",
      "parents": [
        "fa8f399a2bc36c1329672400857757e0982babf3"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@stusta.de",
        "time": "Tue Mar 28 01:56:29 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Mar 28 09:16:03 2006 -0800"
      },
      "message": "[PATCH] autofs4: proper prototype for autofs4_dentry_release()\n\nAdd a proper prototype for autofs4_dentry_release() to autofs_i.h.\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": "3370c74b2e147169d5bba6665e03d3281f5795ed",
      "tree": "bf9a4b2d733605c539ebfb731bac21034adc53d9",
      "parents": [
        "44d53eb041d901620b1090590a549a705767fd10"
      ],
      "author": {
        "name": "Dave Jones",
        "email": "davej@redhat.com",
        "time": "Mon Mar 27 01:14:57 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Mar 27 08:44:41 2006 -0800"
      },
      "message": "[PATCH] Remove redundant check from autofs4_put_super\n\nWe have to have a valid sbi here, or we\u0027d have oopsed already.  (There\u0027s a\ndereference of sbi-\u003ecatatonic a few lines above)\n\nCoverity #740\n\nSigned-off-by: Dave Jones \u003cdavej@redhat.com\u003e\nCc: Ian Kent \u003craven@themaw.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "44d53eb041d901620b1090590a549a705767fd10",
      "tree": "765f8e737a9e067d65fefaa2f88a25e6855c17d0",
      "parents": [
        "5c0a32fc2cd0be912511199449a37a4a6f0f582d"
      ],
      "author": {
        "name": "Ian Kent",
        "email": "raven@themaw.net",
        "time": "Mon Mar 27 01:14:56 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Mar 27 08:44:41 2006 -0800"
      },
      "message": "[PATCH] autofs4: change AUTOFS_TYP_* AUTOFS_TYPE_*\n\nSigned-off-by: Ian Kent \u003craven@themaw.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "34ca959cfc15cf09ad4da4f31ab034691e51af78",
      "tree": "83bbe0a2b94ca58f39c65b1e605f44d421b9564b",
      "parents": [
        "051d381259eb57d6074d02a6ba6e90e744f1a29f"
      ],
      "author": {
        "name": "Ian Kent",
        "email": "raven@themaw.net",
        "time": "Mon Mar 27 01:14:54 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Mar 27 08:44:40 2006 -0800"
      },
      "message": "[PATCH] autofs4: add v5 follow_link mount trigger method\n\nThis patch adds a follow_link inode method for the root of an autofs direct\nmount trigger.  It also adds the corresponding mount options and updates the\nshow_mount method.\n\nSigned-off-by: Ian Kent \u003craven@themaw.net\u003e\nCc: Al Viro \u003cviro@ftp.linux.org.uk\u003e\nCc: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "d7c4a5f1080a61fd4a3a00ba5f741986f8fb71f0",
      "tree": "e8f87bd83b674826b3e7f90fcfc4dba8ac93fa7c",
      "parents": [
        "862b110f0132401e422783bf68521ade3dc67578"
      ],
      "author": {
        "name": "Ian Kent",
        "email": "raven@themaw.net",
        "time": "Mon Mar 27 01:14:49 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Mar 27 08:44:40 2006 -0800"
      },
      "message": "[PATCH] autofs4: add a show mount options for proc filesystem\n\nAdd show_options method to display autofs4 mount options in the proc\nfilesystem.\n\nSigned-off-by: Ian Kent \u003craven@themaw.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "1aff3c8b0511b5bb54acf7859e0c6ec9ae7287a9",
      "tree": "be50f4c89a14240b568010da1b0ce3c182352afc",
      "parents": [
        "1ce12bad85863478619688c0c7363f93a9e5edb8"
      ],
      "author": {
        "name": "Ian Kent",
        "email": "raven@themaw.net",
        "time": "Mon Mar 27 01:14:46 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Mar 27 08:44:39 2006 -0800"
      },
      "message": "[PATCH] autofs4: fix false negative return from expire\n\nFix the case where an expire returns busy on a tree mount when it is in fact\nnot busy.  This case was overlooked when the patch to prevent the expiring\naway of \"scaffolding\" directories for tree mounts was applied.\n\nThe problem arises when a tree of mounts is a member of a map with other keys.\n The current logic will not expire the tree if any other mount in the map is\nbusy.  The solution is to maintain a \"minimum\" use count for each autofs\ndentry and compare this to the actual dentry usage count during expire.\n\nSigned-off-by: Ian Kent \u003craven@themaw.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "1d5599e397dcc7c2300d200e66dad326d7dbac38",
      "tree": "beaa29f23c35375bbff4b5b256e96dd3b13c5728",
      "parents": [
        "1eb0d67007e75697a7b87e6b611be935a991395c"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Mar 23 03:00:41 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Thu Mar 23 07:38:13 2006 -0800"
      },
      "message": "[PATCH] sem2mutex: autofs4 wq_sem\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\nAcked-by: Ian Kent \u003craven@themaw.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "5160ee6fc891a9ca114be0e90fa6655647bb64b2",
      "tree": "35d3740a777935582af1b78238f20d2c2971ed55",
      "parents": [
        "21b6bf143d05d77c350d9c6764ae090a877b66ea"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "dada1@cosmosbay.com",
        "time": "Sun Jan 08 01:03:32 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Jan 08 20:13:58 2006 -0800"
      },
      "message": "[PATCH] shrink dentry struct\n\nSome long time ago, dentry struct was carefully tuned so that on 32 bits\nUP, sizeof(struct dentry) was exactly 128, ie a power of 2, and a multiple\nof memory cache lines.\n\nThen RCU was added and dentry struct enlarged by two pointers, with nice\nresults for SMP, but not so good on UP, because breaking the above tuning\n(128 + 8 \u003d 136 bytes)\n\nThis patch reverts this unwanted side effect, by using an union (d_u),\nwhere d_rcu and d_child are placed so that these two fields can share their\nmemory needs.\n\nAt the time d_free() is called (and d_rcu is really used), d_child is known\nto be empty and not touched by the dentry freeing.\n\nLockless lookups only access d_name, d_parent, d_lock, d_op, d_flags (so\nthe previous content of d_child is not needed if said dentry was unhashed\nbut still accessed by a CPU because of RCU constraints)\n\nAs dentry cache easily contains millions of entries, a size reduction is\nworth the extra complexity of the ugly C union.\n\nSigned-off-by: Eric Dumazet \u003cdada1@cosmosbay.com\u003e\nCc: Dipankar Sarma \u003cdipankar@in.ibm.com\u003e\nCc: Maneesh Soni \u003cmaneesh@in.ibm.com\u003e\nCc: Miklos Szeredi \u003cmiklos@szeredi.hu\u003e\nCc: \"Paul E. McKenney\" \u003cpaulmck@us.ibm.com\u003e\nCc: Ian Kent \u003craven@themaw.net\u003e\nCc: Paul Jackson \u003cpj@sgi.com\u003e\nCc: Al Viro \u003cviro@ftp.linux.org.uk\u003e\nCc: Christoph Hellwig \u003chch@lst.de\u003e\nCc: Trond Myklebust \u003ctrond.myklebust@fys.uio.no\u003e\nCc: Neil Brown \u003cneilb@cse.unsw.edu.au\u003e\nCc: James Morris \u003cjmorris@namei.org\u003e\nCc: Stephen Smalley \u003csds@epoch.ncsc.mil\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "f99d49adf527fa6f7a9c42257fa76bca6b8df1e3",
      "tree": "41dddbc336016f9dc9557cdb15300de5e599dac1",
      "parents": [
        "6044ec8882c726e325017bd948aa0cd94ad33abc"
      ],
      "author": {
        "name": "Jesper Juhl",
        "email": "jesper.juhl@gmail.com",
        "time": "Mon Nov 07 01:01:34 2005 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Nov 07 07:54:06 2005 -0800"
      },
      "message": "[PATCH] kfree cleanup: fs\n\nThis is the fs/ part of the big kfree cleanup patch.\n\nRemove pointless checks for NULL prior to calling kfree() in fs/.\n\nSigned-off-by: Jesper Juhl \u003cjesper.juhl@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "104e49fc1e1656142869fab0e75d7df52b72eed9",
      "tree": "4ba88793943da0fda56bbc98b404ea862ba89af6",
      "parents": [
        "0f94c8e1256fcb786e1918e30bdaeccf669bf63c"
      ],
      "author": {
        "name": "Ian Kent",
        "email": "raven@themaw.net",
        "time": "Wed Jul 27 11:43:45 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Jul 27 16:25:51 2005 -0700"
      },
      "message": "[PATCH] autofs4: fix infamous \"Busy inodes after umount ...\" message\n\nIf the automount daemon receives a signal which causes it to sumarily\nterminate the autofs4 module leaks dentries.  The same problem exists with\ndetached mount requests without the warning.\n\nThis patch cleans these dentries at umount.\n\nSigned-off-by: Ian Kent \u003craven@themaw.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "3a9720ce73c9247e5262922d65e90444ea75eb50",
      "tree": "c70bba916168232f530c00858e7e8a0c5bd82b38",
      "parents": [
        "4dcd00b18118d174c4b8d838c11f437f0af3c20c"
      ],
      "author": {
        "name": "Ian Kent",
        "email": "raven@themaw.net",
        "time": "Sun May 01 08:59:17 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sun May 01 08:59:17 2005 -0700"
      },
      "message": "[PATCH] autofs4: tree race fix\n\nFor tree mount maps, a call to chdir or chroot, to a directory above the\nmoint point directories at a certain time during the expire results in the\nexpire incorrectly thinking the tree is not busy.  This patch adds a check\nto see if the filesystem above the tree mount points is busy and also locks\nthe filesystem during the tree mount expire to prevent the race.\n\nSigned-off-by: Ian Kent \u003craven@themaw.net\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"
    }
  ]
}
