]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commit
osd/ReplicatedPG: requeue cache full waiters if no longer writeback 2147/head
authorSage Weil <sage@redhat.com>
Fri, 25 Jul 2014 21:48:10 +0000 (14:48 -0700)
committerSage Weil <sage@redhat.com>
Fri, 25 Jul 2014 21:50:52 +0000 (14:50 -0700)
commit8fb761b660c268e2264d375a4db2f659a5c3a107
tree87a4ab97d9350e6c5d2e73b3d76ccab9f3bea823
parent36aaab9eee7ed41a46a4ac27376d630a29de5eb9
osd/ReplicatedPG: requeue cache full waiters if no longer writeback

If the cache is full, we block some requests, and then we change the
cache_mode to something else (say, forward), the full waiters don't get
requeued until the cache becomes un-full.  In the meantime, however, later
requests will get processed and redirected, breaking the op ordering.

Fix this by requeueing any full waiters if we see that the cache_mode is
not writeback.

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