]> git.ipfire.org Git - thirdparty/lxc.git/commitdiff
devpts: use max=<count> option on mount 1722/head
authorChristian Brauner <christian.brauner@ubuntu.com>
Mon, 31 Jul 2017 20:54:38 +0000 (22:54 +0200)
committerChristian Brauner <christian.brauner@ubuntu.com>
Tue, 1 Aug 2017 17:59:18 +0000 (19:59 +0200)
This will only work with kernels >= 3.4

Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
src/lxc/conf.c
src/tests/console.c

index ab038d36db5fb6b0ee6d403c039b56d2720fbc16..25d29c20adc8688331e9e8f5580095f63e5d16be 100644 (file)
@@ -1332,7 +1332,8 @@ static int setup_pivot_root(const struct lxc_rootfs *rootfs)
 static int lxc_setup_devpts(int num_pts)
 {
        int ret;
-       const char *devpts_mntopts = "newinstance,ptmxmode=0666,mode=0620,gid=5";
+       const char *default_devpts_mntopts = "newinstance,ptmxmode=0666,mode=0620,gid=5";
+       char devpts_mntopts[256];
 
        if (!num_pts) {
                DEBUG("no new devpts instance will be mounted since no pts "
@@ -1340,6 +1341,11 @@ static int lxc_setup_devpts(int num_pts)
                return 0;
        }
 
+       ret = snprintf(devpts_mntopts, sizeof(devpts_mntopts), "%s,max=%d",
+                      default_devpts_mntopts, num_pts);
+       if (ret < 0 || (size_t)ret >= sizeof(devpts_mntopts))
+               return -1;
+
        /* Unmount old devpts instance. */
        ret = access("/dev/pts/ptmx", F_OK);
        if (!ret) {
index c47f25344b4fe084539d12bdb51fb718aa086fa6..9c32cf26995060dca24437da881f18b9bd13700f 100644 (file)
@@ -146,6 +146,7 @@ static int test_console(const char *lxcpath,
        }
        c->load_config(c, NULL);
        c->set_config_item(c, "lxc.tty.max", TTYCNT_STR);
+       c->set_config_item(c, "lxc.pty.max", "1024");
        c->save_config(c, NULL);
        c->want_daemonize(c, true);
        if (!c->startl(c, 0, NULL)) {