Quoting [EMAIL PROTECTED] ([EMAIL PROTECTED]): > > Enable multiple instances of devpts filesystem so each container can allocate > ptys independently.
Hey Suka, I was playing with this a bit last night, trying to make it oops, i.e. create an sshd in a child ptsns ssh to it, and umount -l /dev/pts out from under me. Etc. Ran ltp. All seemed fine. Tested-by: Serge Hallyn <[EMAIL PROTECTED]> Acked-by: Serge Hallyn <[EMAIL PROTECTED]> thanks, -serge > User interface: > > Since supporting multiple mounts of devpts can break user-space, this > feature is enabled only if: > > - CONFIG_DEVPTS_MULTIPLE_INSTANCES=y (new config token), and > - new mount option, -o newinstance is specified > > If CONFIG_DEVPTS_MULTIPLE_INSTANCES=n, there should be no change in > behavior. > > See [PATCH 9/9] - Documentation/filesystems/devpts.txt for detailed > usage/compatibility information. > > [PATCH 1/9] Remove devpts_root global > [PATCH 2/9] Per-mount allocated_ptys > [PATCH 3/9] Per-mount 'config' object > [PATCH 4/9] Extract option parsing to new function > [PATCH 5/9] Add DEVPTS_MULTIPLE_INSTANCES config token > [PATCH 6/9] Define mknod_ptmx() > [PATCH 7/9] Define get_init_pts_sb() > [PATCH 8/9] Enable multiple instances of devpts > [PATCH 9/9] Document usage of multiple-instances of devpts > > Implementation notes: > > 1. To enable multiple mounts of /dev/pts, (most) devpts interfaces > need to know which instance of devpts is being accessed. This > patchset uses the 'struct inode' or 'struct tty_struct' of the > device being accessed to identify the appropriate devpts instance. > Hence the need for the /dev/pts/ptmx bind-mount. > > 2. Mount options must be parsed twice during mount (once to determine > the mode of mount (single/multi-instance) and once to actually > save the options. There does not seem to be an easy way to parse > once and reuse (See 'safe_process_mount_opts()' in [PATCH 9/10]) > > > Changelog [v5]: > - Merge all option-parsing (previously in patches 6,7) into patch 6. > - Bugfixes (see changelog in patches 6 and 8) > - Replace get_sb_ref() with devpts-specific get_init_pts_sb() (patch 7) > - Minor update to devpts.txt documentation (patch 9) > > > Changelog [v4]: > > - Port to 2008-09-04 ttydev tree (and drop patches that were merged in) > - Add DEVPTS_MULTIPLE_INSTANCES config token (patch 5) and move new > behavior under #ifdef CONFIG_DEVPTS_MULTIPLE_INSTANCES. > - Create ptmx node even in initial mount > - Change default permissions of pts/ptmx node to 0000 (patch 6) > - Cache ptmx dentry and use to update permissions of ptmx node on > remount so legacy mode can use the node with a simpler change to > /etc/fstab (patch 7) > - Move get_sb_ref() helper code to separate patch (patch 8) > - Add Documentation/filesystems/devpts.txt and describe usage info > in that file. > > Changelog [v3]: > > - Port to 2008-08-28 ttydev tree > - Rename new mount options to 'ptmxmode' and 'newinstance'. > - [Alan Cox] Use tty driver data to identify devpts (this is used to > cleanup get_node() in devpts_pty_kill()). > - [H. Peter Anvin] get_node() cleanup in devpts (which was enabled by > the inode/tty parameter to devpts interfaces) > - Bugfix in multi-mount mode (see Patch 11/11). > - Executed pty tests in LTP (in both single-instance and multi-instance > mode) > - Should be bisect-safe :-) > > Changelog [v2]: > > - New mount option '-o newmnt' added (patch 8/8) > - Support both single-mount and multi-mount semantics (patch 8/8) > - Automatically create ptmx node when devpts is mounted (patch 7/8) > - Extract option parsing code to new function (patch 6/8) > - Make 'config' params per-mount variables (patch 5/8) > - Slightly re-ordered existing patches in set (patches 1/8, 2/8) > > TODO: > - Do we need a '-o ptmxuid' and '-o ptmxgid' options as well ? > - Update mount(8) man page > - (Sometime in future) Remove even initial kernel mount of devpts > - Any other good test suites to test this (besides LTP, sshd). _______________________________________________ Containers mailing list [EMAIL PROTECTED] https://lists.linux-foundation.org/mailman/listinfo/containers _______________________________________________ Devel mailing list Devel@openvz.org https://openvz.org/mailman/listinfo/devel