)]}'
{
  "log": [
    {
      "commit": "a84216e671c724e0920dfad2fb70828d428ff60a",
      "tree": "a39f53715c73d267d854653dfe275da5fc60e842",
      "parents": [
        "1836d95928a0f41ada0cbb2a6c4e46b027db9491",
        "bcfe3c2046fc4f16544f2b127f1b159dd1fcad8b"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Nov 03 07:44:01 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Nov 03 07:44:01 2009 -0800"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6: (21 commits)\n  mac80211: check interface is down before type change\n  cfg80211: fix NULL ptr deref\n  libertas if_usb: Fix crash on 64-bit machines\n  mac80211: fix reason code output endianness\n  mac80211: fix addba timer\n  ath9k: fix misplaced semicolon on rate control\n  b43: Fix DMA TX bounce buffer copying\n  mac80211: fix BSS leak\n  rt73usb.c : more ids\n  ipw2200: fix oops on missing firmware\n  gre: Fix dev_addr clobbering for gretap\n  sky2: set carrier off in probe\n  net: fix sk_forward_alloc corruption\n  pcnet_cs: add cis of PreMax PE-200 ethernet pcmcia card\n  r8169: Fix card drop incoming VLAN tagged MTU byte large jumbo frames\n  ibmtr: possible Read buffer overflow?\n  net: Fix RPF to work with policy routing\n  net: fix kmemcheck annotations\n  e1000e: rework disable K1 at 1000Mbps for 82577/82578\n  e1000e: config PHY via software after resets\n  ...\n"
    },
    {
      "commit": "9d410c796067686b1e032d54ce475b7055537138",
      "tree": "4442bdbe4a4be1cce024f2e83a12b7404ef935fa",
      "parents": [
        "63ca2d74ea4f9c7a7ac082c915609a7b224908e7"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Fri Oct 30 05:03:53 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Oct 30 12:25:12 2009 -0700"
      },
      "message": "net: fix sk_forward_alloc corruption\n\nOn UDP sockets, we must call skb_free_datagram() with socket locked,\nor risk sk_forward_alloc corruption. This requirement is not respected\nin SUNRPC.\n\nAdd a convenient helper, skb_free_datagram_locked() and use it in SUNRPC\n\nReported-by: Francis Moreau \u003cfrancis.moro@gmail.com\u003e\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "d43c36dc6b357fa1806800f18aa30123c747a6d1",
      "tree": "339ce510073ecbe9b3592008f7dece7b277035ef",
      "parents": [
        "69585dd69e663a40729492c7b52eb82477a2027a"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Wed Oct 07 17:09:06 2009 +0400"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Oct 11 11:20:58 2009 -0700"
      },
      "message": "headers: remove sched.h from interrupt.h\n\nAfter m68k\u0027s task_thread_info() doesn\u0027t refer to current,\nit\u0027s possible to remove sched.h from interrupt.h and not break m68k!\nMany thanks to Heiko Carstens for allowing this.\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\n"
    },
    {
      "commit": "0c01695dabe508ecf3a619c36f0918e8d24c0d05",
      "tree": "2e0696cc842dc1ffbb1f0863a92381d6f72d70f8",
      "parents": [
        "18a1166de994685d770425086b2bcc1ba567f7ed"
      ],
      "author": {
        "name": "Jaswinder Singh Rajput",
        "email": "jaswinder@kernel.org",
        "time": "Thu Sep 24 02:19:41 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Sep 24 15:39:14 2009 -0700"
      },
      "message": "net: fix htmldocs sunrpc, clnt.c\n\nDOCPROC Documentation/DocBook/networking.xml\n  Warning(net/sunrpc/clnt.c:647): No description found for parameter \u0027req\u0027\n  Warning(net/sunrpc/clnt.c:647): No description found for parameter \u0027tk_ops\u0027\n  Warning(net/sunrpc/clnt.c:647): Excess function parameter \u0027ops\u0027 description in \u0027rpc_run_bc_task\u0027\n\nSigned-off-by: Jaswinder Singh Rajput \u003cjaswinderrajput@gmail.com\u003e\nCc: Ricardo Labiaga \u003cRicardo.Labiaga@netapp.com\u003e\nCc: Benny Halevy \u003cbhalevy@panasas.com\u003e\nCc: Andy Adamson \u003candros@netapp.com\u003e\nCc: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\nCc: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nCc: David Miller \u003cdavem@davemloft.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "7a73fdde3990ea840b604248362876437ea8ce80",
      "tree": "3fb3e3daed9c516bd4896c50f584a0c16d3542ac",
      "parents": [
        "94e0fb086fc5663c38bbc0fe86d698be8314f82f"
      ],
      "author": {
        "name": "Jaswinder Singh Rajput",
        "email": "jaswinder@kernel.org",
        "time": "Thu Sep 24 14:58:42 2009 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Sep 24 14:58:42 2009 -0400"
      },
      "message": "net: fix htmldocs sunrpc, clnt.c\n\n\n  DOCPROC Documentation/DocBook/networking.xml\n  Warning(net/sunrpc/clnt.c:647): No description found for parameter \u0027req\u0027\n  Warning(net/sunrpc/clnt.c:647): No description found for parameter \u0027tk_ops\u0027\n  Warning(net/sunrpc/clnt.c:647): Excess function parameter \u0027ops\u0027 description in \u0027rpc_run_bc_task\u0027\n\nSigned-off-by: Jaswinder Singh Rajput \u003cjaswinderrajput@gmail.com\u003e\nCc: Ricardo Labiaga \u003cRicardo.Labiaga@netapp.com\u003e\nCc: Benny Halevy \u003cbhalevy@panasas.com\u003e\nCc: Andy Adamson \u003candros@netapp.com\u003e\nCc: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\nCc: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nCc: David Miller \u003cdavem@davemloft.net\u003e\nAcked-by: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nAcked-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "8d65af789f3e2cf4cfbdbf71a0f7a61ebcd41d38",
      "tree": "121df3bfffc7853ac6d2c514ad514d4a748a0933",
      "parents": [
        "c0d0787b6d47d9f4d5e8bd321921104e854a9135"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Wed Sep 23 15:57:19 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Sep 24 07:21:04 2009 -0700"
      },
      "message": "sysctl: remove \"struct file *\" argument of -\u003eproc_handler\n\nIt\u0027s unused.\n\nIt isn\u0027t needed -- read or write flag is already passed and sysctl\nshouldn\u0027t care about the rest.\n\nIt _was_ used in two places at arch/frv for some reason.\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nCc: David Howells \u003cdhowells@redhat.com\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nCc: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nCc: Ralf Baechle \u003cralf@linux-mips.org\u003e\nCc: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: \"David S. Miller\" \u003cdavem@davemloft.net\u003e\nCc: James Morris \u003cjmorris@namei.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "2bcd57ab61e7cabed626226a3771617981c11ce1",
      "tree": "687c0c35fb2a632cb8c56b2729f9c3873c9461bd",
      "parents": [
        "95e0d86badc410d525ea7218fd32df7bfbf9c837"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Thu Sep 24 04:22:25 2009 +0400"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Sep 23 18:13:10 2009 -0700"
      },
      "message": "headers: utsname.h redux\n\n* remove asm/atomic.h inclusion from linux/utsname.h --\n   not needed after kref conversion\n * remove linux/utsname.h inclusion from files which do not need it\n\nNOTE: it looks like fs/binfmt_elf.c do not need utsname.h, however\ndue to some personality stuff it _is_ needed -- cowardly leave ELF-related\nheaders and files alone.\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "4111d4fde6aa04a2e42c43d0e74593e6144b0f0f",
      "tree": "e4818a8832493a76427c072ef5c61f20360f92b1",
      "parents": [
        "97363c6a4f93a20380b4a9e11f35e27fed68a517"
      ],
      "author": {
        "name": "Randy Dunlap",
        "email": "randy.dunlap@oracle.com",
        "time": "Wed Sep 23 14:36:38 2009 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Sep 23 14:36:38 2009 -0400"
      },
      "message": "sunrpc/rpc_pipe: fix kernel-doc notation\n\nFix kernel-doc notation (\u0026 warnings) in sunrpc/rpc_pipe.c.\n\nSigned-off-by: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "61d0a8e6a8049cea246ee7ec19b042d4ff1f6ef6",
      "tree": "ee84a7e5260be07af494a70076bb70202ac0428d",
      "parents": [
        "8a6e5deb8a8caa810fef2c525f5dbea2cfe04a47"
      ],
      "author": {
        "name": "Neil Brown",
        "email": "neilb@suse.de",
        "time": "Wed Sep 23 14:36:37 2009 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Sep 23 14:36:37 2009 -0400"
      },
      "message": "NFS/RPC: fix problems with reestablish_timeout and related code.\n\n\n[[resending with correct cc:  - \"vfs.kernel.org\" just isn\u0027t right!]]\n\nxprt-\u003ereestablish_timeout is used to cause TCP connection attempts to\nback off if the connection fails so as not to hammer the network,\nbut to still allow immediate connections when there is no reason to\nbelieve there is a problem.\n\nIt is not used for the first connection (when transport-\u003esock is NULL)\nbut only on reconnects.\n\nIt is currently set:\n\n a/ to 0 when xs_tcp_state_change finds a state of TCP_FIN_WAIT1\n    on the assumption that the client has closed the connection\n    so the reconnect should be immediate when needed.\n b/ to at least XS_TCP_INIT_REEST_TO when xs_tcp_state_change\n    detects TCP_CLOSING or TCP_CLOSE_WAIT on the assumption that the\n    server closed the connection so a small delay at least is\n    required.\n c/ as above when xs_tcp_state_change detects TCP_SYN_SENT, so that\n    it is never 0 while a connection has been attempted, else\n    the doubling will produce 0 and there will be no backoff.\n d/ to double is value (up to a limit) when delaying a connection,\n    thus providing exponential backoff and\n e/ to XS_TCP_INIT_REEST_TO in xs_setup_tcp as simple initialisation.\n\nSo you can see it is highly dependant on xs_tcp_state_change being\ncalled as expected.  However experimental evidence shows that\nxs_tcp_state_change does not see all state changes.\n(\"rpcdebug -m rpc trans\" can help show what actually happens).\n\nResults show:\n TCP_ESTABLISHED is reported when a connection is made.  TCP_SYN_SENT\n is never reported, so rule \u0027c\u0027 above is never effective.\n\n When the server closes the connection, TCP_CLOSE_WAIT and\n TCP_LAST_ACK *might* be reported, and TCP_CLOSE is always\n reported.  This rule \u0027b\u0027 above will sometimes be effective, but\n not reliably.\n\n When the client closes the connection, it used to result in\n TCP_FIN_WAIT1, TCP_FIN_WAIT2, TCP_CLOSE.  However since commit\n f75e674 (SUNRPC: Fix the problem of EADDRNOTAVAIL syslog floods on\n reconnect) we don\u0027t see *any* events on client-close.  I think this\n is because xs_restore_old_callbacks is called to disconnect\n xs_tcp_state_change before the socket is closed.\n In any case, rule \u0027a\u0027 no longer applies.\n\nSo all that is left are rule d, which successfully doubles the\ntimeout which is never rest, and rule e which initialises the timeout.\n\nEven if the rules worked as expected, there would be a problem because\na successful connection does not reset the timeout, so a sequence\nof events where the server closes the connection (e.g. during failover\ntesting) will cause longer and longer timeouts with no good reason.\n\nThis patch:\n\n - sets reestablish_timeout to 0 in xs_close thus effecting rule \u0027a\u0027\n - sets it to 0 in xs_tcp_data_ready to ensure that a successful\n   connection resets the timeout\n - sets it to at least XS_TCP_INIT_REEST_TO after it is doubled,\n   thus effecting rule c\n\nI have not reimplemented rule b and the new version of rule c\nseems sufficient.\n\nI suspect other code in xs_tcp_data_ready needs to be revised as well.\nFor example I don\u0027t think connect_cookie is being incremented as often\nas it should be.\n\nSigned-off-by: NeilBrown \u003cneilb@suse.de\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "a87e84b5cdfacf11af4e8a85c4bca9793658536f",
      "tree": "f8e3cb2d339d8ed0e987d55f725e501730cdc81d",
      "parents": [
        "342ff1a1b558ebbdb8cbd55ab6a63eca8b2473ca",
        "3c394ddaa7ea4205f933fd9b481166b2669368a9"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Sep 22 07:54:33 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Sep 22 07:54:33 2009 -0700"
      },
      "message": "Merge branch \u0027for-2.6.32\u0027 of git://linux-nfs.org/~bfields/linux\n\n* \u0027for-2.6.32\u0027 of git://linux-nfs.org/~bfields/linux: (68 commits)\n  nfsd4: nfsv4 clients should cross mountpoints\n  nfsd: revise 4.1 status documentation\n  sunrpc/cache: avoid variable over-loading in cache_defer_req\n  sunrpc/cache: use list_del_init for the list_head entries in cache_deferred_req\n  nfsd: return success for non-NFS4 nfs4_state_start\n  nfsd41: Refactor create_client()\n  nfsd41: modify nfsd4.1 backchannel to use new xprt class\n  nfsd41: Backchannel: Implement cb_recall over NFSv4.1\n  nfsd41: Backchannel: cb_sequence callback\n  nfsd41: Backchannel: Setup sequence information\n  nfsd41: Backchannel: Server backchannel RPC wait queue\n  nfsd41: Backchannel: Add sequence arguments to callback RPC arguments\n  nfsd41: Backchannel: callback infrastructure\n  nfsd4: use common rpc_cred for all callbacks\n  nfsd4: allow nfs4 state startup to fail\n  SUNRPC: Defer the auth_gss upcall when the RPC call is asynchronous\n  nfsd4: fix null dereference creating nfsv4 callback client\n  nfsd4: fix whitespace in NFSPROC4_CLNT_CB_NULL definition\n  nfsd41: sunrpc: add new xprt class for nfsv4.1 backchannel\n  sunrpc/cache: simplify cache_fresh_locked and cache_fresh_unlocked.\n  ...\n"
    },
    {
      "commit": "b87221de6a4934eda856475a0065688d12973a04",
      "tree": "6bcf0628e106c4833538f4c23d710fbbe3d7609a",
      "parents": [
        "0d54b217a247f39605361f867fefbb9e099a5432"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Mon Sep 21 17:01:09 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Sep 22 07:17:24 2009 -0700"
      },
      "message": "const: mark remaining super_operations const\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "cd68c374ea9ce202ae7c6346777d10078e243d49",
      "tree": "0aa206d2605c57c6944f7461c6eb1576a9d1f987",
      "parents": [
        "67e7328f1577230ef3a1430c1a7e5c07978c6e51"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Wed Sep 09 16:32:54 2009 +1000"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Sep 18 17:01:12 2009 -0400"
      },
      "message": "sunrpc/cache: avoid variable over-loading in cache_defer_req\n\nIn cache_defer_req, \u0027dreq\u0027 is used for two significantly different\nvalues that happen to be of the same type.\n\nThis is both confusing, and makes it hard to extend the range of one of\nthe values as we will in the next patch.\nSo introduce \u0027discard\u0027 to take one of the values.\n\nSigned-off-by: NeilBrown \u003cneilb@suse.de\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "67e7328f1577230ef3a1430c1a7e5c07978c6e51",
      "tree": "6b160d46c8bfbc5b04b4d532f0ad99067feab49e",
      "parents": [
        "c0826574ddc0df486ecfc2d655e08904c6513209"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Wed Sep 09 16:32:54 2009 +1000"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Sep 18 11:47:49 2009 -0400"
      },
      "message": "sunrpc/cache: use list_del_init for the list_head entries in cache_deferred_req\n\nUsing list_del_init is generally safer than list_del, and it will\nallow us, in a subsequent patch, to see if an entry has already been\nprocessed or not.\n\nSigned-off-by: NeilBrown \u003cneilb@suse.de\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "5d351754fcf58d1a604aa7cf95c2805e8a098ad9",
      "tree": "814bccfcfbb841ec0b2be76bbfbe1b8b6b355ff1",
      "parents": [
        "886e3b7fe6054230c89ae078a09565ed183ecc73"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Sep 15 13:32:13 2009 -0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Tue Sep 15 20:49:33 2009 -0400"
      },
      "message": "SUNRPC: Defer the auth_gss upcall when the RPC call is asynchronous\n\nOtherwise, the upcall is going to be synchronous, which may not be what the\ncaller wants...\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "f300baba5a1536070d6d77bf0c8c4ca999bb4f0f",
      "tree": "648d0020d9a9325cfcb07571d9f11a5c797ee900",
      "parents": [
        "908329f2c08b8b5af7b394f709b0ee9c43b93041"
      ],
      "author": {
        "name": "Alexandros Batsakis",
        "email": "batsakis@netapp.com",
        "time": "Thu Sep 10 17:33:30 2009 +0300"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Sun Sep 13 15:46:15 2009 -0400"
      },
      "message": "nfsd41: sunrpc: add new xprt class for nfsv4.1 backchannel\n\n[sunrpc: change idle timeout value for the backchannel]\nSigned-off-by: Alexandros Batsakis \u003cbatsakis@netapp.com\u003e\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\nAcked-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "908329f2c08b8b5af7b394f709b0ee9c43b93041",
      "tree": "2a1940cebcde4659b6eccd0f054511d2d5f28d59",
      "parents": [
        "9e4c6379a62d94d3362b12c7a00f2105df6d7eeb"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Wed Sep 09 16:32:54 2009 +1000"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Sep 11 17:08:54 2009 -0400"
      },
      "message": "sunrpc/cache: simplify cache_fresh_locked and cache_fresh_unlocked.\n\nThe extra call to cache_revisit_request in cache_fresh_unlocked is not\nneeded, as should have been fairly clear at the time of\n   commit 4013edea9a0b6cdcb1fdf5d4011e47e068fd6efb\n\nIf there are requests to be revisited, then we can be sure that\nCACHE_PENDING is set, so the second call is sufficient.\n\nSo remove the first call.\nThen remove the \u0027new\u0027 parameter,\nthen remove the return value for cache_fresh_locked which is only used\nto provide the value for \u0027new\u0027.\n\nSigned-off-by: NeilBrown \u003cneilb@suse.de\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "9e4c6379a62d94d3362b12c7a00f2105df6d7eeb",
      "tree": "457b1b5c1a28752d4fa878b2d4b1ed0517f0c78f",
      "parents": [
        "4cfc7e6019caa3e97d2a81c48c8d575d7b38d751"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Wed Sep 09 16:32:54 2009 +1000"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Sep 11 17:03:27 2009 -0400"
      },
      "message": "sunrpc/cache: change cache_defer_req to return -ve error, not boolean.\n\nAs \"cache_defer_req\" does not sound like a predicate, having it return\na boolean value can be confusing.  It is more consistent to return\n0 for success and negative for error.\n\nExactly what error code to return is not important as we don\u0027t\ndifferentiate between reasons why the request wasn\u0027t deferred,\nwe only care about whether it was deferred or not.\n\nSigned-off-by: NeilBrown \u003cneilb@suse.de\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "4cfc7e6019caa3e97d2a81c48c8d575d7b38d751",
      "tree": "8dced61360d385b115da94f9a4fd5f8d635c296d",
      "parents": [
        "6951867b9967066eda090f46ad91ce69e0ead611"
      ],
      "author": {
        "name": "Rahul Iyer",
        "email": "iyer@netapp.com",
        "time": "Thu Sep 10 17:32:28 2009 +0300"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Sep 11 15:04:16 2009 -0400"
      },
      "message": "nfsd41: sunrpc: Added rpc server-side backchannel handling\n\nWhen the call direction is a reply, copy the xid and call direction into the\nreq-\u003erq_private_buf.head[0].iov_base otherwise rpc_verify_header returns\nrpc_garbage.\n\nSigned-off-by: Rahul Iyer \u003ciyer@netapp.com\u003e\nSigned-off-by: Mike Sager \u003csager@netapp.com\u003e\nSigned-off-by: Marc Eshel \u003ceshel@almaden.ibm.com\u003e\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\nSigned-off-by: Ricardo Labiaga \u003cRicardo.Labiaga@netapp.com\u003e\nSigned-off-by: Andy Adamson \u003candros@netapp.com\u003e\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n[get rid of CONFIG_NFSD_V4_1]\n[sunrpc: refactoring of svc_tcp_recvfrom]\n[nfsd41: sunrpc: create common send routine for the fore and the back channels]\n[nfsd41: sunrpc: Use free_page() to free server backchannel pages]\n[nfsd41: sunrpc: Document server backchannel locking]\n[nfsd41: sunrpc: remove bc_connect_worker()]\n[nfsd41: sunrpc: Define xprt_server_backchannel()[\n[nfsd41: sunrpc: remove bc_close and bc_init_auto_disconnect dummy functions]\n[nfsd41: sunrpc: eliminate unneeded switch statement in xs_setup_tcp()]\n[nfsd41: sunrpc: Don\u0027t auto close the server backchannel connection]\n[nfsd41: sunrpc: Remove unused functions]\nSigned-off-by: Alexandros Batsakis \u003cbatsakis@netapp.com\u003e\nSigned-off-by: Ricardo Labiaga \u003cRicardo.Labiaga@netapp.com\u003e\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n[nfsd41: change bc_sock to bc_xprt]\n[nfsd41: sunrpc: move struct rpc_buffer def into a common header file]\n[nfsd41: sunrpc: use rpc_sleep in bc_send_request so not to block on mutex]\n[removed cosmetic changes]\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n[sunrpc: add new xprt class for nfsv4.1 backchannel]\n[sunrpc: v2.1 change handling of auto_close and init_auto_disconnect operations for the nfsv4.1 backchannel]\nSigned-off-by: Alexandros Batsakis \u003cbatsakis@netapp.com\u003e\n[reverted more cosmetic leftovers]\n[got rid of xprt_server_backchannel]\n[separated \"nfsd41: sunrpc: add new xprt class for nfsv4.1 backchannel\"]\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\nCc: Trond Myklebust \u003ctrond.myklebust@netapp.com\u003e\n[sunrpc: change idle timeout value for the backchannel]\nSigned-off-by: Alexandros Batsakis \u003cbatsakis@netapp.com\u003e\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\nAcked-by: Trond Myklebust \u003ctrond.myklebust@netapp.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "ab3bbaa8b257845e248e9a01d12a69ca245f4197",
      "tree": "f3054be9bd612194826ed6969d01346d329c3306",
      "parents": [
        "332a3392188e0ad966543c87b8da2b9d246f301d",
        "2ecda72b49a0849ce41e7fa1fa974a245b9119f8"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Sep 11 14:59:37 2009 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Sep 11 14:59:37 2009 -0400"
      },
      "message": "Merge branch \u0027nfs-for-2.6.32\u0027\n"
    },
    {
      "commit": "6951867b9967066eda090f46ad91ce69e0ead611",
      "tree": "b91229a4ae364e11e2347a650a4bbfca77797932",
      "parents": [
        "aed100fafb90aaabe8fb31e58af9dc7e68696507"
      ],
      "author": {
        "name": "Benny Halevy",
        "email": "bhalevy@panasas.com",
        "time": "Thu Sep 10 12:25:04 2009 +0300"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Thu Sep 10 12:09:06 2009 -0400"
      },
      "message": "nfsd41: sunrpc: move struct rpc_buffer def into sunrpc.h\n\nMove struct rpc_buffer\u0027s definition into a sunrpc.h, a common, internal\nheader file, in preparation for supporting the nfsv4.1 backchannel.\n\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n[nfs41: sunrpc: #include \u003clinux/net.h\u003e from sunrpc.h]\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "2574cc9f4ffc6c681c9177111357efe5b76f0e36",
      "tree": "5e220b5a26e25df9fc03b58c7fa4daeebafce062",
      "parents": [
        "ea6bff368548d79529421a9dc0710fc5330eb504"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Aug 28 11:12:12 2009 -0400"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Aug 28 19:35:56 2009 -1000"
      },
      "message": "SUNRPC: Fix rpc_task_force_reencode\n\nThis patch fixes the bug that was reported in\n  http://bugzilla.kernel.org/show_bug.cgi?id\u003d14053\n\nIf we\u0027re in the case where we need to force a reencode and then resend of\nthe RPC request, due to xprt_transmit failing with a networking error, then\nwe _must_ retransmit the entire request.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\nCc: stable@kernel.org\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "b0401d725334a94d57335790b8ac2404144748ee",
      "tree": "38ab73b78e4d12c57198dac451e04e04a78efb55",
      "parents": [
        "aaf84eb95a9c610c6413cee4836764ea9194eed3"
      ],
      "author": {
        "name": "Wei Yongjun",
        "email": "yjwei@cn.fujitsu.com",
        "time": "Thu Aug 27 10:23:39 2009 +0800"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Thu Aug 27 17:18:38 2009 -0400"
      },
      "message": "sunrpc: move the close processing after do recvfrom method\n\nsunrpc: \"Move close processing to a single place\"\n(d7979ae4a050a45b78af51832475001b68263d2a) moved the\nclose processing before the recvfrom method. This may\ncause the close processing never to execute. So this\npatch moves it to the right place.\n\nSigned-off-by: Wei Yongjun \u003cyjwei@cn.fujitsu.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "eac81736e6884484ebb45f8d0cba639f3285382b",
      "tree": "6a85f84718c22542a51b0df9939965c4d46c23a4",
      "parents": [
        "ed2d8aed52212610d4cb79be3cbf535b04be38dc"
      ],
      "author": {
        "name": "Wei Yongjun",
        "email": "yjwei@cn.fujitsu.com",
        "time": "Tue Aug 04 17:27:52 2009 +0800"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Tue Aug 25 17:39:43 2009 -0400"
      },
      "message": "sunrpc: reply AUTH_BADCRED to RPCSEC_GSS with unknown service\n\nWhen an RPC message is received with RPCSEC_GSS with an unknown service\n(not RPC_GSS_SVC_NONE, RPC_GSS_SVC_INTEGRITY, or RPC_GSS_SVC_PRIVACY),\nsvcauth_gss_accept() returns AUTH_BADCRED, but svcauth_gss_release()\nsubsequently drops the response entirely, discarding the error.\n\nFix that so the AUTH_BADCRED error is returned to the client.\n\nSigned-off-by: Wei Yongjun \u003cyjwei@cn.fujitsu.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "ed2d8aed52212610d4cb79be3cbf535b04be38dc",
      "tree": "6baac65cfa094ac79db8a473ad7bd4b1dbbc5c2a",
      "parents": [
        "55bb55dca0cecac2fb7b8c743db41361c011c8a8"
      ],
      "author": {
        "name": "Ryusei Yamaguchi",
        "email": "mandel59@gmail.com",
        "time": "Sun Aug 16 00:54:41 2009 +0900"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Tue Aug 25 12:39:37 2009 -0400"
      },
      "message": "knfsd: Replace lock_kernel with a mutex in nfsd pool stats.\n\nlock_kernel() in knfsd was replaced with a mutex. The later\ncommit 03cf6c9f49a8fea953d38648d016e3f46e814991 (\"knfsd:\nadd file to export stats about nfsd pools\") did not follow\nthat change. This patch fixes the issue.\n\nAlso move the get and put of nfsd_serv to the open and close methods\n(instead of start and stop methods) to allow atomic check and increment\nof reference count in the open method (where we can still return an\nerror).\n\nSigned-off-by: Ryusei Yamaguchi \u003cmandel59@gmail.com\u003e\nSigned-off-by: Isaku Yamahata \u003cyamahata@valinux.co.jp\u003e\nSigned-off-by: YOSHIFUJI Hideaki \u003cyoshfuji@linux-ipv6.org\u003e\nCc: Greg Banks \u003cgnb@fmeh.org\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "8f55f3c0a013c42fb733997da54a3326c74601e8",
      "tree": "4de48f8902ebbd79f7edad72b356fa19f4370544",
      "parents": [
        "fbf4665f41b02e757ab9d9198df65e319388e728"
      ],
      "author": {
        "name": "Alexandros Batsakis",
        "email": "batsakis@netapp.com",
        "time": "Thu Aug 20 03:34:19 2009 +0300"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Mon Aug 24 18:13:10 2009 -0400"
      },
      "message": "nfsd41: sunrpc: svc_tcp_recv_record()\n\nFactor functionality out of svc_tcp_recvfrom() to simplify routine\n\nSigned-off-by: Alexandros Batsakis \u003cbatsakis@netapp.com\u003e\nSigned-off-by: Ricardo Labiaga \u003cRicardo.Labiaga@netapp.com\u003e\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "e9dc122166b8d863d3057a66ada04838e5548e52",
      "tree": "749e15bf719b64bf9113db7acd8e043d9742cb26",
      "parents": [
        "560ab42ef923aaf2e4347315bdfcc74b2708972c",
        "405d8f8b1d936414da2093d4149ff790ff3f84a5"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Aug 21 11:27:29 2009 -0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Aug 21 11:27:29 2009 -0400"
      },
      "message": "Merge branch \u0027nfs-for-2.6.32\u0027 of git://git.linux-nfs.org/projects/trondmy/nfs-2.6 into for-2.6.32-incoming\n\nConflicts:\n\tnet/sunrpc/cache.c\n"
    },
    {
      "commit": "405d8f8b1d936414da2093d4149ff790ff3f84a5",
      "tree": "1a4917f7e28b0988ba7d11c6de2db632d303401d",
      "parents": [
        "4dceef96756b667360741712a8e37490f8458516"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Aug 21 08:17:56 2009 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Aug 21 08:17:56 2009 -0400"
      },
      "message": "SUNRPC: Ensure that sunrpc gets initialised before nfs, lockd, etc...\n\nWe can oops if rpc_pipefs isn\u0027t properly initialised before we start to set\nup objects that depend upon it.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "f7e86ab92f2198d30828a1a327ad2085e4a7ff7d",
      "tree": "d4bb64c7ae10c67c0292af6b1a2b7d1e25f19480",
      "parents": [
        "7d7ea882898f23989209d0359691b356f73240dc"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Aug 19 18:13:00 2009 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Aug 19 18:22:16 2009 -0400"
      },
      "message": "SUNRPC: cache must take a reference to the cache detail\u0027s module on open()\n\nOtherwise we Oops if the module containing the cache detail is removed\nbefore all cache readers have closed the file.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "e571cbf1a4f8d8b6cfd4898df718dae84c75a8e1",
      "tree": "0fc9da9692a1e63cff03053fc87cc807fab5e266",
      "parents": [
        "96c61cbd0f30496bfa57ed80f7131a57aea3e4de"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Aug 19 18:12:27 2009 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Aug 19 18:22:15 2009 -0400"
      },
      "message": "NFS: Add a dns resolver for use with NFSv4 referrals and migration\n\nThe NFSv4 and NFSv4.1 protocols both allow for the redirection of a client\nfrom one server to another in order to support filesystem migration and\nreplication. For full protocol support, we need to add the ability to\nconvert a DNS host name into an IP address that we can feed to the RPC\nclient.\n\nWe\u0027ll reuse the sunrpc cache, now that it has been converted to work with\nrpc_pipefs.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "96c61cbd0f30496bfa57ed80f7131a57aea3e4de",
      "tree": "0b5729ef60777da4622cbad7c881ab6bbe36019c",
      "parents": [
        "6a396f67d2442e30150ffb5e1142dbb2f2181d3f"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Aug 19 18:12:21 2009 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Aug 19 18:22:15 2009 -0400"
      },
      "message": "SUNRPC: Fix a typo in cache_pipefs_files\n\nWe want the channel to be a regular file, so that we don\u0027t need to supply\nrpc_pipe_ops.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "6a396f67d2442e30150ffb5e1142dbb2f2181d3f",
      "tree": "2ea4f3ab1d3766204a55ec26600b848ed3a7e8aa",
      "parents": [
        "f884dcaead5f17bf586ac5fe6a3ad07b5203616a",
        "cccddf4f5580131c9b963900e1d3400655e633cc"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Aug 19 18:21:52 2009 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Aug 19 18:21:52 2009 -0400"
      },
      "message": "Merge branch \u0027nfsv4_xdr_cleanups-for-2.6.32\u0027 into nfs-for-2.6.32\n\nConflicts:\n\tfs/nfs/nfs4xdr.c\n"
    },
    {
      "commit": "98866b5abe1513cdacc011874ca045d40002eccd",
      "tree": "d6bddb53c9df2fb167b69561f9fd68dfadc65066",
      "parents": [
        "9f162d2a810b4db48f7b8d7e734d0932c81ec2a1"
      ],
      "author": {
        "name": "Benny Halevy",
        "email": "bhalevy@panasas.com",
        "time": "Fri Aug 14 17:18:49 2009 +0300"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Aug 14 13:12:52 2009 -0400"
      },
      "message": "sunrpc: ntoh -\u003e be*_to_cpu\n\nntohl is already defined as be32_to_cpu.\nbe64_to_cpu has architecture specific optimized implementations.\n\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "9f162d2a810b4db48f7b8d7e734d0932c81ec2a1",
      "tree": "83d0d6274cee3c82fa7485e9a85879172954cc5b",
      "parents": [
        "64f1607ffbbc772685733ea63e6f7f4183df1b16"
      ],
      "author": {
        "name": "Benny Halevy",
        "email": "bhalevy@panasas.com",
        "time": "Fri Aug 14 17:18:44 2009 +0300"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Aug 14 13:12:38 2009 -0400"
      },
      "message": "sunrpc: hton -\u003e cpu_to_be*\n\nhtonl is already defined as cpu_to_be32.\ncpu_to_be64 has architecture specific optimized implementations.\n\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "f884dcaead5f17bf586ac5fe6a3ad07b5203616a",
      "tree": "2406444df167f1d67b38733b544f2e2a96c778c7",
      "parents": [
        "976a6f921cad26651d25e73826c05c7a023f5fa4",
        "8854e82d9accc80f43c0bc3ff06b5979ac858185"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Aug 10 17:45:58 2009 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Aug 10 17:45:58 2009 -0400"
      },
      "message": "Merge branch \u0027sunrpc_cache-for-2.6.32\u0027 into nfs-for-2.6.32\n"
    },
    {
      "commit": "976a6f921cad26651d25e73826c05c7a023f5fa4",
      "tree": "b06e283e3fe342bcf444328390b211bb155fd9dc",
      "parents": [
        "e576e05a73bc1a00cdf56630942dbada1bf280a1",
        "c05988cdb06237738d361ef82fbf4df1020aa3db"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Aug 10 17:45:50 2009 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Aug 10 17:45:50 2009 -0400"
      },
      "message": "Merge branch \u0027patches_cel-for-2.6.32\u0027 into nfs-for-2.6.32\n"
    },
    {
      "commit": "8854e82d9accc80f43c0bc3ff06b5979ac858185",
      "tree": "957a42c2959e52f9df2acd7a23c10bf5d6cbeaf0",
      "parents": [
        "173912a6add00f4715774dcecf9ee53274c5924c"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sun Aug 09 15:14:30 2009 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sun Aug 09 15:14:30 2009 -0400"
      },
      "message": "SUNRPC: Add an rpc_pipefs front end for the sunrpc cache code\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "173912a6add00f4715774dcecf9ee53274c5924c",
      "tree": "cdcade8fe7a9ffd4a54143995ddc56cf1f6a1e82",
      "parents": [
        "bc74b4f5e63a09fb78e245794a0de1e5a2716bbe"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sun Aug 09 15:14:29 2009 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sun Aug 09 15:14:29 2009 -0400"
      },
      "message": "SUNRPC: Move procfs-specific stuff out of the generic sunrpc cache code\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "bc74b4f5e63a09fb78e245794a0de1e5a2716bbe",
      "tree": "5e96e63fd69303162456549f12bff5f9b2ee2a22",
      "parents": [
        "da77005f0d64486cd760f43d9b7cc2379262a363"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sun Aug 09 15:14:29 2009 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sun Aug 09 15:14:29 2009 -0400"
      },
      "message": "SUNRPC: Allow the cache_detail to specify alternative upcall mechanisms\n\nFor events that are rare, such as referral DNS lookups, it makes limited\nsense to have a daemon constantly listening for upcalls on a channel. An\nalternative in those cases might simply be to run the app that fills the\ncache using call_usermodehelper_exec() and friends.\n\nThe following patch allows the cache_detail to specify alternative upcall\nmechanisms for these particular cases.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "da77005f0d64486cd760f43d9b7cc2379262a363",
      "tree": "fa64dac28c47940dd730fff68f692fd5bbd73d78",
      "parents": [
        "5b7a1b9f9214cb89dd164b43ca3fab7af4058e06"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sun Aug 09 15:14:28 2009 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sun Aug 09 15:14:28 2009 -0400"
      },
      "message": "SUNRPC: Remove the global temporary write buffer in net/sunrpc/cache.c\n\nWhile we do want to protect against multiple concurrent readers and writers\non each upcall/downcall pipe, we don\u0027t want to limit concurrent reading and\nwriting to separate caches.\n\nThis patch therefore replaces the static buffer \u0027write_buf\u0027, which can only\nbe used by one writer at a time, with use of the page cache as the\ntemporary buffer for downcalls. We still fall back to using the the old\nglobal buffer if the downcall is larger than PAGE_CACHE_SIZE, since this is\napparently needed by the SPKM security context initialisation.\n\nIt then replaces the use of the global \u0027queue_io_mutex\u0027 with the\ninode-\u003ei_mutex in cache_read() and cache_write().\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "5b7a1b9f9214cb89dd164b43ca3fab7af4058e06",
      "tree": "f39343aeedb1973eddac30ef84ec1bbf73f1fe14",
      "parents": [
        "2da8ca26c6bfad685bfddf39728eac1c83906aa9"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sun Aug 09 15:14:27 2009 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sun Aug 09 15:14:27 2009 -0400"
      },
      "message": "SUNRPC: Ensure we initialise the cache_detail before creating procfs files\n\nAlso ensure that we destroy those files before we destroy the cache_detail.\nOtherwise, user processes might attempt to write into uninitialised caches.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "2da8ca26c6bfad685bfddf39728eac1c83906aa9",
      "tree": "77d0d4ed305009bd5bf82b1456d4ed5ab1db5002",
      "parents": [
        "e57aed77ad48d28ac617ba157ad2f665f5301b30"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sun Aug 09 15:14:26 2009 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sun Aug 09 15:14:26 2009 -0400"
      },
      "message": "NFSD: Clean up the idmapper warning...\n\nWhat part of \u0027internal use\u0027 is so hard to understand?\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "e57aed77ad48d28ac617ba157ad2f665f5301b30",
      "tree": "4ce30150c3f4b1520842f7e02fa78f4bf9bbc53c",
      "parents": [
        "23ac6581702ac6d029643328a7e6ea3baf834c5e"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sun Aug 09 15:14:26 2009 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sun Aug 09 15:14:26 2009 -0400"
      },
      "message": "SUNRPC: One more clean up for rpc_create_client_dir()\n\nIn order to allow rpc_pipefs to create directories with different types of\nsubtrees, it is useful to allow the caller to customise the subtree filling\nprocess.\nIn order to do so, we separate out the parts which are specific to making\nan RPC client directory, and put them in a separate helper, then we convert\nthe process of filling the directory contents into a callback.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "23ac6581702ac6d029643328a7e6ea3baf834c5e",
      "tree": "e960a371127a240f17971596e0c456ccc8f01b7e",
      "parents": [
        "7d217caca5d704e48aa5e59aba0b3ad4c7af4fd2"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sun Aug 09 15:14:25 2009 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sun Aug 09 15:14:25 2009 -0400"
      },
      "message": "SUNRPC: clean up rpc_setup_pipedir()\n\nThere is still a little wart or two there: Since we\u0027ve already got a\nvfsmount, we might as well pass that in to rpc_create_client_dir.\nAnother point is that if we open code __rpc_lookup_path() here, then we can\navoid looking up the entire parent directory path over and over again: it\ndoesn\u0027t change.\n\nAlso get rid of rpc_clnt-\u003ecl_pathname, since it has no users...\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "7d217caca5d704e48aa5e59aba0b3ad4c7af4fd2",
      "tree": "d8d5fcac59d736f1b8c9769e7d3f5aec6d1b5428",
      "parents": [
        "7d59d1e86531a53d7648726ab8a6a670ecbd8f06"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sun Aug 09 15:14:24 2009 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sun Aug 09 15:14:24 2009 -0400"
      },
      "message": "SUNRPC: Replace rpc_client-\u003ecl_dentry and cl_mnt, with a cl_path\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "7d59d1e86531a53d7648726ab8a6a670ecbd8f06",
      "tree": "16208fa5961d778f0ef3d76a8342e733689c90ef",
      "parents": [
        "458adb8ba9b26bfc66593866013adbb62a1a3d2e"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sun Aug 09 15:14:23 2009 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sun Aug 09 15:14:23 2009 -0400"
      },
      "message": "SUNRPC: Clean up rpc_create_client_dir()\n\nFactor out the code that does lookups from the code that actually creates\nthe directory.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "458adb8ba9b26bfc66593866013adbb62a1a3d2e",
      "tree": "b24eec8ef6f161dbcc564c8f847b476bda9fcb00",
      "parents": [
        "bb1567491e43df4113ec8b088ff0ebc22f568bc5"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sun Aug 09 15:14:22 2009 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sun Aug 09 15:14:22 2009 -0400"
      },
      "message": "SUNRPC: Rename rpc_mkdir to rpc_create_client_dir()\n\nThis reflects the fact that rpc_mkdir() as it stands today, can only create\na RPC client type directory.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "bb1567491e43df4113ec8b088ff0ebc22f568bc5",
      "tree": "f60769d150bbbd42afa97be7af65636d6eea8875",
      "parents": [
        "ac6fecee3121a6825a01c8fda2f5cbf1ad6a3ebd"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sun Aug 09 15:14:21 2009 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sun Aug 09 15:14:21 2009 -0400"
      },
      "message": "SUNRPC: rpc_pipefs cleanup\n\nMove the files[] array closer to rpc_fill_super()\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "ac6fecee3121a6825a01c8fda2f5cbf1ad6a3ebd",
      "tree": "ee45a178326d18e8ffacd094d6b28f3a09dd9f80",
      "parents": [
        "cfeaa4a3caaf590c1fdb7a83fcd5326e7cdc70c3"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sun Aug 09 15:14:20 2009 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sun Aug 09 15:14:20 2009 -0400"
      },
      "message": "SUNRPC: Clean up rpc_populate/depopulate\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "cfeaa4a3caaf590c1fdb7a83fcd5326e7cdc70c3",
      "tree": "525be2ef8a48c80044b3af3305e8570e56bd6e20",
      "parents": [
        "810d90bc2a76ff54295cfb3aa9b165160faa47ef"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sun Aug 09 15:14:20 2009 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sun Aug 09 15:14:20 2009 -0400"
      },
      "message": "SUNRPC: Clean up rpc_lookup_create\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "810d90bc2a76ff54295cfb3aa9b165160faa47ef",
      "tree": "be593453e82034ca650b77939744ae292ab70082",
      "parents": [
        "7589806e961a16449003b636b369edec537c2726"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sun Aug 09 15:14:18 2009 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sun Aug 09 15:14:18 2009 -0400"
      },
      "message": "SUNRPC: Clean up rpc_unlink()\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "7589806e961a16449003b636b369edec537c2726",
      "tree": "4aa56abdc36fee2ae81f1774d72fbf9adfab88bb",
      "parents": [
        "b5bb61da2efe7519eedd6a8f3830ab33ab774b83"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sun Aug 09 15:14:17 2009 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sun Aug 09 15:14:17 2009 -0400"
      },
      "message": "SUNRPC: Clean up file creation code in rpc_pipefs\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "b5bb61da2efe7519eedd6a8f3830ab33ab774b83",
      "tree": "811176448a5413ddbb01dca36c69bb390c8479cd",
      "parents": [
        "7364af6a2d5e708b5c6fee3cce08d1bd7b27c9f1"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sun Aug 09 15:14:17 2009 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sun Aug 09 15:14:17 2009 -0400"
      },
      "message": "SUNRPC: Clean up rpc_pipefs lookup code...\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "7364af6a2d5e708b5c6fee3cce08d1bd7b27c9f1",
      "tree": "f4ce755e169489cae527c9fd18eaabbd7b6a7e93",
      "parents": [
        "b693ba4a338da15db1db4b5ebaa36e4ab9781c82"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sun Aug 09 15:14:16 2009 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sun Aug 09 15:14:16 2009 -0400"
      },
      "message": "SUNRPC: Allow rpc_pipefs_ops to have null values for upcall and downcall\n\nAlso ensure that we use the umode_t type when appropriate...\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "b693ba4a338da15db1db4b5ebaa36e4ab9781c82",
      "tree": "6c16b9ef282af0e958fa216310d4552303b525d5",
      "parents": [
        "7b2aa037e878c939676675969983284a02958ae3"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sun Aug 09 15:14:15 2009 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sun Aug 09 15:14:15 2009 -0400"
      },
      "message": "SUNRPC: Constify rpc_pipe_ops...\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "c05988cdb06237738d361ef82fbf4df1020aa3db",
      "tree": "563ccc94aef510539d300a685c42fb5fc1c1ad0d",
      "parents": [
        "9dc3b095b78347bfb02c324b5ee2e558f7267396"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Sun Aug 09 15:09:47 2009 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sun Aug 09 15:09:47 2009 -0400"
      },
      "message": "SUNRPC: Add documenting comments in net/sunrpc/timer.c\n\nClean up: provide documenting comments for the functions in\nnet/sunrpc/timer.c.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "9dc3b095b78347bfb02c324b5ee2e558f7267396",
      "tree": "8c9d43d43db5a130506d31293858cb65e73643d1",
      "parents": [
        "c740eff84bcfd63c0497ef880e80171931cb8222"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Sun Aug 09 15:09:46 2009 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sun Aug 09 15:09:46 2009 -0400"
      },
      "message": "SUNRPC: Update xprt address strings after an rpcbind completes\n\nAfter a bind completes, update the transport instance\u0027s address\nstrings so debugging messages display the current port the transport\nis connected to.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "c740eff84bcfd63c0497ef880e80171931cb8222",
      "tree": "a990bca471ca6334172787a17c6b9c833e48d682",
      "parents": [
        "fbfffbd5e74c5fa8c9165e110cb5899ec21e6364"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Sun Aug 09 15:09:46 2009 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sun Aug 09 15:09:46 2009 -0400"
      },
      "message": "SUNRPC: Kill RPC_DISPLAY_ALL\n\nAt some point, I recall that rpc_pipe_fs used RPC_DISPLAY_ALL.\nCurrently there are no uses of RPC_DISPLAY_ALL outside the transport\nmodules themselves, so we can safely get rid of it.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "fbfffbd5e74c5fa8c9165e110cb5899ec21e6364",
      "tree": "85d4c8a589e9796fe0b347b021db0a19d499b81d",
      "parents": [
        "f8b761eff1e49fde43dd940ac32b38cf7cee2a95"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Sun Aug 09 15:09:46 2009 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sun Aug 09 15:09:46 2009 -0400"
      },
      "message": "SUNRPC: Rename sock_xprt.addr as sock_xprt.srcaddr\n\nClean up: Give the \"addr\" and \"port\" field less ambiguous names.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "f8b761eff1e49fde43dd940ac32b38cf7cee2a95",
      "tree": "ea5cc9f68375c6924f2797916f116835fb5542ea",
      "parents": [
        "0e47f0d665efcf1b45f293422d21d8383f07d122"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Sun Aug 09 15:09:44 2009 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sun Aug 09 15:09:44 2009 -0400"
      },
      "message": "SUNRPC: Eliminate PROC macro from rpcb_clnt\n\nClean up: Replace PROC macro with open coded C99 structure\ninitializers to improve readability.\n\nThe rpcbind v4 GETVERSADDR procedure is never sent by the current\nimplementation, so it is not copied to the new structures.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "0e47f0d665efcf1b45f293422d21d8383f07d122",
      "tree": "ed0f1ba99b4698c80ad79d0cbb706cadfdb8b167",
      "parents": [
        "c0c077df009f2f329875051ac5283df235288689"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Sun Aug 09 15:09:43 2009 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sun Aug 09 15:09:43 2009 -0400"
      },
      "message": "SUNRPC: Clean up: Remove unused XDR decoder functions from rpcb_clnt.c\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "c0c077df009f2f329875051ac5283df235288689",
      "tree": "50c0f9b6d78ebbfd711d5bf4c436aa116ed85a51",
      "parents": [
        "7ed0ff983c8ad30bf4e2b9fdbb299a3e3ec08d08"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Sun Aug 09 15:09:43 2009 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sun Aug 09 15:09:43 2009 -0400"
      },
      "message": "SUNRPC: Introduce new xdr_stream-based decoders to rpcb_clnt.c\n\nReplace the open-coded decode logic for PMAP_GETPORT/RPCB_GETADDR with\nan xdr_stream-based implementation, similar to what NFSv4 uses, to\nprotect against buffer overflows.  The new implementation also checks\nthat the incoming port number is reasonable.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "7ed0ff983c8ad30bf4e2b9fdbb299a3e3ec08d08",
      "tree": "e93eedc32104cf0b6f26b5b8a1fbd61b33df5df8",
      "parents": [
        "0d36c4f7574d5a33bedd8f0e3c793490d45d83c6"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Sun Aug 09 15:09:42 2009 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sun Aug 09 15:09:42 2009 -0400"
      },
      "message": "SUNRPC: Introduce xdr_stream-based decoders for RPCB_UNSET\n\nReplace the open-coded decode logic for rpcbind UNSET results with an\nxdr_stream-based implementation, similar to what NFSv4 uses, to\nprotect against buffer overflows.\n\nThe new function is unused for the moment.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "0d36c4f7574d5a33bedd8f0e3c793490d45d83c6",
      "tree": "85a68d9f456caae67c4ce0431a636a073faed785",
      "parents": [
        "6f2c2db7a46243bd86e3d7ff5f9ff982f26a9fe8"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Sun Aug 09 15:09:41 2009 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sun Aug 09 15:09:41 2009 -0400"
      },
      "message": "SUNRPC: Clean up: Remove unused XDR encoder functions from rpcb_clnt.c\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "6f2c2db7a46243bd86e3d7ff5f9ff982f26a9fe8",
      "tree": "7b5ce21079d2723a34f1dc982d98a3318c122afe",
      "parents": [
        "4116092b92f859e5e9a90c99d740933e651ee8c0"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Sun Aug 09 15:09:40 2009 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sun Aug 09 15:09:40 2009 -0400"
      },
      "message": "SUNRPC: Introduce new xdr_stream-based encoders to rpcb_clnt.c\n\nReplace the open-coded encode logic for rpcbind arguments with an\nxdr_stream-based implementation, similar to what NFSv4 uses, to\nbetter protect against buffer overflows.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "c877b849d302d1275452af80b7221a2555dc02e1",
      "tree": "7baf4099cbb235e9ee4d420f61208d10ecdc8c4d",
      "parents": [
        "ba809130bc260fce04141aca01ef9e068d32af2a"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Sun Aug 09 15:09:36 2009 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sun Aug 09 15:09:36 2009 -0400"
      },
      "message": "SUNRPC: Use rpc_ntop() for constructing transport address strings\n\nClean up:  In addition to using the new generic rpc_ntop() and\nrpc_get_port() functions, have the RPC client compute the presentation\naddress buffer sizes dynamically using kstrdup().\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "ba809130bc260fce04141aca01ef9e068d32af2a",
      "tree": "8aa5fe3f46c679346120f2c28848bf4446133a4c",
      "parents": [
        "a02d692611348f11ee1bc37431a883c3ff2de23e"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Sun Aug 09 15:09:35 2009 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sun Aug 09 15:09:35 2009 -0400"
      },
      "message": "SUNRPC: Remove duplicate universal address generation\n\nRPC universal address generation is currently done in several places:\nrpcb_clnt.c, nfs4proc.c xprtsock.c, and xprtrdma.c.  Remove the\nredundant cases that convert a socket address to a universal\naddress.  The nfs4proc.c case takes a pre-formatted presentation\naddress string, not a socket address, so we\u0027ll leave that one.\n\nBecause the new uaddr constructor uses the recently introduced\nrpc_ntop(), it now supports proper \"::\" shorthanding for IPv6\naddresses.  This allows the kernel to register properly formed\nuniversal addresses with the local rpcbind service, in _all_ cases.\n\nThe kernel can now also send properly formed universal addresses in\nRPCB_GETADDR requests, and support link-local properly when\nencoding and decoding IPv6 addresses.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "a02d692611348f11ee1bc37431a883c3ff2de23e",
      "tree": "5a2ad4862784b4337846b44ddd816e495484086f",
      "parents": [
        "0b10bf5e14d856d1d27a2117d07af2bebee81b75"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Sun Aug 09 15:09:34 2009 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sun Aug 09 15:09:34 2009 -0400"
      },
      "message": "SUNRPC: Provide functions for managing universal addresses\n\nIntroduce a set of functions in the kernel\u0027s RPC implementation for\nconverting between a socket address and either a standard\npresentation address string or an RPC universal address.\n\nThe universal address functions will be used to encode and decode\nRPCB_FOO and NFSv4 SETCLIENTID arguments.  The other functions are\npart of a previous promise to deliver shared functions that can be\nused by upper-layer protocols to display and manipulate IP\naddresses.\n\nThe kernel\u0027s current address printf formatters were designed\nspecifically for kernel to user-space APIs that require a particular\nstring format for socket addresses, thus are somewhat limited for the\npurposes of sunrpc.ko.  The formatter for IPv6 addresses, %pI6, does\nnot support short-handing or scope IDs.  Also, these printf formatters\nare unique per address family, so a separate formatter string is\nrequired for printing AF_INET and AF_INET6 addresses.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "0b10bf5e14d856d1d27a2117d07af2bebee81b75",
      "tree": "a44943150a904c48aca28c9f7d054f0c8538fa71",
      "parents": [
        "169026a61e6f436dfc12c9d10d95455c4e9f945b"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Sun Aug 09 15:09:33 2009 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sun Aug 09 15:09:33 2009 -0400"
      },
      "message": "SUNRPC: Move XDR data type size macros\n\nClean up: To make subsequent patches cleaner, move the XDR data type\nsize macros to the top of the file (similar to nfs4xdr.c) first.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "cbf1107126af2950623fafdaa5c9df43ab00f046",
      "tree": "101e9a26fc86218f567e5c99aad3ddadfdab2691",
      "parents": [
        "80e52aced138bb41b045a8595a87510f27d8d8c5"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sun Aug 09 15:06:19 2009 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sun Aug 09 15:06:19 2009 -0400"
      },
      "message": "SUNRPC: convert some sysctls into module parameters\n\nParameters like the minimum reserved port, and the number of slot entries\nshould really be module parameters rather than sysctls.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "560ab42ef923aaf2e4347315bdfcc74b2708972c",
      "tree": "e785cd1ff69276bbeb653311fc67f5472f8b90d3",
      "parents": [
        "989a19b9b10635eeb91c08cefe6cf82986bd4ee2"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Tue Aug 04 15:22:39 2009 +1000"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Tue Aug 04 16:52:44 2009 -0400"
      },
      "message": "sunrpc: fix memory leak in unix_gid cache.\n\nWhen we look up an entry in the uid-\u003egidlist cache, we take\na reference to the content but don\u0027t drop the reference to the\ncache entry.  So it never gets freed.\n\nSigned-off-by: NeilBrown \u003cneilb@suse.de\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "989a19b9b10635eeb91c08cefe6cf82986bd4ee2",
      "tree": "dc18e7d07558c7a217daed108ec9d62ec9be4836",
      "parents": [
        "5c4d26390341732a8d614141a4cf4663610a1698"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Tue Aug 04 15:22:38 2009 +1000"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Tue Aug 04 16:21:44 2009 -0400"
      },
      "message": "sunrpc/cache: recheck cache validity after cache_defer_req\n\nIf cache_defer_req did not leave the request on a queue, then it could\npossibly have waited long enough that the cache became valid.  So check the\nstatus after the call.\n\nSigned-off-by: NeilBrown \u003cneilb@suse.de\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "5c4d26390341732a8d614141a4cf4663610a1698",
      "tree": "1361af921aadc75c1a1fa1a23eb83292dcad8130",
      "parents": [
        "f866a8194f7cbabb9135b98b9ac7d26237b88367"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Tue Aug 04 15:22:38 2009 +1000"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Tue Aug 04 11:03:01 2009 -0400"
      },
      "message": "sunrpc/cache: make sure deferred requests eventually get revisited.\n\nWhile deferred requests normally get revisited quite quickly,\nit is possible for a request to remain in the deferral queue\nwhen the cache item is discarded.  We can easily make sure that\ndoesn\u0027t happen by calling cache_revisit_request just before\nthe final \u0027put\u0027.\n\nAlso there is a small chance that a race would cause one thread to\ndefer a request against a cache item while another thread is failing\nto queue an upcall for that item.  So when the upcall fails, make\nsure to revisit all deferred requests.\n\nSigned-off-by: NeilBrown \u003cneilb@suse.de\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "f866a8194f7cbabb9135b98b9ac7d26237b88367",
      "tree": "40970053fc04f2c23a4d3cbde5c246e289c67ce9",
      "parents": [
        "abfabf8cafa60e7876a7193fb344f739f690071d"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Tue Aug 04 15:22:38 2009 +1000"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Tue Aug 04 09:14:30 2009 -0400"
      },
      "message": "sunrpc/cache: rename queue_loose to cache_dequeue\n\n\u0027loose\u0027 was a mis-spelling of \u0027lose\u0027, and even that wasn\u0027t a good\nword choice.\nSo give this function a more useful name.\n\nSigned-off-by: NeilBrown \u003cneilb@suse.de\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "7702ce40bc84a02e88aa20f95333df8cff5f9d37",
      "tree": "72e9e0fb07175486cf2b6996cf8d94b1d0d7c466",
      "parents": [
        "9208faf297dddfa97a86d7224b6bf94f2e346dd9"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Mon Jul 13 10:54:26 2009 -0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Tue Jul 14 17:39:46 2009 -0400"
      },
      "message": "SUNRPC: handle IPv6 PKTINFO when extracting destination address\n\nPKTINFO is needed to scrape the caller\u0027s IP address off the socket so\nRPC datagram replies are routed correctly.  Fill in missing pieces in\nthe kernel RPC server\u0027s UDP receive path to request IPv6 PKTINFO and\ncorrectly parse the IPv6 cmsg header.\n\nWithout this patch, kernel RPC services drop all incoming requests on\nUDP on IPv6.\n\nRelated commit: 7a37f5787e76bf1765c1add3a9a7163f841a28bb\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nCc: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "405f55712dfe464b3240d7816cc4fe4174831be2",
      "tree": "96c425ea7fa8b31058b8f83a433c5e5265c8ebc7",
      "parents": [
        "f9fabcb58a6d26d6efde842d1703ac7cfa9427b6"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Sat Jul 11 22:08:37 2009 +0400"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Jul 12 12:22:34 2009 -0700"
      },
      "message": "headers: smp_lock.h redux\n\n* Remove smp_lock.h from files which don\u0027t need it (including some headers!)\n* Add smp_lock.h to files which do need it\n* Make smp_lock.h include conditional in hardirq.h\n  It\u0027s needed only for one kernel_locked() usage which is under CONFIG_PREEMPT\n\n  This will make hardirq.h inclusion cheaper for every PREEMPT\u003dn config\n  (which includes allmodconfig/allyesconfig, BTW)\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "846d8e7cc82a6205d5c0a905a4940abd0f565741",
      "tree": "0d89d831c0e7a7979b404e7aaa9a0f76a2feb5d9",
      "parents": [
        "28d0325ce6e0a52f53d8af687e6427fee59004d3"
      ],
      "author": {
        "name": "Wei Yongjun",
        "email": "yjwei@cn.fujitsu.com",
        "time": "Thu Jun 25 16:35:44 2009 +0800"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Jul 03 10:14:59 2009 -0400"
      },
      "message": "svcrdma: fix error handling of rdma_alloc_frmr()\n\nib_alloc_fast_reg_mr() and ib_alloc_fast_reg_page_list() returns\nERR_PTR() and not NULL. Compile tested only.\n\nSigned-off-by: Wei Yongjun \u003cyjwei@cn.fujitsu.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "75de874f5c35f679c6370fccc2bf4930e638ef3b",
      "tree": "b5672242086493b45bd153607dafaf4d346d4924",
      "parents": [
        "473c22d759e73cbbe604f41105b497817cc2ee8e"
      ],
      "author": {
        "name": "Jesper Dangaard Brouer",
        "email": "hawk@comx.dk",
        "time": "Fri Jun 26 10:45:58 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Jun 26 13:51:34 2009 -0700"
      },
      "message": "sunrpc: Use rcu_barrier() on unload.\n\nThe sunrpc module uses rcu_call() thus it should use rcu_barrier() on\nmodule unload.\n\nHave not verified that the possibility for new call_rcu() callbacks\nhas been disabled.  As a hint for checking, the functions calling\ncall_rcu() (unx_destroy_cred and generic_destroy_cred) are\nregistered as crdestroy function pointer in struct rpc_credops.\n\nAcked-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nAcked-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\nSigned-off-by: Jesper Dangaard Brouer \u003chawk@comx.dk\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "7e0338c0de18c50f09aea1fbef45110cf7d64a3c",
      "tree": "30a935c1f6eee7125a9fbb802a33292b1f7268fa",
      "parents": [
        "df36b439c5fedefe013d4449cb6a50d15e2f4d70",
        "47fcb03fefee2501e79176932a4184fc24d6f8ec"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jun 22 12:55:50 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jun 22 12:55:50 2009 -0700"
      },
      "message": "Merge branch \u0027for-2.6.31\u0027 of git://fieldses.org/git/linux-nfsd\n\n* \u0027for-2.6.31\u0027 of git://fieldses.org/git/linux-nfsd: (60 commits)\n  SUNRPC: Fix the TCP server\u0027s send buffer accounting\n  nfsd41: Backchannel: minorversion support for the back channel\n  nfsd41: Backchannel: cleanup nfs4.0 callback encode routines\n  nfsd41: Remove ip address collision detection case\n  nfsd: optimise the starting of zero threads when none are running.\n  nfsd: don\u0027t take nfsd_mutex twice when setting number of threads.\n  nfsd41: sanity check client drc maxreqs\n  nfsd41: move channel attributes from nfsd4_session to a nfsd4_channel_attr struct\n  NFS: kill off complicated macro \u0027PROC\u0027\n  sunrpc: potential memory leak in function rdma_read_xdr\n  nfsd: minor nfsd_vfs_write cleanup\n  nfsd: Pull write-gathering code out of nfsd_vfs_write\n  nfsd: track last inode only in use_wgather case\n  sunrpc: align cache_clean work\u0027s timer\n  nfsd: Use write gathering only with NFSv2\n  NFSv4: kill off complicated macro \u0027PROC\u0027\n  NFSv4: do exact check about attribute specified\n  knfsd: remove unreported filehandle stats counters\n  knfsd: fix reply cache memory corruption\n  knfsd: reply cache cleanups\n  ...\n"
    },
    {
      "commit": "e9f029855865e917821ef6034b31e340a4cfc815",
      "tree": "91eac0e44cbcd73e421497100316cc8e7ae102bb",
      "parents": [
        "578e4585685410cacd1a4ac86b7e3c12805be918"
      ],
      "author": {
        "name": "Ricardo Labiaga",
        "email": "Ricardo.Labiaga@netapp.com",
        "time": "Thu Jun 18 22:01:24 2009 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sat Jun 20 14:55:39 2009 -0400"
      },
      "message": "nfs41: sunrpc: xprt_alloc_bc_request() should not use spin_lock_bh()\n\nxprt_alloc_bc_request() is always called in soft interrupt context.\nGrab the spin_lock instead of the bottom half spin_lock.  Softirqs\ndo not preempt other softirqs running on the same processor, so there\nis no need to disable bottom halves.\n\nSigned-off-by: Ricardo Labiaga \u003cRicardo.Labiaga@netapp.com\u003e\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "47fcb03fefee2501e79176932a4184fc24d6f8ec",
      "tree": "cb8eb34c5e54ce278b54cb6f9c820f564c183574",
      "parents": [
        "ab52ae6db035fa425f90146327ab7d2c5d3e5654"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon May 18 17:47:56 2009 -0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Thu Jun 18 19:58:51 2009 -0700"
      },
      "message": "SUNRPC: Fix the TCP server\u0027s send buffer accounting\n\nCurrently, the sunrpc server is refusing to allow us to process new RPC\ncalls if the TCP send buffer is 2/3 full, even if we do actually have\nenough free space to guarantee that we can send another request.\nThe following patch fixes svc_tcp_has_wspace() so that we only stop\nprocessing requests if we know that the socket buffer cannot possibly fit\nanother reply.\n\nIt also fixes the tcp write_space() callback so that we only clear the\nSOCK_NOSPACE flag when the TCP send buffer is less than 2/3 full.\nThis should ensure that the send window will grow as per the standard TCP\nsocket code.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "1f84603c0940d5bed17f7e4d2e0b2a4b8b8f1b81",
      "tree": "143956f878290e85de7c9130f465e862f587ee53",
      "parents": [
        "301933a0acfdec837fd8b4884093b3f0fff01d8a",
        "4bf259e3ae5015e73282ba66716c4a917e1264ac"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Jun 17 18:13:00 2009 -0700"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Jun 18 18:13:44 2009 -0700"
      },
      "message": "Merge branch \u0027devel-for-2.6.31\u0027 into for-2.6.31\n\nConflicts:\n\tfs/nfs/client.c\n\tfs/nfs/super.c\n"
    },
    {
      "commit": "301933a0acfdec837fd8b4884093b3f0fff01d8a",
      "tree": "1f2412a30d710493179b1b3743cf30302872df15",
      "parents": [
        "3fe0344faf7fdcb158bd5c1a9aec960a8d70c8e8",
        "68f3f90133d56e0c38f04f991e662c2b21592b31"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Jun 17 17:59:58 2009 -0700"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Jun 17 17:59:58 2009 -0700"
      },
      "message": "Merge commit \u0027linux-pnfs/nfs41-for-2.6.31\u0027 into nfsv41-for-2.6.31\n"
    },
    {
      "commit": "dd2b63d049480979016b959abc2d141cdddb1389",
      "tree": "3b1f9a59b5c0a7c6027ec102a034a4236b41ebd6",
      "parents": [
        "281fe15dc1d6ad46992f18b7a6644269ec5f7138"
      ],
      "author": {
        "name": "Ricardo Labiaga",
        "email": "Ricardo.Labiaga@netapp.com",
        "time": "Wed Apr 01 09:23:28 2009 -0400"
      },
      "committer": {
        "name": "Benny Halevy",
        "email": "bhalevy@panasas.com",
        "time": "Wed Jun 17 14:11:40 2009 -0700"
      },
      "message": "nfs41: Rename rq_received to rq_reply_bytes_recvd\n\nThe \u0027rq_received\u0027 member of \u0027struct rpc_rqst\u0027 is used to track when we\nhave received a reply to our request.  With v4.1, the backchannel\ncan now accept callback requests over the existing connection.  Rename\nthis field to make it clear that it is only used for tracking reply bytes\nand not all bytes received on the connection.\n\nSigned-off-by: Ricardo Labiaga \u003cRicardo.Labiaga@netapp.com\u003e\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n"
    },
    {
      "commit": "343952fa5aac888934ffc203abed26a823400eb6",
      "tree": "95fc380be059ac0b0d3f7f89c1f76b2375685507",
      "parents": [
        "0f91421e8ea986c990c01bf091ceff1d59c165ff"
      ],
      "author": {
        "name": "Rahul Iyer",
        "email": "iyer@netapp.com",
        "time": "Wed Apr 01 09:23:17 2009 -0400"
      },
      "committer": {
        "name": "Benny Halevy",
        "email": "bhalevy@panasas.com",
        "time": "Wed Jun 17 14:11:34 2009 -0700"
      },
      "message": "nfs41: Get the rpc_xprt * from the rpc_rqst instead of the rpc_clnt.\n\nObtain the rpc_xprt from the rpc_rqst so that calls and callback replies\ncan both use the same code path.  A client needs the rpc_xprt in order\nto reply to a callback.\n\nSigned-off-by: Rahul Iyer \u003ciyer@netapp.com\u003e\nSigned-off-by: Ricardo Labiaga \u003cricardo.labiaga@netapp.com\u003e\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n"
    },
    {
      "commit": "8f975242352e92898dc641ebff0d24808f39848a",
      "tree": "5a14be85500e5da33b97f4951efa42abe56cd570",
      "parents": [
        "9c9f3f5fa62cc4959e4d4d1cf1ec74f2d6ac1197"
      ],
      "author": {
        "name": "Benny Halevy",
        "email": "bhalevy@panasas.com",
        "time": "Wed Apr 01 09:23:11 2009 -0400"
      },
      "committer": {
        "name": "Benny Halevy",
        "email": "bhalevy@panasas.com",
        "time": "Wed Jun 17 14:11:31 2009 -0700"
      },
      "message": "nfs41: create a svc_xprt for nfs41 callback thread and use for incoming callbacks\n\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n"
    },
    {
      "commit": "9c9f3f5fa62cc4959e4d4d1cf1ec74f2d6ac1197",
      "tree": "a8fb954b9e707b4afdd822e503fc4857f4d88d5d",
      "parents": [
        "7652e5a09ba319241607b22d9055ce93fd5b8039"
      ],
      "author": {
        "name": "Andy Adamson",
        "email": "andros@netapp.com",
        "time": "Wed Apr 01 09:23:10 2009 -0400"
      },
      "committer": {
        "name": "Benny Halevy",
        "email": "bhalevy@panasas.com",
        "time": "Wed Jun 17 14:11:31 2009 -0700"
      },
      "message": "nfs41: sunrpc: add a struct svc_xprt pointer to struct svc_serv for backchannel use\n\nThis svc_xprt is passed on to the callback service thread to be later used\nto processes incoming svc_rqst\u0027s\n\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n"
    },
    {
      "commit": "7652e5a09ba319241607b22d9055ce93fd5b8039",
      "tree": "9d1d491af237dffb1593ed8f2351ebda36b32972",
      "parents": [
        "a43cde94feded0f65fce36330614691c650ae8fe"
      ],
      "author": {
        "name": "Benny Halevy",
        "email": "bhalevy@panasas.com",
        "time": "Wed Apr 01 09:23:09 2009 -0400"
      },
      "committer": {
        "name": "Benny Halevy",
        "email": "bhalevy@panasas.com",
        "time": "Wed Jun 17 14:11:30 2009 -0700"
      },
      "message": "nfs41: sunrpc: provide functions to create and destroy a svc_xprt for backchannel use\n\nFor nfs41 callbacks we need an svc_xprt to process requests coming up the\nbackchannel socket as rpc_rqst\u0027s that are transformed into svc_rqst\u0027s that\nneed a rq_xprt to be processed.\n\nThe svc_{udp,tcp}_create methods are too heavy for this job as svc_create_socket\ncreates an actual socket to listen on while for nfs41 we\u0027re \"reusing\" the\nfore channel\u0027s socket.\n\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n"
    },
    {
      "commit": "4d6bbb6233c9cf23822a2f66f8470c9f40854b77",
      "tree": "0779a7173d2d33adc83162596e64f5636e9f7d5c",
      "parents": [
        "1cad7ea6fe98dc414bd3df55275c147bd15ebf97"
      ],
      "author": {
        "name": "Ricardo Labiaga",
        "email": "Ricardo.Labiaga@netapp.com",
        "time": "Wed Apr 01 09:23:07 2009 -0400"
      },
      "committer": {
        "name": "Benny Halevy",
        "email": "bhalevy@panasas.com",
        "time": "Wed Jun 17 14:11:29 2009 -0700"
      },
      "message": "nfs41: Backchannel bc_svc_process()\n\nImplement the NFSv4.1 backchannel service.  Invokes the common callback\nprocessing logic svc_process_common() to authenticate the call and\ndispatch the appropriate NFSv4.1 XDR decoder and operation procedure.\nIt then invokes bc_send() to send the reply over the same connection.\nbc_send() is implemented in a separate patch.\n\nAt this time there is no slot validation or reply cache handling.\n\n[nfs41: Preallocate rpc_rqst receive buffer for handling callbacks]\nSigned-off-by: Ricardo Labiaga \u003cRicardo.Labiaga@netapp.com\u003e\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n[Move bc_svc_process() declaration to correct patch]\nSigned-off-by: Ricardo Labiaga \u003cRicardo.Labiaga@netapp.com\u003e\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n"
    },
    {
      "commit": "1cad7ea6fe98dc414bd3df55275c147bd15ebf97",
      "tree": "1df4c7075e6a197bc95d69e6d1c95a8b8f4b8646",
      "parents": [
        "0d90ba1cd416525c4825c111db862d8b15a02e9b"
      ],
      "author": {
        "name": "Ricardo Labiaga",
        "email": "ricardo.labiaga@netapp.com",
        "time": "Wed Apr 01 09:23:06 2009 -0400"
      },
      "committer": {
        "name": "Benny Halevy",
        "email": "bhalevy@panasas.com",
        "time": "Wed Jun 17 14:11:28 2009 -0700"
      },
      "message": "nfs41: Refactor svc_process()\n\nnet/sunrpc/svc.c:svc_process() is used by the NFSv4 callback service\nto process RPC requests arriving over connections initiated by the\nserver.  NFSv4.1 supports callbacks over the backchannel on connections\ninitiated by the client.  This patch refactors svc_process() so that\ncommon code can also be used by the backchannel.\n\nSigned-off-by: Ricardo Labiaga \u003cricardo.labiaga@netapp.com\u003e\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n"
    },
    {
      "commit": "0d90ba1cd416525c4825c111db862d8b15a02e9b",
      "tree": "1f1571410b2d1b17eb8e503fc3b60450f93e9dee",
      "parents": [
        "55ae1aabfb108106dd095de2578ceef1c755a8b8"
      ],
      "author": {
        "name": "Ricardo Labiaga",
        "email": "Ricardo.Labiaga@netapp.com",
        "time": "Wed Apr 01 09:23:04 2009 -0400"
      },
      "committer": {
        "name": "Benny Halevy",
        "email": "bhalevy@panasas.com",
        "time": "Wed Jun 17 14:11:28 2009 -0700"
      },
      "message": "nfs41: Backchannel callback service helper routines\n\nExecutes the backchannel task on the RPC state machine using\nthe existing open connection previously established by the client.\n\nSigned-off-by: Ricardo Labiaga \u003cricardo.labiaga@netapp.com\u003e\n\nnfs41: Add bc_svc.o to sunrpc Makefile.\n\n[nfs41: bc_send() does not need to be exported outside RPC module]\n[nfs41: xprt_free_bc_request() need not be exported outside RPC module]\nSigned-off-by: Ricardo Labiaga \u003cRicardo.Labiaga@netapp.com\u003e\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n[Update copyright]\nSigned-off-by: Ricardo Labiaga \u003cRicardo.Labiaga@netapp.com\u003e\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n"
    },
    {
      "commit": "55ae1aabfb108106dd095de2578ceef1c755a8b8",
      "tree": "7ccb91f5aac0a3646f7d4e8fbe913955aa300f95",
      "parents": [
        "44b98efdd0a205bdca2cb63493350d06ff6804b1"
      ],
      "author": {
        "name": "Ricardo Labiaga",
        "email": "Ricardo.Labiaga@netapp.com",
        "time": "Wed Apr 01 09:23:03 2009 -0400"
      },
      "committer": {
        "name": "Benny Halevy",
        "email": "bhalevy@panasas.com",
        "time": "Wed Jun 17 14:11:24 2009 -0700"
      },
      "message": "nfs41: Add backchannel processing support to RPC state machine\n\nAdds rpc_run_bc_task() which is called by the NFS callback service to\nprocess backchannel requests.  It performs similar work to rpc_run_task()\nthough \"schedules\" the backchannel task to be executed starting at the\ncall_trasmit state in the RPC state machine.\n\nIt also introduces some miscellaneous updates to the argument validation,\ncall_transmit, and transport cleanup functions to take into account\nthat there are now forechannel and backchannel tasks.\n\nBackchannel requests do not carry an RPC message structure, since the\npayload has already been XDR encoded using the existing NFSv4 callback\nmechanism.\n\nIntroduce a new transmit state for the client to reply on to backchannel\nrequests.  This new state simply reserves the transport and issues the\nreply.  In case of a connection related error, disconnects the transport and\ndrops the reply.  It requires the forechannel to re-establish the connection\nand the server to retransmit the request, as stated in NFSv4.1 section\n2.9.2 \"Client and Server Transport Behavior\".\n\nNote: There is no need to loop attempting to reserve the transport.  If EAGAIN\nis returned by xprt_prepare_transmit(), return with tk_status \u003d\u003d 0,\nsetting tk_action to call_bc_transmit.  rpc_execute() will invoke it again\nafter the task is taken off the sleep queue.\n\n[nfs41: rpc_run_bc_task() need not be exported outside RPC module]\n[nfs41: New call_bc_transmit RPC state]\nSigned-off-by: Ricardo Labiaga \u003cRicardo.Labiaga@netapp.com\u003e\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n[nfs41: Backchannel: No need to loop in call_bc_transmit()]\nSigned-off-by: Andy Adamson \u003candros@netapp.com\u003e\nSigned-off-by: Ricardo Labiaga \u003cRicardo.Labiaga@netapp.com\u003e\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n[rpc_count_iostats incorrectly exits early]\nSigned-off-by: Ricardo Labiaga \u003cRicardo.Labiaga@netapp.com\u003e\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n[Convert rpc_reply_expected() to inline function]\n[Remove unnecessary BUG_ON()]\n[Rename variable]\nSigned-off-by: Ricardo Labiaga \u003cRicardo.Labiaga@netapp.com\u003e\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n"
    },
    {
      "commit": "88b5ed73bcd0f21e008b6e303a02c8b7cb1199f4",
      "tree": "efe474f18f8c175b3bfc04f31e8723ed376cc804",
      "parents": [
        "3fe0344faf7fdcb158bd5c1a9aec960a8d70c8e8"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Jun 17 13:22:57 2009 -0700"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Jun 17 13:22:57 2009 -0700"
      },
      "message": "SUNRPC: Fix a missing \"break\" option in xs_tcp_setup_socket()\n\nIn the case of -EADDRNOTAVAIL and/or unhandled connection errors, we want\nto get rid of the existing socket and retry immediately, just as the\ncomment says. Currently we end up sleeping for a minute, due to the missing\n\"break\" statement.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "44b98efdd0a205bdca2cb63493350d06ff6804b1",
      "tree": "d375e3a8a6084672f15e9b12bec082613448340e",
      "parents": [
        "4a8d70bfef01f8e6b27785e2625e88e9a80924a5"
      ],
      "author": {
        "name": "Ricardo Labiaga",
        "email": "Ricardo.Labiaga@netapp.com",
        "time": "Wed Apr 01 09:23:02 2009 -0400"
      },
      "committer": {
        "name": "Benny Halevy",
        "email": "bhalevy@panasas.com",
        "time": "Wed Jun 17 13:06:16 2009 -0700"
      },
      "message": "nfs41: New xs_tcp_read_data()\n\nHandles RPC replies and backchannel callbacks.  Traditionally the NFS\nclient has expected only RPC replies on its open connections.  With\nNFSv4.1, callbacks can arrive over an existing open connection.\n\nThis patch refactors the old xs_tcp_read_request() into an RPC reply handler:\nxs_tcp_read_reply(), a new backchannel callback handler: xs_tcp_read_callback(),\nand a common routine to read the data off the transport: xs_tcp_read_common().\nThe new xs_tcp_read_callback() queues callback requests onto a queue where\nthe callback service (a separate thread) is listening for the processing.\n\nThis patch incorporates work and suggestions from Rahul Iyer (iyer@netapp.com)\nand Benny Halevy (bhalevy@panasas.com).\n\nxs_tcp_read_callback() drops the connection when the number of expected\ncallbacks is exceeded.  Use xprt_force_disconnect(), ensuring tasks on\nthe pending queue are awaken on disconnect.\n\n[nfs41: Keep track of RPC call/reply direction with a flag]\n[nfs41: Preallocate rpc_rqst receive buffer for handling callbacks]\nSigned-off-by: Ricardo Labiaga \u003cricardo.labiaga@netapp.com\u003e\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n[nfs41: sunrpc: xs_tcp_read_callback() should use xprt_force_disconnect()]\nSigned-off-by: Ricardo Labiaga \u003cRicardo.Labiaga@netapp.com\u003e\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n[Moves embedded #ifdefs into #ifdef function blocks]\nSigned-off-by: Ricardo Labiaga \u003cRicardo.Labiaga@netapp.com\u003e\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n"
    },
    {
      "commit": "fb7a0b9addbdbbb13b7bc02abf55ee524ea19ce1",
      "tree": "58f623e78f74c590e20b48f95897c5857d39728f",
      "parents": [
        "f9acac1a4710ce88871f1ae323fc91c1cb6e9d52"
      ],
      "author": {
        "name": "Ricardo Labiaga",
        "email": "Ricardo.Labiaga@netapp.com",
        "time": "Wed Apr 01 09:23:00 2009 -0400"
      },
      "committer": {
        "name": "Benny Halevy",
        "email": "bhalevy@panasas.com",
        "time": "Wed Jun 17 13:06:14 2009 -0700"
      },
      "message": "nfs41: New backchannel helper routines\n\nThis patch introduces support to setup the callback xprt on the client side.\nIt allocates/ destroys the preallocated memory structures used to process\nbackchannel requests.\n\nAt setup time, xprt_setup_backchannel() is invoked to allocate one or\nmore rpc_rqst structures and substructures.  This ensures that they\nare available when an RPC callback arrives.  The rpc_rqst structures\nare maintained in a linked list attached to the rpc_xprt structure.\nWe keep track of the number of allocations so that they can be correctly\nremoved when the channel is destroyed.\n\nWhen an RPC callback arrives, xprt_alloc_bc_request() is invoked to\nobtain a preallocated rpc_rqst structure.  An rpc_xprt structure is\nreturned, and its RPC_BC_PREALLOC_IN_USE bit is set in\nrpc_xprt-\u003ebc_flags.  The structure is removed from the the list\nsince it is now in use, and it will be later added back when its\nuser is done with it.\n\nAfter the RPC callback replies, the rpc_rqst structure is returned\nby invoking xprt_free_bc_request().  This clears the\nRPC_BC_PREALLOC_IN_USE bit and adds it back to the list, allowing it\nto be reused by a subsequent RPC callback request.\n\nTo be consistent with the reception of RPC messages, the backchannel requests\nshould be placed into the \u0027struct rpc_rqst\u0027 rq_rcv_buf, which is then in turn\ncopied to the \u0027struct rpc_rqst\u0027 rq_private_buf.\n\n[nfs41: Preallocate rpc_rqst receive buffer for handling callbacks]\nSigned-off-by: Ricardo Labiaga \u003cRicardo.Labiaga@netapp.com\u003e\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n[Update copyright notice and explain page allocation]\nSigned-off-by: Ricardo Labiaga \u003cRicardo.Labiaga@netapp.com\u003e\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n"
    },
    {
      "commit": "f9acac1a4710ce88871f1ae323fc91c1cb6e9d52",
      "tree": "89b51a8fac7b80cd68d1007d00fa11da4480a04d",
      "parents": [
        "56632b5bff5af10eb12d7e9499b5ffcadcb7a7b2"
      ],
      "author": {
        "name": "Ricardo Labiaga",
        "email": "Ricardo.Labiaga@netapp.com",
        "time": "Wed Apr 01 09:22:59 2009 -0400"
      },
      "committer": {
        "name": "Benny Halevy",
        "email": "bhalevy@panasas.com",
        "time": "Wed Jun 17 13:06:14 2009 -0700"
      },
      "message": "nfs41: Initialize new rpc_xprt callback related fields\n\nSigned-off-by: Ricardo Labiaga \u003cricardo.labiaga@netapp.com\u003e\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n"
    },
    {
      "commit": "f4a2e418bfd03a1f25f515e8a92ecd584d96cfc1",
      "tree": "31ea603214b4c68c338af9373b85eedfe0c11275",
      "parents": [
        "18dca02aeb3c49dfce87c76be643b139d05cf647"
      ],
      "author": {
        "name": "Ricardo Labiaga",
        "email": "Ricardo.Labiaga@netapp.com",
        "time": "Wed Apr 01 09:22:54 2009 -0400"
      },
      "committer": {
        "name": "Benny Halevy",
        "email": "bhalevy@panasas.com",
        "time": "Wed Jun 17 12:43:46 2009 -0700"
      },
      "message": "nfs41: Process the RPC call direction\n\nReading and storing the RPC direction is a three step process.\n\n1. xs_tcp_read_calldir() reads the RPC direction, but it will not store it\nin the XDR buffer since the \u0027struct rpc_rqst\u0027 is not yet available.\n\n2. The \u0027struct rpc_rqst\u0027 is obtained during the TCP_RCV_COPY_DATA state.\nThis state need not necessarily be preceeded by the TCP_RCV_READ_CALLDIR.\nFor example, we may be reading a continuation packet to a large reply.\nTherefore, we can\u0027t simply obtain the \u0027struct rpc_rqst\u0027 during the\nTCP_RCV_READ_CALLDIR state and assume it\u0027s available during TCP_RCV_COPY_DATA.\n\nThis patch adds a new TCP_RCV_READ_CALLDIR flag to indicate the need to\nread the RPC direction.  It then uses TCP_RCV_COPY_CALLDIR to indicate the\nRPC direction needs to be saved after the \u0027struct rpc_rqst\u0027 has been allocated.\n\n3. The \u0027struct rpc_rqst\u0027 is obtained by the xs_tcp_read_data() helper\nfunctions.  xs_tcp_read_common() then saves the RPC direction in the XDR\nbuffer if TCP_RCV_COPY_CALLDIR is set.  This will happen when we\u0027re reading\nthe data immediately after the direction was read.  xs_tcp_read_common()\nthen clears this flag.\n\n[was nfs41: Skip past the RPC call direction]\nSigned-off-by: Ricardo Labiaga \u003cRicardo.Labiaga@netapp.com\u003e\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n[nfs41: sunrpc: Add RPC direction back into the XDR buffer]\nSigned-off-by: Ricardo Labiaga \u003cRicardo.Labiaga@netapp.com\u003e\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n[nfs41: sunrpc: Don\u0027t skip past the RPC call direction]\nSigned-off-by: Ricardo Labiaga \u003cRicardo.Labiaga@netapp.com\u003e\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n"
    },
    {
      "commit": "18dca02aeb3c49dfce87c76be643b139d05cf647",
      "tree": "3e261efdba69b967500a36d8f65ac643c8693d76",
      "parents": [
        "34dc1ad752ad3f55b2a6e6cd8cfcf3504682fec7"
      ],
      "author": {
        "name": "Ricardo Labiaga",
        "email": "Ricardo.Labiaga@netapp.com",
        "time": "Wed Apr 01 09:22:53 2009 -0400"
      },
      "committer": {
        "name": "Benny Halevy",
        "email": "bhalevy@panasas.com",
        "time": "Wed Jun 17 12:43:45 2009 -0700"
      },
      "message": "nfs41: Add ability to read RPC call direction on TCP stream.\n\nNFSv4.1 callbacks can arrive over an existing connection. This patch adds\nthe logic to read the RPC call direction (call or reply). It does this by\nupdating the state machine to look for the call direction invoking\nxs_tcp_read_calldir(...) after reading the XID.\n\n[nfs41: Keep track of RPC call/reply direction with a flag]\n\nAs per 11/14/08 review of RFC 53/85.\n\nAdd a new flag to track whether the incoming message is an RPC call or an\nRPC reply.  TCP_RPC_REPLY is set in the \u0027struct sock_xprt\u0027 tcp_flags in\nxs_tcp_read_calldir() if the message is an RPC reply sent on the forechannel.\nIt is cleared if the message is an RPC request sent on the back channel.\n\nSigned-off-by: Ricardo Labiaga \u003cRicardo.Labiaga@netapp.com\u003e\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n"
    },
    {
      "commit": "aae2006e9b0c294114915c13022fa348e1a88023",
      "tree": "2643d2ed1b2d44c5e5d7577e1ae0516eae95f977",
      "parents": [
        "c3fad1b1aaf850bf692642642ace7cd0d64af0a3"
      ],
      "author": {
        "name": "Andy Adamson",
        "email": "andros@netapp.com",
        "time": "Wed Apr 01 09:22:40 2009 -0400"
      },
      "committer": {
        "name": "Benny Halevy",
        "email": "bhalevy@panasas.com",
        "time": "Wed Jun 17 12:25:07 2009 -0700"
      },
      "message": "nfs41: sunrpc: Export the call prepare state for session reset\n\nSigned-off-by: Andy Adamson\u003candros@netapp.com\u003e\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "62bc62a873116805774ffd37d7f86aa4faa832b1",
      "tree": "7f3f5b94b2d484a13ca27b8d3f6f54cfe126d7c0",
      "parents": [
        "974709bdb2a34db378fc84140220f363f558d0d6"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "cl@linux-foundation.org",
        "time": "Tue Jun 16 15:32:15 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jun 16 19:47:35 2009 -0700"
      },
      "message": "page allocator: use a pre-calculated value instead of num_online_nodes() in fast paths\n\nnum_online_nodes() is called in a number of places but most often by the\npage allocator when deciding whether the zonelist needs to be filtered\nbased on cpusets or the zonelist cache.  This is actually a heavy function\nand touches a number of cache lines.\n\nThis patch stores the number of online nodes at boot time and updates the\nvalue when nodes get onlined and offlined.  The value is then used in a\nnumber of important paths in place of num_online_nodes().\n\n[rientjes@google.com: do not override definition of node_set_online() with macro]\nSigned-off-by: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nSigned-off-by: Mel Gorman \u003cmel@csn.ul.ie\u003e\nCc: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nCc: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Nick Piggin \u003cnickpiggin@yahoo.com.au\u003e\nCc: Dave Hansen \u003cdave@linux.vnet.ibm.com\u003e\nCc: Lee Schermerhorn \u003cLee.Schermerhorn@hp.com\u003e\nSigned-off-by: David Rientjes \u003crientjes@google.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "59fb30660be3f3ead54b3850c401d462449caaaa",
      "tree": "d052746d89590b44b854ff2a2fc1dfa7d816040b",
      "parents": [
        "e4636d535e32768c8c500641ddb144f56e3dc5c0"
      ],
      "author": {
        "name": "Christian Engelmayer",
        "email": "christian.engelmayer@frequentis.com",
        "time": "Sun Jun 14 00:05:26 2009 +0200"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Mon Jun 15 19:34:32 2009 -0700"
      },
      "message": "sunrpc: potential memory leak in function rdma_read_xdr\n\nIn case the check on ch_count fails the cleanup path is skipped and the\npreviously allocated memory \u0027rpl_map\u0027, \u0027chl_map\u0027 is not freed.\n\nReported by Coverity.\n\nSigned-off-by: Christian Engelmayer \u003cchristian.engelmayer@frequentis.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    }
  ],
  "next": "6aad89c8376e432231b78d1bdbcc10ef7708b011"
}
