cpuset: re-structure update_cpumask() a bit
Check if cpus_allowed is to be changed before calling validate_change(). This won't change any behavior, but later it will allow us to do this: # mkdir /cpuset/child # echo $$ > /cpuset/child/tasks /* empty cpuset */ # echo > /cpuset/child/cpuset.cpus /* do nothing, won't fail */ Without this patch, the last operation will fail. Signed-off-by: Li Zefan <lizefan@huawei.com> Signed-off-by: Tejun Heo <tj@kernel.org>
This commit is contained in:
parent
249cc86db7
commit
a73456f37b
|
@ -856,14 +856,15 @@ static int update_cpumask(struct cpuset *cs, struct cpuset *trialcs,
|
||||||
if (!cpumask_subset(trialcs->cpus_allowed, cpu_active_mask))
|
if (!cpumask_subset(trialcs->cpus_allowed, cpu_active_mask))
|
||||||
return -EINVAL;
|
return -EINVAL;
|
||||||
}
|
}
|
||||||
retval = validate_change(cs, trialcs);
|
|
||||||
if (retval < 0)
|
|
||||||
return retval;
|
|
||||||
|
|
||||||
/* Nothing to do if the cpus didn't change */
|
/* Nothing to do if the cpus didn't change */
|
||||||
if (cpumask_equal(cs->cpus_allowed, trialcs->cpus_allowed))
|
if (cpumask_equal(cs->cpus_allowed, trialcs->cpus_allowed))
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
|
retval = validate_change(cs, trialcs);
|
||||||
|
if (retval < 0)
|
||||||
|
return retval;
|
||||||
|
|
||||||
retval = heap_init(&heap, PAGE_SIZE, GFP_KERNEL, NULL);
|
retval = heap_init(&heap, PAGE_SIZE, GFP_KERNEL, NULL);
|
||||||
if (retval)
|
if (retval)
|
||||||
return retval;
|
return retval;
|
||||||
|
|
Loading…
Reference in a new issue