]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commit
osdc/Objecter: handle reply race with pool deletion 3258/head
authorSage Weil <sage@redhat.com>
Tue, 23 Dec 2014 23:49:26 +0000 (15:49 -0800)
committerSage Weil <sage@redhat.com>
Tue, 23 Dec 2014 23:49:49 +0000 (15:49 -0800)
commitf20225cb99a0d2d08fccfdf88dc89d758ecba077
treea958a51274524763a446c64cf323bc2c45f38ea7
parentb1ab685e00034751a161a3d5e0325c6581999c75
osdc/Objecter: handle reply race with pool deletion

We need to handle this scenario:

 - send request in epoch X
 - osd replies
 - pool is deleted in epoch X+1
 - client gets map X+1, sends a map check
 - client handles reply
   -> asserts that no map checks are in flight

This isn't the best solution.  We could infer that a map check isn't needed
since the pool existed earlier and doesn't now.  But this is firefly and
the fix is no more expensive than the old assert.

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