]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commit
ReplicatedPG: implement the RWTracker mechanisms for backfill read locking
authorGreg Farnum <greg@inktank.com>
Mon, 21 Oct 2013 21:27:32 +0000 (14:27 -0700)
committerSamuel Just <sam.just@inktank.com>
Sun, 27 Oct 2013 17:40:32 +0000 (10:40 -0700)
commit87daef76cdb0707d4570c2338a86a6a121276c04
tree58ac10bdea796e29e8889d146f1d6c5d1e909541
parent96ed5b8c38c21cd772d1b61554695e27d8144717
ReplicatedPG: implement the RWTracker mechanisms for backfill read locking

We want backfill to take read locks on the objects it's pushing. Add
a get_backfill_read(hobject_t) function, a corresponding drop_backfill_read(),
and a backfill_waiting_on_read member in ObjState. Check that member when
getting a write lock, and in put_write(). Tell callers to requeue the recovery
if necessary, and clean up the backfill block when its read lock is dropped.

Signed-off-by: Greg Farnum <greg@inktank.com>
src/osd/ReplicatedPG.cc
src/osd/ReplicatedPG.h