)]}'
{
  "log": [
    {
      "commit": "982197277c85018cc6eb77f1d3bef17933b0c5fd",
      "tree": "805fcef9ec7c1e83867b89332fd37f751594fae3",
      "parents": [
        "40889e8d9fc6355980cf2bc94ef4356c10dec4ec",
        "24ffb93872f7363a01ad639e3c8a9889b46c3f0a"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Dec 20 14:04:11 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Dec 20 14:04:11 2012 -0800"
      },
      "message": "Merge branch \u0027for-3.8\u0027 of git://linux-nfs.org/~bfields/linux\n\nPull nfsd update from Bruce Fields:\n \"Included this time:\n\n   - more nfsd containerization work from Stanislav Kinsbursky: we\u0027re\n     not quite there yet, but should be by 3.9.\n\n   - NFSv4.1 progress: implementation of basic backchannel security\n     negotiation and the mandatory BACKCHANNEL_CTL operation.  See\n\n       http://wiki.linux-nfs.org/wiki/index.php/Server_4.0_and_4.1_issues\n\n     for remaining TODO\u0027s\n\n   - Fixes for some bugs that could be triggered by unusual compounds.\n     Our xdr code wasn\u0027t designed with v4 compounds in mind, and it\n     shows.  A more thorough rewrite is still a todo.\n\n   - If you\u0027ve ever seen \"RPC: multiple fragments per record not\n     supported\" logged while using some sort of odd userland NFS client,\n     that should now be fixed.\n\n   - Further work from Jeff Layton on our mechanism for storing\n     information about NFSv4 clients across reboots.\n\n   - Further work from Bryan Schumaker on his fault-injection mechanism\n     (which allows us to discard selective NFSv4 state, to excercise\n     rarely-taken recovery code paths in the client.)\n\n   - The usual mix of miscellaneous bugs and cleanup.\n\n  Thanks to everyone who tested or contributed this cycle.\"\n\n* \u0027for-3.8\u0027 of git://linux-nfs.org/~bfields/linux: (111 commits)\n  nfsd4: don\u0027t leave freed stateid hashed\n  nfsd4: free_stateid can use the current stateid\n  nfsd4: cleanup: replace rq_resused count by rq_next_page pointer\n  nfsd: warn on odd reply state in nfsd_vfs_read\n  nfsd4: fix oops on unusual readlike compound\n  nfsd4: disable zero-copy on non-final read ops\n  svcrpc: fix some printks\n  NFSD: Correct the size calculation in fault_inject_write\n  NFSD: Pass correct buffer size to rpc_ntop\n  nfsd: pass proper net to nfsd_destroy() from NFSd kthreads\n  nfsd: simplify service shutdown\n  nfsd: replace boolean nfsd_up flag by users counter\n  nfsd: simplify NFSv4 state init and shutdown\n  nfsd: introduce helpers for generic resources init and shutdown\n  nfsd: make NFSd service structure allocated per net\n  nfsd: make NFSd service boot time per-net\n  nfsd: per-net NFSd up flag introduced\n  nfsd: move per-net startup code to separated function\n  nfsd: pass net to __write_ports() and down\n  nfsd: pass net to nfsd_set_nrthreads()\n  ...\n"
    },
    {
      "commit": "afc59400d6c65bad66d4ad0b2daf879cbff8e23e",
      "tree": "cc4c1c4dcf01106259d4f18d637cb2d1115ef980",
      "parents": [
        "79f77bf9a4e3dd5ead006b8f17e7c4ff07d8374e"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Mon Dec 10 18:01:37 2012 -0500"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Mon Dec 17 22:00:16 2012 -0500"
      },
      "message": "nfsd4: cleanup: replace rq_resused count by rq_next_page pointer\n\nIt may be a matter of personal taste, but I find this makes the code\nclearer.\n\nSigned-off-by: J. Bruce Fields \u003cbfields@redhat.com\u003e\n"
    },
    {
      "commit": "c05eecf636101dd4347b2d8fa457626bf0088e0a",
      "tree": "6362560cd66efedd12793552b124417e4fe68a74",
      "parents": [
        "b75ad4cda5a6cd3431b1c65c2739c5ebd2c4b9da"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Nov 30 23:59:29 2012 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Dec 06 00:30:53 2012 +0100"
      },
      "message": "SUNRPC: Don\u0027t allow low priority tasks to pre-empt higher priority ones\n\nCurrently, the priority queues attempt to be \u0027fair\u0027 to lower priority\ntasks by scheduling them after a certain number of higher priority tasks\nhave run. The problem is that both the transport send queue and\nthe NFSv4.1 session slot queue have strong ordering requirements.\n\nThis patch therefore removes the fairness code in favour of strong\nordering of task priorities.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "8af345f58ac9b350bb23c1457c613381d9f00472",
      "tree": "5713862546aad1e24784079ef4eae8edfc37de83",
      "parents": [
        "6a72ae2e23922bc96e8f3de24a5203be6edc2539"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Mon Dec 03 16:45:35 2012 -0500"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Tue Dec 04 07:49:14 2012 -0500"
      },
      "message": "svcrpc: track rpc data length separately from sk_tcplen\n\nKeep a separate field, sk_datalen, that tracks only the data contained\nin a fragment, not including the fragment header.\n\nFor now, this is always just max(0, sk_tcplen - 4), but after we allow\nmultiple fragments sk_datalen will accumulate the total rpc data size\nwhile sk_tcplen only tracks progress receiving the current fragment.\n\nSigned-off-by: J. Bruce Fields \u003cbfields@redhat.com\u003e\n"
    },
    {
      "commit": "cc248d4b1ddf05fefc1373d9d7a4dd1df71b6190",
      "tree": "3ca18b5b45e666ff307ed440c5a1b6e38fc7b33b",
      "parents": [
        "6c1e82a4b74ad0c8b45c833a4409f153199d9be4"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Mon Dec 03 16:11:13 2012 -0500"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Tue Dec 04 07:47:23 2012 -0500"
      },
      "message": "svcrpc: don\u0027t byte-swap sk_reclen in place\n\nByte-swapping in place is always a little dubious.\n\nLet\u0027s instead define this field to always be big-endian, and do the\nswapping on demand where we need it.\n\nSigned-off-by: J. Bruce Fields \u003cbfields@redhat.com\u003e\n"
    },
    {
      "commit": "621eb19ce1ec216e03ad354cb0c4061736b2a436",
      "tree": "57767888ba129e174a61398451a8ad405fd2028a",
      "parents": [
        "2b4cf668a7b8f84182a35f07152d8b6f012629d2"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Wed Nov 14 10:48:05 2012 -0500"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Thu Nov 15 07:40:32 2012 -0500"
      },
      "message": "svcrpc: Revert \"sunrpc/cache.h: replace simple_strtoul\"\n\nCommit bbf43dc888833ac0539e437dbaeb28bfd4fbab9f \"sunrpc/cache.h: replace\nsimple_strtoul\" introduced new range-checking which could cause get_int\nto fail on unsigned integers too large to be represented as an int.\n\nWe could parse them as unsigned instead--but it turns out svcgssd is\nactually passing down \"-1\" in some cases.  Which is perhaps stupid, but\nthere\u0027s nothing we can do about it now.\n\nSo just revert back to the previous \"sloppy\" behavior that accepts\neither representation.\n\nCc: stable@vger.kernel.org\nReported-by: Sven Geggus \u003clists@fuchsschwanzdomain.de\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@redhat.com\u003e\n"
    },
    {
      "commit": "64d7155cdfe5546ca0730daf7dd73ee52a74eeaf",
      "tree": "7d58409a555f89b8fb9c81012809c108b5d32b01",
      "parents": [
        "0238047018d34946c08afc2f9e19053a3c25f0e1"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Wed Oct 17 12:31:15 2012 +0100"
      },
      "committer": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Wed Oct 17 12:31:15 2012 +0100"
      },
      "message": "UAPI: Remove empty non-UAPI Kbuild files\n\nRemove non-UAPI Kbuild files that have become empty as a result of UAPI\ndisintegration.  They used to have only header-y lines in them and those have\nnow moved to the Kbuild files in the corresponding uapi/ directories.\n\nPossibly these should not be removed but rather have a comment inserted to say\nthey are intentionally left blank.  This would make it easier to add generated\nheader lines in future without having to restore the infrastructure.\n\nNote that at this point not all the UAPI disintegration parts have been merged,\nso it is likely that more empty Kbuild files will turn up.\n\nIt is probably necessary to make the files non-empty to prevent the patch\nprogram from automatically deleting them when it reduces them to nothing.\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\n"
    },
    {
      "commit": "bd81ccea8558daab570d70d2c23746413f26cecf",
      "tree": "a3a75dde2dc3cf26c74353b21792da30d65d7c13",
      "parents": [
        "98260daa184c4a171834463cf85ab3a2c509d983",
        "a9ca4043d074509b9d15003fbcb068d3cdae85a4"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Oct 13 10:53:54 2012 +0900"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Oct 13 10:53:54 2012 +0900"
      },
      "message": "Merge branch \u0027for-3.7\u0027 of git://linux-nfs.org/~bfields/linux\n\nPull nfsd update from J Bruce Fields:\n \"Another relatively quiet cycle.  There was some progress on my\n  remaining 4.1 todo\u0027s, but a couple of them were just of the form\n  \"check that we do X correctly\", so didn\u0027t have much affect on the\n  code.\n\n  Other than that, a bunch of cleanup and some bugfixes (including an\n  annoying NFSv4.0 state leak and a busy-loop in the server that could\n  cause it to peg the CPU without making progress).\"\n\n* \u0027for-3.7\u0027 of git://linux-nfs.org/~bfields/linux: (46 commits)\n  UAPI: (Scripted) Disintegrate include/linux/sunrpc\n  UAPI: (Scripted) Disintegrate include/linux/nfsd\n  nfsd4: don\u0027t allow reclaims of expired clients\n  nfsd4: remove redundant callback probe\n  nfsd4: expire old client earlier\n  nfsd4: separate session allocation and initialization\n  nfsd4: clean up session allocation\n  nfsd4: minor free_session cleanup\n  nfsd4: new_conn_from_crses should only allocate\n  nfsd4: separate connection allocation and initialization\n  nfsd4: reject bad forechannel attrs earlier\n  nfsd4: enforce per-client sessions/no-sessions distinction\n  nfsd4: set cl_minorversion at create time\n  nfsd4: don\u0027t pin clientids to pseudoflavors\n  nfsd4: fix bind_conn_to_session xdr comment\n  nfsd4: cast readlink() bug argument\n  NFSD: pass null terminated buf to kstrtouint()\n  nfsd: remove duplicate init in nfsd4_cb_recall\n  nfsd4: eliminate redundant nfs4_free_stateid\n  fs/nfsd/nfs4idmap.c: adjust inconsistent IS_ERR and PTR_ERR\n  ...\n"
    },
    {
      "commit": "f474af7051212b4efc8267583fad9c4ebf33ccff",
      "tree": "1aa46ebc8065a341f247c2a2d9af2f624ad1d4f8",
      "parents": [
        "0d22f68f02c10d5d10ec5712917e5828b001a822",
        "e3dd9a52cb5552c46c2a4ca7ccdfb4dab5c72457"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Tue Oct 09 18:35:22 2012 -0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Tue Oct 09 18:35:22 2012 -0400"
      },
      "message": "nfs: disintegrate UAPI for nfs\n\nThis is to complete part of the Userspace API (UAPI) disintegration for which\nthe preparatory patches were pulled recently.  After these patches, userspace\nheaders will be segregated into:\n\n        include/uapi/linux/.../foo.h\n\nfor the userspace interface stuff, and:\n\n        include/linux/.../foo.h\n\nfor the strictly kernel internal stuff.\n\nSigned-off-by: J. Bruce Fields \u003cbfields@redhat.com\u003e\n"
    },
    {
      "commit": "e3dd9a52cb5552c46c2a4ca7ccdfb4dab5c72457",
      "tree": "7df483de243840b33bac8517d05f368461b0dc95",
      "parents": [
        "616d1ca5d7887dd848f2180218b4c19cb41eb30b"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Tue Oct 09 09:49:04 2012 +0100"
      },
      "committer": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Tue Oct 09 09:49:04 2012 +0100"
      },
      "message": "UAPI: (Scripted) Disintegrate include/linux/sunrpc\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nAcked-by: Arnd Bergmann \u003carnd@arndb.de\u003e\nAcked-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nAcked-by: Michael Kerrisk \u003cmtk.manpages@gmail.com\u003e\nAcked-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nAcked-by: Dave Jones \u003cdavej@redhat.com\u003e\n"
    },
    {
      "commit": "ba9b584c1dc37851d9c6ca6d0d2ccba55d9aad04",
      "tree": "d74fa5a04f928d5c508594f285381b41bfe4ac3c",
      "parents": [
        "1b63a75180c6c65c71655c250a4e6b578ba7d1c0"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Fri Sep 14 17:24:02 2012 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Oct 01 15:33:33 2012 -0700"
      },
      "message": "SUNRPC: Introduce rpc_clone_client_set_auth()\n\nAn ULP is supposed to be able to replace a GSS rpc_auth object with\nanother GSS rpc_auth object using rpcauth_create().  However,\nrpcauth_create() in 3.5 reliably fails with -EEXIST in this case.\nThis is because when gss_create() attempts to create the upcall pipes,\nsometimes they are already there.  For example if a pipe FS mount\nevent occurs, or a previous GSS flavor was in use for this rpc_clnt.\n\nIt turns out that\u0027s not the only problem here.  While working on a\nfix for the above problem, we noticed that replacing an rpc_clnt\u0027s\nrpc_auth is not safe, since dereferencing the cl_auth field is not\nprotected in any way.\n\nSo we\u0027re deprecating the ability of rpcauth_create() to switch an\nrpc_clnt\u0027s security flavor during normal operation.  Instead, let\u0027s\nadd a fresh API that clones an rpc_clnt and gives the clone a new\nflavor before it\u0027s used.\n\nThis makes immediate use of the new __rpc_clone_client() helper.\n\nThis can be used in a similar fashion to rpcauth_create() when a\nclient is hunting for the correct security flavor.  Instead of\nreplacing an rpc_clnt\u0027s security flavor in a loop, the ULP replaces\nthe whole rpc_clnt.\n\nTo fix the -EEXIST problem, any ULP logic that relies on replacing\nan rpc_clnt\u0027s rpc_auth with rpcauth_create() must be changed to use\nthis API instead.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "d19751e7b9bd8a01d00372325439589886674f79",
      "tree": "71ea849e8dc6021a455f2de1a76601e8db2255c7",
      "parents": [
        "dcfc4f25461813e8a2dd43b052aa1e0be155742f"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Sep 11 17:21:25 2012 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Sep 28 16:03:05 2012 -0400"
      },
      "message": "SUNRPC: Get rid of the redundant xprt-\u003eshutdown bit field\n\nIt is only set after everyone has dereferenced the transport,\nand serves no useful purpose: setting it is racy, so all the\nsocket code, etc still needs to be able to cope with the cases\nwhere they miss reading it.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "eccf50c129686de11358093839749c83f6cae5db",
      "tree": "890b06b8dfb886e2326c101d6b8be70b7c330d96",
      "parents": [
        "cf9182e90b2af04245ac4fae497fe73fc71285b4"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Wed Aug 15 18:07:43 2012 -0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Mon Sep 10 10:55:19 2012 -0400"
      },
      "message": "nfsd: remove unused listener-removal interfaces\n\nYou can use nfsd/portlist to give nfsd additional sockets to listen on.\nIn theory you can also remove listening sockets this way.  But nobody\u0027s\never done that as far as I can tell.\n\nAlso this was partially broken in 2.6.25, by\na217813f9067b785241cb7f31956e51d2071703a \"knfsd: Support adding\ntransports by writing portlist file\".\n\n(Note that we decide whether to take the \"delfd\" case by checking for a\ndigit--but what\u0027s actually expected in that case is something made by\nsvc_one_sock_name(), which won\u0027t begin with a digit.)\n\nSo, let\u0027s just rip out this stuff.\n\nAcked-by: NeilBrown \u003cneilb@suse.de\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@redhat.com\u003e\n"
    },
    {
      "commit": "f39c1bfb5a03e2d255451bff05be0d7255298fa4",
      "tree": "c4f7c970840e7803e22ce10809746272d23f6fde",
      "parents": [
        "01913b49cf1dc6409a07dd2a4cc6af2e77f3c410"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Sep 07 11:08:50 2012 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Sep 07 11:43:49 2012 -0400"
      },
      "message": "SUNRPC: Fix a UDP transport regression\n\nCommit 43cedbf0e8dfb9c5610eb7985d5f21263e313802 (SUNRPC: Ensure that\nwe grab the XPRT_LOCK before calling xprt_alloc_slot) is causing\nhangs in the case of NFS over UDP mounts.\n\nSince neither the UDP or the RDMA transport mechanism use dynamic slot\nallocation, we can skip grabbing the socket lock for those transports.\nAdd a new rpc_xprt_op to allow switching between the TCP and UDP/RDMA\ncase.\n\nNote that the NFSv4.1 back channel assigns the slot directly\nthrough rpc_run_bc_task, so we can ignore that case.\n\nReported-by: Dick Streefland \u003cdick.streefland@altium.nl\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\nCc: stable@vger.kernel.org [\u003e\u003d 3.1]\n"
    },
    {
      "commit": "6741019c829ecfa6f7a504fae1305dcf5d5cf057",
      "tree": "a0b749e9ccab9d0bb813ff8b92fde629d40e4bc4",
      "parents": [
        "5b444cc9a4c979aa0fa185c8ddca221462a34b7a"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Fri Aug 17 22:12:19 2012 -0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Tue Aug 21 17:42:01 2012 -0400"
      },
      "message": "svcrpc: make svc_xprt_received static\n\nNote this isn\u0027t used outside svc_xprt.c.\n\nMay as well move it so we don\u0027t need a declaration while we\u0027re here.\n\nAlso remove an outdated comment.\n\nSigned-off-by: J. Bruce Fields \u003cbfields@redhat.com\u003e\n"
    },
    {
      "commit": "af6d572134b012ca92c4efc8a2f1cadbe5d01064",
      "tree": "057465a1a9cdb39664d6660e172f7c81f762d850",
      "parents": [
        "f23abfdb94fda3108441530cb4a813088d3f9176"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Tue Aug 21 17:22:11 2012 -0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Tue Aug 21 17:40:10 2012 -0400"
      },
      "message": "svcrpc: don\u0027t bother checking bad svc_addr_len result\n\nNone of the callers should see an unsupported address family (only one\nof them even bothers to check for that case), so just check for the\nbuggy case in svc_addr_len and don\u0027t bother elsewhere.\n\nAcked-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@redhat.com\u003e\n"
    },
    {
      "commit": "39b553013719fe6495cf5e496b827b2d712e4265",
      "tree": "27e4c71fa94f08e19b4709c25a81b5eecf23c5ba",
      "parents": [
        "c3341966943284ab3618a1814cefd693ad9aa736"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Tue Aug 14 15:50:34 2012 -0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Tue Aug 21 17:07:48 2012 -0400"
      },
      "message": "svcrpc: share some setup of listening sockets\n\nThere\u0027s some duplicate code here.\n\nSigned-off-by: J. Bruce Fields \u003cbfields@redhat.com\u003e\n"
    },
    {
      "commit": "ac694dbdbc403c00e2c14d10bc7b8412cc378259",
      "tree": "e37328cfbeaf43716dd5914cad9179e57e84df76",
      "parents": [
        "a40a1d3d0a2fd613fdec6d89d3c053268ced76ed",
        "437ea90cc3afdca5229b41c6b1d38c4842756cb9"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 31 19:25:39 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 31 19:25:39 2012 -0700"
      },
      "message": "Merge branch \u0027akpm\u0027 (Andrew\u0027s patch-bomb)\n\nMerge Andrew\u0027s second set of patches:\n - MM\n - a few random fixes\n - a couple of RTC leftovers\n\n* emailed patches from Andrew Morton \u003cakpm@linux-foundation.org\u003e: (120 commits)\n  rtc/rtc-88pm80x: remove unneed devm_kfree\n  rtc/rtc-88pm80x: assign ret only when rtc_register_driver fails\n  mm: hugetlbfs: close race during teardown of hugetlbfs shared page tables\n  tmpfs: distribute interleave better across nodes\n  mm: remove redundant initialization\n  mm: warn if pg_data_t isn\u0027t initialized with zero\n  mips: zero out pg_data_t when it\u0027s allocated\n  memcg: gix memory accounting scalability in shrink_page_list\n  mm/sparse: remove index_init_lock\n  mm/sparse: more checks on mem_section number\n  mm/sparse: optimize sparse_index_alloc\n  memcg: add mem_cgroup_from_css() helper\n  memcg: further prevent OOM with too many dirty pages\n  memcg: prevent OOM with too many dirty pages\n  mm: mmu_notifier: fix freed page still mapped in secondary MMU\n  mm: memcg: only check anon swapin page charges for swap cache\n  mm: memcg: only check swap cache pages for repeated charging\n  mm: memcg: split swapin charge function into private and public part\n  mm: memcg: remove needless !mm fixup to init_mm when charging\n  mm: memcg: remove unneeded shmem charge type\n  ...\n"
    },
    {
      "commit": "a564b8f0398636ba30b07c0eaebdef7ff7837249",
      "tree": "10478aa5cfb2a3696db34618a479413b358c3831",
      "parents": [
        "29418aa4bd487c82016733ef5c6a06d656ed3c7d"
      ],
      "author": {
        "name": "Mel Gorman",
        "email": "mgorman@suse.de",
        "time": "Tue Jul 31 16:45:12 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 31 18:42:48 2012 -0700"
      },
      "message": "nfs: enable swap on NFS\n\nImplement the new swapfile a_ops for NFS and hook up -\u003edirect_IO.  This\nwill set the NFS socket to SOCK_MEMALLOC and run socket reconnect under\nPF_MEMALLOC as well as reset SOCK_MEMALLOC before engaging the protocol\n-\u003econnect() method.\n\nPF_MEMALLOC should allow the allocation of struct socket and related\nobjects and the early (re)setting of SOCK_MEMALLOC should allow us to\nreceive the packets required for the TCP connection buildup.\n\n[jlayton@redhat.com: Restore PF_MEMALLOC task flags in all cases]\n[dfeng@redhat.com: Fix handling of multiple swap files]\n[a.p.zijlstra@chello.nl: Original patch]\nSigned-off-by: Mel Gorman \u003cmgorman@suse.de\u003e\nAcked-by: Rik van Riel \u003criel@redhat.com\u003e\nCc: Christoph Hellwig \u003chch@infradead.org\u003e\nCc: David S. Miller \u003cdavem@davemloft.net\u003e\nCc: Eric B Munson \u003cemunson@mgebm.net\u003e\nCc: Eric Paris \u003ceparis@redhat.com\u003e\nCc: James Morris \u003cjmorris@namei.org\u003e\nCc: Mel Gorman \u003cmgorman@suse.de\u003e\nCc: Mike Christie \u003cmichaelc@cs.wisc.edu\u003e\nCc: Neil Brown \u003cneilb@suse.de\u003e\nCc: Sebastian Andrzej Siewior \u003csebastian@breakpoint.cc\u003e\nCc: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\nCc: Xiaotian Feng \u003cdfeng@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "08843b79fb35d33859e0f8f11a7318341076e4d1",
      "tree": "e56e122146985b359d50787e3d1df640c4582dfa",
      "parents": [
        "cc8362b1f6d724e46f515121d442779924b19fec",
        "2c142baa7b237584bae7dc28630851701497e1ef"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 31 14:42:28 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 31 14:42:28 2012 -0700"
      },
      "message": "Merge branch \u0027nfsd-next\u0027 of git://linux-nfs.org/~bfields/linux\n\nPull nfsd changes from J. Bruce Fields:\n \"This has been an unusually quiet cycle--mostly bugfixes and cleanup.\n  The one large piece is Stanislav\u0027s work to containerize the server\u0027s\n  grace period--but that in itself is just one more step in a\n  not-yet-complete project to allow fully containerized nfs service.\n\n  There are a number of outstanding delegation, container, v4 state, and\n  gss patches that aren\u0027t quite ready yet; 3.7 may be wilder.\"\n\n* \u0027nfsd-next\u0027 of git://linux-nfs.org/~bfields/linux: (35 commits)\n  NFSd: make boot_time variable per network namespace\n  NFSd: make grace end flag per network namespace\n  Lockd: move grace period management from lockd() to per-net functions\n  LockD: pass actual network namespace to grace period management functions\n  LockD: manage grace list per network namespace\n  SUNRPC: service request network namespace helper introduced\n  NFSd: make nfsd4_manager allocated per network namespace context.\n  LockD: make lockd manager allocated per network namespace\n  LockD: manage grace period per network namespace\n  Lockd: add more debug to host shutdown functions\n  Lockd: host complaining function introduced\n  LockD: manage used host count per networks namespace\n  LockD: manage garbage collection timeout per networks namespace\n  LockD: make garbage collector network namespace aware.\n  LockD: mark host per network namespace on garbage collect\n  nfsd4: fix missing fault_inject.h include\n  locks: move lease-specific code out of locks_delete_lock\n  locks: prevent side-effects of locks_release_private before file_lock is initialized\n  NFSd: set nfsd_serv to NULL after service destruction\n  NFSd: introduce nfsd_destroy() helper\n  ...\n"
    },
    {
      "commit": "9695c7057f4887ed54dc1e6c2ef22f72a2be1175",
      "tree": "a9ca62e819e904d9b53629f1b7c45126416a2395",
      "parents": [
        "5e1533c7880bb0df98f71fa683979ec296aa947d"
      ],
      "author": {
        "name": "Stanislav Kinsbursky",
        "email": "skinsbursky@parallels.com",
        "time": "Wed Jul 25 16:57:06 2012 +0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Fri Jul 27 16:49:21 2012 -0400"
      },
      "message": "SUNRPC: service request network namespace helper introduced\n\nThis is a cleanup patch - makes code looks simplier.\nIt replaces widely used rqstp-\u003erq_xprt-\u003expt_net by introduced SVC_NET(rqstp).\n\nSigned-off-by: Stanislav Kinsbursky \u003cskinsbursky@parallels.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@redhat.com\u003e\n"
    },
    {
      "commit": "a007c4c3e943ecc054a806c259d95420a188754b",
      "tree": "5eb56435a616d0fb31d31a7ce7fe8ff0c241c33d",
      "parents": [
        "a6d88f293ecd1b7444e128777f4a893e7a998852"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Tue Jun 12 16:54:16 2012 -0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Wed Jul 25 09:18:27 2012 -0400"
      },
      "message": "nfsd: add get_uint for u32\u0027s\n\nI don\u0027t think there\u0027s a practical difference for the range of values\nthese interfaces should see, but it would be safer to be unambiguous.\n\nSigned-off-by: J. Bruce Fields \u003cbfields@redhat.com\u003e\n"
    },
    {
      "commit": "6a1a1e34dc55f17e7bd260809207442dbb7a0296",
      "tree": "3a2ce5b9d3c8edc80f6486efc1f9b34cee559f8f",
      "parents": [
        "56d08fef2369d5ca9ad2e1fc697f5379fd8af751"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Wed Jul 11 16:31:08 2012 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Jul 16 15:12:15 2012 -0400"
      },
      "message": "SUNRPC: Add rpcauth_list_flavors()\n\nThe gss_mech_list_pseudoflavors() function provides a list of\ncurrently registered GSS pseudoflavors.  This list does not include\nany non-GSS flavors that have been registered with the RPC client.\nnfs4_find_root_sec() currently adds these extra flavors by hand.\n\nInstead, nfs4_find_root_sec() should be looking at the set of flavors\nthat have been explicitly registered via rpcauth_register().  And,\nother areas of code will soon need the same kind of list that\ncontains all flavors the kernel currently knows about (see below).\n\nRather than cloning the open-coded logic in nfs4_find_root_sec() to\nthose new places, introduce a generic RPC function that generates a\nfull list of registered auth flavors and pseudoflavors.\n\nA new rpc_authops method is added that lists a flavor\u0027s\npseudoflavors, if it has any.  I encountered an interesting module\nloader loop when I tried to get the RPC client to invoke\ngss_mech_list_pseudoflavors() by name.\n\nThis patch is a pre-requisite for server trunking discovery, and a\npre-requisite for fixing up the in-kernel mount client to do better\nautomatic security flavor selection.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "bbf43dc888833ac0539e437dbaeb28bfd4fbab9f",
      "tree": "3e75d68f3811f438c451281e30ec5ad16b555c58",
      "parents": [
        "d9c2ede63c74048dfddbb129c59ac01176b0ab71"
      ],
      "author": {
        "name": "Eldad Zack",
        "email": "eldad@fogrefinery.com",
        "time": "Fri Jul 06 21:31:57 2012 +0200"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Wed Jul 11 16:08:00 2012 -0400"
      },
      "message": "sunrpc/cache.h: replace simple_strtoul\n\nThis patch replaces the usage of simple_strtoul with kstrtoint in\nget_int(), since the simple_str* family doesn\u0027t account for overflow\nand is deprecated.\nAlso, in this specific case, the long from strtol is silently converted\nto an int by the caller.\n\nAs Joe Perches \u003cjoe@perches.com\u003e suggested, this patch also removes\nthe redundant temporary variable rv, since kstrtoint() will not write to\nanint unless it\u0027s successful.\n\nCc: Joe Perches \u003cjoe@perches.com\u003e\nSigned-off-by: Eldad Zack \u003celdad@fogrefinery.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@redhat.com\u003e\n"
    },
    {
      "commit": "d9c2ede63c74048dfddbb129c59ac01176b0ab71",
      "tree": "355767a58545b8e1d0626a1d08fe83f26c7228e7",
      "parents": [
        "7f2e7dc0fdd9f124da43d1bd12adcebf92bedf16"
      ],
      "author": {
        "name": "Eldad Zack",
        "email": "eldad@fogrefinery.com",
        "time": "Fri Jul 06 21:31:56 2012 +0200"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Wed Jul 11 16:07:59 2012 -0400"
      },
      "message": "sunrpc/cache.h: fix coding style\n\nNeaten code style in get_int().\nAlso use sizeof() instead of hard coded number as suggested by\nJoe Perches \u003cjoe@perches.com\u003e.\n\nCc: Joe Perches \u003cjoe@perches.com\u003e\nSigned-off-by: Eldad Zack \u003celdad@fogrefinery.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@redhat.com\u003e\n"
    },
    {
      "commit": "140150dbb1f9cf3ef963fb55505f994d74ff3276",
      "tree": "ca59a9190eb4e03cc09413d9a19ca24000d71eac",
      "parents": [
        "b42353ff8d346a2f6afac3e3983b7286ed4238d7"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Jun 05 15:20:25 2012 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Jun 28 17:20:49 2012 -0400"
      },
      "message": "SUNRPC: Remove unused function xdr_encode_pages\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "4517d526c8aa31b5c14165ef180cc19518ff0a35",
      "tree": "51201ff494ab5615034046a093e242795af794bb",
      "parents": [
        "64bd577ea0021f5903505de061b3b7d8a785ee94"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Jun 21 17:14:46 2012 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Jun 28 17:20:44 2012 -0400"
      },
      "message": "SUNRPC: Add the helper xdr_stream_pos\n\nAdd a helper to report the current offset from the start of the\nxdr_stream.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "c337d3655ce85e12c7c476cb81406521926cacd2",
      "tree": "2d0f0caa7b4f2b3d366ac7a37fc4d2f82b7706c7",
      "parents": [
        "bfeea1dc1c9238f9e5a17a265489ecd0d19f66bb"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Jun 21 17:05:37 2012 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Jun 28 17:20:43 2012 -0400"
      },
      "message": "SUNRPC: xdr_read_pages should return the amount of XDR encoded page data\n\nCallers of xdr_read_pages() will want to know exactly how much XDR\ndata is encoded in the pages after the data realignment.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "bfeea1dc1c9238f9e5a17a265489ecd0d19f66bb",
      "tree": "009163b2f4c0255599d3c781a833c2dcfaa621ed",
      "parents": [
        "1537693ceaa8d6484f1ce631bec85658bfa9816c"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Jun 20 09:58:35 2012 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Jun 28 17:20:41 2012 -0400"
      },
      "message": "SUNRPC: Don\u0027t decode beyond the end of the RPC reply message\n\nNow that xdr_inline_decode() will automatically cross into the page\nbuffers, we need to ensure that it doesn\u0027t exceed the total reply\nmessage length.\n\nThis patch sets up a counter that tracks the number of words\nremaining in the reply message, and ensures that xdr_inline_decode,\nxdr_read_pages and xdr_enter_page respect the end of message boundary.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "d5497fc693a446ce9100fcf4117c3f795ddfd0d2",
      "tree": "7254a8eb06629de6c9ac4b8dbe8e38c79c979af3",
      "parents": [
        "8fbba96e5b327665265ad02b7f331b68536828bf"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Mon May 14 22:06:49 2012 -0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Thu May 31 20:29:58 2012 -0400"
      },
      "message": "nfsd4: move rq_flavor into svc_cred\n\nMove the rq_flavor into struct svc_cred, and use it in setclientid and\nexchange_id comparisons as well.\n\nSigned-off-by: J. Bruce Fields \u003cbfields@redhat.com\u003e\n"
    },
    {
      "commit": "03a4e1f6ddf25f48848e1bddcffc0ad489648331",
      "tree": "f140e3deb767d092eca997037ebb7b098d8afce9",
      "parents": [
        "631fc9ea05c97e5d1d14ea58a7347be4857d09da"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Mon May 14 19:55:22 2012 -0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Thu May 31 20:29:55 2012 -0400"
      },
      "message": "nfsd4: move principal name into svc_cred\n\nInstead of keeping the principal name associated with a request in a\nstructure that\u0027s private to auth_gss and using an accessor function,\nmove it to svc_cred.\n\nSigned-off-by: J. Bruce Fields \u003cbfields@redhat.com\u003e\n"
    },
    {
      "commit": "9793f7c88937e7ac07305ab1af1a519225836823",
      "tree": "48a4283a15cb0d5a427e722075fe546cc8cdcc53",
      "parents": [
        "c52226daf553b21891f39777d78a54ea4e7e8654"
      ],
      "author": {
        "name": "Stanislav Kinsbursky",
        "email": "skinsbursky@parallels.com",
        "time": "Wed May 02 16:08:38 2012 +0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Thu May 31 20:29:39 2012 -0400"
      },
      "message": "SUNRPC: new svc_bind() routine introduced\n\nThis new routine is responsible for service registration in a specified\nnetwork context.\n\nThe idea is to separate service creation from per-net operations.\n\nNote also: since registering service with svc_bind() can fail, the\nservice will be destroyed and during destruction it will try to\nunregister itself from rpcbind. In this case unregistration has to be\nskipped.\n\nSigned-off-by: Stanislav Kinsbursky \u003cskinsbursky@parallels.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@redhat.com\u003e\n"
    },
    {
      "commit": "e5f06f720eff24e32f1cc08ec03bcc8c4b2d2934",
      "tree": "9afeda20ea7ea07f6c1bbcc9dc5979c98cc62def",
      "parents": [
        "b3853e0ea1f2ef58f7e7c03e47819e2ae3766dea"
      ],
      "author": {
        "name": "Stanislav Kinsbursky",
        "email": "skinsbursky@parallels.com",
        "time": "Wed Apr 11 15:13:28 2012 +0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Thu Apr 12 09:11:46 2012 -0400"
      },
      "message": "nfsd: make expkey cache allocated per network namespace context\n\nThis patch also changes svcauth_unix_purge() function: added network namespace\nas a parameter and thus loop over all networks was replaced by only one call\nfor ip map cache purge.\n\nSigned-off-by: Stanislav Kinsbursky \u003cskinsbursky@parallels.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@redhat.com\u003e\n"
    },
    {
      "commit": "a9aa53df6e6c768fc0f25a7c80ba586b0290720a",
      "tree": "fe936de6adf60d68c2c637a499f221e996d80abf",
      "parents": [
        "03af42c59e5fc073fa93b7fe44e80161acb22772"
      ],
      "author": {
        "name": "Simo Sorce",
        "email": "simo@redhat.com",
        "time": "Thu Mar 29 19:18:19 2012 -0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Wed Apr 11 17:54:59 2012 -0400"
      },
      "message": "svcauth: remove unused define\n\nSigned-off-by: Simo Sorce \u003csimo@redhat.com\u003e\n"
    },
    {
      "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"
    }
  ],
  "next": "d77385f23830ee6c400569bac8b37e6eb3b7d360"
}
