)]}'
{
  "log": [
    {
      "commit": "57675e6e75c18f279b944dc2397cc9fd0053845e",
      "tree": "2e478084ad1985d424627a3d51584042a9dfef5a",
      "parents": [
        "02f370506822cbff60bbf5b685053fa2e8640811",
        "a7f796a60bb5dcdc154c3ae04d484a395a60809f"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Apr 24 13:47:31 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Apr 24 13:47:31 2008 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/sfrench/cifs-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/sfrench/cifs-2.6:\n  [CIFS] Fix typo in previous commit\n  [CIFS] Fix define for new proxy cap to match documentation\n  [CIFS] Fix UNC path prefix on QueryUnixPathInfo to have correct slash\n  [CIFS] Reserve new proxy cap for WAFS\n  [CIFS] Add various missing flags and defintions\n  [CIFS] make cifs_dfs_automount_list_static\n  [CIFS] Fix oops when slow oplock process races with unmount\n  [CIFS] Fix acl length when very short ACL being modified by chmod\n  [CIFS] Fix looping on reconnect to Samba when unexpected tree connect fail on reconnect\n  [CIFS] minor update to change log\n"
    },
    {
      "commit": "563307b2fa15d687abc54bd980b9847ebf0e3231",
      "tree": "7f16be30217a2e66360ede97aa27d07a4ebd7e55",
      "parents": [
        "10c993a6b5418cb1026775765ba4c70ffb70853d",
        "233607dbbc823caf685e778cabc49fb7f679900b"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Apr 24 11:46:16 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Apr 24 11:46:16 2008 -0700"
      },
      "message": "Merge git://git.linux-nfs.org/projects/trondmy/nfs-2.6\n\n* git://git.linux-nfs.org/projects/trondmy/nfs-2.6: (80 commits)\n  SUNRPC: Invalidate the RPCSEC_GSS session if the server dropped the request\n  make nfs_automount_list static\n  NFS: remove duplicate flags assignment from nfs_validate_mount_data\n  NFS - fix potential NULL pointer dereference v2\n  SUNRPC: Don\u0027t change the RPCSEC_GSS context on a credential that is in use\n  SUNRPC: Fix a race in gss_refresh_upcall()\n  SUNRPC: Don\u0027t disconnect more than once if retransmitting NFSv4 requests\n  SUNRPC: Remove the unused export of xprt_force_disconnect\n  SUNRPC: remove XS_SENDMSG_RETRY\n  SUNRPC: Protect creds against early garbage collection\n  NFSv4: Attempt to use machine credentials in SETCLIENTID calls\n  NFSv4: Reintroduce machine creds\n  NFSv4: Don\u0027t use cred-\u003ecr_ops-\u003ecr_name in nfs4_proc_setclientid()\n  nfs: fix printout of multiword bitfields\n  nfs: return negative error value from nfs{,4}_stat_to_errno\n  NLM/lockd: Ensure client locking calls use correct credentials\n  NFS: Remove the buggy lock-if-signalled case from do_setlk()\n  NLM/lockd: Fix a race when cancelling a blocking lock\n  NLM/lockd: Ensure that nlmclnt_cancel() returns results of the CANCEL call\n  NLM: Remove the signal masking in nlmclnt_proc/nlmclnt_cancel\n  ...\n"
    },
    {
      "commit": "233607dbbc823caf685e778cabc49fb7f679900b",
      "tree": "13840137ee10788061cbec60fcfe8ea4c274558e",
      "parents": [
        "3dc5063786b273f1aee545844f6bd4e9651ebffe",
        "b48633bd086d21f4a2a5bea96c7e6c7ba58eb60c"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Apr 24 14:01:02 2008 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Apr 24 14:01:02 2008 -0400"
      },
      "message": "Merge branch \u0027devel\u0027\n"
    },
    {
      "commit": "a7f796a60bb5dcdc154c3ae04d484a395a60809f",
      "tree": "c50636b03c46586be94273790048b16c96005f4b",
      "parents": [
        "ee4987ab5cc9d00be38cfeec90174229565211be"
      ],
      "author": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Thu Apr 24 16:39:07 2008 +0000"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Thu Apr 24 16:39:07 2008 +0000"
      },
      "message": "[CIFS] Fix typo in previous commit\n\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "ee4987ab5cc9d00be38cfeec90174229565211be",
      "tree": "add73dbff7db10606233d1a6176c793c2cd9f858",
      "parents": [
        "36d99df2fb474222ab47fbe8ae7385661033223b"
      ],
      "author": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Thu Apr 24 16:31:12 2008 +0000"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Thu Apr 24 16:31:12 2008 +0000"
      },
      "message": "[CIFS] Fix define for new proxy cap to match documentation\n\nThe transport encryption capability and new SetFSInfo level were missing, and the\nnew proxy capability (which Samba server is implementing) and proxy setfsinfo needed\nto be moved down to not collide with Samba\u0027s transport encryption capability.\n\nCC: Jeremy Allison \u003cjra@samba.org\u003e\nCC: Sam Liddicott \u003csam@lidicott.com\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "36d99df2fb474222ab47fbe8ae7385661033223b",
      "tree": "962e068491b752a944f61c454fad3f8619a1ea3f",
      "parents": [
        "076d8423a98659a92837b07aa494cb74bfefe77c",
        "3dc5063786b273f1aee545844f6bd4e9651ebffe"
      ],
      "author": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Thu Apr 24 15:26:50 2008 +0000"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Thu Apr 24 15:26:50 2008 +0000"
      },
      "message": "Merge branch \u0027master\u0027 of /pub/scm/linux/kernel/git/torvalds/linux-2.6\n"
    },
    {
      "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": "f97c650dda24e48405399aa0676e90da52408515",
      "tree": "9bb7d41c05ff8377cad7048b45fa900262688142",
      "parents": [
        "06e02d66fa0055230efc2443c43ee4f3ab5eb0b6"
      ],
      "author": {
        "name": "Jeff Layton",
        "email": "jlayton@redhat.com",
        "time": "Tue Apr 08 15:40:08 2008 -0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Wed Apr 23 16:13:43 2008 -0400"
      },
      "message": "NLM: don\u0027t let lockd exit on unexpected svc_recv errors (try #2)\n\nWhen svc_recv returns an unexpected error, lockd will print a warning\nand exit. This problematic for several reasons. In particular, it will\ncause the reference counts for the thread to be wrong, and can lead to a\npotential BUG() call.\n\nRather than exiting on error from svc_recv, have the thread do a 1s\nsleep and then retry the loop. This is unlikely to cause any harm, and\nif the error turns out to be something temporary then it may be able to\nrecover.\n\nSigned-off-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "06e02d66fa0055230efc2443c43ee4f3ab5eb0b6",
      "tree": "ef5fcba37b6d9805193b77bfa10466a03326b6ed",
      "parents": [
        "9078dc08143e23b18ea72e70265f0df920cf2998"
      ],
      "author": {
        "name": "Jeff Layton",
        "email": "jlayton@redhat.com",
        "time": "Tue Apr 08 15:40:07 2008 -0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Wed Apr 23 16:13:42 2008 -0400"
      },
      "message": "NFS: don\u0027t let nfs_callback_svc exit on unexpected svc_recv errors (try #2)\n\nWhen svc_recv returns an unexpected error, nfs_callback_svc will print a\nwarning and exit. This problematic for several reasons. In particular,\nit will cause the reference counts for the thread to be wrong, and no\nnew thread will be started until all nfs4 mounts are unmounted.\n\nRather than exiting on error from svc_recv, have the thread do a 1s\nsleep and then retry the loop. This is unlikely to cause any harm, and\nif the error turns out to be something temporary then it may be able to\nrecover.\n\nSigned-off-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "ff7d9756b501744540be65e172d27ee321d86103",
      "tree": "d5f812aa7dd230e51f4b5e2d921692757f41b983",
      "parents": [
        "8774282c4cef82695ccca8bd09976de5d6e49610"
      ],
      "author": {
        "name": "Olga Kornievskaia",
        "email": "aglo@citi.umich.edu",
        "time": "Fri Mar 28 16:04:56 2008 -0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Wed Apr 23 16:13:42 2008 -0400"
      },
      "message": "nfsd: use static memory for callback program and stats\n\nThere\u0027s no need to dynamically allocate this memory, and doing so may\ncreate the possibility of races on shutdown of the rpc client.  (We\u0027ve\nwitnessed it only after adding rpcsec_gss support to the server, after\nwhich the rpc code can send destroys calls that expect to still be able\nto access the rpc_stats structure after it has been destroyed.)\n\nSuch races are in theory possible if the module containing this \"static\"\nmemory is removed very quickly after an rpc client is destroyed, but\nwe haven\u0027t seen that happen.\n\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "e1ba1ab76e68de9f4a93fae8406627924efaed99",
      "tree": "464f54dd8f33162723db9708d8bfb6dc1b7dc791",
      "parents": [
        "3c61eecb607dbc2777074b1a95b8a97e31a96a73"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Mon Apr 07 13:09:47 2008 -0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Wed Apr 23 16:13:42 2008 -0400"
      },
      "message": "nfsd: fix comment\n\nObvious comment nit.\n\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "3c61eecb607dbc2777074b1a95b8a97e31a96a73",
      "tree": "0df466f7f4b9528718b4d944e944905602eb6e74",
      "parents": [
        "a5ae03989254ec25cd3a934ca02c008d67e259f7"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Mon Apr 07 13:05:27 2008 -0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Wed Apr 23 16:13:42 2008 -0400"
      },
      "message": "lockd: Fix stale nlmsvc_unlink_block comment\n\nAs of 5996a298da43a03081e9ba2116983d173001c862 (\"NLM: don\u0027t unlock on\ncancel requests\") we no longer unlock in this case, so the comment is no\nlonger accurate.\n\nThanks to Stuart Friedberg for pointing out the inconsistency.\n\nCc: Stuart Friedberg \u003csfriedberg@hp.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "1a448fdb3c5495405bc44d77ea676150f9195444",
      "tree": "77f5fea7c06a610e9913cf178e15a774e4f77380",
      "parents": [
        "3329ba05231808c96cf9fd0598b8f46afec9777c"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Thu Mar 27 16:34:54 2008 -0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Wed Apr 23 16:13:41 2008 -0400"
      },
      "message": "NFSD: Remove NFSv4 dependency on NFSv3\n\nClean up: Because NFSD_V4 \"depends on\" NFSD_V3, it appears as a child of\nthe NFSD_V3 menu entry, and is not visible if NFSD_V3 is unselected.\n\nReplace the dependency on NFSD_V3 with a \"select NFSD_V3\".  This makes\nNFSD_V4 look and work just like NFS_V3, while ensuring that NFSD_V3 is\nenabled if NFSD_V4 is.\n\nSam Ravnborg adds:\n\n\"This use of select is questionable. In general it is bad to select\na symbol with dependencies.\n\nIn this case the dependencies of NFSD_V3 are duplicated for NFSD_V4\nso we will not se erratic configurations but do you remember to\nupdate NFSD_V4 when you add a depends on NFSD_V3?\n\nBut I see no other clean way to do it right now.\"\n\nLater he said:\n\n\"My comment was more to say we have things to address in kconfig.\nThis is abuse in the acceptable range.\"\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "3329ba05231808c96cf9fd0598b8f46afec9777c",
      "tree": "175fdb538ddc1c9dfab90419ad57e8ecc406bcf1",
      "parents": [
        "6ffd4be6336f9c3f1a10822099587544cd0a11d7"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Thu Mar 27 16:34:47 2008 -0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Wed Apr 23 16:13:41 2008 -0400"
      },
      "message": "SUNRPC: Remove PROC_FS dependency\n\nRecently, commit 440bcc59 added a reverse dependency to fs/Kconfig to\nensure that PROC_FS was enabled if SUNRPC_GSS was enabled.\n\nApparently this isn\u0027t necessary because the auth_gss components under\nnet/sunrpc will build correctly even if PROC_FS is disabled, though\nRPCSEC_GSS will not work without /proc.\n\nIt also violates the guideline in Documentation/kbuild/kconfig-language.txt\nthat states \"In general use select only for non-visible symbols (no prompts\nanywhere) and for symbols with no dependencies.\"\n\nTo address these issues, remove the dependency.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "6ffd4be6336f9c3f1a10822099587544cd0a11d7",
      "tree": "19023c6f1f7237b5d99fcae95c49d0eabab89b92",
      "parents": [
        "03550fac06c4f0c39a1885d46015c28794413c82"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Thu Mar 27 16:34:40 2008 -0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Wed Apr 23 16:13:41 2008 -0400"
      },
      "message": "NFSD: Use \"depends on\" for PROC_FS dependency\n\nRecently, commit 440bcc59 added a reverse dependency to fs/Kconfig to\nensure that PROC_FS was enabled if NFSD_V4 was enabled.\n\nThere is a guideline in Documentation/kbuild/kconfig-language.txt that\nstates \"In general use select only for non-visible symbols (no prompts\nanywhere) and for symbols with no dependencies.\"\n\nA quick grep around other Kconfig files reveals that no entry currently\nuses \"select PROC_FS\" -- every one uses \"depends on\".  Thus CONFIG_NFSD_V4\nshould use \"depends on PROC_FS\" as well.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "03550fac06c4f0c39a1885d46015c28794413c82",
      "tree": "090c03e257149a034263b81a95742ce1fdcaebc6",
      "parents": [
        "c3bb257d2d3a1a4e49372b9d74eaebe0fcf110dd"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Mar 14 17:51:12 2008 -0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Wed Apr 23 16:13:41 2008 -0400"
      },
      "message": "nfsd: move most of fh_verify to separate function\n\nMove the code that actually parses the filehandle and looks up the\ndentry and export to a separate function.  This simplifies the reference\ncounting a little and moves fh_verify() a little closer to the kernel\nideal of small, minimally-indentended functions.  Clean up a few other\nminor style sins along the way.\n\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\nCc: Neil Brown \u003cneilb@suse.de\u003e\n"
    },
    {
      "commit": "9167f501c6b53492eb2566dd618ce7f55f2856d5",
      "tree": "41a39a802a0c6c848bfc7d9b322dbf83ab63fcdb",
      "parents": [
        "a3fa73bd0eea74c58315114c9fc3e913f6c26d61"
      ],
      "author": {
        "name": "Felix Blyakher",
        "email": "felixb@sgi.com",
        "time": "Tue Feb 26 10:54:36 2008 -0800"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Wed Apr 23 16:13:40 2008 -0400"
      },
      "message": "nfsd: initialize lease type in nfs4_open_delegation()\n\nWhile lease is correctly checked by supplying the type argument to\nvfs_setlease(), it\u0027s stored with fl_type uninitialized. This breaks the\nlogic when checking the type of the lease.  The fix is to initialize\nfl_type.\n\nThe old code still happened to function correctly since F_RDLCK is zero,\nand we only implement read delegations currently (nor write\ndelegations).  But that\u0027s no excuse for not fixing this.\n\nSigned-off-by: Felix Blyakher \u003cfelixb@sgi.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "a277e33cbe3fdfb9a77b448ea3043be22f000dfd",
      "tree": "2da3b18f69c7f2d8979a33c666977cd23592e98d",
      "parents": [
        "3ba1514815817f93a4f09615726dd4bcd0ddbbc9"
      ],
      "author": {
        "name": "Jeff Layton",
        "email": "jlayton@redhat.com",
        "time": "Wed Feb 20 08:55:30 2008 -0500"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Wed Apr 23 16:13:40 2008 -0400"
      },
      "message": "NFS: convert nfs4 callback thread to kthread API\n\nThere\u0027s a general push to convert kernel threads to use the (much\ncleaner) kthread API. This patch converts the NFSv4 callback kernel\nthread to the kthread API. In addition to being generally cleaner this\nalso removes the dependency on signals when shutting down the thread.\n\nNote that this patch depends on the recent patches to svc_recv() to\nmake it check kthread_should_stop() periodically. Those patches are\nin Bruce\u0027s tree at the moment and are slated for 2.6.26 along with\nthe lockd conversion, so this conversion is probably also appropriate\nfor 2.6.26.\n\nSigned-off-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nAcked-by: Trond Myklebust \u003cTrond.Myklebust@netapp.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": "a254b246ee238ab90e7b3fae1f76875b608b2213",
      "tree": "1e4c35e1225b91693694d0384ef6f1e0e8500e4d",
      "parents": [
        "d8421202121ce74daf4625ca9d1d825bbd7ce66a"
      ],
      "author": {
        "name": "Harvey Harrison",
        "email": "harvey.harrison@gmail.com",
        "time": "Wed Feb 20 12:49:00 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 warnings\n\nAdd extern to nfsd/nfsd.h\nfs/nfsd/nfssvc.c:146:5: warning: symbol \u0027nfsd_nrthreads\u0027 was not declared. Should it be static?\nfs/nfsd/nfssvc.c:261:5: warning: symbol \u0027nfsd_nrpools\u0027 was not declared. Should it be static?\nfs/nfsd/nfssvc.c:269:5: warning: symbol \u0027nfsd_get_nrthreads\u0027 was not declared. Should it be static?\nfs/nfsd/nfssvc.c:281:5: warning: symbol \u0027nfsd_set_nrthreads\u0027 was not declared. Should it be static?\nfs/nfsd/export.c:1534:23: warning: symbol \u0027nfs_exports_op\u0027 was not declared. Should it be static?\n\nAdd include of auth.h\nfs/nfsd/auth.c:27:5: warning: symbol \u0027nfsd_setuser\u0027 was not declared. Should it be static?\n\nMake static, move forward declaration closer to where it\u0027s needed.\nfs/nfsd/nfs4state.c:1877:1: warning: symbol \u0027laundromat_main\u0027 was not declared. Should it be static?\n\nMake static, forward declaration was already marked static.\nfs/nfsd/nfs4idmap.c:206:1: warning: symbol \u0027idtoname_parse\u0027 was not declared. Should it be static?\nfs/nfsd/vfs.c:1156:1: warning: symbol \u0027nfsd_create_setattr\u0027 was not declared. Should it be static?\n\nSigned-off-by: Harvey Harrison \u003charvey.harrison@gmail.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "d8421202121ce74daf4625ca9d1d825bbd7ce66a",
      "tree": "0465a155e03b97660d2f887e702b8f2917889c75",
      "parents": [
        "a95e56e72c196970a8067cd515c658d064813170"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Wed Feb 20 15:40:15 2008 -0500"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Wed Apr 23 16:13:39 2008 -0400"
      },
      "message": "lockd: convert nsm_mutex to a spinlock\n\nThere\u0027s no reason for a mutex here, except to allow an allocation under\nthe lock, which we can avoid with the usual trick of preallocating\nmemory for the new object and freeing it if it turns out to be\nunnecessary.\n\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "a95e56e72c196970a8067cd515c658d064813170",
      "tree": "e785c49b5cc7fe877ff5bf78193d11b1cb482540",
      "parents": [
        "164f98adbbd50c67177b096a59f55c1a56a45c82"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Wed Feb 20 15:27:31 2008 -0500"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Wed Apr 23 16:13:39 2008 -0400"
      },
      "message": "lockd: clean up __nsm_find()\n\nUse list_for_each_entry().  Also, in keeping with kernel style, make the\nnormal case (kzalloc succeeds) unindented and handle the abnormal case\nwith a goto.\n\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "164f98adbbd50c67177b096a59f55c1a56a45c82",
      "tree": "baa47455b18219eca8ff4a54a84954170597fa06",
      "parents": [
        "dd35210e1e2cb46d6dba5c97f1bc3784c4f97998"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Wed Feb 20 14:02:47 2008 -0500"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Wed Apr 23 16:13:39 2008 -0400"
      },
      "message": "lockd: fix race in nlm_release()\n\nThe sm_count is decremented to zero but left on the nsm_handles list.\nSo in the space between decrementing sm_count and acquiring nsm_mutex,\nit is possible for another task to find this nsm_handle, increment the\nuse count and then enter nsm_release itself.\n\nThus there\u0027s nothing to prevent the nsm being freed before we acquire\nnsm_mutex here.\n\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "93245d11fcaccdebccabe86a2b92db524f82d8b4",
      "tree": "62d1de3c789e01387ccbf1bf15764d3114a4a6fe",
      "parents": [
        "f2b0dee2ec8d562ad9ced2b7481be72d356c6cfc"
      ],
      "author": {
        "name": "Harvey Harrison",
        "email": "harvey.harrison@gmail.com",
        "time": "Mon Feb 18 02:01:49 2008 -0800"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Wed Apr 23 16:13:39 2008 -0400"
      },
      "message": "lockd: fix sparse warning in svcshare.c\n\nfs/lockd/svcshare.c:74:50: warning: Using plain integer as NULL pointer\n\nSigned-off-by: Harvey Harrison \u003charvey.harrison@gmail.com\u003e\nCc: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\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": "6aaa67b5f3b9fe24f0c76d0415cc72e5a1137bea",
      "tree": "fb8305a818ca7fcc25451c15788dd2c5381a933a",
      "parents": [
        "78dd0992a3462e05138cf4d08df759bf1c7a08c9"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Mon Feb 11 17:12:38 2008 -0500"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Wed Apr 23 16:13:38 2008 -0400"
      },
      "message": "NFSD: Remove redundant \"select\" clauses in fs/Kconfig\n\nAs far as I can tell, selecting the CRYPTO and CRYPTO_MD5 entries under\nCONFIG_NFSD is redundant, since CONFIG_NFSD_V4 already selects\nRPCSEC_GSS_KRB5, which selects these entries.\n\nTesting with \"make menuconfig\" shows that the entries under CRYPTO still\nproperly reflect \"Y\" or \"M\" based on the setting of CONFIG_NFSD after this\nchange is applied.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "78dd0992a3462e05138cf4d08df759bf1c7a08c9",
      "tree": "adec5e8e0c1d7cc732eefda84cb7a33235588dbd",
      "parents": [
        "892069552eedfa0d2fca41680d076a5bc0a3c26e"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Mon Feb 11 17:12:31 2008 -0500"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Wed Apr 23 16:13:38 2008 -0400"
      },
      "message": "NFSD: Move \"select NFSD_V2_ACL if NFSD_V3_ACL\"\n\nClean up: since NFSD_V2_ACL is a boolean, it can be selected safely\nunder the NFSD_V3_ACL entry (also a boolean).\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "892069552eedfa0d2fca41680d076a5bc0a3c26e",
      "tree": "ace108ba5f5380f6173a1b0003445f7afb2b2e1c",
      "parents": [
        "d24455b5ffe02a652e8cb1ed2d3570a512c898f8"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Mon Feb 11 17:12:24 2008 -0500"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Wed Apr 23 16:13:38 2008 -0400"
      },
      "message": "NFSD: Move \"select FS_POSIX_ACL if NFSD_V4\"\n\nClean up: since FS_POSIX_ACL is a non-visible boolean entry, it can be\nselected safely under the NFSD_V4 entry (also a boolean).\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "d24455b5ffe02a652e8cb1ed2d3570a512c898f8",
      "tree": "7477521e00b509a336d177f3776e28acf8b27da6",
      "parents": [
        "5ea0dd61f221ba2701314a85e998b8202412553d"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Mon Feb 11 17:11:54 2008 -0500"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Wed Apr 23 16:13:38 2008 -0400"
      },
      "message": "NFSD: Update help text for CONFIG_NFSD\n\nClean up: refresh the help text for Kconfig items related to the NFS\nserver.  Remove obsolete URLs, and make the language consistent among\nthe options.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "5ea0dd61f221ba2701314a85e998b8202412553d",
      "tree": "1f1d1f2bea5fd98cc06af8d070242bdfd1ddd87b",
      "parents": [
        "c0ce6ec87c59d7a29438717b1f72f83fb408f416"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Mon Feb 11 17:11:39 2008 -0500"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Wed Apr 23 16:13:38 2008 -0400"
      },
      "message": "NFSD: Remove NFSD_TCP kernel build option\n\nLikewise, distros usually leave CONFIG_NFSD_TCP enabled.\n\nTCP support in the Linux NFS server is stable enough that we can leave it\non always.  CONFIG_NFSD_TCP adds about 10 lines of code, and defaults to\n\"Y\" anyway.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "c0ce6ec87c59d7a29438717b1f72f83fb408f416",
      "tree": "197fe7b8f89250b54b3f08d559d49f331c00d759",
      "parents": [
        "67eb6ff610d50da231a37beb634d6dea4b5025ab"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Mon Feb 11 15:48:47 2008 -0500"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Wed Apr 23 16:13:38 2008 -0400"
      },
      "message": "nfsd: clarify readdir/mountpoint-crossing code\n\nThe code here is difficult to understand; attempt to clarify somewhat by\npulling out one of the more mystifying conditionals into a separate\nfunction.\n\nWhile we\u0027re here, also add lease_time to the list of attributes that we\ndon\u0027t really need to cross a mountpoint to fetch.\n\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\nCc: Peter Staubach \u003cstaubach@redhat.com\u003e\n"
    },
    {
      "commit": "6a85fa3adddd3a74bd5b94c4b72668d307b88377",
      "tree": "f7e89f37ccfe1b5db09aa2478f2baecabbaef009",
      "parents": [
        "0836f587258c2a24bfdc8810ad2327e7f354b6c7"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Sat Jan 26 23:36:48 2008 -0500"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Wed Apr 23 16:13:37 2008 -0400"
      },
      "message": "nfsd4: kill unnecessary check in preprocess_stateid_op\n\nThis condition is always true.\n\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "0836f587258c2a24bfdc8810ad2327e7f354b6c7",
      "tree": "d2eb463c8d3652b630161b7250fe9d88ffeed7bd",
      "parents": [
        "f3362737be14668f4e8f5c8d082eb131aafc1353"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Sat Jan 26 19:08:12 2008 -0500"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Wed Apr 23 16:13:37 2008 -0400"
      },
      "message": "nfsd4: simplify stateid sequencing checks\n\nPull this common code into a separate function.\n\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "f3362737be14668f4e8f5c8d082eb131aafc1353",
      "tree": "70ba9bbfa4102b11c24ee2c01240a187c081c9a9",
      "parents": [
        "065f30ec14b1460c695b371bc44e068832a60d9b"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Sat Jan 26 14:58:45 2008 -0500"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Wed Apr 23 16:13:37 2008 -0400"
      },
      "message": "nfsd4: remove unnecessary CHECK_FH check in preprocess_seqid_op\n\nEvery caller sets this flag, so it\u0027s meaningless.\n\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "065f30ec14b1460c695b371bc44e068832a60d9b",
      "tree": "ff85eab4b7072497522c2dd33ca0edb3c201fcf5",
      "parents": [
        "f15364bd4cf8799a7677b6daeed7b67d9139d974"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Sat Jan 19 13:58:23 2008 -0500"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Wed Apr 23 16:13:37 2008 -0400"
      },
      "message": "nfs: remove unnecessary NFS_NEED_* defines\n\nThanks to Robert Day for pointing out that these two defines are unused.\n\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\nCc: Trond Myklebust \u003ctrond@netapp.com\u003eTrond Myklebust \u003ctrond@netapp.com\u003e\nCc: Neil Brown \u003cneilb@suse.de\u003e\nCc: \"Robert P. J. Day\" \u003crpjday@crashcourse.ca\u003e\n"
    },
    {
      "commit": "f15364bd4cf8799a7677b6daeed7b67d9139d974",
      "tree": "bef48016533d184ea171d4b64336a5ad65ebc18e",
      "parents": [
        "d751a7cd0695554498f25d3026ca6710dbb3698f"
      ],
      "author": {
        "name": "Aurélien Charbon",
        "email": "aurelien.charbon@ext.bull.net",
        "time": "Fri Jan 18 15:50:56 2008 +0100"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Wed Apr 23 16:13:36 2008 -0400"
      },
      "message": "IPv6 support for NFS server export caches\n\nThis adds IPv6 support to the interfaces that are used to express nfsd\nexports.  All addressed are stored internally as IPv6; backwards\ncompatibility is maintained using mapped addresses.\n\nThanks to Bruce Fields, Brian Haley, Neil Brown and Hideaki Joshifuji\nfor comments\n\nSigned-off-by: Aurelien Charbon \u003caurelien.charbon@bull.net\u003e\nCc: Neil Brown \u003cneilb@suse.de\u003e\nCc: Brian Haley \u003cbrian.haley@hp.com\u003e\nCc:  YOSHIFUJI Hideaki / 吉藤英明 \u003cyoshfuji@linux-ipv6.org\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "d751a7cd0695554498f25d3026ca6710dbb3698f",
      "tree": "31ec617dfb9fb70160bb8d2d9c9fd2e5c1e50c15",
      "parents": [
        "7086721f9c8b59331e164e534f588e075cfd9d3f"
      ],
      "author": {
        "name": "Jeff Layton",
        "email": "jlayton@redhat.com",
        "time": "Thu Feb 07 16:34:55 2008 -0500"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Wed Apr 23 16:13:36 2008 -0400"
      },
      "message": "NLM: Convert lockd to use kthreads\n\nHave lockd_up start lockd using kthread_run. With this change,\nlockd_down now blocks until lockd actually exits, so there\u0027s no longer\nneed for the waitqueue code at the end of lockd_down. This also means\nthat only one lockd can be running at a time which simplifies the code\nwithin lockd\u0027s main loop.\n\nThis also adds a check for kthread_should_stop in the main loop of\nnlmsvc_retry_blocked and after that function returns. There\u0027s no sense\ncontinuing to retry blocks if lockd is coming down anyway.\n\nSigned-off-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "1447d25eb3a7bbe5bf5e4e7489f09be13e1ec73a",
      "tree": "1961687ba998d7f8d6bad9efda19d3eb7f45d1d6",
      "parents": [
        "3dc5063786b273f1aee545844f6bd4e9651ebffe"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Fri Feb 08 13:03:37 2008 +1100"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Wed Apr 23 16:13:35 2008 -0400"
      },
      "message": "knfsd: Remove NLM_HOST_MAX and associated logic.\n\nLockd caches information about hosts that have recently held locks to\nexpedite the taking of further locks.\n\nIt periodically discards this information for hosts that have not been\nused for a few minutes.\n\nlockd currently has a value NLM_HOST_MAX, and changes the \u0027garbage\ncollection\u0027 behaviour when the number of hosts exceeds this threshold.\n\nHowever its behaviour is strange, and likely not what was intended.\nWhen the number of hosts exceeds the max, it scans *less* often (every\n2 minutes vs every minute) and allows unused host information to\nremain around longer (5 minutes instead of 2).\n\nHaving this limit is of dubious value anyway, and we have not\nsuffered from the code not getting the limit right, so remove the\nlimit altogether.  We go with the larger values (discard 5 minute old\nhosts every 2 minutes) as they are probably safer.\n\nMaybe the periodic garbage collection should be replace to with\n\u0027shrinker\u0027 handler so we just respond to memory pressure....\n\nAcked-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "97e7e0f71d6d948c25f11f0a33878d9356d9579e",
      "tree": "2db3bcf3b4f47995308187eec7f3a61d67446dfa",
      "parents": [
        "2d4d4864ac08caff5c204a752bd004eed4f08760"
      ],
      "author": {
        "name": "Miklos Szeredi",
        "email": "mszeredi@suse.cz",
        "time": "Thu Mar 27 13:06:26 2008 +0100"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Wed Apr 23 00:05:09 2008 -0400"
      },
      "message": "[patch 7/7] vfs: mountinfo: show dominating group id\n\nShow peer group ID of nearest dominating group that has intersection\nwith the mount\u0027s namespace.\n\nSigned-off-by: Miklos Szeredi \u003cmszeredi@suse.cz\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "2d4d4864ac08caff5c204a752bd004eed4f08760",
      "tree": "a8907c33afae589146fdcd06eacd740aff48c6a1",
      "parents": [
        "a1a2c409b666befc58c2db9c7fbddf200f153470"
      ],
      "author": {
        "name": "Ram Pai",
        "email": "linuxram@us.ibm.com",
        "time": "Thu Mar 27 13:06:25 2008 +0100"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Wed Apr 23 00:05:03 2008 -0400"
      },
      "message": "[patch 6/7] vfs: mountinfo: add /proc/\u003cpid\u003e/mountinfo\n\n[mszeredi@suse.cz] rewrite and split big patch into managable chunks\n\n/proc/mounts in its current form lacks important information:\n\n - propagation state\n - root of mount for bind mounts\n - the st_dev value used within the filesystem\n - identifier for each mount and it\u0027s parent\n\nIt also suffers from the following problems:\n\n - not easily extendable\n - ambiguity of mountpoints within a chrooted environment\n - doesn\u0027t distinguish between filesystem dependent and independent options\n - doesn\u0027t distinguish between per mount and per super block options\n\nThis patch introduces /proc/\u003cpid\u003e/mountinfo which attempts to address\nall these deficiencies.\n\nCode shared between /proc/\u003cpid\u003e/mounts and /proc/\u003cpid\u003e/mountinfo is\nextracted into separate functions.\n\nThanks to Al Viro for the help in getting the design right.\n\nSigned-off-by: Ram Pai \u003clinuxram@us.ibm.com\u003e\nSigned-off-by: Miklos Szeredi \u003cmszeredi@suse.cz\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "a1a2c409b666befc58c2db9c7fbddf200f153470",
      "tree": "3ea8e4c8f1311436939492d70de23dcf185994de",
      "parents": [
        "719f5d7f0b90ac2c8f8ca4232eb322b266fea01e"
      ],
      "author": {
        "name": "Miklos Szeredi",
        "email": "mszeredi@suse.cz",
        "time": "Thu Mar 27 13:06:24 2008 +0100"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Wed Apr 23 00:04:57 2008 -0400"
      },
      "message": "[patch 5/7] vfs: mountinfo: allow using process root\n\nAllow /proc/\u003cpid\u003e/mountinfo to use the root of \u003cpid\u003e to calculate\nmountpoints.\n\n - move definition of \u0027struct proc_mounts\u0027 to \u003clinux/mnt_namespace.h\u003e\n - add the process\u0027s namespace and root to this structure\n - pass a pointer to \u0027struct proc_mounts\u0027 into seq_operations\n\nIn addition the following cleanups are made:\n\n - use a common open function for /proc/\u003cpid\u003e/{mounts,mountstat}\n - surround namespace.c part of these proc files with #ifdef CONFIG_PROC_FS\n - make the seq_operations structures const\n\nSigned-off-by: Miklos Szeredi \u003cmszeredi@suse.cz\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "719f5d7f0b90ac2c8f8ca4232eb322b266fea01e",
      "tree": "ed3f63e0856b8b319764d475e68b35719ac0ccb9",
      "parents": [
        "73cd49ecdde92fdce131938bdaff4993010d181b"
      ],
      "author": {
        "name": "Miklos Szeredi",
        "email": "mszeredi@suse.cz",
        "time": "Thu Mar 27 13:06:23 2008 +0100"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Wed Apr 23 00:04:51 2008 -0400"
      },
      "message": "[patch 4/7] vfs: mountinfo: add mount peer group ID\n\nAdd a unique ID to each peer group using the IDR infrastructure.  The\nidentifiers are reused after the peer group dissolves.\n\nThe IDR structures are protected by holding namepspace_sem for write\nwhile allocating or deallocating IDs.\n\nIDs are allocated when a previously unshared vfsmount becomes the\nfirst member of a peer group.  When a new member is added to an\nexisting group, the ID is copied from one of the old members.\n\nIDs are freed when the last member of a peer group is unshared.\n\nSetting the MNT_SHARED flag on members of a subtree is done as a\nseparate step, after all the IDs have been allocated.  This way an\nallocation failure can be cleaned up easilty, without affecting the\npropagation state.\n\nBased on design sketch by Al Viro.\n\nSigned-off-by: Miklos Szeredi \u003cmszeredi@suse.cz\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "73cd49ecdde92fdce131938bdaff4993010d181b",
      "tree": "90c9cd3597a915c1f820a3cd1fde1689e9a7ab1f",
      "parents": [
        "9d1bc60138977d9c79471b344a64f2df13b2ccef"
      ],
      "author": {
        "name": "Miklos Szeredi",
        "email": "mszeredi@suse.cz",
        "time": "Wed Mar 26 22:11:34 2008 +0100"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Wed Apr 23 00:04:45 2008 -0400"
      },
      "message": "[patch 3/7] vfs: mountinfo: add mount ID\n\nAdd a unique ID to each vfsmount using the IDR infrastructure.  The\nidentifiers are reused after the vfsmount is freed.\n\nSigned-off-by: Miklos Szeredi \u003cmszeredi@suse.cz\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "9d1bc60138977d9c79471b344a64f2df13b2ccef",
      "tree": "84ed2e1920a1a88ae84515bd9d90240faed5805c",
      "parents": [
        "6092d048183b76bfa3f84b32f8158dd8d10bd811"
      ],
      "author": {
        "name": "Miklos Szeredi",
        "email": "mszeredi@suse.cz",
        "time": "Thu Mar 27 13:06:21 2008 +0100"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Wed Apr 23 00:04:38 2008 -0400"
      },
      "message": "[patch 2/7] vfs: mountinfo: add seq_file_root()\n\nAdd a new function:\n\n  seq_file_root()\n\nThis is similar to seq_path(), but calculates the path relative to the\ngiven root, instead of current-\u003efs-\u003eroot.  If the path was unreachable\nfrom root, then modify the root parameter to reflect this.\n\nSigned-off-by: Miklos Szeredi \u003cmszeredi@suse.cz\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "6092d048183b76bfa3f84b32f8158dd8d10bd811",
      "tree": "2d38af32961eb52b36daca2f29ce69e80f6e7283",
      "parents": [
        "934b25c597c0e98304a7eaec198a87e4633a42bb"
      ],
      "author": {
        "name": "Ram Pai",
        "email": "linuxram@us.ibm.com",
        "time": "Thu Mar 27 13:06:20 2008 +0100"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Wed Apr 23 00:04:32 2008 -0400"
      },
      "message": "[patch 1/7] vfs: mountinfo: add dentry_path()\n\n[mszeredi@suse.cz] split big patch into managable chunks\n\nAdd the following functions:\n\n  dentry_path()\n  seq_dentry()\n\nThese are similar to d_path() and seq_path().  But instead of\ncalculating the path within a mount namespace, they calculate the path\nfrom the root of the filesystem to a given dentry, ignoring mounts\ncompletely.\n\nSigned-off-by: Ram Pai \u003clinuxram@us.ibm.com\u003e\nSigned-off-by: Miklos Szeredi \u003cmszeredi@suse.cz\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "934b25c597c0e98304a7eaec198a87e4633a42bb",
      "tree": "8a7cac4f818e8fb4e835be3afeabf52fb4eaa94e",
      "parents": [
        "94bc891b00e40cbec375feb4568780af183fd7f4"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Wed Apr 23 00:04:04 2008 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Wed Apr 23 00:04:04 2008 -0400"
      },
      "message": "[PATCH] remove unused label in xattr.c (noise from ro-bind)\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "94bc891b00e40cbec375feb4568780af183fd7f4",
      "tree": "fd48d354c61d2e736aa593c324a6d794afd8a4e7",
      "parents": [
        "934b7024f0ed29003c95cef447d92737ab86dc4f",
        "1ec7f1ddbe5ba49f7b10c3b129d6d5c90c43526c"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 22 18:27:56 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 22 18:28:34 2008 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6:\n  [PATCH] get rid of __exit_files(), __exit_fs() and __put_fs_struct()\n  [PATCH] proc_readfd_common() race fix\n  [PATCH] double-free of inode on alloc_file() failure exit in create_write_pipe()\n  [PATCH] teach seq_file to discard entries\n  [PATCH] umount_tree() will unhash everything itself\n  [PATCH] get rid of more nameidata passing in namespace.c\n  [PATCH] switch a bunch of LSM hooks from nameidata to path\n  [PATCH] lock exclusively in collect_mounts() and drop_collected_mounts()\n  [PATCH] move a bunch of declarations to fs/internal.h\n"
    },
    {
      "commit": "9b4f526cdc0f95f635607dfba6ac788b3deca188",
      "tree": "f9f324dbd88856fdaeff1d0146059806bacba26f",
      "parents": [
        "ed1524371716466e9c762808b02601d0d0276a92"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Apr 22 01:32:44 2008 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Apr 22 19:55:03 2008 -0400"
      },
      "message": "[PATCH] proc_readfd_common() race fix\n\nSince we drop the rcu_read_lock inside the loop, we can\u0027t assume\nthat files-\u003efdt will remain unchanged (and not freed) between\niterations.\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "ed1524371716466e9c762808b02601d0d0276a92",
      "tree": "73a9f836f54164f70649a318fe775638c79417b8",
      "parents": [
        "521b5d0c40386f4a9805cdec7bd979fc96a86aeb"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Apr 22 19:51:27 2008 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Apr 22 19:54:57 2008 -0400"
      },
      "message": "[PATCH] double-free of inode on alloc_file() failure exit in create_write_pipe()\n\nDuh...  Fortunately, the bug is quite recent (post-2.6.25) and, embarrassingly,\nmine ;-/\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "16abef0e9e79643827fd5a2a14a07bced851ae72",
      "tree": "ff2648a70755154ee93ad2ad5b11014329158e66",
      "parents": [
        "e199ceee15c8f8652cc3bb97651bdf246ba23c5f"
      ],
      "author": {
        "name": "David Sterba",
        "email": "dsterba@suse.cz",
        "time": "Tue Apr 22 15:09:22 2008 +0200"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 22 15:17:11 2008 -0700"
      },
      "message": "fs: use loff_t type instead of long long\n\nUse offset type consistently.\n\nSigned-off-by: David Sterba \u003cdsterba@suse.cz\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "03b883840c630c7b571690577809754739ac773f",
      "tree": "aeec0581accf5e19360205e21dd25a220b4a0e54",
      "parents": [
        "0d07a15bdb5a4ea6271b6e874d307c48151ef546",
        "c1c76743e98346eb052b707f0e054377a09441d1"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 22 13:44:23 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 22 13:44:23 2008 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/teigland/dlm\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/teigland/dlm:\n  dlm: linux/{dlm,dlm_device}.h: cleanup for userspace\n  dlm: common max length definitions\n  dlm: move plock code from gfs2\n  dlm: recover nodes that are removed and re-added\n  dlm: save master info after failed no-queue request\n  dlm: make dlm_print_rsb() static\n  dlm: match signedness between dlm_config_info and cluster_set\n"
    },
    {
      "commit": "62429f434091586d54b37b8dd46076e7c08b27b9",
      "tree": "d8fd38000961eb30e37b90026efebb5ae946c1ad",
      "parents": [
        "26defe34e48e18b058b773f60467729c64917490",
        "f845fced913b1437659bb5baf187698547697afe"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 22 13:40:47 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 22 13:40:47 2008 -0700"
      },
      "message": "Merge branch \u0027for_linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-udf-2.6\n\n* \u0027for_linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-udf-2.6: (41 commits)\n  udf: use crc_itu_t from lib instead of udf_crc\n  udf: Fix compilation warnings when UDF debug is on\n  udf: Fix bug in VAT mapping code\n  udf: Add read-only support for 2.50 UDF media\n  udf: Fix handling of multisession media\n  udf: Mount filesystem read-only if it has pseudooverwrite partition\n  udf: Handle VAT packed inside inode properly\n  udf: Allow loading of VAT inode\n  udf: Fix detection of VAT version\n  udf: Silence warning about accesses beyond end of device\n  udf: Improve anchor block detection\n  udf: Cleanup anchor block detection.\n  udf: Move processing of virtual partitions\n  udf: Move filling of partition descriptor info into a separate function\n  udf: Improve error recovery on mount\n  udf: Cleanup volume descriptor sequence processing\n  udf: fix anchor point detection\n  udf: Remove declarations of arrays of size UDF_NAME_LEN (256 bytes)\n  udf: Remove checking of existence of filename in udf_add_entry()\n  udf: Mark udf_process_sequence() as noinline\n  ...\n"
    },
    {
      "commit": "521b5d0c40386f4a9805cdec7bd979fc96a86aeb",
      "tree": "2193c12ee3dc0551790c79370603acb57e0f59e7",
      "parents": [
        "4e1b36fb485dd81b0818ef1bc8fb5c0f2923a283"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Fri Mar 28 00:46:41 2008 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Apr 21 23:14:02 2008 -0400"
      },
      "message": "[PATCH] teach seq_file to discard entries\n\nAllow -\u003eshow() return SEQ_SKIP; that will discard all\noutput from that element and move on.\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "4e1b36fb485dd81b0818ef1bc8fb5c0f2923a283",
      "tree": "d3908b7f8e7220002cb1530b20a22e5893814a6b",
      "parents": [
        "8c3ee42e80ccead805806b3cb50b9855ceb957a2"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Mar 24 00:16:03 2008 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Apr 21 23:13:54 2008 -0400"
      },
      "message": "[PATCH] umount_tree() will unhash everything itself\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "8c3ee42e80ccead805806b3cb50b9855ceb957a2",
      "tree": "2ab48755381fa7f7170145c1f40aa15e2e409c35",
      "parents": [
        "b5266eb4c8d1a2887a19aaec8144ee4ad1b054c3"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat Mar 22 18:00:39 2008 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Apr 21 23:13:47 2008 -0400"
      },
      "message": "[PATCH] get rid of more nameidata passing in namespace.c\n\nFurther reduction of stack footprint (sys_pivot_root());\nlose useless BKL in there, while we are at it.\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "b5266eb4c8d1a2887a19aaec8144ee4ad1b054c3",
      "tree": "37105d0640169ad758d20847cf3effe77381f50f",
      "parents": [
        "1a60a280778ff90270fc7390d9ec102f713a5a29"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat Mar 22 17:48:24 2008 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Apr 21 23:13:23 2008 -0400"
      },
      "message": "[PATCH] switch a bunch of LSM hooks from nameidata to path\n\nNamely, ones from namespace.c\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "1a60a280778ff90270fc7390d9ec102f713a5a29",
      "tree": "988cb5b1446ecc298aee4771b0768d777165226c",
      "parents": [
        "6d59e7f582ef1c1988542d0fc3b36d0087b757ce"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat Mar 22 16:19:49 2008 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Apr 21 23:11:09 2008 -0400"
      },
      "message": "[PATCH] lock exclusively in collect_mounts() and drop_collected_mounts()\n\nTaking namespace_sem shared there isn\u0027t worth the trouble, especially with\nvfsmount ID allocation about to be added.  That way we know that umount_tree(),\ncopy_tree() and clone_mnt() are _always_ serialized by namespace_sem.\numount_tree() still needs vfsmount_lock (it manipulates hash chains, among\nother things), but that\u0027s a separate story.\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "6d59e7f582ef1c1988542d0fc3b36d0087b757ce",
      "tree": "2e6e2e7d42af8f89f7b87aeaf5261d4cfbd9b625",
      "parents": [
        "807501475fce0ebe68baedf87f202c3e4ee0d12c"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat Mar 22 15:48:17 2008 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Apr 21 23:11:01 2008 -0400"
      },
      "message": "[PATCH] move a bunch of declarations to fs/internal.h\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "8a3227268877b81096d7b7a841aaf51099ad2068",
      "tree": "73d2b9522aa981d46040b5603c824583c1b18694",
      "parents": [
        "e9b62693ae0a1e13ccc97a6792d9a7770c8d1b5b",
        "ec98c6b9b47df6df1c1fa6cf3d427414f8c2cf16"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 21 17:20:53 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 21 17:20:53 2008 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-2.6:\n  [SPARC]: Remove SunOS and Solaris binary support.\n"
    },
    {
      "commit": "e9b62693ae0a1e13ccc97a6792d9a7770c8d1b5b",
      "tree": "c676609730533fc1b7c5e01992e46b6eaf75f99b",
      "parents": [
        "548453fd107f789f5f1bc2dc13cc432ceb3b5efd",
        "838cb6aba4cebcf4fcd06b90e2adf890bef884ac"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 21 16:36:46 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 21 16:36:46 2008 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/juhl/trivial\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/juhl/trivial: (24 commits)\n  DOC:  A couple corrections and clarifications in USB doc.\n  Generate a slightly more informative error msg for bad HZ\n  fix typo \"is\" -\u003e \"if\" in Makefile\n  ext*: spelling fix prefered -\u003e preferred\n  DOCUMENTATION:  Use newer DEFINE_SPINLOCK macro in docs.\n  KEYS:  Fix the comment to match the file name in rxrpc-type.h.\n  RAID: remove trailing space from printk line\n  DMA engine: typo fixes\n  Remove unused MAX_NODES_SHIFT\n  MAINTAINERS: Clarify access to OCFS2 development mailing list.\n  V4L: Storage class should be before const qualifier (sn9c102)\n  V4L: Storage class should be before const qualifier\n  sonypi: Storage class should be before const qualifier\n  intel_menlow: Storage class should be before const qualifier\n  DVB: Storage class should be before const qualifier\n  arm: Storage class should be before const qualifier\n  ALSA: Storage class should be before const qualifier\n  acpi: Storage class should be before const qualifier\n  firmware_sample_driver.c: fix coding style\n  MAINTAINERS: Add ati_remote2 driver\n  ...\n\nFixed up trivial conflicts in firmware_sample_driver.c\n"
    },
    {
      "commit": "548453fd107f789f5f1bc2dc13cc432ceb3b5efd",
      "tree": "dc5a62d49260d66b7390ef110113134e3bef9152",
      "parents": [
        "9fd91217b15751997cab35ad309b37b44eaa6774",
        "fb199746303a6bfd6121834ec9e810471185c530"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 21 16:03:40 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 21 16:03:40 2008 -0700"
      },
      "message": "Merge branch \u0027for-2.6.26\u0027 of git://git.kernel.dk/linux-2.6-block\n\n* \u0027for-2.6.26\u0027 of git://git.kernel.dk/linux-2.6-block:\n  block: fix blk_register_queue() return value\n  block: fix memory hotplug and bouncing in block layer\n  block: replace remaining __FUNCTION__ occurrences\n  Kconfig: clean up block/Kconfig help descriptions\n  cciss: fix warning oops on rmmod of driver\n  cciss: Fix race between disk-adding code and interrupt handler\n  block: move the padding adjustment to blk_rq_map_sg\n  block: add bio_copy_user_iov support to blk_rq_map_user_iov\n  block: convert bio_copy_user to bio_copy_user_iov\n  loop: manage partitions in disk image\n  cdrom: use kmalloced buffers instead of buffers on stack\n  cdrom: make unregister_cdrom() return void\n  cdrom: use list_head for cdrom_device_info list\n  cdrom: protect cdrom_device_info list by mutex\n  cdrom: cleanup hardcoded error-code\n  cdrom: remove ifdef CONFIG_SYSCTL\n"
    },
    {
      "commit": "e80ab411e589e00550e2e6e5a6a02d59cc730357",
      "tree": "870225ff7b5b8d03e82a996963213a4bb9cce248",
      "parents": [
        "529a41e36673b518c9e091f3a8d932b6b9e3c461",
        "ee959b00c335d7780136c5abda37809191fe52c3"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 21 15:49:58 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 21 15:49:58 2008 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-2.6: (36 commits)\n  SCSI: convert struct class_device to struct device\n  DRM: remove unused dev_class\n  IB: rename \"dev\" to \"srp_dev\" in srp_host structure\n  IB: convert struct class_device to struct device\n  memstick: convert struct class_device to struct device\n  driver core: replace remaining __FUNCTION__ occurrences\n  sysfs: refill attribute buffer when reading from offset 0\n  PM: Remove destroy_suspended_device()\n  Firmware: add iSCSI iBFT Support\n  PM: Remove legacy PM (fix)\n  Kobject: Replace list_for_each() with list_for_each_entry().\n  SYSFS: Explicitly include required header file slab.h.\n  Driver core: make device_is_registered() work for class devices\n  PM: Convert wakeup flag accessors to inline functions\n  PM: Make wakeup flags available whenever CONFIG_PM is set\n  PM: Fix misuse of wakeup flag accessors in serial core\n  Driver core: Call device_pm_add() after bus_add_device() in device_add()\n  PM: Handle device registrations during suspend/resume\n  block: send disk \"change\" event for rescan_partitions()\n  sysdev: detect multiple driver registrations\n  ...\n\nFixed trivial conflict in include/linux/memory.h due to semaphore header\nfile change (made irrelevant by the change to mutex).\n"
    },
    {
      "commit": "1cc8dcf569a3fcefb7ae32652225f2bd3e85257e",
      "tree": "23e065de096ab6cf044458967bea5baa6a98cff0",
      "parents": [
        "c0d1f29534f2bd6c5992831eb0f648522e9b0204"
      ],
      "author": {
        "name": "Benoit Boissinot",
        "email": "benoit.boissinot@ens-lyon.org",
        "time": "Mon Apr 21 22:45:55 2008 +0000"
      },
      "committer": {
        "name": "Jesper Juhl",
        "email": "juhl@hera.kernel.org",
        "time": "Mon Apr 21 22:45:55 2008 +0000"
      },
      "message": "ext*: spelling fix prefered -\u003e preferred\n\nSpelling fix: prefered -\u003e preferred\n\nSigned-off-by: Benoit Boissinot \u003cbenoit.boissinot@ens-lyon.org\u003e\nSigned-off-by: Jesper Juhl \u003cjesper.juhl@gmail.com\u003e\n"
    },
    {
      "commit": "429f731dea577bdd43693940cdca524135287e6a",
      "tree": "932337b7d23dd736612c6b6e6601c50bc24cfc5f",
      "parents": [
        "85b375a613085b78531ec86369a51c2f3b922f95",
        "d2f5e80862d33a7746a40569840248a592dbc395"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 21 15:41:27 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 21 15:41:27 2008 -0700"
      },
      "message": "Merge branch \u0027semaphore\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/willy/misc\n\n* \u0027semaphore\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/willy/misc:\n  Deprecate the asm/semaphore.h files in feature-removal-schedule.\n  Convert asm/semaphore.h users to linux/semaphore.h\n  security: Remove unnecessary inclusions of asm/semaphore.h\n  lib: Remove unnecessary inclusions of asm/semaphore.h\n  kernel: Remove unnecessary inclusions of asm/semaphore.h\n  include: Remove unnecessary inclusions of asm/semaphore.h\n  fs: Remove unnecessary inclusions of asm/semaphore.h\n  drivers: Remove unnecessary inclusions of asm/semaphore.h\n  net: Remove unnecessary inclusions of asm/semaphore.h\n  arch: Remove unnecessary inclusions of asm/semaphore.h\n"
    },
    {
      "commit": "f5264481c8049673e2cc8c7aca410931f571ba2d",
      "tree": "cfe54747b75be1c83d2102d9e7f80c650602fcdc",
      "parents": [
        "1fb7c6e4cba35b5e7cef88b58d0a2ad164d801a5"
      ],
      "author": {
        "name": "Pavel Machek",
        "email": "pavel@suse.cz",
        "time": "Mon Apr 21 22:15:06 2008 +0000"
      },
      "committer": {
        "name": "Jesper Juhl",
        "email": "juhl@hera.kernel.org",
        "time": "Mon Apr 21 22:15:06 2008 +0000"
      },
      "message": "trivial: small cleanups\n\nThese are small cleanups all over the tree.\n\nTrivial style and comment changes to\n  fs/select.c, kernel/signal.c, kernel/stop_machine.c \u0026 mm/pdflush.c\n\nSigned-off-by: Pavel Machek \u003cpavel@suse.cz\u003e\nSigned-off-by: Jesper Juhl \u003cjesper.juhl@gmail.com\u003e\n"
    },
    {
      "commit": "ec98c6b9b47df6df1c1fa6cf3d427414f8c2cf16",
      "tree": "b144d907e47f8ade53296bd19850af708692386f",
      "parents": [
        "3925e6fc1f774048404fdd910b0345b06c699eb4"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Apr 20 02:14:23 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Apr 21 15:10:15 2008 -0700"
      },
      "message": "[SPARC]: Remove SunOS and Solaris binary support.\n\nAs per Documentation/feature-removal-schedule.txt\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "3d564fa3472d36cd6aa70514c37b8bbbec5b17ab",
      "tree": "1033829746e0440e3b603381b9ed640a0af1ec2a",
      "parents": [
        "2402211a8389282fd2942fad4511f02c0eeeffc5"
      ],
      "author": {
        "name": "David Teigland",
        "email": "teigland@redhat.com",
        "time": "Mon Apr 14 14:06:29 2008 -0500"
      },
      "committer": {
        "name": "David Teigland",
        "email": "teigland@redhat.com",
        "time": "Mon Apr 21 11:22:29 2008 -0500"
      },
      "message": "dlm: common max length definitions\n\nAdd central definitions for max lockspace name length and max resource\nname length.  The lack of central definitions has resulted in scattered\nprivate definitions which we can now clean up, including an unused one\nin dlm_device.h.\n\nSigned-off-by: David Teigland \u003cteigland@redhat.com\u003e\n"
    },
    {
      "commit": "2402211a8389282fd2942fad4511f02c0eeeffc5",
      "tree": "853e5818a29816e642689d7e793a845d2519711b",
      "parents": [
        "d44e0fc704143624b3e88fbf8fbcfda7a83fd299"
      ],
      "author": {
        "name": "David Teigland",
        "email": "teigland@redhat.com",
        "time": "Fri Mar 14 15:09:15 2008 -0500"
      },
      "committer": {
        "name": "David Teigland",
        "email": "teigland@redhat.com",
        "time": "Mon Apr 21 11:22:28 2008 -0500"
      },
      "message": "dlm: move plock code from gfs2\n\nMove the code that handles cluster posix locks from gfs2 into the dlm\nso that it can be used by both gfs2 and ocfs2.\n\nSigned-off-by: David Teigland \u003cteigland@redhat.com\u003e\n"
    },
    {
      "commit": "d44e0fc704143624b3e88fbf8fbcfda7a83fd299",
      "tree": "af6c5a5c6ae179051caf725e46f11ff8e2f0f7c8",
      "parents": [
        "761b9d3ffc953c24ceb55d8e12ff7e02b17e0484"
      ],
      "author": {
        "name": "David Teigland",
        "email": "teigland@redhat.com",
        "time": "Tue Mar 18 14:22:11 2008 -0500"
      },
      "committer": {
        "name": "David Teigland",
        "email": "teigland@redhat.com",
        "time": "Mon Apr 21 11:18:01 2008 -0500"
      },
      "message": "dlm: recover nodes that are removed and re-added\n\nIf a node is removed from a lockspace, and then added back before the\ndlm is notified of the removal, the dlm will not detect the removal\nand won\u0027t clear the old state from the node.  This is fixed by using a\nlist of added nodes so the membership recovery can detect when a newly\nadded node is already in the member list.\n\nSigned-off-by: David Teigland \u003cteigland@redhat.com\u003e\n"
    },
    {
      "commit": "761b9d3ffc953c24ceb55d8e12ff7e02b17e0484",
      "tree": "07dcab128761847c008b589bf367715f2fcd60b0",
      "parents": [
        "170e19ab2900b7c959d7a0e627fd12f383efcfa1"
      ],
      "author": {
        "name": "David Teigland",
        "email": "teigland@redhat.com",
        "time": "Thu Feb 21 11:25:42 2008 -0600"
      },
      "committer": {
        "name": "David Teigland",
        "email": "teigland@redhat.com",
        "time": "Mon Apr 21 11:18:01 2008 -0500"
      },
      "message": "dlm: save master info after failed no-queue request\n\nWhen a NOQUEUE request fails, the rsb res_master field is unnecessarily\nreset to -1, instead of leaving the valid master setting in place.  We\nwant to save the looked-up master values while the rsb is on the \"toss\nlist\" so that another lookup can be avoided if the rsb is soon reused.\nThe fix is to simply leave res_master value alone.\n\nSigned-off-by: David Teigland \u003cteigland@redhat.com\u003e\n"
    },
    {
      "commit": "170e19ab2900b7c959d7a0e627fd12f383efcfa1",
      "tree": "d34d48eb0fc5c1bb7bd99e4613ce4cc6092010a8",
      "parents": [
        "5416b704aef0b7350073421f4f6ac1a21bc213e7"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@kernel.org",
        "time": "Wed Feb 13 23:29:38 2008 +0200"
      },
      "committer": {
        "name": "David Teigland",
        "email": "teigland@redhat.com",
        "time": "Mon Apr 21 11:18:01 2008 -0500"
      },
      "message": "dlm: make dlm_print_rsb() static\n\ndlm_print_rsb() can now become static.\n\nSigned-off-by: Adrian Bunk \u003cbunk@kernel.org\u003e\nSigned-off-by: David Teigland \u003cteigland@redhat.com\u003e\n"
    },
    {
      "commit": "5416b704aef0b7350073421f4f6ac1a21bc213e7",
      "tree": "8868300550da5c2746d6595a073ee9c8da6d58d3",
      "parents": [
        "3925e6fc1f774048404fdd910b0345b06c699eb4"
      ],
      "author": {
        "name": "Harvey Harrison",
        "email": "harvey.harrison@gmail.com",
        "time": "Wed Feb 13 16:54:29 2008 -0800"
      },
      "committer": {
        "name": "David Teigland",
        "email": "teigland@redhat.com",
        "time": "Mon Apr 21 11:18:01 2008 -0500"
      },
      "message": "dlm: match signedness between dlm_config_info and cluster_set\n\ncluster_set is only called from the macro CLUSTER_ATTR which defines read/write\naccess functions.  Make the signedness match to avoid sparse warnings every time\nCLUSTER_ATTR is used (lines 149-159) all of the form:\n\nfs/dlm/config.c:149:1: warning: incorrect type in argument 3 (different signedness)\nfs/dlm/config.c:149:1:    expected unsigned int *info_field\nfs/dlm/config.c:149:1:    got int extern [toplevel] *\u003cnoident\u003e\n\nSigned-off-by: Harvey Harrison \u003charvey.harrison@gmail.com\u003e\nSigned-off-by: David Teigland \u003cteigland@redhat.com\u003e\n"
    },
    {
      "commit": "c5dec1c3034f1ae3503efbf641ff3b0273b64797",
      "tree": "d8c2d81ff2d944a0ba43e6ef7284482898af8b3b",
      "parents": [
        "476a4813cfddf7cf159956cc0e2d3c830c1507e3"
      ],
      "author": {
        "name": "FUJITA Tomonori",
        "email": "fujita.tomonori@lab.ntt.co.jp",
        "time": "Fri Apr 11 12:56:49 2008 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Mon Apr 21 09:50:08 2008 +0200"
      },
      "message": "block: convert bio_copy_user to bio_copy_user_iov\n\nThis patch enables bio_copy_user to take struct sg_iovec (renamed\nbio_copy_user_iov). bio_copy_user uses bio_copy_user_iov internally as\nbio_map_user uses bio_map_user_iov.\n\nThe major changes are:\n\n- adds sg_iovec array to struct bio_map_data\n\n- adds __bio_copy_iov that copy data between bio and\nsg_iovec. bio_copy_user_iov and bio_uncopy_user use it.\n\nSigned-off-by: FUJITA Tomonori \u003cfujita.tomonori@lab.ntt.co.jp\u003e\nCc: Tejun Heo \u003chtejun@gmail.com\u003e\nCc: Mike Christie \u003cmichaelc@cs.wisc.edu\u003e\nCc: James Bottomley \u003cJames.Bottomley@HansenPartnership.com\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "2424b5dd062cbe3e0578ae7b11a1b360ad22f451",
      "tree": "75b6d67412969074237a371947280b419c5d43db",
      "parents": [
        "b844eba292b477cda14582bfc6f535deed57a82d"
      ],
      "author": {
        "name": "Dan Williams",
        "email": "dan.j.williams@intel.com",
        "time": "Mon Apr 07 15:35:01 2008 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Sat Apr 19 19:10:29 2008 -0700"
      },
      "message": "sysfs: refill attribute buffer when reading from offset 0\n\nRequiring userspace to close and re-open sysfs attributes has been the\npolicy since before 2.6.12.  It allows userspace to get a consistent\nsnapshot of kernel state and consume it with incremental reads and seeks.\n\nNow, if the file position is zero the kernel assumes userspace wants to see\nthe new value.  The application for this change is to allow a userspace\nRAID metadata handler to check the state of an array without causing any\nmemory allocations.  Thus not causing writeback to a raid array that might\nbe blocked waiting for userspace to take action.\n\nCc: Neil Brown \u003cneilb@suse.de\u003e\nAcked-by: Tejun Heo \u003chtejun@gmail.com\u003e\nSigned-off-by: Dan Williams \u003cdan.j.williams@intel.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n\n"
    },
    {
      "commit": "c6f87733823d69a8f12e391688ceeb1ff4922530",
      "tree": "2061036d1d015167a4de9e2c3a14810e6409f18f",
      "parents": [
        "3f62e5700b2a679ae987b32a68126dd6dcf2488f"
      ],
      "author": {
        "name": "Robert P. J. Day",
        "email": "rpjday@crashcourse.ca",
        "time": "Thu Mar 13 22:41:52 2008 -0400"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Sat Apr 19 19:10:27 2008 -0700"
      },
      "message": "SYSFS: Explicitly include required header file slab.h.\n\nAfter an experimental deletion of the unnecessary inclusion of\n\u003clinux/slab.h\u003e from the header file \u003clinux/percpu.h\u003e, the following\nfiles under fs/sysfs were exposed as needing to explicitly include\n\u003clinux/slab.h\u003e.\n\nSigned-off-by: Robert P. J. Day \u003crpjday@crashcourse.ca\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "6bcf19d02a5d7e627fa054f2f10e0a8d830df326",
      "tree": "5534e02f0141b87ac492ba8d6342469f76f3d907",
      "parents": [
        "da009f39f85a3ee9deeb10f0f05ddd4efdd67020"
      ],
      "author": {
        "name": "Kay Sievers",
        "email": "kay.sievers@vrfy.org",
        "time": "Sun Mar 09 21:26:02 2008 +0100"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Sat Apr 19 19:10:24 2008 -0700"
      },
      "message": "block: send disk \"change\" event for rescan_partitions()\n\nUserspace likes to get notified that the disk may have changed, when\nrescan_partitions() is called after partitioning or media change. It will\nmake it possible to update the state of the disk with the \"change\" event,\nbefore the following partition \"add\" events are handled.\n\nCc: David Zeuthen \u003cdavid@fubar.dk\u003e\nSigned-off-by: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "a3dab293539031b0970585b9b355cebbc91ecbd4",
      "tree": "2ad3d7e8f051ab6cf7cefa3872eedf3eeed1247b",
      "parents": [
        "daa7da5fd3040e08e3d7878cd0667c1f4cfd338a"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@kernel.org",
        "time": "Mon Apr 14 21:41:32 2008 +0300"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sat Apr 19 16:55:29 2008 -0400"
      },
      "message": "make nfs_automount_list static\n\nnfs_automount_list can now become static.\n\nSigned-off-by: Adrian Bunk \u003cbunk@kernel.org\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "daa7da5fd3040e08e3d7878cd0667c1f4cfd338a",
      "tree": "72fa219ec1fb478ef272a7b14958fd4f933b80f5",
      "parents": [
        "63649bd7080a6a50fabcb1935f4b7c4e64155066"
      ],
      "author": {
        "name": "Jeff Layton",
        "email": "jlayton@redhat.com",
        "time": "Fri Apr 11 11:50:58 2008 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sat Apr 19 16:55:25 2008 -0400"
      },
      "message": "NFS: remove duplicate flags assignment from nfs_validate_mount_data\n\nSigned-off-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "63649bd7080a6a50fabcb1935f4b7c4e64155066",
      "tree": "84e398f5d3f191526dd511c112391befbd46dfda",
      "parents": [
        "cd019f7517206a74d8cdb64d5c82b1f76be608cc"
      ],
      "author": {
        "name": "Cyrill Gorcunov",
        "email": "gorcunov@gmail.com",
        "time": "Thu Apr 17 20:42:09 2008 +0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sat Apr 19 16:55:22 2008 -0400"
      },
      "message": "NFS - fix potential NULL pointer dereference v2\n\nThere is possible NULL pointer dereference if kstr[n]dup failed.\nSo fix them for safety.\n\nSigned-off-by: Cyrill Gorcunov \u003cgorcunov@gmail.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "a2b2bb8822c78806930bbb4d4c5bb3ae69648fd0",
      "tree": "a172b309f9ead2f81426eebdb28f3f1ecb75ce48",
      "parents": [
        "7c67db3a8a98045744f06fcd6d8f476d9df0ba5c"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Apr 08 16:02:17 2008 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sat Apr 19 16:54:59 2008 -0400"
      },
      "message": "NFSv4: Attempt to use machine credentials in SETCLIENTID calls\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "7c67db3a8a98045744f06fcd6d8f476d9df0ba5c",
      "tree": "4d0041249b48f9ac66560550e0e96c9c86c37891",
      "parents": [
        "78ea323be6380a9313e87fe241809e912e8ae401"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Apr 07 20:50:11 2008 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sat Apr 19 16:54:56 2008 -0400"
      },
      "message": "NFSv4: Reintroduce machine creds\n\nWe need to try to ensure that we always use the same credentials whenever\nwe re-establish the clientid on the server. If not, the server won\u0027t\nrecognise that we\u0027re the same client, and so may not allow us to recover\nstate.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "78ea323be6380a9313e87fe241809e912e8ae401",
      "tree": "6ea9a772ab677012c52a08c6b32e366d7bf129d4",
      "parents": [
        "441092415770ddec648800701895913c4bfd60c1"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Apr 07 20:49:28 2008 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sat Apr 19 16:54:53 2008 -0400"
      },
      "message": "NFSv4: Don\u0027t use cred-\u003ecr_ops-\u003ecr_name in nfs4_proc_setclientid()\n\nWith the recent change to generic creds, we can no longer use\ncred-\u003ecr_ops-\u003ecr_name to distinguish between RPCSEC_GSS principals and\nAUTH_SYS/AUTH_NULL identities. Replace it with the rpc_authops-\u003eau_name\ninstead...\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "441092415770ddec648800701895913c4bfd60c1",
      "tree": "dc74f31ba55b91114baee56e31c7db741220d5ec",
      "parents": [
        "856dff3d3875bdc8b88e4a65779873af76776a69"
      ],
      "author": {
        "name": "Fred Isaman",
        "email": "iisaman@citi.umich.edu",
        "time": "Wed Apr 02 15:21:15 2008 +0300"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sat Apr 19 16:54:50 2008 -0400"
      },
      "message": "nfs: fix printout of multiword bitfields\n\nBenny points out that zero-padding of multiword bitfields is necessary,\nand that delimiting each word is nice to avoid endianess confusion.\n\nbhalevy: without zero padding output can be ambiguous. Also,\nsince the printed array of two 32-bit unsigned integers is not a\n64-bit number, delimiting the output with a semicolon makes more sense.\n\nSigned-off-by: Fred Isaman \u003ciisaman@citi.umich.edu\u003e\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "856dff3d3875bdc8b88e4a65779873af76776a69",
      "tree": "03f10cfa3319df59987fa20b1e96902d96fdb4ee",
      "parents": [
        "d11d10cc05c94a32632d6928d15a1034200dd9a5"
      ],
      "author": {
        "name": "Benny Halevy",
        "email": "bhalevy@panasas.com",
        "time": "Mon Mar 31 17:39:06 2008 +0300"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sat Apr 19 16:54:47 2008 -0400"
      },
      "message": "nfs: return negative error value from nfs{,4}_stat_to_errno\n\nAll use sites for nfs{,4}_stat_to_errno negate their return value.\nIt\u0027s more efficient to return a negative error from the stat_to_errno convertors\nrather than negating its return value everywhere. This also produces slightly\nsmaller code.\n\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "d11d10cc05c94a32632d6928d15a1034200dd9a5",
      "tree": "8d6aec826f4673cf0aea98dda2c5ce39185a5d0b",
      "parents": [
        "c4d7c402b788b73dc24f1e54a57f89d3dc5eb7bc"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Apr 02 14:44:05 2008 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sat Apr 19 16:54:43 2008 -0400"
      },
      "message": "NLM/lockd: Ensure client locking calls use correct credentials\n\nNow that we\u0027ve added the \u0027generic\u0027 credentials (that are independent of the\nrpc_client) to the nfs_open_context, we can use those in the NLM client to\nensure that the lock/unlock requests are authenticated to whoever\noriginally opened the file.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "c4d7c402b788b73dc24f1e54a57f89d3dc5eb7bc",
      "tree": "51c0e7fa84f7eff745dc17a7bffd81adb3d207d3",
      "parents": [
        "5f50c0c6d644d6c8180d9079c13c5d9de3adeb34"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Apr 01 20:26:52 2008 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sat Apr 19 16:53:52 2008 -0400"
      },
      "message": "NFS: Remove the buggy lock-if-signalled case from do_setlk()\n\nBoth NLM and NFSv4 should be able to clean up adequately in the case where\nthe user interrupts the RPC call...\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "5f50c0c6d644d6c8180d9079c13c5d9de3adeb34",
      "tree": "8cc145c4c3fafc1ea23e0e20929238e6318a44a5",
      "parents": [
        "6b4b3a752b3464f2fd9fe2837fb19270c23c1d6b"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Apr 01 20:26:22 2008 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sat Apr 19 16:53:49 2008 -0400"
      },
      "message": "NLM/lockd: Fix a race when cancelling a blocking lock\n\nWe shouldn\u0027t remove the lock from the list of blocked locks until the\nCANCEL call has completed since we may be racing with a GRANTED callback.\n\nAlso ensure that we send an UNLOCK if the CANCEL request failed. Normally\nthat should only happen if the process gets hit with a fatal signal.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "6b4b3a752b3464f2fd9fe2837fb19270c23c1d6b",
      "tree": "02c504fd397a5bb4f484e1205e2568bbcddfc2c5",
      "parents": [
        "8ec7ff74448f65ac963e330795d771ab14ec8408"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Apr 02 14:40:53 2008 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sat Apr 19 16:53:45 2008 -0400"
      },
      "message": "NLM/lockd: Ensure that nlmclnt_cancel() returns results of the CANCEL call\n\nCurrently, it returns success as long as the RPC call was sent. We\u0027d like\nto know if the CANCEL operation succeeded on the server.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "8ec7ff74448f65ac963e330795d771ab14ec8408",
      "tree": "b5edaf20a622c7b7ca47640fc8b1a7ce53f95422",
      "parents": [
        "dc9d8d048168ff61c458bec06b28996cb90b182a"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Mar 28 16:04:51 2008 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sat Apr 19 16:53:42 2008 -0400"
      },
      "message": "NLM: Remove the signal masking in nlmclnt_proc/nlmclnt_cancel\n\nThe signal masks have been rendered obsolete by the preceding patch.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "dc9d8d048168ff61c458bec06b28996cb90b182a",
      "tree": "f8160237a79f96837696bc7dfa91efc96e9b84ed",
      "parents": [
        "5e7f37a76fa5b604949020b7317962262812b2dd"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Mar 28 16:04:36 2008 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sat Apr 19 16:53:39 2008 -0400"
      },
      "message": "NLM/lockd: convert __nlm_async_call to use rpc_run_task()\n\nPeter Staubach comments:\n\n\u003e In the course of investigating testing failures in the locking phase of\n\u003e the Connectathon testsuite, I discovered a couple of things.  One was\n\u003e that one of the tests in the locking tests was racy when it didn\u0027t seem\n\u003e to need to be and two, that the NFS client asynchronously releases locks\n\u003e when a process is exiting.\n...\n\u003e The Single UNIX Specification Version 3 specifies that:  \"All locks\n\u003e associated with a file for a given process shall be removed when a file\n\u003e descriptor for that file is closed by that process or the process holding\n\u003e that file descriptor terminates.\".\n\u003e\n\u003e This does not specify whether those locks must be released prior to the\n\u003e completion of the exit processing for the process or not.  However,\n\u003e general assumptions seem to be that those locks will be released.  This\n\u003e leads to more deterministic behavior under normal circumstances.\n\nThe following patch converts the NFSv2/v3 locking code to use the same\nmechanism as NFSv4 for sending asynchronous RPC calls and then waiting for\nthem to complete. This ensures that the UNLOCK and CANCEL RPC calls will\ncomplete even if the user interrupts the call, yet satisfies the\nabove request for synchronous behaviour on process exit.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "5e7f37a76fa5b604949020b7317962262812b2dd",
      "tree": "ceb12f296c0d19374993ac33f306180c1f8dc23a",
      "parents": [
        "536ff0f809b0f4d56e1c41e66768d330668e0a55"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Apr 01 18:58:49 2008 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sat Apr 19 16:53:36 2008 -0400"
      },
      "message": "NLM/lockd: Add a reference counter to struct nlm_rqst\n\nWhen we replace the existing synchronous RPC calls with asynchronous calls,\nthe reference count will be needed in order to allow us to examine the\nresult of the RPC call.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "536ff0f809b0f4d56e1c41e66768d330668e0a55",
      "tree": "fa2b17cc442227d5157b644d8b3fe188b4922983",
      "parents": [
        "4a9af59fee0701d9db99bc148d87b8852d6d6dd8"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Apr 04 15:08:02 2008 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sat Apr 19 16:53:33 2008 -0400"
      },
      "message": "NFSv4: Ensure we don\u0027t corrupt fl-\u003efl_flags in nfs4_proc_unlck\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "4a9af59fee0701d9db99bc148d87b8852d6d6dd8",
      "tree": "5300720549fa750dc81b39a2ae5238840906a8ca",
      "parents": [
        "1e799b673c6b82b336ab13c48b5651d511ca3000"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Apr 01 18:57:06 2008 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sat Apr 19 16:53:30 2008 -0400"
      },
      "message": "NLM/lockd: Ensure we don\u0027t corrupt fl-\u003efl_flags in nlmclnt_unlock()\n\nAlso fix up nlmclnt_lock() so that it doesn\u0027t pass modified versions of\nfl-\u003efl_flags to nlmclnt_cancel() and other helpers.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "c1d519312dcdf11532fed9f99a8ecc3547ffd9d6",
      "tree": "f91e0d8df3fc424aaa6eddbc54aaf55bdbfb245b",
      "parents": [
        "35d05778e25ee16dbddb60331be0bc1309efba19"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Apr 07 13:20:54 2008 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sat Apr 19 16:53:15 2008 -0400"
      },
      "message": "NFSv4: Only increment the sequence id if the server saw it\n\nIt is quite possible that the OPEN, CLOSE, LOCK, LOCKU,... compounds fail\nbefore the actual stateful operation has been executed (for instance in the\nPUTFH call). There is no way to tell from the overall status result which\noperations were executed from the COMPOUND.\n\nThe fix is to move incrementing of the sequence id into the XDR layer,\nso that we do it as we process the results from the stateful operation.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "35d05778e25ee16dbddb60331be0bc1309efba19",
      "tree": "81997edb4131763212dfba51ae4d94518decfef2",
      "parents": [
        "dbae4c73f08b8a7980cc912954ade3d4c1fb6147"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sat Apr 05 15:54:17 2008 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sat Apr 19 16:53:12 2008 -0400"
      },
      "message": "NFSv4: Remove bogus call to nfs4_drop_state_owner() in _nfs4_open_expired()\n\nThere should be no need to invalidate a perfectly good state owner just\nbecause of a stale filehandle. Doing so can cause the state recovery code\nto break, since nfs4_get_renew_cred() and nfs4_get_setclientid_cred() rely\non finding active state owners.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "dbae4c73f08b8a7980cc912954ade3d4c1fb6147",
      "tree": "8a1ddd0b9df5ae7e919a235e9c765266d68a0e3f",
      "parents": [
        "c9d8f89d9816c1d16ada492aa547a4d692508c0d"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Apr 14 14:54:53 2008 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sat Apr 19 16:53:08 2008 -0400"
      },
      "message": "NFS: Ensure that rpc_run_task() errors are propagated back to the caller\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "c9d8f89d9816c1d16ada492aa547a4d692508c0d",
      "tree": "d85339019cff084c11d4fceaf194fc5e34588d61",
      "parents": [
        "fdd1e74c89fe39259a29c494209abad63ff76f82"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Apr 15 16:56:39 2008 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sat Apr 19 16:53:05 2008 -0400"
      },
      "message": "NFS: Ensure that the write code cleans up properly when rpc_run_task() fails\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "fdd1e74c89fe39259a29c494209abad63ff76f82",
      "tree": "7ec3708b7b7badeb20f705cf865afbb9c63b5406",
      "parents": [
        "73e3302f60c0e11a0db0b34b903f591139c4f937"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Apr 15 16:33:58 2008 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sat Apr 19 16:53:01 2008 -0400"
      },
      "message": "NFS: Ensure that the read code cleans up properly when rpc_run_task() fails\n\nIn the case of readpage() we need to ensure that the pages get unlocked,\nand that the error is flagged.\n\nIn the case of O_DIRECT, we need to ensure that the pages are all released.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "73e3302f60c0e11a0db0b34b903f591139c4f937",
      "tree": "7f1a4be9e1b534bf9eb87fabaa1a15e468221a9e",
      "parents": [
        "080a1f148df0615f7a610e4776dd8f3fb706f54f"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Apr 11 16:03:54 2008 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sat Apr 19 16:52:58 2008 -0400"
      },
      "message": "NFS: Fix nfs_wb_page() to always exit with an error or a clean page\n\nIt is possible for nfs_wb_page() to sometimes exit with 0 return value, yet\nthe page is left in a dirty state.\nFor instance in the case where the server rebooted, and the COMMIT request\nfailed, then all the previously \"clean\" pages which were cached by the\nserver, but were not guaranteed to have been writted out to disk,\nhave to be redirtied and resent to the server.\nThe fix is to have nfs_wb_page_priority() check that the page is clean\nbefore it exits...\n\nThis fixes a condition that triggers the BUG_ON(PagePrivate(page)) in\nnfs_create_request() when we\u0027re in the nfs_readpage() path.\n\nAlso eliminate a redundant BUG_ON(!PageLocked(page)) while we\u0027re at it. It\nturns out that clear_page_dirty_for_io() has the exact same test.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    }
  ],
  "next": "ad775f5a8faa5845377f093ca11caf577404add9"
}
