]> git.apps.os.sepia.ceph.com Git - ceph.git/commit
osd/ReplicatedPG: check clones for degraded 1688/head
authorSage Weil <sage@inktank.com>
Thu, 17 Apr 2014 20:11:54 +0000 (13:11 -0700)
committerSage Weil <sage@inktank.com>
Thu, 17 Apr 2014 20:11:54 +0000 (13:11 -0700)
commit3d0e80acd9e3e1c751c871742313173f14abbea6
tree85c1be30ea545661302a6443f265e38f9a7f996a
parent26f4d5b061d7d740a350ea87eaf37d5ab79e88e8
osd/ReplicatedPG: check clones for degraded

We check whether the head is degraded, and we check whether a clone is
unreadable, but in the case where we have a cache op on a degraded object,
we don't check.  That leads to an assert when the repop hits the replica
and the object is in the peer's missing set.

Fix this by adding a check on the clone when write_ordered is true.  Note
that checking write_ordered is better than whether it is a cache op because
we want to preserve write ordering even for reads that are flagged by the
client.

Fixes: #8048
Signed-off-by: Sage Weil <sage@inktank.com>
src/osd/ReplicatedPG.cc