| 1 | |
| 2 |
|
| 3 | =====================
|
| 4 | The Devpts Filesystem
|
| 5 | =====================
|
| 6 |
|
| 7 | Each mount of the devpts filesystem is now distinct such that ptys
|
| 8 | and their indices allocated in one mount are independent from ptys
|
| 9 | and their indices in all other mounts.
|
| 10 |
|
| 11 | All mounts of the devpts filesystem now create a ``/dev/pts/ptmx`` node
|
| 12 | with permissions ``0000``.
|
| 13 |
|
| 14 | To retain backwards compatibility the a ptmx device node (aka any node
|
| 15 | created with ``mknod name c 5 2``) when opened will look for an instance
|
| 16 | of devpts under the name ``pts`` in the same directory as the ptmx device
|
| 17 | node.
|
| 18 |
|
| 19 | As an option instead of placing a ``/dev/ptmx`` device node at ``/dev/ptmx``
|
| 20 | it is possible to place a symlink to ``/dev/pts/ptmx`` at ``/dev/ptmx`` or
|
| 21 | to bind mount ``/dev/ptx/ptmx`` to ``/dev/ptmx``. If you opt for using
|
| 22 | the devpts filesystem in this manner devpts should be mounted with
|
| 23 | the ``ptmxmode=0666``, or ``chmod 0666 /dev/pts/ptmx`` should be called.
|
| 24 |
|
| 25 | Total count of pty pairs in all instances is limited by sysctls::
|
| 26 |
|
| 27 | kernel.pty.max = 4096 - global limit
|
| 28 | kernel.pty.reserve = 1024 - reserved for filesystems mounted from the initial mount namespace
|
| 29 | kernel.pty.nr - current count of ptys
|
| 30 |
|
| 31 | Per-instance limit could be set by adding mount option ``max=<count>``.
|
| 32 |
|
| 33 | This feature was added in kernel 3.4 together with
|
| 34 | ``sysctl kernel.pty.reserve``.
|
| 35 |
|
| 36 | In kernels older than 3.4 sysctl ``kernel.pty.max`` works as per-instance limit.
|