]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commit
ReplicatedPG: enforce write ordering on rollback
authorSamuel Just <sjust@redhat.com>
Mon, 27 Jul 2015 20:12:25 +0000 (13:12 -0700)
committerSamuel Just <sjust@redhat.com>
Tue, 18 Aug 2015 18:25:24 +0000 (11:25 -0700)
commit35af63b982e246eddd3ec4f8492331b930a7e230
tree9cd726cd34b1df1aaba1a87b6fdbf7d811dcb7fb
parent7d4f695b3bc690c7d0264edf3e345bcc06c93079
ReplicatedPG: enforce write ordering on rollback

Previously, rollback ops could reorder w.r.t other writes due to waiting
on degraded snaps other than head.  To fix that, we'll introduce a new
map tracking objects blocked on degraded snaps.  A particular object can
only be blocked on one snap at a time (subsequent writes won't get far
enough to add another entry).

It might have been possible use the blocked_by machinery for this, but
it requires that the object have an extant obc, which we may not
have for a missing object.  Also, that machinery exists primarily to
support clone_range, which I hope to remove soon.

Signed-off-by: Samuel Just <sjust@redhat.com>
src/osd/PG.h
src/osd/ReplicatedPG.cc
src/osd/ReplicatedPG.h