)]}'
{
  "log": [
    {
      "commit": "fffb60f93ce5880aade88e01d7133b52a4879710",
      "tree": "7882f0550af8580c0646306f6d391fe610f7ef8c",
      "parents": [
        "4b6a9316fab51af611dc8671f296734089f6a22a"
      ],
      "author": {
        "name": "Paul Jackson",
        "email": "pj@sgi.com",
        "time": "Fri Mar 24 03:16:06 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Mar 24 07:33:23 2006 -0800"
      },
      "message": "[PATCH] cpuset memory spread: slab cache format\n\nRewrap the overly long source code lines resulting from the previous\npatch\u0027s addition of the slab cache flag SLAB_MEM_SPREAD.  This patch\ncontains only formatting changes, and no function change.\n\nSigned-off-by: Paul Jackson \u003cpj@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "4b6a9316fab51af611dc8671f296734089f6a22a",
      "tree": "078f8f0f01a206af529bef137d5b71515c39053d",
      "parents": [
        "44110fe385af23ca5eee8a6ad4ff55d50339097a"
      ],
      "author": {
        "name": "Paul Jackson",
        "email": "pj@sgi.com",
        "time": "Fri Mar 24 03:16:05 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Mar 24 07:33:23 2006 -0800"
      },
      "message": "[PATCH] cpuset memory spread: slab cache filesystems\n\nMark file system inode and similar slab caches subject to SLAB_MEM_SPREAD\nmemory spreading.\n\nIf a slab cache is marked SLAB_MEM_SPREAD, then anytime that a task that\u0027s\nin a cpuset with the \u0027memory_spread_slab\u0027 option enabled goes to allocate\nfrom such a slab cache, the allocations are spread evenly over all the\nmemory nodes (task-\u003emems_allowed) allowed to that task, instead of favoring\nallocation on the node local to the current cpu.\n\nThe following inode and similar caches are marked SLAB_MEM_SPREAD:\n\n    file                               cache\n    \u003d\u003d\u003d\u003d                               \u003d\u003d\u003d\u003d\u003d\n    fs/adfs/super.c                    adfs_inode_cache\n    fs/affs/super.c                    affs_inode_cache\n    fs/befs/linuxvfs.c                 befs_inode_cache\n    fs/bfs/inode.c                     bfs_inode_cache\n    fs/block_dev.c                     bdev_cache\n    fs/cifs/cifsfs.c                   cifs_inode_cache\n    fs/coda/inode.c                    coda_inode_cache\n    fs/dquot.c                         dquot\n    fs/efs/super.c                     efs_inode_cache\n    fs/ext2/super.c                    ext2_inode_cache\n    fs/ext2/xattr.c (fs/mbcache.c)     ext2_xattr\n    fs/ext3/super.c                    ext3_inode_cache\n    fs/ext3/xattr.c (fs/mbcache.c)     ext3_xattr\n    fs/fat/cache.c                     fat_cache\n    fs/fat/inode.c                     fat_inode_cache\n    fs/freevxfs/vxfs_super.c           vxfs_inode\n    fs/hpfs/super.c                    hpfs_inode_cache\n    fs/isofs/inode.c                   isofs_inode_cache\n    fs/jffs/inode-v23.c                jffs_fm\n    fs/jffs2/super.c                   jffs2_i\n    fs/jfs/super.c                     jfs_ip\n    fs/minix/inode.c                   minix_inode_cache\n    fs/ncpfs/inode.c                   ncp_inode_cache\n    fs/nfs/direct.c                    nfs_direct_cache\n    fs/nfs/inode.c                     nfs_inode_cache\n    fs/ntfs/super.c                    ntfs_big_inode_cache_name\n    fs/ntfs/super.c                    ntfs_inode_cache\n    fs/ocfs2/dlm/dlmfs.c               dlmfs_inode_cache\n    fs/ocfs2/super.c                   ocfs2_inode_cache\n    fs/proc/inode.c                    proc_inode_cache\n    fs/qnx4/inode.c                    qnx4_inode_cache\n    fs/reiserfs/super.c                reiser_inode_cache\n    fs/romfs/inode.c                   romfs_inode_cache\n    fs/smbfs/inode.c                   smb_inode_cache\n    fs/sysv/inode.c                    sysv_inode_cache\n    fs/udf/super.c                     udf_inode_cache\n    fs/ufs/super.c                     ufs_inode_cache\n    net/socket.c                       sock_inode_cache\n    net/sunrpc/rpc_pipe.c              rpc_inode_cache\n\nThe choice of which slab caches to so mark was quite simple.  I marked\nthose already marked SLAB_RECLAIM_ACCOUNT, except for fs/xfs, dentry_cache,\ninode_cache, and buffer_head, which were marked in a previous patch.  Even\nthough SLAB_RECLAIM_ACCOUNT is for a different purpose, it marks the same\npotentially large file system i/o related slab caches as we need for memory\nspreading.\n\nGiven that the rule now becomes \"wherever you would have used a\nSLAB_RECLAIM_ACCOUNT slab cache flag before (usually the inode cache), use\nthe SLAB_MEM_SPREAD flag too\", this should be easy enough to maintain.\nFuture file system writers will just copy one of the existing file system\nslab cache setups and tend to get it right without thinking.\n\nSigned-off-by: Paul Jackson \u003cpj@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "57b47a53ec4a67691ba32cff5768e8d78fa6c67f",
      "tree": "d735ae4734f7b386eefa508a0629715f45808d1d",
      "parents": [
        "6613f82dd293b23f582a649b287fadbf8d23e6cf"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Mar 20 22:35:41 2006 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Mar 20 22:35:41 2006 -0800"
      },
      "message": "[NET]: sem2mutex part 2\n\nSemaphore to mutex conversion.\n\nThe conversion was generated via scripts, and the result was validated\nautomatically via a script as well.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "4a3e2f711a00a1feb72ae12fdc749da10179d185",
      "tree": "76ced9d3270dea4b864da71fa1d4415d2e3c8b11",
      "parents": [
        "d4ccd08cdfa8d34f4d25b62041343c52fc79385f"
      ],
      "author": {
        "name": "Arjan van de Ven",
        "email": "arjan@infradead.org",
        "time": "Mon Mar 20 22:33:17 2006 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Mar 20 22:33:17 2006 -0800"
      },
      "message": "[NET] sem2mutex: net/\n\nSemaphore to mutex conversion.\n\nThe conversion was generated via scripts, and the result was validated\nautomatically via a script as well.\n\nSigned-off-by: Arjan van de Ven \u003carjan@infradead.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e6d83d55698b73b4d5d55d3d7715a4c26030d577",
      "tree": "b2c0e3a799444d9c25c00cf34975b456e0c9ef9d",
      "parents": [
        "c12e87f4652b1ba3be168b4f63a440399b941928"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Mar 13 21:20:48 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Mar 14 07:57:18 2006 -0800"
      },
      "message": "[PATCH] SUNRPC: Fix potential deadlock in RPC code\n\nIn rpc_wake_up() and rpc_wake_up_status(), it is possible for the call to\n__rpc_wake_up_task() to fail if another thread happens to be calling\nrpc_wake_up_task() on the same rpc_task.\n\nProblem noticed by Bruno Faccini.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "712917d1c002f820b177683f4fd491289bde3c32",
      "tree": "059c7a9871803d8d5b4673d92bf21a9ae7738c8b",
      "parents": [
        "143f412eb4c7cc48b9eb4381f9133b7d36c68075"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@stusta.de",
        "time": "Mon Mar 13 21:20:47 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Mar 14 07:57:17 2006 -0800"
      },
      "message": "[PATCH] SUNRPC: fix a NULL pointer dereference in net/sunrpc/clnt.c\n\nThe Coverity checker spotted this possible NULL pointer dereference in\nrpc_new_client().\n\nSigned-off-by: Adrian Bunk \u003cbunk@stusta.de\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "fba3bad488a2eec2d76c067edb7a5ff92ef42431",
      "tree": "a7cee933e9089e5c187008b396ee7bcbdb57ff80",
      "parents": [
        "adb12f63e0f837078c6832fa2c90649ddeaab54f"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Feb 01 12:19:27 2006 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Feb 01 12:52:25 2006 -0500"
      },
      "message": "SUNRPC: Move upcall out of auth-\u003eau_ops-\u003ecrcreate()\n\n This fixes a bug whereby if two processes try to look up the same auth_gss\n credential, they may end up creating two creds, and triggering two upcalls\n because the upcall is performed before the credential is added to the\n credcache.\n\n Signed-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "adb12f63e0f837078c6832fa2c90649ddeaab54f",
      "tree": "10e2ff8eaac2c27bc6fda48528ea1c65cf2e7ecc",
      "parents": [
        "9842ef3557abf5ec2fd92bfa6e29ce0e271b3f6e"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Feb 01 12:19:13 2006 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Feb 01 12:52:24 2006 -0500"
      },
      "message": "SUNRPC: Remove the deprecated function lookup_hash() from rpc_pipefs code\n\n Signed-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "9842ef3557abf5ec2fd92bfa6e29ce0e271b3f6e",
      "tree": "03c5059d866eb40956fe01094d9bc1b811d9c4f0",
      "parents": [
        "8a3177604b729ec3b80e43790ee978863ac7551b"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Feb 01 12:18:44 2006 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Feb 01 12:52:24 2006 -0500"
      },
      "message": "SUNRPC: rpc_timeout_upcall_queue should not sleep\n\n The function rpc_timeout_upcall_queue runs from a workqueue, and hence\n sleeping is not recommended. Convert the protection of the upcall queue\n from being mutex-based to being spinlock-based.\n\n Signed-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "8a3177604b729ec3b80e43790ee978863ac7551b",
      "tree": "6eeafbdae55e2b0821e524f2c16bca52fa150cdc",
      "parents": [
        "aaaa99423b4b1f9cfd33ea5643d9274c25f62491"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Feb 01 12:18:36 2006 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Feb 01 12:52:23 2006 -0500"
      },
      "message": "SUNRPC: Fix a lock recursion in the auth_gss downcall\n\n When we look up a new cred in the auth_gss downcall so that we can stuff\n the credcache, we do not want that lookup to queue up an upcall in order\n to initialise it. To do an upcall here not only redundant, but since we\n are already holding the inode-\u003ei_mutex, it will trigger a lock recursion.\n\n This patch allows rpcauth cache searches to indicate that they can cope\n with uninitialised credentials.\n\n Signed-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "99acf0442111cc452ac1b93868dde8f6ff37a989",
      "tree": "b62ce608a696c84692bae325b6819e4d97e36045",
      "parents": [
        "9598f91f2216ba51fef472a7fc3074a0c8429a96"
      ],
      "author": {
        "name": "Martin Waitz",
        "email": "tali@admingilde.org",
        "time": "Wed Feb 01 03:06:56 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Feb 01 08:53:27 2006 -0800"
      },
      "message": "[PATCH] DocBook: fix some kernel-doc comments in net/sunrpc\n\nFix the syntax of some kernel-doc comments\n\nSigned-off-by: Martin Waitz \u003ctali@admingilde.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "5fb8b49e2955cc473929c5994b8389111daed59d",
      "tree": "49f9baa70e18a42f0be0643c8334a6e9c3f46a73",
      "parents": [
        "91a4762e0ab0880fa00e8f0b7a052e4929d867a6"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Wed Jan 18 17:43:26 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Jan 18 19:20:25 2006 -0800"
      },
      "message": "[PATCH] svcrpc: gss: svc context creation error handling\n\nAllow mechanisms to return more varied errors on the context creation\ndowncall.\n\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "91a4762e0ab0880fa00e8f0b7a052e4929d867a6",
      "tree": "994b9183eddb0b5c2e14d43c522a16528a297dd6",
      "parents": [
        "822f1005ae1f3a4a8b136f38a6933d3f719f4c4a"
      ],
      "author": {
        "name": "Kevin Coffman",
        "email": "kwc@citi.umich.edu",
        "time": "Wed Jan 18 17:43:25 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Jan 18 19:20:25 2006 -0800"
      },
      "message": "[PATCH] svcrpc: gss: server context init failure handling\n\nWe require the server\u0027s gssd to create a completed context before asking the\nkernel to send a final context init reply.  However, gssd could be buggy, or\nunder some bizarre circumstances we might purge the context from our cache\nbefore we get the chance to use it here.\n\nHandle this case by returning GSS_S_NO_CONTEXT to the client.\n\nAlso move the relevant code here to a separate function rather than nesting\nexcessively.\n\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "822f1005ae1f3a4a8b136f38a6933d3f719f4c4a",
      "tree": "34265fcf1cd957c7b34101b2152b4e5cc9c45086",
      "parents": [
        "fd44527707f2697fd2959e8bdb321ae588d150e2"
      ],
      "author": {
        "name": "Andy Adamson",
        "email": "andros@citi.umich.edu",
        "time": "Wed Jan 18 17:43:24 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Jan 18 19:20:25 2006 -0800"
      },
      "message": "[PATCH] svcrpc: gss: handle the GSS_S_CONTINUE\n\nKerberos context initiation is handled in a single round trip, but other\nmechanisms (including spkm3) may require more, so we need to handle the\nGSS_S_CONTINUE case in svcauth_gss_accept.  Send a null verifier.\n\nSigned-off-by: Andy Adamson \u003candros@citi.umich.edu\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "1918e341383ab787d6c5b17200f4ed901b10c777",
      "tree": "5644f3d1ecfbc104ed956ad674785ee69348df41",
      "parents": [
        "7e8f05934d540aeb45c1cc3cc3a0e811bd61866b"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Wed Jan 18 17:43:16 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Jan 18 19:20:24 2006 -0800"
      },
      "message": "[PATCH] svcrpc: save and restore the daddr field when request deferred\n\nThe server code currently keeps track of the destination address on every\nrequest so that it can reply using the same address.  However we forget to do\nthat in the case of a deferred request.  Remedy this oversight.  \u003eFrom folks\nat PolyServe.\n\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "8b3a70058bfe711b2d05ba2134178bae623183ce",
      "tree": "6f9e55729938f0a935aa885d29d5a38537fa3a97",
      "parents": [
        "ae0f7d5f83236a43c572a744e4bbb30e8702d821"
      ],
      "author": {
        "name": "Kris Katterjohn",
        "email": "kjak@users.sourceforge.net",
        "time": "Wed Jan 11 15:56:43 2006 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Jan 11 16:32:14 2006 -0800"
      },
      "message": "[NET]: Remove more unneeded typecasts on *malloc()\n\nThis removes more unneeded casts on the return value for kmalloc(),\nsock_kmalloc(), and vmalloc().\n\nSigned-off-by: Kris Katterjohn \u003ckjak@users.sourceforge.net\u003e\nAcked-by: James Morris \u003cjmorris@namei.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "12fe2c588df77d60dfe13b432f95d00f76b8c969",
      "tree": "514a23f41aa81d89c5385ba67a58a0144693fbcc",
      "parents": [
        "ea2e90dfcee2c09eff8a180976ace071922663a5"
      ],
      "author": {
        "name": "Jesper Juhl",
        "email": "jesper.juhl@gmail.com",
        "time": "Tue Jan 10 13:08:21 2006 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jan 10 13:08:21 2006 -0800"
      },
      "message": "[NET]: Remove unneeded kmalloc() return value casts\n\nGet rid of needless casting of kmalloc() return value in net/\n\nSigned-off-by: Jesper Juhl \u003cjesper.juhl@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "4f47707b056bd2e3627ef390557ee93d312daba5",
      "tree": "3d3b7f1a4e43e4b077bf9388e0ec2bb11eeb2daa",
      "parents": [
        "a9c828155ae8d1a1576f9648cc4d9677aea53f89"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Jan 10 08:56:39 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Jan 10 08:56:39 2006 -0800"
      },
      "message": "Fix rpc shutdown event condition bug\n\nWe want to wait for the cl_users to go down to zero, not for it to stay\npositive.  Quoth Trond (who wasn\u0027t even the author, but acked the wrong\nversion): \"Argh! I need to increase my daily caffeine dosages.\"\n\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "532347e2bbae9e849816dc7b12a3d0f2c42d4944",
      "tree": "5705f688cd0cd35684126c66a684492f5344dc0d",
      "parents": [
        "e866cfa939de7f52c154a9495eb5767f89abf453"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Jan 09 20:52:53 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Jan 10 08:01:42 2006 -0800"
      },
      "message": "[PATCH] nfs: sleep_on() removal\n\nConvert sleep_on() to wait_event_timeout().  Probably safe with the BKL but\ncould be racy once BKL use in NFS-client is gone.\n\nAcked-by: Trond Myklebust \u003ctrond.myklebust@fys.uio.no\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "80c0531514516e43ae118ddf38424e06e5c3cb3c",
      "tree": "2eef8cf8fdf505b18f83078d1eb41167e98f5b54",
      "parents": [
        "a457aa6c2bdd743bbbffd3f9e4fdbd8c71f8af1b",
        "11b751ae8c8ca3fa24c85bd5a3e51dd9f95cda17"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Jan 09 17:31:38 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Jan 09 17:31:38 2006 -0800"
      },
      "message": "Merge master.kernel.org:/pub/scm/linux/kernel/git/mingo/mutex-2.6\n"
    },
    {
      "commit": "1b1dcc1b57a49136f118a0f16367256ff9994a69",
      "tree": "b0b36d4f41d28c9d6514fb309d33c1a084d6309b",
      "parents": [
        "794ee1baee1c26be40410233e6c20bceb2b03c08"
      ],
      "author": {
        "name": "Jes Sorensen",
        "email": "jes@sgi.com",
        "time": "Mon Jan 09 15:59:24 2006 -0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@hera.kernel.org",
        "time": "Mon Jan 09 15:59:24 2006 -0800"
      },
      "message": "[PATCH] mutex subsystem, semaphore to mutex: VFS, -\u003ei_sem\n\nThis patch converts the inode semaphore to a mutex. I have tested it on\nXFS and compiled as much as one can consider on an ia64. Anyway your\nluck with it might be different.\n\nModified-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n\n(finished the conversion)\n\nSigned-off-by: Jes Sorensen \u003cjes@sgi.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "09a626600b437d91f6b13ade5c7c4b374893c54e",
      "tree": "a6de3c2a33b7d896cd22a3fe799d1b40d28daf40",
      "parents": [
        "4bba3925924148c24fb0c7636a04ad69a6a56b84"
      ],
      "author": {
        "name": "Kris Katterjohn",
        "email": "kjak@users.sourceforge.net",
        "time": "Sun Jan 08 22:24:28 2006 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Mon Jan 09 14:16:18 2006 -0800"
      },
      "message": "[NET]: Change some \"if (x) BUG();\" to \"BUG_ON(x);\"\n\nThis changes some simple \"if (x) BUG();\" statements to \"BUG_ON(x);\"\n\nSigned-off-by: Kris Katterjohn \u003ckjak@users.sourceforge.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "5160ee6fc891a9ca114be0e90fa6655647bb64b2",
      "tree": "35d3740a777935582af1b78238f20d2c2971ed55",
      "parents": [
        "21b6bf143d05d77c350d9c6764ae090a877b66ea"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "dada1@cosmosbay.com",
        "time": "Sun Jan 08 01:03:32 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Jan 08 20:13:58 2006 -0800"
      },
      "message": "[PATCH] shrink dentry struct\n\nSome long time ago, dentry struct was carefully tuned so that on 32 bits\nUP, sizeof(struct dentry) was exactly 128, ie a power of 2, and a multiple\nof memory cache lines.\n\nThen RCU was added and dentry struct enlarged by two pointers, with nice\nresults for SMP, but not so good on UP, because breaking the above tuning\n(128 + 8 \u003d 136 bytes)\n\nThis patch reverts this unwanted side effect, by using an union (d_u),\nwhere d_rcu and d_child are placed so that these two fields can share their\nmemory needs.\n\nAt the time d_free() is called (and d_rcu is really used), d_child is known\nto be empty and not touched by the dentry freeing.\n\nLockless lookups only access d_name, d_parent, d_lock, d_op, d_flags (so\nthe previous content of d_child is not needed if said dentry was unhashed\nbut still accessed by a CPU because of RCU constraints)\n\nAs dentry cache easily contains millions of entries, a size reduction is\nworth the extra complexity of the ugly C union.\n\nSigned-off-by: Eric Dumazet \u003cdada1@cosmosbay.com\u003e\nCc: Dipankar Sarma \u003cdipankar@in.ibm.com\u003e\nCc: Maneesh Soni \u003cmaneesh@in.ibm.com\u003e\nCc: Miklos Szeredi \u003cmiklos@szeredi.hu\u003e\nCc: \"Paul E. McKenney\" \u003cpaulmck@us.ibm.com\u003e\nCc: Ian Kent \u003craven@themaw.net\u003e\nCc: Paul Jackson \u003cpj@sgi.com\u003e\nCc: Al Viro \u003cviro@ftp.linux.org.uk\u003e\nCc: Christoph Hellwig \u003chch@lst.de\u003e\nCc: Trond Myklebust \u003ctrond.myklebust@fys.uio.no\u003e\nCc: Neil Brown \u003cneilb@cse.unsw.edu.au\u003e\nCc: James Morris \u003cjmorris@namei.org\u003e\nCc: Stephen Smalley \u003csds@epoch.ncsc.mil\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "9e56904e41e242169007e69d9916059dab995d90",
      "tree": "93078abbe0b10b9889c925b92e560111951f49f1",
      "parents": [
        "42181d4bafe9047d0cd7f92fc11d79496bd95034"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@fieldses.org",
        "time": "Tue Jan 03 09:56:01 2006 +0100"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Jan 06 14:59:00 2006 -0500"
      },
      "message": "SUNRPC: Make krb5 report unsupported encryption types\n\n Print messages when an unsupported encrytion algorthm is requested or\n there is an error locating a supported algorthm.\n\n Signed-off-by: Kevin Coffman \u003ckwc@citi.umich.edu\u003e\n Signed-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n Signed-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "42181d4bafe9047d0cd7f92fc11d79496bd95034",
      "tree": "70140df490e0c1ffa775423b1b76ab7d3dd62af2",
      "parents": [
        "9eed129bbde80cbd7ffeacaa1555ba1e0c9a0997"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@fieldses.org",
        "time": "Tue Jan 03 09:56:01 2006 +0100"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Jan 06 14:58:59 2006 -0500"
      },
      "message": "SUNRPC: Make spkm3 report unsupported encryption types\n\n Print messages when an unsupported encrytion algorthm is requested or\n there is an error locating a supported algorthm.\n\n Signed-off-by: Kevin Coffman \u003ckwc@citi.umich.edu\u003e\n Signed-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n Signed-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "9eed129bbde80cbd7ffeacaa1555ba1e0c9a0997",
      "tree": "49066f9b5321e09cf9696e5b69d454bf1e393eb0",
      "parents": [
        "26c78e156b1d1b2387ec33b5f2fb62d6e0a186a3"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@fieldses.org",
        "time": "Tue Jan 03 09:56:00 2006 +0100"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Jan 06 14:58:59 2006 -0500"
      },
      "message": "SUNRPC: Update the spkm3 code to use the make_checksum interface\n\n Also update the tokenlen calculations to accomodate g_token_size().\n\n Signed-off-by: Andy Adamson \u003candros@citi.umich.edu\u003e\n Signed-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n Signed-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "0065db328533c390fbfb0fe0c46bcf9a278fb99e",
      "tree": "3ef282aa05653857007760ce15a4119f198f8320",
      "parents": [
        "632e3bdc5006334cea894d078660b691685e1075"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Jan 03 09:55:56 2006 +0100"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Jan 06 14:58:58 2006 -0500"
      },
      "message": "SUNRPC: Clean up xprt_destroy()\n\n We ought never to be calling xprt_destroy() if there are still active\n rpc_tasks. Optimise away the broken code that attempts to \"fix\" that case.\n\n Signed-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "632e3bdc5006334cea894d078660b691685e1075",
      "tree": "c18dbe84dfe679d19a581ea0c9bfb931daa08917",
      "parents": [
        "eadb8c147154bff982f02accf31b847a1f142ace"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Jan 03 09:55:55 2006 +0100"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Jan 06 14:58:57 2006 -0500"
      },
      "message": "SUNRPC: Ensure client closes the socket when server initiates a close\n\n If the server decides to close the RPC socket, we currently don\u0027t actually\n respond until either another RPC call is scheduled, or until xprt_autoclose()\n gets called by the socket expiry timer (which may be up to 5 minutes\n later).\n\n This patch ensures that xprt_autoclose() is called much sooner if the\n server closes the socket.\n\n Signed-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "f518e35aec984036903c1003e867f833747a9d79",
      "tree": "2697838e0b1e6cc80565204de8b46430ded1246a",
      "parents": [
        "922004120b10dcb0ce04b55014168e8a7a8c1a0e"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "cel@netapp.com",
        "time": "Tue Jan 03 09:55:52 2006 +0100"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Jan 06 14:58:56 2006 -0500"
      },
      "message": "SUNRPC: get rid of cl_chatty\n\n Clean up: Every ULP that uses the in-kernel RPC client, except the NLM\n client, sets cl_chatty.  There\u0027s no reason why NLM shouldn\u0027t set it, so\n just get rid of cl_chatty and always be verbose.\n\n Test-plan:\n Compile with CONFIG_NFS enabled.\n\n Signed-off-by: Chuck Lever \u003ccel@netapp.com\u003e\n Signed-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "922004120b10dcb0ce04b55014168e8a7a8c1a0e",
      "tree": "4209bbd1043d9ddf09f2f277a65af758aa3631da",
      "parents": [
        "35f5a422ce1af836007f811b613c440d0e348e06"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "cel@netapp.com",
        "time": "Tue Jan 03 09:55:51 2006 +0100"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Jan 06 14:58:56 2006 -0500"
      },
      "message": "SUNRPC: transport switch API for setting port number\n\n At some point, transport endpoint addresses will no longer be IPv4.  To hide\n the structure of the rpc_xprt\u0027s address field from ULPs and port mappers,\n add an API for setting the port number during an RPC bind operation.\n\n Test-plan:\n Destructive testing (unplugging the network temporarily).  Connectathon\n with UDP and TCP.  NFSv2/3 and NFSv4 mounting should be carefully checked.\n Probably need to rig a server where certain services aren\u0027t running, or\n that returns an error for some typical operation.\n\n Signed-off-by: Chuck Lever \u003ccel@netapp.com\u003e\n Signed-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "35f5a422ce1af836007f811b613c440d0e348e06",
      "tree": "25aac5cccce27a6ed5ebb4e161f813af2adbaf56",
      "parents": [
        "02107148349f31eee7c0fb06fd7a880df73dbd20"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "cel@netapp.com",
        "time": "Tue Jan 03 09:55:50 2006 +0100"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Jan 06 14:58:56 2006 -0500"
      },
      "message": "SUNRPC: new interface to force an RPC rebind\n\n We\u0027d like to hide fields in rpc_xprt and rpc_clnt from upper layer protocols.\n Start by creating an API to force RPC rebind, replacing logic that simply\n sets cl_port to zero.\n\n Test-plan:\n Destructive testing (unplugging the network temporarily).  Connectathon\n with UDP and TCP.  NFSv2/3 and NFSv4 mounting should be carefully checked.\n Probably need to rig a server where certain services aren\u0027t running, or\n that returns an error for some typical operation.\n\n Signed-off-by: Chuck Lever \u003ccel@netapp.com\u003e\n Signed-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "02107148349f31eee7c0fb06fd7a880df73dbd20",
      "tree": "37bffd81e08b8e50394ce89a1aa7a3961f0ffbe7",
      "parents": [
        "03c21733938aad0758f5f88e1cc7ede69fc3c910"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "cel@netapp.com",
        "time": "Tue Jan 03 09:55:49 2006 +0100"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Jan 06 14:58:55 2006 -0500"
      },
      "message": "SUNRPC: switchable buffer allocation\n\n Add RPC client transport switch support for replacing buffer management\n on a per-transport basis.\n\n In the current IPv4 socket transport implementation, RPC buffers are\n allocated as needed for each RPC message that is sent.  Some transport\n implementations may choose to use pre-allocated buffers for encoding,\n sending, receiving, and unmarshalling RPC messages, however.  For\n transports capable of direct data placement, the buffers can be carved\n out of a pre-registered area of memory rather than from a slab cache.\n\n Test-plan:\n Millions of fsx operations.  Performance characterization with \"sio\" and\n \"iozone\".  Use oprofile and other tools to look for significant regression\n in CPU utilization.\n\n Signed-off-by: Chuck Lever \u003ccel@netapp.com\u003e\n Signed-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "fb459f45f7c7689714023d41b3dca999bb90a5d3",
      "tree": "5352bfb2157ad3edfd617e721a3c32e8617b4757",
      "parents": [
        "a72b44222d222749d54b3e370d825094352e389f"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@stusta.de",
        "time": "Tue Jan 03 09:55:41 2006 +0100"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Jan 06 14:58:53 2006 -0500"
      },
      "message": "SUNRPC: net/sunrpc/xdr.c: remove xdr_decode_string()\n\n This patch removes ths unused function xdr_decode_string().\n\nSigned-off-by: Adrian Bunk \u003cbunk@stusta.de\u003e\nAcked-by: Neil Brown \u003cneilb@suse.de\u003e\nAcked-by: Charles Lever \u003cCharles.Lever@netapp.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "969b7f2522c90dfed5d0d2553a91522bda2c3bf3",
      "tree": "762dddd9aa1bce49c85ea2ec5db3440938242e6e",
      "parents": [
        "566dd6064e89b15ff2dec666a421bebf0f98f26c"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Jan 03 09:55:36 2006 +0100"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Jan 06 14:58:51 2006 -0500"
      },
      "message": "SUNRPC: Fix a potential race in rpc_pipefs.\n\n Signed-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "2bd615797ef32ec06ef0ee44198a7aecc21ffd8c",
      "tree": "5ef07d09b9e3674dffce1a24dfb46e6d23410a72",
      "parents": [
        "fe650407a86823bcafbfbee96c7bc6a1b5cd1c76"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Jan 03 09:55:19 2006 +0100"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Jan 06 14:58:45 2006 -0500"
      },
      "message": "SUNRPC: Ensure that SIGKILL will always terminate a synchronous RPC call.\n\n ...and make sure that the \"intr\" flag also enables SIGHUP and SIGTERM to\n interrupt RPC calls too (as per the Solaris implementation).\n\n Signed-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "e60859ac0e50f660d23b72e42e05f58757dcfeff",
      "tree": "a48b07cea18971545bd6670f66f8b8341d393cbc",
      "parents": [
        "89991c24e48b76f40aa3bd8c40c1e87c75d10a33"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Jan 03 09:55:10 2006 +0100"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Jan 06 14:58:42 2006 -0500"
      },
      "message": "SUNRPC: rpc_execute should not return task-\u003etk_status;\n\n Signed-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "89991c24e48b76f40aa3bd8c40c1e87c75d10a33",
      "tree": "82e112cea2034a47b9f0c65e4607d093a4ebb684",
      "parents": [
        "e56e0b78eb1097a8e06512b9ed4be94d7538e7ac"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Jan 03 09:55:09 2006 +0100"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Jan 06 14:58:41 2006 -0500"
      },
      "message": "SUNRPC: Get rid of some unused exports\n\n Signed-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "44c288732fdbd7e38460d156a40d29590bf93bce",
      "tree": "d4239fe37529b4799e85443f803db754ef66f874",
      "parents": [
        "4ce70ada1ff1d0b80916ec9ec5764ce44a50a54f"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Jan 03 09:55:06 2006 +0100"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Jan 06 14:58:40 2006 -0500"
      },
      "message": "NFSv4: stateful NFSv4 RPC call interface\n\n The NFSv4 model requires us to complete all RPC calls that might\n establish state on the server whether or not the user wants to\n interrupt it. We may also need to schedule new work (including\n new RPC calls) in order to cancel the new state.\n\n The asynchronous RPC model will allow us to ensure that RPC calls\n always complete, but in order to allow for \"synchronous\" RPC, we\n want to add the ability to wait for completion.\n The waits are, of course, interruptible.\n\n Signed-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "4ce70ada1ff1d0b80916ec9ec5764ce44a50a54f",
      "tree": "9bc9ffc691679a4423a6b8724a27607c9ad7ea2c",
      "parents": [
        "963d8fe53339128ee46a7701f2e36305f0ccff8c"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Jan 03 09:55:05 2006 +0100"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Jan 06 14:58:40 2006 -0500"
      },
      "message": "SUNRPC: Further cleanups\n\n Signed-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "963d8fe53339128ee46a7701f2e36305f0ccff8c",
      "tree": "426736c70a8e05cb1d945d5c7f44ea6475edd113",
      "parents": [
        "abbcf28f23d53e8ec56a91f3528743913fa2694a"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Jan 03 09:55:04 2006 +0100"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Jan 06 14:58:39 2006 -0500"
      },
      "message": "RPC: Clean up RPC task structure\n\n Shrink the RPC task structure. Instead of storing separate pointers\n for task-\u003etk_exit and task-\u003etk_release, put them in a structure.\n\n Also pass the user data pointer as a parameter instead of passing it via\n task-\u003etk_calldata. This enables us to nest callbacks.\n\n Signed-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "abbcf28f23d53e8ec56a91f3528743913fa2694a",
      "tree": "97dafc3840e4660ac0fcf99bbdc7eddc2fecd08a",
      "parents": [
        "abd3e641d5ef9f836ab2f2b04d80b8619b051531"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Jan 03 09:55:03 2006 +0100"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Jan 06 14:58:39 2006 -0500"
      },
      "message": "SUNRPC: Yet more RPC cleanups\n\n Signed-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "93fbf1a5de8afde08988dda3735669099dee84d0",
      "tree": "2be514a800662b94a6a879b7b53f5fab6b56dd0e",
      "parents": [
        "f93ea411b73594f7d144855fd34278bcf34a9afc"
      ],
      "author": {
        "name": "Olaf Kirch",
        "email": "okir@suse.de",
        "time": "Fri Jan 06 00:19:56 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Jan 06 08:33:59 2006 -0800"
      },
      "message": "[PATCH] Keep nfsd from exiting when seeing recv() errors\n\nI submitted this one previously - svc_tcp_recvfrom currently returns\nany errors to the caller, including ECONNRESET and the like.\n\nThis is something svc_recv isn\u0027t able to deal with:\n\n\tlen \u003d svsk-\u003esk_recvfrom(rqstp);\n\t[...]\n\tif (len \u003d\u003d 0 || len \u003d\u003d -EAGAIN) {\n\t\t[...]\n\t\treturn -EAGAIN;\n\t}\n\n\t[...]\n\treturn len;\n\nThe nfsd main loop will exit when it sees an error code other than\nEAGAIN.\n\nThe following patch fixes this problem\n\nsvc_recv is not equipped to deal with error codes other than EAGAIN,\nand will propagate anything else (such as ECONNRESET) up to nfsd,\ncausing it to exit.\n\nSigned-off-by: Olaf Kirch \u003cokir@suse.de\u003e\nCc: Trond Myklebust \u003ctrond.myklebust@fys.uio.no\u003e\nCc: Neil Brown \u003cneilb@cse.unsw.edu.au\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "1f1e030bf75774b6a283518e1534d598e14147d4",
      "tree": "8b59e6ed6db756066d2cc18b35d00a753f13e237",
      "parents": [
        "4b2f0260c74324abca76ccaa42d426af163125e7"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@cse.unsw.edu.au",
        "time": "Fri Jan 06 00:09:49 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Jan 06 08:33:21 2006 -0800"
      },
      "message": "[PATCH] knfsd: fix hash function for IP addresses on 64bit little-endian machines.\n\nThe hash.h hash_long function, when used on a 64 bit machine, ignores many\nof the middle-order bits.  (The prime chosen it too bit-sparse).\n\nIP addresses for clients of an NFS server are very likely to differ only in\nthe low-order bits.  As addresses are stored in network-byte-order, these\nbits become middle-order bits in a little-endian 64bit \u0027long\u0027, and so do\nnot contribute to the hash.  Thus you can have the situation where all\nclients appear on one hash chain.\n\nSo, until hash_long is fixed (or maybe forever), us a hash function that\nworks well on IP addresses - xor the bytes together.\n\nThanks to \"Iozone\" \u003ccapps@iozone.org\u003e for identifying this problem.\n\nCc: \"Iozone\" \u003ccapps@iozone.org\u003e\n\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "90ddc4f0470427df306f308ad03db6b6b21644b8",
      "tree": "f97c1d57b25585394ebbd4b42b8d42a339f98644",
      "parents": [
        "77d76ea310b50a9c8ff15bd290fcb4ed4961adf2"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "dada1@cosmosbay.com",
        "time": "Thu Dec 22 12:49:22 2005 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Tue Jan 03 13:11:15 2006 -0800"
      },
      "message": "[NET]: move struct proto_ops to const\n\nI noticed that some of \u0027struct proto_ops\u0027 used in the kernel may share\na cache line used by locks or other heavily modified data. (default\nlinker alignement is 32 bytes, and L1_CACHE_LINE is 64 or 128 at\nleast)\n\nThis patch makes sure a \u0027struct proto_ops\u0027 can be declared as const,\nso that all cpus can share all parts of it without false sharing.\n\nThis is not mandatory : a driver can still use a read/write structure\nif it needs to (and eventually a __read_mostly)\n\nI made a global stubstitute to change all existing occurences to make\nthem const.\n\nThis should reduce the possibility of false sharing on SMP, and\nspeedup some socket system calls.\n\nSigned-off-by: Eric Dumazet \u003cdada1@cosmosbay.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "48e49187753ec3b4fa84a7165c9b7a59f3875b56",
      "tree": "7f20c20f2b4e653ba49d0b6639039e47607a409c",
      "parents": [
        "29884df0d89c1df0dec3449405bc41569bb44800"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Dec 19 17:11:22 2005 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Dec 19 23:12:21 2005 -0500"
      },
      "message": "SUNRPC: Fix \"EPIPE\" error on mount of rpcsec_gss-protected partitions\n\n gss_create_upcall() should not error just because rpc.gssd closed the\n pipe on its end. Instead, it should requeue the pending requests and then\n retry.\n\n Signed-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "b079fa7baa86b47579f3f60f86d03d21c76159b8",
      "tree": "a62d8d031315459083d546e639faaa5ce0162a03",
      "parents": [
        "3e1ec1f43307575d4e04c513aa3c30d69c32b9dc"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Dec 13 16:13:52 2005 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Dec 19 23:11:54 2005 -0500"
      },
      "message": "RPC: Do not block on skb allocation\n\n If we get something like the following,\n [  125.300636]  [\u003cc04086e1\u003e] schedule_timeout+0x54/0xa5\n [  125.305931]  [\u003cc040866e\u003e] io_schedule_timeout+0x29/0x33\n [  125.311495]  [\u003cc02880c4\u003e] blk_congestion_wait+0x70/0x85\n [  125.317058]  [\u003cc014136b\u003e] throttle_vm_writeout+0x69/0x7d\n [  125.322720]  [\u003cc014714d\u003e] shrink_zone+0xe0/0xfa\n [  125.327560]  [\u003cc01471d4\u003e] shrink_caches+0x6d/0x6f\n [  125.332581]  [\u003cc01472a6\u003e] try_to_free_pages+0xd0/0x1b5\n [  125.338056]  [\u003cc013fa4b\u003e] __alloc_pages+0x135/0x2e8\n [  125.343258]  [\u003cc03b74ad\u003e] tcp_sendmsg+0xaa0/0xb78\n [  125.348281]  [\u003cc03d4666\u003e] inet_sendmsg+0x48/0x53\n [  125.353212]  [\u003cc0388716\u003e] sock_sendmsg+0xb8/0xd3\n [  125.358147]  [\u003cc0388773\u003e] kernel_sendmsg+0x42/0x4f\n [  125.363259]  [\u003cc038bc00\u003e] sock_no_sendpage+0x5e/0x77\n [  125.368556]  [\u003cc03ee7af\u003e] xs_tcp_send_request+0x2af/0x375\n then the socket is blocked until memory is reclaimed, and no\n progress can ever be made.\n\n Try to access the emergency pools by using GFP_ATOMIC.\n\n Signed-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "bb184f3356adbbb1605df2f7c570b4c92231fa3a",
      "tree": "b3f69a116b2f7f1cd78bbcb14203ea89dda6aeba",
      "parents": [
        "24aa1fe6779eaddb3e0b1b802585dcf6faf9cc44"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sat Dec 03 15:20:10 2005 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sat Dec 03 15:20:10 2005 -0500"
      },
      "message": "SUNRPC: Fix Oopsable condition in rpc_pipefs\n\n The elements on rpci-\u003ein_upcall are tracked by the filp-\u003eprivate_data,\n which will ensure that they get released when the file is closed.\n\n The exception is if rpc_close_pipes() gets called first, since that\n sets rpci-\u003eops to NULL.\n\n Signed-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "b3eb67a2ab4e14fc6cc035907400b86462d174db",
      "tree": "43fa70b5edfa86ff8a6367cdcfb7f2a9f46ec2de",
      "parents": [
        "b37b03b7051493c9f9a6b336c9c0f81334885b7d"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Nov 25 17:10:11 2005 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Nov 25 17:11:30 2005 -0500"
      },
      "message": "SUNRPC: Funny looking code in __rpc_purge_upcall\n\n In __rpc_purge_upcall (net/sunrpc/rpc_pipe.c), the newer code to clean up\n the in_upcall list has a typo.\n Thanks to Vince Busam \u003cvbusam@google.com\u003e for spotting this!\n\n Signed-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "1887b93529410633b5529a7c2d304897dbed5b3e",
      "tree": "bb51359d16e40503dc8faa56bd429311d3514bda",
      "parents": [
        "fa63b229829e73361900183bc1ae21b71b6c2dae"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@cse.unsw.edu.au",
        "time": "Tue Nov 15 00:09:10 2005 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Nov 15 08:59:19 2005 -0800"
      },
      "message": "[PATCH] knfsd: make sure nfsd doesn\u0027t hog a cpu forever\n\nBeing kernel-threads, nfsd servers don\u0027t get pre-empted (depending on\nCONFIG).  If there is a steady stream of NFS requests that can be served\nfrom cache, an nfsd thread may hold on to a cpu indefinitely, which isn\u0027t\nvery friendly.\n\nSo it is good to have a cond_resched in there (just before looking for a\nnew request to serve), to make sure we play nice.\n\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\nAcked-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "fb286bb2990a107009dbf25f6ffebeb7df77f9be",
      "tree": "0eede2c37f1b3831e59601933eebf6b82be75ffc",
      "parents": [
        "1064e944d03eb7a72c0fa11236d5e69cfd877a71"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Thu Nov 10 13:01:24 2005 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Nov 10 13:01:24 2005 -0800"
      },
      "message": "[NET]: Detect hardware rx checksum faults correctly\n\nHere is the patch that introduces the generic skb_checksum_complete\nwhich also checks for hardware RX checksum faults.  If that happens,\nit\u0027ll call netdev_rx_csum_fault which currently prints out a stack\ntrace with the device name.  In future it can turn off RX checksum.\n\nI\u0027ve converted every spot under net/ that does RX checksum checks to\nuse skb_checksum_complete or __skb_checksum_complete with the\nexceptions of:\n\n* Those places where checksums are done bit by bit.  These will call\nnetdev_rx_csum_fault directly.\n\n* The following have not been completely checked/converted:\n\nipmr\nip_vs\nnetfilter\ndccp\n\nThis patch is based on patches and suggestions from Stephen Hemminger\nand David S. Miller.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "940e3318c36394939d805e797d7be39ddaaa7911",
      "tree": "aa0bab66b2bde96f01150504909d3ef5de41a7d1",
      "parents": [
        "e4d76e1c0b15590f2ad9bba89426c2520cd22ca6"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "trond.myklebust@fys.uio.no",
        "time": "Wed Nov 09 21:45:24 2005 -0500"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Nov 09 19:31:33 2005 -0800"
      },
      "message": "[PATCH] SUNRPC: don\u0027t reencode when looping in call transmit.\n\nIf the call to xprt_transmit() fails due to socket buffer space\nexhaustion, we do not need to re-encode the RPC message when we\nloop back through call_transmit.\n\nRe-encoding can actually end up triggering the WARN_ON() in\ncall_decode() if we re-encode something like a read() request and\nauth-\u003eau_rslack has changed.\nIt can also cause us to increment the RPCSEC_GSS sequence number\nbeyond the limits of the allowed window.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "49705b7743fd8f5632a95ec4c6547d169d27ac1f",
      "tree": "b209b1f94bfcfee522c44d2abef1cdb196219a52",
      "parents": [
        "8c744fb83da0771afa04695028e3550b798dad90"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Tue Nov 08 21:35:06 2005 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Nov 09 07:56:00 2005 -0800"
      },
      "message": "[PATCH] sanitize lookup_hash prototype\n\n-\u003epermission and -\u003elookup have a struct nameidata * argument these days to\npass down lookup intents.  Unfortunately some callers of lookup_hash don\u0027t\nactually pass this one down.  For lookup_one_len() we don\u0027t have a struct\nnameidata to pass down, but as this function is a library function only\nused by filesystem code this is an acceptable limitation.  All other\ncallers should pass down the nameidata, so this patch changes the\nlookup_hash interface to only take a struct nameidata argument and derives\nthe other two arguments to __lookup_hash from it.  All callers already have\nthe nameidata argument available so this is not a problem.\n\nAt the same time I\u0027d like to deprecate the lookup_hash interface as there\nare better exported interfaces for filesystem usage.  Before it can\nactually be removed I need to fix up rpc_pipefs.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nCc: Ram Pai \u003clinuxram@us.ibm.com\u003e\nCc: Jeff Mahoney \u003cjeffm@suse.com\u003e\nCc: Al Viro \u003cviro@ftp.linux.org.uk\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "a51482bde22f99c63fbbb57d5d46cc666384e379",
      "tree": "5482ed1c0803edb2ffbd51035de921fb0f72d82b",
      "parents": [
        "ac7c98eca88a854755475fcfe1b2bf5f97f90d99"
      ],
      "author": {
        "name": "Jesper Juhl",
        "email": "jesper.juhl@gmail.com",
        "time": "Tue Nov 08 09:41:34 2005 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Nov 08 09:41:34 2005 -0800"
      },
      "message": "[NET]: kfree cleanup\n\nFrom: Jesper Juhl \u003cjesper.juhl@gmail.com\u003e\n\nThis is the net/ part of the big kfree cleanup patch.\n\nRemove pointless checks for NULL prior to calling kfree() in net/.\n\nSigned-off-by: Jesper Juhl \u003cjesper.juhl@gmail.com\u003e\nCc: \"David S. Miller\" \u003cdavem@davemloft.net\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@conectiva.com.br\u003e\nAcked-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\nAcked-by: YOSHIFUJI Hideaki \u003cyoshfuji@linux-ipv6.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\n"
    },
    {
      "commit": "80d188a643b0f550a2aaedf7bf4dd1abd86cfc45",
      "tree": "1439a87508fab8a39a64d8be8b20f4b6e2350159",
      "parents": [
        "0ba7536d5d47e4ecf2259a80b207158dc4e711eb"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@cse.unsw.edu.au",
        "time": "Mon Nov 07 01:00:27 2005 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Nov 07 07:53:49 2005 -0800"
      },
      "message": "[PATCH] knfsd: make sure svc_process call the correct pg_authenticate for multi-service port\n\nIf an RPC socket is serving multiple programs, then the pg_authenticate of\nthe first program in the list is called, instead of pg_authenticate for the\nprogram to be run.\n\nThis does not cause a problem with any programs in the current kernel, but\ncould confuse future code.\n\nAlso set pg_authenticate for nfsd_acl_program incase it ever gets used.\n\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "0bbacc402e67abca8794a8401c1621dc0c0202e9",
      "tree": "a0969978295b806b35c943eb16af34b1eacfa47a",
      "parents": [
        "c556b754967afd0878d65de2cfe0675577b0f62f"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "cel@netapp.com",
        "time": "Tue Nov 01 16:53:32 2005 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Nov 04 15:39:48 2005 -0500"
      },
      "message": "NFS,SUNRPC,NLM: fix unused variable warnings when CONFIG_SYSCTL is disabled\n\n Fix some dprintk\u0027s so that NLM, NFS client, and RPC client compile\n cleanly if CONFIG_SYSCTL is disabled.\n\n Test plan:\n Compile kernel with CONFIG_NFS enabled and CONFIG_SYSCTL disabled.\n\n Signed-off-by: Chuck Lever \u003ccel@netapp.com\u003e\n Signed-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "c556b754967afd0878d65de2cfe0675577b0f62f",
      "tree": "fac27d23ff5230bef203fa30f26ba9faee56d987",
      "parents": [
        "6bfc93ef98f00b38f1913a7fdeae46ae8dbd7c52"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "cel@netapp.com",
        "time": "Tue Nov 01 12:24:48 2005 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Nov 04 15:39:45 2005 -0500"
      },
      "message": "SUNRPC: allow sunrpc.o to link when CONFIG_SYSCTL is disabled\n\n The sunrpc module should build properly even when CONFIG_SYSCTL is\n disabled.\n\n Reported by Jan-Benedict Glaw.\n\n Test plan:\n Compile kernel with CONFIG_NFS as a module and built-in, and CONFIG_SYSCTL\n enabled and disabled.\n\n Signed-off-by: Chuck Lever \u003ccel@netapp.com\u003e\n Signed-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "6df5b9f48dd0e77fa796b9b7d3fde7cc5f1237f2",
      "tree": "b13c0941fcbde9a95fece66d02bb0b558cf98041",
      "parents": [
        "378f058cc49bcda7fa63d3cd86d2f9a0a5188b1c"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Mon Sep 19 22:30:11 2005 +1000"
      },
      "committer": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Sun Oct 30 11:19:43 2005 +1100"
      },
      "message": "[CRYPTO] Simplify one-member scatterlist expressions\n\nThis patch rewrites various occurences of \u0026sg[0] where sg is an array\nof length one to simply sg.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\n"
    },
    {
      "commit": "378f058cc49bcda7fa63d3cd86d2f9a0a5188b1c",
      "tree": "ed99548aa459054c7b046f0ac96af2cc50683e6e",
      "parents": [
        "d32311fed70d12f14e585feb4653571b1e2b0e6d"
      ],
      "author": {
        "name": "David Hardeman",
        "email": "david@2gen.com",
        "time": "Sat Sep 17 17:55:31 2005 +1000"
      },
      "committer": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Sun Oct 30 11:19:43 2005 +1100"
      },
      "message": "[PATCH] Use sg_set_buf/sg_init_one where applicable\n\nThis patch uses sg_set_buf/sg_init_one in some places where it was\nduplicated.\n\nSigned-off-by: David Hardeman \u003cdavid@2gen.com\u003e\nCc: James Bottomley \u003cJames.Bottomley@steeleye.com\u003e\nCc: Greg KH \u003cgreg@kroah.com\u003e\nCc: \"David S. Miller\" \u003cdavem@davemloft.net\u003e\nCc: Jeff Garzik \u003cjgarzik@pobox.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\n"
    },
    {
      "commit": "6070fe6f82c67021367092855c0812a98becf0fa",
      "tree": "e3269c7d155bbed9dc701ca00bfb253ed2f7c2c0",
      "parents": [
        "bec273b491bd16351a9cdb8e9a51d30afa7fe9f4"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Oct 27 22:12:46 2005 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Oct 27 22:12:46 2005 -0400"
      },
      "message": "RPC: Ensure that nobody can queue up new upcalls after rpc_close_pipes()\n\n Signed-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "4c2cb58c552a34744979a99ccf01762d5eb7e288",
      "tree": "fd35360eb0cb08b07f3a5f4bdf1ebd90a769311d",
      "parents": [
        "34123da66e613602de5a886b05c875b6a91b8ed2",
        "72ab373a5688a78cbdaf3bf96012e597d5399bb7"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Oct 27 19:12:49 2005 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Oct 27 19:12:49 2005 -0400"
      },
      "message": "Merge /home/trondmy/scm/kernel/git/torvalds/linux-2.6\n"
    },
    {
      "commit": "6fa05b17367f04ada501e89d3b9cb56adec0d930",
      "tree": "46493ddc5ab130108e2f0b9d5fd81dae367a4cb0",
      "parents": [
        "ab27642b59b68d18df5a9aa5fa81b5ab5735aa77"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Oct 27 19:08:18 2005 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Oct 27 19:08:18 2005 -0400"
      },
      "message": "Revert \"RPC: stops the release_pipe() funtion from being called twice\"\n\nThis reverts 747c5534c9a6da4aa87e7cdc2209ea98ea27f381 commit.\n"
    },
    {
      "commit": "4bcde03d41d2264edb4ea3c47cb27da1e2609e48",
      "tree": "ff90c767618e5798b1a4187a063cc45f0357b2b8",
      "parents": [
        "94c1d3184523efa7109472eb393cee6e954c5d75"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@osdl.org",
        "time": "Wed Oct 26 01:59:03 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Oct 26 10:39:43 2005 -0700"
      },
      "message": "[PATCH] svcsock timestamp fix\n\nConvert nanoseconds to microseconds correctly.\n\nSpotted by Steve Dickson \u003cSteveD@redhat.com\u003e\n\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "a0857d03b21fa54653c9d2fe7a315381176015b4",
      "tree": "ac7fcc4415795b9d4530de300ef555cd624727d8",
      "parents": [
        "00fd6e14255fe7a249315746386d640bc4e9e758"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@fieldses.org",
        "time": "Thu Oct 13 16:55:23 2005 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Oct 18 23:19:47 2005 -0700"
      },
      "message": "RPCSEC_GSS: krb5 cleanup\n\n Remove some senseless wrappers.\n\n Signed-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n Signed-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "00fd6e14255fe7a249315746386d640bc4e9e758",
      "tree": "36d8fad57404c5ea96cdb6e5579f4241e2cd8188",
      "parents": [
        "14ae162c24d985593d5b19437d7f3d8fd0062b59"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@fieldses.org",
        "time": "Thu Oct 13 16:55:18 2005 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Oct 18 23:19:47 2005 -0700"
      },
      "message": "RPCSEC_GSS remove all qop parameters\n\n Not only are the qop parameters that are passed around throughout the gssapi\n unused by any currently implemented mechanism, but there appears to be some\n doubt as to whether they will ever be used.  Let\u0027s just kill them off for now.\n\n Signed-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n Signed-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "14ae162c24d985593d5b19437d7f3d8fd0062b59",
      "tree": "750fbc08e6a6e0cb00bfad7c871144a757ac43de",
      "parents": [
        "bfa91516b57483fc9c81d8d90325fd2c3c16ac48"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@fieldses.org",
        "time": "Thu Oct 13 16:55:13 2005 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Oct 18 23:19:46 2005 -0700"
      },
      "message": "RPCSEC_GSS: Add support for privacy to krb5 rpcsec_gss mechanism.\n\n Add support for privacy to the krb5 rpcsec_gss mechanism.\n\n Signed-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n Signed-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "bfa91516b57483fc9c81d8d90325fd2c3c16ac48",
      "tree": "ed5c63ec1aa88152b0991370f4a1dbcfff0cd15a",
      "parents": [
        "f7b3af64c653c73feb060a9f94f2df9ab4bba4c3"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@fieldses.org",
        "time": "Thu Oct 13 16:55:08 2005 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Oct 18 23:19:45 2005 -0700"
      },
      "message": "RPCSEC_GSS: krb5 pre-privacy cleanup\n\n The code this was originally derived from processed wrap and mic tokens using\n the same functions.  This required some contortions, and more would be required\n with the addition of xdr_buf\u0027s, so it\u0027s better to separate out the two code\n paths.\n\n In preparation for adding privacy support, remove the last vestiges of the\n old wrap token code.\n\n Signed-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n Signed-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "f7b3af64c653c73feb060a9f94f2df9ab4bba4c3",
      "tree": "fee45429f16e5b548356f50dc64eb4e71bca1a9d",
      "parents": [
        "2d2da60c63b67174add32f06e8d54c3a0c5cd9cf"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@fieldses.org",
        "time": "Thu Oct 13 16:55:03 2005 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Oct 18 23:19:45 2005 -0700"
      },
      "message": "RPCSEC_GSS: Simplify rpcsec_gss crypto code\n\n Factor out some code that will be shared by privacy crypto routines\n\n Signed-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n Signed-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "2d2da60c63b67174add32f06e8d54c3a0c5cd9cf",
      "tree": "4b9df421a02217e1cd23b601b6c05c592d0bdf02",
      "parents": [
        "24b2605becc10ca63c4c30808fa59a8abbf68727"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@fieldses.org",
        "time": "Thu Oct 13 16:54:58 2005 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Oct 18 23:19:44 2005 -0700"
      },
      "message": "RPCSEC_GSS: client-side privacy support\n\n Add the code to the client side to handle privacy.  This is dead code until\n we actually add privacy support to krb5.\n\n Signed-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n Signed-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "24b2605becc10ca63c4c30808fa59a8abbf68727",
      "tree": "64634bf6a5427f9a7253c9cb5b4d55550ef8b18d",
      "parents": [
        "f3680312a737355ddf35c1b68af25e384d7ef0a8"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@fieldses.org",
        "time": "Thu Oct 13 16:54:53 2005 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Oct 18 23:19:44 2005 -0700"
      },
      "message": "RPCSEC_GSS: cleanup au_rslack calculation\n\n Various xdr encode routines use au_rslack to guess where the reply argument\n will end up, so we can set up the xdr_buf to recieve data into the right place\n for zero copy.\n\n Currently we calculate the au_rslack estimate when we check the verifier.\n Normally this only depends on the verifier size.  In the integrity case we add\n a few bytes to allow for a length and sequence number.\n\n It\u0027s a bit simpler to calculate only the verifier size when we check the\n verifier, and delay the full calculation till we unwrap.\n\n Signed-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n Signed-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "f3680312a737355ddf35c1b68af25e384d7ef0a8",
      "tree": "6b447f0a58bf1c1acfa8b1731ef06580d275b983",
      "parents": [
        "ead5e1c26fdcd969cf40c49cb0589d56879d240d"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@fieldses.org",
        "time": "Thu Oct 13 16:54:48 2005 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Oct 18 23:19:43 2005 -0700"
      },
      "message": "SUNRPC: Retry wrap in case of memory allocation failure.\n\n For privacy we need to allocate extra pages to hold encrypted page data when\n wrapping requests.  This allocation may fail, and we handle that case by\n waiting and retrying.\n\n Signed-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n Signed-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "ead5e1c26fdcd969cf40c49cb0589d56879d240d",
      "tree": "af0e04aed32eac60b35c987b933dbc132f0e780b",
      "parents": [
        "293f1eb551a77fe5c8956a559a3c0baea95cd9bc"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@fieldses.org",
        "time": "Thu Oct 13 16:54:43 2005 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Oct 18 23:19:43 2005 -0700"
      },
      "message": "SUNRPC: Provide a callback to allow free pages allocated during xdr encoding\n\n For privacy, we need to allocate pages to store the encrypted data (passed\n in pages can\u0027t be used without the risk of corrupting data in the page cache).\n So we need a way to free that memory after the request has been transmitted.\n\n Signed-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n Signed-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "293f1eb551a77fe5c8956a559a3c0baea95cd9bc",
      "tree": "03c770935eb42f6deccb275be0326d2f4b17c80c",
      "parents": [
        "1d95db8e1688ed54e143a597c5570631a42fa594"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@fieldses.org",
        "time": "Thu Oct 13 16:54:37 2005 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Oct 18 23:19:42 2005 -0700"
      },
      "message": "SUNRPC: Add support for privacy to generic gss-api code.\n\n Add support for privacy to generic gss-api code.  This is dead code until we\n have both a mechanism that supports privacy and code in the client or server\n that uses it.\n\n Signed-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n Signed-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "747c5534c9a6da4aa87e7cdc2209ea98ea27f381",
      "tree": "26b2343b7c941a4fa148f85df844557153971cd9",
      "parents": [
        "7f709a48fa798cfa0f2f777c8752e12995054f78"
      ],
      "author": {
        "name": "Steve Dickson",
        "email": "steved@redhat.com",
        "time": "Tue Oct 18 23:19:40 2005 -0700"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Oct 18 23:19:40 2005 -0700"
      },
      "message": "RPC: stops the release_pipe() funtion from being called twice\n\n This patch stops the release_pipe() funtion from being called\n twice by invalidating the ops pointer in the rpc_inode\n when rpc_pipe_release() is called.\n\n Signed-off-by: Steve Dickson \u003csteved@redhat.com\u003e\n Signed-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "5e5ce5be6f0161d2a069a4f8a1154fe639c5c02f",
      "tree": "fc6e0397c8e17dad5f3f038fb1b3526a114b5244",
      "parents": [
        "ea635a517e350eb03ab5f01618417f31b82a9a4d"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Oct 18 14:20:11 2005 -0700"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Oct 18 14:20:11 2005 -0700"
      },
      "message": "RPC: allow call_encode() to delay transmission of an RPC call.\n\n Currently, call_encode will cause the entire RPC call to abort if it returns\n an error. This is unnecessarily rigid, and gets in the way of attempts\n to allow the NFSv4 layer to order RPC calls that carry sequence ids.\n\n Signed-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "ea635a517e350eb03ab5f01618417f31b82a9a4d",
      "tree": "f2c506b1dec60259ab9d6cfd0b092433cf91774f",
      "parents": [
        "cff6bf970965c98c62007fc8a36527fd147fe233"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "cel@netapp.com",
        "time": "Thu Oct 06 23:12:58 2005 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Oct 18 14:20:10 2005 -0700"
      },
      "message": "SUNRPC: Retry rpcbind requests if the server\u0027s portmapper isn\u0027t up\n\n After a server crash/reboot, rebinding should always retry, otherwise\n requests on \"hard\" mounts will fail when they shouldn\u0027t.\n\n Test plan:\n Run a lock-intensive workload against a server while rebooting the server\n repeatedly.\n\n Signed-off-by: Chuck Lever \u003ccel@netapp.com\u003e\n Signed-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "cff6bf970965c98c62007fc8a36527fd147fe233",
      "tree": "2791f2208b54ade86625af416ff5342f11282f0c",
      "parents": [
        "6cd7525a00f3b926e8bd2e402954ed3e09a8e924",
        "39ca371c45b04cd50d0974030ae051906fc516b6"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Oct 18 13:50:52 2005 -0700"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Oct 18 13:50:52 2005 -0700"
      },
      "message": "Merge /home/trondmy/scm/kernel/git/torvalds/linux-2.6\n"
    },
    {
      "commit": "dd0fc66fb33cd610bc1a5db8a5e232d34879b4d7",
      "tree": "51f96a9db96293b352e358f66032e1f4ff79fafb",
      "parents": [
        "3b0e77bd144203a507eb191f7117d2c5004ea1de"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@ftp.linux.org.uk",
        "time": "Fri Oct 07 07:46:04 2005 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sat Oct 08 15:00:57 2005 -0700"
      },
      "message": "[PATCH] gfp flags annotations - part 1\n\n - added typedef unsigned int __nocast gfp_t;\n\n - replaced __nocast uses for gfp flags with gfp_t - it gives exactly\n   the same warnings as far as sparse is concerned, doesn\u0027t change\n   generated code (from gcc point of view we replaced unsigned int with\n   typedef) and documents what\u0027s going on far better.\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "dd13a285b79ba77416b96ee10f49097f4aaf48c5",
      "tree": "f89e687d379eda39b18bf6e829736c405b05a747",
      "parents": [
        "00fa02334540ec795934737cd6e6ef8db2560731"
      ],
      "author": {
        "name": "Randy Dunlap",
        "email": "rdunlap@xenotime.net",
        "time": "Tue Oct 04 22:44:45 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Oct 04 22:44:45 2005 -0700"
      },
      "message": "[RPC]: fix sparse gfp nocast warnings\n\nFix nocast sparse warnings:\nnet/rxrpc/call.c:2013:25: warning: implicit cast to nocast type\nnet/rxrpc/connection.c:538:46: warning: implicit cast to nocast type\nnet/sunrpc/sched.c:730:36: warning: implicit cast to nocast type\nnet/sunrpc/sched.c:734:56: warning: implicit cast to nocast type\n\nSigned-off-by: Randy Dunlap \u003crdunlap@xenotime.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "6cd7525a00f3b926e8bd2e402954ed3e09a8e924",
      "tree": "ef62460b3ea5bd9bd81cb243c20a7a64ed41b8e5",
      "parents": [
        "f134585a7343d71f9be7f0cf97e2145f21dd10c6"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "cel@citi.umich.edu",
        "time": "Thu Sep 22 21:24:59 2005 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Sep 23 13:54:10 2005 -0400"
      },
      "message": "SUNRPC: fix bug in patch \"portmapper doesn\u0027t need a reserved port\"\n\n The in-kernel portmapper does in fact need a reserved port when registering\n new services, but not when performing bind queries.\n\n Ensure that we distinguish between the two cases.\n\n Signed-off-by: Chuck Lever \u003ccel@netapp.com\u003e\n Signed-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "f134585a7343d71f9be7f0cf97e2145f21dd10c6",
      "tree": "f1eae77a5063e3748cd8deba9a13794ae0a9439c",
      "parents": [
        "3063d8a16643190f9e12e9c7e9f1ca56f7e7934e"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Sep 23 11:08:25 2005 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Sep 23 12:39:00 2005 -0400"
      },
      "message": "Revert \"[PATCH] RPC,NFS: new rpc_pipefs patch\"\n\nThis reverts 17f4e6febca160a9f9dd4bdece9784577a2f4524 commit.\n"
    },
    {
      "commit": "278c995c8a153bb2a9bc427e931cfb9c8034c9d7",
      "tree": "fe1b62d1686c78659133d751393ab2d5acf38665",
      "parents": [
        "470056c288334eb0b37be26c9ff8aee37ed1cc7a"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Sun Jul 24 23:53:01 2005 +0100"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Sep 23 12:38:57 2005 -0400"
      },
      "message": "[PATCH] RPC,NFS: new rpc_pipefs patch\n\n Currently rpc_mkdir/rpc_rmdir and rpc_mkpipe/mk_unlink have an API that\u0027s\n a little unfortunate.  They take a path relative to the rpc_pipefs root and\n thus need to perform a full lookup.  If you look at debugfs or usbfs they\n always store the dentry for directories they created and thus can pass in\n a dentry + single pathname component pair into their equivalents of the\n above functions.\n\n And in fact rpc_pipefs actually stores a dentry for all but one component so\n this change not only simplifies the core rpc_pipe code but also the callers.\n\n Unfortuntately this code path is only used by the NFS4 idmapper and\n AUTH_GSSAPI for which I don\u0027t have a test enviroment.  Could someone give\n it a spin?  It\u0027s the last bit needed before we can rework the\n lookup_hash API\n\n Signed-off-by: Christoph Hellwig \u003chch@lst.de\u003e\n Signed-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "470056c288334eb0b37be26c9ff8aee37ed1cc7a",
      "tree": "8c76a17c31c5dadbd4438a11d64364cdbe164c40",
      "parents": [
        "03bf4b707eee06706c9db343dd5c905b7ee47ed2"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "cel@netapp.com",
        "time": "Thu Aug 25 16:25:56 2005 -0700"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Sep 23 12:38:55 2005 -0400"
      },
      "message": "[PATCH] RPC: rationalize set_buffer_size\n\n In fact, -\u003eset_buffer_size should be completely functionless for non-UDP.\n\n Test-plan:\n Check socket buffer size on UDP sockets over time.\n\n Signed-off-by: Chuck Lever \u003ccel@netapp.com\u003e\n Signed-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "03bf4b707eee06706c9db343dd5c905b7ee47ed2",
      "tree": "54f89b578758e2bf2650b647ae1c7100c882a757",
      "parents": [
        "3167e12c0c424f3c323944701615343022d86418"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "cel@netapp.com",
        "time": "Thu Aug 25 16:25:55 2005 -0700"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Sep 23 12:38:53 2005 -0400"
      },
      "message": "[PATCH] RPC: parametrize various transport connect timeouts\n\n Each transport implementation can now set unique bind, connect,\n reestablishment, and idle timeout values.  These are variables,\n allowing the values to be modified dynamically.  This permits\n exponential backoff of any of these values, for instance.\n\n As an example, we implement exponential backoff for the connection\n reestablishment timeout.\n\n Test-plan:\n Destructive testing (unplugging the network temporarily).  Connectathon\n with UDP and TCP.\n\n Signed-off-by: Chuck Lever \u003ccel@netapp.com\u003e\n Signed-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "3167e12c0c424f3c323944701615343022d86418",
      "tree": "952961988fe19c19fc63f9cffb5edb4566f3527f",
      "parents": [
        "529b33c6db0120126b1381faa51406dc463acdc9"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "cel@netapp.com",
        "time": "Thu Aug 25 16:25:55 2005 -0700"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Sep 23 12:38:52 2005 -0400"
      },
      "message": "[PATCH] RPC: make sure to get the same local port number when reconnecting\n\n Implement a best practice: if the remote end drops our connection, try to\n reconnect using the same port number.  This is important because the NFS\n server\u0027s Duplicate Reply Cache often hashes on the source port number.\n If the client reuses the port number when it reconnects, the server\u0027s DRC\n will be more effective.\n\n Based on suggestions by Mike Eisler, Olaf Kirch, and Alexey Kuznetsky.\n\n Test-plan:\n Destructive testing.\n\n Signed-off-by: Chuck Lever \u003ccel@netapp.com\u003e\n Signed-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "529b33c6db0120126b1381faa51406dc463acdc9",
      "tree": "4856a23687aa891f6a5d1c45db80190b90b0fc68",
      "parents": [
        "555ee3af161b037865793bd4bebc06b58daafde6"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "cel@netapp.com",
        "time": "Thu Aug 25 16:25:54 2005 -0700"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Sep 23 12:38:50 2005 -0400"
      },
      "message": "[PATCH] RPC: allow RPC client\u0027s port range to be adjustable\n\n Select an RPC client source port between 650 and 1023 instead of between\n 1 and 800.  The old range conflicts with a number of network services.\n Provide sysctls to allow admins to select a different port range.\n\n Note that this doesn\u0027t affect user-level RPC library behavior, which\n still uses 1 to 800.\n\n Based on a suggestion by Olaf Kirch \u003cokir@suse.de\u003e.\n\n Test-plan:\n Repeated mount and unmount.  Destructive testing.  Idle timeouts.\n\n Signed-off-by: Chuck Lever \u003ccel@netapp.com\u003e\n Signed-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "555ee3af161b037865793bd4bebc06b58daafde6",
      "tree": "4c72474dabffab62234db158e5b6c86ace4f9d09",
      "parents": [
        "ed63c003701a314c4893c11eceb9d68f8f46c662"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "cel@netapp.com",
        "time": "Thu Aug 25 16:25:54 2005 -0700"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Sep 23 12:38:48 2005 -0400"
      },
      "message": "[PATCH] RPC: clean up after nocong was removed\n\n Clean-up:  Move some macros that are specific to the Van Jacobson\n implementation into xprt.c.  Get rid of the cong_wait field in\n rpc_xprt, which is no longer used.  Get rid of xprt_clear_backlog.\n\n Test-plan:\n Compile with CONFIG_NFS enabled.\n\n Signed-off-by: Chuck Lever \u003ccel@netapp.com\u003e\n Signed-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "ed63c003701a314c4893c11eceb9d68f8f46c662",
      "tree": "c0567884d9cce53960061fece0ae9c2eabd0af77",
      "parents": [
        "a58dd398f5db4f73d5c581069fd70a4304cc4f0a"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "cel@netapp.com",
        "time": "Thu Aug 25 16:25:53 2005 -0700"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Sep 23 12:38:47 2005 -0400"
      },
      "message": "[PATCH] RPC: remove xprt-\u003enocong\n\n Get rid of the \"xprt-\u003enocong\" variable.\n\n Test-plan:\n Use WAN simulation to cause sporadic bursty packet loss with UDP mounts.\n Look for significant regression in performance or client stability.\n\n Signed-off-by: Chuck Lever \u003ccel@netapp.com\u003e\n Signed-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "a58dd398f5db4f73d5c581069fd70a4304cc4f0a",
      "tree": "09e290d351c043392e7a2f8e0bc77aba90ff88ad",
      "parents": [
        "1570c1e41eabf6b7031f3e4322a2cf1cbe319fee"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "cel@netapp.com",
        "time": "Thu Aug 25 16:25:53 2005 -0700"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Sep 23 12:38:45 2005 -0400"
      },
      "message": "[PATCH] RPC: add a release_rqst callout to the RPC transport switch\n\n The final place where congestion control state is adjusted is in\n xprt_release, where each request is finally released.  Add a callout\n there to allow transports to perform additional processing when a\n request is about to be released.\n\n Test-plan:\n Use WAN simulation to cause sporadic bursty packet loss.  Look for significant\n regression in performance or client stability.\n\n Signed-off-by: Chuck Lever \u003ccel@netapp.com\u003e\n Signed-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "1570c1e41eabf6b7031f3e4322a2cf1cbe319fee",
      "tree": "eee53757ac3e03d55b6c01bb0500996ba520a8bb",
      "parents": [
        "46c0ee8bc4ad3743de05e8b8b20201df44dcb6d3"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "cel@netapp.com",
        "time": "Thu Aug 25 16:25:52 2005 -0700"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Sep 23 12:38:43 2005 -0400"
      },
      "message": "[PATCH] RPC: add generic interface for adjusting the congestion window\n\n A new interface that allows transports to adjust their congestion window\n using the Van Jacobson implementation in xprt.c is provided.\n\n Test-plan:\n Use WAN simulation to cause sporadic bursty packet loss.  Look for\n significant regression in performance or client stability.\n\n Signed-off-by: Chuck Lever \u003ccel@netapp.com\u003e\n Signed-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "46c0ee8bc4ad3743de05e8b8b20201df44dcb6d3",
      "tree": "6b2993ff1cefb69cc3cc40c3605d088ea2af3c98",
      "parents": [
        "49e9a89086b3cae784a4868ca852863e4f4ea3fe"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "cel@netapp.com",
        "time": "Thu Aug 25 16:25:52 2005 -0700"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Sep 23 12:38:41 2005 -0400"
      },
      "message": "[PATCH] RPC: separate xprt_timer implementations\n\n Allow transports to hook the retransmit timer interrupt.  Some transports\n calculate their congestion window here so that a retransmit timeout has\n immediate effect on the congestion window.\n\n Test-plan:\n Use WAN simulation to cause sporadic bursty packet loss.  Look for significant\n regression in performance or client stability.\n\n Signed-off-by: Chuck Lever \u003ccel@netapp.com\u003e\n Signed-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "49e9a89086b3cae784a4868ca852863e4f4ea3fe",
      "tree": "5ba197fc1767fee5590b892b2f19aeb3583494c4",
      "parents": [
        "12a804698b29d040b7cdd92e8a44b0e75164dae9"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "cel@netapp.com",
        "time": "Thu Aug 25 16:25:51 2005 -0700"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Sep 23 12:38:40 2005 -0400"
      },
      "message": "[PATCH] RPC: expose API for serializing access to RPC transports\n\n The next method we abstract is the one that releases a transport,\n allowing another task to have access to the transport.\n\n Again, one generic version of this is provided for transports that\n don\u0027t need the RPC client to perform congestion control, and one\n version is for transports that can use the original Van Jacobson\n implementation in xprt.c.\n\n Test-plan:\n Use WAN simulation to cause sporadic bursty packet loss.  Look for\n significant regression in performance or client stability.\n\n Signed-off-by: Chuck Lever \u003ccel@netapp.com\u003e\n Signed-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "12a804698b29d040b7cdd92e8a44b0e75164dae9",
      "tree": "9885cf95a0a2945ad8cd00de59633a0aa16a3599",
      "parents": [
        "fe3aca290f17ae4978bd73d02aa4029f1c9c024c"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "cel@netapp.com",
        "time": "Thu Aug 25 16:25:51 2005 -0700"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Sep 23 12:38:38 2005 -0400"
      },
      "message": "[PATCH] RPC: expose API for serializing access to RPC transports\n\n The next several patches introduce an API that allows transports to\n choose whether the RPC client provides congestion control or whether\n the transport itself provides it.\n\n The first method we abstract is the one that serializes access to the\n RPC transport to prevent the bytes from different requests from mingling\n together.  This method provides proper request serialization and the\n opportunity to prevent new requests from being started because the\n transport is congested.\n\n The normal situation is for the transport to handle congestion control\n itself.  Although NFS over UDP was first, it has been recognized after\n years of experience that having the transport provide congestion control\n is much better than doing it in the RPC client.  Thus TCP, and probably\n every future transport implementation, will use the default method,\n xprt_lock_write, provided in xprt.c, which does not provide any kind\n of congestion control.  UDP can continue using the xprt.c-provided\n Van Jacobson congestion avoidance implementation.\n\n Test-plan:\n Use WAN simulation to cause sporadic bursty packet loss.  Look for significant\n regression in performance or client stability.\n\n Signed-off-by: Chuck Lever \u003ccel@netapp.com\u003e\n Signed-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "fe3aca290f17ae4978bd73d02aa4029f1c9c024c",
      "tree": "4fbaa255e9e7a85f41eacb7cf1214dc44a90bcea",
      "parents": [
        "43118c29dea2b23798bd42a147015cceee7fa885"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "cel@netapp.com",
        "time": "Thu Aug 25 16:25:50 2005 -0700"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Sep 23 12:38:36 2005 -0400"
      },
      "message": "[PATCH] RPC: add API to set transport-specific timeouts\n\n Prepare the way to remove the \"xprt-\u003enocong\" variable by adding a callout\n to the RPC client transport switch API to handle setting RPC retransmit\n timeouts.\n\n Add a pair of generic helper functions that provide the ability to set a\n simple fixed timeout, or to set a timeout based on the state of a round-\n trip estimator.\n\n Test-plan:\n Use WAN simulation to cause sporadic bursty packet loss.  Look for significant\n regression in performance or client stability.\n\n Signed-off-by: Chuck Lever \u003ccel@netapp.com\u003e\n Signed-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "43118c29dea2b23798bd42a147015cceee7fa885",
      "tree": "4951a6777a3dc167d46c1373c02d21912b250e96",
      "parents": [
        "808012fbb23a52ec59352445d2076d175ad4ab26"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "cel@netapp.com",
        "time": "Thu Aug 25 16:25:49 2005 -0700"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Sep 23 12:38:35 2005 -0400"
      },
      "message": "[PATCH] RPC: get rid of xprt-\u003estream\n\n Now we can fix up the last few places that use the \"xprt-\u003estream\"\n variable, and get rid of it from the rpc_xprt structure.\n\n Test-plan:\n Destructive testing (unplugging the network temporarily).  Connectathon\n with UDP and TCP.\n\n Signed-off-by: Chuck Lever \u003ccel@netapp.com\u003e\n Signed-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "808012fbb23a52ec59352445d2076d175ad4ab26",
      "tree": "7175edb3917bc35f7f5484f567e91d7303a17663",
      "parents": [
        "262965f53defd312a294b45366ea17907b6a616b"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "cel@netapp.com",
        "time": "Thu Aug 25 16:25:49 2005 -0700"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Sep 23 12:38:33 2005 -0400"
      },
      "message": "[PATCH] RPC: skip over transport-specific heads automatically\n\n Add a generic mechanism for skipping over transport-specific headers\n when constructing an RPC request.  This removes another \"xprt-\u003estream\"\n dependency.\n\n Test-plan:\n Write-intensive workload on a single mount point (try both UDP and\n TCP).\n\n Signed-off-by: Chuck Lever \u003ccel@netapp.com\u003e\n Signed-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "262965f53defd312a294b45366ea17907b6a616b",
      "tree": "a5e0f194c02f230ff12d9d5b0933bad9eb8810ea",
      "parents": [
        "b0d93ad511ce2f37823a07c7a3258117a431f5fb"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "cel@citi.umich.edu",
        "time": "Thu Aug 11 16:25:56 2005 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Sep 23 12:38:31 2005 -0400"
      },
      "message": "[PATCH] RPC: separate TCP and UDP socket write paths\n\n Split the RPC client\u0027s main socket write path into a TCP version and a UDP\n version to eliminate another dependency on the \"xprt-\u003estream\" variable.\n\n Compiler optimization removes unneeded code from xs_sendpages, as this\n function is now called with some constant arguments.\n\n We can now cleanly perform transport protocol-specific return code testing\n and error recovery in each path.\n\n Test-plan:\n Millions of fsx operations.  Performance characterization such as\n \"sio\" or \"iozone\".  Examine oprofile results for any changes before and\n after this patch is applied.\n\n Version: Thu, 11 Aug 2005 16:08:46 -0400\n\n Signed-off-by: Chuck Lever \u003ccel@netapp.com\u003e\n Signed-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "b0d93ad511ce2f37823a07c7a3258117a431f5fb",
      "tree": "a9fc753bf821d1d71c345f58e056511dfd0cf5ac",
      "parents": [
        "c7b2cae8a634015b72941ba2fc6c4bc9b8d3a129"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "cel@citi.umich.edu",
        "time": "Thu Aug 11 16:25:53 2005 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Sep 23 12:38:29 2005 -0400"
      },
      "message": "[PATCH] RPC: separate TCP and UDP transport connection logic\n\n Create separate connection worker functions for managing UDP and TCP\n transport sockets.  This eliminates several dependencies on \"xprt-\u003estream\".\n\n Test-plan:\n Destructive testing (unplugging the network temporarily).  Connectathon with\n v2, v3, and v4.\n\n Version: Thu, 11 Aug 2005 16:08:18 -0400\n\n Signed-off-by: Chuck Lever \u003ccel@netapp.com\u003e\n Signed-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "c7b2cae8a634015b72941ba2fc6c4bc9b8d3a129",
      "tree": "95f561877d67eed80a823daa6ef0c00ad1c060eb",
      "parents": [
        "55aa4f58aa43dc9a51fb80010630d94b96053a2e"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "cel@citi.umich.edu",
        "time": "Thu Aug 11 16:25:50 2005 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Sep 23 12:38:28 2005 -0400"
      },
      "message": "[PATCH] RPC: separate TCP and UDP write space callbacks\n\n Split the socket write space callback function into a TCP version and UDP\n version, eliminating one dependence on the \"xprt-\u003estream\" variable.\n\n Keep the common pieces of this path in xprt.c so other transports can use\n it too.\n\n Test-plan:\n Write-intensive workload on a single mount point.\n\n Version: Thu, 11 Aug 2005 16:07:51 -0400\n\n Signed-off-by: Chuck Lever \u003ccel@netapp.com\u003e\n Signed-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "55aa4f58aa43dc9a51fb80010630d94b96053a2e",
      "tree": "7b3d79bdc15c76c25d8a53437b9e4173ebc68f24",
      "parents": [
        "44fbac2288dfed6f1963ac00bf922c3bcd779cd1"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "cel@citi.umich.edu",
        "time": "Thu Aug 11 16:25:47 2005 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Sep 23 12:38:26 2005 -0400"
      },
      "message": "[PATCH] RPC: client-side transport switch cleanup\n\n Clean-up: change some comments to reflect the realities of the new RPC\n transport switch mechanism.  Get rid of unused xprt_receive() prototype.\n\n Also, organize function prototypes in xprt.h by usage and scope.\n\n Test-plan:\n Compile kernel with CONFIG_NFS enabled.\n\n Version: Thu, 11 Aug 2005 16:07:21 -0400\n\n Signed-off-by: Chuck Lever \u003ccel@netapp.com\u003e\n Signed-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "44fbac2288dfed6f1963ac00bf922c3bcd779cd1",
      "tree": "f256182f85b4fdf9185903d6f0531f877e311c8e",
      "parents": [
        "86b9f57dfdf455763d2be73a742a9a88bb664173"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "cel@citi.umich.edu",
        "time": "Thu Aug 11 16:25:44 2005 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Sep 23 12:38:24 2005 -0400"
      },
      "message": "[PATCH] RPC: Add helper for waking tasks pending on a transport\n\n Clean-up: remove only reference to xprt-\u003epending from the socket transport\n implementation.  This makes a cleaner interface for other transport\n implementations as well.\n\n Test-plan:\n Compile kernel with CONFIG_NFS enabled.\n\n Version: Thu, 11 Aug 2005 16:06:52 -0400\n\n Signed-off-by: Chuck Lever \u003ccel@netapp.com\u003e\n Signed-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    }
  ],
  "next": "86b9f57dfdf455763d2be73a742a9a88bb664173"
}
