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

reconstruction storage metadata && status call interface

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