diff options
author | Greg Farnum <greg@inktank.com> | 2013-10-04 15:54:21 -0700 |
---|---|---|
committer | Greg Farnum <greg@inktank.com> | 2013-10-17 13:11:44 -0700 |
commit | 55f1368271b18faefdab0b603f207878b836c02f (patch) | |
tree | 29bfcc3cd7c8ecd9dde95228dca35f78bafbcb76 | |
parent | c8d31000e4b9dd3a93b9f074e4acbaff9a8dca3e (diff) | |
download | ceph-55f1368271b18faefdab0b603f207878b836c02f.tar.gz |
ReplicatedPG: cache: don't handle cache if the obc is blocked
Right now the only way that can happen is if we're in the middle of a
promote!
Signed-off-by: Greg Farnum <greg@inktank.com>
-rw-r--r-- | src/osd/ReplicatedPG.cc | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/src/osd/ReplicatedPG.cc b/src/osd/ReplicatedPG.cc index f424aeaeee9..4020aa8116a 100644 --- a/src/osd/ReplicatedPG.cc +++ b/src/osd/ReplicatedPG.cc @@ -1140,6 +1140,10 @@ void ReplicatedPG::do_op(OpRequestRef op) bool ReplicatedPG::maybe_handle_cache(OpRequestRef op, ObjectContextRef obc, int r) { + if (obc.get() && obc->is_blocked()) { + // we're already doing something with this object + return false; + } switch(pool.info.cache_mode) { case pg_pool_t::CACHEMODE_NONE: return false; |