Would you then modify all of the callers like this?

```C++
--- msg/Pipe.cc.old     2013-11-07 16:00:10.000000000 +0000
+++ msg/Pipe.cc 2013-11-07 16:07:53.000000000 +0000
@@ -228,6 +228,7 @@
   pipe_lock.Unlock();
 
   // vars
+  ceph_sockaddr_storage ceph_msgr_my_inst_addr, ceph_socket_addr, ceph_peer_addr;
   bufferlist addrs;
   entity_addr_t socket_addr;
   socklen_t len;
@@ -263,7 +264,8 @@
   }
 
   // and my addr
-  ::encode(msgr->my_inst.addr, addrs);
+  ::encode(msgr->my_inst.addr, ceph_msgr_my_inst_addr);
+  ::encode(ceph_msgr_my_inst_addr, addrs);
 
   port = msgr->my_inst.addr.get_port();
 
@@ -275,7 +277,8 @@
     ldout(msgr->cct,0) << "accept failed to getpeername " << errno << " " << strerror_r(errno, buf, sizeof(buf)) << dendl;
     goto fail_unlocked;
   }
-  ::encode(socket_addr, addrs);
+  ::encode(socket_addr, ceph_socket_addr);
+  ::encode(ceph_socket_addr, addrs);
 
   r = tcp_write(addrs.c_str(), addrs.length());
   if (r < 0) {
@@ -305,7 +308,8 @@
   }
   {
     bufferlist::iterator ti = addrbl.begin();
-    ::decode(peer_addr, ti);
+    ::decode(ceph_peer_addr, ti);
+    ::decode(peer_addr, ceph_peer_addr);
   }
 
   ldout(msgr->cct,10) << "accept peer addr is " << peer_addr << dendl;
@@ -783,6 +787,7 @@
 
   pipe_lock.Unlock();
   
+  struct ceph_sockaddr_storage ceph_paddr, ceph_peer_addr_for_me;
   char tag = -1;
   int rc;
   struct msghdr msg;
@@ -852,8 +857,10 @@
   }
   {
     bufferlist::iterator p = addrbl.begin();
-    ::decode(paddr, p);
-    ::decode(peer_addr_for_me, p);
+    ::decode(ceph_paddr, p);
+    ::decode(paddr, ceph_paddr);
+    ::decode(ceph_peer_addr_for_me, p);
+    ::decode(peer_addr_for_me, ceph_peer_addr_for_me);
     port = peer_addr_for_me.get_port();
   }
 
@@ -875,7 +882,8 @@
 
   msgr->learned_addr(peer_addr_for_me);
 
-  ::encode(msgr->my_inst.addr, myaddrbl);
+  ::encode(msgr->my_inst.addr, ceph_msgr_my_inst_addr);
+  ::encode(ceph_msgr_my_inst_addr, myaddrbl);
 
   memset(&msg, 0, sizeof(msg));
   msgvec[0].iov_base = myaddrbl.c_str();
```