check_if_frozen() sounds like it should return something when in fact it's just
updating the freezer state.

Signed-off-by: Matt Helsley <[EMAIL PROTECTED]>
Cc: Andrew Morton <[EMAIL PROTECTED]>
---
 kernel/cgroup_freezer.c |   12 ++++++++----
 1 file changed, 8 insertions(+), 4 deletions(-)

Index: linux-2.6.27-rc1-mm1/kernel/cgroup_freezer.c
===================================================================
--- linux-2.6.27-rc1-mm1.orig/kernel/cgroup_freezer.c
+++ linux-2.6.27-rc1-mm1/kernel/cgroup_freezer.c
@@ -201,8 +201,8 @@ static void freezer_fork(struct cgroup_s
 /*
  * caller must hold freezer->lock
  */
-static void check_if_frozen(struct cgroup *cgroup,
-                            struct freezer *freezer)
+static void update_freezer_state(struct cgroup *cgroup,
+                                struct freezer *freezer)
 {
        struct cgroup_iter it;
        struct task_struct *task;
@@ -222,6 +222,10 @@ static void check_if_frozen(struct cgrou
         */
        if (nfrozen == ntotal)
                freezer->state = CGROUP_FROZEN;
+       else if (nfrozen > 0)
+               freezer->state = CGROUP_FREEZING;
+       else
+               freezer->state = CGROUP_THAWED;
        cgroup_iter_end(cgroup, &it);
 }
 
@@ -240,7 +244,7 @@ static int freezer_read(struct cgroup *c
        if (state == CGROUP_FREEZING) {
                /* We change from FREEZING to FROZEN lazily if the cgroup was
                 * only partially frozen when we exitted write. */
-               check_if_frozen(cgroup, freezer);
+               update_freezer_state(cgroup, freezer);
                state = freezer->state;
        }
        spin_unlock_irq(&freezer->lock);
@@ -301,7 +305,7 @@ static int freezer_change_state(struct c
 
        freezer = cgroup_freezer(cgroup);
        spin_lock_irq(&freezer->lock);
-       check_if_frozen(cgroup, freezer); /* may update freezer->state */
+       update_freezer_state(cgroup, freezer);
        if (goal_state == freezer->state)
                goto out;
        switch (freezer->state) {

-- 
_______________________________________________
Containers mailing list
[EMAIL PROTECTED]
https://lists.linux-foundation.org/mailman/listinfo/containers

_______________________________________________
Devel mailing list
[email protected]
https://openvz.org/mailman/listinfo/devel

Reply via email to