 +        return self.driver.exists(self.rbd_name)
  
 -        return False
--
--    def _resize(self, volume_name, size):
--        size = int(size) * units.Ki
 +    def get_disk_size(self, name):
 +        """Returns the size of the virtual disk in bytes.
  
+-    def _resize(self, volume_name, size):
 -        with RBDVolumeProxy(self, volume_name) as vol:
--            vol.resize(size)
+-            vol.resize(int(size))
 +        The name argument is ignored since this backend already knows
 +        its name, and callers may pass a non-existent local file path.
 +        """

+                                snapshot=snapshot,
+                                read_only=True):
+                return True
+        except self.rbd.ImageNotFound:
+            return False
+
+    def cleanup_volumes(self, instance):
+        with RADOSClient(self, self.pool) as client:

             console_file = self._get_console_log_path(instance)
             libvirt_utils.file_open(console_file, 'a').close()
diff --git a/nova/virt/libvirt/imagebackend.py b/nova/virt/libvirt/imagebackend.py
index f66b4f2..8c3e28b 100644
--- a/nova/virt/libvirt/imagebackend.py
+++ b/nova/virt/libvirt/imagebackend.py
@@ -32,17 +32,9 @@ from nova import utils
