)]}'
{
  "log": [
    {
      "commit": "28890d3598c352ae065b560e0fded3e79c800ba1",
      "tree": "93267c5b29b9e81185e66a6c2e70e67dc626b63f",
      "parents": [
        "91d41fdf31f74e6e2e5f3cb018eca4200e36e202",
        "ed1e6211a0a134ff23592c6f057af982ad5dab52"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jul 27 13:23:02 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jul 27 13:23:02 2011 -0700"
      },
      "message": "Merge branch \u0027nfs-for-3.1\u0027 of git://git.linux-nfs.org/projects/trondmy/linux-nfs\n\n* \u0027nfs-for-3.1\u0027 of git://git.linux-nfs.org/projects/trondmy/linux-nfs: (44 commits)\n  NFSv4: Don\u0027t use the delegation-\u003einode in nfs_mark_return_delegation()\n  nfs: don\u0027t use d_move in nfs_async_rename_done\n  RDMA: Increasing RPCRDMA_MAX_DATA_SEGS\n  SUNRPC: Replace xprt-\u003eresend and xprt-\u003esending with a priority queue\n  SUNRPC: Allow caller of rpc_sleep_on() to select priority levels\n  SUNRPC: Support dynamic slot allocation for TCP connections\n  SUNRPC: Clean up the slot table allocation\n  SUNRPC: Initalise the struct xprt upon allocation\n  SUNRPC: Ensure that we grab the XPRT_LOCK before calling xprt_alloc_slot\n  pnfs: simplify pnfs files module autoloading\n  nfs: document nfsv4 sillyrename issues\n  NFS: Convert nfs4_set_ds_client to EXPORT_SYMBOL_GPL\n  SUNRPC: Convert the backchannel exports to EXPORT_SYMBOL_GPL\n  SUNRPC: sunrpc should not explicitly depend on NFS config options\n  NFS: Clean up - simplify the switch to read/write-through-MDS\n  NFS: Move the pnfs write code into pnfs.c\n  NFS: Move the pnfs read code into pnfs.c\n  NFS: Allow the nfs_pageio_descriptor to signal that a re-coalesce is needed\n  NFS: Use the nfs_pageio_descriptor-\u003epg_bsize in the read/write request\n  NFS: Cache rpc_ops in struct nfs_pageio_descriptor\n  ...\n"
    },
    {
      "commit": "60063497a95e716c9a689af3be2687d261f115b4",
      "tree": "6ce0d68db76982c53df46aee5f29f944ebf2c320",
      "parents": [
        "148817ba092f9f6edd35bad3c6c6b8e8f90fe2ed"
      ],
      "author": {
        "name": "Arun Sharma",
        "email": "asharma@fb.com",
        "time": "Tue Jul 26 16:09:06 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 26 16:49:47 2011 -0700"
      },
      "message": "atomic: use \u003clinux/atomic.h\u003e\n\nThis allows us to move duplicated code in \u003casm/atomic.h\u003e\n(atomic_inc_not_zero() for now) to \u003clinux/atomic.h\u003e\n\nSigned-off-by: Arun Sharma \u003casharma@fb.com\u003e\nReviewed-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: David Miller \u003cdavem@davemloft.net\u003e\nCc: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nAcked-by: Mike Frysinger \u003cvapier@gentoo.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "1091006c5eb15cba56785bd5b498a8d0b9546903",
      "tree": "b51fad1bb57284b3eea4308c02652c4888b85860",
      "parents": [
        "3e98abffd1665b884a322aedcd528577842f762f"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Mon Jan 24 12:11:02 2011 -0500"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Mon Jul 18 09:39:01 2011 -0400"
      },
      "message": "nfsd: turn on reply cache for NFSv4\n\nIt\u0027s sort of ridiculous that we\u0027ve never had a working reply cache for\nNFSv4.\n\nOn the other hand, we may still not: our current reply cache is likely\nnot very good, especially in the TCP case (which is the only case that\nmatters for v4).  What we really need here is some serious testing.\n\nAnyway, here\u0027s a start.\n\nSigned-off-by: J. Bruce Fields \u003cbfields@redhat.com\u003e\n"
    },
    {
      "commit": "34006cee28f7344f9557a4be3816c7891b1bbab1",
      "tree": "2b0ddaa661a7dcb4715948b965ee307614b232f1",
      "parents": [
        "3b27bad7f7ceacca6d6c0ef647ffb38aa55a8336"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sun Jul 17 18:11:34 2011 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sun Jul 17 18:11:34 2011 -0400"
      },
      "message": "SUNRPC: Replace xprt-\u003eresend and xprt-\u003esending with a priority queue\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "3b27bad7f7ceacca6d6c0ef647ffb38aa55a8336",
      "tree": "ccf8bcd5f7276655c33133685a1be3f7281d8278",
      "parents": [
        "d9ba131d8f58c0d2ff5029e7002ab43f913b36f9"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sun Jul 17 18:11:34 2011 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sun Jul 17 18:11:34 2011 -0400"
      },
      "message": "SUNRPC: Allow caller of rpc_sleep_on() to select priority levels\n\nCurrently, the caller has to change the value of task-\u003etk_priority if\nit wants to select on which priority level the task will sleep.\n\nThis patch allows the caller to select a priority level at sleep time\nrather than always using task-\u003etk_priority.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "d9ba131d8f58c0d2ff5029e7002ab43f913b36f9",
      "tree": "f2ed7330c72077bf84954b989cbe1ff47522a115",
      "parents": [
        "21de0a955f3af29fa1100d96f66e6adade89e77a"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sun Jul 17 18:11:30 2011 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sun Jul 17 18:11:30 2011 -0400"
      },
      "message": "SUNRPC: Support dynamic slot allocation for TCP connections\n\nAllow the number of available slots to grow with the TCP window size.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "21de0a955f3af29fa1100d96f66e6adade89e77a",
      "tree": "0e829bc99fd3786361f78106f50e3961a5ee209b",
      "parents": [
        "8d9266ffe4332afc5ac9de401ef6f825b3798585"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sun Jul 17 16:57:32 2011 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sun Jul 17 16:57:32 2011 -0400"
      },
      "message": "SUNRPC: Clean up the slot table allocation\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "43cedbf0e8dfb9c5610eb7985d5f21263e313802",
      "tree": "7758630292b6a276a3db72e63803ddc02c0a4444",
      "parents": [
        "f85ef69ce08bc2209858135328335f668ba35bdb"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sun Jul 17 16:01:03 2011 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sun Jul 17 16:01:03 2011 -0400"
      },
      "message": "SUNRPC: Ensure that we grab the XPRT_LOCK before calling xprt_alloc_slot\n\nThis throttles the allocation of new slots when the socket is busy\nreconnecting and/or is out of buffer space.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "49b28684fdba2c84a3b8e54aaa0faa9ce2e4f140",
      "tree": "c64ee1e754e291d5a917417b25026e681d8a3d0d",
      "parents": [
        "094b5d74f4005ae1cc90688f2c814e00937809a8"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Tue Jun 21 15:27:43 2011 +1000"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Fri Jul 15 18:58:42 2011 -0400"
      },
      "message": "nfsd: Remove deprecated nfsctl system call and related code.\n\nAs promised in feature-removal-schedule.txt it is time to\nremove the nfsctl system call.\n\nUserspace has perferred to not use this call throughout 2.6 and it has been\nexcluded in the default configuration since 2.6.36 (9 months ago).\n\nSo this patch removes all the code that was being compiled out.\n\nThere are still references to sys_nfsctl in various arch systemcall tables\nand related code.  These should be cleaned out too, probably in the next\nmerge window.\n\nSigned-off-by: NeilBrown \u003cneilb@suse.de\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@redhat.com\u003e\n"
    },
    {
      "commit": "9e00abc3c20904fd6a5d888bb7023925799ec8a5",
      "tree": "ea6f8749fa21e5b23f02b36c3a82e405b495af0b",
      "parents": [
        "1f9453578f059d2651aa6c6b16756627fc9f2a74"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Jul 13 19:20:49 2011 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Jul 15 09:12:23 2011 -0400"
      },
      "message": "SUNRPC: sunrpc should not explicitly depend on NFS config options\n\nChange explicit references to CONFIG_NFS_V4_1 to implicit ones\nGet rid of the unnecessary defines in backchannel_rqst.c and\nbc_svc.c: the Makefile takes care of those dependency.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "2992c4bd5742b31a0ee00a76eee9c1c284507418",
      "tree": "b2af7d776ec6a4ae69b5f245ee0586359a99eabd",
      "parents": [
        "e08f6d4131ab964420f0bcabecc68d75fb49df79",
        "1650add23578b5ca35c1f1e863987180a8c03779"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jun 21 18:20:55 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jun 21 18:20:55 2011 -0700"
      },
      "message": "Merge branch \u0027bugfixes\u0027 of git://git.linux-nfs.org/projects/trondmy/nfs-2.6\n\n* \u0027bugfixes\u0027 of git://git.linux-nfs.org/projects/trondmy/nfs-2.6:\n  NFS: Fix decode_secinfo_maxsz\n  NFSv4.1: Fix an off-by-one error in pnfs_generic_pg_test\n  NFSv4.1: Fix some issues with pnfs_generic_pg_test\n  NFSv4.1: file layout must consider pg_bsize for coalescing\n  pnfs-obj: No longer needed to take an extra ref at add_device\n  SUNRPC: Ensure the RPC client only quits on fatal signals\n  NFSv4: Fix a readdir regression\n  nfs4.1: mark layout as bad on error path in _pnfs_return_layout\n  nfs4.1: prevent race that allowed use of freed layout in _pnfs_return_layout\n  NFSv4.1: need to put_layout_hdr on _pnfs_return_layout error path\n  NFS: (d)printks should use %zd for ssize_t arguments\n  NFSv4.1: fix break condition in pnfs_find_lseg\n  nfs4.1: fix several problems with _pnfs_return_layout\n  NFSv4.1: allow zero fh array in filelayout decode layout\n  NFSv4.1: allow nfs_fhget to succeed with mounted on fileid\n  NFSv4.1: Fix a refcounting issue in the pNFS device id cache\n  NFSv4.1: deprecate headerpadsz in CREATE_SESSION\n  NFS41: do not update isize if inode needs layoutcommit\n  NLM: Don\u0027t hang forever on NLM unlock requests\n  NFS: fix umount of pnfs filesystems\n"
    },
    {
      "commit": "0b760113a3a155269a3fba93a409c640031dd68f",
      "tree": "699dc3e0ebe2df11b0c67045c046deafdb56282d",
      "parents": [
        "9e3bd4e24e94d60d2e0762e919aab6c9a7fc0c5b"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue May 31 15:15:34 2011 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Jun 15 11:24:27 2011 -0400"
      },
      "message": "NLM: Don\u0027t hang forever on NLM unlock requests\n\nIf the NLM daemon is killed on the NFS server, we can currently end up\nhanging forever on an \u0027unlock\u0027 request, instead of aborting. Basically,\nif the rpcbind request fails, or the server keeps returning garbage, we\nreally want to quit instead of retrying.\n\nTested-by: Vasily Averin \u003cvvs@sw.ru\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\nCc: stable@kernel.org\n"
    },
    {
      "commit": "b084f598df36b62dfae83c10ed17f0b66b50f442",
      "tree": "afc1539781e533fc5db158f674eb1a1d88f00347",
      "parents": [
        "59c5f46fbe01a00eedf54a23789634438bb80603"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Tue May 31 12:24:58 2011 -0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Mon Jun 06 15:07:15 2011 -0400"
      },
      "message": "nfsd: fix dependency of nfsd on auth_rpcgss\n\nCommit b0b0c0a26e84 \"nfsd: add proc file listing kernel\u0027s gss_krb5\nenctypes\" added an nunnecessary dependency of nfsd on the auth_rpcgss\nmodule.\n\nIt\u0027s a little ad hoc, but since the only piece of information nfsd needs\nfrom rpcsec_gss_krb5 is a single static string, one solution is just to\nshare it with an include file.\n\nCc: stable@kernel.org\nReported-by: Michael Guntsche \u003cmike@it-loops.com\u003e\nCc: Kevin Coffman \u003ckwc@citi.umich.edu\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@redhat.com\u003e\n"
    },
    {
      "commit": "cd1acdf1723d71b28175f95b04305f1cc74ce363",
      "tree": "7ab58883eccd314be3d8efafd59a124d4ffbb861",
      "parents": [
        "fac04863cef53a69830590b2e1c54345068a9747",
        "9342077011d54f42fa1b88b7bc1f7008dcf5fff9"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun May 29 14:10:13 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun May 29 14:10:13 2011 -0700"
      },
      "message": "Merge branch \u0027pnfs-submit\u0027 of git://git.open-osd.org/linux-open-osd\n\n* \u0027pnfs-submit\u0027 of git://git.open-osd.org/linux-open-osd: (32 commits)\n  pnfs-obj: pg_test check for max_io_size\n  NFSv4.1: define nfs_generic_pg_test\n  NFSv4.1: use pnfs_generic_pg_test directly by layout driver\n  NFSv4.1: change pg_test return type to bool\n  NFSv4.1: unify pnfs_pageio_init functions\n  pnfs-obj: objlayout_encode_layoutcommit implementation\n  pnfs: encode_layoutcommit\n  pnfs-obj: report errors and .encode_layoutreturn Implementation.\n  pnfs: encode_layoutreturn\n  pnfs: layoutret_on_setattr\n  pnfs: layoutreturn\n  pnfs-obj: osd raid engine read/write implementation\n  pnfs: support for non-rpc layout drivers\n  pnfs-obj: define per-inode private structure\n  pnfs: alloc and free layout_hdr layoutdriver methods\n  pnfs-obj: objio_osd device information retrieval and caching\n  pnfs-obj: decode layout, alloc/free lseg\n  pnfs-obj: pnfs_osd XDR client implementation\n  pnfs-obj: pnfs_osd XDR definitions\n  pnfs-obj: objlayoutdriver module skeleton\n  ...\n"
    },
    {
      "commit": "a74d70b63f1a0230831bcca3145d85ae016f9d4c",
      "tree": "24392a2843b19e81a1a38d88b34e772bd688502b",
      "parents": [
        "b11b06d90a41766c2d31f0acb8a87aa0f2a7188f",
        "c47d832bc0155153920e507f075647519bad09a2"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun May 29 11:21:12 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun May 29 11:21:12 2011 -0700"
      },
      "message": "Merge branch \u0027for-2.6.40\u0027 of git://linux-nfs.org/~bfields/linux\n\n* \u0027for-2.6.40\u0027 of git://linux-nfs.org/~bfields/linux: (22 commits)\n  nfsd: make local functions static\n  NFSD: Remove unused variable from nfsd4_decode_bind_conn_to_session()\n  NFSD: Check status from nfsd4_map_bcts_dir()\n  NFSD: Remove setting unused variable in nfsd_vfs_read()\n  nfsd41: error out on repeated RECLAIM_COMPLETE\n  nfsd41: compare request\u0027s opcnt with session\u0027s maxops at nfsd4_sequence\n  nfsd v4.1 lOCKT clientid field must be ignored\n  nfsd41: add flag checking for create_session\n  nfsd41: make sure nfs server process OPEN with EXCLUSIVE4_1 correctly\n  nfsd4: fix wrongsec handling for PUTFH + op cases\n  nfsd4: make fh_verify responsibility of nfsd_lookup_dentry caller\n  nfsd4: introduce OPDESC helper\n  nfsd4: allow fh_verify caller to skip pseudoflavor checks\n  nfsd: distinguish functions of NFSD_MAY_* flags\n  svcrpc: complete svsk processing on cb receive failure\n  svcrpc: take advantage of tcp autotuning\n  SUNRPC: Don\u0027t wait for full record to receive tcp data\n  svcrpc: copy cb reply instead of pages\n  svcrpc: close connection if client sends short packet\n  svcrpc: note network-order types in svc_process_calldir\n  ...\n"
    },
    {
      "commit": "f7da7a129d57bfe0f74573dc03531c63e1360fae",
      "tree": "6efcd0fbdde9bb816ebc70731f1c47b8335ccfe3",
      "parents": [
        "35c8bb543c9e83197e6375142d1d1c2ee3cf017d"
      ],
      "author": {
        "name": "Benny Halevy",
        "email": "bhalevy@panasas.com",
        "time": "Thu May 19 14:16:47 2011 -0400"
      },
      "committer": {
        "name": "Boaz Harrosh",
        "email": "bharrosh@panasas.com",
        "time": "Sun May 29 20:52:32 2011 +0300"
      },
      "message": "SUNRPC: introduce xdr_init_decode_pages\n\nInitialize xdr_stream and xdr_buf using an array of page pointers\nand length of buffer.\n\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n"
    },
    {
      "commit": "176e21ee2ec89cae8d45cf1a850ea45a45428fb8",
      "tree": "4e1231617d193b3fe62ea5bd4df5e4d8fe8b9e80",
      "parents": [
        "559649efb9b0d248541933197bdf7b75529da457"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@ORACLE.COM",
        "time": "Mon May 09 15:22:44 2011 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri May 27 17:42:47 2011 -0400"
      },
      "message": "SUNRPC: Support for RPC over AF_LOCAL transports\n\nTI-RPC introduces the capability of performing RPC over AF_LOCAL\nsockets.  It uses this mainly for registering and unregistering\nlocal RPC services securely with the local rpcbind, but we could\nalso conceivably use it as a generic upcall mechanism.\n\nThis patch provides a client-side only implementation for the moment.\nWe might also consider a server-side implementation to provide\nAF_LOCAL access to NLM (for statd downcalls, and such like).\n\nAutobinding is not supported on kernel AF_LOCAL transports at this\ntime.  Kernel ULPs must specify the pathname of the remote endpoint\nwhen an AF_LOCAL transport is created.  rpcbind supports registering\nservices available via AF_LOCAL, so the kernel could handle it with\nsome adjustment to -\u003erpcbind and -\u003eset_port.  But we don\u0027t need this\nfeature for doing upcalls via well-known named sockets.\n\nThis has not been tested with ULPs that move a substantial amount of\ndata.  Thus, I can\u0027t attest to how robust the write_space and\ncongestion management logic is.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "7494d00c7b826b6ceb79ec33892bd0ef59be5614",
      "tree": "1a8a6d056047135108ffc8ea311ccd80d1fd28fd",
      "parents": [
        "fd954ae124e8a866e9cc1bc3de9a07be5492f608"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sun Apr 24 14:28:45 2011 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sun Apr 24 14:28:45 2011 -0400"
      },
      "message": "SUNRPC: Allow RPC calls to return ETIMEDOUT instead of EIO\n\nOn occasion, it is useful for the NFS layer to distinguish between\nsoft timeouts and other EIO errors due to (say) encoding errors,\nor authentication errors.\n\nThe following patch ensures that the default behaviour of the RPC\nlayer remains to return EIO on soft timeouts (until we have\naudited all the callers).\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "468f86134ee515234afe5c5b3f39f266c50e61a5",
      "tree": "912d0d587ffa2897ce16ed1258e8f52b23308b61",
      "parents": [
        "47c2199b6eb5fbe38ddb844db7cdbd914d304f9c"
      ],
      "author": {
        "name": "Bryan Schumaker",
        "email": "bjschuma@netapp.com",
        "time": "Mon Apr 18 15:57:32 2011 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Apr 18 17:05:48 2011 -0400"
      },
      "message": "NFSv4.1: Don\u0027t update sequence number if rpc_task is not sent\n\nIf we fail to contact the gss upcall program, then no message will\nbe sent to the server.  The client still updated the sequence number,\nhowever, and this lead to NFS4ERR_SEQ_MISMATCH for the next several\nRPC calls.\n\nSigned-off-by: Bryan Schumaker \u003cbjschuma@netapp.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "31d68ef65c7d49def19c1bae4e01b87d66cf5a56",
      "tree": "e55082c9573cb189f352c5fa9eb1c9d0ef5cf2d0",
      "parents": [
        "586c52cc61b5b84c70102208b78269ef5924bf49"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Thu Feb 24 11:25:33 2011 -0800"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Thu Apr 07 14:36:40 2011 -0400"
      },
      "message": "SUNRPC: Don\u0027t wait for full record to receive tcp data\n\nEnsure that we immediately read and buffer data from the incoming TCP\nstream so that we grow the receive window quickly, and don\u0027t deadlock on\nlarge READ or WRITE requests.\n\nAlso do some minor exit cleanup.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@redhat.com\u003e\n"
    },
    {
      "commit": "25985edcedea6396277003854657b5f3cb31a628",
      "tree": "f026e810210a2ee7290caeb737c23cb6472b7c38",
      "parents": [
        "6aba74f2791287ec407e0f92487a725a25908067"
      ],
      "author": {
        "name": "Lucas De Marchi",
        "email": "lucas.demarchi@profusion.mobi",
        "time": "Wed Mar 30 22:57:33 2011 -0300"
      },
      "committer": {
        "name": "Lucas De Marchi",
        "email": "lucas.demarchi@profusion.mobi",
        "time": "Thu Mar 31 11:26:23 2011 -0300"
      },
      "message": "Fix common misspellings\n\nFixes generated by \u0027codespell\u0027 and manually reviewed.\n\nSigned-off-by: Lucas De Marchi \u003clucas.demarchi@profusion.mobi\u003e\n"
    },
    {
      "commit": "8f70e95f9f4159184f557a1db60c909d7c1bd2e3",
      "tree": "80acf6fa7d35d29ba03798fb6745ad9791f965c9",
      "parents": [
        "7ebb931598cd95cccea10d4bc4c0123a464ea565"
      ],
      "author": {
        "name": "Bryan Schumaker",
        "email": "bjschuma@netapp.com",
        "time": "Thu Mar 24 17:12:31 2011 +0000"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Mar 24 13:52:42 2011 -0400"
      },
      "message": "NFS: Determine initial mount security\n\nWhen sec\u003d\u003csomething\u003e is not presented as a mount option,\nwe should attempt to determine what security flavor the\nserver is using.\n\nSigned-off-by: Bryan Schumaker \u003cbjschuma@netapp.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "a8de240a9074b72b156d9e6d53f00076e6cd5f03",
      "tree": "9436ca858870ce89af75703b61a2c25889db354e",
      "parents": [
        "e020c6800c9621a77223bf2c1ff68180e41e8ebf"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Mar 15 19:56:30 2011 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Mar 17 12:38:59 2011 -0400"
      },
      "message": "SUNRPC: Convert struct rpc_xprt to use atomic_t counters\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "cbdabc7f8bf14ca1d40ab1cb86f64b3bc09716e8",
      "tree": "16939b96996e8380d91d7e2743e811cf5c49f629",
      "parents": [
        "dc70d7b3189597f313df7bd2da849cfc39063b15"
      ],
      "author": {
        "name": "Andy Adamson",
        "email": "andros@netapp.com",
        "time": "Tue Mar 01 01:34:20 2011 +0000"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Mar 11 15:38:43 2011 -0500"
      },
      "message": "NFSv4.1: filelayout async error handler\n\nUse our own async error handler.\nMark the layout as failed and retry i/o through the MDS on specified errors.\n\nUpdate the mds_offset in nfs_readpage_retry so that a failed short-read retry\nto a DS gets correctly resent through the MDS.\n\nSigned-off-by: Andy Adamson \u003candros@netapp.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "bf294b41cefcb22fc3139e0f42c5b3f06728bd5e",
      "tree": "250251c040a2d2e278b5a2ddd03c8d20a27be129",
      "parents": [
        "214d93b02c4fe93638ad268613c9702a81ed9192"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Feb 21 11:05:41 2011 -0800"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Mar 10 15:04:52 2011 -0500"
      },
      "message": "SUNRPC: Close a race in __rpc_wait_for_completion_task()\n\nAlthough they run as rpciod background tasks, under normal operation\n(i.e. no SIGKILL), functions like nfs_sillyrename(), nfs4_proc_unlck()\nand nfs4_do_close() want to be fully synchronous. This means that when we\nexit, we want all references to the rpc_task to be gone, and we want\nany dentry references etc. held by that task to be released.\n\nFor this reason these functions call __rpc_wait_for_completion_task(),\nfollowed by rpc_put_task() in the expectation that the latter will be\nreleasing the last reference to the rpc_task, and thus ensuring that the\ncallback_ops-\u003erpc_release() has been called synchronously.\n\nThis patch fixes a race which exists due to the fact that\nrpciod calls rpc_complete_task() (in order to wake up the callers of\n__rpc_wait_for_completion_task()) and then subsequently calls\nrpc_put_task() without ensuring that these two steps are done atomically.\n\nIn order to avoid adding new spin locks, the patch uses the existing\nwaitqueue spin lock to order the rpc_task reference count releases between\nthe waiting process and rpciod.\nThe common case where nobody is waiting for completion is optimised for by\nchecking if the RPC_TASK_ASYNC flag is cleared and/or if the rpc_task\nreference count is 1: in those cases we drop trying to grab the spin lock,\nand immediately free up the rpc_task.\n\nThose few processes that need to put the rpc_task from inside an\nasynchronous context and that do not care about ordering are given a new\nhelper: rpc_put_task_async().\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "778be232a207e79088ba70d832ac25dfea6fbf1a",
      "tree": "307249459e5ef45c4b3651c7fc5c454cdb3e0c92",
      "parents": [
        "80c30e8de4f81851b1f712bcc596e11d53bc76f1"
      ],
      "author": {
        "name": "Andy Adamson",
        "email": "andros@netapp.com",
        "time": "Tue Jan 25 15:38:01 2011 +0000"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Jan 25 15:26:51 2011 -0500"
      },
      "message": "NFS do not find client in NFSv4 pg_authenticate\n\nThe information required to find the nfs_client cooresponding to the incoming\nback channel request is contained in the NFS layer. Perform minimal checking\nin the RPC layer pg_authenticate method, and push more detailed checking into\nthe NFS layer where the nfs_client can be found.\n\nSigned-off-by: Andy Adamson \u003candros@netapp.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "18bce371ae09af6c20ee62c1092a4d1d0e84dd49",
      "tree": "f3467fafd8e49392e3f6efef7b88a7b4dd3b7b06",
      "parents": [
        "ec08bdb148767f1193f5f3028749ed865ac27181",
        "a8f2800b4f7b76cecb7209cb6a7d2b14904fc711"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 14 13:17:26 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 14 13:17:26 2011 -0800"
      },
      "message": "Merge branch \u0027for-2.6.38\u0027 of git://linux-nfs.org/~bfields/linux\n\n* \u0027for-2.6.38\u0027 of git://linux-nfs.org/~bfields/linux: (62 commits)\n  nfsd4: fix callback restarting\n  nfsd: break lease on unlink, link, and rename\n  nfsd4: break lease on nfsd setattr\n  nfsd: don\u0027t support msnfs export option\n  nfsd4: initialize cb_per_client\n  nfsd4: allow restarting callbacks\n  nfsd4: simplify nfsd4_cb_prepare\n  nfsd4: give out delegations more quickly in 4.1 case\n  nfsd4: add helper function to run callbacks\n  nfsd4: make sure sequence flags are set after destroy_session\n  nfsd4: re-probe callback on connection loss\n  nfsd4: set sequence flag when backchannel is down\n  nfsd4: keep finer-grained callback status\n  rpc: allow xprt_class-\u003esetup to return a preexisting xprt\n  rpc: keep backchannel xprt as long as server connection\n  rpc: move sk_bc_xprt to svc_xprt\n  nfsd4: allow backchannel recovery\n  nfsd4: support BIND_CONN_TO_SESSION\n  nfsd4: modify session list under cl_lock\n  Documentation: fl_mylease no longer exists\n  ...\n\nFix up conflicts in fs/nfsd/vfs.c with the vfs-scale work.  The\nvfs-scale work touched some msnfs cases, and this merge removes support\nfor that entirely, so the conflict was trivial to resolve.\n"
    },
    {
      "commit": "b9d919a4ac6cf031b8e065f82ad8f1b0c9ed74b1",
      "tree": "3139b066396956fd3794df0cb1aa74dcc9f1cb28",
      "parents": [
        "7c955fca3e1d8132982148267d9efcafae849bb6",
        "357f54d6b38252737116a6d631f6ac28ded018ed"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 11 15:11:56 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 11 15:11:56 2011 -0800"
      },
      "message": "Merge branch \u0027nfs-for-2.6.38\u0027 of git://git.linux-nfs.org/projects/trondmy/nfs-2.6\n\n* \u0027nfs-for-2.6.38\u0027 of git://git.linux-nfs.org/projects/trondmy/nfs-2.6: (89 commits)\n  NFS fix the setting of exchange id flag\n  NFS: Don\u0027t use vm_map_ram() in readdir\n  NFSv4: Ensure continued open and lockowner name uniqueness\n  NFS: Move cl_delegations to the nfs_server struct\n  NFS: Introduce nfs_detach_delegations()\n  NFS: Move cl_state_owners and related fields to the nfs_server struct\n  NFS: Allow walking nfs_client.cl_superblocks list outside client.c\n  pnfs: layout roc code\n  pnfs: update nfs4_callback_recallany to handle layouts\n  pnfs: add CB_LAYOUTRECALL handling\n  pnfs: CB_LAYOUTRECALL xdr code\n  pnfs: change lo refcounting to atomic_t\n  pnfs: check that partial LAYOUTGET return is ignored\n  pnfs: add layout to client list before sending rpc\n  pnfs: serialize LAYOUTGET(openstateid)\n  pnfs: layoutget rpc code cleanup\n  pnfs: change how lsegs are removed from layout list\n  pnfs: change layout state seqlock to a spinlock\n  pnfs: add prefix to struct pnfs_layout_hdr fields\n  pnfs: add prefix to struct pnfs_layout_segment fields\n  ...\n"
    },
    {
      "commit": "f0418aa4b1103f959d64dc18273efa04ee0140e9",
      "tree": "01457cfe70d614dcdb12759247212602c2c2c008",
      "parents": [
        "99de8ea962bbc11a51ad4c52e3dc93bee5f6ba70"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Wed Dec 08 13:48:19 2010 -0500"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Tue Jan 11 15:04:10 2011 -0500"
      },
      "message": "rpc: allow xprt_class-\u003esetup to return a preexisting xprt\n\nThis allows us to reuse the xprt associated with a server connection if\none has already been set up.\n\nSigned-off-by: J. Bruce Fields \u003cbfields@redhat.com\u003e\n"
    },
    {
      "commit": "d75faea330dbd1873c9094e9926ae306590c0998",
      "tree": "36b8e50ad2d94c75e77dacd98ff02036ddd0f65f",
      "parents": [
        "dcbeaa68dbbdacbbb330a86c7fc95a28473fc209"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Tue Nov 30 19:15:01 2010 -0500"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Tue Jan 11 15:04:10 2011 -0500"
      },
      "message": "rpc: move sk_bc_xprt to svc_xprt\n\nThis seems obviously transport-level information even if it\u0027s currently\nused only by the server socket code.\n\nSigned-off-by: J. Bruce Fields \u003cbfields@redhat.com\u003e\n"
    },
    {
      "commit": "68c404b18f6fba404b2753622d0459c68ee128ae",
      "tree": "c1ec0bb12f19d91071b461cc2831d9d3dd4c74f3",
      "parents": [
        "d035c36c58dd9183ad6aa7875dea89893faedb55",
        "6650239a4b01077e80d5a4468562756d77afaa59"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Jan 10 14:48:02 2011 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Jan 10 14:48:02 2011 -0500"
      },
      "message": "Merge branch \u0027bugfixes\u0027 into nfs-for-2.6.38\n\nConflicts:\n\tfs/nfs/nfs2xdr.c\n\tfs/nfs/nfs3xdr.c\n\tfs/nfs/nfs4xdr.c\n"
    },
    {
      "commit": "6650239a4b01077e80d5a4468562756d77afaa59",
      "tree": "505c9a1dc26c26608ce6a5981093a6357d4f3638",
      "parents": [
        "3c0eee3fe6a3a1c745379547c7e7c904aa64f6d5"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sat Jan 08 17:45:38 2011 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Jan 10 14:45:01 2011 -0500"
      },
      "message": "NFS: Don\u0027t use vm_map_ram() in readdir\n\nvm_map_ram() is not available on NOMMU platforms, and causes trouble\non incoherrent architectures such as ARM when we access the page data\nthrough both the direct and the virtual mapping.\n\nThe alternative is to use the direct mapping to access page data\nfor the case when we are not crossing a page boundary, but to copy\nthe data into a linear scratch buffer when we are accessing data\nthat spans page boundaries.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\nTested-by: Marc Kleine-Budde \u003cmkl@pengutronix.de\u003e\nCc: stable@kernel.org  [2.6.37]\n"
    },
    {
      "commit": "57cc7215b70856dc6bae8e55b00ecd7b1d7429b1",
      "tree": "f6dedefd41e6745a9b801166b99af7d830e41ef2",
      "parents": [
        "37721e1b0cf98cb65895f234d8c500d270546529"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Mon Jan 10 08:18:25 2011 +0200"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jan 10 08:51:44 2011 -0800"
      },
      "message": "headers: kobject.h redux\n\nRemove kobject.h from files which don\u0027t need it, notably,\nsched.h and fs.h.\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "4a19de0f4b693139bb10b7cc3cfe1f618576ba67",
      "tree": "c947ed534254d08c5b8836349303844134a13d19",
      "parents": [
        "42acd021824578fa0eeb6eb58d457c23ec5dc9c0"
      ],
      "author": {
        "name": "Andy Adamson",
        "email": "andros@netapp.com",
        "time": "Thu Jan 06 02:04:35 2011 +0000"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Jan 06 14:46:25 2011 -0500"
      },
      "message": "NFS rename client back channel transport field\n\nDifferentiate from server backchannel\n\nSigned-off-by: Andy Adamson \u003candros@netapp.com\u003e\nAcked-by: Bruce Fields \u003cbfields@redhat.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "c36fca52f5e4594ffd0ff175b328966b0d393184",
      "tree": "6d771744cc49f0edc0d2b6b2f9fe919163002346",
      "parents": [
        "2c2618c6f29c41a0a966f14f05c8bf45fcabb750"
      ],
      "author": {
        "name": "Andy Adamson",
        "email": "andros@netapp.com",
        "time": "Thu Jan 06 02:04:32 2011 +0000"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Jan 06 14:46:24 2011 -0500"
      },
      "message": "NFS refactor nfs_find_client and reference client across callback processing\n\nFixes a bug where the nfs_client could be freed during callback processing.\nRefactor nfs_find_client to use minorversion specific means to locate the\ncorrect nfs_client structure.\n\nIn the NFS layer, V4.0 clients are found using the callback_ident field in the\nCB_COMPOUND header.  V4.1 clients are found using the sessionID in the\nCB_SEQUENCE operation which is also compared against the sessionID associated\nwith the back channel thread after a successful CREATE_SESSION.\n\nEach of these methods finds the one an only nfs_client associated\nwith the incoming callback request - so nfs_find_client_next is not needed.\n\nIn the RPC layer, the pg_authenticate call needs to find the nfs_client. For\nthe v4.0 callback service, the callback identifier has not been decoded so a\nsearch by address, version, and minorversion is used.  The sessionid for the\nsessions based callback service has (usually) not been set for the\npg_authenticate on a CB_NULL call which can be sent prior to the return\nof a CREATE_SESSION call, so the sessionid associated with the back channel\nthread is not used to find the client in pg_authenticate for CB_NULL calls.\n\nPass the referenced nfs_client to each CB_COMPOUND operation being proceesed\nvia the new cb_process_state structure. The reference is held across\ncb_compound processing.\n\nUse the new cb_process_state struct to move the NFS4ERR_RETRY_UNCACHED_REP\nprocessing from process_op into nfs4_callback_sequence where it belongs.\n\nSigned-off-by: Andy Adamson \u003candros@netapp.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "2c2618c6f29c41a0a966f14f05c8bf45fcabb750",
      "tree": "c247cfda9f847028e1d43cab1e69d2cd8a2146a4",
      "parents": [
        "f4eecd5da3422e82e88e36c33cbd2595eebcacb1"
      ],
      "author": {
        "name": "Andy Adamson",
        "email": "andros@netapp.com",
        "time": "Thu Jan 06 02:04:31 2011 +0000"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Jan 06 14:46:24 2011 -0500"
      },
      "message": "NFS associate sessionid with callback connection\n\nThe sessions based callback service is started prior to the CREATE_SESSION call\nso that it can handle CB_NULL requests which can be sent before the\nCREATE_SESSION call returns and the session ID is known.\n\nSet the callback sessionid after a sucessful CREATE_SESSION.\n\nSigned-off-by: Andy Adamson \u003candros@netapp.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "16b2d1e1d12de000404d7c845d0db1226511f84d",
      "tree": "8ad973bbcee7a1d5bb34ce855ef41324e253c181",
      "parents": [
        "1f11a034cdc4b45ee56d51b87a9e37cb776fb15b"
      ],
      "author": {
        "name": "Andy Adamson",
        "email": "andros@netapp.com",
        "time": "Thu Jan 06 02:04:27 2011 +0000"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Jan 06 14:46:23 2011 -0500"
      },
      "message": "SUNRPC register and unregister the back channel transport\n\nSigned-off-by: Andy Adamson \u003candros@netapp.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "1f11a034cdc4b45ee56d51b87a9e37cb776fb15b",
      "tree": "7d99e63af6a6c0b371ab1ee48da16edc73ab942c",
      "parents": [
        "71e161a6a9fa021a280e564254fcda894e6fbd14"
      ],
      "author": {
        "name": "Andy Adamson",
        "email": "andros@netapp.com",
        "time": "Thu Jan 06 02:04:26 2011 +0000"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Jan 06 14:46:23 2011 -0500"
      },
      "message": "SUNRPC new transport for the NFSv4.1 shared back channel\n\nMove the current sock create and destroy routines into the new transport ops.\nBack channel socket will be destroyed by the svc_closs_all call in svc_destroy.\n\nAdded check: only TCP supported on shared back channel.\n\nSigned-off-by: Andy Adamson \u003candros@netapp.com\u003e\nAcked-by: Bruce Fields \u003cbfields@redhat.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "9e701c610923aaeac8b38b9202a686d1cc9ee35d",
      "tree": "1b2d65df63858a2cd35a4154e6d8a9fea3e716a3",
      "parents": [
        "d76d1815f3e72fb627ad7f95ef63120b0a557c9c"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Sun Jan 02 21:56:36 2011 -0500"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Tue Jan 04 16:49:22 2011 -0500"
      },
      "message": "svcrpc: simpler request dropping\n\nCurrently we use -EAGAIN returns to determine when to drop a deferred\nrequest.  On its own, that is error-prone, as it makes us treat -EAGAIN\nreturns from other functions specially to prevent inadvertent dropping.\n\nSo, use a flag on the request instead.\n\nReturning an error on request deferral is still required, to prevent\nfurther processing, but we no longer need worry that an error return on\nits own could result in a drop.\n\nSigned-off-by: J. Bruce Fields \u003cbfields@redhat.com\u003e\n"
    },
    {
      "commit": "bdd5f05d91e8ae68075b812ce244c918d3d752cd",
      "tree": "45e5e9d403ee26a666cd9fbcfee5e26ea6511d50",
      "parents": [
        "31f7aa65f536995c6d933c57230919ae408952a5"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@fieldses.org",
        "time": "Tue Jan 04 13:31:45 2011 -0500"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Tue Jan 04 16:48:02 2011 -0500"
      },
      "message": "SUNRPC: Remove more code when NFSD_DEPRECATED is not configured\n\nSigned-off-by: NeilBrown \u003cneilb@suse.de\u003e\n[bfields@redhat.com: moved svcauth_unix_purge outside ifdef\u0027s.]\nSigned-off-by: J. Bruce Fields \u003cbfields@redhat.com\u003e\n"
    },
    {
      "commit": "7c96aef75949a56ec427fc6a2522dace2af33605",
      "tree": "ca65368231d4c5b39e3adce558bfe15d712809c7",
      "parents": [
        "18b631f83810e95eeb2e1839889b27142bd8d6d8"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Mon Nov 15 11:27:01 2010 +1100"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Fri Dec 17 15:48:18 2010 -0500"
      },
      "message": "sunrpc: remove xpt_pool\n\nThe xpt_pool field is only used for reporting BUGs.\nAnd it isn\u0027t used correctly.\n\nIn particular, when it is cleared in svc_xprt_received before\nXPT_BUSY is cleared, there is no guarantee that either the\ncompiler or the CPU might not re-order to two assignments, just\nsetting xpt_pool to NULL after XPT_BUSY is cleared.\n\nIf a different cpu were running svc_xprt_enqueue at this moment,\nit might see XPT_BUSY clear and then xpt_pool non-NULL, and\nso BUG.\n\nThis could be fixed by calling\n  smp_mb__before_clear_bit()\nbefore the clear_bit.  However as xpt_pool isn\u0027t really used,\nit seems safest to simply remove xpt_pool.\n\nAnother alternate would be to change the clear_bit to\nclear_bit_unlock, and the test_and_set_bit to test_and_set_bit_lock.\n\nSigned-off-by: NeilBrown \u003cneilb@suse.de\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@redhat.com\u003e\n"
    },
    {
      "commit": "bf2695516db982e90a22fc94f93491b481796bb1",
      "tree": "367bf134ef892bfc3fcd2c4fe676b14102d97467",
      "parents": [
        "9f06c719f474be7003763284a990bed6377bb0d4"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Tue Dec 14 14:59:29 2010 +0000"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Dec 16 12:37:25 2010 -0500"
      },
      "message": "SUNRPC: New xdr_streams XDR decoder API\n\nNow that all client-side XDR decoder routines use xdr_streams, there\nshould be no need to support the legacy calling sequence [rpc_rqst *,\n__be32 *, RPC res *] anywhere.  We can construct an xdr_stream in the\ngeneric RPC code, instead of in each decoder function.\n\nThis is a refactoring change.  It should not cause different behavior.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nTested-by: J. Bruce Fields \u003cbfields@redhat.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "9f06c719f474be7003763284a990bed6377bb0d4",
      "tree": "409ebc3505f943bfdb933ab0acd76ffb5347b372",
      "parents": [
        "1ac7c23e4af5e83525137661595000099f1ce94f"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Tue Dec 14 14:59:18 2010 +0000"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Dec 16 12:37:25 2010 -0500"
      },
      "message": "SUNRPC: New xdr_streams XDR encoder API\n\nNow that all client-side XDR encoder routines use xdr_streams, there\nshould be no need to support the legacy calling sequence [rpc_rqst *,\n__be32 *, RPC arg *] anywhere.  We can construct an xdr_stream in the\ngeneric RPC code, instead of in each encoder function.\n\nAlso, all the client-side encoder functions return 0 now, making a\nreturn value superfluous.  Take this opportunity to convert them to\nreturn void instead.\n\nThis is a refactoring change.  It should not cause different behavior.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nTested-by: J. Bruce Fields \u003cbfields@redhat.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "21b75b019983dfa5c2dda588f4b60b4ca69844a4",
      "tree": "c1e0a8c4e136a0de35fc996a7ed6c5db1e6bb9cc",
      "parents": [
        "c8ddb2713c624f432fa5fe3c7ecffcdda46ea0d4"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Tue Oct 26 10:07:17 2010 -0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Tue Nov 02 17:13:52 2010 -0400"
      },
      "message": "nfsd4: fix 4.1 connection registration race\n\nIf a connection is closed just after a sequence or create_session\nis sent over it, we could end up trying to register a callback that will\nnever get called since the xprt is already marked dead.\n\nSigned-off-by: J. Bruce Fields \u003cbfields@redhat.com\u003e\n"
    },
    {
      "commit": "4390110fef9e5c64e10c6ca19d586932242c9a8a",
      "tree": "f2f26fe291c8b4e424b97ac57370b33e0c006568",
      "parents": [
        "a4dd8dce14014665862ce7911b38cb2c69e366dd",
        "42d7ba3d6d56a6cbc773284896108b1e2ebcee81"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Oct 26 09:55:25 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Oct 26 09:55:25 2010 -0700"
      },
      "message": "Merge branch \u0027for-2.6.37\u0027 of git://linux-nfs.org/~bfields/linux\n\n* \u0027for-2.6.37\u0027 of git://linux-nfs.org/~bfields/linux: (99 commits)\n  svcrpc: svc_tcp_sendto XPT_DEAD check is redundant\n  svcrpc: no need for XPT_DEAD check in svc_xprt_enqueue\n  svcrpc: assume svc_delete_xprt() called only once\n  svcrpc: never clear XPT_BUSY on dead xprt\n  nfsd4: fix connection allocation in sequence()\n  nfsd4: only require krb5 principal for NFSv4.0 callbacks\n  nfsd4: move minorversion to client\n  nfsd4: delay session removal till free_client\n  nfsd4: separate callback change and callback probe\n  nfsd4: callback program number is per-session\n  nfsd4: track backchannel connections\n  nfsd4: confirm only on succesful create_session\n  nfsd4: make backchannel sequence number per-session\n  nfsd4: use client pointer to backchannel session\n  nfsd4: move callback setup into session init code\n  nfsd4: don\u0027t cache seq_misordered replies\n  SUNRPC: Properly initialize sock_xprt.srcaddr in all cases\n  SUNRPC: Use conventional switch statement when reclassifying sockets\n  sunrpc/xprtrdma: clean up workqueue usage\n  sunrpc: Turn list_for_each-s into the ..._entry-s\n  ...\n\nFix up trivial conflicts (two different deprecation notices added in\nseparate branches) in Documentation/feature-removal-schedule.txt\n"
    },
    {
      "commit": "a4dd8dce14014665862ce7911b38cb2c69e366dd",
      "tree": "00e79b2845d5d49abcd83cf253db83a52d482265",
      "parents": [
        "b18cae4224bde7e5a332c19bc99247b2098ea232",
        "411b5e05617593efebc06241dbc56f42150f2abe"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Oct 26 09:52:09 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Oct 26 09:52:09 2010 -0700"
      },
      "message": "Merge branch \u0027nfs-for-2.6.37\u0027 of git://git.linux-nfs.org/projects/trondmy/nfs-2.6\n\n* \u0027nfs-for-2.6.37\u0027 of git://git.linux-nfs.org/projects/trondmy/nfs-2.6:\n  net/sunrpc: Use static const char arrays\n  nfs4: fix channel attribute sanity-checks\n  NFSv4.1: Use more sensible names for \u0027initialize_mountpoint\u0027\n  NFSv4.1: pnfs: filelayout: add driver\u0027s LAYOUTGET and GETDEVICEINFO infrastructure\n  NFSv4.1: pnfs: add LAYOUTGET and GETDEVICEINFO infrastructure\n  NFS: client needs to maintain list of inodes with active layouts\n  NFS: create and destroy inode\u0027s layout cache\n  NFSv4.1: pnfs: filelayout: introduce minimal file layout driver\n  NFSv4.1: pnfs: full mount/umount infrastructure\n  NFS: set layout driver\n  NFS: ask for layouttypes during v4 fsinfo call\n  NFS: change stateid to be a union\n  NFSv4.1: pnfsd, pnfs: protocol level pnfs constants\n  SUNRPC: define xdr_decode_opaque_fixed\n  NFSD: remove duplicate NFS4_STATEID_SIZE\n"
    },
    {
      "commit": "74eb94b218d087798a52c0b4f1379b635287a4b8",
      "tree": "4e467c3014c2b1169f6f71d88cf5d1598f3ce28e",
      "parents": [
        "7b6181e06841f5ad15c4ff708b967b4db65a64de",
        "9a84d38031c258a17bb39beed1e500eadee67407"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 25 13:48:29 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 25 13:48:29 2010 -0700"
      },
      "message": "Merge branch \u0027nfs-for-2.6.37\u0027 of git://git.linux-nfs.org/projects/trondmy/nfs-2.6\n\n* \u0027nfs-for-2.6.37\u0027 of git://git.linux-nfs.org/projects/trondmy/nfs-2.6: (67 commits)\n  SUNRPC: Cleanup duplicate assignment in rpcauth_refreshcred\n  nfs: fix unchecked value\n  Ask for time_delta during fsinfo probe\n  Revalidate caches on lock\n  SUNRPC: After calling xprt_release(), we must restart from call_reserve\n  NFSv4: Fix up the \u0027dircount\u0027 hint in encode_readdir\n  NFSv4: Clean up nfs4_decode_dirent\n  NFSv4: nfs4_decode_dirent must clear entry-\u003efattr-\u003evalid\n  NFSv4: Fix a regression in decode_getfattr\n  NFSv4: Fix up decode_attr_filehandle() to handle the case of empty fh pointer\n  NFS: Ensure we check all allocation return values in new readdir code\n  NFS: Readdir plus in v4\n  NFS: introduce generic decode_getattr function\n  NFS: check xdr_decode for errors\n  NFS: nfs_readdir_filler catch all errors\n  NFS: readdir with vmapped pages\n  NFS: remove page size checking code\n  NFS: decode_dirent should use an xdr_stream\n  SUNRPC: Add a helper function xdr_inline_peek\n  NFS: remove readdir plus limit\n  ...\n"
    },
    {
      "commit": "35b61e63323ccf5fdcdd74b11751b58392c9cce1",
      "tree": "9e52ba11f99df17ce4c58edb2842cc8cc9ea9950",
      "parents": [
        "3c9101a0575f6078191dae6bb91a834c6aac3557"
      ],
      "author": {
        "name": "Benny Halevy",
        "email": "bhalevy@panasas.com",
        "time": "Wed Oct 20 00:17:54 2010 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sun Oct 24 18:02:53 2010 -0400"
      },
      "message": "SUNRPC: define xdr_decode_opaque_fixed\n\nA helper for decoding a fixed length opaque value.\nReturns a pointer to the next item in the xdr stream.\n\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\nSigned-off-by: Fred Isaman \u003ciisaman@netapp.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "ba8e452a4fe64a51b74d43761e14d99f0666cc45",
      "tree": "7237e9bf9f2415eda15fec5e517da3340342e9f1",
      "parents": [
        "0715dc632a271fc0fedf3ef4779fe28ac1e53ef4"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Oct 19 19:58:49 2010 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sat Oct 23 15:27:32 2010 -0400"
      },
      "message": "SUNRPC: Add a helper function xdr_inline_peek\n\nWe sometimes need to be able to read ahead in an xdr_stream without\nincrementing the current pointer position.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "556ef63255f1a6f82910a637c4164dbf7d3d1af2",
      "tree": "ae209fe4959e0837bf4eb72abc6e02c8a82179a1",
      "parents": [
        "d4f8f217b8a5d5bd02af979650418dca4caec472",
        "cb655d0f3d57c23db51b981648e452988c0223f9"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Oct 07 09:43:38 2010 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Oct 07 09:43:45 2010 +0200"
      },
      "message": "Merge commit \u0027v2.6.36-rc7\u0027 into core/rcu\n\nMerge reason: Update from -rc3 to -rc7.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "edc7a894034acb4c7ff8305716ca5df8aaf8e642",
      "tree": "7db61c8c76fc3e58e499989665f2f26987c058a1",
      "parents": [
        "c7662518c781edc8059cd9737d18168154bf7510"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Mon Mar 22 15:37:17 2010 -0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Fri Oct 01 19:29:44 2010 -0400"
      },
      "message": "nfsd: provide callbacks on svc_xprt deletion\n\nNFSv4.1 needs warning when a client tcp connection goes down, if that\nconnection is being used as a backchannel, so that it can warn the\nclient that it has lost the backchannel connection.\n\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "1e7af1b8062598a038c04dfaaabd038a0d6e8b6a",
      "tree": "2e171464ff365c4322d30a0d2fed106c74feecdd",
      "parents": [
        "277f68dbba397997c7f3dc843d14afa1654bb80e"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Fri Oct 01 15:40:01 2010 -0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Fri Oct 01 18:09:55 2010 -0400"
      },
      "message": "nfsd4: remove spkm3\n\nUnfortunately, spkm3 never got very far; while interoperability with one\nother implementation was demonstrated at some point, problems were found\nwith the spec that were deemed not worth fixing.\n\nThe kernel code is useless on its own without nfs-utils patches which\nwere never merged into nfs-utils, and were only ever available from\nciti.umich.edu.  They appear not to have been updated since 2005.\n\nTherefore it seems safe to assume that this code has no users, and never\nwill.\n\nSigned-off-by: J. Bruce Fields \u003cbfields@redhat.com\u003e\n"
    },
    {
      "commit": "37aa2133731d9231eb834f700119f0d3f1ed2664",
      "tree": "2b4da236e76d590fb1bd675e4401af5d1ecff327",
      "parents": [
        "9a23e332ec621d36e52cc7a978abc0917067b1aa"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@parallels.com",
        "time": "Wed Sep 29 16:05:43 2010 +0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Fri Oct 01 17:18:58 2010 -0400"
      },
      "message": "sunrpc: Tag rpc_xprt with net\n\nThe net is known from the xprt_create and this tagging will also\ngive un the context in the conntection workers where real sockets\nare created.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@redhat.com\u003e\n"
    },
    {
      "commit": "9a23e332ec621d36e52cc7a978abc0917067b1aa",
      "tree": "351025a1c7816a40407999692ede97421c0057df",
      "parents": [
        "c653ce3f0aee9bb2b221ebf3579385c06f81efcd"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@parallels.com",
        "time": "Wed Sep 29 16:05:12 2010 +0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Fri Oct 01 17:18:57 2010 -0400"
      },
      "message": "sunrpc: Add net to xprt_create\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@redhat.com\u003e\n"
    },
    {
      "commit": "c653ce3f0aee9bb2b221ebf3579385c06f81efcd",
      "tree": "d0f5a8018e2cf959b6bc1549ce75602ed179dca9",
      "parents": [
        "62832c039eab9d03cd28a66427ce8276988f28b0"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@parallels.com",
        "time": "Wed Sep 29 16:04:45 2010 +0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Fri Oct 01 17:18:56 2010 -0400"
      },
      "message": "sunrpc: Add net to rpc_create_args\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@redhat.com\u003e\n"
    },
    {
      "commit": "62832c039eab9d03cd28a66427ce8276988f28b0",
      "tree": "47d0b7fbd5ca567aa31661146ba16218149d67c8",
      "parents": [
        "fc5d00b04a3a58cac8620403dfe9f43f72578ec1"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@parallels.com",
        "time": "Wed Sep 29 16:04:18 2010 +0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Fri Oct 01 17:18:55 2010 -0400"
      },
      "message": "sunrpc: Pull net argument downto svc_create_socket\n\nAfter this the socket creation in it knows the context.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@redhat.com\u003e\n"
    },
    {
      "commit": "fc5d00b04a3a58cac8620403dfe9f43f72578ec1",
      "tree": "3a8b9a5ae3456b5846fb64c0a74c9389998b3e18",
      "parents": [
        "e204e621b4160c802315bc2d0fa335337c0d62e8"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@parallels.com",
        "time": "Wed Sep 29 16:03:50 2010 +0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Fri Oct 01 17:18:54 2010 -0400"
      },
      "message": "sunrpc: Add net argument to svc_create_xprt\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@redhat.com\u003e\n"
    },
    {
      "commit": "e204e621b4160c802315bc2d0fa335337c0d62e8",
      "tree": "f61889925880484b71ce8b5dbef9a95c3a3b4acb",
      "parents": [
        "bd1722d4316e42a12fe6337ebe34d7e1e2c088b2"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@parallels.com",
        "time": "Wed Sep 29 16:03:13 2010 +0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Fri Oct 01 17:18:53 2010 -0400"
      },
      "message": "sunrpc: Factor out rpc_xprt freeing\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@redhat.com\u003e\n"
    },
    {
      "commit": "bd1722d4316e42a12fe6337ebe34d7e1e2c088b2",
      "tree": "358d45aaf5fb08a177fd6fbe5dcf8872160c30fc",
      "parents": [
        "2b44f1ba40914777f4b1075254ba97663d4e2574"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@parallels.com",
        "time": "Wed Sep 29 16:02:43 2010 +0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Fri Oct 01 17:18:52 2010 -0400"
      },
      "message": "sunrpc: Factor out rpc_xprt allocation\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@redhat.com\u003e\n"
    },
    {
      "commit": "c135e84afb6bcec9cb8ef0492fa4867efbfaad91",
      "tree": "b28519b140d0f839abb77a843128cf918014115d",
      "parents": [
        "90d51b02fd702d969eb05bd9d4ecc954759fbe23"
      ],
      "author": {
        "name": "Stephen Rothwell",
        "email": "sfr@canb.auug.org.au",
        "time": "Wed Sep 29 14:16:57 2010 +1000"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Wed Sep 29 12:27:37 2010 -0400"
      },
      "message": "sunrpc: fix up rpcauth_remove_module section mismatch\n\nOn Wed, 29 Sep 2010 14:02:38 +1000 Stephen Rothwell \u003csfr@canb.auug.org.au\u003e wrote:\n\u003e\n\u003e After merging the final tree, today\u0027s linux-next build (powerpc\n\u003e ppc44x_defconfig) produced tis warning:\n\u003e\n\u003e WARNING: net/sunrpc/sunrpc.o(.init.text+0x110): Section mismatch in reference from the function init_sunrpc() to the function .exit.text:rpcauth_remove_module()\n\u003e The function __init init_sunrpc() references\n\u003e a function __exit rpcauth_remove_module().\n\u003e This is often seen when error handling in the init function\n\u003e uses functionality in the exit path.\n\u003e The fix is often to remove the __exit annotation of\n\u003e rpcauth_remove_module() so it may be used outside an exit section.\n\u003e\n\u003e Probably caused by commit 2f72c9b73730c335381b13e2bd221abe1acea394\n\u003e (\"sunrpc: The per-net skeleton\").\n\nThis actually causes a build failure on a sparc32 defconfig build:\n\n`rpcauth_remove_module\u0027 referenced in section `.init.text\u0027 of net/built-in.o: defined in discarded section `.exit.text\u0027 of net/built-in.o\n\nI applied the following patch for today:\n\nFixes:\n\n`rpcauth_remove_module\u0027 referenced in section `.init.text\u0027 of net/built-in.o: defined in discarded section `.exit.text\u0027 of net/built-in.o\n\nSigned-off-by: Stephen Rothwell \u003csfr@canb.auug.org.au\u003e\nAcked-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@redhat.com\u003e\n"
    },
    {
      "commit": "4f42d0d53ca4737f82937edb0efc83564c124853",
      "tree": "487cbc8e7bc9ed643fbbfb2216230c15ed3b1552",
      "parents": [
        "2f72c9b73730c335381b13e2bd221abe1acea394"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@parallels.com",
        "time": "Mon Sep 27 14:01:58 2010 +0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Mon Sep 27 10:16:12 2010 -0400"
      },
      "message": "sunrpc: Make the /proc/net/rpc appear in net namespaces\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@redhat.com\u003e\n"
    },
    {
      "commit": "4fb8518bdac8e85f6580ea3f586adf396cd472bc",
      "tree": "887efb838b220afdd147faa1281d21cf0ee83cd8",
      "parents": [
        "593ce16b943ea37d4ec62c377b32d7f3f4085e84"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@parallels.com",
        "time": "Mon Sep 27 14:00:49 2010 +0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Mon Sep 27 10:16:12 2010 -0400"
      },
      "message": "sunrpc: Tag svc_xprt with net\n\nThe transport representation should be per-net of course.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@redhat.com\u003e\n"
    },
    {
      "commit": "593ce16b943ea37d4ec62c377b32d7f3f4085e84",
      "tree": "d8e161541e89f69e0de4416d76655cf11d9ecaa8",
      "parents": [
        "352114f395bd79353faf0bc1506ead94de393f55"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@parallels.com",
        "time": "Mon Sep 27 14:00:15 2010 +0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Mon Sep 27 10:16:11 2010 -0400"
      },
      "message": "sunrpc: Add routines that allow registering per-net caches\n\nExisting calls do the same, but for the init_net.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@redhat.com\u003e\n"
    },
    {
      "commit": "352114f395bd79353faf0bc1506ead94de393f55",
      "tree": "46d9001aff3738afd13323fc883d89b7e8a74450",
      "parents": [
        "3be4479fdf2fb7eb17a4592917ae4b536058b0c7"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@parallels.com",
        "time": "Mon Sep 27 13:59:48 2010 +0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Mon Sep 27 10:16:11 2010 -0400"
      },
      "message": "sunrpc: Add net to pure API calls\n\nThere are two calls that operate on ip_map_cache and are\ndirectly called from the nfsd code. Other places will be\nhandled in a different way.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@redhat.com\u003e\n"
    },
    {
      "commit": "e3bfca01c1ad378deaee598292bcc7ee19024563",
      "tree": "bc4a89934cfb309f3d835917257e17e5d5236c6c",
      "parents": [
        "bf18ab32ff2a50a3d13d559f26f94ecfba131f24"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@parallels.com",
        "time": "Mon Sep 27 13:58:42 2010 +0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Mon Sep 27 10:16:11 2010 -0400"
      },
      "message": "sunrpc: Make xprt auth cache release work with the xprt\n\nThis is done in order to facilitate getting the ip_map_cache from\nwhich to put the ip_map.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@redhat.com\u003e\n"
    },
    {
      "commit": "1117449276bb909b029ed0b9ba13f53e4784db9d",
      "tree": "14b119924ac54165e6b18f3772cfe966b6883245",
      "parents": [
        "2ed5282cd9b44686a6e718269abb5c5cd332d8f1"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Thu Aug 12 17:04:08 2010 +1000"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Tue Sep 21 21:51:11 2010 -0400"
      },
      "message": "sunrpc/cache: change deferred-request hash table to use hlist.\n\nBeing a hash table, hlist is the best option.\n\nThere is currently some ugliness were we treat \"-\u003enext \u003d\u003d NULL\" as\na special case to avoid having to initialise the whole array.\nThis change nicely gets rid of that case.\n\nSigned-off-by: NeilBrown \u003cneilb@suse.de\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@redhat.com\u003e\n"
    },
    {
      "commit": "1ebede86b8abbcf8833830e18e05391758cf2f28",
      "tree": "872f1218a45f84070eeac162621ef3e56fc6f222",
      "parents": [
        "06497524589f2a7717da33969d541674e0a27da6"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Thu Aug 12 17:04:07 2010 +1000"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Tue Sep 21 16:57:49 2010 -0400"
      },
      "message": "sunrpc: close connection when a request is irretrievably lost.\n\nIf we drop a request in the sunrpc layer, either due kmalloc failure,\nor due to a cache miss when we could not queue the request for later\nreplay, then close the connection to encourage the client to retry sooner.\n\nNote that if the drop happens in the NFS layer, NFSERR_JUKEBOX\n(aka NFS4ERR_DELAY) is returned to guide the client concerning\nreplay.\n\nSigned-off-by: NeilBrown \u003cneilb@suse.de\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@redhat.com\u003e\n"
    },
    {
      "commit": "b4687da7fc5f741af7fee9b0248a2cf2ad9c4478",
      "tree": "1df8cb2cc72a88b4646bf380ff68345415d0222f",
      "parents": [
        "38359352fcb0d776b562a9e0ed4f0d355d5a332e"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Tue Sep 21 16:55:48 2010 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Sep 21 16:55:48 2010 -0400"
      },
      "message": "SUNRPC: Refactor logic to NUL-terminate strings in pages\n\nClean up: Introduce a helper to \u0027\\0\u0027-terminate XDR strings\nthat are placed in a page in the page cache.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "c88739b373e4930ed082a607cb78bf82616fd076",
      "tree": "251d969aa816dab5a62e6b36208b189b37de6534",
      "parents": [
        "3211af1119174fbe8b676422b74870cdd51d7314",
        "827e3457022d0bb0b1bb8a0eb88501876fe7dcf0"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Sun Sep 19 23:48:00 2010 -0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Sun Sep 19 23:48:32 2010 -0400"
      },
      "message": "Merge remote branch \u0027trond/bugfixes\u0027 into for-2.6.37\n\nWithout some client-side fixes, server testing is currently difficult.\n"
    },
    {
      "commit": "859d5024f450686ad0a42ed3c06f2fa20295c9e6",
      "tree": "441f693bfcfaf1754beab7d0a665ff16422a26a0",
      "parents": [
        "306a075362a288683f6346185f97dd0e06df19da"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Fri Sep 17 10:54:37 2010 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Sep 17 10:54:37 2010 -0400"
      },
      "message": "SUNRPC: Remove rpcb_getport_sync()\n\nClean up: rpcb_getport_sync() has no more users, so remove it.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "006abe887c5e637d059c44310de6c92f36aded3b",
      "tree": "542ab0f1d56b4d9681c8d61fbf77c9a46062e661",
      "parents": [
        "5a67657a2e90c9e4a48518f95d4ba7777aa20fbb"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sun Sep 12 19:55:25 2010 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sun Sep 12 19:55:25 2010 -0400"
      },
      "message": "SUNRPC: Fix a race in rpc_info_open\n\nThere is a race between rpc_info_open and rpc_release_client()\nin that nothing stops a process from opening the file after\nthe clnt-\u003ecl_kref goes to zero.\n\nFix this by using atomic_inc_unless_zero()...\n\nReported-by: J. Bruce Fields \u003cbfields@redhat.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\nCc: stable@kernel.org\n"
    },
    {
      "commit": "f16b6e8d838b2e2bb4561201311c66ac02ad67df",
      "tree": "92c4ab62aa566029ce25989ef7dc8e3634365f63",
      "parents": [
        "c5b29f885afe890f953f7f23424045cdad31d3e4"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Thu Aug 12 17:04:06 2010 +1000"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Tue Sep 07 19:22:07 2010 -0400"
      },
      "message": "sunrpc/cache: allow threads to block while waiting for cache update.\n\nThe current practice of waiting for cache updates by queueing the\nwhole request to be retried has (at least) two problems.\n\n1/ With NFSv4, requests can be quite complex and re-trying a whole\n  request when a later part fails should only be a last-resort, not a\n  normal practice.\n\n2/ Large requests, and in particular any \u0027write\u0027 request, will not be\n  queued by the current code and doing so would be undesirable.\n\nIn many cases only a very sort wait is needed before the cache gets\nvalid data.\n\nSo, providing the underlying transport permits it by setting\n -\u003ethread_wait,\narrange to wait briefly for an upcall to be completed (as reflected in\nthe clearing of CACHE_PENDING).\nIf the short wait was not long enough and CACHE_PENDING is still set,\nfall back on the old approach.\n\nThe \u0027thread_wait\u0027 value is set to 5 seconds when there are spare\nthreads, and 1 second when there are no spare threads.\n\nThese values are probably much higher than needed, but will ensure\nsome forward progress.\n\nNote that as we only request an update for a non-valid item, and as\nnon-valid items are updated in place it is extremely unlikely that\ncache_check will return -ETIMEDOUT.  Normally cache_defer_req will\nsleep for a short while and then find that the item is_valid.\n\nSigned-off-by: NeilBrown \u003cneilb@suse.de\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@redhat.com\u003e\n"
    },
    {
      "commit": "c5b29f885afe890f953f7f23424045cdad31d3e4",
      "tree": "cc2016f256da966974b4ed7a24ff9378a77facb2",
      "parents": [
        "17cebf658e088935d4bdebfc7ad9800e9fc4a0b2"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Thu Aug 12 16:55:22 2010 +1000"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Tue Sep 07 19:21:20 2010 -0400"
      },
      "message": "sunrpc: use seconds since boot in expiry cache\n\nThis protects us from confusion when the wallclock time changes.\n\nWe convert to and from wallclock when  setting or reading expiry\ntimes.\n\nAlso use seconds since boot for last_clost time.\n\nSigned-off-by: NeilBrown \u003cneilb@suse.de\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@redhat.com\u003e\n"
    },
    {
      "commit": "17cebf658e088935d4bdebfc7ad9800e9fc4a0b2",
      "tree": "7bc6c1d8de35bce17da188cba13688671d517907",
      "parents": [
        "1132b26029918aa8fb5ba24a81b5c234e61f356c"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Thu Aug 12 16:55:22 2010 +1000"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Tue Sep 07 19:21:19 2010 -0400"
      },
      "message": "sunrpc: extract some common sunrpc_cache code from nfsd\n\nRather can duplicating this idiom twice, put it in an inline function.\nThis reduces the usage of \u0027expiry_time\u0027 out side the sunrpc/cache.c\ncode and thus the impact of a change that is about to be made to that\nfield.\n\nSigned-off-by: NeilBrown \u003cneilb@suse.de\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@redhat.com\u003e\n"
    },
    {
      "commit": "5b22216e11f717adc344abc7f97b42e03127c6c0",
      "tree": "5c4b98b4bef8248e3455a0dd583fb8daae0836d2",
      "parents": [
        "e63ba744a64d234c8a07c469ab1806443cb0a6ff"
      ],
      "author": {
        "name": "Arnd Bergmann",
        "email": "arnd@arndb.de",
        "time": "Wed Mar 03 10:20:10 2010 +0100"
      },
      "committer": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Thu Aug 19 17:18:00 2010 -0700"
      },
      "message": "nfs: __rcu annotations\n\nSigned-off-by: Arnd Bergmann \u003carnd@arndb.de\u003e\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nAcked-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "60641aa1f379820e99ac7f45a38b43795670c741",
      "tree": "a4a68780ba75bbf8f2fc96dba880ea39da2c717b",
      "parents": [
        "c29c08b59875fe053471cf9eb66f8cfef39bc509"
      ],
      "author": {
        "name": "Sam Ravnborg",
        "email": "sam@ravnborg.org",
        "time": "Sat Aug 14 10:15:12 2010 +0200"
      },
      "committer": {
        "name": "Sam Ravnborg",
        "email": "sam@ravnborg.org",
        "time": "Sat Aug 14 22:26:51 2010 +0200"
      },
      "message": "include: replace unifdef-y with header-y\n\nunifdef-y and header-y has same semantic.\nSo there is no need to have both.\n\nDrop the unifdef-y variant and sort all lines again\n\nSigned-off-by: Sam Ravnborg \u003csam@ravnborg.org\u003e\n"
    },
    {
      "commit": "0d9f9e122c74583de15a86d1c660c08dc298f2c8",
      "tree": "a04ad387e231db43db112753fa2eae23754189a9",
      "parents": [
        "df44f9f4f9b5d362b5a2d1c8444fe7e6d4c42653",
        "998db52c03cd293d16a457f1b396cea932244147"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Aug 07 14:24:41 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Aug 07 14:24:41 2010 -0700"
      },
      "message": "Merge branch \u0027for-2.6.36\u0027 of git://linux-nfs.org/~bfields/linux\n\n* \u0027for-2.6.36\u0027 of git://linux-nfs.org/~bfields/linux: (34 commits)\n  nfsd4: fix file open accounting for RDWR opens\n  nfsd: don\u0027t allow setting maxblksize after svc created\n  nfsd: initialize nfsd versions before creating svc\n  net: sunrpc: removed duplicated #include\n  nfsd41: Fix a crash when a callback is retried\n  nfsd: fix startup/shutdown order bug\n  nfsd: minor nfsd read api cleanup\n  gcc-4.6: nfsd: fix initialized but not read warnings\n  nfsd4: share file descriptors between stateid\u0027s\n  nfsd4: fix openmode checking on IO using lock stateid\n  nfsd4: miscellaneous process_open2 cleanup\n  nfsd4: don\u0027t pretend to support write delegations\n  nfsd: bypass readahead cache when have struct file\n  nfsd: minor nfsd_svc() cleanup\n  nfsd: move more into nfsd_startup()\n  nfsd: just keep single lockd reference for nfsd\n  nfsd: clean up nfsd_create_serv error handling\n  nfsd: fix error handling in __write_ports_addxprt\n  nfsd: fix error handling when starting nfsd with rpcbind down\n  nfsd4: fix v4 state shutdown error paths\n  ...\n"
    },
    {
      "commit": "a17c2153d2e271b0cbacae9bed83b0eaa41db7e1",
      "tree": "3c5a73090987278e51aee1a9f185ebe40a00bd65",
      "parents": [
        "8572b8e2e3c5f3d990122348c4d2c64dad338611"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sat Jul 31 14:29:08 2010 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Aug 04 08:54:09 2010 -0400"
      },
      "message": "SUNRPC: Move the bound cred to struct rpc_rqst\n\nThis will allow us to save the original generic cred in rpc_message, so\nthat if we migrate from one server to another, we can generate a new bound\ncred without having to punt back to the NFS layer.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "8572b8e2e3c5f3d990122348c4d2c64dad338611",
      "tree": "5de87a7f2cb1c1105313c0fb1d1f26a969961c83",
      "parents": [
        "58f9612c6ea858f532021a0ce42ec53cb0a493b3"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sat Jul 31 14:29:08 2010 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Aug 04 08:54:08 2010 -0400"
      },
      "message": "SUNRPC: Clean up of rpc_bindcred()\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "58f9612c6ea858f532021a0ce42ec53cb0a493b3",
      "tree": "9466a16cd79c547fddcec5bd598d8097ae9a3859",
      "parents": [
        "d9b6cd94601e1d17273f93a326a135fbf487a918"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sat Jul 31 14:29:08 2010 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Aug 04 08:54:07 2010 -0400"
      },
      "message": "SUNRPC: Move remaining RPC client related task initialisation into clnt.c\n\nNow that rpc_run_task() is the sole entry point for RPC calls, we can move\nthe remaining rpc_client-related initialisation of struct rpc_task from\nsched.c into clnt.c.\n\nAlso move rpc_killall_tasks() into the same file, since that too is\nrelative to the rpc_clnt.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "d9b6cd94601e1d17273f93a326a135fbf487a918",
      "tree": "5c616c0717551d02d16da685fbbd93344859fa28",
      "parents": [
        "241269bd0b580faae71575443d9ab38df7469126"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sat Jul 31 14:29:08 2010 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Aug 04 08:54:07 2010 -0400"
      },
      "message": "SUNRPC: Ensure that rpc_exit() always wakes up a sleeping task\n\nMake rpc_exit() non-inline, and ensure that it always wakes up a task that\nhas been queued.\n\nKill off the now unused rpc_wake_up_task().\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "241269bd0b580faae71575443d9ab38df7469126",
      "tree": "b438cf34fd67b2b96b0a28be3241fd8d0c43fbca",
      "parents": [
        "988664a0f6bbfc356e6ce55f7a87b8594050012f"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sat Jul 31 14:29:08 2010 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Aug 04 08:54:06 2010 -0400"
      },
      "message": "SUNRPC: Make the credential cache hashtable size configurable\n\nThis patch allows the user to configure the credential cache hashtable size\nusing a new module parameter: auth_hashtable_size\nWhen set, this parameter will be rounded up to the nearest power of two,\nwith a maximum allowed value of 1024 elements.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "988664a0f6bbfc356e6ce55f7a87b8594050012f",
      "tree": "c6c6450c8559c13ca9d53c8959ffa4276f3eddf1",
      "parents": [
        "5d8d9a4d9ff74c55901642b4e2ac5124830ddafe"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sat Jul 31 14:29:07 2010 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Aug 04 08:54:05 2010 -0400"
      },
      "message": "SUNRPC: Store the hashtable size in struct rpc_cred_cache\n\nCleanup in preparation for allowing the user to determine the maximum hash\ntable size.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "5d8d9a4d9ff74c55901642b4e2ac5124830ddafe",
      "tree": "9f171aa61048cf5c154597466af21ea7c4d701a2",
      "parents": [
        "d05dd4e98f0dd30ee933e05ac9363614c47df83a"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sat Jul 31 14:29:07 2010 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Aug 04 08:52:57 2010 -0400"
      },
      "message": "NFS: Ensure the AUTH_UNIX credcache is allocated dynamically\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "f1f88fc7e818c6678c6799a2edb8f1aeccc124aa",
      "tree": "a5aec7e7e522500df78b5cbf1f2ce430462552e2",
      "parents": [
        "a6f03393ec86fd25523c79497a9a773bda170d1d"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sat Jul 31 14:29:07 2010 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Aug 03 22:06:44 2010 -0400"
      },
      "message": "SUNRPC: The function rpc_restart_call() should return success/failure\n\nBoth rpc_restart_call_prepare() and rpc_restart_call() test for the\nRPC_TASK_KILLED flag, and fail to restart the RPC call if that flag is set.\n\nThis patch allows callers to know whether or not the restart was\nsuccessful, so that they can perform cleanups etc in case of failure.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "8eab945c5616fc984e97b922d6a2559be93f39a1",
      "tree": "13ad5889aae1f8f3541a5a49e9decf42240e445c",
      "parents": [
        "cba9ba4b902270c22f8b9c5149a284216b633fc1"
      ],
      "author": {
        "name": "Artem Bityutskiy",
        "email": "Artem.Bityutskiy@nokia.com",
        "time": "Thu Jul 01 18:05:56 2010 +0300"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Tue Jul 06 12:27:48 2010 -0400"
      },
      "message": "sunrpc: make the cache cleaner workqueue deferrable\n\nThis patch makes the cache_cleaner workqueue deferrable, to prevent\nunnecessary system wake-ups, which is very important for embedded\nbattery-powered devices.\n\ndo_cache_clean() is called every 30 seconds at the moment, and often\nmakes the system wake up from its power-save sleep state. With this\nchange, when the workqueue uses a deferrable timer, the\ndo_cache_clean() invocation will be delayed and combined with the\nclosest \"real\" wake-up. This improves the power consumption situation.\n\nNote, I tried to create a DECLARE_DELAYED_WORK_DEFERRABLE() helper\nmacro, similar to DECLARE_DELAYED_WORK(), but failed because of the\nway the timer wheel core stores the deferrable flag (it is the\nLSBit in the time-\u003ebase pointer). My attempt to define a static\nvariable with this bit set ended up with the \"initializer element is\nnot constant\" error.\n\nThus, I have to use run-time initialization, so I created a new\ncache_initialize() function which is called once when sunrpc is\nbeing initialized.\n\nSigned-off-by: Artem Bityutskiy \u003cArtem.Bityutskiy@nokia.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "126e216a8730532dfb685205309275f87e3d133e",
      "tree": "6a73e5d6a5af2866e260ccb7909582e2ccd5741f",
      "parents": [
        "9bb0b8136a7d5b50c5807af3bf12b758fb257814"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu May 13 12:55:38 2010 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri May 14 15:09:37 2010 -0400"
      },
      "message": "SUNRPC: Don\u0027t spam gssd with upcall requests when the kerberos key expired\n\nNow that the rpc.gssd daemon can explicitly tell us that the key expired,\nwe should cache that information to avoid spamming gssd.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "9bb0b8136a7d5b50c5807af3bf12b758fb257814",
      "tree": "7c84b71e39ba4e6189a493aea35c6dbbd6d5a2d5",
      "parents": [
        "d72b6cec8d42eb7c2a249b613abf2c2b7a6eeb47"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu May 13 12:51:50 2010 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri May 14 15:09:37 2010 -0400"
      },
      "message": "SUNRPC: Reorder the struct rpc_task fields\n\nThis improves the packing of the rpc_task, and ensures that on 64-bit\nplatforms the size reduces to 216 bytes.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "d72b6cec8d42eb7c2a249b613abf2c2b7a6eeb47",
      "tree": "c577536a08739621dfbde8c1d30eb88ba8414464",
      "parents": [
        "d60dbb20a74c2cfa142be0a34dac3c6547ea086c"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu May 13 12:51:50 2010 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri May 14 15:09:36 2010 -0400"
      },
      "message": "SUNRPC: Remove the \u0027tk_magic\u0027 debugging field\n\nIt has not triggered in almost a decade. Time to get rid of it...\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "d60dbb20a74c2cfa142be0a34dac3c6547ea086c",
      "tree": "7af95739f8fbbef11f490b5b58bf639dbbe8a181",
      "parents": [
        "9c7e7e23371e629dbb3b341610a418cdf1c19d91"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu May 13 12:51:49 2010 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri May 14 15:09:36 2010 -0400"
      },
      "message": "SUNRPC: Move the task-\u003etk_bytes_sent and tk_rtt to struct rpc_rqst\n\nIt seems strange to maintain stats for bytes_sent in one structure, and\nbytes received in another. Try to assemble all the RPC request-related\nstats in struct rpc_rqst\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "1f4c86c0be9064ab4eebd9e67c84606c1cfeec4b",
      "tree": "6ae9e8e6550f644335bbf6812edd7e6cfcde7e53",
      "parents": [
        "8535b2be5181fc3019e4150567ef53210fe3b04f"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu May 13 12:51:02 2010 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri May 14 15:09:33 2010 -0400"
      },
      "message": "NFS: Don\u0027t use GFP_KERNEL in rpcsec_gss downcalls\n\nAgain, we can deadlock if the memory reclaim triggers a writeback that\nrequires a rpcsec_gss credential lookup.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "ff8399709e41bf72b4cb145612a0f9a9f7283c83",
      "tree": "5577163d56e30020d907245f00dcef17730f037b",
      "parents": [
        "f56916b97fe2031761ca611f0a342efd913afb33"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Fri May 07 13:34:47 2010 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri May 14 15:09:33 2010 -0400"
      },
      "message": "SUNRPC: Replace jiffies-based metrics with ktime-based metrics\n\nCurrently RPC performance metrics that tabulate elapsed time use\njiffies time values.  This is problematic on systems that use slow\njiffies (for instance 100HZ systems built for paravirtualized\nenvironments).  It is also a problem for computing precise latency\nstatistics for advanced network transports, such as InfiniBand,\nthat can have round-trip latencies significanly faster than a single\nclock tick.\n\nFor the RPC client, adopt the high resolution time stamp mechanism\nalready used by the network layer and blktrace: ktime.\n\nWe use ktime format time stamps for all internal computations, and\nconvert to milliseconds for presentation.  As a result, we need only\naddition operations in the performance critical paths; multiply/divide\nis required only for presentation.\n\nWe could report RTT metrics in microseconds.  In fact the mountstats\nformat is versioned to accomodate exactly this kind of interface\nimprovement.\n\nFor now, however, we\u0027ll stay with millisecond precision for\npresentation to maintain backwards compatibility with the handful of\ncurrently deployed user space tools.  At a later point, we\u0027ll move to\nan API such as BDI_STATS where a finer timestamp precision can be\nreported.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "bbc72cea58f671665b6362be0d4e391813ac0eee",
      "tree": "e70a35d3bc05ece4a532514893fec151aee2bd46",
      "parents": [
        "9bc4e3ca46e4eb9cb434de4175c6041d00bbdca3"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Fri May 07 13:34:27 2010 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri May 14 15:09:32 2010 -0400"
      },
      "message": "SUNRPC: RPC metrics and RTT estimator should use same RTT value\n\nCompute an RPC request\u0027s RTT once, and use that value both for reporting\nRPC metrics, and for adjusting the RTT context used by the RPC client\u0027s RTT\nestimator algorithm.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "9605a069f83d999e60cd57dc8010708fe08291c0",
      "tree": "aa0661d3b5c23430bf3fda3679507c192a0a975d",
      "parents": [
        "bb8b27e504c0f0463535fea31b42bcaa393c3fb0"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Fri May 07 13:33:30 2010 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri May 14 15:09:31 2010 -0400"
      },
      "message": "SUNRPC: Trivial cleanups in include/linux/sunrpc/xdr.h\n\nClean up: Update the documenting comment, and fix some minor white\nspace issues.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "a8ce4a8f37fef0a09a1e920c2e09f67a80426c7e",
      "tree": "cd3c11c87fa63c8bf15e74f311560a83637fc3fa",
      "parents": [
        "0b9e79431377df452348e78262dd5a3dc359eeef"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Apr 16 16:42:12 2010 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri May 14 15:09:30 2010 -0400"
      },
      "message": "SUNRPC: Fail over more quickly on connect errors\n\nWe should not allow soft tasks to wait for longer than the major timeout\nperiod when waiting for a reconnect to occur.\n\nRemove the field xprt-\u003econnect_timeout since it has been obsoleted by\nxprt-\u003ereestablish_timeout.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "fffdaef2eb4a7333952e55cf97f1fc0fcc35f981",
      "tree": "bd4e4b39ec901feb27b91d33d4f52e723f3584d7",
      "parents": [
        "5af46547ec451918f3ba51efe59b317d33adf701"
      ],
      "author": {
        "name": "Kevin Coffman",
        "email": "kwc@citi.umich.edu",
        "time": "Wed Mar 17 13:03:06 2010 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri May 14 15:09:20 2010 -0400"
      },
      "message": "gss_krb5: Add support for rc4-hmac encryption\n\nAdd necessary changes to add kernel support for the rc4-hmac Kerberos\nencryption type used by Microsoft and described in rfc4757.\n\nSigned-off-by: Kevin Coffman \u003ckwc@citi.umich.edu\u003e\nSigned-off-by: Steve Dickson \u003csteved@redhat.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "5af46547ec451918f3ba51efe59b317d33adf701",
      "tree": "0878529858a5ded9224e633dd13b431e6b69e28c",
      "parents": [
        "1dbd9029f3024d058da1cf6c6658c28aac2e4e1c"
      ],
      "author": {
        "name": "Kevin Coffman",
        "email": "kwc@citi.umich.edu",
        "time": "Wed Mar 17 13:03:05 2010 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri May 14 15:09:20 2010 -0400"
      },
      "message": "gss_krb5: Use confounder length in wrap code\n\nAll encryption types use a confounder at the beginning of the\nwrap token.  In all encryption types except arcfour-hmac, the\nconfounder is the same as the blocksize.  arcfour-hmac has a\nblocksize of one, but uses an eight byte confounder.\n\nAdd an entry to the crypto framework definitions for the\nconfounder length and change the wrap/unwrap code to use\nthe confounder length rather than assuming it is always\nthe blocksize.\n\nSigned-off-by: Kevin Coffman \u003ckwc@citi.umich.edu\u003e\nSigned-off-by: Steve Dickson \u003csteved@redhat.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "1dbd9029f3024d058da1cf6c6658c28aac2e4e1c",
      "tree": "eb407d31f61ea8a14be6bb04aa09ed8980920025",
      "parents": [
        "fc263a917afad3bda7b823a6edc803a40e7f6015"
      ],
      "author": {
        "name": "Kevin Coffman",
        "email": "kwc@citi.umich.edu",
        "time": "Wed Mar 17 13:03:04 2010 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri May 14 15:09:20 2010 -0400"
      },
      "message": "gssd_krb5: More arcfour-hmac support\n\nFor the arcfour-hmac support, the make_seq_num and get_seq_num\nfunctions need access to the kerberos context structure.\nThis will be used in a later patch.\n\nSigned-off-by: Kevin Coffman \u003ckwc@citi.umich.edu\u003e\nSigned-off-by: Steve Dickson \u003csteved@redhat.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "fc263a917afad3bda7b823a6edc803a40e7f6015",
      "tree": "c6773866431c48aea2b837f5ba06314ec21369b4",
      "parents": [
        "8b23707612cffdba694dcd18aa8a018918aa86dc"
      ],
      "author": {
        "name": "Kevin Coffman",
        "email": "kwc@citi.umich.edu",
        "time": "Wed Mar 17 13:03:03 2010 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri May 14 15:09:19 2010 -0400"
      },
      "message": "gss_krb5: Save the raw session key in the context\n\nThis is needed for deriving arcfour-hmac keys \"on the fly\"\nusing the sequence number or checksu\n\nSigned-off-by: Kevin Coffman \u003ckwc@citi.umich.edu\u003e\nSigned-off-by: Steve Dickson \u003csteved@redhat.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "8b23707612cffdba694dcd18aa8a018918aa86dc",
      "tree": "3dd484658768c0a710b252a674c697124380b223",
      "parents": [
        "bf6d359c508cf83401c942262a9749752598394d"
      ],
      "author": {
        "name": "Kevin Coffman",
        "email": "kwc@citi.umich.edu",
        "time": "Wed Mar 17 13:03:02 2010 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri May 14 15:09:19 2010 -0400"
      },
      "message": "gssd_krb5: arcfour-hmac support\n\nFor arcfour-hmac support, the make_checksum function needs a usage\nfield to correctly calculate the checksum differently for MIC and\nWRAP tokens.\n\nSigned-off-by: Kevin Coffman \u003ckwc@citi.umich.edu\u003e\nSigned-off-by: Steve Dickson \u003csteved@redhat.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    }
  ],
  "next": "934a95aa1c9c6ad77838800b79c306e982437605"
}
