)]}'
{
  "log": [
    {
      "commit": "ca456252db0521e5e88024fa2b67535e9739e030",
      "tree": "3d62ce9e370dfe62e986ab44710262991a2ad2e1",
      "parents": [
        "dee3209d993f17081d2c58d6470dfc8d6662078b"
      ],
      "author": {
        "name": "Jeff Layton",
        "email": "jlayton@redhat.com",
        "time": "Wed Apr 16 16:28:47 2008 -0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Wed Apr 23 16:13:43 2008 -0400"
      },
      "message": "knfsd: clear both setuid and setgid whenever a chown is done\n\nCurrently, knfsd only clears the setuid bit if the owner of a file is\nchanged on a SETATTR call, and only clears the setgid bit if the group\nis changed. POSIX says this in the spec for chown():\n\n    \"If the specified file is a regular file, one or more of the\n     S_IXUSR, S_IXGRP, or S_IXOTH bits of the file mode are set, and the\n     process does not have appropriate privileges, the set-user-ID\n     (S_ISUID) and set-group-ID (S_ISGID) bits of the file mode shall\n     be cleared upon successful return from chown().\"\n\nIf I\u0027m reading this correctly, then knfsd is doing this wrong. It should\nbe clearing both the setuid and setgid bit on any SETATTR that changes\nthe uid or gid. This wasn\u0027t really as noticable before, but now that the\nATTR_KILL_S*ID bits are a no-op for the NFS client, it\u0027s more evident.\n\nThis patch corrects the nfsd_setattr logic so that this occurs. It also\ndoes a bit of cleanup to the function.\n\nThere is also one small behavioral change. If a SETATTR call comes in\nthat changes the uid/gid and the mode, then we now only clear the setgid\nbit if the group execute bit isn\u0027t set. The setgid bit without a group\nexecute bit signifies mandatory locking and we likely don\u0027t want to\nclear the bit in that case. Since there is no call in POSIX that should\ngenerate a SETATTR call like this, then this should rarely happen, but\nit\u0027s worth noting.\n\nSigned-off-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "dee3209d993f17081d2c58d6470dfc8d6662078b",
      "tree": "d19b417851b970c659612593a1f9b6df942e313e",
      "parents": [
        "0dc220f0815497858db539d27947f3ec83202ace"
      ],
      "author": {
        "name": "Jeff Layton",
        "email": "jlayton@redhat.com",
        "time": "Wed Apr 16 16:28:46 2008 -0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Wed Apr 23 16:13:43 2008 -0400"
      },
      "message": "knfsd: get rid of imode variable in nfsd_setattr\n\n...it\u0027s not really needed.\n\nSigned-off-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "3ba1514815817f93a4f09615726dd4bcd0ddbbc9",
      "tree": "3822bc0b3447b3f68ae8179059f022e056c87ab4",
      "parents": [
        "a254b246ee238ab90e7b3fae1f76875b608b2213"
      ],
      "author": {
        "name": "Harvey Harrison",
        "email": "harvey.harrison@gmail.com",
        "time": "Wed Feb 20 12:49:02 2008 -0800"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Wed Apr 23 16:13:39 2008 -0400"
      },
      "message": "nfsd: fix sparse warning in vfs.c\n\nfs/nfsd/vfs.c:991:27: warning: Using plain integer as NULL pointer\n\nSigned-off-by: Harvey Harrison \u003charvey.harrison@gmail.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "f2b0dee2ec8d562ad9ced2b7481be72d356c6cfc",
      "tree": "0e5c88c5bdc2bc34c63ad8c788cb70b8ced2cabc",
      "parents": [
        "7b54fe61ffd5bfa4e50d371a2415225aa0cbb38e"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@kernel.org",
        "time": "Wed Feb 13 23:30:26 2008 +0200"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Wed Apr 23 16:13:38 2008 -0400"
      },
      "message": "make nfsd_create_setattr() static\n\nThis patch makes the needlessly global nfsd_create_setattr() static.\n\nSigned-off-by: Adrian Bunk \u003cbunk@kernel.org\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "2c463e95480829a2fe8f386589516e13b1289db6",
      "tree": "7294d93a15f62ccc2c649ef9782b7f85ae7d1ef8",
      "parents": [
        "ec82687f29127a954dd0da95dc1e0a4ce92b560c"
      ],
      "author": {
        "name": "Dave Hansen",
        "email": "haveblue@us.ibm.com",
        "time": "Fri Feb 15 14:37:56 2008 -0800"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat Apr 19 00:29:27 2008 -0400"
      },
      "message": "[PATCH] r/o bind mounts: check mnt instead of superblock directly\n\nIf we depend on the inodes for writeability, we will not catch the r/o mounts\nwhen implemented.\n\nThis patches uses __mnt_want_write().  It does not guarantee that the mount\nwill stay writeable after the check.  But, this is OK for one of the checks\nbecause it is just for a printk().\n\nThe other two are probably unnecessary and duplicate existing checks in the\nVFS.  This won\u0027t make them better checks than before, but it will make them\ndetect r/o mounts.\n\nAcked-by: Al Viro \u003cviro@ZenIV.linux.org.uk\u003e\nSigned-off-by: Christoph Hellwig \u003chch@infradead.org\u003e\nSigned-off-by: Dave Hansen \u003chaveblue@us.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "18f335aff86913de3c76f88d32c8135c1da62ce6",
      "tree": "bf541547b9774137a161d200bace04ad152e80e3",
      "parents": [
        "9079b1eb1753f217c3de9f1b7dd7fd549cc3f0cf"
      ],
      "author": {
        "name": "Dave Hansen",
        "email": "haveblue@us.ibm.com",
        "time": "Fri Feb 15 14:37:38 2008 -0800"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat Apr 19 00:29:15 2008 -0400"
      },
      "message": "[PATCH] r/o bind mounts: elevate write count for xattr_permission() callers\n\nThis basically audits the callers of xattr_permission(), which calls\npermission() and can perform writes to the filesystem.\n\n[AV: add missing parts - removexattr() and nfsd posix acls, plug for a leak\nspotted by Miklos]\n\nAcked-by: Al Viro \u003cviro@ZenIV.linux.org.uk\u003e\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Dave Hansen \u003chaveblue@us.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "9079b1eb1753f217c3de9f1b7dd7fd549cc3f0cf",
      "tree": "8e522ad0b16829849e4b1602270eb10997fba41d",
      "parents": [
        "75c3f29de7451677c59580b0a959f694f36aac28"
      ],
      "author": {
        "name": "Dave Hansen",
        "email": "haveblue@us.ibm.com",
        "time": "Fri Feb 15 14:37:49 2008 -0800"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat Apr 19 00:25:34 2008 -0400"
      },
      "message": "[PATCH] r/o bind mounts: get write access for vfs_rename() callers\n\nThis also uses the little helper in the NFS code to make an if() a little bit\nless ugly.  We introduced the helper at the beginning of the series.\n\nAcked-by: Al Viro \u003cviro@ZenIV.linux.org.uk\u003e\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Dave Hansen \u003chaveblue@us.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "75c3f29de7451677c59580b0a959f694f36aac28",
      "tree": "c82ad50102bfa38f2dc6bb0f763cde9f3dff3790",
      "parents": [
        "463c3197263bd26ac59a00d2484990e17e35c50e"
      ],
      "author": {
        "name": "Dave Hansen",
        "email": "haveblue@us.ibm.com",
        "time": "Fri Feb 15 14:37:45 2008 -0800"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat Apr 19 00:25:34 2008 -0400"
      },
      "message": "[PATCH] r/o bind mounts: write counts for link/symlink\n\n[AV: add missing nfsd pieces]\n\nAcked-by: Al Viro \u003cviro@ZenIV.linux.org.uk\u003e\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Dave Hansen \u003chaveblue@us.ibm.com\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "463c3197263bd26ac59a00d2484990e17e35c50e",
      "tree": "b27c04f978ccd447ae33f7387b6a4aba0033acc5",
      "parents": [
        "0622753b800e4cc6cb9319b36b27658c72dd7cdc"
      ],
      "author": {
        "name": "Dave Hansen",
        "email": "haveblue@us.ibm.com",
        "time": "Fri Feb 15 14:37:57 2008 -0800"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat Apr 19 00:25:34 2008 -0400"
      },
      "message": "[PATCH] r/o bind mounts: get callers of vfs_mknod/create/mkdir()\n\nThis takes care of all of the direct callers of vfs_mknod().\nSince a few of these cases also handle normal file creation\nas well, this also covers some calls to vfs_create().\n\nSo that we don\u0027t have to make three mnt_want/drop_write()\ncalls inside of the switch statement, we move some of its\nlogic outside of the switch and into a helper function\nsuggested by Christoph.\n\nThis also encapsulates a fix for mknod(S_IFREG) that Miklos\nfound.\n\n[AV: merged mkdir handling, added missing nfsd pieces]\n\nAcked-by: Al Viro \u003cviro@ZenIV.linux.org.uk\u003e\nSigned-off-by: Christoph Hellwig \u003chch@infradead.org\u003e\nSigned-off-by: Dave Hansen \u003chaveblue@us.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "0622753b800e4cc6cb9319b36b27658c72dd7cdc",
      "tree": "5a32b65a087ff7fd5effa8d3f6f1f9717d4391aa",
      "parents": [
        "49e0d02cf018d4edf24bfc8531a816a26367e4ce"
      ],
      "author": {
        "name": "Dave Hansen",
        "email": "haveblue@us.ibm.com",
        "time": "Fri Feb 15 14:37:34 2008 -0800"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat Apr 19 00:25:33 2008 -0400"
      },
      "message": "[PATCH] r/o bind mounts: elevate write count for rmdir and unlink.\n\nElevate the write count during the vfs_rmdir() and vfs_unlink().\n\n[AV: merged rmdir and unlink parts, added missing pieces in nfsd]\n\nAcked-by: Serge Hallyn \u003cserue@us.ibm.com\u003e\nAcked-by: Al Viro \u003cviro@ZenIV.linux.org.uk\u003e\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Dave Hansen \u003chaveblue@us.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "5477549161480432d053565d2720f08626baf9e3",
      "tree": "0993666627a6f53f5c7cc9277a329760ccc1002d",
      "parents": [
        "448678a0f3cdd0157f00e98bd337e32030273637"
      ],
      "author": {
        "name": "Jan Blunck",
        "email": "jblunck@suse.de",
        "time": "Thu Feb 14 19:38:39 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Feb 14 21:17:08 2008 -0800"
      },
      "message": "Use struct path in struct svc_export\n\nI\u0027m embedding struct path into struct svc_export.\n\n[akpm@linux-foundation.org: coding-style fixes]\n[ezk@cs.sunysb.edu: NFSD: fix wrong mnt_writer count in rename]\nSigned-off-by: Jan Blunck \u003cjblunck@suse.de\u003e\nAcked-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\nAcked-by: Christoph Hellwig \u003chch@infradead.org\u003e\nCc: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nCc: \"J. Bruce Fields\" \u003cbfields@fieldses.org\u003e\nCc: Neil Brown \u003cneilb@suse.de\u003e\nCc: Trond Myklebust \u003ctrond.myklebust@fys.uio.no\u003e\nSigned-off-by: Erez Zadok \u003cezk@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": "5c002b3bb294a637312cab7ad92a0deafa05a758",
      "tree": "0183f792fe61fe1bb6a117baf385020feb5b085c",
      "parents": [
        "29dbf546159f5701e11de26fa2da5c4a962e0f83"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Nov 30 16:55:23 2007 -0500"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Feb 01 16:42:07 2008 -0500"
      },
      "message": "nfsd: allow root to set uid and gid on create\n\nThe server silently ignores attempts to set the uid and gid on create.\nBased on the comment, this appears to have been done to prevent some\noverly-clever IRIX client from causing itself problems.\n\nPerhaps we should remove that hack completely.  For now, at least, it\nmakes sense to allow root (when no_root_squash is set) to set uid and\ngid.\n\nWhile we\u0027re there, since nfsd_create and nfsd_create_v3 share the same\nlogic, pull that out into a separate function.  And spell out the\nindividual modifications of ia_valid instead of doing them both at once\ninside a conditional.\n\nThanks to Roger Willcocks \u003croger@filmlight.ltd.uk\u003e for the bug report\nand original patch on which this is based.\n\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "5a022fc8700cadbac373766cf1b5c746ffec7164",
      "tree": "9af2b088a6075df55adb5165f790f7de52d29449",
      "parents": [
        "29d5e5553826d05b8ecda51c21787ce85efdef06"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Thu Nov 01 16:57:09 2007 -0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Feb 01 16:42:03 2008 -0500"
      },
      "message": "NFSD: Adjust filename length argument of nfsd_lookup\n\nClean up: adjust the sign of the length argument of nfsd_lookup and\nnfsd_lookup_dentry, for consistency with recent changes.  NFSD version\n4 callers already pass an unsigned file name length.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nAcked-By: NeilBrown \u003cneilb@suse.de\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "ba25f9dcc4ea6e30839fcab5a5516f2176d5bfed",
      "tree": "3123c03b25dd5c0cd24b6ab4fc16731217838157",
      "parents": [
        "9a2e70572e94e21e7ec4186702d045415422bda0"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Thu Oct 18 23:40:40 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Oct 19 11:53:43 2007 -0700"
      },
      "message": "Use helpers to obtain task pid in printks\n\nThe task_struct-\u003epid member is going to be deprecated, so start\nusing the helpers (task_pid_nr/task_pid_vnr/task_pid_nr_ns) in\nthe kernel.\n\nThe first thing to start with is the pid, printed to dmesg - in\nthis case we may safely use task_pid_nr(). Besides, printks produce\nmore (much more) than a half of all the explicit pid usage.\n\n[akpm@linux-foundation.org: git-drm went and changed lots of stuff]\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nCc: Dave Airlie \u003cairlied@linux.ie\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "8a0ce7d99a4d19788e017f3138bc59b9962057ae",
      "tree": "07b61f8760081e377274f055e0433dc1695b6549",
      "parents": [
        "1ac564ecabc777636cf4eb88840802d7dc57d286"
      ],
      "author": {
        "name": "Jeff Layton",
        "email": "jlayton@redhat.com",
        "time": "Thu Oct 18 03:05:19 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Oct 18 14:37:22 2007 -0700"
      },
      "message": "knfsd: only set ATTR_KILL_S*ID if ATTR_MODE isn\u0027t being explicitly set\n\nIt\u0027s theoretically possible for a single SETATTR call to come in that sets the\nmode and the uid/gid.  In that case, don\u0027t set the ATTR_KILL_S*ID bits since\nthat would trip the BUG() in notify_change.  Just fix up the mode to have the\nsame effect.\n\nSigned-off-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nCc: Neil Brown \u003cneilb@suse.de\u003e\nCc: \"J. Bruce Fields\" \u003cbfields@fieldses.org\u003e\nCc: 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": "b53767719b6cd8789392ea3e7e2eb7b8906898f0",
      "tree": "a0279dc93c79b94d3865b0f19f6b7b353e20608c",
      "parents": [
        "57c521ce6125e15e99e56c902cb8da96bee7b36d"
      ],
      "author": {
        "name": "Serge E. Hallyn",
        "email": "serue@us.ibm.com",
        "time": "Tue Oct 16 23:31:36 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Oct 17 08:43:07 2007 -0700"
      },
      "message": "Implement file posix capabilities\n\nImplement file posix capabilities.  This allows programs to be given a\nsubset of root\u0027s powers regardless of who runs them, without having to use\nsetuid and giving the binary all of root\u0027s powers.\n\nThis version works with Kaigai Kohei\u0027s userspace tools, found at\nhttp://www.kaigai.gr.jp/index.php.  For more information on how to use this\npatch, Chris Friedhoff has posted a nice page at\nhttp://www.friedhoff.org/fscaps.html.\n\nChangelog:\n\tNov 27:\n\tIncorporate fixes from Andrew Morton\n\t(security-introduce-file-caps-tweaks and\n\tsecurity-introduce-file-caps-warning-fix)\n\tFix Kconfig dependency.\n\tFix change signaling behavior when file caps are not compiled in.\n\n\tNov 13:\n\tIntegrate comments from Alexey: Remove CONFIG_ ifdef from\n\tcapability.h, and use %zd for printing a size_t.\n\n\tNov 13:\n\tFix endianness warnings by sparse as suggested by Alexey\n\tDobriyan.\n\n\tNov 09:\n\tAddress warnings of unused variables at cap_bprm_set_security\n\twhen file capabilities are disabled, and simultaneously clean\n\tup the code a little, by pulling the new code into a helper\n\tfunction.\n\n\tNov 08:\n\tFor pointers to required userspace tools and how to use\n\tthem, see http://www.friedhoff.org/fscaps.html.\n\n\tNov 07:\n\tFix the calculation of the highest bit checked in\n\tcheck_cap_sanity().\n\n\tNov 07:\n\tAllow file caps to be enabled without CONFIG_SECURITY, since\n\tcapabilities are the default.\n\tHook cap_task_setscheduler when !CONFIG_SECURITY.\n\tMove capable(TASK_KILL) to end of cap_task_kill to reduce\n\taudit messages.\n\n\tNov 05:\n\tAdd secondary calls in selinux/hooks.c to task_setioprio and\n\ttask_setscheduler so that selinux and capabilities with file\n\tcap support can be stacked.\n\n\tSep 05:\n\tAs Seth Arnold points out, uid checks are out of place\n\tfor capability code.\n\n\tSep 01:\n\tDefine task_setscheduler, task_setioprio, cap_task_kill, and\n\ttask_setnice to make sure a user cannot affect a process in which\n\tthey called a program with some fscaps.\n\n\tOne remaining question is the note under task_setscheduler: are we\n\tok with CAP_SYS_NICE being sufficient to confine a process to a\n\tcpuset?\n\n\tIt is a semantic change, as without fsccaps, attach_task doesn\u0027t\n\tallow CAP_SYS_NICE to override the uid equivalence check.  But since\n\tit uses security_task_setscheduler, which elsewhere is used where\n\tCAP_SYS_NICE can be used to override the uid equivalence check,\n\tfixing it might be tough.\n\n\t     task_setscheduler\n\t\t note: this also controls cpuset:attach_task.  Are we ok with\n\t\t     CAP_SYS_NICE being used to confine to a cpuset?\n\t     task_setioprio\n\t     task_setnice\n\t\t sys_setpriority uses this (through set_one_prio) for another\n\t\t process.  Need same checks as setrlimit\n\n\tAug 21:\n\tUpdated secureexec implementation to reflect the fact that\n\teuid and uid might be the same and nonzero, but the process\n\tmight still have elevated caps.\n\n\tAug 15:\n\tHandle endianness of xattrs.\n\tEnforce capability version match between kernel and disk.\n\tEnforce that no bits beyond the known max capability are\n\tset, else return -EPERM.\n\tWith this extra processing, it may be worth reconsidering\n\tdoing all the work at bprm_set_security rather than\n\td_instantiate.\n\n\tAug 10:\n\tAlways call getxattr at bprm_set_security, rather than\n\tcaching it at d_instantiate.\n\n[morgan@kernel.org: file-caps clean up for linux/capability.h]\n[bunk@kernel.org: unexport cap_inode_killpriv]\nSigned-off-by: Serge E. Hallyn \u003cserue@us.ibm.com\u003e\nCc: Stephen Smalley \u003csds@tycho.nsa.gov\u003e\nCc: James Morris \u003cjmorris@namei.org\u003e\nCc: Chris Wright \u003cchrisw@sous-sol.org\u003e\nCc: Andrew Morgan \u003cmorgan@kernel.org\u003e\nSigned-off-by: Andrew Morgan \u003cmorgan@kernel.org\u003e\nSigned-off-by: Adrian Bunk \u003cbunk@kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "a8754beedbdc56864bc5f8c9461929a9b328b899",
      "tree": "a5748167a26b741af9b916a30c686a79312486a3",
      "parents": [
        "c7eb26678e59f16f4e84f1176d187cd21a27414d"
      ],
      "author": {
        "name": "Dave Hansen",
        "email": "haveblue@us.ibm.com",
        "time": "Tue Oct 16 23:31:15 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Oct 17 08:43:05 2007 -0700"
      },
      "message": "r/o bind mounts: create cleanup helper svc_msnfs()\n\nI\u0027m going to be modifying nfsd_rename() shortly to support read-only bind\nmounts.  This #ifdef is around the area I\u0027m patching, and it starts to get\nreally ugly if I just try to add my new code by itself.  Using this little\nhelper makes things a lot cleaner to use.\n\nSigned-off-by: Dave Hansen \u003chaveblue@us.ibm.com\u003e\nAcked-by: Christoph Hellwig \u003chch@infradead.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "541010e4b8921cd781ff02ae68028501457045b6",
      "tree": "58bd529d4c6e69899a0aa20afa2d7f1c23326417",
      "parents": [
        "e457f790d8b05977853aa238bbc667b3bb375671",
        "5e7fc436426b1f9e106f511a049de91c82ec2c53"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Oct 15 16:07:40 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Oct 15 16:07:40 2007 -0700"
      },
      "message": "Merge branch \u0027locks\u0027 of git://linux-nfs.org/~bfields/linux\n\n* \u0027locks\u0027 of git://linux-nfs.org/~bfields/linux:\n  nfsd: remove IS_ISMNDLCK macro\n  Rework /proc/locks via seq_files and seq_list helpers\n  fs/locks.c: use list_for_each_entry() instead of list_for_each()\n  NFS: clean up explicit check for mandatory locks\n  AFS: clean up explicit check for mandatory locks\n  9PFS: clean up explicit check for mandatory locks\n  GFS2: clean up explicit check for mandatory locks\n  Cleanup macros for distinguishing mandatory locks\n  Documentation: move locks.txt in filesystems/\n  locks: add warning about mandatory locking races\n  Documentation: move mandatory locking documentation to filesystems/\n  locks: Fix potential OOPS in generic_setlease()\n  Use list_first_entry in locks_wake_up_blocks\n  locks: fix flock_lock_file() comment\n  Memory shortage can result in inconsistent flocks state\n  locks: kill redundant local variable\n  locks: reverse order of posix_locks_conflict() arguments\n"
    },
    {
      "commit": "5e7fc436426b1f9e106f511a049de91c82ec2c53",
      "tree": "e81390d24654d62a49091db2ba8084c08b61e9e3",
      "parents": [
        "7f8ada98d9edd83d6ebd01e431e15b024a4a3dc4"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Tue Oct 02 14:18:12 2007 -0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Tue Oct 09 18:32:46 2007 -0400"
      },
      "message": "nfsd: remove IS_ISMNDLCK macro\n\nThis macro is only used in one place; in this place it seems simpler to\nput open-code it and move the comment to where it\u0027s used.\n\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "a16877ca9cec211708a161057a7cbfbf2cbc3a53",
      "tree": "a114bfe588af58047b1eb2aa1f57ac4b890c01a6",
      "parents": [
        "98257af5a2ad0c5b502ebd07094d9fd8ce87acef"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Mon Oct 01 14:41:11 2007 -0700"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Tue Oct 09 18:32:46 2007 -0400"
      },
      "message": "Cleanup macros for distinguishing mandatory locks\n\nThe combination of S_ISGID bit set and S_IXGRP bit unset is used to mark the\ninode as \"mandatory lockable\" and there\u0027s a macro for this check called\nMANDATORY_LOCK(inode).  However, fs/locks.c and some filesystems still perform\nthe explicit i_mode checking.  Besides, Andrew pointed out, that this macro is\nbuggy itself, as it dereferences the inode arg twice.\n\nConvert this macro into static inline function and switch its users to it,\nmaking the code shorter and more readable.\n\nThe __mandatory_lock() helper is to be used in places where the IS_MANDLOCK()\nfor superblock is already known to be true.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nCc: Trond Myklebust \u003ctrond.myklebust@fys.uio.no\u003e\nCc: \"J. Bruce Fields\" \u003cbfields@fieldses.org\u003e\nCc: David Howells \u003cdhowells@redhat.com\u003e\nCc: Eric Van Hensbergen \u003cericvh@gmail.com\u003e\nCc: Ron Minnich \u003crminnich@sandia.gov\u003e\nCc: Latchesar Ionkov \u003clucho@ionkov.net\u003e\nCc: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\n"
    },
    {
      "commit": "9c85fca56b569dfba1f10ae12ce425c0e678df83",
      "tree": "588274c4216818f671ac47d804e830ae10f0d6e5",
      "parents": [
        "dca1dd30ce0a6234acc751bb90efba1b49079669"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Wed Mar 07 15:26:25 2007 +0000"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Tue Oct 09 18:31:56 2007 -0400"
      },
      "message": "nfsd: fix horrible indentation in nfsd_setattr\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\nAcked-by:  Neil Brown \u003cneilb@suse.de\u003e\n"
    },
    {
      "commit": "a1033be72cdb053e182bb41e302a1c11e72b68bb",
      "tree": "9e0bd5906c957d290d3291de3543a430f9864283",
      "parents": [
        "7d94143291e4e625e2bc3b1ebdc7143ee7a9a2f1"
      ],
      "author": {
        "name": "Neil Brown",
        "email": "neilb@suse.de",
        "time": "Wed Sep 05 17:22:12 2007 -0400"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Sep 10 18:57:47 2007 -0700"
      },
      "message": "knfsd: Fixed problem with NFS exporting directories which are mounted on.\n\nRecent changes in NFSd cause a directory which is mounted-on\nto not appear properly when the filesystem containing it is exported.\n\n*exp_get* now returns -ENOENT rather than NULL and when\n  commit 5d3dbbeaf56d0365ac6b5c0a0da0bd31cc4781e1\nremoved the NULL checks, it didn\u0027t add a check for -ENOENT.\n\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "749997e5127a1df6b68a10c686af3f5b819a41a2",
      "tree": "73ca2d3c6b90de172c777dec052cfa83898e6db9",
      "parents": [
        "421cee293587081efef165b137514884b8472565"
      ],
      "author": {
        "name": "Jeff Layton",
        "email": "jlayton@redhat.com",
        "time": "Tue Jul 31 00:37:51 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Jul 31 15:39:38 2007 -0700"
      },
      "message": "knfsd: set the response bitmask for NFS4_CREATE_EXCLUSIVE\n\nRFC 3530 says:\n\n If the server uses an attribute to store the exclusive create verifier, it\n will signify which attribute by setting the appropriate bit in the attribute\n mask that is returned in the results.\n\nLinux uses the atime and mtime to store the verifier, but sends a zeroed out\nbitmask back to the client.  This patch makes sure that we set the correct\nbits in the bitmask in this situation.\n\nSigned-off-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\nCc: Neil Brown \u003cneilb@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": "c7d51402d2a64c5b96531f9900bb368020ebbbbb",
      "tree": "b870f7352ceb21799df933a31662b748edcad1e6",
      "parents": [
        "e22841c637dc8b308b40f59d64a5b6683d458ab7"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Thu Jul 19 01:49:20 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Jul 19 10:04:52 2007 -0700"
      },
      "message": "knfsd: clean up EX_RDONLY\n\nShare a little common code, reverse the arguments for consistency, drop the\nunnecessary \"inline\", and lowercase the name.\n\nSigned-off-by: \"J. Bruce Fields\" \u003cbfields@citi.umich.edu\u003e\nAcked-by: Neil Brown \u003cneilb@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": "e22841c637dc8b308b40f59d64a5b6683d458ab7",
      "tree": "4a5d32f430c8123a71a1731eb6b94f807bb435f4",
      "parents": [
        "5d3dbbeaf56d0365ac6b5c0a0da0bd31cc4781e1"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Thu Jul 19 01:49:20 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Jul 19 10:04:52 2007 -0700"
      },
      "message": "knfsd: move EX_RDONLY out of header\n\nEX_RDONLY is only called in one place; just put it there.\n\nSigned-off-by: \"J. Bruce Fields\" \u003cbfields@citi.umich.edu\u003e\nAcked-by: Neil Brown \u003cneilb@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": "5d3dbbeaf56d0365ac6b5c0a0da0bd31cc4781e1",
      "tree": "aa47031138ddb94f8a725ab525a46bffd466a479",
      "parents": [
        "9a25b96c1f6e1a3c85c9524f3046c7c75d8fecc7"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Thu Jul 19 01:49:19 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Jul 19 10:04:52 2007 -0700"
      },
      "message": "nfsd: remove unnecessary NULL checks from nfsd_cross_mnt\n\nWe can now assume that rqst_exp_get_by_name() does not return NULL; so clean\nup some unnecessary checks.\n\nSigned-off-by: \"J. Bruce Fields\" \u003cbfields@citi.umich.edu\u003e\nAcked-by: Neil Brown \u003cneilb@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": "a280df32db291f41b3922ac218674be526af5b9b",
      "tree": "133e80664abd69ad14b3951112d2916e26f51680",
      "parents": [
        "d688abf50bd5a30d2c44dea2a72dd59052cd3cce"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Thu Jul 19 01:49:18 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Jul 19 10:04:52 2007 -0700"
      },
      "message": "nfsd: fix possible read-ahead cache and export table corruption\n\nThe value of nperbucket calculated here is too small--we should be rounding up\ninstead of down--with the result that the index j in the following loop can\noverflow the raparm_hash array.  At least in my case, the next thing in memory\nturns out to be export_table, so the symptoms I see are crashes caused by the\nappearance of four zeroed-out export entries in the first bucket of the hash\ntable of exports (which were actually entries in the readahead cache, a\npointer to which had been written to the export table in this initialization\ncode).\n\nIt looks like the bug was probably introduced with commit\nfce1456a19f5c08b688c29f00ef90fdfa074c79b (\"knfsd: make the readahead params\ncache SMP-friendly\").\n\nCc: \u003cstable@kernel.org\u003e\nCc: Greg Banks \u003cgnb@melbourne.sgi.com\u003e\nSigned-off-by: \"J. Bruce Fields\" \u003cbfields@citi.umich.edu\u003e\nAcked-by: NeilBrown \u003cneilb@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": "0ec757df9743025f14190d6034d8bd2bf37c2dd1",
      "tree": "77436cbdc8c241aceab2daed243606e17e126771",
      "parents": [
        "32c1eb0cd7ee00b5eb7b6f7059c635fbc1052966"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Tue Jul 17 04:04:48 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Jul 17 10:23:08 2007 -0700"
      },
      "message": "knfsd: nfsd4: make readonly access depend on pseudoflavor\n\nAllow readonly access to vary depending on the pseudoflavor, using the flag\npassed with each pseudoflavor in the export downcall.  The rest of the flags\nare ignored for now, though some day we might also allow id squashing to vary\nbased on the flavor.\n\nSigned-off-by: \"J. Bruce Fields\" \u003cbfields@citi.umich.edu\u003e\nSigned-off-by: Neil Brown \u003cneilb@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": "32c1eb0cd7ee00b5eb7b6f7059c635fbc1052966",
      "tree": "c1a15e47d2dd93417b38d374346332809d461bda",
      "parents": [
        "6c0a654dceaa4342270306de77eadb0173dfb58a"
      ],
      "author": {
        "name": "Andy Adamson",
        "email": "andros@citi.umich.edu",
        "time": "Tue Jul 17 04:04:48 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Jul 17 10:23:08 2007 -0700"
      },
      "message": "knfsd: nfsd4: return nfserr_wrongsec\n\nMake the first actual use of the secinfo information by using it to return\nnfserr_wrongsec when an export is found that doesn\u0027t allow the flavor used on\nthis request.\n\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\nSigned-off-by: Andy Adamson \u003candros@citi.umich.edu\u003e\nSigned-off-by: Neil Brown \u003cneilb@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": "6c0a654dceaa4342270306de77eadb0173dfb58a",
      "tree": "ba2c62790bc155a444a6772b829165aa5ad07cd3",
      "parents": [
        "2ea2209f073dc7049bd285b4f5dbc0aa273f9746"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Tue Jul 17 04:04:47 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Jul 17 10:23:08 2007 -0700"
      },
      "message": "knfsd: nfsd: factor nfsd_lookup into 2 pieces\n\nFactor nfsd_lookup into nfsd_lookup_dentry, which finds the right dentry and\nexport, and a second part which composes the filehandle (and which will later\ncheck the security flavor on the new export).\n\nNo change in behavior.\n\nSigned-off-by: \"J. Bruce Fields\" \u003cbfields@citi.umich.edu\u003e\nSigned-off-by: Neil Brown \u003cneilb@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": "0989a7889695831e49e2c53c1884f52645516a90",
      "tree": "f2548a7ebdedbe89121c40c0157f5554093fb0d7",
      "parents": [
        "87548c37c8bdbf98aea002c9c04e4dc8aa27fe1b"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Tue Jul 17 04:04:44 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Jul 17 10:23:07 2007 -0700"
      },
      "message": "knfsd: nfsd: provide export lookup wrappers which take a svc_rqst\n\nSplit the callers of exp_get_by_name(), exp_find(), and exp_parent() into\nthose that are processing requests and those that are doing other stuff (like\nlooking up filehandles for mountd).\n\nNo change in behavior, just a (fairly pointless, on its own) cleanup.\n\n(Note this has the effect of making nfsd_cross_mnt() pass rqstp-\u003erq_client\ninstead of exp-\u003eex_client into exp_find_by_name().  However, the two should\nhave the same value at this point.)\n\nSigned-off-by: \"J. Bruce Fields\" \u003cbfields@citi.umich.edu\u003e\nSigned-off-by: Neil Brown \u003cneilb@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": "87548c37c8bdbf98aea002c9c04e4dc8aa27fe1b",
      "tree": "353ccf93af0b1d34967f141a10f1b0089a9e7813",
      "parents": [
        "df547efb03e3e8f9ea726e1d07fbbd6fd0706cd7"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Tue Jul 17 04:04:44 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Jul 17 10:23:07 2007 -0700"
      },
      "message": "knfsd: nfsd: remove superfluous assignment from nfsd_lookup\n\nThe \"err\" variable will only be used in the final return, which always happens\nafter either the preceding\n\n\terr \u003d fh_compose(...);\n\nor after the following\n\n\terr \u003d nfserrno(host_err);\n\nSo the earlier assignment to err is ignored.\n\nSigned-off-by: \"J. Bruce Fields\" \u003cbfields@citi.umich.edu\u003e\nSigned-off-by: Neil Brown \u003cneilb@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": "2d3bb25209c1f9a27ea9535c7fd2f6729a5e7db1",
      "tree": "487ccec9aaf60298d4cb7b2fc5f4d76072bcc60b",
      "parents": [
        "47f9940c55c0bdc65188749cae4e841601f513bb"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@puzzle.fieldses.org",
        "time": "Tue Jul 17 04:04:40 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Jul 17 10:23:07 2007 -0700"
      },
      "message": "knfsd: nfsd: make all exp_finding functions return -errno\u0027s on err\n\nCurrently exp_find(), exp_get_by_name(), and friends, return an export on\nsuccess, and on failure return:\n\n\terrors -EAGAIN (drop this request pending an upcall) or\n\t\t-ETIMEDOUT (an upcall has timed out), or\n\treturn NULL, which can mean either that there was a memory allocation\n\t\tfailure, or that an export was not found, or that a passed-in\n\t\texport lacks an auth_domain.\n\nMany callers seem to assume that NULL means that an export was not found,\nwhich may lead to bugs in the case of a memory allocation failure.\n\nModify these functions to distinguish between the two NULL cases by returning\neither -ENOENT or -ENOMEM.  They now never return NULL.  We get to simplify\nsome code in the process.\n\nWe return -ENOENT in the case of a missing auth_domain.  This case should\nprobably be removed (or converted to a bug) after confirming that it can never\nhappen.\n\nSigned-off-by: \"J. Bruce Fields\" \u003cbfields@citi.umich.edu\u003e\nSigned-off-by: Neil Brown \u003cneilb@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": "4b2ca38ad6c44ed0442092a829e6e954bf3580af",
      "tree": "d3256d5a1e2a0276326f8abb2e6aabc3df3812da",
      "parents": [
        "0ac68d17996eb421dde51452b89d5545ba07c6fe"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@fieldses.org",
        "time": "Tue Jul 17 04:04:37 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Jul 17 10:23:07 2007 -0700"
      },
      "message": "knfsd: nfsd4: fix handling of acl errrors\n\nnfs4_acl_nfsv4_to_posix() returns an error and returns any posix acls\ncalculated in two caller-provided pointers.  It was setting these pointers to\n-errno in some error cases, resulting in nfsd4_set_nfs4_acl() calling\nposix_acl_release() with a -errno as an argument.\n\nFix both the caller and the callee, by modifying nfsd4_set_nfs4_acl() to\nstop relying on the passed-in-pointers being left as NULL in the error\ncase, and by modifying nfs4_acl_nfsv4_to_posix() to stop returning\ngarbage in those pointers.\n\nThanks to Alex Soule for reporting the bug.\n\nSigned-off-by: \"J. Bruce Fields\" \u003cbfields@citi.umich.edu\u003e\nCc: Alexander Soule \u003csoule@umich.edu\u003e\nSigned-off-by: Neil Brown \u003cneilb@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": "4fbef206daead133085fe33905f5e842d38fb8da",
      "tree": "94689f4fc018e0a599db08a6902fbc079d33c07e",
      "parents": [
        "4fd885170bf13841ada921495b7b00c4b9971cf9"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Fri Jul 13 22:42:20 2007 +0200"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Jul 13 16:45:43 2007 -0700"
      },
      "message": "nfsd: fix nfsd_vfs_read() splice actor setup\n\nWhen nfsd was transitioned to use splice instead of sendfile() for data\ntransfers, a line setting the page index was lost. Restore it, so that\nnfsd is functional when that path is used.\n\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "cac36bb06efe4880234524e117e0e712b10b1f16",
      "tree": "5220c6f2185cee1c6934cf8048975beac5bc94bb",
      "parents": [
        "d96e6e71647846e0dab097efd9b8bf3a3a556dca"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Thu Jun 14 13:10:48 2007 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Jul 10 08:04:15 2007 +0200"
      },
      "message": "pipe: change the -\u003epin() operation to -\u003econfirm()\n\nThe name \u0027pin\u0027 was badly chosen, it doesn\u0027t pin a pipe buffer\nin the most commonly used sense in the kernel. So change the\nname to \u0027confirm\u0027, after debating this issue with Hugh\nDickins a bit.\n\nA good return from -\u003econfirm() means that the buffer is really\nthere, and that the contents are good.\n\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "d6b29d7cee064f28ca097e906de7453541351095",
      "tree": "16775787df194cb45b4ac712da1c240f48cae96e",
      "parents": [
        "ebf9909343392c929d9943c04f421cd42e03b530"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Mon Jun 04 09:59:47 2007 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Jul 10 08:04:14 2007 +0200"
      },
      "message": "splice: divorce the splice structure/function definitions from the pipe header\n\nWe need to move even more stuff into the header so that folks can use\nthe splice_to_pipe() implementation instead of open-coding a lot of\npipe knowledge (see relay implementation), so move to our own header\nfile finally.\n\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "cf8208d0eabd1d5d2625ec02a175a294c3f30d36",
      "tree": "7dd1f75873a2d84a3c626ecd45640d42c1b5dfcf",
      "parents": [
        "f0930fffa99e7fe0a0c4b6c7d9a244dc88288c27"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Jun 12 21:22:14 2007 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Jul 10 08:04:14 2007 +0200"
      },
      "message": "sendfile: convert nfsd to splice_direct_to_actor()\n\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "f34f924274ad8f84c6d86ea9e52b0682347f5701",
      "tree": "415bebb9cc9ca17f30bacc126d8e62fb0dc0d984",
      "parents": [
        "a4db5fe5dfb3a5b5b550f1acd95ef3de01a3f063"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Feb 16 01:28:34 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Feb 16 08:14:01 2007 -0800"
      },
      "message": "[PATCH] knfsd: nfsd4: fix error return on unsupported acl\n\nWe should be returning ATTRNOTSUPP, not NOTSUPP, when acls are unsupported.\n\nAlso fix a comment.\n\nSigned-off-by: \"J. Bruce Fields\" \u003cbfields@citi.umich.edu\u003e\nSigned-off-by: Neil Brown \u003cneilb@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": "34e9a63b4f3e169b583f6ba2e26356ecbf932fba",
      "tree": "445562aa7159ef7ec3d29f8e1cc18d578d9bfcae",
      "parents": [
        "d019bcf0eb9a55c51f1c57659f923d356b4675e1"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Mon Jan 29 13:19:52 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Jan 30 08:26:45 2007 -0800"
      },
      "message": "[PATCH] knfsd: ratelimit some nfsd messages that are triggered by external events\n\nAlso remove {NFSD,RPC}_PARANOIA as having the defines doesn\u0027t really add\nanything.\n\nThe printks covered by RPC_PARANOIA were triggered by badly formatted\npackets and so should be ratelimited.\n\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "a0ad13ef643a5829d63c456ab6143bbda60b44a9",
      "tree": "5c8b493fe6db72313eec7e3bf7581134d5f9b826",
      "parents": [
        "45f8bde0d0d6deb168b45998c72b4fbeb2f57efb"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Fri Jan 26 00:57:10 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Jan 26 13:51:00 2007 -0800"
      },
      "message": "[PATCH] knfsd: Fix type mismatch with filldir_t used by nfsd\n\nnfsd defines a type \u0027encode_dent_fn\u0027 which is much like \u0027filldir_t\u0027 except\nthat the first pointer is \u0027struct readdir_cd *\u0027 rather than \u0027void *\u0027.  It\nthen casts encode_dent_fn points to \u0027filldir_t\u0027 as needed.  This hides any\nother type mismatches between the two such as the fact that the \u0027ino\u0027 arg\nrecently changed from ino_t to u64.\n\nSo: get rid of \u0027encode_dent_fn\u0027, get rid of the cast of the function type,\nchange the first arg of various functions from \u0027struct readdir_cd *\u0027 to\n\u0027void *\u0027, and live with the fact that we have a little less type checking\non the calling of these functions now.  Less internal (to nfsd) checking\noffset by more external checking, which is more important.\n\nThanks to Gabriel Paubert \u003cpaubert@iram.es\u003e for discovering this and\nproviding an initial patch.\n\nSigned-off-by: Gabriel Paubert \u003cpaubert@iram.es\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@linux-foundation.org\u003e\n"
    },
    {
      "commit": "c397852c3ddad582ead8c57fbc48bdeccd995a30",
      "tree": "32510f921ce2d901c26cc8b38734b7454b07d2df",
      "parents": [
        "e2df0c8644db3d01e3c6fc5f7670fdd7b4c2b234"
      ],
      "author": {
        "name": "Peter Staubach",
        "email": "staubach@redhat.com",
        "time": "Fri Jan 26 00:57:00 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Jan 26 13:50:59 2007 -0800"
      },
      "message": "[PATCH] knfsd: Don\u0027t mess with the \u0027mode\u0027 when storing a exclusive-create cookie\n\nNFS V3 (and V4) support exclusive create by passing a \u0027cookie\u0027 which can get\nstored with the file.  If the file exists but has exactly the right cookie\nstored, then we assume this is a retransmit and the exclusive create was\nsuccessful.\n\nThe cookie is 64bits and is traditionally stored in the mtime and atime\nfields.  This causes a problem with Solaris7 as negative mtime or atime\nconfuse it.  So we moved two bits into the mode word instead.\n\nBut inherited ACLs sometimes overwrite the mode word on create, so this is a\nproblem.\n\nSo we give up and just store 62 of the 64 bits and assume that is close\nenough.\n\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "250f3915183d377d36e012bac9caa7345ce465b8",
      "tree": "e7fd20dfa79a8b4f6435083bf48f4cd3d1836cbf",
      "parents": [
        "1a8eff6d977c28162c61c9532ca58634e7090b69"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Fri Jan 26 00:56:59 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Jan 26 13:50:59 2007 -0800"
      },
      "message": "[PATCH] knfsd: fix an NFSD bug with full sized, non-page-aligned reads\n\nNFSd assumes that largest number of pages that will be needed for a\nrequest+response is 2+N where N pages is the size of the largest permitted\nread/write request.  The \u00272\u0027 are 1 for the non-data part of the request, and 1\nfor the non-data part of the reply.\n\nHowever, when a read request is not page-aligned, and we choose to use\n-\u003esendfile to send it directly from the page cache, we may need N+1 pages to\nhold the whole reply.  This can overflow and array and cause an Oops.\n\nThis patch increases size of the array for holding pages by one and makes sure\nthat entry is NULL when it is not in use.\n\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "e0bb89ef031f76dcb9c9d920d18b13948f1418da",
      "tree": "6016032b160db2cf697eea19cd0f12ace946c7cc",
      "parents": [
        "021d3a72459191a76e8e482ee4937ba6bc9fd712"
      ],
      "author": {
        "name": "J.Bruce Fields",
        "email": "bfields@fieldses.org",
        "time": "Wed Dec 13 00:35:25 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Wed Dec 13 09:05:54 2006 -0800"
      },
      "message": "[PATCH] knfsd: nfsd: don\u0027t drop silently on upcall deferral\n\nTo avoid tying up server threads when nfsd makes an upcall (to mountd, to get\nexport options, to idmapd, for nfsv4 name\u003c-\u003eid mapping, etc.), we temporarily\n\"drop\" the request and save enough information so that we can revisit it\nlater.\n\nCertain failures during the deferral process can cause us to really drop the\nrequest and never revisit it.\n\nThis is often less than ideal, and is unacceptable in the NFSv4 case--rfc 3530\nforbids the server from dropping a request without also closing the\nconnection.\n\nAs a first step, we modify the deferral code to return -ETIMEDOUT (which is\ntranslated to nfserr_jukebox in the v3 and v4 cases, and remains a drop in the\nv2 case).\n\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\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": "4b3bb06bea649396490094780f90d315c152f6ab",
      "tree": "7aa0dac29fe4837735d215effa1dce469e792ab5",
      "parents": [
        "14d2b59e8c1634ceb995097b162592b0af139578"
      ],
      "author": {
        "name": "Yan Burman",
        "email": "burman.yan@gmail.com",
        "time": "Fri Dec 08 02:39:41 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Fri Dec 08 08:29:02 2006 -0800"
      },
      "message": "[PATCH] nfsd: replace kmalloc+memset with kcalloc + simplify NULL check\n\nReplace kmalloc+memset with kcalloc and simplify\n\nSigned-off-by: Yan Burman \u003cburman.yan@gmail.com\u003e\nCc: Neil Brown \u003cneilb@cse.unsw.edu.au\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "7eaa36e2d470ed63bf0c4e4dd8b09cc4a9e1c481",
      "tree": "f0242501eea54821150f6996807a80e9231bae89",
      "parents": [
        "01cce933d8b524d9312f5098c70fa1b6ac190572"
      ],
      "author": {
        "name": "Josef \"Jeff\" Sipek",
        "email": "jsipek@cs.sunysb.edu",
        "time": "Fri Dec 08 02:36:41 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Fri Dec 08 08:28:42 2006 -0800"
      },
      "message": "[PATCH] nfsd: change uses of f_{dentry, vfsmnt} to use f_path\n\nChange all the uses of f_{dentry,vfsmnt} to f_path.{dentry,mnt} in the nfs\nserver code.\n\nSigned-off-by: Josef \"Jeff\" Sipek \u003cjsipek@cs.sunysb.edu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "088406bcf66d6c7fd8a5c04c00aa410ae9077403",
      "tree": "d41aeb42daff2e25cc4c4071d890128bf4ce95f5",
      "parents": [
        "51f65ebccf55121832c265838f93949f898b12ff"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@fieldses.org",
        "time": "Wed Nov 08 17:44:59 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Nov 08 18:29:25 2006 -0800"
      },
      "message": "[PATCH] nfsd: fix spurious error return from nfsd_create in async case\n\nCommit 6264d69d7df654ca64f625e9409189a0e50734e9 modified the nfsd_create()\nerror handling in such a way that nfsd_create will usually return\nnfserr_perm even when succesful, if the export has the async export option.\n\nThis introduced a regression that could cause mkdir() to always return a\npermissions error, even though the directory in question was actually\nsuccesfully created.\n\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\nAcked-by: NeilBrown \u003cneilb@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "81ac95c5569d7a60ab5db6c1ccec56c12b3ebcb5",
      "tree": "c28ac039697a462527e2aedc4f0c7575d76fbbb1",
      "parents": [
        "af85852de0b32d92b14295aa6f5ba3a9ad044cf6"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@fieldses.org",
        "time": "Wed Nov 08 17:44:40 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Nov 08 18:29:23 2006 -0800"
      },
      "message": "[PATCH] nfsd4: fix open-create permissions\n\nIn the case where an open creates the file, we shouldn\u0027t be rechecking\npermissions to open the file; the open succeeds regardless of what the new\nfile\u0027s mode bits say.\n\nThis patch fixes the problem, but only by introducing yet another parameter\nto nfsd_create_v3.  This is ugly.  This will be fixed by later patches.\n\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\nAcked-by: Neil Brown \u003cneilb@suse.de\u003e\nCc: Jeff Garzik \u003cjeff@garzik.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "6264d69d7df654ca64f625e9409189a0e50734e9",
      "tree": "0a8357de00cf561e3341ebd97af65ff59da2897b",
      "parents": [
        "2ebbc012a9433a252be7ab4ce54e94bf7b21e506"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@ftp.linux.org.uk",
        "time": "Thu Oct 19 23:28:58 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Oct 20 10:26:41 2006 -0700"
      },
      "message": "[PATCH] nfsd: vfs.c endianness annotations\n\ndon\u0027t use the same variable to store NFS and host error values\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nAcked-by: Trond Myklebust \u003ctrond.myklebust@fys.uio.no\u003e\nAcked-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": "b66285cee3f9abad26cca6c9b848e1ad6b792d94",
      "tree": "504c36192cd4c255b7082b7b68a526a5fe118527",
      "parents": [
        "f3b64eb6efb1ef46f6629b66a429e7f2b5955003"
      ],
      "author": {
        "name": "J.Bruce Fields",
        "email": "bfields@fieldses.org",
        "time": "Wed Oct 04 02:16:14 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Oct 04 07:55:20 2006 -0700"
      },
      "message": "[PATCH] knfsd: nfsd4: acls: fix handling of zero-length acls\n\nIt is legal to have zero-length NFSv4 acls; they just deny everything.\n\nAlso, nfs4_acl_nfsv4_to_posix will always return with pacl and dpacl set on\nsuccess, so the caller doesn\u0027t need to check this.\n\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\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": "fce1456a19f5c08b688c29f00ef90fdfa074c79b",
      "tree": "789afb4efe2764cabbd65f7d7069acb538711e8b",
      "parents": [
        "596bbe53eb3abfe7326b2f5e8afd614265c319c8"
      ],
      "author": {
        "name": "Greg Banks",
        "email": "gnb@melbourne.sgi.com",
        "time": "Wed Oct 04 02:15:49 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Oct 04 07:55:16 2006 -0700"
      },
      "message": "[PATCH] knfsd: make nfsd readahead params cache SMP-friendly\n\nMake the nfsd read-ahead params cache more SMP-friendly by changing the single\nglobal list and lock into a fixed 16-bucket hashtable with per-bucket locks.\nThis reduces spinlock contention in nfsd_read() on read-heavy workloads on\nmultiprocessor servers.\n\nTesting was on a 4 CPU 4 NIC Altix using 4 IRIX clients each doing 1K\nstreaming reads at full line rate.  The server had 128 nfsd threads, which\nsizes the RA cache at 256 entries, of which only a handful were used.  Flat\nprofiling shows nfsd_read(), including the inlined nfsd_get_raparms(), taking\n10.4% of each CPU.  This patch drops the contribution from nfsd() to 1.71% for\neach CPU.\n\nSigned-off-by: Greg Banks \u003cgnb@melbourne.sgi.com\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": "4452435948424e5322c2a2fefbdc2cf3732cc45d",
      "tree": "d2082c68d33298e85298852cafde7999ccca3364",
      "parents": [
        "5680c44632053a6c9464bca43083f01776d318da"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Wed Oct 04 02:15:46 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Oct 04 07:55:15 2006 -0700"
      },
      "message": "[PATCH] knfsd: Replace two page lists in struct svc_rqst with one\n\nWe are planning to increase RPCSVC_MAXPAGES from about 8 to about 256.  This\nmeans we need to be a bit careful about arrays of size RPCSVC_MAXPAGES.\n\nstruct svc_rqst contains two such arrays.  However the there are never more\nthat RPCSVC_MAXPAGES pages in the two arrays together, so only one array is\nneeded.\n\nThe two arrays are for the pages holding the request, and the pages holding\nthe reply.  Instead of two arrays, we can simply keep an index into where the\nfirst reply page is.\n\nThis patch also removes a number of small inline functions that probably\nserver to obscure what is going on rather than clarify it, and opencode the\nneeded functionality.\n\nAlso remove the \u0027rq_restailpage\u0027 variable as it is *always* 0.  i.e.  if the\nresponse \u0027xdr\u0027 structure has a non-empty tail it is always in the same pages\nas the head.\n\n check counters are initilised and incr properly\n check for consistant usage of ++ etc\n maybe extra some inlines for common approach\n general review\n\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\nCc: Magnus Maatta \u003cnovell@kiruna.se\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "12fd352038c037ba3a7071a2ca8597c55114abc3",
      "tree": "a3d8c7ba34bd340167c160474bab8104d1d78baa",
      "parents": [
        "eed2965af1bae30f746e936d80ad4fabb9e208c8"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Mon Oct 02 02:18:03 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Oct 02 07:57:20 2006 -0700"
      },
      "message": "[PATCH] nfsd: lockdep annotation\n\nwhile doing a kernel make modules_install install over an NFS mount.\n\n  \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n  [ INFO: possible recursive locking detected ]\n  ---------------------------------------------\n  nfsd/9550 is trying to acquire lock:\n   (\u0026inode-\u003ei_mutex){--..}, at: [\u003cc034c845\u003e] mutex_lock+0x1c/0x1f\n\n  but task is already holding lock:\n   (\u0026inode-\u003ei_mutex){--..}, at: [\u003cc034c845\u003e] mutex_lock+0x1c/0x1f\n\n  other info that might help us debug this:\n  2 locks held by nfsd/9550:\n   #0:  (hash_sem){..--}, at: [\u003ccc895223\u003e] exp_readlock+0xd/0xf [nfsd]\n   #1:  (\u0026inode-\u003ei_mutex){--..}, at: [\u003cc034c845\u003e] mutex_lock+0x1c/0x1f\n\n  stack backtrace:\n   [\u003cc0103508\u003e] show_trace_log_lvl+0x58/0x152\n   [\u003cc0103b8b\u003e] show_trace+0xd/0x10\n   [\u003cc0103c2f\u003e] dump_stack+0x19/0x1b\n   [\u003cc012aa57\u003e] __lock_acquire+0x77a/0x9a3\n   [\u003cc012af4a\u003e] lock_acquire+0x60/0x80\n   [\u003cc034c6c2\u003e] __mutex_lock_slowpath+0xa7/0x20e\n   [\u003cc034c845\u003e] mutex_lock+0x1c/0x1f\n   [\u003cc0162edc\u003e] vfs_unlink+0x34/0x8a\n   [\u003ccc891d98\u003e] nfsd_unlink+0x18f/0x1e2 [nfsd]\n   [\u003ccc89884f\u003e] nfsd3_proc_remove+0x95/0xa2 [nfsd]\n   [\u003ccc88f0d4\u003e] nfsd_dispatch+0xc0/0x178 [nfsd]\n   [\u003cc033e84d\u003e] svc_process+0x3a5/0x5ed\n   [\u003ccc88f5ba\u003e] nfsd+0x1a7/0x305 [nfsd]\n   [\u003cc0101005\u003e] kernel_thread_helper+0x5/0xb\n  DWARF2 unwinder stuck at kernel_thread_helper+0x5/0xb\n  Leftover inexact backtrace:\n   [\u003cc0103b8b\u003e] show_trace+0xd/0x10\n   [\u003cc0103c2f\u003e] dump_stack+0x19/0x1b\n   [\u003cc012aa57\u003e] __lock_acquire+0x77a/0x9a3\n   [\u003cc012af4a\u003e] lock_acquire+0x60/0x80\n   [\u003cc034c6c2\u003e] __mutex_lock_slowpath+0xa7/0x20e\n   [\u003cc034c845\u003e] mutex_lock+0x1c/0x1f\n   [\u003cc0162edc\u003e] vfs_unlink+0x34/0x8a\n   [\u003ccc891d98\u003e] nfsd_unlink+0x18f/0x1e2 [nfsd]\n   [\u003ccc89884f\u003e] nfsd3_proc_remove+0x95/0xa2 [nfsd]\n   [\u003ccc88f0d4\u003e] nfsd_dispatch+0xc0/0x178 [nfsd]\n   [\u003cc033e84d\u003e] svc_process+0x3a5/0x5ed\n   [\u003ccc88f5ba\u003e] nfsd+0x1a7/0x305 [nfsd]\n   [\u003cc0101005\u003e] kernel_thread_helper+0x5/0xb\n\n  \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n  [ INFO: possible recursive locking detected ]\n  ---------------------------------------------\n  nfsd/9580 is trying to acquire lock:\n   (\u0026inode-\u003ei_mutex){--..}, at: [\u003cc034cc1d\u003e] mutex_lock+0x1c/0x1f\n\n  but task is already holding lock:\n   (\u0026inode-\u003ei_mutex){--..}, at: [\u003cc034cc1d\u003e] mutex_lock+0x1c/0x1f\n\n  other info that might help us debug this:\n  2 locks held by nfsd/9580:\n   #0:  (hash_sem){..--}, at: [\u003ccc89522b\u003e] exp_readlock+0xd/0xf [nfsd]\n   #1:  (\u0026inode-\u003ei_mutex){--..}, at: [\u003cc034cc1d\u003e] mutex_lock+0x1c/0x1f\n\n  stack backtrace:\n   [\u003cc0103508\u003e] show_trace_log_lvl+0x58/0x152\n   [\u003cc0103b8b\u003e] show_trace+0xd/0x10\n   [\u003cc0103c2f\u003e] dump_stack+0x19/0x1b\n   [\u003cc012aa63\u003e] __lock_acquire+0x77a/0x9a3\n   [\u003cc012af56\u003e] lock_acquire+0x60/0x80\n   [\u003cc034ca9a\u003e] __mutex_lock_slowpath+0xa7/0x20e\n   [\u003cc034cc1d\u003e] mutex_lock+0x1c/0x1f\n   [\u003ccc892ad1\u003e] nfsd_setattr+0x2c8/0x499 [nfsd]\n   [\u003ccc893ede\u003e] nfsd_create_v3+0x31b/0x4ac [nfsd]\n   [\u003ccc8984a1\u003e] nfsd3_proc_create+0x128/0x138 [nfsd]\n   [\u003ccc88f0d4\u003e] nfsd_dispatch+0xc0/0x178 [nfsd]\n   [\u003cc033ec1d\u003e] svc_process+0x3a5/0x5ed\n   [\u003ccc88f5ba\u003e] nfsd+0x1a7/0x305 [nfsd]\n   [\u003cc0101005\u003e] kernel_thread_helper+0x5/0xb\n  DWARF2 unwinder stuck at kernel_thread_helper+0x5/0xb\n  Leftover inexact backtrace:\n   [\u003cc0103b8b\u003e] show_trace+0xd/0x10\n   [\u003cc0103c2f\u003e] dump_stack+0x19/0x1b\n   [\u003cc012aa63\u003e] __lock_acquire+0x77a/0x9a3\n   [\u003cc012af56\u003e] lock_acquire+0x60/0x80\n   [\u003cc034ca9a\u003e] __mutex_lock_slowpath+0xa7/0x20e\n   [\u003cc034cc1d\u003e] mutex_lock+0x1c/0x1f\n   [\u003ccc892ad1\u003e] nfsd_setattr+0x2c8/0x499 [nfsd]\n   [\u003ccc893ede\u003e] nfsd_create_v3+0x31b/0x4ac [nfsd]\n   [\u003ccc8984a1\u003e] nfsd3_proc_create+0x128/0x138 [nfsd]\n   [\u003ccc88f0d4\u003e] nfsd_dispatch+0xc0/0x178 [nfsd]\n   [\u003cc033ec1d\u003e] svc_process+0x3a5/0x5ed\n   [\u003ccc88f5ba\u003e] nfsd+0x1a7/0x305 [nfsd]\n   [\u003cc0101005\u003e] kernel_thread_helper+0x5/0xb\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Neil Brown \u003cneilb@suse.de\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Arjan van de Ven \u003carjan@infradead.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "22a3e233ca08a2ddc949ba1ae8f6e16ec7ef1a13",
      "tree": "7ef158ba2c30e0dde2dc103d1904fae243759a6b",
      "parents": [
        "39302175c26d74be35715c05a0f342c9e64c21bf",
        "6ab3d5624e172c553004ecc862bfeac16d9d68b7"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Jun 30 15:39:30 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Jun 30 15:39:30 2006 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/bunk/trivial\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/bunk/trivial:\n  Remove obsolete #include \u003clinux/config.h\u003e\n  remove obsolete swsusp_encrypt\n  arch/arm26/Kconfig typos\n  Documentation/IPMI typos\n  Kconfig: Typos in net/sched/Kconfig\n  v9fs: do not include linux/version.h\n  Documentation/DocBook/mtdnand.tmpl: typo fixes\n  typo fixes: specfic -\u003e specific\n  typo fixes in Documentation/networking/pktgen.txt\n  typo fixes: occuring -\u003e occurring\n  typo fixes: infomation -\u003e information\n  typo fixes: disadvantadge -\u003e disadvantage\n  typo fixes: aquire -\u003e acquire\n  typo fixes: mecanism -\u003e mechanism\n  typo fixes: bandwith -\u003e bandwidth\n  fix a typo in the RTC_CLASS help text\n  smb is no longer maintained\n\nManually merged trivial conflict in arch/um/kernel/vmlinux.lds.S\n"
    },
    {
      "commit": "5c04c46aec16b3267d8fe03af886f2d41e448cd0",
      "tree": "c46f4e70423f4f37f73f9e875a7059c0ca2ccf3f",
      "parents": [
        "e142ede8e064cb1ae9c2bfb17f36ab145b95ccd2"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Jun 30 01:56:19 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Jun 30 11:25:41 2006 -0700"
      },
      "message": "[PATCH] knfsd: nfsd: mark rqstp to prevent use of sendfile in privacy case\n\nAdd a rq_sendfile_ok flag to svc_rqst which will be cleared in the privacy\ncase so that the wrapping code will get copies of the read data instead of\nreal page cache pages.  This makes life simpler when we encrypt the response.\n\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\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": "9ecb6a08d84d0e795648d5add64f154bc406914b",
      "tree": "007e079b6bde7c6b0b7758d218d006e9f6bcab5d",
      "parents": [
        "ba5a6a19d83babe00be3711db3deee5c57587b8f"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Jun 30 01:56:17 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Jun 30 11:25:40 2006 -0700"
      },
      "message": "[PATCH] knfsd: nfsd4: fix open flag passing\n\nSince nfsv4 actually keeps around the file descriptors it gets from open\n(instead of just using them for a single read or write operation), we need to\nmake sure that we can do RDWR opens and not just RDONLY/WRONLY.\n\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\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": "270d56e536dcd37cc819a6adb51d918185411048",
      "tree": "7594eb9368e1977ff68bc8a9c61afa2cc41640c5",
      "parents": [
        "6e46d8a9ccbcd3273bdb6902ca2b6da62c253e73"
      ],
      "author": {
        "name": "David M. Richter",
        "email": "richterd@citi.umich.edu",
        "time": "Fri Jun 30 01:56:15 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Jun 30 11:25:40 2006 -0700"
      },
      "message": "[PATCH] knfsd: nfsd: fix misplaced fh_unlock() in nfsd_link()\n\nIn the event that lookup_one_len() fails in nfsd_link(), fh_unlock() is\nskipped and locks are held overlong.\n\nPatch was tested on 2.6.17-rc2 by causing lookup_one_len() to fail and\nverifying that fh_unlock() gets called appropriately.\n\nSigned-off-by: David M. Richter \u003crichterd@citi.umich.edu\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\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": "a56f39375a7bd183149c18286389e4a58ac9bc95",
      "tree": "de85fd3c6917ebf75c37d32eaa33707c1a0c1111",
      "parents": [
        "8c2a6a40902323b739e4e740ebf91ee357a5de5b"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Fri Jun 30 01:56:10 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Jun 30 11:25:39 2006 -0700"
      },
      "message": "[PATCH] knfsd: improve the test for cross-device-rename in nfsd\n\nJust testing the i_sb isn\u0027t really enough, at least the vfsmnt must be the\nsame.  Thanks Al.\n\nCc: Al Viro \u003cviro@ftp.linux.org.uk\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": "6ab3d5624e172c553004ecc862bfeac16d9d68b7",
      "tree": "6d98881fe91fd9583c109208d5c27131b93fa248",
      "parents": [
        "e02169b682bc448ccdc819dc8639ed34a23cedd8"
      ],
      "author": {
        "name": "Jörn Engel",
        "email": "joern@wohnheim.fh-wedel.de",
        "time": "Fri Jun 30 19:25:36 2006 +0200"
      },
      "committer": {
        "name": "Adrian Bunk",
        "email": "bunk@stusta.de",
        "time": "Fri Jun 30 19:25:36 2006 +0200"
      },
      "message": "Remove obsolete #include \u003clinux/config.h\u003e\n\nSigned-off-by: Jörn Engel \u003cjoern@wohnheim.fh-wedel.de\u003e\nSigned-off-by: Adrian Bunk \u003cbunk@stusta.de\u003e\n"
    },
    {
      "commit": "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": "9ccfc29c671c9d0a83c2a114d4bc5f85f3cd749d",
      "tree": "a02d2712a788abb4c5891e9c469c99b770fa0dbb",
      "parents": [
        "2adc7d47c4dbf684e69ee3980c158ff684dc170e"
      ],
      "author": {
        "name": "Florin Malita",
        "email": "fmalita@gmail.com",
        "time": "Sat May 20 14:59:58 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun May 21 12:59:17 2006 -0700"
      },
      "message": "[PATCH] nfsd: sign conversion obscuring errors in nfsd_set_posix_acl()\n\nAssigning the result of posix_acl_to_xattr() to an unsigned data type\n(size/size_t) obscures possible errors.\n\nCoverity CID: 1206.\n\nSigned-off-by: Florin Malita \u003cfmalita@gmail.com\u003e\nAcked-by: NeilBrown \u003cneilb@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "b5872b0dcc0501035d5ae53c60f8cbbb3798da8a",
      "tree": "8f0baf4103c0e5b5b97eea35cc9f416fdedd86cf",
      "parents": [
        "b905b7b0a054d2ab3e0c9304def998546c93f6b5"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Mon Apr 10 22:55:26 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Apr 11 06:18:51 2006 -0700"
      },
      "message": "[PATCH] knfsd: nfsd4: fix acl xattr length return\n\nWe should be using the length from the second vfs_getxattr, in case it\nchanged.  (Note: there\u0027s still a small race here; we could end up returning\n-ENOMEM if the length increased between the first and second call.  I don\u0027t\nknow whether it\u0027s worth spending a lot of effort to fix that.)\n\nThis makes XFS ACLs usable on NFS exports, which they currently aren\u0027t, since\nXFS appears to be returning a too-large value for vfs_getxattr() when it\u0027s\npassed a NULL buffer.  So there\u0027s probably an XFS bug here too, though since\ngetxattr with a NULL buffer is usually used to decide how much memory to\nallocate, it may be a fairly harmless bug in most cases.\n\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\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": "99ac48f54a91d02140c497edc31dc57d4bc5c85d",
      "tree": "68719391694a6914191bdf73d2071875f7653f6f",
      "parents": [
        "ec1b9466cb4f6ae6d950bd67055d9410d1056d2a"
      ],
      "author": {
        "name": "Arjan van de Ven",
        "email": "arjan@infradead.org",
        "time": "Tue Mar 28 01:56:41 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Mar 28 09:16:05 2006 -0800"
      },
      "message": "[PATCH] mark f_ops const in the inode\n\nMark the f_ops members of inodes as const, as well as fix the\nripple-through this causes by places that copy this f_ops and then \"do\nstuff\" with it.\n\nSigned-off-by: Arjan van de Ven \u003carjan@infradead.org\u003e\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "45bd3b3dffaa9fb1706fe001bf66276d0997a850",
      "tree": "9b5a8dc7f619cea36b3ad87d0dbd4545e24d0336",
      "parents": [
        "7fcd53303de8dbbed863f6471ca92eb96a1faa28"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Wed Jan 18 17:43:50 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Jan 18 19:20:28 2006 -0800"
      },
      "message": "[PATCH] knfsd: Fix some more errno/nfserr confusion in vfs.c\n\nnfsd_sync* return an errno, which usually needs to be converted to an errno,\nsometimes immediately, sometimes a little later.\n\nAlso, nfsd_setattr returns an nfserr which SHOULDN\u0027T be converted from\nan errno (because it isn\u0027t one).\n\nAlso some tidyups of the form:\n  err \u003d XX\n  err \u003d nfserrno(err)\nand\n  err \u003d XX\n  if (err)\n      err \u003d nfserrno(err)\nbecome\n  err \u003d nfserrno(XX)\n\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": "d75f2b9f5da71667aba7e97a962c49f1e17aa4ca",
      "tree": "41f72cd81aa07f0476fc240c391cbc66cc5d02fd",
      "parents": [
        "5274881992b8a632620f69346401da66e480a23b"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Wed Jan 18 17:43:44 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Jan 18 19:20:27 2006 -0800"
      },
      "message": "[PATCH] nfsd/vfs.c: endianness fixes\n\nSeveral failure exits return -E\u003csomething\u003e instead of nfserr_\u003csomething\u003e and\nvice versa.\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\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": "7e8f05934d540aeb45c1cc3cc3a0e811bd61866b",
      "tree": "ad42fb96609dc9bf1f7a9c775fcee72f04ee4656",
      "parents": [
        "f193fbab2e4710f629e7c1859d4908646b47b126"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Wed Jan 18 17:43:14 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Jan 18 19:20:24 2006 -0800"
      },
      "message": "[PATCH] nfsd: remove inline from a couple of large NFS functions\n\nThese are both called from two places close together.  I could rearrange that\ncode so there is only one call site, but just removing the \u0027inline\u0027 is\nprobably best.\n\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": "f193fbab2e4710f629e7c1859d4908646b47b126",
      "tree": "f452b246ad608d2b53cf80a2ac79f77b347739df",
      "parents": [
        "6b192832daae6d141063c49ae1ded6f7dddee50e"
      ],
      "author": {
        "name": "YAMAMOTO Takashi",
        "email": "yamamoto@valinux.co.jp",
        "time": "Wed Jan 18 17:43:13 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Jan 18 19:20:24 2006 -0800"
      },
      "message": "[PATCH] nfsd: check error status from nfsd_sync_dir\n\nChange nfsd_sync_dir to return an error if -\u003esync fails, and pass that error\nup through the stack.  This involves a number of rearrangements of error\npaths, and care to distinguish between Linux -errno numbers and NFSERR\nnumbers.\n\nIn the \u0027create\u0027 routines, we continue with the \u0027setattr\u0027 even if a previous\nsync_dir failed.\n\nThis patch is quite different from Takashi\u0027s in a few ways, but there is still\na strong lineage.\n\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": "5be196e5f925dab2309530fabce69c2e562b9791",
      "tree": "4249d808c38b6f13e899ac936585c1fbb48e5b3b",
      "parents": [
        "a7e670d828e85ef9aacb7fa1cd221525c408110f"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Mon Jan 09 20:51:55 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Jan 10 08:01:29 2006 -0800"
      },
      "message": "[PATCH] add vfs_* helpers for xattr operations\n\nAdd vfs_getxattr, vfs_setxattr and vfs_removexattr helpers for common checks\naround invocation of the xattr methods.  NFSD already was missing some of the\nchecks and there will be more soon.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nCc: James Morris \u003cjmorris@namei.org\u003e\n\n(James, I haven\u0027t touched selinux yet because it\u0027s doing various odd things\nand I\u0027m not sure how it would interact with the security attribute fallbacks\nyou added.  Could you investigate whether it could use vfs_getxattr or if not\nadd a __vfs_getxattr helper to share the bits it is fine with?)\n\nFor NFSv4: instead of just converting it add an nfsd_getxattr helper for the\ncode shared by NFSv2/3 and NFSv4 ACLs.  In fact that code isn\u0027t even\nNFS-specific, but I\u0027ll wait for more users to pop up first before moving it to\ncommon code.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nAcked-by: Dave Kleikamp \u003cshaggy@austin.ibm.com\u003e\nSigned-off-by: Adrian Bunk \u003cbunk@stusta.de\u003e\nSigned-off-by: Neil Brown \u003cneilb@suse.de\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": "1b1dcc1b57a49136f118a0f16367256ff9994a69",
      "tree": "b0b36d4f41d28c9d6514fb309d33c1a084d6309b",
      "parents": [
        "794ee1baee1c26be40410233e6c20bceb2b03c08"
      ],
      "author": {
        "name": "Jes Sorensen",
        "email": "jes@sgi.com",
        "time": "Mon Jan 09 15:59:24 2006 -0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@hera.kernel.org",
        "time": "Mon Jan 09 15:59:24 2006 -0800"
      },
      "message": "[PATCH] mutex subsystem, semaphore to mutex: VFS, -\u003ei_sem\n\nThis patch converts the inode semaphore to a mutex. I have tested it on\nXFS and compiled as much as one can consider on an ia64. Anyway your\nluck with it might be different.\n\nModified-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n\n(finished the conversion)\n\nSigned-off-by: Jes Sorensen \u003cjes@sgi.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "9f708e40fe040e79f6c393a282f0701c9f8dc174",
      "tree": "e769b7b9088f03caf324923485ee1e5ef05e2292",
      "parents": [
        "a334de28665b14f0a33df82699fa9a78cfeedf31"
      ],
      "author": {
        "name": "Neil Brown",
        "email": "neilb@suse.de",
        "time": "Fri Jan 06 00:19:59 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Jan 06 08:33:59 2006 -0800"
      },
      "message": "[PATCH] knfsd: reduce stack consumption\n\nA typical nfsd call trace is\n nfsd -\u003e svc_process -\u003e nfsd_dispatch -\u003e nfsd3_proc_write -\u003e\n   nfsd_write -\u003enfsd_vfs_write -\u003e vfs_writev\n\nThese add up to over 300 bytes on the stack.\nLooking at each of these, I see that nfsd_write (which includes\n nfsd_vfs_write) contributes 0x8c to stack usage itself!!\n\nIt turns out this is because it puts a \u0027struct iattr\u0027 on the stack so\nit can kill suid if needed.  The following patch saves about 50 bytes\noff the stack in this call path.\n\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": "a334de28665b14f0a33df82699fa9a78cfeedf31",
      "tree": "21749c30159b1e0bf4cae7e174ec1bdcf3859ef4",
      "parents": [
        "93fbf1a5de8afde08988dda3735669099dee84d0"
      ],
      "author": {
        "name": "David Shaw",
        "email": "dshaw@jabberwocky.com",
        "time": "Fri Jan 06 00:19:58 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Jan 06 08:33:59 2006 -0800"
      },
      "message": "[PATCH] knfsd: check error status from vfs_getattr and i_op-\u003efsync\n\nBoth vfs_getattr and i_op-\u003efsync return error statuses which nfsd was\nlargely ignoring.  This as noticed when exporting directories using fuse.\n\nThis patch cleans up most of the offences, which involves moving the call\nto vfs_getattr out of the xdr encoding routines (where it is too late to\nreport an error) into the main NFS procedure handling routines.\n\nThere is still a called to vfs_gettattr (related to the ACL code) where the\nstatus is ignored, and called to nfsd_sync_dir don\u0027t check return status\neither.\n\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": "15b7a1b86d663ef40108b1ba322973e32d5b62d6",
      "tree": "b9bf32fc7ac478bdfa89152fd51738445e5c5fe8",
      "parents": [
        "8bc3efcfbf6521ec7bf3e5d969b31745fbd986f8"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@cse.unsw.edu.au",
        "time": "Mon Nov 07 01:00:23 2005 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Nov 07 07:53:47 2005 -0800"
      },
      "message": "[PATCH] knfsd: fix setattr-on-symlink error return\n\nThis is a somewhat cosmetic fix to keep the SpecFS validation test from\ncomplaining.\n\nSpecFS want\u0027s to try chmod on symlinks, and ext3 and reiser (at least) return\nENOTSUPP.\n\nProbably both sides are being silly, but it is easiest to simply make it a\nnon-issue and filter out chmod requests on symlinks at the nfsd level.\n\nSigned-off-by: Olaf Kirch \u003cokir@suse.de\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\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": "0eeca28300df110bd6ed54b31193c83b87921443",
      "tree": "7db42d8a18d80eca538f5b7d25e0532b8fa38b85",
      "parents": [
        "bd4c625c061c2a38568d0add3478f59172455159"
      ],
      "author": {
        "name": "Robert Love",
        "email": "rml@novell.com",
        "time": "Tue Jul 12 17:06:03 2005 -0400"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Jul 12 20:38:38 2005 -0700"
      },
      "message": "[PATCH] inotify\n\ninotify is intended to correct the deficiencies of dnotify, particularly\nits inability to scale and its terrible user interface:\n\n        * dnotify requires the opening of one fd per each directory\n          that you intend to watch. This quickly results in too many\n          open files and pins removable media, preventing unmount.\n        * dnotify is directory-based. You only learn about changes to\n          directories. Sure, a change to a file in a directory affects\n          the directory, but you are then forced to keep a cache of\n          stat structures.\n        * dnotify\u0027s interface to user-space is awful.  Signals?\n\ninotify provides a more usable, simple, powerful solution to file change\nnotification:\n\n        * inotify\u0027s interface is a system call that returns a fd, not SIGIO.\n\t  You get a single fd, which is select()-able.\n        * inotify has an event that says \"the filesystem that the item\n          you were watching is on was unmounted.\"\n        * inotify can watch directories or files.\n\nInotify is currently used by Beagle (a desktop search infrastructure),\nGamin (a FAM replacement), and other projects.\n\nSee Documentation/filesystems/inotify.txt.\n\nSigned-off-by: Robert Love \u003crml@novell.com\u003e\nCc: John McCutchan \u003cttb@tentacle.dhs.org\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": "a6ccbbb8865101d83c2e716f08feae1da1c48584",
      "tree": "0b55b0673704dcae39d614cb1495cf47590628fb",
      "parents": [
        "463090294e1e460cf97f5ade376d4b1e62bc5263"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@cse.unsw.edu.au",
        "time": "Thu Jul 07 17:59:11 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Thu Jul 07 18:24:07 2005 -0700"
      },
      "message": "[PATCH] nfsd4: fix sync\u0027ing of recovery directory\n\nWe need to fsync the recovery directory after writing to it, but we weren\u0027t\ndoing this correctly.  (For example, we weren\u0027t taking the i_sem when calling\n-\u003efsync().)\n\nJust reuse the existing nfsd fsync code instead.\n\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\nSigned-off-by: Neil Brown \u003cneilb@cse.unsw.edu.au\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "334a13ec3d01a1a4b4f2249735b793105cb4a519",
      "tree": "10d9f23026d8c1c75f172751322acaba7ff63d81",
      "parents": [
        "aade0e82739f4b24c5b952de68c8d794459ad531"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Tue Jun 28 20:44:58 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Tue Jun 28 21:20:31 2005 -0700"
      },
      "message": "[PATCH] really remove xattr_acl.h\n\nLooks like it sneaked back with the NFS ACL merge..\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nCc: Trond Myklebust \u003ctrond.myklebust@fys.uio.no\u003e\nCc: Neil Brown \u003cneilb@cse.unsw.edu.au\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "9a59f452abe11f569e13ec16c51e6d61c54b9838",
      "tree": "0fc242afbf51aac7214e3a9b7620e83d0d4016f2",
      "parents": [
        "f9fd27a253d5e0b23531d12ce7ad15b6535d4486"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Thu Jun 23 00:10:19 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Thu Jun 23 09:45:33 2005 -0700"
      },
      "message": "[PATCH] remove \u003clinux/xattr_acl.h\u003e\n\nThis file duplicates \u003clinux/posix_acl_xattr.h\u003e, using slightly different\nnames.\n\nSigned-off-by: 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": "a257cdd0e2179630d3201c32ba14d7fcb3c3a055",
      "tree": "accf4139050690a65f3f2600355cbcd1a602663b",
      "parents": [
        "9ba02638e4be28dd4ff724202a640264427c62d1"
      ],
      "author": {
        "name": "Andreas Gruenbacher",
        "email": "agruen@suse.de",
        "time": "Wed Jun 22 17:16:26 2005 +0000"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Jun 22 16:07:23 2005 -0400"
      },
      "message": "[PATCH] NFSD: Add server support for NFSv3 ACLs.\n\n This adds functions for encoding and decoding POSIX ACLs for the NFSACL\n protocol extension, and the GETACL and SETACL RPCs.  The implementation is\n compatible with NFSACL in Solaris.\n\n Signed-off-by: Andreas Gruenbacher \u003cagruen@suse.de\u003e\n Acked-by: Olaf Kirch \u003cokir@suse.de\u003e\n Signed-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\n Signed-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\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"
    }
  ]
}
