static ssize_t tcp_cgroup_reset(struct kernfs_open_file *of, char *buf, size_t nbytes, loff_t off) { struct mem_cgroup *memcg; struct cg_proto *cg_proto; memcg = mem_cgroup_from_css(of_css(of)); cg_proto = tcp_prot.proto_cgroup(memcg); if (!cg_proto) return nbytes; switch (of_cft(of)->private) { case RES_MAX_USAGE: res_counter_reset_max(&cg_proto->memory_allocated); break; case RES_FAILCNT: res_counter_reset_failcnt(&cg_proto->memory_allocated); break; } return nbytes; }
static int tcp_cgroup_reset(struct cgroup *cont, unsigned int event) { struct mem_cgroup *memcg; struct tcp_memcontrol *tcp; struct cg_proto *cg_proto; memcg = mem_cgroup_from_cont(cont); cg_proto = tcp_prot.proto_cgroup(memcg); if (!cg_proto) return 0; tcp = tcp_from_cgproto(cg_proto); switch (event) { case RES_MAX_USAGE: res_counter_reset_max(&tcp->tcp_memory_allocated); break; case RES_FAILCNT: res_counter_reset_failcnt(&tcp->tcp_memory_allocated); break; } return 0; }