[Devel] [PATCH VZ10 v5 0/9] Add per-VE failcount support

Vladimir Riabchun vladimir.riabchun at virtuozzo.com
Sun Aug 2 14:40:30 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 v4:
 - Change approach in patch 3. Now pseudosuper just disables
   mnt_avail_nr > 0 check, but every mount is still accounted.
 - Updated run_in_ve helper in patch 8. Now CLONE_NEWVE flag
   is always added to unshare_flags.
 - Updated patch 9. pseudosuper test splitted into two parts,
   added a new test for partial mounts.

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/namespace.c                                |  88 ++--
 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   | 419 ++++++++++++++++++
 tools/testing/selftests/ve/ve_ns_owner_test.c |  35 +-
 tools/testing/selftests/ve/ve_selftest.h      |  81 +++-
 14 files changed, 734 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