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: Pavel Emelyanov <xemul@openvz.org> Acked-by: KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com> Cc: Balbir Singh <balbir@in.ibm.com> Cc: Paul Menage <menage@google.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
parent
b6ac57d50a
commit
85cc59db12
@ -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[] = {
|
|||||||
{
|
{
|
||||||
.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[] = {
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
.name = "force_empty",
|
.name = "force_empty",
|
||||||
.write = mem_force_empty_write,
|
.trigger = mem_force_empty_write,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
.name = "stat",
|
.name = "stat",
|
||||||
|
Loading…
Reference in New Issue
Block a user