mirror of
				https://github.com/torvalds/linux.git
				synced 2025-11-04 10:40:15 +02:00 
			
		
		
		
	cgroupfs: create /sys/fs/cgroup to mount cgroupfs on
We really shouldn't be asking userspace to create new root filesystems. So follow along with all of the other in-kernel filesystems, and provide a mount point in sysfs. For cgroupfs, this should be in /sys/fs/cgroup/ This change provides that mount point when the cgroup filesystem is registered in the kernel. Acked-by: Paul Menage <menage@google.com> Acked-by: Dhaval Giani <dhaval.giani@gmail.com> Cc: Li Zefan <lizf@cn.fujitsu.com> Cc: Lennart Poettering <lennart@poettering.net> Cc: Kay Sievers <kay.sievers@vrfy.org> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
This commit is contained in:
		
							parent
							
								
									45daef0fdc
								
							
						
					
					
						commit
						676db4af04
					
				
					 1 changed files with 13 additions and 2 deletions
				
			
		| 
						 | 
					@ -1623,6 +1623,8 @@ static struct file_system_type cgroup_fs_type = {
 | 
				
			||||||
	.kill_sb = cgroup_kill_sb,
 | 
						.kill_sb = cgroup_kill_sb,
 | 
				
			||||||
};
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					static struct kobject *cgroup_kobj;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
static inline struct cgroup *__d_cgrp(struct dentry *dentry)
 | 
					static inline struct cgroup *__d_cgrp(struct dentry *dentry)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
	return dentry->d_fsdata;
 | 
						return dentry->d_fsdata;
 | 
				
			||||||
| 
						 | 
					@ -3894,9 +3896,18 @@ int __init cgroup_init(void)
 | 
				
			||||||
	hhead = css_set_hash(init_css_set.subsys);
 | 
						hhead = css_set_hash(init_css_set.subsys);
 | 
				
			||||||
	hlist_add_head(&init_css_set.hlist, hhead);
 | 
						hlist_add_head(&init_css_set.hlist, hhead);
 | 
				
			||||||
	BUG_ON(!init_root_id(&rootnode));
 | 
						BUG_ON(!init_root_id(&rootnode));
 | 
				
			||||||
	err = register_filesystem(&cgroup_fs_type);
 | 
					
 | 
				
			||||||
	if (err < 0)
 | 
						cgroup_kobj = kobject_create_and_add("cgroup", fs_kobj);
 | 
				
			||||||
 | 
						if (!cgroup_kobj) {
 | 
				
			||||||
 | 
							err = -ENOMEM;
 | 
				
			||||||
		goto out;
 | 
							goto out;
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						err = register_filesystem(&cgroup_fs_type);
 | 
				
			||||||
 | 
						if (err < 0) {
 | 
				
			||||||
 | 
							kobject_put(cgroup_kobj);
 | 
				
			||||||
 | 
							goto out;
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	proc_create("cgroups", 0, NULL, &proc_cgroupstats_operations);
 | 
						proc_create("cgroups", 0, NULL, &proc_cgroupstats_operations);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
		Reference in a new issue