提交 f176787d 编写于 作者: G gaohuatao 提交者: lifeng68

reconstruction storage metadata && status call interface

Signed-off-by: Ngaohuatao <gaohuatao@huawei.com>
上级 5be2ae84
......@@ -21,10 +21,6 @@
#include "isula_libutils/oci_runtime_hooks.h"
#include "commander.h"
#ifdef ENABLE_OCI_IMAGE
#include "driver.h"
#endif
typedef void(*service_arguments_help_t)(void);
struct service_arguments {
......
......@@ -25,6 +25,7 @@
#include "utils.h"
#include "specs_extend.h"
#include "ext_image.h"
#include "storage.h"
#ifdef ENABLE_OCI_IMAGE
#include "oci_common_operators.h"
......
......@@ -29,6 +29,8 @@
#include "ext_image.h"
#include "filters.h"
#include "collector.h"
#include "driver.h"
#include "storage.h"
#ifdef ENABLE_OCI_IMAGE
#include "oci_image.h"
......@@ -1882,3 +1884,28 @@ void free_im_fs_info_response(im_fs_info_response *ptr)
free(ptr);
}
container_inspect_graph_driver *im_graphdriver_get_metadata(const char *id)
{
if (id == NULL) {
ERROR("Invalid input arguments for get driver metadata of container:%s", id);
return NULL;
}
return graphdriver_get_metadata(id);
}
struct graphdriver_status *im_graphdriver_get_status(void)
{
return graphdriver_get_status();
}
bool im_storage_image_exist(const char *image_or_id)
{
return storage_image_exist(image_or_id);
}
void im_free_graphdriver_status(struct graphdriver_status *status)
{
free_graphdriver_status(status);
}
\ No newline at end of file
......@@ -25,6 +25,7 @@
#include "isula_libutils/container_config.h"
#include "libisulad.h"
#include "arguments.h"
#include "container_inspect.h"
#ifdef ENABLE_OCI_IMAGE
#include "oci_image_type.h"
......@@ -204,6 +205,12 @@ typedef struct {
char *name_id;
} im_container_fs_usage_request;
struct graphdriver_status {
char *driver_name;
char *backing_fs;
char *status;
};
struct bim_ops {
int (*init)(const struct service_arguments *args);
void (*clean_resource)(void);
......@@ -388,6 +395,14 @@ void free_im_export_request(im_export_request *ptr);
int im_resolv_image_name(const char *image_type, const char *image_name, char **resolved_name);
container_inspect_graph_driver *im_graphdriver_get_metadata(const char *id);
struct graphdriver_status *im_graphdriver_get_status(void);
void im_free_graphdriver_status(struct graphdriver_status *status);
bool im_storage_image_exist(const char *image_or_id);
#ifdef __cplusplus
}
#endif
......
......@@ -27,6 +27,7 @@
#include "oci_config_merge.h"
#include "filters.h"
#include "storage.h"
bool oci_detect(const char *image_name)
{
......
......@@ -28,6 +28,7 @@
#include "isulad_config.h"
#include "utils.h"
#include "storage.h"
#define IMAGE_NOT_KNOWN_ERR "image not known"
......
......@@ -19,6 +19,7 @@
#include "oci_common_operators.h"
#include "registry.h"
#include "isulad_config.h"
#include "storage.h"
static int decode_auth(char *auth, char **username, char **password)
{
......
......@@ -38,6 +38,8 @@
#include "linked_list.h"
#include "pthread.h"
#include "isulad_config.h"
#include "storage.h"
#include "constants.h"
#define MAX_LAYER_NUM 125
#define MANIFEST_BIG_DATA_KEY "manifest"
......
......@@ -208,21 +208,6 @@ int graphdriver_apply_diff(const char *id, const struct io_read_wrapper *content
return g_graphdriver->ops->apply_diff(id, g_graphdriver, content, layer_size);
}
int graphdriver_get_layer_metadata(const char *id, json_map_string_string *map_info)
{
if (g_graphdriver == NULL) {
ERROR("Driver not inited yet");
return -1;
}
if (id == NULL || map_info == NULL) {
ERROR("Invalid input arguments for driver umount layer");
return -1;
}
return g_graphdriver->ops->get_layer_metadata(id, g_graphdriver, map_info);
}
container_inspect_graph_driver *graphdriver_get_metadata(const char *id)
{
int ret = -1;
......
......@@ -23,6 +23,7 @@
#include "console.h"
#include "driver_overlay2_types.h"
#include "storage.h"
#include "image.h"
#include "container_inspect.h"
#ifdef __cplusplus
......@@ -42,12 +43,6 @@ struct driver_mount_opts {
size_t options_len;
};
struct graphdriver_status {
char *driver_name;
char *backing_fs;
char *status;
};
struct graphdriver_ops {
int (*init)(struct graphdriver *driver, const char *drvier_home, const char **options, size_t len);
......@@ -109,8 +104,6 @@ bool graphdriver_layer_exists(const char *id);
int graphdriver_apply_diff(const char *id, const struct io_read_wrapper *content, int64_t *layer_size);
int graphdriver_get_layer_metadata(const char *id, json_map_string_string *map_info);
struct graphdriver_status *graphdriver_get_status(void);
void free_graphdriver_status(struct graphdriver_status *status);
......
......@@ -44,7 +44,6 @@
#include "utils.h"
#include "error.h"
#include "collector.h"
#include "driver.h"
static int container_version_cb(const container_version_request *request, container_version_response **response)
{
......@@ -233,7 +232,7 @@ static int isulad_info_cb(const host_info_request *request, host_info_response *
}
#ifdef ENABLE_OCI_IMAGE
im_request->type = util_strdup_s(IMAGE_TYPE_OCI);
driver_status = graphdriver_get_status();
driver_status = im_graphdriver_get_status();
if (driver_status == NULL) {
ERROR("Failed to get graph driver status info!");
cc = ISULAD_ERR_EXEC;
......@@ -331,7 +330,7 @@ pack_response:
free(rootpath);
#ifdef ENABLE_OCI_IMAGE
free(graph_driver);
free_graphdriver_status(driver_status);
im_free_graphdriver_status(driver_status);
#endif
free(huge_page_size);
free(operating_system);
......@@ -1338,7 +1337,7 @@ static int pack_inspect_data(const container_t *cont, container_inspect **out_in
#ifdef ENABLE_OCI_IMAGE
if (!strcmp(cont->common_config->image_type, IMAGE_TYPE_OCI)) {
inspect->graph_driver = graphdriver_get_metadata(cont->common_config->id);
inspect->graph_driver = im_graphdriver_get_metadata(cont->common_config->id);
if (inspect->graph_driver == NULL) {
ret = -1;
goto out;
......
......@@ -156,7 +156,7 @@ static int check_container_image_exist(const container_t *cont)
goto out;
}
if (!storage_image_exist(tmp)) {
if (!im_storage_image_exist(tmp)) {
WARN("Image %s not exist", tmp);
ret = -1;
goto out;
......
......@@ -34,6 +34,7 @@
#include "verify.h"
#include "isulad_config.h"
#include "selinux_label.h"
#include "image.h"
/* verify hook timeout */
static int verify_hook_timeout(int t)
......@@ -838,7 +839,7 @@ static int verify_storage_opts(const host_config *hc)
storage_opts = hc->storage_opt;
}
driver_status = graphdriver_get_status();
driver_status = im_graphdriver_get_status();
if (driver_status == NULL) {
ERROR("Failed to get graph driver status info!");
ret = -1;
......@@ -861,7 +862,7 @@ static int verify_storage_opts(const host_config *hc)
}
cleanup:
free_graphdriver_status(driver_status);
im_free_graphdriver_status(driver_status);
return ret;
}
#endif
......
......@@ -760,7 +760,7 @@ static bool is_valid_image(const char *val)
ret = false;
goto out;
}
if (!storage_image_exist(resolved_name)) {
if (!im_storage_image_exist(resolved_name)) {
ERROR("No such image: %s", val);
ret = false;
goto out;
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册