]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commit
osdc/Objecter: improve pool deletion detection 3249/head 3250/head
authorSage Weil <sage@redhat.com>
Tue, 23 Dec 2014 23:59:19 +0000 (15:59 -0800)
committerSage Weil <sage@redhat.com>
Tue, 23 Dec 2014 23:59:19 +0000 (15:59 -0800)
commitd7fd6fccc9e155a8b19fa8aee13d016ad004b6f6
treea9416e9347786a4a24801849de27a6d7e5a7a476
parenta540ac338542514b465d4c1a052e0c4307fb4b71
osdc/Objecter: improve pool deletion detection

Currently we can have a race like so:

 - send op in epoch X
 - osd replies
 - pool deleted in epoch X+1
 - client gets X+1, sends map epoch check
 - client gets reply
   -> fails assert that there is no map check in flight

Avoid this situation by inferring that the pool is deleted when we see
that we previously sent the request but the pool is no longer present.
Since pool ids are not reused there is no point in doing a synchronous
map check at all.

Backport: giant
Fixes: #10372
Signed-off-by: Sage Weil <sage@redhat.com>
src/osdc/Objecter.cc