Tejun Heo 05ef1d7c4a cgroup: introduce struct cfent
This patch adds cfent (cgroup file entry) which is the association
between a cgroup and a file.  This is in-cgroup representation of
files under a cgroup directory.  This simplifies walking walking
cgroup files and thus cgroup_clear_directory(), which is now
implemented in two parts - cgroup_rm_file() and a loop around it.

cgroup_rm_file() will be used to implement cftype removal and cfent is
scheduled to serve cgroup specific per-file data (e.g. for sysfs-like
"sever" semantics).

v2: - cfe was freed from cgroup_rm_file() which led to use-after-free
      if the file had openers at the time of removal.  Moved to
      cgroup_diput().

    - cgroup_clear_directory() triggered WARN_ON_ONCE() if d_subdirs
      wasn't empty after removing all files.  This triggered
      spuriously if some files were open during directory clearing.
      Removed.

v3: - In cgroup_diput(), WARN_ONCE(!list_empty(&cfe->node)) could be
      spuriously triggered for root cgroups because they don't go
      through cgroup_clear_directory() on unmount.  Don't trigger WARN
      for root cgroups.

Signed-off-by: Tejun Heo <tj@kernel.org>
Acked-by: Li Zefan <lizf@cn.fujitsu.com>
Cc: Glauber Costa <glommer@parallels.com>
2012-04-01 12:09:56 -07:00
..
2011-07-26 16:49:45 -07:00
2012-03-21 10:15:51 -07:00
2012-04-01 12:09:56 -07:00
2011-09-23 12:05:29 +05:30
2012-02-14 10:45:42 +11:00
2011-07-14 12:59:14 +03:00
2012-03-28 18:30:03 +01:00
2012-03-23 16:58:42 -07:00
2012-03-26 12:50:53 +10:30
2012-03-23 16:58:41 -07:00
2012-03-28 18:30:03 +01:00
2012-03-28 15:58:21 -07:00
2011-10-31 17:30:44 -07:00
2011-09-19 17:04:37 -07:00
2012-03-15 18:17:55 -07:00