]> git.apps.os.sepia.ceph.com Git - ceph.git/commit
osd: do full check in do_op
authorSage Weil <sage@redhat.com>
Wed, 23 Sep 2015 14:25:30 +0000 (10:25 -0400)
committerSage Weil <sage@redhat.com>
Thu, 24 Sep 2015 23:13:03 +0000 (19:13 -0400)
commit8ffefecf23ace10a4cc9c52bac8236e78902ea3a
tree2ecbe9e0f6ce56659cdf75e5a151b06ce61efa2f
parent1f2274e2b4b62a3258c3e155949bea6fba2c7858
osd: do full check in do_op

1. The current pool_last_map_marked_full tracking is buggy.
2. We need to recheck this each time we consider the op, not just when it
is received off the wire.  Otherwise, we might get a message, queue it
for some reason, get a map indicating the cluster or pool is full, and
then requeue and process the op instead of discarding it.
3. For now, silently drop ops when failsafe check fails. This will lead to
stalled client IO.  This needs a more robust fix.

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