]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
rgw: guard perfcounter accesses in rgw_cache.
authorGreg Farnum <gregory.farnum@dreamhost.com>
Tue, 8 Nov 2011 19:50:42 +0000 (11:50 -0800)
committerGreg Farnum <gregory.farnum@dreamhost.com>
Tue, 8 Nov 2011 19:50:42 +0000 (11:50 -0800)
This gets called by radosgw-admin, so it needs to handle
perfcounter being a null pointer.

Signed-off-by: Greg Farnum <gregory.farnum@dreamhost.com>
src/rgw/rgw_cache.cc

index 4879f44995115661cd9fc97126c3d5d2e6a3f8cc..1c5e0479d40bb7d291c02ee926f3a522cefb44ac 100644 (file)
@@ -14,7 +14,7 @@ int ObjectCache::get(string& name, ObjectCacheInfo& info, uint32_t mask)
   map<string, ObjectCacheEntry>::iterator iter = cache_map.find(name);
   if (iter == cache_map.end()) {
     dout(10) << "cache get: name=" << name << " : miss" << dendl;
-    perfcounter->inc(l_rgw_cache_miss);
+    if(perfcounter) perfcounter->inc(l_rgw_cache_miss);
     return -ENOENT;
   }
 
@@ -23,13 +23,13 @@ int ObjectCache::get(string& name, ObjectCacheInfo& info, uint32_t mask)
   ObjectCacheInfo& src = iter->second.info;
   if ((src.flags & mask) != mask) {
     dout(10) << "cache get: name=" << name << " : type miss (requested=" << mask << ", cached=" << src.flags << dendl;
-    perfcounter->inc(l_rgw_cache_miss);
+    if(perfcounter) perfcounter->inc(l_rgw_cache_miss);
     return -ENOENT;
   }
   dout(10) << "cache get: name=" << name << " : hit" << dendl;
 
   info = src;
-  perfcounter->inc(l_rgw_cache_hit);
+  if(perfcounter) perfcounter->inc(l_rgw_cache_hit);
 
   return 0;
 }