mirror of
https://gitlab.com/libvirt/libvirt.git
synced 2025-03-20 07:59:00 +00:00
rbd: Open in Read-Only mode when refreshing a volume
By opening a RBD volume in Read-Only we do not register a watcher on the header object inside the Ceph cluster. Refreshing a volume only calls rbd_stat() which is a operation which does not write to a RBD image. This allows us to use a cephx user which has no write permissions if we would want to use the libvirt storage pool for informational purposes only. It also saves us a write into the Ceph cluster which should speed up refreshing a RBD pool. rbd_open_read_only() is available in all librbd versions which also support rbd_open(). Signed-off-by: Wido den Hollander <wido@widodh.nl>
This commit is contained in:
parent
0b15f92032
commit
84678267e4
@ -284,7 +284,7 @@ static int volStorageBackendRBDRefreshVolInfo(virStorageVolDefPtr vol,
|
||||
int r = 0;
|
||||
rbd_image_t image = NULL;
|
||||
|
||||
r = rbd_open(ptr->ioctx, vol->name, &image, NULL);
|
||||
r = rbd_open_read_only(ptr->ioctx, vol->name, &image, NULL);
|
||||
if (r < 0) {
|
||||
ret = -r;
|
||||
virReportSystemError(-r, _("failed to open the RBD image '%s'"),
|
||||
|
Loading…
x
Reference in New Issue
Block a user