Commit | Line | Data |
---|---|---|
01478b83 MCC |
1 | .. SPDX-License-Identifier: GPL-2.0 |
2 | ||
3 | ===================== | |
4 | The Devpts Filesystem | |
5 | ===================== | |
6 | ||
7 | Each mount of the devpts filesystem is now distinct such that ptys | |
8 | and their indicies allocated in one mount are independent from ptys | |
9 | and their indicies 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. |