]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
objectcacher: cleanup release(), just to be clear
authorSage Weil <sage@newdream.net>
Wed, 8 Sep 2010 22:33:42 +0000 (15:33 -0700)
committerSage Weil <sage@newdream.net>
Wed, 8 Sep 2010 22:33:42 +0000 (15:33 -0700)
src/osdc/ObjectCacher.cc

index 7ccc9c0a3a9ccd80e5c97ef663c10a7bf49f5794..474d1c417cee5045f27de6ff9b02c2c7b2e46219 100644 (file)
@@ -1568,21 +1568,23 @@ loff_t ObjectCacher::release(Object *ob)
        p++) {
     BufferHead *bh = p->second;
     if (bh->is_clean()) 
-         clean.push_back(bh);
+      clean.push_back(bh);
     else 
       o_unclean += bh->length();
   }
 
   for (list<BufferHead*>::iterator p = clean.begin();
-          p != clean.end();
-          p++) {
-       bh_remove(ob, *p);
-       delete *p;
+       p != clean.end();
+       p++) {
+    bh_remove(ob, *p);
+    delete *p;
   }
 
   if (ob->can_close()) {
-       dout(10) << "trim trimming " << *ob << dendl;
-       close_object(ob);
+    dout(10) << "trim trimming " << *ob << dendl;
+    close_object(ob);
+    assert(o_unclean == 0);
+    return 0;
   }
 
   return o_unclean;