diff options
author | Greg Farnum <greg@inktank.com> | 2013-10-04 15:54:21 -0700 |
---|---|---|
committer | Greg Farnum <greg@inktank.com> | 2013-10-08 16:24:06 -0700 |
commit | 5f36dbdafaac8effc0b973643977e2b0961f98ce (patch) | |
tree | 334ba3ea5bfce54895730851ad5fcd9f941fcd2c | |
parent | 44826d97ca77cdfb313ad3f267a0b91d52cca489 (diff) | |
download | ceph-5f36dbdafaac8effc0b973643977e2b0961f98ce.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; |