On Fri, Jun 04, 09:48, Sage Weil Wrote > On Fri, 4 Jun 2010, Andre Noll wrote: > > On Wed, Jun 02, 11:19, Sage Weil Wrote > > > Okay, it looks like there is a corrupt PG log. Can you tar up the > > > $osd_data/current/meta directory, and then 'f 8' and 'p /x info.pgid' from > > > gdb (to figure out which pg it's loading)? > > > > It's in decode_nohead(): > > > > ... > > Program received signal SIGABRT, Aborted. > > [Switching to Thread 0x7ff115b566f0 (LWP 5045)] > > 0x00007ff1146e9095 in raise () from /lib/libc.so.6 > > (gdb) f 8 > > #8 0x0000000000540920 in PG::read_log (this=0x7ff1104b6460, > > store=<value optimized out>) at ./include/cstring.h:120 > > 120 _data = new char[_len + 1]; > > (gdb) p /x info.pgid > > $1 = {v = {preferred = {v = 0xffff}, ps = {v = 0x1bf}, pool = {v = 0x0}}} > > The pgid's format like $pool.$ps[p$preferred] (where the preferred bit > only shows up if >= 0). In hex. So the pgid above is 0.1bf, and the > corrupted log should be current/meta/pglog_0.1bf_0. If you send me that > file (off list) I can see what the corruption looks like. Thanks for the explanation. I'll send it off-list in a minute. It's 361K large. > If you want to try to bring the osd up without that pg, you can move that > pglog file and current/0.1bf to some other temp directory and restart > cosd. Did not work. It recreated that file and then crashed for the same reason. The gdb output is identical, but the file contents have changed. I'll send the new pglog_0.1bf_0 as well. Thanks Andre -- The only person who always got his work done by Friday was Robinson Crusoe
Attachment:
signature.asc
Description: Digital signature