)]}'
{
  "log": [
    {
      "commit": "5afa9133cfe67f1bfead6049a9640c9262a7101c",
      "tree": "7b410b2d33069b3bad042ebe1944557533cc76c4",
      "parents": [
        "ee7b75fc4f3ae49e1f25bf56219bb5de3c29afaf"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Jun 17 10:14:59 2011 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Jun 17 10:17:19 2011 -0400"
      },
      "message": "SUNRPC: Ensure the RPC client only quits on fatal signals\n\nFix a couple of instances where we were exiting the RPC client on\narbitrary signals. We should only do so on fatal signals.\n\nCc: stable@kernel.org\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\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": "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": "559649efb9b0d248541933197bdf7b75529da457",
      "tree": "9b05d731d8f69e7a922d21c0b29340ea799e79c0",
      "parents": [
        "7402ab19cdd5943c7dd4f3399afe3abda8077ef5"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Mon May 09 15:23:04 2011 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri May 27 17:42:47 2011 -0400"
      },
      "message": "SUNRPC: Remove obsolete comment\n\nClean up.  The documenting comment at the top of net/sunrpc/clnt.c is\nout of date.  We adopted BSD\u0027s RTO estimation mechanism years ago.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "da09eb93033e7204cb3e3f3140b46cf108c42c8f",
      "tree": "549b82e88f751b5398afb5b4582f7a60b7136caf",
      "parents": [
        "4251c94833aa516c1fc7a0f8f504a26eadd4b91e"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Mon May 09 15:22:25 2011 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri May 27 17:42:47 2011 -0400"
      },
      "message": "SUNRPC: Clean up use of curly braces in switch cases\n\nClean up.  Preferred style is not to use curly braces around\nswitch cases.  I\u0027m about to add another case that needs a third\ntype cast.\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": "8e26de238fd794c8ea56a5c98bf67c40cfeb051d",
      "tree": "3c8d0e6b1e6e0782b13221ee6c39e5be09552dd9",
      "parents": [
        "ba3c578de274a5438bafbce03f9225936698051c"
      ],
      "author": {
        "name": "Stanislav Kinsbursky",
        "email": "skinsbursky@parallels.com",
        "time": "Thu Mar 17 18:54:23 2011 +0300"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Mar 17 12:39:00 2011 -0400"
      },
      "message": "RPC: killing RPC tasks races fixed\n\nRPC task RPC_TASK_QUEUED bit is set must be checked before trying to wake up\ntask rpc_killall_tasks() because task-\u003etk_waitqueue can not be set (equal to\nNULL).\nAlso, as Trond Myklebust mentioned, such approach (instead of checking\ntk_waitqueue to NULL) allows us to \"optimise away the call to\nrpc_wake_up_queued_task() altogether for those\ntasks that aren\u0027t queued\".\n\nHere is an example of dereferencing of tk_waitqueue equal to NULL:\n\nCPU 0               \tCPU 1\t\t\t\tCPU 2\n--------------------\t---------------------\t--------------------------\nnfs4_run_open_task\nrpc_run_task\nrpc_execute\nrpc_set_active\nrpc_make_runnable\n(waiting)\n\t\t\trpc_async_schedule\n\t\t\tnfs4_open_prepare\n\t\t\tnfs_wait_on_sequence\n\t\t\t\t\t\tnfs_umount_begin\n\t\t\t\t\t\trpc_killall_tasks\n\t\t\t\t\t\trpc_wake_up_task\n\t\t\t\t\t\trpc_wake_up_queued_task\n\t\t\t\t\t\tspin_lock(tk_waitqueue \u003d\u003d NULL)\n\t\t\t\t\t\tBUG()\n\t\t\trpc_sleep_on\n\t\t\tspin_lock(\u0026q-\u003elock)\n\t\t\t__rpc_sleep_on\n\t\t\ttask-\u003etk_waitqueue \u003d q\n\nSigned-off-by: Stanislav Kinsbursky \u003cskinsbursky@openvz.org\u003e\nCc: stable@kernel.org\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": "eabf5baaaaf41b6a0273043cfb06d53dca67acef",
      "tree": "d3af759bccd76ecb3b1f1b5ec027193051b55734",
      "parents": [
        "cee6a5372f8804f58acc87f07816f64db36718e2"
      ],
      "author": {
        "name": "Fred Isaman",
        "email": "iisaman@netapp.com",
        "time": "Fri Feb 11 15:42:36 2011 +0000"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Mar 11 15:38:40 2011 -0500"
      },
      "message": "RPC: clarify rpc_run_task error handling\n\nrpc_run_task can only fail if it is not passed in a preallocated task.\nHowever, that is not at all clear with the current code.  So\nremove several impossible to occur failure checks.\n\nSigned-off-by: Fred Isaman \u003ciisaman@netapp.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "b3bcedadf23264c3b7afcbfbfe1965a17ef1352c",
      "tree": "119c1b242836023b2fca36a7ec7d9642780d2908",
      "parents": [
        "aa69947399a119d7f1b35bbcd62c849839b35449"
      ],
      "author": {
        "name": "Joe Perches",
        "email": "joe@perches.com",
        "time": "Tue Dec 21 10:52:24 2010 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Dec 21 11:51:26 2010 -0500"
      },
      "message": "net/sunrpc/clnt.c: Convert sprintf_symbol to %ps\n\nSigned-off-by: Joe Perches \u003cjoe@perches.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.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": "5fc43978a79e8021c189660ab63249fd29c5fb32",
      "tree": "cac3a18f6bc6c5b91e5c2592c2d7b0ad459db50e",
      "parents": [
        "3561d43fd289f590fdae672e5eb831b8d5cf0bf6"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sat Nov 20 11:13:31 2010 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Nov 22 13:22:39 2010 -0500"
      },
      "message": "SUNRPC: Fix an infinite loop in call_refresh/call_refreshresult\n\nIf the rpcauth_refreshcred() call returns an error other than\nEACCES, ENOMEM or ETIMEDOUT, we currently end up looping forever\nbetween call_refresh and call_refreshresult.\n\nThe correct thing to do here is to exit on all errors except\nEAGAIN and ETIMEDOUT, for which case we retry 3 times, then\nreturn EACCES.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.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": "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": "118df3d17f11733b294ea2cd988d56ee376ef9fd",
      "tree": "d9daf8d196b7f2184407f303216eec9db81859a5",
      "parents": [
        "6f7a35bd23bdbbb40c07ee1120ef047190e77d9b"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sun Oct 24 17:17:31 2010 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sun Oct 24 17:27:14 2010 -0400"
      },
      "message": "SUNRPC: After calling xprt_release(), we must restart from call_reserve\n\nRob Leslie reports seeing the following Oops after his Kerberos session\nexpired.\n\nBUG: unable to handle kernel NULL pointer dereference at 00000058\nIP: [\u003ce186ed94\u003e] rpcauth_refreshcred+0x11/0x12c [sunrpc]\n*pde \u003d 00000000\nOops: 0000 [#1]\nlast sysfs file: /sys/devices/platform/pc87360.26144/temp3_input\nModules linked in: autofs4 authenc esp4 xfrm4_mode_transport ipt_LOG ipt_REJECT xt_limit xt_state ipt_REDIRECT xt_owner xt_HL xt_hl xt_tcpudp xt_mark cls_u32 cls_tcindex sch_sfq sch_htb sch_dsmark geodewdt deflate ctr twofish_generic twofish_i586 twofish_common camellia serpent blowfish cast5 cbc xcbc rmd160 sha512_generic sha1_generic hmac crypto_null af_key rpcsec_gss_krb5 nfsd exportfs nfs lockd fscache nfs_acl auth_rpcgss sunrpc ip_gre sit tunnel4 dummy ext3 jbd nf_nat_irc nf_conntrack_irc nf_nat_ftp nf_conntrack_ftp iptable_mangle iptable_nat nf_nat nf_conntrack_ipv4 nf_conntrack nf_defrag_ipv4 iptable_filter ip_tables x_tables pc8736x_gpio nsc_gpio pc87360 hwmon_vid loop aes_i586 aes_generic sha256_generic dm_crypt cs5535_gpio serio_raw cs5535_mfgpt hifn_795x des_generic geode_rng rng_core led_class ext4 mbcache jbd2 crc16 dm_mirror dm_region_hash dm_log dm_snapshot dm_mod sd_mod crc_t10dif ide_pci_generic cs5536 amd74xx ide_core pata_cs5536 ata_generic libata usb_storage via_rhine mii scsi_mod btrfs zlib_deflate crc32c libcrc32c [last unloaded: scsi_wait_scan]\n\nPid: 12875, comm: sudo Not tainted 2.6.36-net5501 #1 /\nEIP: 0060:[\u003ce186ed94\u003e] EFLAGS: 00010292 CPU: 0\nEIP is at rpcauth_refreshcred+0x11/0x12c [sunrpc]\nEAX: 00000000 EBX: defb13a0 ECX: 00000006 EDX: e18683b8\nESI: defb13a0 EDI: 00000000 EBP: 00000000 ESP: de571d58\n DS: 007b ES: 007b FS: 0000 GS: 0033 SS: 0068\nProcess sudo (pid: 12875, ti\u003dde570000 task\u003ddecd1430 task.ti\u003dde570000)\nStack:\n e186e008 00000000 defb13a0 0000000d deda6000 e1868f22 e196f12b defb13a0\n\u003c0\u003e defb13d8 00000000 00000000 e186e0aa 00000000 defb13a0 de571dac 00000000\n\u003c0\u003e e186956c de571e34 debea5c0 de571dc8 e186967a 00000000 debea5c0 de571e34\nCall Trace:\n [\u003ce186e008\u003e] ? rpc_wake_up_next+0x114/0x11b [sunrpc]\n [\u003ce1868f22\u003e] ? call_decode+0x24a/0x5af [sunrpc]\n [\u003ce196f12b\u003e] ? nfs4_xdr_dec_access+0x0/0xa2 [nfs]\n [\u003ce186e0aa\u003e] ? __rpc_execute+0x62/0x17b [sunrpc]\n [\u003ce186956c\u003e] ? rpc_run_task+0x91/0x97 [sunrpc]\n [\u003ce186967a\u003e] ? rpc_call_sync+0x40/0x5b [sunrpc]\n [\u003ce1969ca2\u003e] ? nfs4_proc_access+0x10a/0x176 [nfs]\n [\u003ce19572fa\u003e] ? nfs_do_access+0x2b1/0x2c0 [nfs]\n [\u003ce186ed61\u003e] ? rpcauth_lookupcred+0x62/0x84 [sunrpc]\n [\u003ce19573b6\u003e] ? nfs_permission+0xad/0x13b [nfs]\n [\u003cc0177824\u003e] ? exec_permission+0x15/0x4b\n [\u003cc0177fbd\u003e] ? link_path_walk+0x4f/0x456\n [\u003cc017867d\u003e] ? path_walk+0x4c/0xa8\n [\u003cc0179678\u003e] ? do_path_lookup+0x1f/0x68\n [\u003cc017a3fb\u003e] ? user_path_at+0x37/0x5f\n [\u003cc016359c\u003e] ? handle_mm_fault+0x229/0x55b\n [\u003cc0170a2d\u003e] ? sys_faccessat+0x93/0x146\n [\u003cc0170aef\u003e] ? sys_access+0xf/0x13\n [\u003cc02cf615\u003e] ? syscall_call+0x7/0xb\nCode: 0f 94 c2 84 d2 74 09 8b 44 24 0c e8 6a e9 8b de 83 c4 14 89 d8 5b 5e 5f 5d c3 55 57 56 53 83 ec 1c fc 89 c6 8b 40 10 89 44 24 04 \u003c8b\u003e 58 58 85 db 0f 85 d4 00 00 00 0f b7 46 70 8b 56 20 89 c5 83\nEIP: [\u003ce186ed94\u003e] rpcauth_refreshcred+0x11/0x12c [sunrpc] SS:ESP 0068:de571d58\nCR2: 0000000000000058\n\nThis appears to be caused by the function rpc_verify_header() first\ncalling xprt_release(), then doing a call_refresh. If we release the\ntransport slot, we should _always_ jump back to call_reserve before\ncalling anything else.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\nCc: stable@kernel.org\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": "55576244eba805307a2b2b6a145b8f85f8c7c124",
      "tree": "b81f059cd196cdc7b8e0c74bba1584e0c7dfcd5e",
      "parents": [
        "006abe887c5e637d059c44310de6c92f36aded3b"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.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: cleanup state-machine ordering\n\nThis is just a minor cleanup: net/sunrpc/clnt.c clarifies the rpc client\nstate machine by commenting each state and by laying out the functions\nimplementing each state in the order that each state is normally\nexecuted (in the absence of errors).\n\nThe previous patch \"Fix null dereference in call_allocate\" changed the\norder of the states.  Move the functions and update the comments to\nreflect the change.\n\nSigned-off-by: J. Bruce Fields \u003cbfields@redhat.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": "f2d47d02fd84343a3c5452daca6ed12c75618aff",
      "tree": "7f7e70c78070021d28e319bc1124cea283ec1e84",
      "parents": [
        "49553c2ef88749dd502687f4eb9c258bb10a4f44"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.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": "Fix null dereference in call_allocate\n\nIn call_allocate we need to reach the auth in order to factor au_cslack\ninto the allocation.\n\nAs of a17c2153d2e271b0cbacae9bed83b0eaa41db7e1 \"SUNRPC: Move the bound\ncred to struct rpc_rqst\", call_allocate attempts to do this by\ndereferencing tk_client-\u003ecl_auth, however this is not guaranteed to be\ndefined--cl_auth can be zero in the case of gss context destruction (see\nrpc_free_auth).\n\nReorder the client state machine to bind credentials before allocating,\nso that we can instead reach the auth through the cred.\n\nSigned-off-by: J. Bruce Fields \u003cbfields@redhat.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\nCc: stable@kernel.org\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": "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": "f8965467f366fd18f01feafb5db10512d7b4422c",
      "tree": "3706a9cd779859271ca61b85c63a1bc3f82d626e",
      "parents": [
        "a26272e5200765691e67d6780e52b32498fdb659",
        "2ec8c6bb5d8f3a62a79f463525054bae1e3d4487"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 20 21:04:44 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 20 21:04:44 2010 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next-2.6: (1674 commits)\n  qlcnic: adding co maintainer\n  ixgbe: add support for active DA cables\n  ixgbe: dcb, do not tag tc_prio_control frames\n  ixgbe: fix ixgbe_tx_is_paused logic\n  ixgbe: always enable vlan strip/insert when DCB is enabled\n  ixgbe: remove some redundant code in setting FCoE FIP filter\n  ixgbe: fix wrong offset to fc_frame_header in ixgbe_fcoe_ddp\n  ixgbe: fix header len when unsplit packet overflows to data buffer\n  ipv6: Never schedule DAD timer on dead address\n  ipv6: Use POSTDAD state\n  ipv6: Use state_lock to protect ifa state\n  ipv6: Replace inet6_ifaddr-\u003edead with state\n  cxgb4: notify upper drivers if the device is already up when they load\n  cxgb4: keep interrupts available when the ports are brought down\n  cxgb4: fix initial addition of MAC address\n  cnic: Return SPQ credit to bnx2x after ring setup and shutdown.\n  cnic: Convert cnic_local_flags to atomic ops.\n  can: Fix SJA1000 command register writes on SMP systems\n  bridge: fix build for CONFIG_SYSFS disabled\n  ARCNET: Limit com20020 PCI ID matches for SOHARD cards\n  ...\n\nFix up various conflicts with pcmcia tree drivers/net/\n{pcmcia/3c589_cs.c, wireless/orinoco/orinoco_cs.c and\nwireless/orinoco/spectrum_cs.c} and feature removal\n(Documentation/feature-removal-schedule.txt).\n\nAlso fix a non-content conflict due to pm_qos_requirement getting\nrenamed in the PM tree (now pm_qos_request) in net/mac80211/scan.c\n"
    },
    {
      "commit": "3fa21e07e6acefa31f974d57fba2b6920a7ebd1a",
      "tree": "4254644ef2579e9ac96db6ec0535b5e4231fd18e",
      "parents": [
        "b60b6592baa69c43a5a0f55d6300a7feaab15338"
      ],
      "author": {
        "name": "Joe Perches",
        "email": "joe@perches.com",
        "time": "Mon May 17 23:08:21 2010 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon May 17 23:23:14 2010 -0700"
      },
      "message": "net: Remove unnecessary returns from void function()s\n\nThis patch removes from net/ (but not any netfilter files)\nall the unnecessary return; statements that precede the\nlast closing brace of void functions.\n\nIt does not remove the returns that are immediately\npreceded by a label as gcc doesn\u0027t like that.\n\nDone via:\n$ grep -rP --include\u003d*.[ch] -l \"return;\\n}\" net/ | \\\n  xargs perl -i -e \u0027local $/ ; while (\u003c\u003e) { s/\\n[ \\t\\n]+return;\\n}/\\n}/g; print; }\u0027\n\nSigned-off-by: Joe Perches \u003cjoe@perches.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "19445b99b6d66af661c586c052de23110731a502",
      "tree": "b5a77b701b466598af631ef5a7db705f6e7c59ad",
      "parents": [
        "ee5ebe851ed60206f150d3f189416f9c63245b66"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Apr 16 16:41:10 2010 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri May 14 15:09:29 2010 -0400"
      },
      "message": "SUNRPC: Cleanup - make rpc_new_task() call rpc_release_calldata on failure\n\nAlso have it return an ERR_PTR(-ENOMEM) instead of a null pointer.\n\nReviewed-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "ff0901f8036a1586037c30a365c9666e946af0f1",
      "tree": "0ac6bf41e2d0837dfa7107052f741d78a08a6dd7",
      "parents": [
        "c9acb42ef1904d15d0fb315061cefbe638f67f3a"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Mar 19 16:17:45 2010 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Mar 22 05:34:12 2010 -0400"
      },
      "message": "SUNRPC: Fix the return value of rpc_run_bc_task()\n\nCurrently rpc_run_bc_task() will return NULL if the task allocation failed.\nHowever the only caller is bc_send, which assumes that the return value\nwill be an ERR_PTR.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "3a28becc35e5c8f1fabb707bcd8a473712653de6",
      "tree": "2cdbbbea50d8a6ed8c9a3f9a84b29b424154b6e4",
      "parents": [
        "caabea8a565fb4e16f8e58e16bb9d535e591b709"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Thu Dec 03 15:58:56 2009 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Dec 03 15:58:56 2009 -0500"
      },
      "message": "SUNRPC: soft connect semantics for UDP\n\nIntroduce soft connect behavior for UDP transports.  In this case, a\nmajor timeout returns ETIMEDOUT instead of EIO.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "caabea8a565fb4e16f8e58e16bb9d535e591b709",
      "tree": "15e0cf4514999c4fb9596adece9e22adfaee2a31",
      "parents": [
        "012da158f636347c4eb28fd1e1cca020fef5e54d"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Thu Dec 03 15:58:56 2009 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Dec 03 15:58:56 2009 -0500"
      },
      "message": "SUNRPC: Use soft connect semantics when performing RPC ping\n\nCurrently, if a remote RPC service is unreachable, an RPC ping will\nhang until the underlying transport connect attempt times out.  A more\ndesirable behavior might be to have the ping fail immediately so upper\nlayers can recover appropriately.\n\nIn the case of an NFS mount, for instance, this would mean the\nmount(2) system call could fail immediately if the server isn\u0027t\nlistening, rather than hanging uninterruptibly for more than 3\nminutes.\n\nChange rpc_ping() so that it fails immediately for connection-oriented\ntransports.  rpc_create() will then fail immediately for such\ntransports if an RPC ping was requested.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "012da158f636347c4eb28fd1e1cca020fef5e54d",
      "tree": "2b51c0d57ab2353bce700c599185e7fd346e251e",
      "parents": [
        "2a76b3bfa22993fc09166bd6a8db0dbe902b6813"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Thu Dec 03 15:58:56 2009 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Dec 03 15:58:56 2009 -0500"
      },
      "message": "SUNRPC: Use soft connects for autobinding over TCP\n\nAutobinding is handled by the rpciod process, not in user processes\nthat are generating regular RPC requests.  Thus autobinding is usually\nnot affected by signals targetting user processes, such as KILL or\ntimer expiration events.\n\nIn addition, an RPC request generated by a user process that has\nRPC_TASK_SOFTCONN set and needs to perform an autobind will hang if\nthe remote rpcbind service is not available.\n\nFor rpcbind queries on connection-oriented transports, let\u0027s use the\nnew soft connect semantic to return control to the user\u0027s process\nquickly, if the kernel\u0027s rpcbind client can\u0027t connect to the remote\nrpcbind service.\n\nLogic is introduced in call_bind_status() to handle connection errors\nthat occurred during an asynchronous rpcbind query.  The logic\nabandons the rpcbind query if the RPC request has SOFTCONN set, and\nretries after a few seconds in the normal case.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "09a21c4102c8f7893368553273d39c0cadedf9af",
      "tree": "b0a051dbb02d48aa95383e39cc7ce6f503d6f33b",
      "parents": [
        "206a134b4d8abf57cd34dffacf993869355b9aac"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Thu Dec 03 15:58:56 2009 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Dec 03 15:58:56 2009 -0500"
      },
      "message": "SUNRPC: Allow RPCs to fail quickly if the server is unreachable\n\nThe kernel sometimes makes RPC calls to services that aren\u0027t running.\nBecause the kernel\u0027s RPC client always assumes the hard retry semantic\nwhen reconnecting a connection-oriented RPC transport, the underlying\nreconnect logic takes a long while to time out, even though the remote\nmay have responded immediately with ECONNREFUSED.\n\nIn certain cases, like upcalls to our local rpcbind daemon, or for NFS\nmount requests, we\u0027d like the kernel to fail immediately if the remote\nservice isn\u0027t reachable.  This allows another transport to be tried\nimmediately, or the pending request can be abandoned quickly.\n\nIntroduce a per-request flag which controls how call_transmit_status()\nbehaves when request transmission fails because the server cannot be\nreached.\n\nWe don\u0027t want soft connection semantics to apply to other errors.  The\ndefault case of the switch statement in call_transmit_status() no\nlonger falls through; the fall through code is copied to the default\ncase, and a \"break;\" is added.\n\nThe transport\u0027s connection re-establishment timeout is also ignored for\nsuch requests.  We want the request to fail immediately, so the\nreconnect delay is skipped.  Additionally, we don\u0027t want a connect\nfailure here to further increase the reconnect timeout value, since\nthis request will not be retried.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "206a134b4d8abf57cd34dffacf993869355b9aac",
      "tree": "ffe4724ce1957243de3eaa2e123b25c883c53412",
      "parents": [
        "dd47f96c077b4516727e497e4b6fd47a06778c0a"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Thu Dec 03 15:58:56 2009 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Dec 03 15:58:56 2009 -0500"
      },
      "message": "SUNRPC: Check explicitly for tk_status \u003d\u003d 0 in call_transmit_status()\n\nThe success case, where task-\u003etk_status \u003d\u003d 0, is by far the most\nfrequent case in call_transmit_status().\n\nThe default: arm of the switch statement in call_transmit_status()\nhandles the 0 case.  default: was moved close to the top of the switch\nstatement in call_transmit_status() under the theory that the compiler\nplaces object code for the earliest arms of a switch statement first,\nmaking the CPU do less work.\n\nThe default: arm of a switch statement, however, is executed only\nafter all the other cases have been checked.  Even if the compiler\nrearranges the object code, the default: arm is the \"last resort\",\nmeaning all of the other cases have been explicitly exhausted.  That\nmakes the current arrangement about as inefficient as it gets for the\ncommon case.\n\nTo fix this, add an explicit check for zero before the switch\nstatement.  That forces the compiler to do the zero check first, no\nmatter what optimizations it might try to do to the switch statement.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "7a73fdde3990ea840b604248362876437ea8ce80",
      "tree": "3fb3e3daed9c516bd4896c50f584a0c16d3542ac",
      "parents": [
        "94e0fb086fc5663c38bbc0fe86d698be8314f82f"
      ],
      "author": {
        "name": "Jaswinder Singh Rajput",
        "email": "jaswinder@kernel.org",
        "time": "Thu Sep 24 14:58:42 2009 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Sep 24 14:58:42 2009 -0400"
      },
      "message": "net: fix htmldocs sunrpc, clnt.c\n\n\n  DOCPROC Documentation/DocBook/networking.xml\n  Warning(net/sunrpc/clnt.c:647): No description found for parameter \u0027req\u0027\n  Warning(net/sunrpc/clnt.c:647): No description found for parameter \u0027tk_ops\u0027\n  Warning(net/sunrpc/clnt.c:647): Excess function parameter \u0027ops\u0027 description in \u0027rpc_run_bc_task\u0027\n\nSigned-off-by: Jaswinder Singh Rajput \u003cjaswinderrajput@gmail.com\u003e\nCc: Ricardo Labiaga \u003cRicardo.Labiaga@netapp.com\u003e\nCc: Benny Halevy \u003cbhalevy@panasas.com\u003e\nCc: Andy Adamson \u003candros@netapp.com\u003e\nCc: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\nCc: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nCc: David Miller \u003cdavem@davemloft.net\u003e\nAcked-by: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nAcked-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "a87e84b5cdfacf11af4e8a85c4bca9793658536f",
      "tree": "f8e3cb2d339d8ed0e987d55f725e501730cdc81d",
      "parents": [
        "342ff1a1b558ebbdb8cbd55ab6a63eca8b2473ca",
        "3c394ddaa7ea4205f933fd9b481166b2669368a9"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Sep 22 07:54:33 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Sep 22 07:54:33 2009 -0700"
      },
      "message": "Merge branch \u0027for-2.6.32\u0027 of git://linux-nfs.org/~bfields/linux\n\n* \u0027for-2.6.32\u0027 of git://linux-nfs.org/~bfields/linux: (68 commits)\n  nfsd4: nfsv4 clients should cross mountpoints\n  nfsd: revise 4.1 status documentation\n  sunrpc/cache: avoid variable over-loading in cache_defer_req\n  sunrpc/cache: use list_del_init for the list_head entries in cache_deferred_req\n  nfsd: return success for non-NFS4 nfs4_state_start\n  nfsd41: Refactor create_client()\n  nfsd41: modify nfsd4.1 backchannel to use new xprt class\n  nfsd41: Backchannel: Implement cb_recall over NFSv4.1\n  nfsd41: Backchannel: cb_sequence callback\n  nfsd41: Backchannel: Setup sequence information\n  nfsd41: Backchannel: Server backchannel RPC wait queue\n  nfsd41: Backchannel: Add sequence arguments to callback RPC arguments\n  nfsd41: Backchannel: callback infrastructure\n  nfsd4: use common rpc_cred for all callbacks\n  nfsd4: allow nfs4 state startup to fail\n  SUNRPC: Defer the auth_gss upcall when the RPC call is asynchronous\n  nfsd4: fix null dereference creating nfsv4 callback client\n  nfsd4: fix whitespace in NFSPROC4_CLNT_CB_NULL definition\n  nfsd41: sunrpc: add new xprt class for nfsv4.1 backchannel\n  sunrpc/cache: simplify cache_fresh_locked and cache_fresh_unlocked.\n  ...\n"
    },
    {
      "commit": "f300baba5a1536070d6d77bf0c8c4ca999bb4f0f",
      "tree": "648d0020d9a9325cfcb07571d9f11a5c797ee900",
      "parents": [
        "908329f2c08b8b5af7b394f709b0ee9c43b93041"
      ],
      "author": {
        "name": "Alexandros Batsakis",
        "email": "batsakis@netapp.com",
        "time": "Thu Sep 10 17:33:30 2009 +0300"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Sun Sep 13 15:46:15 2009 -0400"
      },
      "message": "nfsd41: sunrpc: add new xprt class for nfsv4.1 backchannel\n\n[sunrpc: change idle timeout value for the backchannel]\nSigned-off-by: Alexandros Batsakis \u003cbatsakis@netapp.com\u003e\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\nAcked-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "ab3bbaa8b257845e248e9a01d12a69ca245f4197",
      "tree": "f3054be9bd612194826ed6969d01346d329c3306",
      "parents": [
        "332a3392188e0ad966543c87b8da2b9d246f301d",
        "2ecda72b49a0849ce41e7fa1fa974a245b9119f8"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Sep 11 14:59:37 2009 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Sep 11 14:59:37 2009 -0400"
      },
      "message": "Merge branch \u0027nfs-for-2.6.32\u0027\n"
    },
    {
      "commit": "2574cc9f4ffc6c681c9177111357efe5b76f0e36",
      "tree": "5e220b5a26e25df9fc03b58c7fa4daeebafce062",
      "parents": [
        "ea6bff368548d79529421a9dc0710fc5330eb504"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Aug 28 11:12:12 2009 -0400"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Aug 28 19:35:56 2009 -1000"
      },
      "message": "SUNRPC: Fix rpc_task_force_reencode\n\nThis patch fixes the bug that was reported in\n  http://bugzilla.kernel.org/show_bug.cgi?id\u003d14053\n\nIf we\u0027re in the case where we need to force a reencode and then resend of\nthe RPC request, due to xprt_transmit failing with a networking error, then\nwe _must_ retransmit the entire request.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\nCc: stable@kernel.org\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "23ac6581702ac6d029643328a7e6ea3baf834c5e",
      "tree": "e960a371127a240f17971596e0c456ccc8f01b7e",
      "parents": [
        "7d217caca5d704e48aa5e59aba0b3ad4c7af4fd2"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sun Aug 09 15:14:25 2009 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sun Aug 09 15:14:25 2009 -0400"
      },
      "message": "SUNRPC: clean up rpc_setup_pipedir()\n\nThere is still a little wart or two there: Since we\u0027ve already got a\nvfsmount, we might as well pass that in to rpc_create_client_dir.\nAnother point is that if we open code __rpc_lookup_path() here, then we can\navoid looking up the entire parent directory path over and over again: it\ndoesn\u0027t change.\n\nAlso get rid of rpc_clnt-\u003ecl_pathname, since it has no users...\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "7d217caca5d704e48aa5e59aba0b3ad4c7af4fd2",
      "tree": "d8d5fcac59d736f1b8c9769e7d3f5aec6d1b5428",
      "parents": [
        "7d59d1e86531a53d7648726ab8a6a670ecbd8f06"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sun Aug 09 15:14:24 2009 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sun Aug 09 15:14:24 2009 -0400"
      },
      "message": "SUNRPC: Replace rpc_client-\u003ecl_dentry and cl_mnt, with a cl_path\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "458adb8ba9b26bfc66593866013adbb62a1a3d2e",
      "tree": "b24eec8ef6f161dbcc564c8f847b476bda9fcb00",
      "parents": [
        "bb1567491e43df4113ec8b088ff0ebc22f568bc5"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sun Aug 09 15:14:22 2009 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sun Aug 09 15:14:22 2009 -0400"
      },
      "message": "SUNRPC: Rename rpc_mkdir to rpc_create_client_dir()\n\nThis reflects the fact that rpc_mkdir() as it stands today, can only create\na RPC client type directory.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "405f55712dfe464b3240d7816cc4fe4174831be2",
      "tree": "96c425ea7fa8b31058b8f83a433c5e5265c8ebc7",
      "parents": [
        "f9fabcb58a6d26d6efde842d1703ac7cfa9427b6"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Sat Jul 11 22:08:37 2009 +0400"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Jul 12 12:22:34 2009 -0700"
      },
      "message": "headers: smp_lock.h redux\n\n* Remove smp_lock.h from files which don\u0027t need it (including some headers!)\n* Add smp_lock.h to files which do need it\n* Make smp_lock.h include conditional in hardirq.h\n  It\u0027s needed only for one kernel_locked() usage which is under CONFIG_PREEMPT\n\n  This will make hardirq.h inclusion cheaper for every PREEMPT\u003dn config\n  (which includes allmodconfig/allyesconfig, BTW)\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "dd2b63d049480979016b959abc2d141cdddb1389",
      "tree": "3b1f9a59b5c0a7c6027ec102a034a4236b41ebd6",
      "parents": [
        "281fe15dc1d6ad46992f18b7a6644269ec5f7138"
      ],
      "author": {
        "name": "Ricardo Labiaga",
        "email": "Ricardo.Labiaga@netapp.com",
        "time": "Wed Apr 01 09:23:28 2009 -0400"
      },
      "committer": {
        "name": "Benny Halevy",
        "email": "bhalevy@panasas.com",
        "time": "Wed Jun 17 14:11:40 2009 -0700"
      },
      "message": "nfs41: Rename rq_received to rq_reply_bytes_recvd\n\nThe \u0027rq_received\u0027 member of \u0027struct rpc_rqst\u0027 is used to track when we\nhave received a reply to our request.  With v4.1, the backchannel\ncan now accept callback requests over the existing connection.  Rename\nthis field to make it clear that it is only used for tracking reply bytes\nand not all bytes received on the connection.\n\nSigned-off-by: Ricardo Labiaga \u003cRicardo.Labiaga@netapp.com\u003e\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n"
    },
    {
      "commit": "55ae1aabfb108106dd095de2578ceef1c755a8b8",
      "tree": "7ccb91f5aac0a3646f7d4e8fbe913955aa300f95",
      "parents": [
        "44b98efdd0a205bdca2cb63493350d06ff6804b1"
      ],
      "author": {
        "name": "Ricardo Labiaga",
        "email": "Ricardo.Labiaga@netapp.com",
        "time": "Wed Apr 01 09:23:03 2009 -0400"
      },
      "committer": {
        "name": "Benny Halevy",
        "email": "bhalevy@panasas.com",
        "time": "Wed Jun 17 14:11:24 2009 -0700"
      },
      "message": "nfs41: Add backchannel processing support to RPC state machine\n\nAdds rpc_run_bc_task() which is called by the NFS callback service to\nprocess backchannel requests.  It performs similar work to rpc_run_task()\nthough \"schedules\" the backchannel task to be executed starting at the\ncall_trasmit state in the RPC state machine.\n\nIt also introduces some miscellaneous updates to the argument validation,\ncall_transmit, and transport cleanup functions to take into account\nthat there are now forechannel and backchannel tasks.\n\nBackchannel requests do not carry an RPC message structure, since the\npayload has already been XDR encoded using the existing NFSv4 callback\nmechanism.\n\nIntroduce a new transmit state for the client to reply on to backchannel\nrequests.  This new state simply reserves the transport and issues the\nreply.  In case of a connection related error, disconnects the transport and\ndrops the reply.  It requires the forechannel to re-establish the connection\nand the server to retransmit the request, as stated in NFSv4.1 section\n2.9.2 \"Client and Server Transport Behavior\".\n\nNote: There is no need to loop attempting to reserve the transport.  If EAGAIN\nis returned by xprt_prepare_transmit(), return with tk_status \u003d\u003d 0,\nsetting tk_action to call_bc_transmit.  rpc_execute() will invoke it again\nafter the task is taken off the sleep queue.\n\n[nfs41: rpc_run_bc_task() need not be exported outside RPC module]\n[nfs41: New call_bc_transmit RPC state]\nSigned-off-by: Ricardo Labiaga \u003cRicardo.Labiaga@netapp.com\u003e\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n[nfs41: Backchannel: No need to loop in call_bc_transmit()]\nSigned-off-by: Andy Adamson \u003candros@netapp.com\u003e\nSigned-off-by: Ricardo Labiaga \u003cRicardo.Labiaga@netapp.com\u003e\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n[rpc_count_iostats incorrectly exits early]\nSigned-off-by: Ricardo Labiaga \u003cRicardo.Labiaga@netapp.com\u003e\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n[Convert rpc_reply_expected() to inline function]\n[Remove unnecessary BUG_ON()]\n[Rename variable]\nSigned-off-by: Ricardo Labiaga \u003cRicardo.Labiaga@netapp.com\u003e\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n"
    },
    {
      "commit": "f4a2e418bfd03a1f25f515e8a92ecd584d96cfc1",
      "tree": "31ea603214b4c68c338af9373b85eedfe0c11275",
      "parents": [
        "18dca02aeb3c49dfce87c76be643b139d05cf647"
      ],
      "author": {
        "name": "Ricardo Labiaga",
        "email": "Ricardo.Labiaga@netapp.com",
        "time": "Wed Apr 01 09:22:54 2009 -0400"
      },
      "committer": {
        "name": "Benny Halevy",
        "email": "bhalevy@panasas.com",
        "time": "Wed Jun 17 12:43:46 2009 -0700"
      },
      "message": "nfs41: Process the RPC call direction\n\nReading and storing the RPC direction is a three step process.\n\n1. xs_tcp_read_calldir() reads the RPC direction, but it will not store it\nin the XDR buffer since the \u0027struct rpc_rqst\u0027 is not yet available.\n\n2. The \u0027struct rpc_rqst\u0027 is obtained during the TCP_RCV_COPY_DATA state.\nThis state need not necessarily be preceeded by the TCP_RCV_READ_CALLDIR.\nFor example, we may be reading a continuation packet to a large reply.\nTherefore, we can\u0027t simply obtain the \u0027struct rpc_rqst\u0027 during the\nTCP_RCV_READ_CALLDIR state and assume it\u0027s available during TCP_RCV_COPY_DATA.\n\nThis patch adds a new TCP_RCV_READ_CALLDIR flag to indicate the need to\nread the RPC direction.  It then uses TCP_RCV_COPY_CALLDIR to indicate the\nRPC direction needs to be saved after the \u0027struct rpc_rqst\u0027 has been allocated.\n\n3. The \u0027struct rpc_rqst\u0027 is obtained by the xs_tcp_read_data() helper\nfunctions.  xs_tcp_read_common() then saves the RPC direction in the XDR\nbuffer if TCP_RCV_COPY_CALLDIR is set.  This will happen when we\u0027re reading\nthe data immediately after the direction was read.  xs_tcp_read_common()\nthen clears this flag.\n\n[was nfs41: Skip past the RPC call direction]\nSigned-off-by: Ricardo Labiaga \u003cRicardo.Labiaga@netapp.com\u003e\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n[nfs41: sunrpc: Add RPC direction back into the XDR buffer]\nSigned-off-by: Ricardo Labiaga \u003cRicardo.Labiaga@netapp.com\u003e\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n[nfs41: sunrpc: Don\u0027t skip past the RPC call direction]\nSigned-off-by: Ricardo Labiaga \u003cRicardo.Labiaga@netapp.com\u003e\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n"
    },
    {
      "commit": "aae2006e9b0c294114915c13022fa348e1a88023",
      "tree": "2643d2ed1b2d44c5e5d7577e1ae0516eae95f977",
      "parents": [
        "c3fad1b1aaf850bf692642642ace7cd0d64af0a3"
      ],
      "author": {
        "name": "Andy Adamson",
        "email": "andros@netapp.com",
        "time": "Wed Apr 01 09:22:40 2009 -0400"
      },
      "committer": {
        "name": "Benny Halevy",
        "email": "bhalevy@panasas.com",
        "time": "Wed Jun 17 12:25:07 2009 -0700"
      },
      "message": "nfs41: sunrpc: Export the call prepare state for session reset\n\nSigned-off-by: Andy Adamson\u003candros@netapp.com\u003e\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "2a4919919a97911b0aa4b9f5ac1eab90ba87652b",
      "tree": "c12eb42c34f0d0b79130ae93ebd56159e8366ee8",
      "parents": [
        "482f32e65d31cbf88d08306fa5d397cc945c3c26"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Mar 11 14:38:00 2009 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Mar 11 14:38:00 2009 -0400"
      },
      "message": "SUNRPC: Return EAGAIN instead of ENOTCONN when waking up xprt-\u003epending\n\nWhile we should definitely return socket errors to the task that is\ncurrently trying to send data, there is no need to propagate the same error\nto all the other tasks on xprt-\u003epending. Doing so actually slows down\nrecovery, since it causes more than one tasks to attempt socket recovery.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "c8485e4d634f6df155040293928707f127f0d06d",
      "tree": "72ec8a7ea829e4f7df4648e646353c55a037e50e",
      "parents": [
        "40d2549db5f515e415894def98b49db7d4c56714"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Mar 11 14:37:59 2009 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Mar 11 14:37:59 2009 -0400"
      },
      "message": "SUNRPC: Handle ECONNREFUSED correctly in xprt_transmit()\n\nIf we get an ECONNREFUSED error, we currently go to sleep on the\n\u0027xprt-\u003esending\u0027 wait queue. The problem is that no timeout is set there,\nand there is nothing else that will wake the task up later.\n\nWe should deal with ECONNREFUSED in call_status, given that is where we\nalso deal with -EHOSTDOWN, and friends.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "15f081ca8ddfe150fb639c591b18944a539da0fc",
      "tree": "24261e97034770ab827d153cc541222e04701ac3",
      "parents": [
        "a67d18f89f5782806135aad4ee012ff78d45aae7"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Mar 11 14:37:57 2009 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Mar 11 14:37:57 2009 -0400"
      },
      "message": "SUNRPC: Avoid an unnecessary task reschedule on ENOTCONN\n\nIf the socket is unconnected, and xprt_transmit() returns ENOTCONN, we\ncurrently give up the lock on the transport channel. Doing so means that\nthe lock automatically gets assigned to the next task in the xprt-\u003esending\nqueue, and so that task needs to be woken up to do the actual connect.\n\nThe following patch aims to avoid that unnecessary task switch.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "08cc36cbd1ee7d86422713bb21551eed1326b894",
      "tree": "52cc683387f903b34a7f6f798dcdbae385b58db8",
      "parents": [
        "3c92ec8ae91ecf59d88c798301833d7cf83f2179",
        "46f72f57d279688c4524df78edb5738db730eeef"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Dec 30 16:51:43 2008 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Dec 30 16:51:43 2008 -0500"
      },
      "message": "Merge branch \u0027devel\u0027 into next\n"
    },
    {
      "commit": "608207e8884e083ad8b8d33eda868da70f0d63e8",
      "tree": "86073f5f2e4a550bb1efe395954abe3fa91a555e",
      "parents": [
        "68e76ad0baf8f5d5060377c2423ee6eed5c63057"
      ],
      "author": {
        "name": "Olga Kornievskaia",
        "email": "aglo@citi.umich.edu",
        "time": "Tue Dec 23 16:17:40 2008 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Dec 23 16:17:40 2008 -0500"
      },
      "message": "rpc: pass target name down to rpc level on callbacks\n\nThe rpc client needs to know the principal that the setclientid was done\nas, so it can tell gssd who to authenticate to.\n\nSigned-off-by: Olga Kornievskaia \u003caglo@citi.umich.edu\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "21454aaad30651ba0dcc16fe5271bc12ee21f132",
      "tree": "eb525494d6f80a0e855840bc588ae1f422348b04",
      "parents": [
        "14d5e834f6b36667c7da56374645f99b6cf30814"
      ],
      "author": {
        "name": "Harvey Harrison",
        "email": "harvey.harrison@gmail.com",
        "time": "Fri Oct 31 00:54:56 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Oct 31 00:54:56 2008 -0700"
      },
      "message": "net: replace NIPQUAD() in net/*/\n\nUsing NIPQUAD() with NIPQUAD_FMT, %d.%d.%d.%d or %u.%u.%u.%u\ncan be replaced with %pI4\n\nSigned-off-by: Harvey Harrison \u003charvey.harrison@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "5b095d98928fdb9e3b75be20a54b7a6cbf6ca9ad",
      "tree": "b6caa0cdbaac016447a790881ad4a6c5dfce6900",
      "parents": [
        "4b7a4274ca63dadd9c4f17fc953f3a5d19855c4c"
      ],
      "author": {
        "name": "Harvey Harrison",
        "email": "harvey.harrison@gmail.com",
        "time": "Wed Oct 29 12:52:50 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Oct 29 12:52:50 2008 -0700"
      },
      "message": "net: replace %p6 with %pI6\n\nSigned-off-by: Harvey Harrison \u003charvey.harrison@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "fdb46ee752ed05c94bac71fe3decdb5175ec6e1f",
      "tree": "903aa4ba2c7afc996e9ddd3304e64770db830f7d",
      "parents": [
        "0c6ce78abf6e228d44c3840edb8a4ae0c1299825"
      ],
      "author": {
        "name": "Harvey Harrison",
        "email": "harvey.harrison@gmail.com",
        "time": "Tue Oct 28 16:10:17 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Oct 28 23:02:32 2008 -0700"
      },
      "message": "net, misc: replace uses of NIP6_FMT with %p6\n\nSigned-off-by: Harvey Harrison \u003charvey.harrison@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "6925bac120097b823fc990c143b9789c21cc60b5",
      "tree": "0f92e1b22122fba623aeff4c271c16df673244eb",
      "parents": [
        "04ab591808565f968d4406f6435090ad671ebdab",
        "011935a0a710c20bb7ae63523b78856848db1926"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Oct 15 15:54:56 2008 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Oct 15 15:54:56 2008 -0400"
      },
      "message": "Merge branch \u0027next\u0027\n"
    },
    {
      "commit": "63ffc23d307c9534c732edd87895e37b223004a3",
      "tree": "407ae7e2e017f951927b09299c2ec1bf7d0c9987",
      "parents": [
        "d7fb120774f062ce7db439863ab5d4190d6f989c"
      ],
      "author": {
        "name": "Cedric Le Goater",
        "email": "clg@fr.ibm.com",
        "time": "Fri Oct 03 23:41:51 2008 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Oct 07 18:19:10 2008 -0400"
      },
      "message": "sunrpc: fix oops in rpc_create when the mount namespace is unshared\n\nOn a system with nfs mounts, if a task unshares its mount namespace,\na oops can occur when the system is rebooted if the task is the last\nto unreference the nfs mount. It will try to create a rpc request\nusing utsname() which has been invalidated by free_nsproxy().\n\nThe patch fixes the issue by using the global init_utsname() which is\nalways valid. the capability of identifying rpc clients per uts namespace\nstills needs some extra work so this should not be a problem.\n\nBUG: unable to handle kernel NULL pointer dereference at 00000004\nIP: [\u003cc024c9ab\u003e] rpc_create+0x332/0x42f\nOops: 0000 [#1] DEBUG_PAGEALLOC\n\nPid: 1857, comm: uts-oops Not tainted (2.6.27-rc5-00319-g7686ad5 #4)\nEIP: 0060:[\u003cc024c9ab\u003e] EFLAGS: 00210287 CPU: 0\nEIP is at rpc_create+0x332/0x42f\nEAX: 00000000 EBX: df26adf0 ECX: c0251887 EDX: 00000001\nESI: df26ae58 EDI: c02f293c EBP: dda0fc9c ESP: dda0fc2c\n DS: 007b ES: 007b FS: 0000 GS: 0000 SS: 0068\nProcess uts-oops (pid: 1857, ti\u003ddda0e000 task\u003ddd9a0778 task.ti\u003ddda0e000)\nStack: c0104532 dda0fffc dda0fcac dda0e000 dda0e000 dd93b7f0 00000009 c02f2880\n       df26aefc dda0fc68 c01096b7 00000000 c0266ee0 c039a070 c039a070 dda0fc74\n       c012ca67 c039a064 dda0fc8c c012cb20 c03daf74 00000011 00000000 c0275c90\nCall Trace:\n [\u003cc0104532\u003e] ? dump_trace+0xc2/0xe2\n [\u003cc01096b7\u003e] ? save_stack_trace+0x1c/0x3a\n [\u003cc012ca67\u003e] ? save_trace+0x37/0x8c\n [\u003cc012cb20\u003e] ? add_lock_to_list+0x64/0x96\n [\u003cc0256fc4\u003e] ? rpcb_register_call+0x62/0xbb\n [\u003cc02570c8\u003e] ? rpcb_register+0xab/0xb3\n [\u003cc0252f4d\u003e] ? svc_register+0xb4/0x128\n [\u003cc0253114\u003e] ? svc_destroy+0xec/0x103\n [\u003cc02531b2\u003e] ? svc_exit_thread+0x87/0x8d\n [\u003cc01a75cd\u003e] ? lockd_down+0x61/0x81\n [\u003cc01a577b\u003e] ? nlmclnt_done+0xd/0xf\n [\u003cc01941fe\u003e] ? nfs_destroy_server+0x14/0x16\n [\u003cc0194328\u003e] ? nfs_free_server+0x4c/0xaa\n [\u003cc019a066\u003e] ? nfs_kill_super+0x23/0x27\n [\u003cc0158585\u003e] ? deactivate_super+0x3f/0x51\n [\u003cc01695d1\u003e] ? mntput_no_expire+0x95/0xb4\n [\u003cc016965b\u003e] ? release_mounts+0x6b/0x7a\n [\u003cc01696cc\u003e] ? __put_mnt_ns+0x62/0x70\n [\u003cc0127501\u003e] ? free_nsproxy+0x25/0x80\n [\u003cc012759a\u003e] ? switch_task_namespaces+0x3e/0x43\n [\u003cc01275a9\u003e] ? exit_task_namespaces+0xa/0xc\n [\u003cc0117fed\u003e] ? do_exit+0x4fd/0x666\n [\u003cc01181b3\u003e] ? do_group_exit+0x5d/0x83\n [\u003cc011fa8c\u003e] ? get_signal_to_deliver+0x2c8/0x2e0\n [\u003cc0102630\u003e] ? do_notify_resume+0x69/0x700\n [\u003cc011d85a\u003e] ? do_sigaction+0x134/0x145\n [\u003cc0127205\u003e] ? hrtimer_nanosleep+0x8f/0xce\n [\u003cc0126d1a\u003e] ? hrtimer_wakeup+0x0/0x1c\n [\u003cc0103488\u003e] ? work_notifysig+0x13/0x1b\n \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\nCode: 70 20 68 cb c1 2c c0 e8 75 4e 01 00 8b 83 ac 00 00 00 59 3d 00 f0 ff ff 5f 77 63 eb 57 a1 00 80 2d c0 8b 80 a8 02 00 00 8d 73 68 \u003c8b\u003e 40 04 83 c0 45 e8 41 46 f7 ff ba 20 00 00 00 83 f8 21 0f 4c\nEIP: [\u003cc024c9ab\u003e] rpc_create+0x332/0x42f SS:ESP 0068:dda0fc2c\n\nSigned-off-by: Cedric Le Goater \u003cclg@fr.ibm.com\u003e\nCc: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nCc: Trond Myklebust \u003ctrond.myklebust@fys.uio.no\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nCc: \"Serge E. Hallyn\" \u003cserue@us.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "d5b337b4877f7c4e1d761434ee04d045b0201e03",
      "tree": "0c31c4cfb0f2010a87b0f1ae7246cbd50068306e",
      "parents": [
        "97eb89bb0e5d9ab20dbc677cb18fad1421473287"
      ],
      "author": {
        "name": "Benny Halevy",
        "email": "bhalevy@panasas.com",
        "time": "Sun Sep 28 09:21:26 2008 +0300"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Mon Sep 29 18:13:40 2008 -0400"
      },
      "message": "nfsd: use nfs client rpc callback program\n\nsince commit ff7d9756b501744540be65e172d27ee321d86103\n\"nfsd: use static memory for callback program and stats\"\ndo_probe_callback uses a static callback program\n(NFS4_CALLBACK) rather than the one set in clp-\u003ecl_callback.cb_prog\nas passed in by the client in setclientid (4.0)\nor create_session (4.1).\n\nThis patches introduces rpc_create_args.prognumber that allows\noverriding program-\u003enumber when creating rpc_clnt.\n\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "381ba74af55e58bca4c01553835a360a9f6fbb07",
      "tree": "56e5f5159432ebb350af4adf330afa4f50b77a54",
      "parents": [
        "f45663ce5fb30f76a3414ab3ac69f4dd320e760a"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Jul 07 12:18:53 2008 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Jul 09 12:09:45 2008 -0400"
      },
      "message": "SUNRPC: Ensure our task is notified when an rpcbind call is done\n\nIf another task is busy in rpcb_getport_async number, it is more efficient\nto have it wake us up when it has finished instead of arbitrarily sleeping\nfor 5 seconds.\n\nAlso ensure that rpcb_wake_rpcbind_waiters() is called regardless of\nwhether or not rpcb_getport_done() gets called.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "b6b6152c46861dd914d0e6cea9c27df057d6e235",
      "tree": "0d63ce529c13c09a1997da06199e27b049bb55aa",
      "parents": [
        "48b605f83c920d8daa50e43fc2c7f718e04c7bfa"
      ],
      "author": {
        "name": "Olga Kornievskaia",
        "email": "aglo@citi.umich.edu",
        "time": "Mon Jun 09 16:51:31 2008 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Jul 09 12:09:10 2008 -0400"
      },
      "message": "rpc: bring back cl_chatty\n\nThe cl_chatty flag alows us to control whether a given rpc client leaves\n\n\t\"server X not responding, timed out\"\n\nmessages in the syslog.  Such messages make sense for ordinary nfs\nclients (where an unresponsive server means applications on the\nmountpoint are probably hanging), but not for the callback client (which\ncan fail more commonly, with the only result just of disabling some\noptimizations).\n\nPreviously cl_chatty was removed, do to lack of users; reinstate it, and\nuse it for the nfsd\u0027s callback client.\n\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "cb3997b5a0b21864368bd1bd1d0929f9304fb6d9",
      "tree": "b3b0f4369c8dba139e0e359cfcfc9277d82430a1",
      "parents": [
        "38e886e0c18975543938519254fc9bf0829c75a3"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Wed May 21 17:09:41 2008 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Jul 09 12:08:58 2008 -0400"
      },
      "message": "SUNRPC: Display some debugging information as text rather than numbers\n\nIn rpc_show_tasks(), display the program name, version number, procedure\nname and tk_action as human-readable variable-length text fields rather\nthan columnar numbers.\n\nDoing the symbol lookup here helps in cases where we have actual\ndebugging output from a kernel log, but don\u0027t have access to the kernel\nimage or RPC module that generated the output.\n\nSample output:\n\n -pid- flgs status -client- --rqstp- -timeout ---ops--\n  5608 0001    -11 eeb42690 f6d93710        0 f8fa1764 nfsv3 WRITE a:call_transmit_status q:none\n  5609 0001    -11 eeb42690 f6d937e0        0 f8fa1764 nfsv3 WRITE a:call_status q:xprt_sending\n  5610 0001    -11 eeb42690 f6d93230        0 f8fa1764 nfsv3 WRITE a:call_status q:xprt_sending\n  5611 0001    -11 eeb42690 f6d93300        0 f8fa1764 nfsv3 WRITE a:call_status q:xprt_sending\n  5612 0001    -11 eeb42690 f6d93090        0 f8fa1764 nfsv3 WRITE a:call_status q:xprt_sending\n  5613 0001    -11 eeb42690 f6d933d0        0 f8fa1764 nfsv3 WRITE a:call_status q:xprt_sending\n  5614 0001    -11 eeb42690 f6d93cc0        0 f8fa1764 nfsv3 WRITE a:call_status q:xprt_sending\n  5615 0001    -11 eeb42690 f6d93a50        0 f8fa1764 nfsv3 WRITE a:call_status q:xprt_sending\n  5616 0001    -11 eeb42690 f6d93640        0 f8fa1764 nfsv3 WRITE a:call_status q:xprt_sending\n  5617 0001    -11 eeb42690 f6d93b20        0 f8fa1764 nfsv3 WRITE a:call_status q:xprt_sending\n  5618 0001    -11 eeb42690 f6d93160        0 f8fa1764 nfsv3 WRITE a:call_status q:xprt_sending\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "38e886e0c18975543938519254fc9bf0829c75a3",
      "tree": "310aa1aa78833bc0ef8836c0bfceb3a7823e6c31",
      "parents": [
        "68a23ee94e3a06819f5a39d64f2e1f3131bab12d"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Wed May 21 17:09:33 2008 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Jul 09 12:08:56 2008 -0400"
      },
      "message": "SUNRPC: Refactor rpc_show_tasks\n\nClean up: move the logic that displays each task to its own function.\nThis removes indentation and makes future changes easier.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "68a23ee94e3a06819f5a39d64f2e1f3131bab12d",
      "tree": "47b9e954ccbd2ead56307f64516da91298153b9a",
      "parents": [
        "b0e1c57ea00302c3ac541ffd37e7db07d13cd674"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Wed May 21 17:09:26 2008 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Jul 09 12:08:55 2008 -0400"
      },
      "message": "SUNRPC: Don\u0027t display the rpc_show_tasks header if there are no tasks\n\nClean up: don\u0027t display the rpc_show_tasks column header unless there is at\nleast one task to display.  As far as I can tell, it is safe to let the\nlist_for_each_entry macro decide that each list is empty.\n\nscripts/checkpatch.pl also wants a KERN_FOO at the start of any newly added\nprintk() calls, so this and subsequent patches will also add KERN_INFO.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "b0e1c57ea00302c3ac541ffd37e7db07d13cd674",
      "tree": "1efbe305bfff8141ae0d27a03dacc5bbf4ae58a6",
      "parents": [
        "3748f1e447ac1dbf45f33ee7491a008a8bb5cdf0"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Wed May 21 17:09:19 2008 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Jul 09 12:08:53 2008 -0400"
      },
      "message": "SUNRPC: Rename \"call_\" functions that are no longer FSM states\n\nThe RPC client uses a finite state machine to move RPC tasks through each\nstep of an RPC request.  Each state is contained in a function in\nnet/sunrpc/clnt.c, and named call_foo.\n\nSome of the functions named call_foo have changed over the past few years and\nare no longer states in the FSM.  These include: call_encode, call_header,\nand call_verify.  As a clean up, rename the functions that have changed.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "3748f1e447ac1dbf45f33ee7491a008a8bb5cdf0",
      "tree": "1e6fced9b21cb730424a1dc0805bf08819b43832",
      "parents": [
        "6fb1bc10303c0d88f635d014324432ab6ee49d1b"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Wed May 21 17:09:12 2008 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Jul 09 12:08:53 2008 -0400"
      },
      "message": "SUNRPC: Add a function to display the name of an RPC procedure\n\nImprove debugging messages in call_start() and call_verify() by having\nthem show the RPC procedure name instead of the procedure number.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "b390c2b55c830eb3b64633fa8d8b8837e073e458",
      "tree": "e18f0041626a88447d34809f35041cd4b4425610",
      "parents": [
        "8b39f2b41033754e7ba669503d27268beb1b524a"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Jun 10 18:30:11 2008 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Jul 09 12:08:43 2008 -0400"
      },
      "message": "SUNRPC: An ENOMEM error from call_encode is always fatal\n\nThe special \u0027ENOMEM\u0027 case that was previously flagged as non-fatal is\nbogus: auth_gss always returns EAGAIN for non-fatal errors, and may in fact\nreturn ENOMEM in the special case where xdr_buf_read_netobj runs out of\npreallocated buffer space (invariably a _fatal_ error, since there is no\nprovision for preallocating larger buffers).\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "8b39f2b41033754e7ba669503d27268beb1b524a",
      "tree": "50377c7d6c4918141f3b8bda5040477854458e7c",
      "parents": [
        "2116271a347d1181b5497602c2bfada1de8fd53b"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed May 14 19:48:25 2008 -0700"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Jul 09 12:08:41 2008 -0400"
      },
      "message": "SUNRPC: Ensure we exit early in case of an encode error\n\nAll errors from call_encode(), with exception of EAGAIN are fatal, so we\nshould immediately return instead of proceeding to xprt_transmit().\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "233607dbbc823caf685e778cabc49fb7f679900b",
      "tree": "13840137ee10788061cbec60fcfe8ea4c274558e",
      "parents": [
        "3dc5063786b273f1aee545844f6bd4e9651ebffe",
        "b48633bd086d21f4a2a5bea96c7e6c7ba58eb60c"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Apr 24 14:01:02 2008 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Apr 24 14:01:02 2008 -0400"
      },
      "message": "Merge branch \u0027devel\u0027\n"
    },
    {
      "commit": "b48633bd086d21f4a2a5bea96c7e6c7ba58eb60c",
      "tree": "334f66cced8488e54cbd7c80ed56e81d6cc0ceb4",
      "parents": [
        "a3dab293539031b0970585b9b355cebbc91ecbd4"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Apr 22 16:47:55 2008 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Apr 24 13:53:46 2008 -0400"
      },
      "message": "SUNRPC: Invalidate the RPCSEC_GSS session if the server dropped the request\n\nRFC 2203 requires the server to drop the request if it believes the\nRPCSEC_GSS context is out of sequence. The problem is that we have no way\non the client to know why the server dropped the request. In order to avoid\nspinning forever trying to resend the request, the safe approach is\ntherefore to always invalidate the RPCSEC_GSS context on every major\ntimeout.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "7c1d71cf56feebfb5b98219b9d11dfc3a2feca62",
      "tree": "5a073d987ec79900b2aff217a226c8c78e94b579",
      "parents": [
        "636ac43318ce6939c1698fb67e714d421314ed71"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Apr 17 16:52:57 2008 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sat Apr 19 16:55:12 2008 -0400"
      },
      "message": "SUNRPC: Don\u0027t disconnect more than once if retransmitting NFSv4 requests\n\nNFSv4 requires us to ensure that we break the TCP connection before we\u0027re\nallowed to retransmit a request. However in the case where we\u0027re\nretransmitting several requests that have been sent on the same\nconnection, we need to ensure that we don\u0027t interfere with the attempt to\nreconnect and/or break the connection again once it has been established.\n\nWe therefore introduce a \u0027connection\u0027 cookie that is bumped every time a\nconnection is broken. This allows requests to track if they need to force a\ndisconnection.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "1e799b673c6b82b336ab13c48b5651d511ca3000",
      "tree": "9954155b2a9bdd72e49a078418ceea6c47bcc609",
      "parents": [
        "c1d519312dcdf11532fed9f99a8ecc3547ffd9d6"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Mar 21 16:19:41 2008 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sat Apr 19 16:53:20 2008 -0400"
      },
      "message": "SUNRPC: Fix read ordering problems with req-\u003erq_private_buf.len\n\nWe want to ensure that req-\u003erq_private_buf.len is updated before\nreq-\u003erq_received, so that call_decode() doesn\u0027t use an old value for\nreq-\u003erq_rcv_buf.len.\n\nIn \u0027call_decode()\u0027 itself, instead of using task-\u003etk_status (which is set\nusing req-\u003erq_received) must use the actual value of\nreq-\u003erq_private_buf.len when deciding whether or not the received RPC reply\nis too short.\n\nFinally ensure that we set req-\u003erq_rcv_buf.len to zero when retrying a\nrequest. A typo meant that we were resetting req-\u003erq_private_buf.len in\ncall_decode(), and then clobbering that value with the old rq_rcv_buf.len\nagain in xprt_transmit().\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "24b74bf0c9e08cbda74d3c64af69ad402ed54e04",
      "tree": "bd18884769eef620d12babbc86a008561321758e",
      "parents": [
        "0490a54a00c14212f22c5948c8c13a4553d745bd"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sat Apr 19 13:15:47 2008 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sat Apr 19 16:52:33 2008 -0400"
      },
      "message": "SUNRPC: Fix a bug in call_decode()\n\ncall_verify() can, under certain circumstances, free the RPC slot. In that\ncase, our cached pointer \u0027req \u003d task-\u003etk_rqstp\u0027 is invalid. Bug was\nintroduced in commit 220bcc2afd7011b3e0569fc178331fa983c92c1b (SUNRPC:\nDon\u0027t call xprt_release in call refresh).\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "1e42198609d73ed1a9adcba2af275c24c2678420",
      "tree": "32fd4d9073bfc0f3909af8f9fb4bcff38951d01a",
      "parents": [
        "794eb6bf20ebf992c040ea831cd3a9c64b0c1f7a",
        "4b119e21d0c66c22e8ca03df05d9de623d0eb50f"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Apr 17 23:56:30 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Apr 17 23:56:30 2008 -0700"
      },
      "message": "Merge branch \u0027master\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/torvalds/linux-2.6\n"
    },
    {
      "commit": "ed13c27e546667fb0967ae30f5070cd7f6455f90",
      "tree": "164af7ac3dfd69c6c939150b530fd57a9eb8e54d",
      "parents": [
        "240ee831187e000704cba3208ef6b0a8ad49bd64"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Mon Apr 07 16:52:44 2008 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Apr 08 21:07:00 2008 -0400"
      },
      "message": "SUNRPC: Fix a memory leak in rpc_create()\n\nCommit 510deb0d was supposed to move the xprt_create_transport() call in\nrpc_create(), but neglected to remove the old call site.  This resulted in\na transport leak after every rpc_create() call.\n\nThis leak is present in 2.6.24 and 2.6.25.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "0dc47877a3de00ceadea0005189656ae8dc52669",
      "tree": "7440a87385fe318cb42f0ae161be195f5e967d82",
      "parents": [
        "6387c4bed539539b05fa773cf2ff26529dc3074c"
      ],
      "author": {
        "name": "Harvey Harrison",
        "email": "harvey.harrison@gmail.com",
        "time": "Wed Mar 05 20:47:47 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Mar 05 20:47:47 2008 -0800"
      },
      "message": "net: replace remaining __FUNCTION__ occurrences\n\n__FUNCTION__ is gcc-specific, use __func__\n\nSigned-off-by: Harvey Harrison \u003charvey.harrison@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "cdd0972945dbcb8ea24db365d9b0e100af2a27bb",
      "tree": "d41204db20ccc81cecf99a332e2fa764075e8637",
      "parents": [
        "5e4424af9a1f062c6451681dff24a26e27741cc6",
        "cbc20059259edee4ea24c923e6627c394830c972"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Feb 28 23:48:05 2008 -0800"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Feb 28 23:48:05 2008 -0800"
      },
      "message": "Merge branch \u0027cleanups\u0027 into next\n"
    },
    {
      "commit": "fda1393938035559b417dd5b26b9cc293a7aee00",
      "tree": "8190a6ad7a81974dd5f782f2ab872753742ff68d",
      "parents": [
        "96ef13b283934fbf60b732e6c4ce23e8babd0042"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Feb 22 16:34:12 2008 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Feb 25 21:40:42 2008 -0800"
      },
      "message": "SUNRPC: Convert users of rpc_wake_up_task to use rpc_wake_up_queued_task\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "96ef13b283934fbf60b732e6c4ce23e8babd0042",
      "tree": "9efa8e92ff2e7f27746b65214a43ca3a4aed1b14",
      "parents": [
        "fde95c7554aa77f9a242f32b0b5f8f15395abf52"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Feb 22 15:46:41 2008 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Feb 25 21:40:40 2008 -0800"
      },
      "message": "SUNRPC: Add a new helper rpc_wake_up_queued_task()\n\nIn all cases where we currently use rpc_wake_up_task(), we almost always\nknow on which waitqueue the rpc_task is actually sleeping. This will allows\nus to simplify the queue locking in a future patch.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "cbc20059259edee4ea24c923e6627c394830c972",
      "tree": "648caf84d855d497880fdd0cfb58319806d80fd1",
      "parents": [
        "2785259631697ebb0749a3782cca206e2e542939"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Feb 14 11:11:30 2008 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Feb 14 11:17:24 2008 -0500"
      },
      "message": "SUNRPC: Declare as const the rpc_message arguments to rpc_call_sync/async\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "65b6e42cdc5b6a1ce2ada31cc294d7e60b22bb43",
      "tree": "f8e1629ab3dce44de715e29811020892d467b189",
      "parents": [
        "073b86dacc3c0fa79c71f3519169ea18d5521227"
      ],
      "author": {
        "name": "Randy Dunlap",
        "email": "randy.dunlap@oracle.com",
        "time": "Wed Feb 13 15:03:23 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Feb 13 16:21:19 2008 -0800"
      },
      "message": "docbook: sunrpc filenames and notation fixes\n\nUse updated file list for docbook files and\nfix kernel-doc warnings in sunrpc:\nWarning(linux-2.6.24-git12//net/sunrpc/rpc_pipe.c:689): No description found for parameter \u0027rpc_client\u0027\nWarning(linux-2.6.24-git12//net/sunrpc/rpc_pipe.c:765): No description found for parameter \u0027flags\u0027\nWarning(linux-2.6.24-git12//net/sunrpc/clnt.c:584): No description found for parameter \u0027tk_ops\u0027\nWarning(linux-2.6.24-git12//net/sunrpc/clnt.c:618): No description found for parameter \u0027bufsize\u0027\n\nSigned-off-by: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nCc: Trond Myklebust \u003ctrond.myklebust@fys.uio.no\u003e\nCc: \"J. Bruce Fields\" \u003cbfields@fieldses.org\u003e\nCc: Neil Brown \u003cneilb@suse.de\u003e\nCc: \"David S. Miller\" \u003cdavem@davemloft.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "75659ca0c10992dcb39258518368a0f6f56e935d",
      "tree": "5d014ceb2f10158061a23d0d976f9a613d85e659",
      "parents": [
        "fbdde7bd274d74729954190f99afcb1e3d9bbfba",
        "2dfe485a2c8afa54cb069fcf48476f6c90ea3fdf"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Feb 01 11:45:47 2008 +1100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Feb 01 11:45:47 2008 +1100"
      },
      "message": "Merge branch \u0027task_killable\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/willy/misc\n\n* \u0027task_killable\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/willy/misc: (22 commits)\n  Remove commented-out code copied from NFS\n  NFS: Switch from intr mount option to TASK_KILLABLE\n  Add wait_for_completion_killable\n  Add wait_event_killable\n  Add schedule_timeout_killable\n  Use mutex_lock_killable in vfs_readdir\n  Add mutex_lock_killable\n  Use lock_page_killable\n  Add lock_page_killable\n  Add fatal_signal_pending\n  Add TASK_WAKEKILL\n  exit: Use task_is_*\n  signal: Use task_is_*\n  sched: Use task_contributes_to_load, TASK_ALL and TASK_NORMAL\n  ptrace: Use task_is_*\n  power: Use task_is_*\n  wait: Use TASK_NORMAL\n  proc/base.c: Use task_is_*\n  proc/array.c: Use TASK_REPORT\n  perfmon: Use task_is_*\n  ...\n\nFixed up conflicts in NFS/sunrpc manually..\n"
    },
    {
      "commit": "34f5b4662bf4b54f22b32ce76ce70eccd7ebc68a",
      "tree": "0c79a6f5579244f56c4c9eb1d9e686f29e6c3c67",
      "parents": [
        "afc881124b8aff83c7a28269ef9d9cfce543256c"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Jan 15 14:17:11 2008 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Jan 30 02:06:10 2008 -0500"
      },
      "message": "SUNRPC: Don\u0027t bother changing the sigmask for asynchronous RPC calls\n\nThe caller will never sleep in rpc_execute, so don\u0027t bother setting the\nsigmask.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "b454ae906085cf7774fb4756746680c9b03b6f84",
      "tree": "c5f84a9524dd7a9c7470ef0782e2d79df94d3f5e",
      "parents": [
        "cab6fc1b77c3ec4471d7d54ff6db9ad2dd59c2f5"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Mon Jan 07 18:34:48 2008 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Jan 30 02:06:04 2008 -0500"
      },
      "message": "SUNRPC: fewer conditionals in the format_ip_address routines\n\nClean up: have the set up routines explicitly pass the strings to be used\nfor the transport name and NETID.  This removes a number of conditionals\nand dependencies on rpc_xprt.prot, which is overloaded.\n\nTighten up type checking on the address_strings array while we\u0027re at it.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "ba7392bb37cb12781890f45d7ddee1618e33a036",
      "tree": "4c9a6cb3b22cae407f810c214275ab107ee3fc77",
      "parents": [
        "2881ae74e68ecfe3b32a90936e5d93a9ba598c3a"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Dec 20 16:03:55 2007 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Jan 30 02:05:59 2008 -0500"
      },
      "message": "SUNRPC: Add support for per-client timeout values\n\nIn order to be able to support setting the timeo and retrans parameters on\na per-mountpoint basis, we move the rpc_timeout structure into the\nrpc_clnt.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "698b6d088e8a5d907596c689d5ae9109611c5b59",
      "tree": "0e6465b1647fbd731fb2794d34ab5efa14e2465d",
      "parents": [
        "69dd716c5ffd89f5ba14ffb871d633ecea74d13a"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Dec 20 16:03:53 2007 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Jan 30 02:05:58 2008 -0500"
      },
      "message": "SUNRPC: cleanup for rpc_new_client()\n\nThere is no reason why we shouldn\u0027t just pass the rpc_create_args.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "510deb0d7035d4fd465627deb3a119ca854f9e00",
      "tree": "ffc7af675601c88ef8843ddb5a64db8b8da7ee91",
      "parents": [
        "40c553193df41920de659f0446e5d214c862e827"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Mon Dec 10 14:56:24 2007 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Jan 30 02:05:49 2008 -0500"
      },
      "message": "SUNRPC: rpc_create() default hostname should support AF_INET6 addresses\n\nIf the ULP doesn\u0027t pass a hostname string to rpc_create(), it manufactures\none based on the passed-in address.  Be smart enough to handle an AF_INET6\naddress properly in this case.\n\nMove the default servername logic before the xprt_create_transport() call\nto simplify error handling in rpc_create().\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "b5627943ab6fabbc13a45d92683363a3d08a249f",
      "tree": "2b422b80ed83d5f1df823070815792eba4e0d286",
      "parents": [
        "5138fde01161cd7976fdc51f6a17da73adaa6baf"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Oct 25 18:42:21 2007 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Jan 30 02:05:35 2008 -0500"
      },
      "message": "SUNRPC: Remove the now unused function rpc_call_setup()\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "b3ef8b3bb93300e58a4c4806207de3de4eb76f48",
      "tree": "d02db9d538477b5a98abcb7945dbf81fa9b8e4ec",
      "parents": [
        "77de2c590ec72828156d85fa13a96db87301cc68"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Oct 25 18:32:34 2007 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Jan 30 02:05:31 2008 -0500"
      },
      "message": "SUNRPC: Allow rpc_init_task() to initialise the rpc_task-\u003etk_msg\n\nIn preparation for the removal of rpc_call_setup().\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "77de2c590ec72828156d85fa13a96db87301cc68",
      "tree": "9e14b6c75df046d406f0652f98eb520db64d3675",
      "parents": [
        "5085925902cc4d93b9a4992936edd2aee70a5e15"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Oct 25 18:40:21 2007 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Jan 30 02:05:31 2008 -0500"
      },
      "message": "SUNRPC: Add a helper rpc_call_start() that initialises task-\u003etk_action\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "5085925902cc4d93b9a4992936edd2aee70a5e15",
      "tree": "4d938ccdf4a32ef9c66d005d96dacb4cfb744216",
      "parents": [
        "3ff7576ddac06c3d07089e241b40826d24bbf1ac"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Oct 25 18:19:37 2007 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Jan 30 02:05:31 2008 -0500"
      },
      "message": "SUNRPC: Mask signals across the call to rpc_call_setup() in rpc_run_task\n\nTo ensure that the RPCSEC_GSS upcall is performed with the correct sigmask.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "c970aa85e71bd581726c42df843f6f129db275ac",
      "tree": "e7fc90ee4064196d357045fd173764e0b8fc8ca8",
      "parents": [
        "84115e1cd4a3614c4e566d4cce31381dce3dbef9"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sat Jul 14 15:39:59 2007 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Jan 30 02:05:30 2008 -0500"
      },
      "message": "SUNRPC: Clean up rpc_run_task\n\nMake it use the new task initialiser structure instead of acting as a\nwrapper.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "84115e1cd4a3614c4e566d4cce31381dce3dbef9",
      "tree": "01b2de7163deb6b3a789811183d8b8c1329b900c",
      "parents": [
        "e8914c65f7f8d4e8701b8e78a12b714872ea0402"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sat Jul 14 15:39:59 2007 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Jan 30 02:05:30 2008 -0500"
      },
      "message": "SUNRPC: Cleanup of rpc_task initialisation\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "e8914c65f7f8d4e8701b8e78a12b714872ea0402",
      "tree": "54e0834fce6e8b834ad400e010e76215e7eb76e4",
      "parents": [
        "a6eaf8bdf9308b51ec84e358915fc65400029519"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sat Jul 14 15:39:59 2007 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Jan 30 02:05:28 2008 -0500"
      },
      "message": "SUNRPC: Restrict sunrpc client exports\n\nThe sunrpc client exports are not meant to be part of any official kernel\nAPI: they can change at the drop of a hat. Mark them as internal functions\nusing EXPORT_SYMBOL_GPL.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "a6eaf8bdf9308b51ec84e358915fc65400029519",
      "tree": "f704135c09272357d9e9bf2d2a39636006518c3e",
      "parents": [
        "93a44a75b97b9d8a03dd3d3f3247c3d0ec46aa4c"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sat Jul 14 15:39:58 2007 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Jan 30 02:05:28 2008 -0500"
      },
      "message": "SUNRPC: Move exported declarations to the function declarations\n\nDo this for all RPC client related functions and XDR functions.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "3ebb067d92ebe5bcfd282acf12bade891d334d07",
      "tree": "99da8250d23887b8573dbeddae76ceb392c0663b",
      "parents": [
        "7272dcd31d56580dee7693c21e369fd167e137fe"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Nov 06 18:40:12 2007 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Jan 30 02:05:26 2008 -0500"
      },
      "message": "SUNRPC: Make call_status()/call_decode() call xprt_force_disconnect()\n\nMove the calls to xprt_disconnect() over to xprt_force_disconnect() in\norder to enable the transport layer to manage the state of the\nXPRT_CONNECTED flag.\nDitto in xs_tcp_read_fraghdr().\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "150030b78a454ba50d5e267b0dcf01b162809192",
      "tree": "4de766e7abbfd73a052f14f8efd3a26eb7b59d87",
      "parents": [
        "009e577e079656d51d0fe9b15e61e41b00816c29"
      ],
      "author": {
        "name": "Matthew Wilcox",
        "email": "matthew@wil.cx",
        "time": "Thu Dec 06 16:24:39 2007 -0500"
      },
      "committer": {
        "name": "Matthew Wilcox",
        "email": "willy@linux.intel.com",
        "time": "Thu Dec 06 17:40:25 2007 -0500"
      },
      "message": "NFS: Switch from intr mount option to TASK_KILLABLE\n\nBy using the TASK_KILLABLE infrastructure, we can get rid of the \u0027intr\u0027\nmount option.  We have to use _killable everywhere instead of _interruptible\nas we get rid of rpc_clnt_sigmask/sigunmask.\n\nSigned-off-by: Liam R. Howlett \u003chowlett@gmail.com\u003e\nSigned-off-by: Matthew Wilcox \u003cwilly@linux.intel.com\u003e\n"
    },
    {
      "commit": "220bcc2afd7011b3e0569fc178331fa983c92c1b",
      "tree": "2a9d18da02292c6c6d7b8da7f6dd6a209ea1b57d",
      "parents": [
        "b6e9c713f5c526a85893c6e0ab1d5d6c6f1ab479"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Oct 01 12:06:48 2007 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Oct 09 17:20:42 2007 -0400"
      },
      "message": "SUNRPC: Don\u0027t call xprt_release in call refresh\n\nCall it from call_verify() instead...\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "b6e9c713f5c526a85893c6e0ab1d5d6c6f1ab479",
      "tree": "cee9c5bc57c4c5bb0638508786513ea4cdb390fc",
      "parents": [
        "2199700f1d660494d2552278354422c51becb686"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Oct 01 12:06:44 2007 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Oct 09 17:20:40 2007 -0400"
      },
      "message": "SUNRPC: Don\u0027t call xprt_release() if call_allocate fails\n\nIt completely fouls up the RPC call statistics, and serves no useful\npurpose.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "afde94f398b62c8596a8d0cbfc25798f0b52a371",
      "tree": "fd82a6e18be9a251e9afa5fd5c87ff703642339d",
      "parents": [
        "bf19aacecbeebccb2c3d150a8bd9416b7dba81fe"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Wed Sep 26 14:38:08 2007 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Oct 09 17:20:28 2007 -0400"
      },
      "message": "SUNRPC: Fix default hostname created in rpc_create()\n\nSince 43780b87fa7..., rpc_create() fills in a default hostname based on\nthe ip address if the servername passed in is null.  A small typo made\nthat default incorrect.  (But this information appears to be used only\nfor debugging right now, so I don\u0027t believe the typo causes any bugs in\nthe current kernel.)\n\nThanks to Olga Kornievskaia for bug report and testing.\n\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\nCc: Olga Kornievskaia \u003caglo@citi.umich.edu\u003e\nCc: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "4fa016eb248cac875541fa199af550a8aefa0e90",
      "tree": "2a8aad2ebc1a05174d0eacaceb671bca6b24850c",
      "parents": [
        "49c36fcc441baf6a4d698e3645d1adf28edaf57b"
      ],
      "author": {
        "name": "\\\"Talpey, Thomas\\",
        "email": "Thomas.Talpey@netapp.com",
        "time": "Mon Sep 10 13:47:57 2007 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Oct 09 17:17:50 2007 -0400"
      },
      "message": "NFS/SUNRPC: support transport protocol naming\n\nTo prepare for including non-sockets-based RPC transports, select\nRPC transports by an identifier (to be used in following patches).\n\nSigned-off-by: Tom Talpey \u003ctmt@netapp.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "3c341b0b925eee01daae2c594b81e673f659d7cd",
      "tree": "029db06dc895097b88c6765d349ce254db333bfd",
      "parents": [
        "bc25571e21e8bd053554209f5b1b228ad71e6b99"
      ],
      "author": {
        "name": "\\\"Talpey, Thomas\\",
        "email": "Thomas.Talpey@netapp.com",
        "time": "Mon Sep 10 13:47:07 2007 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Oct 09 17:17:45 2007 -0400"
      },
      "message": "SUNRPC: rename the rpc_xprtsock_create structure\n\nTo prepare for including non-sockets-based RPC transports, change the\noverly suggestive name of the transport creation arguments struct.\n\nSigned-off-by: Tom Talpey \u003ctmt@netapp.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    }
  ],
  "next": "4f22ccc3460ef65e9899ec271d36fc4ef795c68d"
}
