From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail.openvz.org (unknown [69.168.225.77]) by lore.virtuozzo.com (Postfix) with ESMTPS id 286AA80160 for ; Wed, 9 Sep 2026 14:35:18 +0000 (UTC) Received: from mail.openvz.org (localhost [127.0.0.1]) by mail.openvz.org (8.14.4/8.14.4) with ESMTP id 689EY28W020410; Wed, 9 Sep 2026 17:34:03 +0300 DKIM-Filter: OpenDKIM Filter v2.11.0 mail.openvz.org 689EY28W020410 Authentication-Results: mail.openvz.org; dkim=fail reason="signature verification failed" (2048-bit key) header.d=virtuozzo.com header.i=@virtuozzo.com header.b="PNMaRP18" Received: from mail-wm1-f72.google.com (mail-wm1-f72.google.com [209.85.128.72]) by mail.openvz.org (8.14.4/8.14.4) with ESMTP id 689EXv49020389 (version=TLSv1/SSLv3 cipher=AES128-GCM-SHA256 bits=128 verify=FAIL) for ; Wed, 9 Sep 2026 17:33:57 +0300 DKIM-Filter: OpenDKIM Filter v2.11.0 mail.openvz.org 689EXv49020389 Received: by mail-wm1-f72.google.com with SMTP id 5b1f17b1804b1-49cd55ee2f7so50980295e9.0 for ; Wed, 09 Sep 2026 07:33:57 -0700 (PDT) X-Forwarded-Encrypted: i=2; AKwUvBx5hTV5nQVkprSviVF9NFkgSUo/o1J1ZCgwqqadHDI3PcNzG+4iO20BOB2XSaet8ILzioVGNw==@openvz.org X-Gm-Message-State: AFuF++l7ZKPlxZmkxyLeAeiz3pfDGoEGkJ4AuPAeoZzJ9f8CDG848F/5 8Y6S+oUTIxIokB+I4TPudvvQ3Z1bLED6ijk9b/NrXjnmkzGrNnm9AZy59jUG7P2vzQR8nbzq+0n cMawVNlhbdU8PI+LmS5r2F7FQaVmkkN+QvI2OHPegTdzctv10b7jXNw== X-Gm-Gg: AYBFou3CO3S7NBOvakZSN3XFL7CEuIA2Ka+e7Vp54Hrt6hha70uRfuuMBcwLkAIsEfk vwcRLprQ5jLcLB09FdtJnNAvRA6bamZMVXVk94gJHGWbOET4hSEJw1vRAhwfctQM3l8wRiejgP1 bgd5qgaNQZIRmGDmbGbeuEHWzDMjR7rTIzN/q9nVtTrTsDKOK7QJLAHKdxxUF58kfANSsF3xN3Z Objz0eixw9cdzci0lO1qr8Rgip8QPGBUUqVZ373k645dj366gB6tHJAdrUfDoZZpEcpUzIuLX9T YqOgIwFEsCe2OmgjLK7MWoL98rk9U0PvkYOX9xAhYZIa6GmMJh6jf9YzecsCXQQr0Zj4HCrcvG/ 5+6pF6luNiMEp0sK3hnRYkGS6mm/80w== X-Received: by 2002:a05:600c:310e:b0:49c:fa21:1c84 with SMTP id 5b1f17b1804b1-49cfa211ce7mr331103995e9.25.1788964436940; Wed, 09 Sep 2026 07:33:56 -0700 (PDT) X-Received: by 2002:a05:600c:310e:b0:49c:fa21:1c84 with SMTP id 5b1f17b1804b1-49cfa211ce7mr331103415e9.25.1788964436452; Wed, 09 Sep 2026 07:33:56 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1788964436; cv=none; d=google.com; s=arc-20260327; b=BSmkAP/WZjUWix+FSg631+8BJL5berIJQndCyApt0b27xb/71LbTNAYsUy46EYl2OV 57rTIUE4SUzuYliFkYIvU5/9xfGahAgHiGYMBU5pPw3FQCzdHh34KIDe1iB6oN7QRKQ8 XdwBuVRgN7LispggeQmPcS5IOouH5rkBk+zUDbWb440u4lL0OGprd8XOA8dKdf5Im8LG NtE2U4QQ6vI/kkI9gbsvkM28bE6DaI2gTsKjQaajKCOaMp3U0UQ8FTx35p1Yd2Qnxh5N IebglWidk9Kj7oWPx2PvEe1qsXnGLSVOoM6W5s48Uy5IGeFAqT+MtxhJuTWEkI26KdqV X45w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20260327; h=message-id:date:references:in-reply-to:cc:to:from:subject :content-transfer-encoding:mime-version:dkim-signature; bh=ah2v45Djmx+VN/2IlPtcwW33I9ZAmczmIEmsBIo1+L4=; fh=8+X+w90mdJ6G1WJJJxch/JQtL3s0QC+l1k0I7SQJzmc=; b=NxMITewFROxTT4Vlmfm4LI2VpWODR2q/NGuwUC/FLJzrT8cqWhtPu0iw76SUpJ9TxF uNhfBKodfMhY+FTkFPF6dtBlIfscuCTWJglvR59N3CKMUjBkhWqSmXWDj1+MaUVKNKRJ Hfd5fR3Efpj9DzTVFHgsOrd4SqfSHM7IEdh1cx9C54/CikoHDqD50xy3j02hEvUfp78g hy+h+B1WZe+R2UZEUdYSI2LumKCr37fRvCpJfe7Lc25rfkBOt6kPuXa2X2Kt4qIYfm69 NIBwr307KTrdMla7zTmTQIG7GwzJ4qiCeZ09kM80M90it7AUDTsUKnNa067UB8O5QSQa 9CYw==; dara=google.com ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@virtuozzo.com header.s=relay header.b=PNMaRP18; spf=pass (google.com: domain of vasileios.almpanis@virtuozzo.com designates 130.117.225.111 as permitted sender) smtp.mailfrom=vasileios.almpanis@virtuozzo.com; dmarc=pass (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=virtuozzo.com Received: from relay.virtuozzo.com (relay.virtuozzo.com. [130.117.225.111]) by mx.google.com with ESMTPS id ffacd0b85a97d-485883b91dbsi33590756f8f.73.2026.09.09.07.33.55 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 09 Sep 2026 07:33:56 -0700 (PDT) Received-SPF: pass (google.com: domain of vasileios.almpanis@virtuozzo.com designates 130.117.225.111 as permitted sender) client-ip=130.117.225.111; Authentication-Results: mx.google.com; dkim=pass header.i=@virtuozzo.com header.s=relay header.b=PNMaRP18; spf=pass (google.com: domain of vasileios.almpanis@virtuozzo.com designates 130.117.225.111 as permitted sender) smtp.mailfrom=vasileios.almpanis@virtuozzo.com; dmarc=pass (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=virtuozzo.com DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=virtuozzo.com; s=relay; h=Message-Id:Date:From:Subject:Content-Type: MIME-Version; bh=ah2v45Djmx+VN/2IlPtcwW33I9ZAmczmIEmsBIo1+L4=; b=PNMaRP18WIP0 ngxS0Br/z2+YFVT9ERS0JuDkuFFqigf6vcZIcop3BiyPrBscEitwYU3ubKO0q7xfrHrGbYv+fDwtX QTC9Zi1eLNwSFw4ZdSIOMB2JGA33r0kvssIRYQZZMRsfxNIfLKW7dEGcCenKwsJdzkoen6ZmDsuaH vExphzqqTVVvsu/WzEC3UvUb96TpygDJPz9klZYReprlW2YoNIAwPAaa09/vPqWx0/yXLYKGGaeHY Jc/HLESx1DKg8tgE3FtTeVoocmia3IhCUDohWOC0L7QU84Btbf3FlHhVJWUhgKVxIvwUwgvBXmoIm sKqHgY1Ff385K+RvF6Q4eg==; Received: from [130.117.225.5] (helo=dev010.ch-qa.vzint.dev) by relay.virtuozzo.com with esmtp (Exim 4.96) (envelope-from ) id 1x4JKV-005BC3-2R; Wed, 09 Sep 2026 16:33:54 +0200 MIME-Version: 1.0 From: Vasileios Almpanis To: Vladimir Riabchun In-Reply-To: <20260909-ve-selftest-improv-v2-1-aad0a25d6569@virtuozzo.com> References: <20260909-ve-selftest-improv-v2-0-aad0a25d6569@virtuozzo.com> <20260909-ve-selftest-improv-v2-1-aad0a25d6569@virtuozzo.com> Date: Wed, 09 Sep 2026 14:33:53 +0000 Message-Id: <178896443372.479408.12169265905688190706.b4-review@b4> X-Mailer: b4 0.16.0 X-Developer-Signature: v=1; a=ed25519-sha256; t=1788964435; l=2543; i=vasileios.almpanis@virtuozzo.com; s=20260812; h=from:subject:message-id; bh=NW89v/d1R0tj/XDNYlCKF6H09a2JY2tCmN9FxrZnwYU=; b=CBBSOtXV1u67CPoftfnO0zAJs+Nnb57SSGOGbuijLOn52/JWvoSM3caAIacrQzsStv4CK1Qyy 4oFrrovI+AwBA9oxSz/qgbjjRnhj0TD9CKuk2kow2zZxoARIy4K2E2Q X-Developer-Key: i=vasileios.almpanis@virtuozzo.com; a=ed25519; pk=HhuHDXAcPva9A8zccWEMRsb36reu+y4IVbBjXKxNUjw= X-OZ-Fwd: true Cc: devel@openvz.org Subject: Re: [Devel] [PATCH VZ10 v2 1/3] selftests/ve: Add namespace management helpers X-BeenThere: devel@openvz.org X-Mailman-Version: 2.1.12 Precedence: list List-Id: OpenVZ development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Sender: devel-bounces@openvz.org Errors-To: devel-bounces@openvz.org > When mount namespace is created in a child, it is destroyed > when the child dies. We may need to keep it for a while to check > how VE handles resources. > > Instead of keeping a thread which lives in a new ve+mnt namespaces, > let's store open namespace file descriptors to enter them later > without keeping children alive. > > https://virtuozzo.atlassian.net/browse/VSTOR-144504 > > Feature: ve selftests > Signed-off-by: Vladimir Riabchun > > diff --git a/tools/testing/selftests/ve/ve_selftest.h b/tools/testing/selftests/ve/ve_selftest.h > index c53bf7900d20..ee960f7db0b4 100644 > --- a/tools/testing/selftests/ve/ve_selftest.h > +++ b/tools/testing/selftests/ve/ve_selftest.h > @@ -31,6 +31,129 @@ > #define VE_CONTROLLERS \ > "+cpuset +cpu +cpuacct +io +memory +hugetlb +pids +rdma +misc +ve" > > +struct namespace_ctx { > + int ns_save_mask; /* Mask of stored CLONE_NEW* namespaces. */ > + /* Namespace file descriptors. Name should match /proc/PID/ns/NAME */ > + int ve_fd; > + int mnt_fd; > +}; > + > +static inline void close_namespace_fds(struct namespace_ctx *ctx) > +{ > + if (ctx->ns_save_mask & CLONE_NEWVE) > + close(ctx->ve_fd); > + if (ctx->ns_save_mask & CLONE_NEWNS) > + close(ctx->mnt_fd); > + > + ctx->ns_save_mask = 0; > +} > + > +static inline int save_namespace_fds(struct namespace_ctx *ctx, int flags) > +{ > +#define OPEN_NS(name, flag) \ > +do { \ > + if (flags & flag) { \ Parenthesise the macro argument, checkpatch complaints about it if (flags & (flag)) > + ctx->name##_fd = open("/proc/self/ns/" #name, O_RDONLY); \ > + if (ctx->name##_fd < 0) { \ > + fprintf(stderr, "%s: could not open fd %s: %s\n", \ > + __func__, #name, strerror(errno)); \ > + goto err; \ > + } \ > + ctx->ns_save_mask |= flag; \ > + } \ > +} while (0) > + > + ctx->ns_save_mask = 0; > + > + OPEN_NS(ve, CLONE_NEWVE); > + OPEN_NS(mnt, CLONE_NEWNS); Add #undef OPEN_NS after the last call to not leak to all includers and the same for JOIN_NS. -- Vasileios Almpanis _______________________________________________ Devel mailing list Devel@openvz.org https://lists.openvz.org/mailman/listinfo/devel