[Devel] [PATCH VZ10 v3 0/9] Add per-VE failcount support
Vladimir Riabchun
vladimir.riabchun at virtuozzo.com
Mon Jul 27 00:30:20 MSK 2026
This patchset introduces per-VE failcount support.
We have several resources, that have per-VE limits,
the users might want to know what limit hits make
operations fail.
- Patch 1 is cosmetic, nothing special.
- Patch 2 is a bugfix, found when testing per-VE mount
limits (but now comes before these changes).
- Patches 3-5 change mount number and limit processing,
unifying it with other resources. VE selftest is updated
in patch 4.
- Patch 6 greatly reduces the amount of copy-pasted code
by introducing some useful macros.
- Patch 7 adds per-VE failcount file.
- Patch 8 adds new helpers to our VE selftests infra.
- Patch 9 introduces new VE selftest, that checks mounts
accounting, limits and failcount updates.
https://virtuozzo.atlassian.net/browse/VSTOR-135520
Changes since v2:
- Extract ve_ns_owner update to a separate commit.
- Fix null dereference in ve_mount_put on error path,
rework is_pseudosuper handling.
- Remove dead sysctl_ve_mount_nr from ve.h in patch 5.
- Add static const to ve_failcounts in patch 7.
- Cover VE_FC_ENTRY(aio) with ifdefs in patch 7.
- Add new selftests helpers in patch 8.
- Add new selftest in patch 9.
Changes since v1:
- Rebase to rh10-6.12.0-211.30.1.14.x.vz10-ovz
- Fix issues in patch 3 by passing ve value to
ve_mount_put helper and removing is_pseudosuper
check.
Vladimir Riabchun (9):
ve/ve.{h,c}: Farewell to spaces as indents
ve/namespace: Fix UAF in alloc_mnt_ns
ve/fs: Rework per-ve mount count
selftests/ve: Update ve_ns_owner_test
ve: Move from global VE mounts limit to per-VE limit
ve/ve.c: Generate VE resource accessors using macros
ve: Introduce per-VE failcount
selftests/ve: Add more helpers
selftests/ve: Add mount accounting selftest
fs/aio.c | 1 +
fs/mount.h | 1 +
fs/namespace.c | 83 +++--
include/linux/ve.h | 25 +-
kernel/bpf/syscall.c | 1 +
kernel/ve/ve.c | 278 +++++++-------
kernel/ve/veowner.c | 19 -
net/core/dev.c | 2 +
net/core/neighbour.c | 1 +
net/core/net_namespace.c | 4 +-
tools/testing/selftests/ve/.gitignore | 1 +
tools/testing/selftests/ve/Makefile | 1 +
.../selftests/ve/ve_mount_accounting_test.c | 339 ++++++++++++++++++
tools/testing/selftests/ve/ve_ns_owner_test.c | 35 +-
tools/testing/selftests/ve/ve_selftest.h | 79 +++-
15 files changed, 648 insertions(+), 222 deletions(-)
create mode 100644 tools/testing/selftests/ve/ve_mount_accounting_test.c
--
2.47.1
More information about the Devel
mailing list