[Devel] [PATCH VZ10 7/8] ve/cgroup: expose ve.mnt_nr cgroup file
Vasileios Almpanis
vasileios.almpanis at virtuozzo.com
Thu Apr 30 11:19:54 MSK 2026
Reviewed-by: Vasileios Almpanis <vasileios.almpanis at virtuozzo.com>
On 4/29/26 3:41 PM, Pavel Tikhomirov wrote:
> Expose the existing per-ve atomic ve->mnt_nr counter as a read-only
> ve.mnt_nr cgroup file, alongside ve.netns_avail_nr.
>
> The counter is bumped/decremented by ve_mount_nr_inc/dec for every
> mount accounted to this ve; until now it was only readable from
> kernel space. Exposing it lets userspace and selftests observe per-ve
> mount accounting for diagnostics and regression coverage of
> clone(CLONE_NEWVE | CLONE_NEWNS) ownership wiring.
>
> https://virtuozzo.atlassian.net/browse/VSTOR-129744
> Signed-off-by: Pavel Tikhomirov <ptikhomirov at virtuozzo.com>
> Feature: ve: ve generic structures
> ---
> kernel/ve/ve.c | 9 +++++++++
> 1 file changed, 9 insertions(+)
>
> diff --git a/kernel/ve/ve.c b/kernel/ve/ve.c
> index 106fc225c60d..198c82f010cc 100644
> --- a/kernel/ve/ve.c
> +++ b/kernel/ve/ve.c
> @@ -1276,6 +1276,11 @@ static u64 ve_netns_avail_nr_read(struct cgroup_subsys_state *css, struct cftype
> return atomic_read(&css_to_ve(css)->netns_avail_nr);
> }
>
> +static u64 ve_mnt_nr_read(struct cgroup_subsys_state *css, struct cftype *cft)
> +{
> + return atomic_read(&css_to_ve(css)->mnt_nr);
> +}
> +
> static u64 ve_netif_max_nr_read(struct cgroup_subsys_state *css, struct cftype *cft)
> {
> return css_to_ve(css)->netif_max_nr;
> @@ -1762,6 +1767,10 @@ static struct cftype ve_cftypes[] = {
> .name = "netns_avail_nr",
> .read_u64 = ve_netns_avail_nr_read,
> },
> + {
> + .name = "mnt_nr",
> + .read_u64 = ve_mnt_nr_read,
> + },
> {
> .name = "netif_max_nr",
> .flags = CFTYPE_NOT_ON_ROOT,
--
Best regards, Vasileios Almpanis
Software Developer, Virtuozzo.
More information about the Devel
mailing list