diff options
| author | Linus Torvalds <torvalds@linux-foundation.org> | 2012-05-22 17:40:19 -0700 | 
|---|---|---|
| committer | Linus Torvalds <torvalds@linux-foundation.org> | 2012-05-22 17:40:19 -0700 | 
| commit | 88d6ae8dc33af12fe1c7941b1fae2767374046fd (patch) | |
| tree | 8f17415c0722b0a4d7511ac170cfb4e3802e1ad2 /net/sched | |
| parent | f5c101892fbd3d2f6d2729bc7eb7b3f6c31dbddd (diff) | |
| parent | 0d4dde1ac9a5af74ac76c6ab90557d1ae7b8f5d8 (diff) | |
| download | linux-88d6ae8dc33af12fe1c7941b1fae2767374046fd.tar.bz2 | |
Merge branch 'for-3.5' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/cgroup
Pull cgroup updates from Tejun Heo:
 "cgroup file type addition / removal is updated so that file types are
  added and removed instead of individual files so that dynamic file
  type addition / removal can be implemented by cgroup and used by
  controllers.  blkio controller changes which will come through block
  tree are dependent on this.  Other changes include res_counter cleanup
  and disallowing kthread / PF_THREAD_BOUND threads to be attached to
  non-root cgroups.
  There's a reported bug with the file type addition / removal handling
  which can lead to oops on cgroup umount.  The issue is being looked
  into.  It shouldn't cause problems for most setups and isn't a
  security concern."
Fix up trivial conflict in Documentation/feature-removal-schedule.txt
* 'for-3.5' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/cgroup: (21 commits)
  res_counter: Account max_usage when calling res_counter_charge_nofail()
  res_counter: Merge res_counter_charge and res_counter_charge_nofail
  cgroups: disallow attaching kthreadd or PF_THREAD_BOUND threads
  cgroup: remove cgroup_subsys->populate()
  cgroup: get rid of populate for memcg
  cgroup: pass struct mem_cgroup instead of struct cgroup to socket memcg
  cgroup: make css->refcnt clearing on cgroup removal optional
  cgroup: use negative bias on css->refcnt to block css_tryget()
  cgroup: implement cgroup_rm_cftypes()
  cgroup: introduce struct cfent
  cgroup: relocate __d_cgrp() and __d_cft()
  cgroup: remove cgroup_add_file[s]()
  cgroup: convert memcg controller to the new cftype interface
  memcg: always create memsw files if CONFIG_CGROUP_MEM_RES_CTLR_SWAP
  cgroup: convert all non-memcg controllers to the new cftype interface
  cgroup: relocate cftype and cgroup_subsys definitions in controllers
  cgroup: merge cft_release_agent cftype array into the base files array
  cgroup: implement cgroup_add_cftypes() and friends
  cgroup: build list of all cgroups under a given cgroupfs_root
  cgroup: move cgroup_clear_directory() call out of cgroup_populate_dir()
  ...
Diffstat (limited to 'net/sched')
| -rw-r--r-- | net/sched/cls_cgroup.c | 31 | 
1 files changed, 11 insertions, 20 deletions
| diff --git a/net/sched/cls_cgroup.c b/net/sched/cls_cgroup.c index 1afaa284fcd7..7743ea8d1d38 100644 --- a/net/sched/cls_cgroup.c +++ b/net/sched/cls_cgroup.c @@ -22,22 +22,6 @@  #include <net/sock.h>  #include <net/cls_cgroup.h> -static struct cgroup_subsys_state *cgrp_create(struct cgroup *cgrp); -static void cgrp_destroy(struct cgroup *cgrp); -static int cgrp_populate(struct cgroup_subsys *ss, struct cgroup *cgrp); - -struct cgroup_subsys net_cls_subsys = { -	.name		= "net_cls", -	.create		= cgrp_create, -	.destroy	= cgrp_destroy, -	.populate	= cgrp_populate, -#ifdef CONFIG_NET_CLS_CGROUP -	.subsys_id	= net_cls_subsys_id, -#endif -	.module		= THIS_MODULE, -}; - -  static inline struct cgroup_cls_state *cgrp_cls_state(struct cgroup *cgrp)  {  	return container_of(cgroup_subsys_state(cgrp, net_cls_subsys_id), @@ -86,12 +70,19 @@ static struct cftype ss_files[] = {  		.read_u64 = read_classid,  		.write_u64 = write_classid,  	}, +	{ }	/* terminate */  }; -static int cgrp_populate(struct cgroup_subsys *ss, struct cgroup *cgrp) -{ -	return cgroup_add_files(cgrp, ss, ss_files, ARRAY_SIZE(ss_files)); -} +struct cgroup_subsys net_cls_subsys = { +	.name		= "net_cls", +	.create		= cgrp_create, +	.destroy	= cgrp_destroy, +#ifdef CONFIG_NET_CLS_CGROUP +	.subsys_id	= net_cls_subsys_id, +#endif +	.base_cftypes	= ss_files, +	.module		= THIS_MODULE, +};  struct cls_cgroup_head {  	u32			handle; |