with nogil:
ret = rbd_resize(self.image, _size)
if ret < 0:
- raise make_ex(ret, 'error resizing image %s' % (self.name,))
+ raise make_ex(ret, 'error resizing image %s' % self.name)
def stat(self):
"""
with nogil:
ret = rbd_stat(self.image, &info, sizeof(info))
if ret != 0:
- raise make_ex(ret, 'error getting info for image %s' % (self.name,))
+ raise make_ex(ret, 'error getting info for image %s' % self.name)
return {
'size' : info.size,
'obj_size' : info.obj_size,
ret = rbd_get_name(self.image, image_name, &size)
if ret != 0:
- raise make_ex(ret, 'error getting name for image %s' % (self.name,))
+ raise make_ex(ret, 'error getting name for image %s' % self.name)
return decode_cstr(image_name)
finally:
free(image_name)
size *= 2
if ret != 0:
- raise make_ex(ret, 'error getting id for image %s' % (self.name,))
+ raise make_ex(ret, 'error getting id for image %s' % self.name)
return decode_cstr(image_id)
finally:
free(image_id)
size *= 2
if ret != 0:
- raise make_ex(ret, 'error getting block name prefix for image %s' % (self.name,))
+ raise make_ex(ret, 'error getting block name prefix for image %s' % self.name)
return decode_cstr(prefix)
finally:
free(prefix)
size *= 2
if ret != 0:
- raise make_ex(ret, 'error getting parent info for image %s' % (self.name,))
+ raise make_ex(ret, 'error getting parent info for image %s' % self.name)
return (decode_cstr(pool), decode_cstr(name), decode_cstr(snapname))
finally:
free(pool)
size *= 2
if ret != 0:
- raise make_ex(ret, 'error getting parent id for image %s' % (self.name,))
+ raise make_ex(ret, 'error getting parent id for image %s' % self.name)
return decode_cstr(parent_id)
finally:
free(parent_id)
with nogil:
ret = rbd_get_group(self.image, &info, sizeof(info))
if ret != 0:
- raise make_ex(ret, 'error getting group for image %s' % (self.name,))
+ raise make_ex(ret, 'error getting group for image %s' % self.name)
result = {
'pool' : info.pool,
'name' : decode_cstr(info.name)
if ret == <ssize_t>length:
return ret
elif ret < 0:
- raise make_ex(ret, "error writing to %s" % (self.name,))
+ raise make_ex(ret, "error writing to %s" % self.name)
elif ret < <ssize_t>length:
raise IncompleteWriteError("Wrote only %ld out of %ld bytes" % (ret, length))
else:
with nogil:
ret = rbd_mirror_image_enable(self.image)
if ret < 0:
- raise make_ex(ret, 'error enabling mirroring for image %s'
- % (self.name,))
+ raise make_ex(ret, 'error enabling mirroring for image %s' % self.name)
def mirror_image_disable(self, force):
"""
with nogil:
ret = rbd_mirror_image_disable(self.image, c_force)
if ret < 0:
- raise make_ex(ret, 'error disabling mirroring for image %s' %
- (self.name,))
+ raise make_ex(ret, 'error disabling mirroring for image %s' % self.name)
def mirror_image_promote(self, force):
"""
with nogil:
ret = rbd_mirror_image_promote(self.image, c_force)
if ret < 0:
- raise make_ex(ret, 'error promoting image %s to primary' %
- (self.name,))
+ raise make_ex(ret, 'error promoting image %s to primary' % self.name)
def mirror_image_demote(self):
"""
with nogil:
ret = rbd_mirror_image_demote(self.image)
if ret < 0:
- raise make_ex(ret, 'error demoting image %s to secondary' %
- (self.name,))
+ raise make_ex(ret, 'error demoting image %s to secondary' % self.name)
def mirror_image_resync(self):
"""
with nogil:
ret = rbd_mirror_image_resync(self.image)
if ret < 0:
- raise make_ex(ret, 'error to resync image %s' % (self.name,))
+ raise make_ex(ret, 'error to resync image %s' % self.name)
def mirror_image_get_info(self):
"""
with nogil:
ret = rbd_mirror_image_get_info(self.image, &c_info, sizeof(c_info))
if ret != 0:
- raise make_ex(ret, 'error getting mirror info for image %s' %
- (self.name,))
+ raise make_ex(ret, 'error getting mirror info for image %s' % self.name)
info = {
'global_id' : decode_cstr(c_info.global_id),
'state' : int(c_info.state),
ret = rbd_mirror_image_get_status(self.image, &c_status,
sizeof(c_status))
if ret != 0:
- raise make_ex(ret, 'error getting mirror status for image %s' %
- (self.name,))
+ raise make_ex(ret, 'error getting mirror status for image %s' % self.name)
status = {
'name' : decode_cstr(c_status.name),
'info' : {
raise KeyError('no metadata %s for image %s' % (key, self.name))
if ret != 0:
raise make_ex(ret, 'error getting metadata %s for image %s' %
- (key, self.name,))
+ (key, self.name))
return decode_cstr(value)
finally:
free(value)
if ret != 0:
raise make_ex(ret, 'error setting metadata %s for image %s' %
- (key, self.name,))
+ (key, self.name))
def metadata_remove(self, key):
raise KeyError('no metadata %s for image %s' % (key, self.name))
if ret != 0:
raise make_ex(ret, 'error removing metadata %s for image %s' %
- (key, self.name,))
+ (key, self.name))
def metadata_list(self):
"""
if ret >= 0:
break
elif ret != -errno.ERANGE:
- raise make_ex(ret, 'error listing lock owners for image %s' % (image.name,))
+ raise make_ex(ret, 'error listing lock owners for image %s' % image.name)
def __iter__(self):
for i in range(self.num_lock_owners):
break
elif ret != -errno.ERANGE:
raise make_ex(ret, 'error listing metadata for image %s' %
- (self.image_name,))
+ self.image_name)
keys = [decode_cstr(key) for key in
c_keys[:keys_size].split(b'\0') if key]
vals = [decode_cstr(val) for val in
self.num_snaps = ret
break
elif ret != -errno.ERANGE:
- raise make_ex(ret, 'error listing snapshots for image %s' % (image.name,))
+ raise make_ex(ret, 'error listing snapshots for image %s' % image.name)
def __iter__(self):
for i in range(self.num_snaps):
if ret >= 0:
break
elif ret != -errno.ERANGE:
- raise make_ex(ret, 'error listing images for group %s' % (group.name,), group_errno_to_exception)
+ raise make_ex(ret, 'error listing images for group %s' % group.name, group_errno_to_exception)
def __iter__(self):
for i in range(self.num_images):
if ret >= 0:
break
elif ret != -errno.ERANGE:
- raise make_ex(ret, 'error listing snapshots for group %s' % (group.name,), group_errno_to_exception)
+ raise make_ex(ret, 'error listing snapshots for group %s' % group.name, group_errno_to_exception)
def __iter__(self):
for i in range(self.num_snaps):