cgroup: replace cftype->trigger() with cftype->write()
cftype->trigger() is pointless. It's trivial to ignore the input buffer from a regular ->write() operation. Convert all ->trigger() users to ->write() and remove ->trigger(). This patch doesn't introduce any visible behavior changes. Signed-off-by: Tejun Heo <tj@kernel.org> Acked-by: Li Zefan <lizefan@huawei.com> Cc: Johannes Weiner <hannes@cmpxchg.org> Cc: Michal Hocko <mhocko@suse.cz>
This commit is contained in:
@@ -4887,14 +4887,15 @@ static int mem_cgroup_force_empty(struct mem_cgroup *memcg)
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int mem_cgroup_force_empty_write(struct cgroup_subsys_state *css,
|
||||
unsigned int event)
|
||||
static ssize_t mem_cgroup_force_empty_write(struct kernfs_open_file *of,
|
||||
char *buf, size_t nbytes,
|
||||
loff_t off)
|
||||
{
|
||||
struct mem_cgroup *memcg = mem_cgroup_from_css(css);
|
||||
struct mem_cgroup *memcg = mem_cgroup_from_css(of_css(of));
|
||||
|
||||
if (mem_cgroup_is_root(memcg))
|
||||
return -EINVAL;
|
||||
return mem_cgroup_force_empty(memcg);
|
||||
return mem_cgroup_force_empty(memcg) ?: nbytes;
|
||||
}
|
||||
|
||||
static u64 mem_cgroup_hierarchy_read(struct cgroup_subsys_state *css,
|
||||
@@ -5220,14 +5221,15 @@ out:
|
||||
*memsw_limit = min_memsw_limit;
|
||||
}
|
||||
|
||||
static int mem_cgroup_reset(struct cgroup_subsys_state *css, unsigned int event)
|
||||
static ssize_t mem_cgroup_reset(struct kernfs_open_file *of, char *buf,
|
||||
size_t nbytes, loff_t off)
|
||||
{
|
||||
struct mem_cgroup *memcg = mem_cgroup_from_css(css);
|
||||
struct mem_cgroup *memcg = mem_cgroup_from_css(of_css(of));
|
||||
int name;
|
||||
enum res_type type;
|
||||
|
||||
type = MEMFILE_TYPE(event);
|
||||
name = MEMFILE_ATTR(event);
|
||||
type = MEMFILE_TYPE(of_cft(of)->private);
|
||||
name = MEMFILE_ATTR(of_cft(of)->private);
|
||||
|
||||
switch (name) {
|
||||
case RES_MAX_USAGE:
|
||||
@@ -5252,7 +5254,7 @@ static int mem_cgroup_reset(struct cgroup_subsys_state *css, unsigned int event)
|
||||
break;
|
||||
}
|
||||
|
||||
return 0;
|
||||
return nbytes;
|
||||
}
|
||||
|
||||
static u64 mem_cgroup_move_charge_read(struct cgroup_subsys_state *css,
|
||||
@@ -6105,7 +6107,7 @@ static struct cftype mem_cgroup_files[] = {
|
||||
{
|
||||
.name = "max_usage_in_bytes",
|
||||
.private = MEMFILE_PRIVATE(_MEM, RES_MAX_USAGE),
|
||||
.trigger = mem_cgroup_reset,
|
||||
.write = mem_cgroup_reset,
|
||||
.read_u64 = mem_cgroup_read_u64,
|
||||
},
|
||||
{
|
||||
@@ -6123,7 +6125,7 @@ static struct cftype mem_cgroup_files[] = {
|
||||
{
|
||||
.name = "failcnt",
|
||||
.private = MEMFILE_PRIVATE(_MEM, RES_FAILCNT),
|
||||
.trigger = mem_cgroup_reset,
|
||||
.write = mem_cgroup_reset,
|
||||
.read_u64 = mem_cgroup_read_u64,
|
||||
},
|
||||
{
|
||||
@@ -6132,7 +6134,7 @@ static struct cftype mem_cgroup_files[] = {
|
||||
},
|
||||
{
|
||||
.name = "force_empty",
|
||||
.trigger = mem_cgroup_force_empty_write,
|
||||
.write = mem_cgroup_force_empty_write,
|
||||
},
|
||||
{
|
||||
.name = "use_hierarchy",
|
||||
@@ -6186,13 +6188,13 @@ static struct cftype mem_cgroup_files[] = {
|
||||
{
|
||||
.name = "kmem.failcnt",
|
||||
.private = MEMFILE_PRIVATE(_KMEM, RES_FAILCNT),
|
||||
.trigger = mem_cgroup_reset,
|
||||
.write = mem_cgroup_reset,
|
||||
.read_u64 = mem_cgroup_read_u64,
|
||||
},
|
||||
{
|
||||
.name = "kmem.max_usage_in_bytes",
|
||||
.private = MEMFILE_PRIVATE(_KMEM, RES_MAX_USAGE),
|
||||
.trigger = mem_cgroup_reset,
|
||||
.write = mem_cgroup_reset,
|
||||
.read_u64 = mem_cgroup_read_u64,
|
||||
},
|
||||
#ifdef CONFIG_SLABINFO
|
||||
@@ -6215,7 +6217,7 @@ static struct cftype memsw_cgroup_files[] = {
|
||||
{
|
||||
.name = "memsw.max_usage_in_bytes",
|
||||
.private = MEMFILE_PRIVATE(_MEMSWAP, RES_MAX_USAGE),
|
||||
.trigger = mem_cgroup_reset,
|
||||
.write = mem_cgroup_reset,
|
||||
.read_u64 = mem_cgroup_read_u64,
|
||||
},
|
||||
{
|
||||
@@ -6227,7 +6229,7 @@ static struct cftype memsw_cgroup_files[] = {
|
||||
{
|
||||
.name = "memsw.failcnt",
|
||||
.private = MEMFILE_PRIVATE(_MEMSWAP, RES_FAILCNT),
|
||||
.trigger = mem_cgroup_reset,
|
||||
.write = mem_cgroup_reset,
|
||||
.read_u64 = mem_cgroup_read_u64,
|
||||
},
|
||||
{ }, /* terminate */
|
||||
|
Reference in New Issue
Block a user