cgroups: implement "driver" and "driver_version"

parent 1a8848b3
......@@ -2800,12 +2800,12 @@ static struct cgroup_ops cgfsng_ops = {
.set = cgfsng_set,
.unfreeze = cgfsng_unfreeze,
.setup_limits = cgfsng_setup_limits,
.name = "cgroupfs-ng",
.driver = "cgfsng",
.version = "1.0.0",
.attach = cgfsng_attach,
.chown = cgfsng_chown,
.mount_cgroup = cgfsng_mount,
.nrtasks = cgfsng_nrtasks,
.driver = CGFSNG,
/* unsupported */
.create_legacy = NULL,
......
......@@ -39,14 +39,14 @@ extern struct cgroup_ops *cgfsng_ops_init(void);
__attribute__((constructor)) void cgroup_ops_init(void)
{
if (ops) {
INFO("cgroup driver %s", ops->name);
INFO("Running with %s in version %s", ops->driver, ops->version);
return;
}
DEBUG("cgroup_init");
ops = cgfsng_ops_init();
if (ops)
INFO("Initialized cgroup driver %s", ops->name);
INFO("Initialized cgroup driver %s", ops->driver);
}
bool cgroup_init(struct lxc_handler *handler)
......@@ -57,7 +57,7 @@ bool cgroup_init(struct lxc_handler *handler)
}
if (ops) {
INFO("cgroup driver %s initing for %s", ops->name, handler->name);
INFO("cgroup driver %s initing for %s", ops->driver, handler->name);
handler->cgroup_data = ops->init(handler);
}
......@@ -170,7 +170,7 @@ int cgroup_nrtasks(struct lxc_handler *handler)
if (ops->nrtasks)
return ops->nrtasks(handler->cgroup_data);
else
WARN("cgroup driver \"%s\" doesn't implement nrtasks", ops->name);
WARN("cgroup driver \"%s\" doesn't implement nrtasks", ops->driver);
}
return -1;
......@@ -208,11 +208,6 @@ void cgroup_disconnect(void)
ops->disconnect();
}
cgroup_driver_t cgroup_driver(void)
{
return ops->driver;
}
#define INIT_SCOPE "/init.scope"
void prune_init_scope(char *cg)
{
......
......@@ -39,14 +39,9 @@ typedef enum {
CGROUP_LAYOUT_UNIFIED = 2,
} cgroup_layout_t;
typedef enum {
CGFS,
CGMANAGER,
CGFSNG,
} cgroup_driver_t;
struct cgroup_ops {
const char *name;
const char *driver;
const char *version;
void *(*init)(struct lxc_handler *handler);
void (*destroy)(void *hdata, struct lxc_conf *conf);
......@@ -66,7 +61,6 @@ struct cgroup_ops {
bool (*mount_cgroup)(void *hdata, const char *root, int type);
int (*nrtasks)(void *hdata);
void (*disconnect)(void);
cgroup_driver_t driver;
};
extern bool cgroup_attach(const char *name, const char *lxcpath, pid_t pid);
......@@ -87,7 +81,6 @@ extern int cgroup_num_hierarchies();
extern bool cgroup_get_hierarchies(int i, char ***out);
extern bool cgroup_unfreeze(struct lxc_handler *handler);
extern void cgroup_disconnect(void);
extern cgroup_driver_t cgroup_driver(void);
extern void prune_init_scope(char *cg);
extern bool is_crucial_cgroup_subsystem(const char *s);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment