Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit f7e83571 authored by Al Viro's avatar Al Viro
Browse files

convert cgroup and cpuset



Signed-off-by: default avatarAl Viro <viro@zeniv.linux.org.uk>
parent ceefda69
Loading
Loading
Loading
Loading
+5 −6
Original line number Diff line number Diff line
@@ -1460,9 +1460,9 @@ static int cgroup_get_rootdir(struct super_block *sb)
	return 0;
}

static int cgroup_get_sb(struct file_system_type *fs_type,
static struct dentry *cgroup_mount(struct file_system_type *fs_type,
			 int flags, const char *unused_dev_name,
			 void *data, struct vfsmount *mnt)
			 void *data)
{
	struct cgroup_sb_opts opts;
	struct cgroupfs_root *root;
@@ -1596,10 +1596,9 @@ static int cgroup_get_sb(struct file_system_type *fs_type,
		drop_parsed_module_refcounts(opts.subsys_bits);
	}

	simple_set_mnt(mnt, sb);
	kfree(opts.release_agent);
	kfree(opts.name);
	return 0;
	return dget(sb->s_root);

 drop_new_super:
	deactivate_locked_super(sb);
@@ -1608,7 +1607,7 @@ static int cgroup_get_sb(struct file_system_type *fs_type,
 out_err:
	kfree(opts.release_agent);
	kfree(opts.name);
	return ret;
	return ERR_PTR(ret);
}

static void cgroup_kill_sb(struct super_block *sb) {
@@ -1658,7 +1657,7 @@ static void cgroup_kill_sb(struct super_block *sb) {

static struct file_system_type cgroup_fs_type = {
	.name = "cgroup",
	.get_sb = cgroup_get_sb,
	.mount = cgroup_mount,
	.kill_sb = cgroup_kill_sb,
};

+6 −7
Original line number Diff line number Diff line
@@ -231,18 +231,17 @@ static DEFINE_SPINLOCK(cpuset_buffer_lock);
 * users. If someone tries to mount the "cpuset" filesystem, we
 * silently switch it to mount "cgroup" instead
 */
static int cpuset_get_sb(struct file_system_type *fs_type,
			 int flags, const char *unused_dev_name,
			 void *data, struct vfsmount *mnt)
static struct dentry *cpuset_mount(struct file_system_type *fs_type,
			 int flags, const char *unused_dev_name, void *data)
{
	struct file_system_type *cgroup_fs = get_fs_type("cgroup");
	int ret = -ENODEV;
	struct dentry *ret = ERR_PTR(-ENODEV);
	if (cgroup_fs) {
		char mountopts[] =
			"cpuset,noprefix,"
			"release_agent=/sbin/cpuset_release_agent";
		ret = cgroup_fs->get_sb(cgroup_fs, flags,
					   unused_dev_name, mountopts, mnt);
		ret = cgroup_fs->mount(cgroup_fs, flags,
					   unused_dev_name, mountopts);
		put_filesystem(cgroup_fs);
	}
	return ret;
@@ -250,7 +249,7 @@ static int cpuset_get_sb(struct file_system_type *fs_type,

static struct file_system_type cpuset_fs_type = {
	.name = "cpuset",
	.get_sb = cpuset_get_sb,
	.mount = cpuset_mount,
};

/*