From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp2 ([2001:41d0:2:bcc0::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms0.migadu.com with LMTPS id orOHOi/ummClaAEAgWs5BA (envelope-from ) for ; Tue, 11 May 2021 22:50:55 +0200 Received: from aspmx1.migadu.com ([2001:41d0:2:bcc0::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp2 with LMTPS id 6BaeNS/ummD/WwAAB5/wlQ (envelope-from ) for ; Tue, 11 May 2021 20:50:55 +0000 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by aspmx1.migadu.com (Postfix) with ESMTPS id 9CF4415E48 for ; Tue, 11 May 2021 22:50:55 +0200 (CEST) Received: from localhost ([::1]:58510 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1lgZLC-0000EB-QN for larch@yhetil.org; Tue, 11 May 2021 16:50:54 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:43620) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1lgZL2-0000Dn-U9 for guix-devel@gnu.org; Tue, 11 May 2021 16:50:44 -0400 Received: from mail3-relais-sop.national.inria.fr ([192.134.164.104]:44865) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1lgZL0-00022h-MV for guix-devel@gnu.org; Tue, 11 May 2021 16:50:44 -0400 IronPort-HdrOrdr: =?us-ascii?q?A9a23=3A0fh9lK4TLkD9IWteRwPXwNPXdLJyesId70hD?= =?us-ascii?q?6qkXc203TiX4raCTdZsgpH3JYVoqMk3I+urgBEDjexzhHPdOiOF7AV7FZmTbUQ?= =?us-ascii?q?CTQr2Kg7GP/wHd?= X-IronPort-AV: E=Sophos;i="5.82,291,1613430000"; d="scan'208";a="381199873" Received: from 91-160-117-201.subs.proxad.net (HELO ribbon) ([91.160.117.201]) by mail3-relais-sop.national.inria.fr with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 11 May 2021 22:50:37 +0200 From: =?utf-8?Q?Ludovic_Court=C3=A8s?= To: Ricardo Wurmus Subject: Re: =?utf-8?B?4oCcZ3VpeCBnY+KAnSw=?= auto gcroots, cluster deployments References: <87im3qq57z.fsf@elephly.net> X-URL: http://www.fdn.fr/~lcourtes/ X-Revolutionary-Date: 22 =?utf-8?Q?Flor=C3=A9al?= an 229 de la =?utf-8?Q?R?= =?utf-8?Q?=C3=A9volution?= X-PGP-Key-ID: 0x090B11993D9AEBB5 X-PGP-Key: http://www.fdn.fr/~lcourtes/ludovic.asc X-PGP-Fingerprint: 3CE4 6455 8A84 FDC6 9DB4 0CFB 090B 1199 3D9A EBB5 X-OS: x86_64-pc-linux-gnu Date: Tue, 11 May 2021 22:50:37 +0200 In-Reply-To: <87im3qq57z.fsf@elephly.net> (Ricardo Wurmus's message of "Mon, 10 May 2021 11:59:44 +0200") Message-ID: <8735utvvtu.fsf@gnu.org> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.2 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Received-SPF: pass client-ip=192.134.164.104; envelope-from=ludovic.courtes@inria.fr; helo=mail3-relais-sop.national.inria.fr X-Spam_score_int: -41 X-Spam_score: -4.2 X-Spam_bar: ---- X-Spam_report: (-4.2 / 5.0 requ) BAYES_00=-1.9, RCVD_IN_DNSWL_MED=-2.3, RCVD_IN_MSPIKE_H3=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: guix-devel@gnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "Development of GNU Guix and the GNU System distribution." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: guix-devel@gnu.org Errors-To: guix-devel-bounces+larch=yhetil.org@gnu.org Sender: "Guix-devel" X-Migadu-Flow: FLOW_IN ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=yhetil.org; s=key1; t=1620766255; h=from:from:sender:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:list-id:list-help: list-unsubscribe:list-subscribe:list-post; bh=knrjTLWsxDoeYD85br5EKagptaDQrjrT8Rug7oGYddQ=; b=C323yhYeEY8AJlOj0KmW2W115xyfwjC9vHtNCsoIIaXFq8GBlezEKN1V6GdqNqEP/sTPKl BI7XRz7Qsq7iZwuUTA5Bc+rFFgB3NbEQfvzjXg5uya4nzCwWGKQc8DXH2C9LI6p8aBTL4B hoIZUuD35C88Y/l/3aIoOGaoOb/IwEYbsLXmjblZhMRYSgwocKDcz6Hzw04IOBusFRtypm 8lTGwW7YbobWTrzUwHYWcrEuUXx6xIcJ919maCWEEa70LlKG1a5Oglys1pHNIQYtZ4dD9v /bOq4jO0OrLU7XOUeXcAGwaKaIhB9b46jsxZZ615QA+PGebiNVO2kF1kDjsWbA== ARC-Seal: i=1; s=key1; d=yhetil.org; t=1620766255; a=rsa-sha256; cv=none; b=H0XD7U6rGsl90w5UUuvKDVvdITJmhMsudjRwGEtkCd07IzlYhtP8yJNymVaa6S55fqIyyd dq0dSPYO4G5e/tq+ENcpcSm7tU0F1qBiKEmUstAqO4Uw9CJQhKnHUqWi0ARcamH/StWuu9 WKw+O5sS7t+OEMse8CEDDpBZXiV3VSCnbP8uumbPsuZX55KLv6WcSSl+DpAA8H/ubtiQzw 7XXEPyCtld0Rzk7jWOBlJ/6iDIv+wjLkTsEgQkvHQGtcRIEkNeHOEqw4Kz5em9Wy+UMEkK oJoSwYzk0GcMNkF0xVvj/neqOo+mJVGNSHmdsSRVtnLPHe2AqZxM+EyLLXQwvg== ARC-Authentication-Results: i=1; aspmx1.migadu.com; dkim=none; dmarc=none; spf=pass (aspmx1.migadu.com: domain of guix-devel-bounces@gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=guix-devel-bounces@gnu.org X-Migadu-Spam-Score: -2.45 Authentication-Results: aspmx1.migadu.com; dkim=none; dmarc=none; spf=pass (aspmx1.migadu.com: domain of guix-devel-bounces@gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=guix-devel-bounces@gnu.org X-Migadu-Queue-Id: 9CF4415E48 X-Spam-Score: -2.45 X-Migadu-Scanner: scn0.migadu.com X-TUID: 28dzzHdAZu85 Hi! Ricardo Wurmus skribis: > There are two problems here: > > 1) I don=E2=80=99t think =E2=80=9Cguix gc --list-dead=E2=80=9D (or =E2=80= =9C--list-live=E2=80=9D, or more > generally =E2=80=9CfindRoots=E2=80=9D in nix/libstore/gc.cc) should delet= e=20 > anything. It should just list and not clean up. Maybe =E2=80=98findRoots=E2=80=99 could populate the list of stale roots an= d it=E2=80=99d be up to the caller to decide whether to delete them or not? > 2) For cluster installations with remote file systems perhaps there=E2=80= =99s > something else we can do to record gcroots. We now have this > excursion into unreadable space because we use a symlink, but the > start ($localstatedir/gcroots/auto) and endpoints (/gnu/store/=E2=80=A6) = are > both accessible by the daemon. Since these intermediate locations are > tied to user accounts, could we not store them in a per-user > directory? > > This problem does not exist for user profiles, because the link in > unreadable home directories is not all that important; it merely=20 > points to $localstatedir, which is always readable by the > daemon. Perhaps we could do the same for temporary roots and let > *users* decide when to let go of them by giving them a command to > erase the important links in $localstatedir. > > So instead of having a link from > /gnu/var/guix/gcroots/auto/8ypp8dmwnydgbsgjcms2wyb32mng0wri to=20 > /home/me/projects/mrg1_chipseq/.guix-profile-1-link pointing to > /gnu/store/ap0vrfxjdj57iqdapg8q83l4f7aylqzm-profile, we would=20 > record > /var/guix/profiles/per-user/me/auto/8ypp8dmwnydgbsgjcms2wyb32mng0wri=20 > pointing to /gnu/store/ap0vrfxjdj57iqdapg8q83l4f7aylqzm-profile, and > then point /home/me/projects/mrg1_chipseq/.guix-profile-1-link at > that. Yes, removing > /home/me/projects/mrg1_chipseq/.guix-profile-1-link would no=20 > longer free up the profile for garbage collection, but removing > $(readlink /home/me/projects/mrg1_chipseq/.guix-profile-1-link)=20 > would. Yes, but how would per-user/me/auto/* be cleaned up? It seems to be that as long as the final symlink can live the home directories, the GC needs to have access to those home directories to determine whether that symlink is still a GC root. Tricky! Ludo=E2=80=99.