I thought I will send out the patches I mentioned to H. Peter Anvin recently to get some feedback on the general direction. This version of the patchset ducks the user-space issue, for now. --- Enable multiple mounts of devpts filesystem so each container can allocate ptys independently. To enable multiple mounts (most) devpts interfaces need to know which instance of devpts is being accessed. This patchset uses the 'struct inode' of the device being accessed to identify the appropriate devpts instance. It then uses get_sb_nodev() instead of get_sb_single() to allow multiple mounts PATCH 1/6 Pass-in 'struct inode' to devpts interfaces PATCH 2/6 Remove 'devpts_root' global PATCH 3/6 Move 'allocated_ptys' to sb->s_s_fs_info PATCH 4/6 Allow mknod of ptmx and tty devices PATCH 5/6 Allow multiple mounts of devpts PATCH 6/6 Tweak in init_dev() /dev/tty If devpts is mounted just once, this patchset should not change any behavior. If devpts is mounted more than once, then '/dev/ptmx' must be a symlink to '/dev/pts/ptmx' and in each new devpts mount we must create the device node '/dev/pts/ptmx' [c, 5;2] by hand. Have only done some basic testing with multiple mounts and sshd. May not be bisect-safe. Appreciate comments on overall approach of my mapping from the inode to sb->s_fs_info to allocated_ptys and the hacky use of get_sb_nodev(), and also on the tweak to init_dev() (patch 6). Todo: User-space impact of /dev/ptmx symlink - Options are being discussed on mailing list (new mount option and config token, new fs name, etc) Remove even initial kernel mount of devpts ? _______________________________________________ Containers mailing list Containers@xxxxxxxxxxxxxxxxxxxxxxxxxx https://lists.linux-foundation.org/mailman/listinfo/containers