]> git.apps.os.sepia.ceph.com Git - ceph.git/commit
ObjectCacher: add a method to clear -ENOENT caching
authorJosh Durgin <josh.durgin@inktank.com>
Sat, 9 Mar 2013 01:53:31 +0000 (17:53 -0800)
committerJosh Durgin <josh.durgin@inktank.com>
Mon, 11 Mar 2013 22:49:46 +0000 (15:49 -0700)
commitf2a23dc0b092c5ac081893e8f28c6d4bcabd0c2e
treed49dbf510b27fadc3d5a01de53193f24de5d8390
parentf6f876fe51e40570596c25ac84ba3689f72776c2
ObjectCacher: add a method to clear -ENOENT caching

Clear the exists and complete flags for any objects that have exists
set to false, and force any in-flight reads to retry if they get
-ENOENT instead of generating zeros.

This is useful for getting the cache into a consistent state for rbd
after an image has been flattened, since many objects which previously
did not exist and went up to the parent to retrieve data may now exist
in the child.

Signed-off-by: Josh Durgin <josh.durgin@inktank.com>
src/osdc/ObjectCacher.cc
src/osdc/ObjectCacher.h