Commit 85cc59db authored by Pavel Emelyanov's avatar Pavel Emelyanov Committed by Linus Torvalds

memcgroup: use triggers in force_empty and max_usage files

These two files are essentially event callbacks.  They do not care about the
contents of the string, but only about the fact of the write itself.
Signed-off-by: default avatarPavel Emelyanov <xemul@openvz.org>
Acked-by: default avatarKAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com>
Cc: Balbir Singh <balbir@in.ibm.com>
Cc: Paul Menage <menage@google.com>
Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
parent b6ac57d5
...@@ -857,27 +857,18 @@ static ssize_t mem_cgroup_write(struct cgroup *cont, struct cftype *cft, ...@@ -857,27 +857,18 @@ static ssize_t mem_cgroup_write(struct cgroup *cont, struct cftype *cft,
mem_cgroup_write_strategy); mem_cgroup_write_strategy);
} }
static ssize_t mem_cgroup_max_reset(struct cgroup *cont, struct cftype *cft, static int mem_cgroup_max_reset(struct cgroup *cont, unsigned int event)
struct file *file, const char __user *userbuf,
size_t nbytes, loff_t *ppos)
{ {
struct mem_cgroup *mem; struct mem_cgroup *mem;
mem = mem_cgroup_from_cont(cont); mem = mem_cgroup_from_cont(cont);
res_counter_reset_max(&mem->res); res_counter_reset_max(&mem->res);
return nbytes; return 0;
} }
static ssize_t mem_force_empty_write(struct cgroup *cont, static int mem_force_empty_write(struct cgroup *cont, unsigned int event)
struct cftype *cft, struct file *file,
const char __user *userbuf,
size_t nbytes, loff_t *ppos)
{ {
struct mem_cgroup *mem = mem_cgroup_from_cont(cont); return mem_cgroup_force_empty(mem_cgroup_from_cont(cont));
int ret = mem_cgroup_force_empty(mem);
if (!ret)
ret = nbytes;
return ret;
} }
static const struct mem_cgroup_stat_desc { static const struct mem_cgroup_stat_desc {
...@@ -925,7 +916,7 @@ static struct cftype mem_cgroup_files[] = { ...@@ -925,7 +916,7 @@ static struct cftype mem_cgroup_files[] = {
{ {
.name = "max_usage_in_bytes", .name = "max_usage_in_bytes",
.private = RES_MAX_USAGE, .private = RES_MAX_USAGE,
.write = mem_cgroup_max_reset, .trigger = mem_cgroup_max_reset,
.read_u64 = mem_cgroup_read, .read_u64 = mem_cgroup_read,
}, },
{ {
...@@ -941,7 +932,7 @@ static struct cftype mem_cgroup_files[] = { ...@@ -941,7 +932,7 @@ static struct cftype mem_cgroup_files[] = {
}, },
{ {
.name = "force_empty", .name = "force_empty",
.write = mem_force_empty_write, .trigger = mem_force_empty_write,
}, },
{ {
.name = "stat", .name = "stat",
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment