1. 13 7月, 2011 2 次提交
  2. 08 7月, 2011 1 次提交
  3. 17 6月, 2011 1 次提交
  4. 15 6月, 2011 1 次提交
  5. 07 6月, 2011 1 次提交
  6. 30 5月, 2011 1 次提交
  7. 28 5月, 2011 6 次提交
    • C
      SUNRPC: Support for RPC over AF_LOCAL transports · 176e21ee
      Chuck Lever 提交于
      TI-RPC introduces the capability of performing RPC over AF_LOCAL
      sockets.  It uses this mainly for registering and unregistering
      local RPC services securely with the local rpcbind, but we could
      also conceivably use it as a generic upcall mechanism.
      
      This patch provides a client-side only implementation for the moment.
      We might also consider a server-side implementation to provide
      AF_LOCAL access to NLM (for statd downcalls, and such like).
      
      Autobinding is not supported on kernel AF_LOCAL transports at this
      time.  Kernel ULPs must specify the pathname of the remote endpoint
      when an AF_LOCAL transport is created.  rpcbind supports registering
      services available via AF_LOCAL, so the kernel could handle it with
      some adjustment to ->rpcbind and ->set_port.  But we don't need this
      feature for doing upcalls via well-known named sockets.
      
      This has not been tested with ULPs that move a substantial amount of
      data.  Thus, I can't attest to how robust the write_space and
      congestion management logic is.
      Signed-off-by: NChuck Lever <chuck.lever@oracle.com>
      Signed-off-by: NTrond Myklebust <Trond.Myklebust@netapp.com>
      176e21ee
    • C
      SUNRPC: Remove obsolete comment · 559649ef
      Chuck Lever 提交于
      Clean up.  The documenting comment at the top of net/sunrpc/clnt.c is
      out of date.  We adopted BSD's RTO estimation mechanism years ago.
      Signed-off-by: NChuck Lever <chuck.lever@oracle.com>
      Signed-off-by: NTrond Myklebust <Trond.Myklebust@netapp.com>
      559649ef
    • C
      SUNRPC: Use AF_LOCAL for rpcbind upcalls · 7402ab19
      Chuck Lever 提交于
      As libtirpc does in user space, have our registration API try using an
      AF_LOCAL transport first when registering and unregistering.
      
      This means we don't chew up privileged ports, and our registration is
      bound to an "owner" (the effective uid of the process on the sending
      end of the transport).  Only that "owner" may unregister the service.
      
      The kernel could probe rpcbind via an rpcbind query to determine
      whether rpcbind has an AF_LOCAL service. For simplicity, we use the
      same technique that libtirpc uses: simply fail over to network
      loopback if creating an AF_LOCAL transport to the well-known rpcbind
      service socket fails.
      
      This means we open-code the pathname of the rpcbind socket in the
      kernel.  For now we have to do that anyway because the kernel's
      RPC over AF_LOCAL implementation does not support autobind.  That may
      be undesirable in the long term.
      Signed-off-by: NChuck Lever <chuck.lever@oracle.com>
      Signed-off-by: NTrond Myklebust <Trond.Myklebust@netapp.com>
      7402ab19
    • C
      SUNRPC: Clean up use of curly braces in switch cases · da09eb93
      Chuck Lever 提交于
      Clean up.  Preferred style is not to use curly braces around
      switch cases.  I'm about to add another case that needs a third
      type cast.
      Signed-off-by: NChuck Lever <chuck.lever@oracle.com>
      Signed-off-by: NTrond Myklebust <Trond.Myklebust@netapp.com>
      da09eb93
    • C
      SUNRPC: Rename xs_encode_tcp_fragment_header() · 61677eee
      Chuck Lever 提交于
      Clean up: Use a more generic name for xs_encode_tcp_fragment_header();
      it's appropriate to use for all stream transport types.  We're about
      to add new stream transport.
      
      Also, move it to a place where it is more easily shared amongst the
      various send_request methods.  And finally, replace the "htonl" macro
      invocation with its modern equivalent.
      Signed-off-by: NChuck Lever <chuck.lever@oracle.com>
      Signed-off-by: NTrond Myklebust <Trond.Myklebust@netapp.com>
      61677eee
    • T
      SUNRPC: Deal with the lack of a SYN_SENT sk->sk_state_change callback... · fe19a96b
      Trond Myklebust 提交于
      The TCP connection state code depends on the state_change() callback
      being called when the SYN_SENT state is set. However the networking layer
      doesn't actually call us back in that case.
      Signed-off-by: NTrond Myklebust <Trond.Myklebust@netapp.com>
      Cc: stable@kernel.org
      fe19a96b
  8. 26 5月, 2011 1 次提交
    • S
      RDMA/cma: Pass QP type into rdma_create_id() · b26f9b99
      Sean Hefty 提交于
      The RDMA CM currently infers the QP type from the port space selected
      by the user.  In the future (eg with RDMA_PS_IB or XRC), there may not
      be a 1-1 correspondence between port space and QP type.  For netlink
      export of RDMA CM state, we want to export the QP type to userspace,
      so it is cleaner to explicitly associate a QP type to an ID.
      
      Modify rdma_create_id() to allow the user to specify the QP type, and
      use it to make our selections of datagram versus connected mode.
      Signed-off-by: NSean Hefty <sean.hefty@intel.com>
      Signed-off-by: NRoland Dreier <roland@purestorage.com>
      b26f9b99
  9. 25 5月, 2011 1 次提交
  10. 10 5月, 2011 1 次提交
  11. 25 4月, 2011 1 次提交
  12. 19 4月, 2011 1 次提交
  13. 16 4月, 2011 1 次提交
  14. 14 4月, 2011 1 次提交
  15. 10 4月, 2011 2 次提交
  16. 08 4月, 2011 7 次提交
  17. 07 4月, 2011 1 次提交
    • T
      Revert "net/sunrpc: Use static const char arrays" · 0867659f
      Trond Myklebust 提交于
      This reverts commit 411b5e05.
      
      Olga Kornievskaia reports:
      
      Problem: linux client mounting linux server using rc4-hmac-md5
      enctype. gssd fails with create a context after receiving a reply from
      the server.
      
      Diagnose: putting printout statements in the server kernel and
      kerberos libraries revealed that client and server derived different
      integrity keys.
      
      Server kernel code was at fault due the the commit
      
      [aglo@skydive linux-pnfs]$ git show 411b5e05
      
      Trond: The problem is that since it relies on virt_to_page(), you cannot
      call sg_set_buf() for data in the const section.
      Reported-by: NOlga Kornievskaia <aglo@citi.umich.edu>
      Signed-off-by: NTrond Myklebust <Trond.Myklebust@netapp.com>
      Cc: stable@kernel.org	[2.6.36+]
      0867659f
  18. 31 3月, 2011 1 次提交
  19. 27 3月, 2011 1 次提交
    • O
      NFS: Ensure that rpc_release_resources_task() can be called twice. · a271c5a0
      OGAWA Hirofumi 提交于
      BUG: atomic_dec_and_test(): -1: atomic counter underflow at:
      Pid: 2827, comm: mount.nfs Not tainted 2.6.38 #1
      Call Trace:
       [<ffffffffa02223a0>] ? put_rpccred+0x44/0x14e [sunrpc]
       [<ffffffffa021bbe9>] ? rpc_ping+0x4e/0x58 [sunrpc]
       [<ffffffffa021c4a5>] ? rpc_create+0x481/0x4fc [sunrpc]
       [<ffffffffa022298a>] ? rpcauth_lookup_credcache+0xab/0x22d [sunrpc]
       [<ffffffffa028be8c>] ? nfs_create_rpc_client+0xa6/0xeb [nfs]
       [<ffffffffa028c660>] ? nfs4_set_client+0xc2/0x1f9 [nfs]
       [<ffffffffa028cd3c>] ? nfs4_create_server+0xf2/0x2a6 [nfs]
       [<ffffffffa0295d07>] ? nfs4_remote_mount+0x4e/0x14a [nfs]
       [<ffffffff810dd570>] ? vfs_kern_mount+0x6e/0x133
       [<ffffffffa029605a>] ? nfs_do_root_mount+0x76/0x95 [nfs]
       [<ffffffffa029643d>] ? nfs4_try_mount+0x56/0xaf [nfs]
       [<ffffffffa0297434>] ? nfs_get_sb+0x435/0x73c [nfs]
       [<ffffffff810dd59b>] ? vfs_kern_mount+0x99/0x133
       [<ffffffff810dd693>] ? do_kern_mount+0x48/0xd8
       [<ffffffff810f5b75>] ? do_mount+0x6da/0x741
       [<ffffffff810f5c5f>] ? sys_mount+0x83/0xc0
       [<ffffffff8100293b>] ? system_call_fastpath+0x16/0x1b
      
      Well, so, I think this is real bug of nfs codes somewhere. With some
      review, the code
      
      rpc_call_sync()
          rpc_run_task
              rpc_execute()
                  __rpc_execute()
                      rpc_release_task()
                          rpc_release_resources_task()
                              put_rpccred()                <= release cred
          rpc_put_task
              rpc_do_put_task()
                  rpc_release_resources_task()
                      put_rpccred()                        <= release cred again
      
      seems to be release cred unintendedly.
      Signed-off-by: NOGAWA Hirofumi <hirofumi@mail.parknet.co.jp>
      Signed-off-by: NTrond Myklebust <Trond.Myklebust@netapp.com>
      a271c5a0
  20. 25 3月, 2011 2 次提交
  21. 23 3月, 2011 1 次提交
  22. 18 3月, 2011 5 次提交