{{"log", required_argument, NULL, 'l'}, "Log file (default: use log_fd)"},
{{"log_fd", required_argument, NULL, 'L'}, "Log FD (default: 2)"},
{{"time_limit", required_argument, NULL, 't'}, "Maximum time that a jail can exist, in seconds (default: 600)"},
- {{"max_cpu_num", required_argument, NULL, 0x508}, "Maximum number of CPUs a single jailed process can use (default: 0 'no limit')"},
+ {{"max_cpus", required_argument, NULL, 0x508}, "Maximum number of CPUs a single jailed process can use (default: 0 'no limit')"},
{{"daemon", no_argument, NULL, 'd'}, "Daemonize after start"},
{{"verbose", no_argument, NULL, 'v'}, "Verbose output"},
{{"quiet", no_argument, NULL, 'q'}, "Only output warning and more important messages"},
"max_conns_per_ip:%u, time_limit:%ld, personality:%#lx, daemonize:%s, "
"clone_newnet:%s, clone_newuser:%s, clone_newns:%s, clone_newpid:%s, "
"clone_newipc:%s, clonew_newuts:%s, clone_newcgroup:%s, keep_caps:%s, "
- "tmpfs_size:%zu, disable_no_new_privs:%s, max_cpu_num:%zu",
+ "tmpfs_size:%zu, disable_no_new_privs:%s, max_cpus:%zu",
nsjconf->hostname, nsjconf->chroot ? nsjconf->chroot : "[NULL]", nsjconf->argv[0],
nsjconf->bindhost, nsjconf->port, nsjconf->max_conns_per_ip, nsjconf->tlimit,
nsjconf->personality, logYesNo(nsjconf->daemonize), logYesNo(nsjconf->clone_newnet),
logYesNo(nsjconf->clone_newpid), logYesNo(nsjconf->clone_newipc),
logYesNo(nsjconf->clone_newuts), logYesNo(nsjconf->clone_newcgroup),
logYesNo(nsjconf->keep_caps), nsjconf->tmpfs_size,
- logYesNo(nsjconf->disable_no_new_privs), nsjconf->max_cpu_num);
+ logYesNo(nsjconf->disable_no_new_privs), nsjconf->max_cpus);
{
struct mounts_t *p;
.loglevel = INFO,
.daemonize = false,
.tlimit = 0,
- .max_cpu_num = 0,
+ .max_cpus = 0,
.keep_caps = false,
.disable_no_new_privs = false,
.rl_as = 512 * (1024 * 1024),
nsjconf->disable_no_new_privs = true;
break;
case 0x0508:
- nsjconf->max_cpu_num = strtoul(optarg, NULL, 0);
+ nsjconf->max_cpus = strtoul(optarg, NULL, 0);
break;
case 0x0601:
nsjconf->is_root_rw = true;
PLOG_W("sysconf(_SC_NPROCESSORS_ONLN) returned %ld", all_cpus);
return false;
}
- if (nsjconf->max_cpu_num >= (size_t) all_cpus) {
+ if (nsjconf->max_cpus >= (size_t) all_cpus) {
LOG_W("Requested number of CPUs:%zu is bigger than CPUs online:%ld",
- nsjconf->max_cpu_num, all_cpus);
+ nsjconf->max_cpus, all_cpus);
return true;
}
- if (nsjconf->max_cpu_num == 0) {
- LOG_D("No max_cpu_num limit set");
+ if (nsjconf->max_cpus == 0) {
+ LOG_D("No max_cpus limit set");
return true;
}
size_t mask_size = CPU_ALLOC_SIZE(all_cpus);
CPU_ZERO_S(mask_size, mask);
- for (size_t i = 0; i < nsjconf->max_cpu_num; i++) {
+ for (size_t i = 0; i < nsjconf->max_cpus; i++) {
cpuSetRandomCpu(mask, mask_size, all_cpus);
}
if (sched_setaffinity(0, mask_size, mask) == -1) {
- PLOG_W("sched_setaffinity(max_cpu_num=%zu) failed", nsjconf->max_cpu_num);
+ PLOG_W("sched_setaffinity(max_cpus=%zu) failed", nsjconf->max_cpus);
CPU_FREE(mask);
return false;
}