make distcheck said:
ERROR: files left in build directory after distclean:
./src/ceph-debugpack
make[1]: *** [distcleancheck] Error 1
Signed-off-by: Tommi Virtanen <tommi.virtanen@dreamhost.com>
Apparently "make distcheck" has been broken for 3 months;
I find that hard to believe, but that's what it looks like.
Signed-off-by: Tommi Virtanen <tommi.virtanen@dreamhost.com>
when we resend_routed_requests, the source client address is lost.
This may cause problems. For example, if we resend an mds beacon
(boot) to a new monitor leader, the new mdsmap will contain a new
mds entry without IP address.
To reproduce this bug:
1. deploy a cluster with 3 mons.
2. let active mds send beacon to mon0; standby mds send becaon to mon2
3. gdb attach to mon2 to make it unresponsive and make standby mds laggy.
4. gdb attach to mon0 to make it unresponsive and make active mds laggy.
5. detach mon2, then the standby mds will become active.
6. ceph mds dump -o - shows the active mds address is :/0
Signed-off-by: Henry C Chang <henry_c_chang@tcloudcomputing.com>
Signed-off-by: Sage Weil <sage@newdream.net>
If handle_osd_map is in progress and handle_osd_ping doesn't have the
map lock, we can't call osdmap->get_inst() in send_still_alive(). Keep
the entity_inst_t in the failure_pending map so that we don't need to.
osd/OSDMap.h: In function 'entity_inst_t OSDMap::get_inst(int)', in thread '0x7fda6a46b710'
osd/OSDMap.h: 477: FAILED assert(is_up(osd))
ceph version 0.24.1 (commit:e06fb657842379259826f3d9215101fc14575fbd)
1: (OSD::send_still_alive(int)+0x1b9) [0x4dd1b9]
2: (OSD::handle_osd_ping(MOSDPing*)+0x716) [0x4f6446]
3: (OSD::heartbeat_dispatch(Message*)+0x36) [0x4f6666]
4: (SimpleMessenger::dispatch_entry()+0x882) [0x46f002]
5: (SimpleMessenger::DispatchThread::entry()+0x1c) [0x465fac]
6: (()+0x6a3a) [0x7fda7835aa3a]
7: (clone()+0x6d) [0x7fda76f7777d]
Reported-by: Henry C Chang <henry_c_chang@tcloudcomputing.com>
Signed-off-by: Sage Weil <sage@newdream.net>
096e3b6353 broke this by only using
set_pool_image_name for commands that accept the snapshot
parameter. This whole undocumented format parsing should be reworked
or removed at some point.
Signed-off-by: Josh Durgin <josh.durgin@dreamhost.com>
If you call copy_after(..., 0) on a log with a backlog, you get all the
backlog entries, but no backlog flag. That's invalid. You either need
the _complete_ backlog + the flag, or no backlog entries; getting only
some of them is useless information.
Make copy_after stop when it hits the tail. Callers who need the backlog
are already checking for that and copying the whole log as appropriate.
Signed-off-by: Sage Weil <sage.weil@dreamhost.com>