37 lines
1.4 KiB
ReStructuredText
37 lines
1.4 KiB
ReStructuredText
|
.. SPDX-License-Identifier: GPL-2.0
|
||
|
|
||
|
=====================
|
||
|
The Devpts Filesystem
|
||
|
=====================
|
||
|
|
||
|
Each mount of the devpts filesystem is now distinct such that ptys
|
||
|
and their indicies allocated in one mount are independent from ptys
|
||
|
and their indicies in all other mounts.
|
||
|
|
||
|
All mounts of the devpts filesystem now create a ``/dev/pts/ptmx`` node
|
||
|
with permissions ``0000``.
|
||
|
|
||
|
To retain backwards compatibility the a ptmx device node (aka any node
|
||
|
created with ``mknod name c 5 2``) when opened will look for an instance
|
||
|
of devpts under the name ``pts`` in the same directory as the ptmx device
|
||
|
node.
|
||
|
|
||
|
As an option instead of placing a ``/dev/ptmx`` device node at ``/dev/ptmx``
|
||
|
it is possible to place a symlink to ``/dev/pts/ptmx`` at ``/dev/ptmx`` or
|
||
|
to bind mount ``/dev/ptx/ptmx`` to ``/dev/ptmx``. If you opt for using
|
||
|
the devpts filesystem in this manner devpts should be mounted with
|
||
|
the ``ptmxmode=0666``, or ``chmod 0666 /dev/pts/ptmx`` should be called.
|
||
|
|
||
|
Total count of pty pairs in all instances is limited by sysctls::
|
||
|
|
||
|
kernel.pty.max = 4096 - global limit
|
||
|
kernel.pty.reserve = 1024 - reserved for filesystems mounted from the initial mount namespace
|
||
|
kernel.pty.nr - current count of ptys
|
||
|
|
||
|
Per-instance limit could be set by adding mount option ``max=<count>``.
|
||
|
|
||
|
This feature was added in kernel 3.4 together with
|
||
|
``sysctl kernel.pty.reserve``.
|
||
|
|
||
|
In kernels older than 3.4 sysctl ``kernel.pty.max`` works as per-instance limit.
|