Quoting Sukadev Bhattiprolu ([email protected]):
> 
> From: Sukadev Bhattiprolu <[email protected]>
> Date: Wed, 28 Jan 2009 18:54:25 -0800
> Subject: [v2][PATCH 3/5] Move common mknod_ptmx() calls into caller
> 
> We create 'ptmx' node in both single-instance and multiple-instance
> mounts. So devpts_get_sb() can call mknod_ptmx() once rather than
> have both modes calling mknod_ptmx() separately.
> 
> Signed-off-by: Sukadev Bhattiprolu <[email protected]>

Acked-by: Serge Hallyn <[email protected]>

And now I see, you could get rid of update_ptmx() because
mknod_ptmx() will be called again anyway.  So if you
haven't replied yet pls ignore my previous email where I
asked about that :)

thanks,
-serge

> ---
>  fs/devpts/inode.c |   36 +++++++++++++++++-------------------
>  1 files changed, 17 insertions(+), 19 deletions(-)
> 
> diff --git a/fs/devpts/inode.c b/fs/devpts/inode.c
> index 9b24de8..f7e887c 100644
> --- a/fs/devpts/inode.c
> +++ b/fs/devpts/inode.c
> @@ -343,17 +343,7 @@ static int new_pts_mount(struct file_system_type 
> *fs_type, int flags,
>       fsi = DEVPTS_SB(mnt->mnt_sb);
>       memcpy(&fsi->mount_opts, opts, sizeof(opts));
> 
> -     err = mknod_ptmx(mnt->mnt_sb);
> -     if (err)
> -             goto fail;
> -
>       return 0;
> -
> -fail:
> -     dput(mnt->mnt_sb->s_root);
> -     up_write(&mnt->mnt_sb->s_umount);
> -     deactivate_super(mnt->mnt_sb);
> -     return err;
>  }
> 
>  /*
> @@ -421,13 +411,6 @@ static int init_pts_mount(struct file_system_type 
> *fs_type, int flags,
>       if (err)
>               return err;
> 
> -     err = mknod_ptmx(mnt->mnt_sb);
> -     if (err) {
> -             dput(mnt->mnt_sb->s_root);
> -             up_write(&mnt->mnt_sb->s_umount);
> -             deactivate_super(mnt->mnt_sb);
> -     }
> -
>       return err;
>  }
> 
> @@ -445,9 +428,24 @@ static int devpts_get_sb(struct file_system_type 
> *fs_type,
>       }
> 
>       if (opts.newinstance)
> -             return new_pts_mount(fs_type, flags, data, &opts, mnt);
> +             error = new_pts_mount(fs_type, flags, data, &opts, mnt);
>       else
> -             return init_pts_mount(fs_type, flags, data, &opts, mnt);
> +             error = init_pts_mount(fs_type, flags, data, &opts, mnt);
> +
> +     if (error)
> +             return error;
> +
> +     error = mknod_ptmx(mnt->mnt_sb);
> +     if (error)
> +             goto out_dput;
> +
> +     return 0;
> +
> +out_dput:
> +     dput(mnt->mnt_sb->s_root);
> +     up_write(&mnt->mnt_sb->s_umount);
> +     deactivate_super(mnt->mnt_sb);
> +     return error;
>  }
> 
>  #else
> -- 
> 1.5.2.5
_______________________________________________
Containers mailing list
[email protected]
https://lists.linux-foundation.org/mailman/listinfo/containers

_______________________________________________
Devel mailing list
[email protected]
https://openvz.org/mailman/listinfo/devel

Reply via email to