[PATCH][3.11] cpuset: fix the return value of cpuset_write_u64()

From: Li Zefan
Date: Mon Aug 12 2013 - 22:06:23 EST


Writing to this file always returns -ENODEV:

# echo 1 > cpuset.memory_pressure_enabled
-bash: echo: write error: No such device

Signed-off-by: Li Zefan <lizefan@xxxxxxxxxx>
Cc: <stable@xxxxxxxxxxxxxxx> # 3.9+
---
kernel/cpuset.c | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/kernel/cpuset.c b/kernel/cpuset.c
index 1b9c315..c602ab8 100644
--- a/kernel/cpuset.c
+++ b/kernel/cpuset.c
@@ -1607,11 +1607,13 @@ static int cpuset_write_u64(struct cgroup *cgrp, struct cftype *cft, u64 val)
{
struct cpuset *cs = cgroup_cs(cgrp);
cpuset_filetype_t type = cft->private;
- int retval = -ENODEV;
+ int retval = 0;

mutex_lock(&cpuset_mutex);
- if (!is_cpuset_online(cs))
+ if (!is_cpuset_online(cs)) {
+ retval = -ENODEV;
goto out_unlock;
+ }

switch (type) {
case FILE_CPU_EXCLUSIVE:
--
1.8.0.2

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/