]> git.apps.os.sepia.ceph.com Git - ceph.git/commit
osd: fix map sharing with old heartbeat peers
authorSage Weil <sage@newdream.net>
Tue, 3 Aug 2010 16:36:55 +0000 (09:36 -0700)
committerSage Weil <sage@newdream.net>
Tue, 3 Aug 2010 16:39:01 +0000 (09:39 -0700)
commit4bcba121ac165939b3a825564d67fbc1f2e74cf1
tree8bd95cf51e4b6f1dfd12651ddc1417f14cf04c65
parent6573635ba48a9b6c4f364e8f8b7132c90ea2e8e9
osd: fix map sharing with old heartbeat peers

The addr is in old_inst, since it's an old peer.  Fixes a crash like

osd/OSD.cc: In function 'void OSD::_share_map_outgoing(const entity_inst_t&)':
osd/OSD.cc:1791: FAILED assert(inst.name.is_osd())
 1: (OSD::update_heartbeat_peers()+0x1d3f) [0x4da66f]
 2: (OSD::activate_map(ObjectStore::Transaction&, std::list<Context*, std::allocator<Context*> >&)+0x8ee) [0x4db61e]
 3: (OSD::handle_osd_map(MOSDMap*)+0x233a) [0x4e506a]
 4: (OSD::_dispatch(Message*)+0x230) [0x4ef400]
 5: (OSD::ms_dispatch(Message*)+0x39) [0x4efe39]
 6: (SimpleMessenger::dispatch_entry()+0x749) [0x461fa9]
 7: (SimpleMessenger::DispatchThread::entry()+0x1c) [0x458f6c]
 8: (Thread::_entry_func(void*)+0xa) [0x46cf1a]
 9: (()+0x69ca) [0x7f978d6fb9ca]
 10: (clone()+0x6d) [0x7f978c91b6cd]

introduced by 9bfb8da9f925642bca46528a999124cd8b28ba2a.

Signed-off-by: Sage Weil <sage@newdream.net>
src/osd/OSD.cc