ceph: remove unused erank field
authorSage Weil <sage@newdream.net>
Fri, 8 Jan 2010 00:12:36 +0000 (16:12 -0800)
committerSage Weil <sage@newdream.net>
Thu, 14 Jan 2010 20:23:38 +0000 (12:23 -0800)
The ceph_entity_addr erank field is obsolete; remove it.  Get rid of
trivial addr comparison helpers while we're at it.

Signed-off-by: Sage Weil <sage@newdream.net>
fs/ceph/messenger.c
fs/ceph/mon_client.c
fs/ceph/msgr.h
fs/ceph/osd_client.c

index c1106e8360f0f458442bec7849da6c180372f7db..1360708d7505b8a2b748c71af8683c931ef88b92 100644 (file)
@@ -1056,16 +1056,15 @@ static int process_banner(struct ceph_connection *con)
         * end may not yet know their ip address, so if it's 0.0.0.0, give
         * them the benefit of the doubt.
         */
-       if (!ceph_entity_addr_is_local(&con->peer_addr,
-                                      &con->actual_peer_addr) &&
+       if (memcmp(&con->peer_addr, &con->actual_peer_addr,
+                  sizeof(con->peer_addr)) != 0 &&
            !(addr_is_blank(&con->actual_peer_addr.in_addr) &&
              con->actual_peer_addr.nonce == con->peer_addr.nonce)) {
-               pr_warning("wrong peer, want %s/%d, "
-                      "got %s/%d\n",
-                      pr_addr(&con->peer_addr.in_addr),
-                      con->peer_addr.nonce,
-                      pr_addr(&con->actual_peer_addr.in_addr),
-                      con->actual_peer_addr.nonce);
+               pr_warning("wrong peer, want %s/%lld, got %s/%lld\n",
+                          pr_addr(&con->peer_addr.in_addr),
+                          le64_to_cpu(con->peer_addr.nonce),
+                          pr_addr(&con->actual_peer_addr.in_addr),
+                          le64_to_cpu(con->actual_peer_addr.nonce));
                con->error_msg = "wrong peer at address";
                return -1;
        }
@@ -1934,8 +1933,7 @@ struct ceph_messenger *ceph_messenger_create(struct ceph_entity_addr *myaddr)
                msgr->inst.addr = *myaddr;
 
        /* select a random nonce */
-       get_random_bytes(&msgr->inst.addr.nonce,
-                        sizeof(msgr->inst.addr.nonce));
+       get_random_bytes(&msgr->inst.addr.nonce, sizeof(msgr->inst.addr.nonce));
        encode_my_addr(msgr);
 
        dout("messenger_create %p\n", msgr);
@@ -1966,7 +1964,6 @@ void ceph_con_send(struct ceph_connection *con, struct ceph_msg *msg)
        msg->hdr.src.name = con->msgr->inst.name;
        msg->hdr.src.addr = con->msgr->my_enc_addr;
        msg->hdr.orig_src = msg->hdr.src;
-       msg->hdr.dst_erank = con->peer_addr.erank;
 
        /* queue */
        mutex_lock(&con->mutex);
index bb94006fc686c366b3ed2f01df298044477bed57..223e8bc207e39aeffb6983ec1b7ab94a51024b15 100644 (file)
@@ -88,7 +88,7 @@ int ceph_monmap_contains(struct ceph_monmap *m, struct ceph_entity_addr *addr)
        int i;
 
        for (i = 0; i < m->num_mon; i++)
-               if (ceph_entity_addr_equal(addr, &m->mon_inst[i].addr))
+               if (memcmp(addr, &m->mon_inst[i].addr, sizeof(*addr)) == 0)
                        return 1;
        return 0;
 }
@@ -503,7 +503,6 @@ static int build_initial_monmap(struct ceph_mon_client *monc)
                return -ENOMEM;
        for (i = 0; i < num_mon; i++) {
                monc->monmap->mon_inst[i].addr = mon_addr[i];
-               monc->monmap->mon_inst[i].addr.erank = 0;
                monc->monmap->mon_inst[i].addr.nonce = 0;
                monc->monmap->mon_inst[i].name.type =
                        CEPH_ENTITY_TYPE_MON;
index be83f93182ee8040d37b158964c5059f760f0955..40b6189aa9e3497240f9efe0d5ebfa0ff2ff31da 100644 (file)
@@ -61,24 +61,10 @@ extern const char *ceph_entity_type_name(int type);
  * entity_addr -- network address
  */
 struct ceph_entity_addr {
-       __le32 erank;  /* entity's rank in process */
-       __le32 nonce;  /* unique id for process (e.g. pid) */
+       __le64 nonce;  /* unique id for process (e.g. pid) */
        struct sockaddr_storage in_addr;
 } __attribute__ ((packed));
 
-static inline bool ceph_entity_addr_is_local(const struct ceph_entity_addr *a,
-                                            const struct ceph_entity_addr *b)
-{
-       return a->nonce == b->nonce &&
-               memcmp(&a->in_addr, &b->in_addr, sizeof(a->in_addr)) == 0;
-}
-
-static inline bool ceph_entity_addr_equal(const struct ceph_entity_addr *a,
-                                         const struct ceph_entity_addr *b)
-{
-       return memcmp(a, b, sizeof(*a)) == 0;
-}
-
 struct ceph_entity_inst {
        struct ceph_entity_name name;
        struct ceph_entity_addr addr;
@@ -147,7 +133,7 @@ struct ceph_msg_header {
                             receiver: mask against ~PAGE_MASK */
 
        struct ceph_entity_inst src, orig_src;
-       __le32 dst_erank;
+       __le32 reserved;
        __le32 crc;       /* header crc32c */
 } __attribute__ ((packed));
 
index a0aac436d5d4431dd1f79b9e7fd8a11326d1b48e..80b868f7a0fc7327f7b977f925f8eab7efe6524a 100644 (file)
@@ -821,9 +821,10 @@ static void kick_requests(struct ceph_osd_client *osdc,
 
                        n = rb_next(p);
                        if (!ceph_osd_is_up(osdc->osdmap, osd->o_osd) ||
-                           !ceph_entity_addr_equal(&osd->o_con.peer_addr,
-                                           ceph_osd_addr(osdc->osdmap,
-                                                         osd->o_osd)))
+                           memcmp(&osd->o_con.peer_addr,
+                                  ceph_osd_addr(osdc->osdmap,
+                                                osd->o_osd),
+                                  sizeof(struct ceph_entity_addr)) != 0)
                                reset_osd(osdc, osd);
                }
        }