)]}'
{
  "log": [
    {
      "commit": "1df00640c9111c881633d9b219f18e66c52599ec",
      "tree": "e36d3924d84f47ec93f6650ff1fd5b8ea7d10d24",
      "parents": [
        "ab4684d1560f8d77f6ce82bd3f1f82937070d397",
        "5a7c9eec9fde1da0e3adf0a4ddb64ff2a324a492"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Wed Mar 21 16:42:14 2012 -0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Mon Mar 26 11:48:54 2012 -0400"
      },
      "message": "Merge nfs containerization work from Trond\u0027s tree\n\nThe nfs containerization work is a prerequisite for Jeff Layton\u0027s reboot\nrecovery rework.\n"
    },
    {
      "commit": "b3b536a1230a14e3ef97e5331ba7ad036c6258a9",
      "tree": "16c60f7c5cb0728d9728e00892d63b15527057d1",
      "parents": [
        "e27d359e9b7e446190362cd5c8fe281d02194896"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Tue Mar 20 19:20:53 2012 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Mar 21 09:31:31 2012 -0400"
      },
      "message": "SUNRPC: Kill compiler warning when RPC_DEBUG is unset\n\nLoads of these:\n\nlinux/net/sunrpc/rpcb_clnt.c:942:2: warning: suggest braces around\n  empty body in ‘do’ statement [-Wempty-body]\n\nshow up when I unset CONFIG_PROC_SYSCTL.  Seen with\n\n  gcc (GCC) 4.6.1 20110908 (Red Hat 4.6.1-9)\n\nReported-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "e27d359e9b7e446190362cd5c8fe281d02194896",
      "tree": "5dece1801337b32e9d4ecc03e487a95856b413fa",
      "parents": [
        "3b3be88d67cc17d0f0ab6edaf131516793fc947e"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sun Mar 18 14:07:42 2012 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Mar 20 13:08:26 2012 -0400"
      },
      "message": "SUNRPC/NFS: Add Kbuild dependencies for NFS_DEBUG/RPC_DEBUG\n\nThis allows us to turn on/off the dprintk() debugging interfaces for\nthose distributions that don\u0027t ship the \u0027rpcdebug\u0027 utility.\nIt also allows us to add Kbuild dependencies. Specifically, we already\nknow that dprintk() in general relies on CONFIG_SYSCTL. Now it turns out\nthat the NFS dprintks depend on CONFIG_CRC32 after we added support\nfor the filehandle hash.\n\nReported-by: Paul Gortmaker \u003cpaul.gortmaker@windriver.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "09acfea5d8de419ebe84be43b08f7b79c965215f",
      "tree": "16f7ef15b00d8601917de6812b9ac951c9458ef6",
      "parents": [
        "17280175c587469b34757263c7cfc608f0ea2334"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sun Mar 11 15:22:54 2012 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sun Mar 11 19:30:02 2012 -0400"
      },
      "message": "SUNRPC: Fix a few sparse warnings\n\nnet/sunrpc/svcsock.c:412:22: warning: incorrect type in assignment\n(different address spaces)\n - svc_partial_recvfrom now takes a struct kvec, so the variable\n   save_iovbase needs to be an ordinary (void *)\n\nMake a bunch of variables in net/sunrpc/xprtsock.c static\n\nFix a couple of \"warning: symbol \u0027foo\u0027 was not declared. Should it be\nstatic?\" reports.\n\nFix a couple of conflicting function declarations.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "1fa9c4440c151c61eb3309579a85aae22c9adb6d",
      "tree": "8486bf25a142b3b222ee8cb0e3475bc79c6fd4d2",
      "parents": [
        "a8ae08ebf1f336808e20c1c275f68d36d88e0682"
      ],
      "author": {
        "name": "Dan Carpenter",
        "email": "dan.carpenter@oracle.com",
        "time": "Tue Feb 21 10:28:04 2012 +0300"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Tue Mar 06 18:13:33 2012 -0500"
      },
      "message": "svcrdma: silence a Sparse warning\n\nSparse complains that the definition function definition and the\nimplementation aren\u0027t anotated the same way.\n\nSigned-off-by: Dan Carpenter \u003cdan.carpenter@oracle.com\u003e\nAcked-by: Tom Tucker \u003ctom@opengridcomputing.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@redhat.com\u003e\n"
    },
    {
      "commit": "2e738fdce22f9a7edf20281fd2d768ef9785922e",
      "tree": "634895e561ad33ac4be20adaf610f420e0de5ace",
      "parents": [
        "4e0038b6b246e4145fc4a53dca61a556d17bc52c"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Thu Mar 01 17:01:14 2012 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Mar 02 15:36:53 2012 -0500"
      },
      "message": "SUNRPC: Add API to acquire source address\n\nNFSv4.0 clients must send endpoint information for their callback\nservice to NFSv4.0 servers during their first contact with a server.\nTraditionally on Linux, user space provides the callback endpoint IP\naddress via the \"clientaddr\u003d\" mount option.\n\nDuring an NFSv4 migration event, it is possible that an FSID may be\nmigrated to a destination server that is accessible via a different\nsource IP address than the source server was.  The client must update\ncallback endpoint information on the destination server so that it can\nmaintain leases and allow delegation.\n\nWithout a new \"clientaddr\u003d\" option from user space, however, the\nkernel itself must construct an appropriate IP address for the\ncallback update.  Provide an API in the RPC client for upper layer\nRPC consumers to acquire a source address for a remote.\n\nThe mechanism used by the mount.nfs command is copied: set up a\nconnected UDP socket to the designated remote, then scrape the source\naddress off the socket.  We are careful to select the correct network\nnamespace when setting up the temporary UDP socket.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "4e0038b6b246e4145fc4a53dca61a556d17bc52c",
      "tree": "67055f0c5dca7a4a24b062b1320675ad468d7b69",
      "parents": [
        "2446ab6070861aba2dd9229463ffbc40016a9f33"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Mar 01 17:01:05 2012 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Mar 02 15:36:41 2012 -0500"
      },
      "message": "SUNRPC: Move clnt-\u003ecl_server into struct rpc_xprt\n\nWhen the cl_xprt field is updated, the cl_server field will also have\nto change.  Since the contents of cl_server follow the remote endpoint\nof cl_xprt, just move that field to the rpc_xprt.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n[ cel: simplify check_gss_callback_principal(), whitespace changes ]\n[ cel: forward ported to 3.4 ]\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "2446ab6070861aba2dd9229463ffbc40016a9f33",
      "tree": "2e366c3236788936b9f4f58c0787ae01c265f4a4",
      "parents": [
        "a3ca5651cb5eebe2e56e510bbf5cd60abc301c9f"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Mar 01 17:00:56 2012 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Mar 02 15:36:38 2012 -0500"
      },
      "message": "SUNRPC: Use RCU to dereference the rpc_clnt.cl_xprt field\n\nA migration event will replace the rpc_xprt used by an rpc_clnt.  To\nensure this can be done safely, all references to cl_xprt must now use\na form of rcu_dereference().\n\nSpecial care is taken with rpc_peeraddr2str(), which returns a pointer\nto memory whose lifetime is the same as the rpc_xprt.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n[ cel: fix lockdep splats and layering violations ]\n[ cel: forward ported to 3.4 ]\n[ cel: remove rpc_max_reqs(), add rpc_net_ns() ]\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "591ad7feaec5417681b4112f8df52fc43bb7c92e",
      "tree": "0555df9d98236f6a63ca109632a277c4458842e3",
      "parents": [
        "2c9030eef9dbd0d737a7f55646da70d217fd6255"
      ],
      "author": {
        "name": "Stanislav Kinsbursky",
        "email": "skinsbursky@parallels.com",
        "time": "Mon Feb 27 22:05:54 2012 +0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Feb 27 13:37:48 2012 -0500"
      },
      "message": "SUNRPC: move waitq from RPC pipe to RPC inode\n\nCurrently, wait queue, used for polling of RPC pipe changes from user-space,\nis a part of RPC pipe. But the pipe data itself can be released on NFS umount\nprior to dentry-inode pair, connected to it (is case of this pair is open by\nsome process).\nThis is not a problem for almost all pipe users, because all PipeFS file\noperations checks pipe reference prior to using it.\nExcept evenfd. This thing registers itself with \"poll\" file operation and thus\nhas a reference to pipe wait queue. This leads to oopses on destroying eventfd\nafter NFS umount (like rpc_idmapd do) since not pipe data left to the point\nalready.\nThe solution is to wait queue from pipe data to internal RPC inode data. This\nlooks more logical, because this wiat queue used only for user-space processes,\nwhich already holds inode reference.\n\nNote: upcalls have to get pipe-\u003edentry prior to dereferecing wait queue to make\nsure, that mount point won\u0027t disappear from underneath us.\n\nSigned-off-by: Stanislav Kinsbursky \u003cskinsbursky@parallels.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "cec56c8ff5e28f58ff13041dca7853738ae577a1",
      "tree": "fb21c7337e046cb2361faca4931907e28fadcb5d",
      "parents": [
        "2c8bd7e0d1b66b2f8f267fd6ab62a30569c792c0"
      ],
      "author": {
        "name": "Tom Tucker",
        "email": "tom@ogc.us",
        "time": "Wed Feb 15 11:30:00 2012 -0600"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Fri Feb 17 18:38:50 2012 -0500"
      },
      "message": "svcrdma: Cleanup sparse warnings in the svcrdma module\n\nThe svcrdma transport was un-marshalling requests in-place. This resulted\nin sparse warnings due to __beXX data containing both NBO and HBO data.\n\nThe code has been restructured to do byte-swapping as the header is\nparsed instead of when the header is validated immediately after receipt.\n\nAlso moved extern declarations for the workqueue and memory pools to the\nprivate header file.\n\nSigned-off-by: Tom Tucker \u003ctom@ogc.us\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@redhat.com\u003e\n"
    },
    {
      "commit": "0a702195234eb77c4097148285cccf7f095de9cf",
      "tree": "40fead6b131fb3c24e3cd85e39fbba8057196457",
      "parents": [
        "b6bf6e7d6f6fae1ddcae9e02dfe676bdc8fe892c"
      ],
      "author": {
        "name": "Weston Andros Adamson",
        "email": "dros@netapp.com",
        "time": "Fri Feb 17 13:15:24 2012 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Feb 17 13:39:47 2012 -0500"
      },
      "message": "NFS: include filelayout DS rpc stats in mountstats\n\nInclude RPC statistics from all data servers in /proc/self/mountstats for pNFS\nfilelayout mounts.\n\nSigned-off-by: Weston Andros Adamson \u003cdros@netapp.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "dbb9c2a22d32492544765e798386daa2d9da27d2",
      "tree": "997ad46ec944ec99fcb95f566825c3ea9506ff50",
      "parents": [
        "15a4520621824a3c2eb2de2d1f3984bc1663d3c8"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Wed Feb 15 16:35:08 2012 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Feb 16 14:55:30 2012 -0500"
      },
      "message": "SUNRPC: Use KERN_DEFAULT for debugging printk\u0027s\n\nOur dprintk() debugging facility doesn\u0027t specify any verbosity level\nfor it\u0027s printk() calls, but it should.\n\nThe default verbosity for printk\u0027s is KERN_DEFAULT.  You might argue\nthat these are debugging printk\u0027s and thus the verbosity should be\nKERN_DEBUG.  That would mean that to see NFS and SUNRPC debugging\noutput an admin would also have to boost the syslog verbosity, which\nwould be insufferably noisy.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "15a4520621824a3c2eb2de2d1f3984bc1663d3c8",
      "tree": "0ff258cf98774c72793ece98f2605f3fe132e352",
      "parents": [
        "1d96e80faff57b9eefa283b35716a384bbb3d5b3"
      ],
      "author": {
        "name": "Andy Adamson",
        "email": "andros@netapp.com",
        "time": "Tue Feb 14 16:19:18 2012 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Feb 16 14:55:27 2012 -0500"
      },
      "message": "SUNRPC: add sending,pending queue and max slot to xprt stats\n\nWith static RPC slots, the xprt backlog queue stats were useful in showing\nwhen the transport (TCP) was starved by lack of RPC slots. The new dynamic\nRPC slot code, commit d9ba131d8f58c0d2ff5029e7002ab43f913b36f9, always\nprovides an RPC slot and so only uses the xprt backlog queue when the\ntcp_max_slot_table_entries value has been hit or when an allocation error\noccurs. All requests are now placed on the xprt sending or pending queue which\nneed to be monitored for debugging.\n\nThe max_slot stat shows the maximum number of dynamic RPC slots reached which is\nuseful when debugging performance issues.\n\nAdd the new fields at the end of the mountstats xprt stanza so that mountstats\noutputs the previous correct values and ignores the new fields. Bump\nNFS_IOSTATS_VERS.\n\nSigned-off-by: Andy Adamson \u003candros@netapp.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "2f09c24216cd789653eb8efbf8be88409eb8d581",
      "tree": "8ad3049b8303e4537f03ce3c11abdad468cd0803",
      "parents": [
        "685f50f9188ac1e8244d0340a9d6ea36b6136cec"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Feb 08 22:01:15 2012 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Feb 15 00:19:51 2012 -0500"
      },
      "message": "SUNRPC: Ensure that we can trace waitqueues when !defined(CONFIG_SYSCTL)\n\nThe tracepoint code relies on the queue-\u003ename being defined in order to\nbe able to display the name of the waitqueue on which an RPC task is\nsleeping.\n\nReported-by: Randy Dunlap \u003crdunlap@xenotime.net\u003e\nReported-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\nAcked-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\nAcked-by: Randy Dunlap \u003crdunlap@xenotime.net\u003e\n"
    },
    {
      "commit": "bb2224df5ffe4f864f5b696199b17db1ce77bc0a",
      "tree": "1aa476668966b94ea5f5e399ea15f3aede936f47",
      "parents": [
        "a9c5d73a8d8cb37601f8c39b35b9b4128e1a5254"
      ],
      "author": {
        "name": "Stanislav Kinsbursky",
        "email": "skinsbursky@parallels.com",
        "time": "Tue Jan 31 15:08:05 2012 +0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Feb 15 00:19:47 2012 -0500"
      },
      "message": "Lockd: per-net up and down routines introduced\n\nThis patch introduces per-net Lockd initialization and destruction routines.\nThe logic is the same as in global Lockd up and down routines. Probably the\nsolution is not the best one. But at least it looks clear.\nSo per-net \"up\" routine are called only in case of lockd is running already. If\nper-net resources are not allocated yet, then service is being registered with\nlocal portmapper and lockd sockets created.\nPer-net \"down\" routine is called on every lockd_down() call in case of global\nusers counter is not zero.\n\nSigned-off-by: Stanislav Kinsbursky \u003cskinsbursky@parallels.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "7b147f1ff267d12e0d189ca3d4156ed5a76b8d99",
      "tree": "651496e6e08521de934b2ad0953e2b81d3f5da2f",
      "parents": [
        "3a22bf506c9df47e93e8dc8a68d86cd8ae384d98"
      ],
      "author": {
        "name": "Stanislav Kinsbursky",
        "email": "skinsbursky@parallels.com",
        "time": "Tue Jan 31 14:09:17 2012 +0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Feb 15 00:19:45 2012 -0500"
      },
      "message": "SUNRPC: service destruction in network namespace context\n\nv2: Added comment to BUG_ON\u0027s in svc_destroy() to make code looks clearer.\n\nThis patch introduces network namespace filter for service destruction\nfunction.\nNothing special here - just do exactly the same operations, but only for\ntranports in passed networks namespace context.\nBTW, BUG_ON() checks for empty service transports lists were returned into\nsvc_destroy() function. This is because of swithing generic svc_close_all() to\nnetworks namespace dependable svc_close_net().\n\nSigned-off-by: Stanislav Kinsbursky \u003cskinsbursky@parallels.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "883381246c5ac2c29b849fe619f55fa5961ee76d",
      "tree": "363c99395d0a71d46f1c7ff2d40210cbf46fc985",
      "parents": [
        "5753cba17611af108995672c4e2d978014e17a56"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Feb 06 15:18:48 2012 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Feb 06 18:47:35 2012 -0500"
      },
      "message": "SUNRPC: Change the default limit to the number of TCP slots\n\nSince the scheme of limiting the number of TCP slots to whatever will\nfit in the current TCP window seems to be working well (Andy reports\ngetting within 20% of the \u0027iperf\u0027 send performance on a 10GigE link)\nwe should just let that be the default mode of operation.\n\nUsers may still set their own limits using the tcp_max_slot_table_entries\nparameter if they need to.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "82b0a4c3c171b180629696e8d1d5f52516f711e6",
      "tree": "60aab7bc3a767e3c017a228597eaaeedeffe4c00",
      "parents": [
        "a613fa168afc19179a7547fbba45644c5b6912bf"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Jan 20 14:52:23 2012 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Jan 31 19:28:21 2012 -0500"
      },
      "message": "SUNRPC: Add trace events to the sunrpc subsystem\n\nAdd declarations to allow tracing of RPC call creation, running, sleeping,\nand destruction.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "a613fa168afc19179a7547fbba45644c5b6912bf",
      "tree": "02db1b9ca905ff49d9811175607757e3a885325f",
      "parents": [
        "080b794ce5ad318ce34c52abaedf1bc6788a5abb"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Jan 20 13:53:56 2012 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Jan 31 19:28:20 2012 -0500"
      },
      "message": "SUNRPC: constify the rpc_program\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "080b794ce5ad318ce34c52abaedf1bc6788a5abb",
      "tree": "f44c01823db805ae30e866d458dc5c6f7002750a",
      "parents": [
        "6eac7d3f45a2519283d38bf670cb6968230124f8"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Jan 20 13:53:56 2012 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Jan 31 19:28:20 2012 -0500"
      },
      "message": "SUNRPC: constify rpc_program-\u003ename\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "6eac7d3f45a2519283d38bf670cb6968230124f8",
      "tree": "af5542a51d63d971d2fe1af95e27617dc4947104",
      "parents": [
        "4cb54ca2069903121e4c03ec427147c47bed5755"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Jan 20 13:53:37 2012 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Jan 31 19:28:19 2012 -0500"
      },
      "message": "SUNRPC: constify rpc_clnt fields cl_server and cl_protname\n\n...and get rid of the superfluous cl_inline_name.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "4cb54ca2069903121e4c03ec427147c47bed5755",
      "tree": "2d156d3d9f37a385a27f444f315c0498f0e9475f",
      "parents": [
        "babea479b75a9ea3d84ace6d880513e18397a8bb"
      ],
      "author": {
        "name": "Stanislav Kinsbursky",
        "email": "skinsbursky@parallels.com",
        "time": "Fri Jan 20 16:50:53 2012 +0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Jan 31 19:28:19 2012 -0500"
      },
      "message": "SUNRPC: search for service transports in network namespace context\n\nService transports are parametrized by network namespace. And thus lookup of\ntransport instance have to take network namespace into account.\n\nSigned-off-by: Stanislav Kinsbursky \u003cskinsbursky@parallels.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\nAcked-by: J. Bruce Fields \u003cbfields@redhat.com\u003e\n"
    },
    {
      "commit": "246590f56c9f281d60b7dd7efa0818307e65600d",
      "tree": "aa48cef874939af0de0e78bf51d983e3ed8d50f6",
      "parents": [
        "cc9f4be5ffb86b4b483eeb15eb08aebc60a1b9a9"
      ],
      "author": {
        "name": "Stanislav Kinsbursky",
        "email": "skinsbursky@parallels.com",
        "time": "Tue Dec 06 16:42:49 2011 +0300"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Jan 31 19:28:18 2012 -0500"
      },
      "message": "SUNRPC: register service stats /proc entries in passed network namespace context\n\nThis patch makes it possible to create NFSd program entry (\"/proc/net/rpc/nfsd\")\nin passed network namespace context instead of hard-coded \"init_net\".\n\nSigned-off-by: Stanislav Kinsbursky \u003cskinsbursky@parallels.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "cc9f4be5ffb86b4b483eeb15eb08aebc60a1b9a9",
      "tree": "72d21c6ef76ba379e09031513a90b893c1cb2b3e",
      "parents": [
        "ec7652aaf261b7dcb368344369df1e99886c7cd2"
      ],
      "author": {
        "name": "Randy Dunlap",
        "email": "rdunlap@xenotime.net",
        "time": "Tue Jan 24 03:28:07 2012 +0000"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Jan 31 19:28:18 2012 -0500"
      },
      "message": "sunrpc: fix stats.h for CONFIG_PROC_FS not enabled\n\nFix build errors in linux/sunrpc/stats.h when CONFIG_PROC_FS\nis not enabled:\n- add parameter names to inline functions\n- fix placement of \u0027(\u0027 in rpc_proc_unregister()\n\nFixes these errors:\ninclude/linux/sunrpc/stats.h:72:63: error: parameter name omitted\ninclude/linux/sunrpc/stats.h:73:46: error: expected \u0027\u003d\u0027, \u0027,\u0027, \u0027;\u0027, \u0027asm\u0027 or \u0027__attribute__\u0027 before \u0027net\u0027\n\nSigned-off-by: Randy Dunlap \u003crdunlap@xenotime.net\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "ec7652aaf261b7dcb368344369df1e99886c7cd2",
      "tree": "0d21ca45022adb1221690cb5e368bc17d3f58531",
      "parents": [
        "170942726b16a1dfcc605f0b510b9663b66fa7a3"
      ],
      "author": {
        "name": "Stanislav Kinsbursky",
        "email": "skinsbursky@parallels.com",
        "time": "Tue Dec 06 16:42:40 2011 +0300"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Jan 31 19:28:17 2012 -0500"
      },
      "message": "SUNRPC: register RPC stats /proc entries in passed network namespace context\n\nThis patch makes it possible to create NFS program entry (\"/proc/net/rpc/nfs\")\nin passed network namespace context instead of hard-coded \"init_net\".\n\nSigned-off-by: Stanislav Kinsbursky \u003cskinsbursky@parallels.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "2c5f846747526e2b83c5f1b8e69016be0e2e87c0",
      "tree": "730240d3ab15aaaee9e45cbb351f637e4ad122f4",
      "parents": [
        "d05cc10406893dec65b8e89746e7d4c333935415"
      ],
      "author": {
        "name": "Stanislav Kinsbursky",
        "email": "skinsbursky@parallels.com",
        "time": "Thu Jan 19 21:42:53 2012 +0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Jan 31 19:28:16 2012 -0500"
      },
      "message": "SUNRPC: generic cache register routines removed\n\nAll cache users now uses network-namespace-aware routines, so generic ones\nare obsolete.\n\nSigned-off-by: Stanislav Kinsbursky \u003cskinsbursky@parallels.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\nAcked-by: J. Bruce Fields \u003cbfields@redhat.com\u003e\n"
    },
    {
      "commit": "a1db410d0bbadc49943f0fcddb21702ceb429396",
      "tree": "09f1a94d7c4ef70d6122f936b1fa309996f170ee",
      "parents": [
        "73393232d6a425b6bb4cee590e3e66fc52532a15"
      ],
      "author": {
        "name": "Stanislav Kinsbursky",
        "email": "skinsbursky@parallels.com",
        "time": "Thu Jan 19 21:42:37 2012 +0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Jan 31 19:28:15 2012 -0500"
      },
      "message": "SUNRPC: create GSS auth cache per network namespace\n\nThis patch makes GSS auth cache details allocated and registered per network\nnamespace context.\nThus with this patch rsi_cache and rsc_cache contents for network namespace \"X\"\nare controlled from proc file system mount for the same network namespace \"X\".\n\nSigned-off-by: Stanislav Kinsbursky \u003cskinsbursky@parallels.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\nAcked-by: J. Bruce Fields \u003cbfields@redhat.com\u003e\n"
    },
    {
      "commit": "0a402d5a653ee2b613aaba3092a87b1e964622ce",
      "tree": "160a5942e42d7a537859e318837bf475bc8123e0",
      "parents": [
        "5ecebb7c7fd737cf387a552994df319c063973db"
      ],
      "author": {
        "name": "Stanislav Kinsbursky",
        "email": "skinsbursky@parallels.com",
        "time": "Thu Jan 19 21:42:21 2012 +0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Jan 31 19:28:14 2012 -0500"
      },
      "message": "SUNRPC: cache creation and destruction routines introduced\n\nThis patch prepares infrastructure for network namespace aware cache detail\nallocation.\nOne note about adding network namespace link to cache structure. It\u0027s going to\nbe used later in NFS DNS cache parsing routine (nfs_dns_parse for rpc_pton()\ncall).\n\nSigned-off-by: Stanislav Kinsbursky \u003cskinsbursky@parallels.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\nAcked-by: J. Bruce Fields \u003cbfields@redhat.com\u003e\n"
    },
    {
      "commit": "5ecebb7c7fd737cf387a552994df319c063973db",
      "tree": "5442ab61f417961b8908f1d2e82f837204830b80",
      "parents": [
        "bee42f688c915b510a4aabae4f7a99457137d6f3"
      ],
      "author": {
        "name": "Stanislav Kinsbursky",
        "email": "skinsbursky@parallels.com",
        "time": "Fri Jan 13 14:03:04 2012 +0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Jan 31 19:28:14 2012 -0500"
      },
      "message": "SUNRPC: unregister service on creation in current network namespace\n\nOn service shutdown we can be sure, that no more users of it left except\ncurrent. Thus it looks like using current network namespace context is safe in\nthis case.\n\nSigned-off-by: Stanislav Kinsbursky \u003cskinsbursky@parallels.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "5247fab5c82779174d50590e0200bf532248a8a1",
      "tree": "e9933b229e07e2a74020ce5af74ddfe83cc95db7",
      "parents": [
        "b030fb0bb113316cc6f56779388b8572ab0699da"
      ],
      "author": {
        "name": "Stanislav Kinsbursky",
        "email": "skinsbursky@parallels.com",
        "time": "Fri Jan 13 14:02:48 2012 +0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Jan 31 19:28:13 2012 -0500"
      },
      "message": "SUNRPC: pass network namespace to service registering routines\n\nLockd and NFSd services will handle requests from and to many network\nnsamespaces. And thus have to be registered and unregistered per network\nnamespace.\n\nSigned-off-by: Stanislav Kinsbursky \u003cskinsbursky@parallels.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "f2ac4dc911fdbc9b98a6a48b40efc45aa9161775",
      "tree": "0edcf3975fc749ef1e079b197d1711accbb386e3",
      "parents": [
        "90100b1766c914c820baa78b5be6845fae1159b8"
      ],
      "author": {
        "name": "Stanislav Kinsbursky",
        "email": "skinsbursky@parallels.com",
        "time": "Fri Jan 13 13:09:27 2012 +0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Jan 31 19:28:12 2012 -0500"
      },
      "message": "SUNRPC: parametrize rpc_uaddr2sockaddr() by network context\n\nParametrize rpc_uaddr2sockaddr() by network context and thus force it\u0027s callers to pass\nin network context instead of using hard-coded \"init_net\".\n\nSigned-off-by: Stanislav Kinsbursky \u003cskinsbursky@parallels.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "90100b1766c914c820baa78b5be6845fae1159b8",
      "tree": "8bfc406c44d8238aff6be33773bccf2083d3f66e",
      "parents": [
        "8b147f74738d9ab7e76085e5535e0fe8dc8b29f4"
      ],
      "author": {
        "name": "Stanislav Kinsbursky",
        "email": "skinsbursky@parallels.com",
        "time": "Fri Jan 13 13:09:19 2012 +0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Jan 31 19:28:12 2012 -0500"
      },
      "message": "SUNRPC: parametrize rpc_pton() by network context\n\nParametrize rpc_pton() by network context and thus force it\u0027s callers to pass\nin network context instead of using hard-coded \"init_net\".\n\nSigned-off-by: Stanislav Kinsbursky \u003cskinsbursky@parallels.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "f7a30c18e8d673c996095420a026a28433cb4096",
      "tree": "a5f84a1fed803c837be1570b0faa073219fdc399",
      "parents": [
        "977ac3157328239a0f4074b13a3d9eb5c832cd6c"
      ],
      "author": {
        "name": "Stanislav Kinsbursky",
        "email": "skinsbursky@parallels.com",
        "time": "Fri Jan 13 12:52:51 2012 +0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Jan 31 19:28:11 2012 -0500"
      },
      "message": "SUNRPC: parametrize local rpcbind clients creation with net ns\n\nThese client are per network namespace and thus can be created for different\nnetwork namespaces.\n\nSigned-off-by: Stanislav Kinsbursky \u003cskinsbursky@parallels.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "977ac3157328239a0f4074b13a3d9eb5c832cd6c",
      "tree": "6b309227b39229a0afd1158c768f3a796e755791",
      "parents": [
        "c2550e07a61a4528673fb85aaaee16048b7cf6cc"
      ],
      "author": {
        "name": "Stanislav Kinsbursky",
        "email": "skinsbursky@parallels.com",
        "time": "Fri Jan 13 12:52:43 2012 +0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Jan 31 19:28:10 2012 -0500"
      },
      "message": "SUNRPC: register rpcbind programs in passed network namespase context\n\nRegistering rpcbind program requires rpcbind clients, which are per network\nnamespace context.\n\nSigned-off-by: Stanislav Kinsbursky \u003cskinsbursky@parallels.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "961a828df64979d2a9faeeeee043391670a193b9",
      "tree": "4b7ddaf1a19c589e3c8ec96b6c732faa507f2899",
      "parents": [
        "2aeb98f498ce37742b743080fdc6c8cf64053599"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Jan 17 22:57:37 2012 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Jan 31 19:28:08 2012 -0500"
      },
      "message": "SUNRPC: Fix potential races in xprt_lock_write_next()\n\nWe have to ensure that the wake up from the waitqueue and the assignment\nof xprt-\u003esnd_task are atomic. We can do this by assigning the snd_task\nwhile under the waitqueue spinlock.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "12bc372b96b35a2dc9245ec61369028932b82ea8",
      "tree": "63bd7adfee1d632cf32a703bd714cde46ef82fda",
      "parents": [
        "2561d618ffb615f92fe17f0cf6b03f8e5cddb2cb"
      ],
      "author": {
        "name": "Stanislav Kinsbursky",
        "email": "skinsbursky@parallels.com",
        "time": "Tue Jan 10 17:04:48 2012 +0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Jan 31 18:20:27 2012 -0500"
      },
      "message": "SUNRPC: kernel PipeFS mount point creation routines removed\n\nThis patch removes static rpc_mnt variable and its creation and destruction\nroutines, because they are not used anymore.\n\nSigned-off-by: Stanislav Kinsbursky \u003cskinsbursky@parallels.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "eee17325f1dfbe004f1475743bab9e3d050d00f5",
      "tree": "ca48905e04e88658cff7d1a745a12ac3c04cfd77",
      "parents": [
        "4929d1d33fdbe8385cdd49ccd23563e9ff247ff8"
      ],
      "author": {
        "name": "Stanislav Kinsbursky",
        "email": "skinsbursky@parallels.com",
        "time": "Tue Jan 10 16:13:19 2012 +0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Jan 31 18:20:27 2012 -0500"
      },
      "message": "NFS: idmap PipeFS notifier introduced\n\nv2:\n1) Added \"nfs_idmap_init\" and \"nfs_idmap_quit\" definitions for kernels built\nwithout CONFIG_NFS_V4 option set.\n\nThis patch subscribes NFS clients to RPC pipefs notifications. Idmap notifier\nis registering on NFS module load. This notifier callback is responsible for\ncreation/destruction of PipeFS idmap pipe dentry for NFS4 clients.\n\nSince ipdmap pipe is created in rpc client pipefs directory, we have make sure,\nthat this directory has been created already. IOW RPC client notifier callback\nhas been called already. To achive this, PipeFS notifier priorities has been\nintroduced (RPC clients notifier priority is greater than NFS idmap one).\nBut this approach gives another problem: unlink for RPC client directory will\nbe called before NFS idmap pipe unlink on UMOUNT event and will fail, because\ndirectory is not empty.\nThe solution, introduced in this patch, is to try to remove client directory\nonce again after idmap pipe was unlinked. This looks like ugly hack, so\nprobably it should be replaced in some more elegant way.\n\nNote that no locking required in notifier callback because PipeFS superblock\npointer is passed as an argument from it\u0027s creation or destruction routine and\nthus we can be sure about it\u0027s validity.\n\nSigned-off-by: Stanislav Kinsbursky \u003cskinsbursky@parallels.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "820f9442e711a81749e70c40f149fc54c4ce0ca8",
      "tree": "d3e3f9b6e32cc8f19189d9760ce60ee502b81ee8",
      "parents": [
        "30507f58ce11e7664512059c708347d7a7d75271"
      ],
      "author": {
        "name": "Stanislav Kinsbursky",
        "email": "skinsbursky@parallels.com",
        "time": "Fri Nov 25 17:12:40 2011 +0300"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Jan 31 18:20:26 2012 -0500"
      },
      "message": "SUNRPC: split cache creation and PipeFS registration\n\nThis precursor patch splits SUNRPC cache creation and PipeFS registartion.\nIt\u0027s required for latter split of NFS DNS resolver cache creation per network\nnamespace context and PipeFS registration/unregistration on MOUNT/UMOUNT\nevents.\n\nSigned-off-by: Stanislav Kinsbursky \u003cskinsbursky@parallels.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "30507f58ce11e7664512059c708347d7a7d75271",
      "tree": "91af30e05a4423f4a86ed3852880bdaf45854244",
      "parents": [
        "70fe25b6e1a535f09792d1ed7012036c7bd506b2"
      ],
      "author": {
        "name": "Stanislav Kinsbursky",
        "email": "skinsbursky@parallels.com",
        "time": "Wed Jan 11 19:18:42 2012 +0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Jan 31 18:20:26 2012 -0500"
      },
      "message": "SUNRPC: remove RPC PipeFS mount point reference from RPC client\n\nThis is a cleanup patch. We don\u0027t need this reference anymore.\n\nSigned-off-by: Stanislav Kinsbursky \u003cskinsbursky@parallels.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "80df9d202255071c8ec610a6a3fdca5cac69f7bd",
      "tree": "140bf4a80e2ffe5d5e5601330b9a3e27e1aecf14",
      "parents": [
        "70abc49b4f4a4ef04a6bd9852edbd047b480bed7"
      ],
      "author": {
        "name": "Stanislav Kinsbursky",
        "email": "skinsbursky@parallels.com",
        "time": "Wed Jan 11 19:18:17 2012 +0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Jan 31 18:20:25 2012 -0500"
      },
      "message": "SUNRPC: subscribe RPC clients to pipefs notifications\n\nThis patch subscribes RPC clients to RPC pipefs notifications. RPC clients\nnotifier block is registering with pipefs initialization during SUNRPC module\ninit.\nThis notifier callback is responsible for RPC client PipeFS directory and GSS\npipes creation. For pipes creation and destruction two additional callbacks\nwere added to struct rpc_authops.\nNote that no locking required in notifier callback because PipeFS superblock\npointer is passed as an argument from it\u0027s creation or destruction routine and\nthus we can be sure about it\u0027s validity.\n\nSigned-off-by: Stanislav Kinsbursky \u003cskinsbursky@parallels.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "70abc49b4f4a4ef04a6bd9852edbd047b480bed7",
      "tree": "7c9a266ff8838d7945106920a5f0251861a850a5",
      "parents": [
        "ccdc28f81c91f7ef2dc6c28d27f50264b19e4dd5"
      ],
      "author": {
        "name": "Stanislav Kinsbursky",
        "email": "skinsbursky@parallels.com",
        "time": "Thu Jan 12 22:07:51 2012 +0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Jan 31 18:20:25 2012 -0500"
      },
      "message": "SUNRPC: make SUNPRC clients list per network namespace context\n\nThis patch moves static SUNRPC clients list and it\u0027s lock to sunrpc_net\nstructure.\nCurrently this list is used only for debug purposes. But later it will be used\nalso for selecting clients by networks namespace on PipeFS mount/umount events.\nPer-network namespace lists will make this faster and simplier.\n\nNote: client list is taken from \"init_net\" network namespace context in\nrpc_show_tasks(). This will be changed some day later with making SUNRPC\nsysctl\u0027s per network namespace context.\n\nSigned-off-by: Stanislav Kinsbursky \u003cskinsbursky@parallels.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "c239d83b9921b8a8005a3bcd23000cfe18acf5c2",
      "tree": "c94e20d8f286e63a2e75b15d413c3a8c5da45b8d",
      "parents": [
        "9beae4677de76cfa4ce8899dc8cd1a1cf8cd8332"
      ],
      "author": {
        "name": "Stanislav Kinsbursky",
        "email": "skinsbursky@parallels.com",
        "time": "Mon Dec 26 15:44:06 2011 +0300"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Jan 31 18:20:25 2012 -0500"
      },
      "message": "SUNRPC: split SUNPRC PipeFS dentry and private pipe data creation\n\nThis patch is a final step towards to removing PipeFS inode references from\nkernel code other than PipeFS itself. It makes all kernel SUNRPC PipeFS users\ndepends on pipe private data, which state depend on their specific operations,\netc.\nThis patch completes SUNRPC PipeFS preparations and allows to create pipe\nprivate data and PipeFS dentries independently.\nNext step will be making SUNPRC PipeFS dentries allocated by SUNRPC PipeFS\nnetwork namespace aware routines.\n\nSigned-off-by: Stanislav Kinsbursky \u003cskinsbursky@parallels.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "d706ed1f50d3f7fae61a177183562179abe8e4bb",
      "tree": "8f66aaf4276a616ac6006c3fb96b13d6b543143d",
      "parents": [
        "d0fe13ba9178d3bb78bbd8577bdedc00f76b7a66"
      ],
      "author": {
        "name": "Stanislav Kinsbursky",
        "email": "skinsbursky@parallels.com",
        "time": "Mon Dec 26 15:43:49 2011 +0300"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Jan 31 18:20:25 2012 -0500"
      },
      "message": "SUNPRC: cleanup RPC PipeFS pipes upcall interface\n\nRPC pipe upcall doesn\u0027t requires only private pipe data. Thus RPC inode\nreferences in this code can be removed.\n\nSigned-off-by: Stanislav Kinsbursky \u003cskinsbursky@parallels.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "ba9e097593f371ebd102580a0c5b1b2cf55636a0",
      "tree": "737cda4281e4d77738149e8cd481d7414ccaf160",
      "parents": [
        "766347bec3490111e1c4482af7c7394868c2aed1"
      ],
      "author": {
        "name": "Stanislav Kinsbursky",
        "email": "skinsbursky@parallels.com",
        "time": "Mon Dec 26 15:43:32 2011 +0300"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Jan 31 18:20:24 2012 -0500"
      },
      "message": "SUNRPC: split SUNPRC PipeFS pipe data and inode creation\n\nGenerally, pipe data is used only for pipes, and thus allocating space for it\non every RPC inode allocation is redundant. This patch splits private SUNRPC\nPipeFS pipe data and inode, makes pipe data allocated only for pipe inodes.\nThis patch is also is a next step towards to to removing PipeFS inode\nreferences from kernel code other than PipeFS itself.\n\nSigned-off-by: Stanislav Kinsbursky \u003cskinsbursky@parallels.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "766347bec3490111e1c4482af7c7394868c2aed1",
      "tree": "afc06a17ceb7e7f1f0e119ec21e0102063b6992a",
      "parents": [
        "efc46bf2b2893132e07628ad8c06e915f3281fdc"
      ],
      "author": {
        "name": "Stanislav Kinsbursky",
        "email": "skinsbursky@parallels.com",
        "time": "Mon Dec 26 15:43:23 2011 +0300"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Jan 31 18:20:24 2012 -0500"
      },
      "message": "SUNRPC: replace inode lock with pipe lock for RPC PipeFS operations\n\nCurrenly, inode i_lock is used to provide concurrent access to SUNPRC PipeFS\npipes. It looks redundant, since now other use of inode is present in most of\nthese places and thus can be easely replaced, which will allow to remove most\nof inode references from PipeFS code. This is a first step towards to removing\nPipeFS inode references from kernel code other than PipeFS itself.\n\nSigned-off-by: Stanislav Kinsbursky \u003cskinsbursky@parallels.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "c21a588f35b1c50304e505fad542b3aab0814266",
      "tree": "2dda83e8d5f62eb9892c425941265aeeb278e952",
      "parents": [
        "90c4e82999c517e0cd00d0782c68d186cb18b784"
      ],
      "author": {
        "name": "Stanislav Kinsbursky",
        "email": "skinsbursky@parallels.com",
        "time": "Mon Dec 26 15:39:39 2011 +0300"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Jan 31 18:20:24 2012 -0500"
      },
      "message": "SUNRPC: pipefs per-net operations helper introduced\n\nDuring per-net pipes creation and destruction we have to make sure, that pipefs\nsb exists for the whole creation/destruction cycle. This is done by using\nspecial mutex which controls pipefs sb reference on network namespace context.\nHelper consists of two parts: first of them (rpc_get_dentry_net) searches for\ndentry with specified name and returns with mutex taken on success. When pipe\ncreation or destructions is completed, caller should release this mutex by\nrpc_put_dentry_net call.\n\nSigned-off-by: Stanislav Kinsbursky \u003cskinsbursky@parallels.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "432eb1a5fb380477ae759041bac2bb305977e436",
      "tree": "cf00739e461828c4757f74b324bab71952284649",
      "parents": [
        "2d00131acc641b2cb6f0bdefb8c7bdd8fdf7410b"
      ],
      "author": {
        "name": "Stanislav Kinsbursky",
        "email": "skinsbursky@parallels.com",
        "time": "Mon Dec 26 15:39:22 2011 +0300"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Jan 31 18:20:24 2012 -0500"
      },
      "message": "SUNRPC: pipefs dentry lookup helper introduced\n\nIn all places, where pipefs dentries are created, only directory inode is\nactually required to create new dentry. And all this directories has root\npipefs dentry as their parent. So we actually don\u0027t need this pipefs mount\npoint at all if some pipefs lookup method will be provided.\nIOW, all we really need is just superblock and simple lookup method to find\nroot\u0027s child dentry with appropriate name. And this patch introduces this\nmethod.\nNote, that no locking implemented in rpc_d_lookup_sb(). So it can be used only\nin case of assurance, that pipefs superblock still exist. IOW, we can use this\nmethod only in pipefs mount-umount notification subscribers callbacks.\n\nSigned-off-by: Stanislav Kinsbursky \u003cskinsbursky@parallels.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "2d00131acc641b2cb6f0bdefb8c7bdd8fdf7410b",
      "tree": "e8351c57f8d12431e7e02f7ff44960dde11800b7",
      "parents": [
        "021c68dec8c04c44cb82eb5bbee77028fafe22e8"
      ],
      "author": {
        "name": "Stanislav Kinsbursky",
        "email": "skinsbursky@parallels.com",
        "time": "Mon Dec 26 15:39:13 2011 +0300"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Jan 31 18:20:24 2012 -0500"
      },
      "message": "SUNRPC: send notification events on pipefs sb creation and destruction\n\nThey will be used to notify subscribers about pipefs superblock creation and\ndestruction.\nSubcribers will have to create their dentries on passed superblock on mount\nevent and destroy otherwise.\n\nSigned-off-by: Stanislav Kinsbursky \u003cskinsbursky@parallels.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "5bff0386305461021bbef2d958fa0f0151f56a6f",
      "tree": "59f7f61dd4bc44bd9742571baf3c0d88395ddcec",
      "parents": [
        "62aa2b537c6f5957afd98e29f96897419ed5ebab"
      ],
      "author": {
        "name": "Stanislav Kinsbursky",
        "email": "skinsbursky@parallels.com",
        "time": "Tue Nov 08 15:09:19 2011 +0300"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Jan 31 18:20:23 2012 -0500"
      },
      "message": "SUNRPC: remove non-exclusive pipe creation from RPC pipefs\n\nThis patch-set was created in context of clone of git branch:\ngit://git.linux-nfs.org/projects/trondmy/nfs-2.6.git.\n\nv2:\n1) Rebased of current repo state (i.e. all commits were pulled before apply)\n\nI feel it is ready for inclusion if no objections will appear.\n\nSUNRPC pipefs non-exclusive pipe creation code looks obsolete. IOW, as I see\nit, all pipes are creating with unique full path and only once.\n\nSigned-off-by: Stanislav Kinsbursky \u003cskinsbursky@parallels.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "0b48d42235caf627121f440b57d376f48a9af8b6",
      "tree": "400967c5fcb1cd08bbc0e1739e229f9717590f19",
      "parents": [
        "8e63dd6e1c589ba99a18df9cbaa41c3178607641",
        "7a6ef8c72314f254c107c6a9ed7cb201961ee05a"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Jan 14 12:26:41 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Jan 14 12:26:41 2012 -0800"
      },
      "message": "Merge branch \u0027for-3.3\u0027 of git://linux-nfs.org/~bfields/linux\n\n* \u0027for-3.3\u0027 of git://linux-nfs.org/~bfields/linux: (31 commits)\n  nfsd4: nfsd4_create_clid_dir return value is unused\n  NFSD: Change name of extended attribute containing junction\n  svcrpc: don\u0027t revert to SVC_POOL_DEFAULT on nfsd shutdown\n  svcrpc: fix double-free on shutdown of nfsd after changing pool mode\n  nfsd4: be forgiving in the absence of the recovery directory\n  nfsd4: fix spurious 4.1 post-reboot failures\n  NFSD: forget_delegations should use list_for_each_entry_safe\n  NFSD: Only reinitilize the recall_lru list under the recall lock\n  nfsd4: initialize special stateid\u0027s at compile time\n  NFSd: use network-namespace-aware cache registering routines\n  SUNRPC: create svc_xprt in proper network namespace\n  svcrpc: update outdated BKL comment\n  nfsd41: allow non-reclaim open-by-fh\u0027s in 4.1\n  svcrpc: avoid memory-corruption on pool shutdown\n  svcrpc: destroy server sockets all at once\n  svcrpc: make svc_delete_xprt static\n  nfsd: Fix oops when parsing a 0 length export\n  nfsd4: Use kmemdup rather than duplicating its implementation\n  nfsd4: add a separate (lockowner, inode) lookup\n  nfsd4: fix CONFIG_NFSD_FAULT_INJECTION compile error\n  ...\n"
    },
    {
      "commit": "57eccf1c2acae2fcb748730881ba75643fc31c81",
      "tree": "be47ac42ef0b2e3e7157ce196ad2ed1224739c6c",
      "parents": [
        "5c395ae7033099fc657114ea997858aa622f08b2",
        "074b1d12fe2500d7d453902f9266e6674b30d84c"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 10 14:57:40 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 10 14:57:40 2012 -0800"
      },
      "message": "Merge branch \u0027nfs-for-3.3\u0027 of git://git.linux-nfs.org/projects/trondmy/linux-nfs\n\n* \u0027nfs-for-3.3\u0027 of git://git.linux-nfs.org/projects/trondmy/linux-nfs:\n  NFSv4: Change the default setting of the nfs4_disable_idmapping parameter\n  NFSv4: Save the owner/group name string when doing open\n  NFS: Remove pNFS bloat from the generic write path\n  pnfs-obj: Must return layout on IO error\n  pnfs-obj: pNFS errors are communicated on iodata-\u003epnfs_error\n  NFS: Cache state owners after files are closed\n  NFS: Clean up nfs4_find_state_owners_locked()\n  NFSv4: include bitmap in nfsv4 get acl data\n  nfs: fix a minor do_div portability issue\n  NFSv4.1: cleanup comment and debug printk\n  NFSv4.1: change nfs4_free_slot parameters for dynamic slots\n  NFSv4.1: cleanup init and reset of session slot tables\n  NFSv4.1: fix backchannel slotid off-by-one bug\n  nfs: fix regression in handling of context\u003d option in NFSv4\n  NFS - fix recent breakage to NFS error handling.\n  NFS: Retry mounting NFSROOT\n  SUNRPC: Clean up the RPCSEC_GSS service ticket requests\n"
    },
    {
      "commit": "972b2c719990f91eb3b2310d44ef8a2d38955a14",
      "tree": "b25a250ec5bec4b7b6355d214642d8b57c5cab32",
      "parents": [
        "02550d61f49266930e674286379d3601006b2893",
        "c3aa077648e147783a7a53b409578234647db853"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Jan 08 12:19:57 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Jan 08 12:19:57 2012 -0800"
      },
      "message": "Merge branch \u0027for-linus2\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs\n\n* \u0027for-linus2\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs: (165 commits)\n  reiserfs: Properly display mount options in /proc/mounts\n  vfs: prevent remount read-only if pending removes\n  vfs: count unlinked inodes\n  vfs: protect remounting superblock read-only\n  vfs: keep list of mounts for each superblock\n  vfs: switch -\u003eshow_options() to struct dentry *\n  vfs: switch -\u003eshow_path() to struct dentry *\n  vfs: switch -\u003eshow_devname() to struct dentry *\n  vfs: switch -\u003eshow_stats to struct dentry *\n  switch security_path_chmod() to struct path *\n  vfs: prefer -\u003edentry-\u003ed_sb to -\u003emnt-\u003emnt_sb\n  vfs: trim includes a bit\n  switch mnt_namespace -\u003eroot to struct mount\n  vfs: take /proc/*/mounts and friends to fs/proc_namespace.c\n  vfs: opencode mntget() mnt_set_mountpoint()\n  vfs: spread struct mount - remaining argument of next_mnt()\n  vfs: move fsnotify junk to struct mount\n  vfs: move mnt_devname\n  vfs: move mnt_list to struct mount\n  vfs: switch pnode.h macros to struct mount *\n  ...\n"
    },
    {
      "commit": "bf118a342f10dafe44b14451a1392c3254629a1f",
      "tree": "50c2800c7c92f8e47e4a0a440e2a97847f678e19",
      "parents": [
        "3476f114addb7b96912840a234702f660a1f460b"
      ],
      "author": {
        "name": "Andy Adamson",
        "email": "andros@netapp.com",
        "time": "Wed Dec 07 11:55:27 2011 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Jan 05 10:42:42 2012 -0500"
      },
      "message": "NFSv4: include bitmap in nfsv4 get acl data\n\nThe NFSv4 bitmap size is unbounded: a server can return an arbitrary\nsized bitmap in an FATTR4_WORD0_ACL request.  Replace using the\nnfs4_fattr_bitmap_maxsz as a guess to the maximum bitmask returned by a server\nwith the inclusion of the bitmap (xdr length plus bitmasks) and the acl data\nxdr length to the (cached) acl page data.\n\nThis is a general solution to commit e5012d1f \"NFSv4.1: update\nnfs4_fattr_bitmap_maxsz\" and fixes hitting a BUG_ON in xdr_shrink_bufhead\nwhen getting ACLs.\n\nFix a bug in decode_getacl that returned -EINVAL on ACLs \u003e page when getxattr\nwas called with a NULL buffer, preventing ACL \u003e PAGE_SIZE from being retrieved.\n\nCc: stable@kernel.org\nSigned-off-by: Andy Adamson \u003candros@netapp.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "68c97153fb7f2877f98aa6c29546381d9cad2fed",
      "tree": "6c233c15758788758c819248a9d821d0083f4ca6",
      "parents": [
        "805a6af8dba5dfdd35ec35dc52ec0122400b2610"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Jan 03 13:22:46 2012 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Jan 05 10:42:38 2012 -0500"
      },
      "message": "SUNRPC: Clean up the RPCSEC_GSS service ticket requests\n\nInstead of hacking specific service names into gss_encode_v1_msg, we should\njust allow the caller to specify the service name explicitly.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\nAcked-by: J. Bruce Fields \u003cbfields@redhat.com\u003e\n"
    },
    {
      "commit": "64f1426f3c4f8dde9ac9bf3f3b19b88d17f2bae6",
      "tree": "ad4bcf7649654666d611cb65018ce484b108bfb0",
      "parents": [
        "a760b03dc0ac4c9663577ca45de5e0fe1c35dc13"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Jul 25 00:35:13 2011 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Jan 03 22:55:04 2012 -0500"
      },
      "message": "sunrpc: propagate umode_t\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "dfd56b8b38fff3586f36232db58e1e9f7885a605",
      "tree": "64c7142ebf4625939f68bd3603f1d37bacb20a73",
      "parents": [
        "1ded132d4c3442aa3a619c94c245d7b5e0eb9731"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Sat Dec 10 09:48:31 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Dec 11 18:25:16 2011 -0500"
      },
      "message": "net: use IS_ENABLED(CONFIG_IPV6)\n\nInstead of testing defined(CONFIG_IPV6) || defined(CONFIG_IPV6_MODULE)\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "bd4620ddf6d6eb3d9e7d073ad601fa4299d46ba9",
      "tree": "26625283079a642b4241b7b75482a0a558dd5ca9",
      "parents": [
        "94cf3179ccfc69d727dd884fd0831d82ada6bb06"
      ],
      "author": {
        "name": "Stanislav Kinsbursky",
        "email": "skinsbursky@parallels.com",
        "time": "Tue Dec 06 14:19:10 2011 +0300"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Tue Dec 06 16:20:42 2011 -0500"
      },
      "message": "SUNRPC: create svc_xprt in proper network namespace\n\nThis patch makes svc_xprt inherit network namespace link from its socket.\n\nSigned-off-by: Stanislav Kinsbursky \u003cskinsbursky@parallels.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@redhat.com\u003e\n"
    },
    {
      "commit": "2fefb8a09e7ed251ae8996e0c69066e74c5aa560",
      "tree": "6d353a2051063f63f4667d9e2d54ec30dec91049",
      "parents": [
        "7710ec36b6f516e026f9e29e50e67d2547c2a79b"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Tue Nov 29 11:35:35 2011 -0500"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Tue Dec 06 16:18:52 2011 -0500"
      },
      "message": "svcrpc: destroy server sockets all at once\n\nThere\u0027s no reason I can see that we need to call sv_shutdown between\nclosing the two lists of sockets.\n\nCc: stable@kernel.org\nSigned-off-by: J. Bruce Fields \u003cbfields@redhat.com\u003e\n"
    },
    {
      "commit": "7710ec36b6f516e026f9e29e50e67d2547c2a79b",
      "tree": "6e34f5fecde8cc6d4f95e94fd12c630daac425de",
      "parents": [
        "b2ea70afade7080360ac55c4e64ff7a5fafdb67b"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Fri Nov 25 18:44:05 2011 -0500"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Tue Dec 06 16:18:51 2011 -0500"
      },
      "message": "svcrpc: make svc_delete_xprt static\n\nSigned-off-by: J. Bruce Fields \u003cbfields@redhat.com\u003e\n"
    },
    {
      "commit": "4e3fd7a06dc20b2d8ec6892233ad2012968fe7b6",
      "tree": "da3fbec7672ac6b967dfa31cec6c88f468a57fa2",
      "parents": [
        "40ba84993d66469d336099c5af74c3da5b73e28d"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Mon Nov 21 03:39:03 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Nov 22 16:43:32 2011 -0500"
      },
      "message": "net: remove ipv6_addr_copy()\n\nC assignment can handle struct in6_addr copying.\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "32aaeffbd4a7457bf2f7448b33b5946ff2a960eb",
      "tree": "faf7ad871d87176423ff9ed1d1ba4d9c688fc23f",
      "parents": [
        "208bca0860406d16398145ddd950036a737c3c9d",
        "67b84999b1a8b1af5625b1eabe92146c5eb42932"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Nov 06 19:44:47 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Nov 06 19:44:47 2011 -0800"
      },
      "message": "Merge branch \u0027modsplit-Oct31_2011\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/paulg/linux\n\n* \u0027modsplit-Oct31_2011\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/paulg/linux: (230 commits)\n  Revert \"tracing: Include module.h in define_trace.h\"\n  irq: don\u0027t put module.h into irq.h for tracking irqgen modules.\n  bluetooth: macroize two small inlines to avoid module.h\n  ip_vs.h: fix implicit use of module_get/module_put from module.h\n  nf_conntrack.h: fix up fallout from implicit moduleparam.h presence\n  include: replace linux/module.h with \"struct module\" wherever possible\n  include: convert various register fcns to macros to avoid include chaining\n  crypto.h: remove unused crypto_tfm_alg_modname() inline\n  uwb.h: fix implicit use of asm/page.h for PAGE_SIZE\n  pm_runtime.h: explicitly requires notifier.h\n  linux/dmaengine.h: fix implicit use of bitmap.h and asm/page.h\n  miscdevice.h: fix up implicit use of lists and types\n  stop_machine.h: fix implicit use of smp.h for smp_processor_id\n  of: fix implicit use of errno.h in include/linux/of.h\n  of_platform.h: delete needless include \u003clinux/module.h\u003e\n  acpi: remove module.h include from platform/aclinux.h\n  miscdevice.h: delete unnecessary inclusion of module.h\n  device_cgroup.h: delete needless include \u003clinux/module.h\u003e\n  net: sch_generic remove redundant use of \u003clinux/module.h\u003e\n  net: inet_timewait_sock doesnt need \u003clinux/module.h\u003e\n  ...\n\nFix up trivial conflicts (other header files, and  removal of the ab3550 mfd driver) in\n - drivers/media/dvb/frontends/dibx000_common.c\n - drivers/media/video/{mt9m111.c,ov6650.c}\n - drivers/mfd/ab3550-core.c\n - include/linux/dmaengine.h\n"
    },
    {
      "commit": "31cbecb4ab538f433145bc5a46f3bea9b9627031",
      "tree": "d6206d42dea7298f7ef05fd1f7bf474245f0d43a",
      "parents": [
        "2b72c9ccd22c4a3299e5a358dcd639fb253730f4",
        "278c023a99b0d6b471d0f4a79835c703482e29ac"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Nov 02 23:56:40 2011 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Nov 02 23:56:40 2011 -0400"
      },
      "message": "Merge branch \u0027osd-devel\u0027 into nfs-for-next\n"
    },
    {
      "commit": "de47725421ad5627a5c905f4e40bb844ebc06d29",
      "tree": "bc23b0405d4a79dcc866a8b2877f128ee0ea9ffc",
      "parents": [
        "eb5589a8f0dab7e29021344228856339e6a1249c"
      ],
      "author": {
        "name": "Paul Gortmaker",
        "email": "paul.gortmaker@windriver.com",
        "time": "Thu May 26 13:46:22 2011 -0400"
      },
      "committer": {
        "name": "Paul Gortmaker",
        "email": "paul.gortmaker@windriver.com",
        "time": "Mon Oct 31 19:32:32 2011 -0400"
      },
      "message": "include: replace linux/module.h with \"struct module\" wherever possible\n\nThe \u003clinux/module.h\u003e pretty much brings in the kitchen sink along\nwith it, so it should be avoided wherever reasonably possible in\nterms of being included from other commonly used \u003clinux/something.h\u003e\nfiles, as it results in a measureable increase on compile times.\n\nThe worst culprit was probably device.h since it is used everywhere.\nThis file also had an implicit dependency/usage of mutex.h which was\nmasked by module.h, and is also fixed here at the same time.\n\nThere are over a dozen other headers that simply declare the\nstruct instead of pulling in the whole file, so follow their lead\nand simply make it a few more.\n\nMost of the implicit dependencies on module.h being present by\nthese headers pulling it in have been now weeded out, so we can\nfinally make this change with hopefully minimal breakage.\n\nSigned-off-by: Paul Gortmaker \u003cpaul.gortmaker@windriver.com\u003e\n"
    },
    {
      "commit": "ef78cc75f11ba3b085b105209cbfc6666ee10499",
      "tree": "1820dbd8ebb422b0a5751981cdfb6a2ecd30e20b",
      "parents": [
        "1442d1678ca7e53574fd403ba7bee6f4125d920c",
        "940aab490215424a269f93d2eba2794fc8b3e269"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Oct 25 15:44:06 2011 +0200"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Oct 25 15:44:06 2011 +0200"
      },
      "message": "Merge branch \u0027nfs-for-3.2\u0027 of git://git.linux-nfs.org/projects/trondmy/linux-nfs\n\n* \u0027nfs-for-3.2\u0027 of git://git.linux-nfs.org/projects/trondmy/linux-nfs: (26 commits)\n  Check validity of cl_rpcclient in nfs_server_list_show\n  NFS: Get rid of the nfs_rdata_mempool\n  NFS: Don\u0027t rely on PageError in nfs_readpage_release_partial\n  NFS: Get rid of unnecessary calls to ClearPageError() in read code\n  NFS: Get rid of nfs_restart_rpc()\n  NFS: Get rid of the unused nfs_write_data-\u003eflags field\n  NFS: Get rid of the unused nfs_read_data-\u003eflags field\n  NFSv4: Translate NFS4ERR_BADNAME into ENOENT when applied to a lookup\n  NFS: Remove the unused \"lookupfh()\" version of nfs4_proc_lookup()\n  NFS: Use the inode-\u003ei_version to cache NFSv4 change attribute information\n  SUNRPC: Remove unnecessary export of rpc_sockaddr2uaddr\n  SUNRPC: Fix rpc_sockaddr2uaddr\n  nfs/super.c: local functions should be static\n  pnfsblock: fix writeback deadlock\n  pnfsblock: fix NULL pointer dereference\n  pnfs: recoalesce when ld read pagelist fails\n  pnfs: recoalesce when ld write pagelist fails\n  pnfs: make _set_lo_fail generic\n  pnfsblock: add missing rpc_put_mount and path_put\n  SUNRPC/NFS: make rpc pipe upcall generic\n  ...\n"
    },
    {
      "commit": "16d0587090ab93206768f726f71d84ecf55e05c4",
      "tree": "0ee9fa3bb578218c7188df6abb518e06bb539d06",
      "parents": [
        "8e356b1e2a888c59d10a4842995a3273ca2d9086"
      ],
      "author": {
        "name": "Stanislav Kinsbursky",
        "email": "skinsbursky@parallels.com",
        "time": "Tue Oct 25 14:17:28 2011 +0300"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Oct 25 13:19:40 2011 +0200"
      },
      "message": "NFSd: call svc rpcbind cleanup explicitly\n\nWe have to call svc_rpcb_cleanup() explicitly from nfsd_last_thread() since\nthis function is registered as service shutdown callback and thus nobody else\nwill done it for us.\n\nSigned-off-by: Stanislav Kinsbursky \u003cskinsbursky@parallels.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "d99085605cd245d8f24858e9d0b06013e13aa044",
      "tree": "267911a05e429edd0a5628228d42721bace2ebfd",
      "parents": [
        "253fb070e78db981740b000914b04b9203092925"
      ],
      "author": {
        "name": "Stanislav Kinsbursky",
        "email": "skinsbursky@parallels.com",
        "time": "Tue Oct 25 14:16:58 2011 +0300"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Oct 25 13:18:05 2011 +0200"
      },
      "message": "SUNRPC: introduce svc helpers for prepairing rpcbind infrastructure\n\nThis helpers will be used only for those services, that will send portmapper\nregistration calls.\n\nSigned-off-by: Stanislav Kinsbursky \u003cskinsbursky@parallels.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "d77385f23830ee6c400569bac8b37e6eb3b7d360",
      "tree": "871501dccd72630f7aec103738e649c2fcb2fd9d",
      "parents": [
        "45402c38eec740f52422aafc92937c6a4a8c8c0e"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Oct 17 16:08:10 2011 -0700"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Oct 18 09:13:32 2011 -0700"
      },
      "message": "SUNRPC: Fix rpc_sockaddr2uaddr\n\nrpc_sockaddr2uaddr is only used by net/sunrpc/rpcb_clnt.c, where\nit is used in a non-blockable context in at least one case.\n\nAdd non-blocking capability by adding a gfp_t argument\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "c1225158a8dad9e9d5eee8a17dbbd9c7cda05ab9",
      "tree": "ed543930670a47c3cb911d5580941584509b73f2",
      "parents": [
        "fdc17abbc4b6094b34ee8ff5d91eaba8637594a2"
      ],
      "author": {
        "name": "Peng Tao",
        "email": "bergwolf@gmail.com",
        "time": "Thu Sep 22 21:50:10 2011 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Oct 18 09:08:12 2011 -0700"
      },
      "message": "SUNRPC/NFS: make rpc pipe upcall generic\n\nThe same function is used by idmap, gss and blocklayout code. Make it\ngeneric.\n\nSigned-off-by: Peng Tao \u003cpeng_tao@emc.com\u003e\nSigned-off-by: Jim Rees \u003crees@umich.edu\u003e\nCc: stable@kernel.org [3.0]\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "038c01598e728cda5b2996c4bf883e8485b2fe50",
      "tree": "6d2dbb22183d308fd3e85ddfea2286f0e77b99af",
      "parents": [
        "849a1cf13d4394d398d91752166e92e9ecd64f8d"
      ],
      "author": {
        "name": "Mi Jinlong",
        "email": "mijinlong@cn.fujitsu.com",
        "time": "Tue Aug 30 17:22:49 2011 +0800"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Wed Sep 14 08:22:02 2011 -0400"
      },
      "message": "SUNRPC: compare scopeid for link-local addresses\n\nFor ipv6 link-local addresses, sunrpc do not compare those scope id.\nThis patch let sunrpc compares scope id only on link-local addresses.\n\nSigned-off-by: Mi Jinlong \u003cmijinlong@cn.fujitsu.com\u003e\nReviewed-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nReviewed-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@redhat.com\u003e\n"
    },
    {
      "commit": "849a1cf13d4394d398d91752166e92e9ecd64f8d",
      "tree": "475c08721cb327b924035144f771dd2d85eda0cd",
      "parents": [
        "11fcee0293a6d9f0973e04f8b3fb6cd15a55bcce"
      ],
      "author": {
        "name": "Mi Jinlong",
        "email": "mijinlong@cn.fujitsu.com",
        "time": "Tue Aug 30 17:18:41 2011 +0800"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Wed Sep 14 08:21:48 2011 -0400"
      },
      "message": "SUNRPC: Replace svc_addr_u by sockaddr_storage\n\nFor IPv6 local address, lockd can not callback to client for\nmissing scope id when binding address at inet6_bind:\n\n 324       if (addr_type \u0026 IPV6_ADDR_LINKLOCAL) {\n 325               if (addr_len \u003e\u003d sizeof(struct sockaddr_in6) \u0026\u0026\n 326                   addr-\u003esin6_scope_id) {\n 327                       /* Override any existing binding, if another one\n 328                        * is supplied by user.\n 329                        */\n 330                       sk-\u003esk_bound_dev_if \u003d addr-\u003esin6_scope_id;\n 331               }\n 332\n 333               /* Binding to link-local address requires an interface */\n 334               if (!sk-\u003esk_bound_dev_if) {\n 335                       err \u003d -EINVAL;\n 336                       goto out_unlock;\n 337               }\n\nReplacing svc_addr_u by sockaddr_storage, let rqstp-\u003erq_daddr contains more info\nbesides address.\n\nReviewed-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nReviewed-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: Mi Jinlong \u003cmijinlong@cn.fujitsu.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@redhat.com\u003e\n"
    },
    {
      "commit": "11fd165c68b73434ca1273e21f21db5eecc90926",
      "tree": "75c3e2d97b2d59ebaaa4571df2ead80a4c4f35a5",
      "parents": [
        "c1f24ef4ed46f58ea5e524a2364c93b6847fb164"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Thu Jul 28 20:04:09 2011 +0200"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Fri Aug 19 13:25:36 2011 -0400"
      },
      "message": "sunrpc: use better NUMA affinities\n\nUse NUMA aware allocations to reduce latencies and increase throughput.\n\nsunrpc kthreads can use kthread_create_on_node() if pool_mode is\n\"percpu\" or \"pernode\", and svc_prepare_thread()/svc_init_buffer() can\nalso take into account NUMA node affinity for memory allocations.\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nCC: \"J. Bruce Fields\" \u003cbfields@fieldses.org\u003e\nCC: Neil Brown \u003cneilb@suse.de\u003e\nCC: David Miller \u003cdavem@davemloft.net\u003e\nReviewed-by: Greg Banks \u003cgnb@fastmail.fm\u003e\n[bfields@redhat.com: fix up caller nfs41_callback_up]\nSigned-off-by: J. Bruce Fields \u003cbfields@redhat.com\u003e\n"
    },
    {
      "commit": "28890d3598c352ae065b560e0fded3e79c800ba1",
      "tree": "93267c5b29b9e81185e66a6c2e70e67dc626b63f",
      "parents": [
        "91d41fdf31f74e6e2e5f3cb018eca4200e36e202",
        "ed1e6211a0a134ff23592c6f057af982ad5dab52"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jul 27 13:23:02 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jul 27 13:23:02 2011 -0700"
      },
      "message": "Merge branch \u0027nfs-for-3.1\u0027 of git://git.linux-nfs.org/projects/trondmy/linux-nfs\n\n* \u0027nfs-for-3.1\u0027 of git://git.linux-nfs.org/projects/trondmy/linux-nfs: (44 commits)\n  NFSv4: Don\u0027t use the delegation-\u003einode in nfs_mark_return_delegation()\n  nfs: don\u0027t use d_move in nfs_async_rename_done\n  RDMA: Increasing RPCRDMA_MAX_DATA_SEGS\n  SUNRPC: Replace xprt-\u003eresend and xprt-\u003esending with a priority queue\n  SUNRPC: Allow caller of rpc_sleep_on() to select priority levels\n  SUNRPC: Support dynamic slot allocation for TCP connections\n  SUNRPC: Clean up the slot table allocation\n  SUNRPC: Initalise the struct xprt upon allocation\n  SUNRPC: Ensure that we grab the XPRT_LOCK before calling xprt_alloc_slot\n  pnfs: simplify pnfs files module autoloading\n  nfs: document nfsv4 sillyrename issues\n  NFS: Convert nfs4_set_ds_client to EXPORT_SYMBOL_GPL\n  SUNRPC: Convert the backchannel exports to EXPORT_SYMBOL_GPL\n  SUNRPC: sunrpc should not explicitly depend on NFS config options\n  NFS: Clean up - simplify the switch to read/write-through-MDS\n  NFS: Move the pnfs write code into pnfs.c\n  NFS: Move the pnfs read code into pnfs.c\n  NFS: Allow the nfs_pageio_descriptor to signal that a re-coalesce is needed\n  NFS: Use the nfs_pageio_descriptor-\u003epg_bsize in the read/write request\n  NFS: Cache rpc_ops in struct nfs_pageio_descriptor\n  ...\n"
    },
    {
      "commit": "60063497a95e716c9a689af3be2687d261f115b4",
      "tree": "6ce0d68db76982c53df46aee5f29f944ebf2c320",
      "parents": [
        "148817ba092f9f6edd35bad3c6c6b8e8f90fe2ed"
      ],
      "author": {
        "name": "Arun Sharma",
        "email": "asharma@fb.com",
        "time": "Tue Jul 26 16:09:06 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 26 16:49:47 2011 -0700"
      },
      "message": "atomic: use \u003clinux/atomic.h\u003e\n\nThis allows us to move duplicated code in \u003casm/atomic.h\u003e\n(atomic_inc_not_zero() for now) to \u003clinux/atomic.h\u003e\n\nSigned-off-by: Arun Sharma \u003casharma@fb.com\u003e\nReviewed-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: David Miller \u003cdavem@davemloft.net\u003e\nCc: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nAcked-by: Mike Frysinger \u003cvapier@gentoo.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "1091006c5eb15cba56785bd5b498a8d0b9546903",
      "tree": "b51fad1bb57284b3eea4308c02652c4888b85860",
      "parents": [
        "3e98abffd1665b884a322aedcd528577842f762f"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Mon Jan 24 12:11:02 2011 -0500"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Mon Jul 18 09:39:01 2011 -0400"
      },
      "message": "nfsd: turn on reply cache for NFSv4\n\nIt\u0027s sort of ridiculous that we\u0027ve never had a working reply cache for\nNFSv4.\n\nOn the other hand, we may still not: our current reply cache is likely\nnot very good, especially in the TCP case (which is the only case that\nmatters for v4).  What we really need here is some serious testing.\n\nAnyway, here\u0027s a start.\n\nSigned-off-by: J. Bruce Fields \u003cbfields@redhat.com\u003e\n"
    },
    {
      "commit": "34006cee28f7344f9557a4be3816c7891b1bbab1",
      "tree": "2b0ddaa661a7dcb4715948b965ee307614b232f1",
      "parents": [
        "3b27bad7f7ceacca6d6c0ef647ffb38aa55a8336"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sun Jul 17 18:11:34 2011 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sun Jul 17 18:11:34 2011 -0400"
      },
      "message": "SUNRPC: Replace xprt-\u003eresend and xprt-\u003esending with a priority queue\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "3b27bad7f7ceacca6d6c0ef647ffb38aa55a8336",
      "tree": "ccf8bcd5f7276655c33133685a1be3f7281d8278",
      "parents": [
        "d9ba131d8f58c0d2ff5029e7002ab43f913b36f9"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sun Jul 17 18:11:34 2011 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sun Jul 17 18:11:34 2011 -0400"
      },
      "message": "SUNRPC: Allow caller of rpc_sleep_on() to select priority levels\n\nCurrently, the caller has to change the value of task-\u003etk_priority if\nit wants to select on which priority level the task will sleep.\n\nThis patch allows the caller to select a priority level at sleep time\nrather than always using task-\u003etk_priority.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "d9ba131d8f58c0d2ff5029e7002ab43f913b36f9",
      "tree": "f2ed7330c72077bf84954b989cbe1ff47522a115",
      "parents": [
        "21de0a955f3af29fa1100d96f66e6adade89e77a"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sun Jul 17 18:11:30 2011 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sun Jul 17 18:11:30 2011 -0400"
      },
      "message": "SUNRPC: Support dynamic slot allocation for TCP connections\n\nAllow the number of available slots to grow with the TCP window size.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "21de0a955f3af29fa1100d96f66e6adade89e77a",
      "tree": "0e829bc99fd3786361f78106f50e3961a5ee209b",
      "parents": [
        "8d9266ffe4332afc5ac9de401ef6f825b3798585"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sun Jul 17 16:57:32 2011 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sun Jul 17 16:57:32 2011 -0400"
      },
      "message": "SUNRPC: Clean up the slot table allocation\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "43cedbf0e8dfb9c5610eb7985d5f21263e313802",
      "tree": "7758630292b6a276a3db72e63803ddc02c0a4444",
      "parents": [
        "f85ef69ce08bc2209858135328335f668ba35bdb"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sun Jul 17 16:01:03 2011 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sun Jul 17 16:01:03 2011 -0400"
      },
      "message": "SUNRPC: Ensure that we grab the XPRT_LOCK before calling xprt_alloc_slot\n\nThis throttles the allocation of new slots when the socket is busy\nreconnecting and/or is out of buffer space.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "49b28684fdba2c84a3b8e54aaa0faa9ce2e4f140",
      "tree": "c64ee1e754e291d5a917417b25026e681d8a3d0d",
      "parents": [
        "094b5d74f4005ae1cc90688f2c814e00937809a8"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Tue Jun 21 15:27:43 2011 +1000"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Fri Jul 15 18:58:42 2011 -0400"
      },
      "message": "nfsd: Remove deprecated nfsctl system call and related code.\n\nAs promised in feature-removal-schedule.txt it is time to\nremove the nfsctl system call.\n\nUserspace has perferred to not use this call throughout 2.6 and it has been\nexcluded in the default configuration since 2.6.36 (9 months ago).\n\nSo this patch removes all the code that was being compiled out.\n\nThere are still references to sys_nfsctl in various arch systemcall tables\nand related code.  These should be cleaned out too, probably in the next\nmerge window.\n\nSigned-off-by: NeilBrown \u003cneilb@suse.de\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@redhat.com\u003e\n"
    },
    {
      "commit": "9e00abc3c20904fd6a5d888bb7023925799ec8a5",
      "tree": "ea6f8749fa21e5b23f02b36c3a82e405b495af0b",
      "parents": [
        "1f9453578f059d2651aa6c6b16756627fc9f2a74"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Jul 13 19:20:49 2011 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Jul 15 09:12:23 2011 -0400"
      },
      "message": "SUNRPC: sunrpc should not explicitly depend on NFS config options\n\nChange explicit references to CONFIG_NFS_V4_1 to implicit ones\nGet rid of the unnecessary defines in backchannel_rqst.c and\nbc_svc.c: the Makefile takes care of those dependency.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "2992c4bd5742b31a0ee00a76eee9c1c284507418",
      "tree": "b2af7d776ec6a4ae69b5f245ee0586359a99eabd",
      "parents": [
        "e08f6d4131ab964420f0bcabecc68d75fb49df79",
        "1650add23578b5ca35c1f1e863987180a8c03779"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jun 21 18:20:55 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jun 21 18:20:55 2011 -0700"
      },
      "message": "Merge branch \u0027bugfixes\u0027 of git://git.linux-nfs.org/projects/trondmy/nfs-2.6\n\n* \u0027bugfixes\u0027 of git://git.linux-nfs.org/projects/trondmy/nfs-2.6:\n  NFS: Fix decode_secinfo_maxsz\n  NFSv4.1: Fix an off-by-one error in pnfs_generic_pg_test\n  NFSv4.1: Fix some issues with pnfs_generic_pg_test\n  NFSv4.1: file layout must consider pg_bsize for coalescing\n  pnfs-obj: No longer needed to take an extra ref at add_device\n  SUNRPC: Ensure the RPC client only quits on fatal signals\n  NFSv4: Fix a readdir regression\n  nfs4.1: mark layout as bad on error path in _pnfs_return_layout\n  nfs4.1: prevent race that allowed use of freed layout in _pnfs_return_layout\n  NFSv4.1: need to put_layout_hdr on _pnfs_return_layout error path\n  NFS: (d)printks should use %zd for ssize_t arguments\n  NFSv4.1: fix break condition in pnfs_find_lseg\n  nfs4.1: fix several problems with _pnfs_return_layout\n  NFSv4.1: allow zero fh array in filelayout decode layout\n  NFSv4.1: allow nfs_fhget to succeed with mounted on fileid\n  NFSv4.1: Fix a refcounting issue in the pNFS device id cache\n  NFSv4.1: deprecate headerpadsz in CREATE_SESSION\n  NFS41: do not update isize if inode needs layoutcommit\n  NLM: Don\u0027t hang forever on NLM unlock requests\n  NFS: fix umount of pnfs filesystems\n"
    },
    {
      "commit": "0b760113a3a155269a3fba93a409c640031dd68f",
      "tree": "699dc3e0ebe2df11b0c67045c046deafdb56282d",
      "parents": [
        "9e3bd4e24e94d60d2e0762e919aab6c9a7fc0c5b"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue May 31 15:15:34 2011 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Jun 15 11:24:27 2011 -0400"
      },
      "message": "NLM: Don\u0027t hang forever on NLM unlock requests\n\nIf the NLM daemon is killed on the NFS server, we can currently end up\nhanging forever on an \u0027unlock\u0027 request, instead of aborting. Basically,\nif the rpcbind request fails, or the server keeps returning garbage, we\nreally want to quit instead of retrying.\n\nTested-by: Vasily Averin \u003cvvs@sw.ru\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\nCc: stable@kernel.org\n"
    },
    {
      "commit": "b084f598df36b62dfae83c10ed17f0b66b50f442",
      "tree": "afc1539781e533fc5db158f674eb1a1d88f00347",
      "parents": [
        "59c5f46fbe01a00eedf54a23789634438bb80603"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Tue May 31 12:24:58 2011 -0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Mon Jun 06 15:07:15 2011 -0400"
      },
      "message": "nfsd: fix dependency of nfsd on auth_rpcgss\n\nCommit b0b0c0a26e84 \"nfsd: add proc file listing kernel\u0027s gss_krb5\nenctypes\" added an nunnecessary dependency of nfsd on the auth_rpcgss\nmodule.\n\nIt\u0027s a little ad hoc, but since the only piece of information nfsd needs\nfrom rpcsec_gss_krb5 is a single static string, one solution is just to\nshare it with an include file.\n\nCc: stable@kernel.org\nReported-by: Michael Guntsche \u003cmike@it-loops.com\u003e\nCc: Kevin Coffman \u003ckwc@citi.umich.edu\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@redhat.com\u003e\n"
    },
    {
      "commit": "cd1acdf1723d71b28175f95b04305f1cc74ce363",
      "tree": "7ab58883eccd314be3d8efafd59a124d4ffbb861",
      "parents": [
        "fac04863cef53a69830590b2e1c54345068a9747",
        "9342077011d54f42fa1b88b7bc1f7008dcf5fff9"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun May 29 14:10:13 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun May 29 14:10:13 2011 -0700"
      },
      "message": "Merge branch \u0027pnfs-submit\u0027 of git://git.open-osd.org/linux-open-osd\n\n* \u0027pnfs-submit\u0027 of git://git.open-osd.org/linux-open-osd: (32 commits)\n  pnfs-obj: pg_test check for max_io_size\n  NFSv4.1: define nfs_generic_pg_test\n  NFSv4.1: use pnfs_generic_pg_test directly by layout driver\n  NFSv4.1: change pg_test return type to bool\n  NFSv4.1: unify pnfs_pageio_init functions\n  pnfs-obj: objlayout_encode_layoutcommit implementation\n  pnfs: encode_layoutcommit\n  pnfs-obj: report errors and .encode_layoutreturn Implementation.\n  pnfs: encode_layoutreturn\n  pnfs: layoutret_on_setattr\n  pnfs: layoutreturn\n  pnfs-obj: osd raid engine read/write implementation\n  pnfs: support for non-rpc layout drivers\n  pnfs-obj: define per-inode private structure\n  pnfs: alloc and free layout_hdr layoutdriver methods\n  pnfs-obj: objio_osd device information retrieval and caching\n  pnfs-obj: decode layout, alloc/free lseg\n  pnfs-obj: pnfs_osd XDR client implementation\n  pnfs-obj: pnfs_osd XDR definitions\n  pnfs-obj: objlayoutdriver module skeleton\n  ...\n"
    },
    {
      "commit": "a74d70b63f1a0230831bcca3145d85ae016f9d4c",
      "tree": "24392a2843b19e81a1a38d88b34e772bd688502b",
      "parents": [
        "b11b06d90a41766c2d31f0acb8a87aa0f2a7188f",
        "c47d832bc0155153920e507f075647519bad09a2"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun May 29 11:21:12 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun May 29 11:21:12 2011 -0700"
      },
      "message": "Merge branch \u0027for-2.6.40\u0027 of git://linux-nfs.org/~bfields/linux\n\n* \u0027for-2.6.40\u0027 of git://linux-nfs.org/~bfields/linux: (22 commits)\n  nfsd: make local functions static\n  NFSD: Remove unused variable from nfsd4_decode_bind_conn_to_session()\n  NFSD: Check status from nfsd4_map_bcts_dir()\n  NFSD: Remove setting unused variable in nfsd_vfs_read()\n  nfsd41: error out on repeated RECLAIM_COMPLETE\n  nfsd41: compare request\u0027s opcnt with session\u0027s maxops at nfsd4_sequence\n  nfsd v4.1 lOCKT clientid field must be ignored\n  nfsd41: add flag checking for create_session\n  nfsd41: make sure nfs server process OPEN with EXCLUSIVE4_1 correctly\n  nfsd4: fix wrongsec handling for PUTFH + op cases\n  nfsd4: make fh_verify responsibility of nfsd_lookup_dentry caller\n  nfsd4: introduce OPDESC helper\n  nfsd4: allow fh_verify caller to skip pseudoflavor checks\n  nfsd: distinguish functions of NFSD_MAY_* flags\n  svcrpc: complete svsk processing on cb receive failure\n  svcrpc: take advantage of tcp autotuning\n  SUNRPC: Don\u0027t wait for full record to receive tcp data\n  svcrpc: copy cb reply instead of pages\n  svcrpc: close connection if client sends short packet\n  svcrpc: note network-order types in svc_process_calldir\n  ...\n"
    },
    {
      "commit": "f7da7a129d57bfe0f74573dc03531c63e1360fae",
      "tree": "6efcd0fbdde9bb816ebc70731f1c47b8335ccfe3",
      "parents": [
        "35c8bb543c9e83197e6375142d1d1c2ee3cf017d"
      ],
      "author": {
        "name": "Benny Halevy",
        "email": "bhalevy@panasas.com",
        "time": "Thu May 19 14:16:47 2011 -0400"
      },
      "committer": {
        "name": "Boaz Harrosh",
        "email": "bharrosh@panasas.com",
        "time": "Sun May 29 20:52:32 2011 +0300"
      },
      "message": "SUNRPC: introduce xdr_init_decode_pages\n\nInitialize xdr_stream and xdr_buf using an array of page pointers\nand length of buffer.\n\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n"
    },
    {
      "commit": "176e21ee2ec89cae8d45cf1a850ea45a45428fb8",
      "tree": "4e1231617d193b3fe62ea5bd4df5e4d8fe8b9e80",
      "parents": [
        "559649efb9b0d248541933197bdf7b75529da457"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@ORACLE.COM",
        "time": "Mon May 09 15:22:44 2011 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri May 27 17:42:47 2011 -0400"
      },
      "message": "SUNRPC: Support for RPC over AF_LOCAL transports\n\nTI-RPC introduces the capability of performing RPC over AF_LOCAL\nsockets.  It uses this mainly for registering and unregistering\nlocal RPC services securely with the local rpcbind, but we could\nalso conceivably use it as a generic upcall mechanism.\n\nThis patch provides a client-side only implementation for the moment.\nWe might also consider a server-side implementation to provide\nAF_LOCAL access to NLM (for statd downcalls, and such like).\n\nAutobinding is not supported on kernel AF_LOCAL transports at this\ntime.  Kernel ULPs must specify the pathname of the remote endpoint\nwhen an AF_LOCAL transport is created.  rpcbind supports registering\nservices available via AF_LOCAL, so the kernel could handle it with\nsome adjustment to -\u003erpcbind and -\u003eset_port.  But we don\u0027t need this\nfeature for doing upcalls via well-known named sockets.\n\nThis has not been tested with ULPs that move a substantial amount of\ndata.  Thus, I can\u0027t attest to how robust the write_space and\ncongestion management logic is.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "7494d00c7b826b6ceb79ec33892bd0ef59be5614",
      "tree": "1a8a6d056047135108ffc8ea311ccd80d1fd28fd",
      "parents": [
        "fd954ae124e8a866e9cc1bc3de9a07be5492f608"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sun Apr 24 14:28:45 2011 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sun Apr 24 14:28:45 2011 -0400"
      },
      "message": "SUNRPC: Allow RPC calls to return ETIMEDOUT instead of EIO\n\nOn occasion, it is useful for the NFS layer to distinguish between\nsoft timeouts and other EIO errors due to (say) encoding errors,\nor authentication errors.\n\nThe following patch ensures that the default behaviour of the RPC\nlayer remains to return EIO on soft timeouts (until we have\naudited all the callers).\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "468f86134ee515234afe5c5b3f39f266c50e61a5",
      "tree": "912d0d587ffa2897ce16ed1258e8f52b23308b61",
      "parents": [
        "47c2199b6eb5fbe38ddb844db7cdbd914d304f9c"
      ],
      "author": {
        "name": "Bryan Schumaker",
        "email": "bjschuma@netapp.com",
        "time": "Mon Apr 18 15:57:32 2011 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Apr 18 17:05:48 2011 -0400"
      },
      "message": "NFSv4.1: Don\u0027t update sequence number if rpc_task is not sent\n\nIf we fail to contact the gss upcall program, then no message will\nbe sent to the server.  The client still updated the sequence number,\nhowever, and this lead to NFS4ERR_SEQ_MISMATCH for the next several\nRPC calls.\n\nSigned-off-by: Bryan Schumaker \u003cbjschuma@netapp.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "31d68ef65c7d49def19c1bae4e01b87d66cf5a56",
      "tree": "e55082c9573cb189f352c5fa9eb1c9d0ef5cf2d0",
      "parents": [
        "586c52cc61b5b84c70102208b78269ef5924bf49"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Thu Feb 24 11:25:33 2011 -0800"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Thu Apr 07 14:36:40 2011 -0400"
      },
      "message": "SUNRPC: Don\u0027t wait for full record to receive tcp data\n\nEnsure that we immediately read and buffer data from the incoming TCP\nstream so that we grow the receive window quickly, and don\u0027t deadlock on\nlarge READ or WRITE requests.\n\nAlso do some minor exit cleanup.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@redhat.com\u003e\n"
    },
    {
      "commit": "25985edcedea6396277003854657b5f3cb31a628",
      "tree": "f026e810210a2ee7290caeb737c23cb6472b7c38",
      "parents": [
        "6aba74f2791287ec407e0f92487a725a25908067"
      ],
      "author": {
        "name": "Lucas De Marchi",
        "email": "lucas.demarchi@profusion.mobi",
        "time": "Wed Mar 30 22:57:33 2011 -0300"
      },
      "committer": {
        "name": "Lucas De Marchi",
        "email": "lucas.demarchi@profusion.mobi",
        "time": "Thu Mar 31 11:26:23 2011 -0300"
      },
      "message": "Fix common misspellings\n\nFixes generated by \u0027codespell\u0027 and manually reviewed.\n\nSigned-off-by: Lucas De Marchi \u003clucas.demarchi@profusion.mobi\u003e\n"
    },
    {
      "commit": "8f70e95f9f4159184f557a1db60c909d7c1bd2e3",
      "tree": "80acf6fa7d35d29ba03798fb6745ad9791f965c9",
      "parents": [
        "7ebb931598cd95cccea10d4bc4c0123a464ea565"
      ],
      "author": {
        "name": "Bryan Schumaker",
        "email": "bjschuma@netapp.com",
        "time": "Thu Mar 24 17:12:31 2011 +0000"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Mar 24 13:52:42 2011 -0400"
      },
      "message": "NFS: Determine initial mount security\n\nWhen sec\u003d\u003csomething\u003e is not presented as a mount option,\nwe should attempt to determine what security flavor the\nserver is using.\n\nSigned-off-by: Bryan Schumaker \u003cbjschuma@netapp.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "a8de240a9074b72b156d9e6d53f00076e6cd5f03",
      "tree": "9436ca858870ce89af75703b61a2c25889db354e",
      "parents": [
        "e020c6800c9621a77223bf2c1ff68180e41e8ebf"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Mar 15 19:56:30 2011 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Mar 17 12:38:59 2011 -0400"
      },
      "message": "SUNRPC: Convert struct rpc_xprt to use atomic_t counters\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "cbdabc7f8bf14ca1d40ab1cb86f64b3bc09716e8",
      "tree": "16939b96996e8380d91d7e2743e811cf5c49f629",
      "parents": [
        "dc70d7b3189597f313df7bd2da849cfc39063b15"
      ],
      "author": {
        "name": "Andy Adamson",
        "email": "andros@netapp.com",
        "time": "Tue Mar 01 01:34:20 2011 +0000"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Mar 11 15:38:43 2011 -0500"
      },
      "message": "NFSv4.1: filelayout async error handler\n\nUse our own async error handler.\nMark the layout as failed and retry i/o through the MDS on specified errors.\n\nUpdate the mds_offset in nfs_readpage_retry so that a failed short-read retry\nto a DS gets correctly resent through the MDS.\n\nSigned-off-by: Andy Adamson \u003candros@netapp.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "bf294b41cefcb22fc3139e0f42c5b3f06728bd5e",
      "tree": "250251c040a2d2e278b5a2ddd03c8d20a27be129",
      "parents": [
        "214d93b02c4fe93638ad268613c9702a81ed9192"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Feb 21 11:05:41 2011 -0800"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Mar 10 15:04:52 2011 -0500"
      },
      "message": "SUNRPC: Close a race in __rpc_wait_for_completion_task()\n\nAlthough they run as rpciod background tasks, under normal operation\n(i.e. no SIGKILL), functions like nfs_sillyrename(), nfs4_proc_unlck()\nand nfs4_do_close() want to be fully synchronous. This means that when we\nexit, we want all references to the rpc_task to be gone, and we want\nany dentry references etc. held by that task to be released.\n\nFor this reason these functions call __rpc_wait_for_completion_task(),\nfollowed by rpc_put_task() in the expectation that the latter will be\nreleasing the last reference to the rpc_task, and thus ensuring that the\ncallback_ops-\u003erpc_release() has been called synchronously.\n\nThis patch fixes a race which exists due to the fact that\nrpciod calls rpc_complete_task() (in order to wake up the callers of\n__rpc_wait_for_completion_task()) and then subsequently calls\nrpc_put_task() without ensuring that these two steps are done atomically.\n\nIn order to avoid adding new spin locks, the patch uses the existing\nwaitqueue spin lock to order the rpc_task reference count releases between\nthe waiting process and rpciod.\nThe common case where nobody is waiting for completion is optimised for by\nchecking if the RPC_TASK_ASYNC flag is cleared and/or if the rpc_task\nreference count is 1: in those cases we drop trying to grab the spin lock,\nand immediately free up the rpc_task.\n\nThose few processes that need to put the rpc_task from inside an\nasynchronous context and that do not care about ordering are given a new\nhelper: rpc_put_task_async().\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "778be232a207e79088ba70d832ac25dfea6fbf1a",
      "tree": "307249459e5ef45c4b3651c7fc5c454cdb3e0c92",
      "parents": [
        "80c30e8de4f81851b1f712bcc596e11d53bc76f1"
      ],
      "author": {
        "name": "Andy Adamson",
        "email": "andros@netapp.com",
        "time": "Tue Jan 25 15:38:01 2011 +0000"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Jan 25 15:26:51 2011 -0500"
      },
      "message": "NFS do not find client in NFSv4 pg_authenticate\n\nThe information required to find the nfs_client cooresponding to the incoming\nback channel request is contained in the NFS layer. Perform minimal checking\nin the RPC layer pg_authenticate method, and push more detailed checking into\nthe NFS layer where the nfs_client can be found.\n\nSigned-off-by: Andy Adamson \u003candros@netapp.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "18bce371ae09af6c20ee62c1092a4d1d0e84dd49",
      "tree": "f3467fafd8e49392e3f6efef7b88a7b4dd3b7b06",
      "parents": [
        "ec08bdb148767f1193f5f3028749ed865ac27181",
        "a8f2800b4f7b76cecb7209cb6a7d2b14904fc711"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 14 13:17:26 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 14 13:17:26 2011 -0800"
      },
      "message": "Merge branch \u0027for-2.6.38\u0027 of git://linux-nfs.org/~bfields/linux\n\n* \u0027for-2.6.38\u0027 of git://linux-nfs.org/~bfields/linux: (62 commits)\n  nfsd4: fix callback restarting\n  nfsd: break lease on unlink, link, and rename\n  nfsd4: break lease on nfsd setattr\n  nfsd: don\u0027t support msnfs export option\n  nfsd4: initialize cb_per_client\n  nfsd4: allow restarting callbacks\n  nfsd4: simplify nfsd4_cb_prepare\n  nfsd4: give out delegations more quickly in 4.1 case\n  nfsd4: add helper function to run callbacks\n  nfsd4: make sure sequence flags are set after destroy_session\n  nfsd4: re-probe callback on connection loss\n  nfsd4: set sequence flag when backchannel is down\n  nfsd4: keep finer-grained callback status\n  rpc: allow xprt_class-\u003esetup to return a preexisting xprt\n  rpc: keep backchannel xprt as long as server connection\n  rpc: move sk_bc_xprt to svc_xprt\n  nfsd4: allow backchannel recovery\n  nfsd4: support BIND_CONN_TO_SESSION\n  nfsd4: modify session list under cl_lock\n  Documentation: fl_mylease no longer exists\n  ...\n\nFix up conflicts in fs/nfsd/vfs.c with the vfs-scale work.  The\nvfs-scale work touched some msnfs cases, and this merge removes support\nfor that entirely, so the conflict was trivial to resolve.\n"
    },
    {
      "commit": "b9d919a4ac6cf031b8e065f82ad8f1b0c9ed74b1",
      "tree": "3139b066396956fd3794df0cb1aa74dcc9f1cb28",
      "parents": [
        "7c955fca3e1d8132982148267d9efcafae849bb6",
        "357f54d6b38252737116a6d631f6ac28ded018ed"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 11 15:11:56 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 11 15:11:56 2011 -0800"
      },
      "message": "Merge branch \u0027nfs-for-2.6.38\u0027 of git://git.linux-nfs.org/projects/trondmy/nfs-2.6\n\n* \u0027nfs-for-2.6.38\u0027 of git://git.linux-nfs.org/projects/trondmy/nfs-2.6: (89 commits)\n  NFS fix the setting of exchange id flag\n  NFS: Don\u0027t use vm_map_ram() in readdir\n  NFSv4: Ensure continued open and lockowner name uniqueness\n  NFS: Move cl_delegations to the nfs_server struct\n  NFS: Introduce nfs_detach_delegations()\n  NFS: Move cl_state_owners and related fields to the nfs_server struct\n  NFS: Allow walking nfs_client.cl_superblocks list outside client.c\n  pnfs: layout roc code\n  pnfs: update nfs4_callback_recallany to handle layouts\n  pnfs: add CB_LAYOUTRECALL handling\n  pnfs: CB_LAYOUTRECALL xdr code\n  pnfs: change lo refcounting to atomic_t\n  pnfs: check that partial LAYOUTGET return is ignored\n  pnfs: add layout to client list before sending rpc\n  pnfs: serialize LAYOUTGET(openstateid)\n  pnfs: layoutget rpc code cleanup\n  pnfs: change how lsegs are removed from layout list\n  pnfs: change layout state seqlock to a spinlock\n  pnfs: add prefix to struct pnfs_layout_hdr fields\n  pnfs: add prefix to struct pnfs_layout_segment fields\n  ...\n"
    },
    {
      "commit": "f0418aa4b1103f959d64dc18273efa04ee0140e9",
      "tree": "01457cfe70d614dcdb12759247212602c2c2c008",
      "parents": [
        "99de8ea962bbc11a51ad4c52e3dc93bee5f6ba70"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Wed Dec 08 13:48:19 2010 -0500"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Tue Jan 11 15:04:10 2011 -0500"
      },
      "message": "rpc: allow xprt_class-\u003esetup to return a preexisting xprt\n\nThis allows us to reuse the xprt associated with a server connection if\none has already been set up.\n\nSigned-off-by: J. Bruce Fields \u003cbfields@redhat.com\u003e\n"
    }
  ],
  "next": "d75faea330dbd1873c9094e9926ae306590c0998"
}
