]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
PG::can_discard_op: do discard old subopreplies 2345/head
authorSamuel Just <sam.just@inktank.com>
Wed, 27 Aug 2014 23:21:41 +0000 (16:21 -0700)
committerSamuel Just <sam.just@inktank.com>
Wed, 27 Aug 2014 23:24:43 +0000 (16:24 -0700)
Otherwise, a sub_op_reply from a previous interval can stick around
until we either one day go active again and get rid of it or delete the
pg which is holding it on its waiting_for_active list.  While it sticks
around futily waiting for the pg to once more go active, it will cause
harmless slow request warnings.

Fixes: #9259
Backport: firefly
Signed-off-by: Samuel Just <sam.just@inktank.com>
src/osd/PG.cc

index 2c86f3ba2d2511875be56256b2f2dedbe98f2da2..0d7363ffab3b7478b91a1bae932bf81924893d7d 100644 (file)
@@ -5039,7 +5039,7 @@ bool PG::can_discard_request(OpRequestRef op)
   case MSG_OSD_PG_PUSH_REPLY:
     return can_discard_replica_op<MOSDPGPushReply, MSG_OSD_PG_PUSH_REPLY>(op);
   case MSG_OSD_SUBOPREPLY:
-    return false;
+    return can_discard_replica_op<MOSDSubOpReply, MSG_OSD_SUBOPREPLY>(op);
 
   case MSG_OSD_EC_WRITE:
     return can_discard_replica_op<MOSDECSubOpWrite, MSG_OSD_EC_WRITE>(op);