1. 31 Jul, 2012 11 commits
  2. 30 Jul, 2012 22 commits
  3. 06 Jul, 2012 7 commits
    • Sage Weil's avatar
      libceph: allow sock transition from CONNECTING to CLOSED · fbb85a47
      Sage Weil authored
      It is possible to close a socket that is in the OPENING state.  For
      example, it can happen if ceph_con_close() is called on the con before
      the TCP connection is established.  con_work() will come around and shut
      down the socket.
      Signed-off-by: default avatarSage Weil <sage@inktank.com>
      fbb85a47
    • Sage Weil's avatar
      libceph: initialize mon_client con only once · 735a72ef
      Sage Weil authored
      Do not re-initialize the con on every connection attempt.  When we
      ceph_con_close, there may still be work queued on the socket (e.g., to
      close it), and re-initializing will clobber the work_struct state.
      Signed-off-by: default avatarSage Weil <sage@inktank.com>
      735a72ef
    • Sage Weil's avatar
      libceph: set peer name on con_open, not init · b7a9e5dd
      Sage Weil authored
      The peer name may change on each open attempt, even when the connection is
      reused.
      Signed-off-by: default avatarSage Weil <sage@inktank.com>
      b7a9e5dd
    • Alex Elder's avatar
      libceph: drop declaration of ceph_con_get() · 26103021
      Alex Elder authored
      For some reason the declaration of ceph_con_get() and
      ceph_con_put() did not get deleted in this commit:
          d59315ca libceph: drop ceph_con_get/put helpers and nref member
      
      Clean that up.
      Signed-off-by: default avatarAlex Elder <elder@inktank.com>
      26103021
    • Alex Elder's avatar
      libceph: add some fine ASCII art · bc18f4b1
      Alex Elder authored
      Sage liked the state diagram I put in my commit description so
      I'm putting it in with the code.
      Signed-off-by: default avatarAlex Elder <elder@inktank.com>
      Reviewed-by: default avatarSage Weil <sage@inktank.com>
      bc18f4b1
    • Alex Elder's avatar
      libceph: small changes to messenger.c · 5821bd8c
      Alex Elder authored
      This patch gathers a few small changes in "net/ceph/messenger.c":
        out_msg_pos_next()
          - small logic change that mostly affects indentation
        write_partial_msg_pages().
          - use a local variable trail_off to represent the offset into
            a message of the trail portion of the data (if present)
          - once we are in the trail portion we will always be there, so we
            don't always need to check against our data position
          - avoid computing len twice after we've reached the trail
          - get rid of the variable tmpcrc, which is not needed
          - trail_off and trail_len never change so mark them const
          - update some comments
        read_partial_message_bio()
          - bio_iovec_idx() will never return an error, so don't bother
            checking for it
      Signed-off-by: default avatarAlex Elder <elder@inktank.com>
      Reviewed-by: default avatarSage Weil <sage@inktank.com>
      5821bd8c
    • Alex Elder's avatar
      libceph: distinguish two phases of connect sequence · 7593af92
      Alex Elder authored
      Currently a ceph connection enters a "CONNECTING" state when it
      begins the process of (re-)connecting with its peer.  Once the two
      ends have successfully exchanged their banner and addresses, an
      additional NEGOTIATING bit is set in the ceph connection's state to
      indicate the connection information exhange has begun.  The
      CONNECTING bit/state continues to be set during this phase.
      
      Rather than have the CONNECTING state continue while the NEGOTIATING
      bit is set, interpret these two phases as distinct states.  In other
      words, when NEGOTIATING is set, clear CONNECTING.  That way only
      one of them will be active at a time.
      Signed-off-by: default avatarAlex Elder <elder@inktank.com>
      Reviewed-by: default avatarSage Weil <sage@inktank.com>
      7593af92