[Devel] [PATCH VZ10 v4 00/44] Fix !CONFIG_VE build
Vladimir Riabchun
vladimir.riabchun at virtuozzo.com
Wed Jun 3 00:10:18 MSK 2026
There is a lot of CONFIG_VE logic, that is not covered by CONFIG_VE.
This is an attempt to make the kernel compile with minimal
useless code changes - thus it is not expected to boot now.
Some ve_struct fields were made unconditional, because the other
option is changing all the code that touches this field.
ve0 is absent and all ve objects are NULLs with !CONFIG_VE.
This is intentional - while it makes kernel less bootable (it will
probably never be), this is a movement away from having ve0 and
all the CONFIG_VE logic when this config is disabled.
Most of the patches are fixups except the last 3 - changes in
headers happened next to each other and required some code
reordering. This may cause pain with merge conflicts while
reabasing and it will add even more fixups.
One change is not related to our code, so nothing to fix up.
v4:
- Drop fixup! ve/fs/files: Shrink big fdtable on close in is_pseudosuper mode.
- Fix various problems with style and code order.
- Added a fixup with missing inline (patch 13).
- Added two more fixups (patches 40 & 41) for newer commits.
v3: in vzlin-dev list
v2: https://lists.openvz.org/pipermail/devel/2026-May/083626.html
v1: https://lists.openvz.org/pipermail/devel/2026-May/083544.html
Vladimir Riabchun (44):
fixup! ve: Link net and ve_struct
fixup! ve/net: thread owning ve through copy_net_ns
fixup! ve, x86_64: add per-ve vdso mapping.
fixup! ia32: add 32-bit vdso virtualization.
fixup! ve/fs/nfs: NFS containerization
fixup! ve: Rename ve_ns to ve_nsproxy
fixup! ve/fs/nfsd: NFSd containerization
fixup! fs: allow init Container user_ns to mount filesystems with
FS_VE_MOUNT
fixup! ve/cgroup: Allow to write to several safe cgroup files from CT
fixup! ve/sunrpc: Prohibit mounting rpc_pipefs in CT without nfsd
feature
fixup! arch/x86: introduce cpuid override
fixup! ve/proc/stat: Wire virtualized /proc/stat handler
fixup! sched: show CPU stats for a cgroup in cpu.proc.stat file
fixup! ve/module: export sysfs dentries in containers
fixup! ve/fs/aio: aio_nr & aio_max_nr variables virtualization
fixup! ve/coredump: virtualize kernel.core_pattern sysctl
fixup! ve/vfs: introduce "fs.odirect_enable" sysctl and disable it by
default
fixup! ve/sysctl: virtualize printk, hotplug and randomize_va_space
sysctls
fixup! ve/sysctl: implement virtualized methods
fixup! ve/cgroup: Set release_agent_path for root cgroups separately
fixup! ve/cgroup: Move release_agent from system_wq to per-ve
workqueues
fixup! ve/umh: introduce per-container user mode helper macroses and
functions
fixup! ve/cgroup: hide non-virtualized cgroups in container
fixup! ve/cgroup: Set release_agent_path for root cgroups separately
fixup! ve/cgroup: Add ve_owner field to cgroup
fixup! cgroup-v2: Add a new API to hide cgroup files per controller
fixup! /proc/<pid>/vz_latency: Show maximal allocation latency in the
last 2min.
fixup! ve/aio: Add a handle to checkpoint/restore AIO context
fixup! ve/sysfs: relax sanity check for ns equality in
kernfs_find_ns()
fixup! ve/kernfs: implement ve-based permissions
fixup! ve/cred: add ve_capable to check capabilities relative to the
current VE (v2)
fixup! net/ip6ip: Consider VE_FEATURE_IPIP on new net creation
fixup! ve/kthreadd: add per-ve kthreads creation interface
fixup! ve/fs: support per-CT disable of filesystem sync operations
fixup! vtty: fix slave peer lockdep annotation
fixup! connector: add VE SS hook
fixup! fsopen/devmnt/fs_context: Add vz devmnt feature support to
fs_context
fixup! ve: Implement per ve randomize_va_space
fixup! ve/sunrpc/nfsd: containerize kthreads
fixup! ve: Add ve cgroup and ve_hook subsys
fixup! ve/net: thread owning ve through copy_net_ns
ve: Fix ve.h when !CONFIG_VE
ve/sched.h: Reorder ve-related functions and ifdef guards
vmalloc: Rename module parameter variable
arch/x86/entry/vdso/vma.c | 6 +--
arch/x86/kernel/cpuid_fault.c | 64 ++++++++++++++++++-----------
arch/x86/kernel/process_64.c | 4 +-
drivers/connector/connector.c | 5 +++
drivers/tty/pty.c | 3 ++
drivers/tty/tty_io.c | 2 +-
fs/aio.c | 8 ++++
fs/binfmt_elf.c | 2 +
fs/coredump.c | 2 +
fs/fsopen.c | 3 +-
fs/kernfs/dir.c | 3 +-
fs/kernfs/kernfs-internal.h | 3 +-
fs/kernfs/kernfs-ve.h | 10 ++---
fs/nfs/fs_context.c | 2 +-
fs/nfsd/nfs4recover.c | 4 ++
fs/nfsd/nfsctl.c | 2 +-
fs/proc/base.c | 2 +-
fs/super.c | 4 ++
fs/sync.c | 2 +
fs/sysctls.c | 2 +
include/linux/sched.h | 32 ++++++++++-----
include/linux/sysctl.h | 3 +-
include/linux/umh.h | 4 +-
include/linux/ve.h | 77 ++++++++++++++++++++++++++++++++++-
include/linux/ve_proto.h | 2 +-
include/linux/vzstat.h | 4 +-
include/net/net_namespace.h | 2 -
kernel/capability.c | 2 +-
kernel/cgroup/cgroup-v1.c | 10 +++--
kernel/cgroup/cgroup.c | 12 ++++--
kernel/kthread.c | 3 +-
kernel/module/sysfs.c | 5 ++-
kernel/sysctl.c | 4 ++
lib/test_vmalloc.c | 12 +++---
net/core/net_namespace.c | 5 ++-
net/ipv6/ip6_tunnel.c | 2 +-
net/sunrpc/rpc_pipe.c | 2 +-
net/sunrpc/svc.c | 6 +++
38 files changed, 238 insertions(+), 82 deletions(-)
--
2.47.1
More information about the Devel
mailing list