From: Michel Normand Date: Tue, 24 Nov 2009 08:47:27 +0000 (+0100) Subject: lxc-info to report the FROZEN state X-Git-Tag: lxc_0_6_4~1 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=fa0822279412ab29f535a9f1ad996949f04286d8;p=thirdparty%2Flxc.git lxc-info to report the FROZEN state this state is reported when the lxc-freeze command was issued on the container. Signed-off-by: Michel Normand Signed-off-by: Daniel Lezcano --- diff --git a/src/lxc/state.c b/src/lxc/state.c index 04966579d..029f0ae81 100644 --- a/src/lxc/state.c +++ b/src/lxc/state.c @@ -40,7 +40,7 @@ lxc_log_define(lxc_state, lxc); static char *strstate[] = { "STOPPED", "STARTING", "RUNNING", "STOPPING", - "ABORTING", "FREEZING", "FROZEN", + "ABORTING", "FREEZING", "FROZEN", "THAWED", }; const char *lxc_state2str(lxc_state_t state) @@ -72,13 +72,17 @@ int lxc_rmstate(const char *name) static int freezer_state(const char *name) { + char *nsgroup; char freezer[MAXPATHLEN]; char status[MAXPATHLEN]; FILE *file; int err; - snprintf(freezer, MAXPATHLEN, - LXCPATH "/%s/freezer.state", name); + err = lxc_cgroup_path_get(&nsgroup, name); + if (err) + return -1; + + snprintf(freezer, MAXPATHLEN, "%s/freezer.state", nsgroup); file = fopen(freezer, "r"); if (!file) @@ -95,7 +99,7 @@ static int freezer_state(const char *name) return lxc_str2state(status); } -lxc_state_t lxc_getstate(const char *name) +static lxc_state_t __lxc_getstate(const char *name) { struct lxc_command command = { .request = { .type = LXC_COMMAND_STATE }, @@ -128,11 +132,11 @@ lxc_state_t lxc_getstate(const char *name) return command.answer.ret; } -lxc_state_t lxc_state(const char *name) +lxc_state_t lxc_getstate(const char *name) { int state = freezer_state(name); if (state != FROZEN && state != FREEZING) - state = lxc_getstate(name); + state = __lxc_getstate(name); return state; } diff --git a/src/lxc/state.h b/src/lxc/state.h index c56860d70..f64169873 100644 --- a/src/lxc/state.h +++ b/src/lxc/state.h @@ -25,7 +25,7 @@ typedef enum { STOPPED, STARTING, RUNNING, STOPPING, - ABORTING, FREEZING, FROZEN, MAX_STATE, + ABORTING, FREEZING, FROZEN, THAWED, MAX_STATE, } lxc_state_t; extern int lxc_rmstate(const char *name);