osd: up != acting okay on mkpg

This can happen when:

 - mon sends create pg
 - it gets created
 - osd remaps the pg to a different osd
     but osd does not update pg status to the mon
 - mkpg resent to the new osd

or something along those lines.  It seems unusual, but in the end who
really cares why the mon doesn't know about the pg creation yet.

Note that this check was added in the initial commit where acting/up was
added; there is no specific condition of concern we are protecting against.

Instead, ignore the message.  We'll get a query soon anwyay.

This 'fixes' #3614.

Signed-off-by: Sage Weil <sage@inktank.com>
Reviewed-by: Samuel Just <sam.just@inktank.com>
This commit is contained in:
Sage Weil 2012-12-13 16:26:43 -08:00
parent e3ed28eb2d
commit c9894ff0e5

View File

@ -4756,9 +4756,9 @@ void OSD::handle_pg_create(OpRequestRef op)
continue;
}
if (up != acting) {
dout(10) << "mkpg " << pgid << " up " << up << " != acting " << acting << dendl;
clog.error() << "mkpg " << pgid << " up " << up << " != acting "
<< acting << "\n";
dout(10) << "mkpg " << pgid << " up " << up << " != acting " << acting << ", ignoring" << dendl;
// we'll get a query soon anyway, since we know the pg
// must exist. we can ignore this.
continue;
}