[Devel] Re: [v2][PATCH 2/5] Parse mount options just once and copy them to super block

Serge E. Hallyn serue at us.ibm.com
Wed Feb 4 16:10:10 PST 2009


Quoting Sukadev Bhattiprolu (sukadev at linux.vnet.ibm.com):
> 
> From: Sukadev Bhattiprolu <sukadev at linux.vnet.ibm.com>
> Date: Tue, 27 Jan 2009 23:15:47 -0800
> Subject: [v2][PATCH 2/5] Parse mount options just once and copy them to super block
> 
> Since all the mount option parsing is done in devpts, we could do it
> just once and pass it around in devpts functions and eventually store
> it in the super block.
> ---
>  fs/devpts/inode.c |  100 ++++++++++++-----------------------------------------
>  1 files changed, 22 insertions(+), 78 deletions(-)

Nice ratio of - to +....

> @@ -495,17 +434,22 @@ static int init_pts_mount(struct file_system_type *fs_type, int flags,
>  static int devpts_get_sb(struct file_system_type *fs_type,
>  	int flags, const char *dev_name, void *data, struct vfsmount *mnt)
>  {
> -	int new;
> -
> -	new = is_new_instance_mount(data);
> -	if (new < 0)
> -		return new;
> +	int error;
> +	struct pts_mount_opts opts;
> 
> -	if (new)
> -		return new_pts_mount(fs_type, flags, data, mnt);
> +	memset(&opts, 0, sizeof(opts)); 
> +	if (data) {
> +		error = parse_mount_options(data, PARSE_MOUNT, &opts);

Is there any reason to keep the PARSE_MOUNT argument to
parse_mount_options?

> +		if (error)
> +			return error;
> +	}
> 
> -	return init_pts_mount(fs_type, flags, data, mnt);
> +	if (opts.newinstance)
> +		return new_pts_mount(fs_type, flags, data, &opts, mnt);
> +	else
> +		return init_pts_mount(fs_type, flags, data, &opts, mnt);
>  }
> +
>  #else
>  /*
>   * This supports only the legacy single-instance semantics (no
> -- 
> 1.5.2.5
_______________________________________________
Containers mailing list
Containers at lists.linux-foundation.org
https://lists.linux-foundation.org/mailman/listinfo/containers




More information about the Devel mailing list