From: Paul Jackson Restructure code layout of the kernel/cpuset.c update_nodemask() routine, removing embedded returns and nested if's in favor of goto completion labels. This is being done in anticipation of adding more logic to this routine, which will favor the goto style structure. Signed-off-by: Paul Jackson Signed-off-by: Andrew Morton --- kernel/cpuset.c | 25 +++++++++++++++---------- 1 files changed, 15 insertions(+), 10 deletions(-) diff -puN kernel/cpuset.c~cpuset-update_nodemask-code-reformat kernel/cpuset.c --- devel/kernel/cpuset.c~cpuset-update_nodemask-code-reformat 2005-12-09 23:32:17.000000000 -0800 +++ devel-akpm/kernel/cpuset.c 2005-12-09 23:32:17.000000000 -0800 @@ -799,18 +799,23 @@ static int update_nodemask(struct cpuset trialcs = *cs; retval = nodelist_parse(buf, trialcs.mems_allowed); if (retval < 0) - return retval; + goto done; nodes_and(trialcs.mems_allowed, trialcs.mems_allowed, node_online_map); - if (nodes_empty(trialcs.mems_allowed)) - return -ENOSPC; - retval = validate_change(cs, &trialcs); - if (retval == 0) { - down(&callback_sem); - cs->mems_allowed = trialcs.mems_allowed; - atomic_inc(&cpuset_mems_generation); - cs->mems_generation = atomic_read(&cpuset_mems_generation); - up(&callback_sem); + if (nodes_empty(trialcs.mems_allowed)) { + retval = -ENOSPC; + goto done; } + retval = validate_change(cs, &trialcs); + if (retval < 0) + goto done; + + down(&callback_sem); + cs->mems_allowed = trialcs.mems_allowed; + atomic_inc(&cpuset_mems_generation); + cs->mems_generation = atomic_read(&cpuset_mems_generation); + up(&callback_sem); + +done: return retval; } _