提交 b61871c0 编写于 作者: W Wido den Hollander 提交者: John Ferlan

rbd: Add volStorageBackendRBDGetFeatures() for internal calls

As more and more features are added to RBD volumes we will need to
call this method more often.

By moving it into a internal function we can re-use code inside the
storage backend.
Signed-off-by: NWido den Hollander <wido@widodh.nl>
上级 9a457be1
......@@ -279,6 +279,24 @@ virStorageBackendRBDCloseRADOSConn(virStorageBackendRBDStatePtr ptr)
return ret;
}
static int
volStorageBackendRBDGetFeatures(rbd_image_t image,
const char *volname,
uint64_t *features)
{
int r, ret = -1;
if ((r = rbd_get_features(image, features)) < 0) {
virReportSystemError(-r, _("failed to get the features of RBD image "
"%s"), volname);
goto cleanup;
}
ret = 0;
cleanup:
return ret;
}
static int
volStorageBackendRBDRefreshVolInfo(virStorageVolDefPtr vol,
virStoragePoolObjPtr pool,
......@@ -685,11 +703,8 @@ virStorageBackendRBDImageInfo(rbd_image_t image,
goto cleanup;
}
if ((r = rbd_get_features(image, features)) < 0) {
virReportSystemError(-r, _("failed to get the features of RBD image %s"),
volname);
if (volStorageBackendRBDGetFeatures(image, volname, features) < 0)
goto cleanup;
}
if ((r = rbd_get_stripe_unit(image, stripe_unit)) < 0) {
virReportSystemError(-r, _("failed to get the stripe unit of RBD image %s"),
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册