Message ID | 108a67c0ef10e00162d81bcf7bc6243d6895c49b.1692569807.git.ngraves@ngraves.fr |
---|---|
State | New |
Headers |
Return-Path: <guix-patches-bounces+patchwork=mira.cbaines.net@gnu.org> X-Original-To: patchwork@mira.cbaines.net Delivered-To: patchwork@mira.cbaines.net Received: by mira.cbaines.net (Postfix, from userid 113) id D92AF27BBE9; Sun, 20 Aug 2023 23:18:14 +0100 (BST) X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on mira.cbaines.net X-Spam-Level: X-Spam-Status: No, score=-2.9 required=5.0 tests=BAYES_00,MAILING_LIST_MULTI, SPF_HELO_PASS autolearn=unavailable autolearn_force=no version=3.4.6 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mira.cbaines.net (Postfix) with ESMTPS id 1933C27BBE2 for <patchwork@mira.cbaines.net>; Sun, 20 Aug 2023 23:18:13 +0100 (BST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from <guix-patches-bounces@gnu.org>) id 1qXqkF-000424-FE; Sun, 20 Aug 2023 18:18:03 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from <Debian-debbugs@debbugs.gnu.org>) id 1qXqkE-00041c-DQ for guix-patches@gnu.org; Sun, 20 Aug 2023 18:18:02 -0400 Received: from debbugs.gnu.org ([2001:470:142:5::43]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from <Debian-debbugs@debbugs.gnu.org>) id 1qXqkE-00019L-5Q for guix-patches@gnu.org; Sun, 20 Aug 2023 18:18:02 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from <Debian-debbugs@debbugs.gnu.org>) id 1qXqkF-0003YH-Vc for guix-patches@gnu.org; Sun, 20 Aug 2023 18:18:03 -0400 X-Loop: help-debbugs@gnu.org Subject: [bug#65335] [PATCH v2 5/5] gnu: home: symlink-manager: Allow dedicated device skip. Resent-From: Nicolas Graves <ngraves@ngraves.fr> Original-Sender: "Debbugs-submit" <debbugs-submit-bounces@debbugs.gnu.org> Resent-CC: , guix-patches@gnu.org Resent-Date: Sun, 20 Aug 2023 22:18:03 +0000 Resent-Message-ID: <handler.65335.B65335.169256983213564@debbugs.gnu.org> Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 65335 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 65335@debbugs.gnu.org Cc: ngraves@ngraves.fr, ( <paren@disroot.org>, Andrew Tropin <andrew@trop.in>, Ludovic =?utf-8?q?Court=C3=A8s?= <ludo@gnu.org> X-Debbugs-Original-Xcc: ( <paren@disroot.org>, Andrew Tropin <andrew@trop.in>, Ludovic =?utf-8?q?Court=C3=A8s?= <ludo@gnu.org> Received: via spool by 65335-submit@debbugs.gnu.org id=B65335.169256983213564 (code B ref 65335); Sun, 20 Aug 2023 22:18:03 +0000 Received: (at 65335) by debbugs.gnu.org; 20 Aug 2023 22:17:12 +0000 Received: from localhost ([127.0.0.1]:55032 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces@debbugs.gnu.org>) id 1qXqjP-0003Wd-Mh for submit@debbugs.gnu.org; Sun, 20 Aug 2023 18:17:11 -0400 Received: from 5.mo576.mail-out.ovh.net ([46.105.43.105]:51355) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <ngraves@ngraves.fr>) id 1qXqjL-0003W1-U1 for 65335@debbugs.gnu.org; Sun, 20 Aug 2023 18:17:08 -0400 Received: from director6.ghost.mail-out.ovh.net (unknown [10.109.146.163]) by mo576.mail-out.ovh.net (Postfix) with ESMTP id F065E239C6 for <65335@debbugs.gnu.org>; Sun, 20 Aug 2023 22:17:04 +0000 (UTC) Received: from ghost-submission-6684bf9d7b-xq859 (unknown [10.109.143.9]) by director6.ghost.mail-out.ovh.net (Postfix) with ESMTPS id 8B9F81FD7F; Sun, 20 Aug 2023 22:17:04 +0000 (UTC) Received: from ngraves.fr ([37.59.142.108]) by ghost-submission-6684bf9d7b-xq859 with ESMTPSA id 7vW4HOCQ4mR9rgUAW6UFkg (envelope-from <ngraves@ngraves.fr>); Sun, 20 Aug 2023 22:17:04 +0000 Authentication-Results: garm.ovh; auth=pass (GARM-108S00282f9ac27-c835-484d-90c6-eb4ade238cb0, 307FC59480FBA19D26D27A253AF11085980BDF63) smtp.auth=ngraves@ngraves.fr X-OVh-ClientIp: 81.67.140.142 Date: Mon, 21 Aug 2023 00:16:47 +0200 Message-ID: <108a67c0ef10e00162d81bcf7bc6243d6895c49b.1692569807.git.ngraves@ngraves.fr> X-Mailer: git-send-email 2.41.0 In-Reply-To: <b027cd64bb8e1af2bced790a54ff09c86474cec3.1692569807.git.ngraves@ngraves.fr> References: <b027cd64bb8e1af2bced790a54ff09c86474cec3.1692569807.git.ngraves@ngraves.fr> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Ovh-Tracer-Id: 10439343940332085986 X-VR-SPAMSTATE: OK X-VR-SPAMSCORE: 0 X-VR-SPAMCAUSE: gggruggvucftvghtrhhoucdtuddrgedviedruddukedgtdekucetufdoteggodetrfdotffvucfrrhhofhhilhgvmecuqfggjfdpvefjgfevmfevgfenuceurghilhhouhhtmecuhedttdenucenucfjughrpefhvfevufffkffojghfggfgsedtkeertdertddtnecuhfhrohhmpefpihgtohhlrghsucfirhgrvhgvshcuoehnghhrrghvvghssehnghhrrghvvghsrdhfrheqnecuggftrfgrthhtvghrnhepleffjeetueethfefkeffffefvddukeejkefgleduiedthfekvefhiedvhfffgeegnecukfhppeduvdejrddtrddtrddupdekuddrieejrddugedtrddugedvpdefjedrheelrddugedvrddutdeknecuvehluhhsthgvrhfuihiivgeptdenucfrrghrrghmpehinhgvthepuddvjedrtddrtddruddpmhgrihhlfhhrohhmpeeonhhgrhgrvhgvshesnhhgrhgrvhgvshdrfhhrqedpnhgspghrtghpthhtohepuddprhgtphhtthhopeeiheeffeehseguvggssghughhsrdhgnhhurdhorhhgpdfovfetjfhoshhtpehmohehjeeipdhmohguvgepshhmthhpohhuth X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: guix-patches@gnu.org List-Id: <guix-patches.gnu.org> List-Unsubscribe: <https://lists.gnu.org/mailman/options/guix-patches>, <mailto:guix-patches-request@gnu.org?subject=unsubscribe> List-Archive: <https://lists.gnu.org/archive/html/guix-patches> List-Post: <mailto:guix-patches@gnu.org> List-Help: <mailto:guix-patches-request@gnu.org?subject=help> List-Subscribe: <https://lists.gnu.org/mailman/listinfo/guix-patches>, <mailto:guix-patches-request@gnu.org?subject=subscribe> Reply-to: Nicolas Graves <ngraves@ngraves.fr> X-ACL-Warn: , Nicolas Graves via Guix-patches <guix-patches@gnu.org> From: Nicolas Graves via Guix-patches via <guix-patches@gnu.org> Errors-To: guix-patches-bounces+patchwork=mira.cbaines.net@gnu.org Sender: guix-patches-bounces+patchwork=mira.cbaines.net@gnu.org X-getmail-retrieved-from-mailbox: Patches |
Series |
[bug#65335,v2,1/5] file-systems: canonicalize-device-name: Ignore the "none" case.
|
|
Commit Message
Nicolas Graves
Aug. 20, 2023, 10:16 p.m. UTC
--- gnu/home/services/symlink-manager.scm | 5 +++++ 1 file changed, 5 insertions(+)
Comments
Nicolas Graves <ngraves@ngraves.fr> skribis: > --- > gnu/home/services/symlink-manager.scm | 5 +++++ > 1 file changed, 5 insertions(+) > > diff --git a/gnu/home/services/symlink-manager.scm b/gnu/home/services/symlink-manager.scm > index e4c931fbee..d3c4d01db4 100644 > --- a/gnu/home/services/symlink-manager.scm > +++ b/gnu/home/services/symlink-manager.scm > @@ -157,6 +157,11 @@ (define (update-symlinks-script) > #t > (G_ "Skipping ~a (not an empty directory)... done\n") > directory)) > + ((= EBUSY errno) > + (format > + #t > + (G_ "Skipping ~a (dedicated device)... done\n") > + directory)) How does that relate to the rest of the patch series? What does “dedicate device” mean here? Maybe add a comment giving some context. Ludo’.
Hi, (You forgot to Cc the bug in your reply, so our conversation went off the record…) Ludovic Courtès <ludo@gnu.org> skribis: > Nicolas Graves <ngraves@ngraves.fr> skribis: > >> --- >> gnu/home/services/symlink-manager.scm | 5 +++++ >> 1 file changed, 5 insertions(+) >> >> diff --git a/gnu/home/services/symlink-manager.scm b/gnu/home/services/symlink-manager.scm >> index e4c931fbee..d3c4d01db4 100644 >> --- a/gnu/home/services/symlink-manager.scm >> +++ b/gnu/home/services/symlink-manager.scm >> @@ -157,6 +157,11 @@ (define (update-symlinks-script) >> #t >> (G_ "Skipping ~a (not an empty directory)... done\n") >> directory)) >> + ((= EBUSY errno) >> + (format >> + #t >> + (G_ "Skipping ~a (dedicated device)... done\n") >> + directory)) > > How does that relate to the rest of the patch series? What does > “dedicate device” mean here? Your use case is for when ~/.local (for instance) is a separate mount point (an uncommon use case because mounting file systems on Linux usually requires root privileges). I’d suggested “dedicated device” → “underlying device is busy”, and a short comment above explaining the kind of situation where this can occur. Thanks, Ludo’.
Hi Nicolas, Did you have a chance to work on a revised version of this patch set? https://issues.guix.gnu.org/65335 Seems to me that little was missing. Thanks in advance! Ludo’. Ludovic Courtès <ludo@gnu.org> skribis: > Hi, > > (You forgot to Cc the bug in your reply, so our conversation went off > the record…) > > Ludovic Courtès <ludo@gnu.org> skribis: > >> Nicolas Graves <ngraves@ngraves.fr> skribis: >> >>> --- >>> gnu/home/services/symlink-manager.scm | 5 +++++ >>> 1 file changed, 5 insertions(+) >>> >>> diff --git a/gnu/home/services/symlink-manager.scm b/gnu/home/services/symlink-manager.scm >>> index e4c931fbee..d3c4d01db4 100644 >>> --- a/gnu/home/services/symlink-manager.scm >>> +++ b/gnu/home/services/symlink-manager.scm >>> @@ -157,6 +157,11 @@ (define (update-symlinks-script) >>> #t >>> (G_ "Skipping ~a (not an empty directory)... done\n") >>> directory)) >>> + ((= EBUSY errno) >>> + (format >>> + #t >>> + (G_ "Skipping ~a (dedicated device)... done\n") >>> + directory)) >> >> How does that relate to the rest of the patch series? What does >> “dedicate device” mean here? > > Your use case is for when ~/.local (for instance) is a separate mount > point (an uncommon use case because mounting file systems on Linux > usually requires root privileges). > > I’d suggested “dedicated device” → “underlying device is busy”, and a > short comment above explaining the kind of situation where this can > occur. > > Thanks, > Ludo’.
On 2023-10-05 15:07, Ludovic Courtès wrote: > Hi Nicolas, > > Did you have a chance to work on a revised version of this patch set? > > https://issues.guix.gnu.org/65335 > > Seems to me that little was missing. Indeed, I have to finish this among other things. I still use it locally and it works well for system impermanence. I couldn't answer your following question : > Should /var/run be removed (in the same commit) from ‘directives’ in > (gnu build install)? Maybe you can help a bit if you have worked on this, so that I understand correctly if something should be done here or not. > > Thanks in advance! > > Ludo’. > > Ludovic Courtès <ludo@gnu.org> skribis: > >> Hi, >> >> (You forgot to Cc the bug in your reply, so our conversation went off >> the record…) >> >> Ludovic Courtès <ludo@gnu.org> skribis: >> >>> Nicolas Graves <ngraves@ngraves.fr> skribis: >>> >>>> --- >>>> gnu/home/services/symlink-manager.scm | 5 +++++ >>>> 1 file changed, 5 insertions(+) >>>> >>>> diff --git a/gnu/home/services/symlink-manager.scm b/gnu/home/services/symlink-manager.scm >>>> index e4c931fbee..d3c4d01db4 100644 >>>> --- a/gnu/home/services/symlink-manager.scm >>>> +++ b/gnu/home/services/symlink-manager.scm >>>> @@ -157,6 +157,11 @@ (define (update-symlinks-script) >>>> #t >>>> (G_ "Skipping ~a (not an empty directory)... done\n") >>>> directory)) >>>> + ((= EBUSY errno) >>>> + (format >>>> + #t >>>> + (G_ "Skipping ~a (dedicated device)... done\n") >>>> + directory)) >>> >>> How does that relate to the rest of the patch series? What does >>> “dedicate device” mean here? >> >> Your use case is for when ~/.local (for instance) is a separate mount >> point (an uncommon use case because mounting file systems on Linux >> usually requires root privileges). >> >> I’d suggested “dedicated device” → “underlying device is busy”, and a >> short comment above explaining the kind of situation where this can >> occur. >> >> Thanks, >> Ludo’.
Hi, Nicolas Graves <ngraves@ngraves.fr> skribis: > On 2023-10-05 15:07, Ludovic Courtès wrote: [...] >> Should /var/run be removed (in the same commit) from ‘directives’ in >> (gnu build install)? > > Maybe you can help a bit if you have worked on this, so that I > understand correctly if something should be done here or not. The directives in (gnu build install) specify files and directories that should be created upfront when initializing a system—meaning when running ‘guix system init’, or when populating a VM image. The boot/activation code assumes that these files already exist when the system boots. If we’re now creating /var/run in an activation snippet, then it no longer needs to be here. When doing such changes, I would suggest to at least run: make check-system TESTS=basic to detect obvious mistakes, and perhaps run the “installed-os” test as well (it’s much more expensive, so run it once you’re essentially done). HTH! Ludo’.
Hi Ludo, Just to tell that the v3 I sent a few weeks ago is indeed fully tested, and that commit messages are properly written. Should we also think about a blog post on impermanence like nix did? Nicolas On 2023-10-12 08:55, Ludovic Courtès wrote: > Hi, > > Nicolas Graves <ngraves@ngraves.fr> skribis: > >> On 2023-10-05 15:07, Ludovic Courtès wrote: > > [...] > >>> Should /var/run be removed (in the same commit) from ‘directives’ in >>> (gnu build install)? >> >> Maybe you can help a bit if you have worked on this, so that I >> understand correctly if something should be done here or not. > > The directives in (gnu build install) specify files and directories that > should be created upfront when initializing a system—meaning when > running ‘guix system init’, or when populating a VM image. The > boot/activation code assumes that these files already exist when the > system boots. > > If we’re now creating /var/run in an activation snippet, then it no > longer needs to be here. > > When doing such changes, I would suggest to at least run: > > make check-system TESTS=basic > > to detect obvious mistakes, and perhaps run the “installed-os” test as > well (it’s much more expensive, so run it once you’re essentially done). > > HTH! > > Ludo’. > > >
Hi Nicolas, Nicolas Graves <ngraves@ngraves.fr> skribis: > Just to tell that the v3 I sent a few weeks ago is indeed fully tested, > and that commit messages are properly written. Just pushed v3 as b1ec85533a63c10616d9260f90411ca6f362de00! I did tweak the commit messages but that’s because I’m too picky :-) and the changes were minor. > Should we also think about a blog post on impermanence like nix did? Yes, definitely! There could also be a section in the manual with a complete OS definition, to show how one can set up a volatile image. Last, I realize there’s no system tests. I’m not sure how to do that (because system tests already run on a tmpfs overlay) but it’d be nice to make sure “root=none” handling keeps working. Thoughts? Thanks for all the work! Ludo’.
On 2024-02-19 18:48, Ludovic Courtès wrote: > Hi Nicolas, > > Nicolas Graves <ngraves@ngraves.fr> skribis: > >> Just to tell that the v3 I sent a few weeks ago is indeed fully tested, >> and that commit messages are properly written. > > Just pushed v3 as b1ec85533a63c10616d9260f90411ca6f362de00! > > I did tweak the commit messages but that’s because I’m too picky :-) and > the changes were minor. > >> Should we also think about a blog post on impermanence like nix did? > > Yes, definitely! > > There could also be a section in the manual with a complete OS > definition, to show how one can set up a volatile image. On my todo list, though my priority right now is node-build-system to try and package zotero properly. > > Last, I realize there’s no system tests. I’m not sure how to do that > (because system tests already run on a tmpfs overlay) but it’d be nice > to make sure “root=none” handling keeps working. > > Thoughts? I don't have a better view on this than you have. Basically I mostly test it directly since for most changes I can always roll-back. Indeed here it doesn't seem straightforward to check it fully, we can still test the function bootable-kernel-arguments, but it's not that useful. > > Thanks for all the work! > > Ludo’.
diff --git a/gnu/home/services/symlink-manager.scm b/gnu/home/services/symlink-manager.scm index e4c931fbee..d3c4d01db4 100644 --- a/gnu/home/services/symlink-manager.scm +++ b/gnu/home/services/symlink-manager.scm @@ -157,6 +157,11 @@ (define (update-symlinks-script) #t (G_ "Skipping ~a (not an empty directory)... done\n") directory)) + ((= EBUSY errno) + (format + #t + (G_ "Skipping ~a (dedicated device)... done\n") + directory)) ((= ENOENT errno) #t) ((= ENOTDIR errno) #t) (else