/* This is ugly, but preserves the userspace API for existing cpuset 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)
/* This is ugly, but preserves the userspace API for existing cpuset 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)
{
	struct file_system_type *cgroup_fs = get_fs_type("cgroup");
	int ret = -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);
		put_filesystem(cgroup_fs);
	}
	return ret;
}