unofficial mirror of guix-patches@gnu.org 
 help / color / mirror / code / Atom feed
* [bug#29100] [PATCH 0/3] Use overlayfs instead of unionfs.
@ 2017-11-01  8:33 Hartmut Goebel
  2017-11-01  8:39 ` [bug#29100] [PATCH 1/3] build: " Hartmut Goebel
  2017-11-08 17:26 ` bug#29100: Updated, tested again and merged Hartmut Goebel
  0 siblings, 2 replies; 13+ messages in thread
From: Hartmut Goebel @ 2017-11-01  8:33 UTC (permalink / raw)
  To: 29100

These patches replace the FUSE-based unionfs by the kernel-based overlayfs.
For the insallation image this reduces the size of the initrd by ca. 4.3%
(487K).

I verified this is working by successfiully running
   make check-system TESTS=installed-os.

One thing I did not change: In gnu/system/install.scm
(installation-os)[file-systems], /tmp is still mounted to tmpfs.  This was
introduced in ee03b75dfb3399f41002c38ac512473ab94afa74 for unionfs because
FUSE creates .fuse_hiddenXYZ' files for each open file, and this confuses
Guix's test suite, for instance (see <http://bugs.gnu.org/23056>).  This
should no longer be necessary when using overlayfs, since overlayfs uses a
separate workdir.  However I was not able to trigger bug 23056 while still
using unionfs, so I could not verify whether this mount is still needed with
overlayfs and I decided to keep it.

Hartmut Goebel (3):
  build: Use overlayfs instead of unionfs.
  install: Use overlayfs instead of unionfs.
  gnu: service: Update comment.

 gnu/build/linux-boot.scm    | 43 ++++++++++++---------------------------
 gnu/services/base.scm       |  2 +-
 gnu/system/install.scm      | 49 ++++++++++++++++++---------------------------
 gnu/system/linux-initrd.scm |  4 ++--
 4 files changed, 35 insertions(+), 63 deletions(-)

-- 
2.13.5

^ permalink raw reply	[flat|nested] 13+ messages in thread

* [bug#29100] [PATCH 1/3] build: Use overlayfs instead of unionfs.
  2017-11-01  8:33 [bug#29100] [PATCH 0/3] Use overlayfs instead of unionfs Hartmut Goebel
@ 2017-11-01  8:39 ` Hartmut Goebel
  2017-11-01  8:39   ` [bug#29100] [PATCH 2/3] install: " Hartmut Goebel
                     ` (2 more replies)
  2017-11-08 17:26 ` bug#29100: Updated, tested again and merged Hartmut Goebel
  1 sibling, 3 replies; 13+ messages in thread
From: Hartmut Goebel @ 2017-11-01  8:39 UTC (permalink / raw)
  To: 29100

Overlayfs is part of the kernel, while unionfs needs FUSE.  This also reduces
the size of the initrd by ca. 4.3% (487K).

* gnu/build/linux-boot.scm (mount-root-file-system): Remove optional parameter
  "unionfs"; mount using overlayfs instead of unionfs; new directory layout
  requied by overlayfs; update documentation;
  [mark-as-not-killable]: remove now unused function

* gnu/system/linux-intrd.scm (file-system-packages): Remove now unused
  packages "unionfs-fuse/static".
  (linux-modules): Replace "fuse" by "overlay".
---
 gnu/build/linux-boot.scm    | 43 +++++++++++++------------------------------
 gnu/system/linux-initrd.scm |  4 ++--
 2 files changed, 15 insertions(+), 32 deletions(-)

diff --git a/gnu/build/linux-boot.scm b/gnu/build/linux-boot.scm
index 3712abe91..7f07e8038 100644
--- a/gnu/build/linux-boot.scm
+++ b/gnu/build/linux-boot.scm
@@ -241,20 +241,10 @@ the last argument of `mknod'."
           (filter-map string->number (scandir "/proc")))))
 
 (define* (mount-root-file-system root type
-                                 #:key volatile-root? (unionfs "unionfs"))
+                                 #:key volatile-root?)
   "Mount the root file system of type TYPE at device ROOT.  If VOLATILE-ROOT?
-is true, mount ROOT read-only and make it a union with a writable tmpfs using
-UNIONFS."
-  (define (mark-as-not-killable pid)
-    ;; Tell the 'user-processes' shepherd service that PID must be kept alive
-    ;; when shutting down.
-    (mkdir-p "/root/etc/shepherd")
-    (let ((port (open-file "/root/etc/shepherd/do-not-kill" "a")))
-      (chmod port #o600)
-      (write pid port)
-      (newline port)
-      (close-port port)))
-
+is true, mount ROOT read-only and make it a overlay with a writable tmpfs
+using the kernel build-in overlayfs."
   (if volatile-root?
       (begin
         (mkdir-p "/real-root")
@@ -262,24 +252,17 @@ UNIONFS."
         (mkdir-p "/rw-root")
         (mount "none" "/rw-root" "tmpfs")
 
+        ;; Create the upperdir and the workdir of the overlayfs
+        (mkdir-p "/rw-root/upper")
+        (mkdir-p "/rw-root/work")
+
         ;; We want read-write /dev nodes.
-        (mkdir-p "/rw-root/dev")
-        (mount "none" "/rw-root/dev" "devtmpfs")
-
-        ;; Make /root a union of the tmpfs and the actual root.  Use
-        ;; 'max_files' to set a high RLIMIT_NOFILE for the unionfs process
-        ;; itself.  Failing to do that, we quickly run out of file
-        ;; descriptors; see <http://bugs.gnu.org/17827>.
-        (unless (zero? (system* unionfs "-o"
-                                "cow,allow_other,use_ino,suid,dev,max_files=65536"
-                                "/rw-root=RW:/real-root=RO"
-                                "/root"))
-          (error "unionfs failed"))
-
-        ;; Make sure unionfs remains alive till the end.  Because
-        ;; 'fuse_daemonize' doesn't tell the PID of the forked daemon, we
-        ;; have to resort to 'pidof' here.
-        (mark-as-not-killable (pidof unionfs)))
+        (mkdir-p "/rw-root/upper/dev")
+        (mount "none" "/rw-root/upper/dev" "devtmpfs")
+
+        ;; Make /root a overlay of the tmpfs and the actual root.
+        (mount "none" "/root" "overlay" 0
+               "lowerdir=/real-root,upperdir=/rw-root/upper,workdir=/rw-root/work"))
       (begin
         (check-file-system root type)
         (mount root "/root" type)))
diff --git a/gnu/system/linux-initrd.scm b/gnu/system/linux-initrd.scm
index 948c543a1..4168582c4 100644
--- a/gnu/system/linux-initrd.scm
+++ b/gnu/system/linux-initrd.scm
@@ -236,7 +236,7 @@ FILE-SYSTEMS."
           (list btrfs-progs/static)
           '())
     ,@(if volatile-root?
-          (list unionfs-fuse/static)
+          (list ) ;; nothing requierd in this case
           '())))
 
 (define* (base-initrd file-systems
@@ -308,7 +308,7 @@ loaded at boot time in the order in which they appear."
             '("isofs")
             '())
       ,@(if volatile-root?
-            '("fuse")
+            '("overlay")
             '())
       ,@extra-modules))
 
-- 
2.13.5

^ permalink raw reply related	[flat|nested] 13+ messages in thread

* [bug#29100] [PATCH 2/3] install: Use overlayfs instead of unionfs.
  2017-11-01  8:39 ` [bug#29100] [PATCH 1/3] build: " Hartmut Goebel
@ 2017-11-01  8:39   ` Hartmut Goebel
  2017-11-02 17:44     ` Danny Milosavljevic
  2017-11-01  8:39   ` [bug#29100] [PATCH 3/3] gnu: service: Update comment Hartmut Goebel
  2017-11-05 21:08   ` [bug#29100] [PATCH 1/3] build: Use overlayfs instead of unionfs Ludovic Courtès
  2 siblings, 1 reply; 13+ messages in thread
From: Hartmut Goebel @ 2017-11-01  8:39 UTC (permalink / raw)
  To: 29100

I dediced to keep adding /tmp as tmpfs since I was not able to trigger bug
while still using unionfs, so I could not verify whether this mount is still
needed with overlayfs.  Mapping /tmp to tmpfs does not harm, so we are on the
save side.

* gnu/system/install.scm (make-cow-store): Mount /gnu/store without additional
  read-only bind-mount, since in overlayfs the "lower" level is always
  read-only. Add work-dir required by overlayfs. No need to sleep anymore
  since now using the mount syscall. [unionfs]: remove now unused function.
  (%installation-services): Update comment.
  (installation-os)[file-systems]: Update comment.
---
 gnu/system/install.scm | 49 +++++++++++++++++++------------------------------
 1 file changed, 19 insertions(+), 30 deletions(-)

diff --git a/gnu/system/install.scm b/gnu/system/install.scm
index eb362f91a..0c771e81f 100644
--- a/gnu/system/install.scm
+++ b/gnu/system/install.scm
@@ -71,19 +71,6 @@ manual."
   "Return a gexp that makes the store copy-on-write, using TARGET as the
 backing store.  This is useful when TARGET is on a hard disk, whereas the
 current store is on a RAM disk."
-  (define (unionfs read-only read-write mount-point)
-    ;; Make MOUNT-POINT the union of READ-ONLY and READ-WRITE.
-
-    ;; Note: in the command below, READ-WRITE appears before READ-ONLY so that
-    ;; it is considered a "higher-level branch", as per unionfs-fuse(8),
-    ;; thereby allowing files existing on READ-ONLY to be copied over to
-    ;; READ-WRITE.
-    #~(fork+exec-command
-       (list (string-append #$unionfs-fuse "/bin/unionfs")
-             "-o"
-             "cow,allow_other,use_ino,max_files=65536,nonempty"
-             (string-append #$read-write "=RW:" #$read-only "=RO")
-             #$mount-point)))
 
   (define (set-store-permissions directory)
     ;; Set the right perms on DIRECTORY to use it as the store.
@@ -97,23 +84,23 @@ current store is on a RAM disk."
         (mkdir-p tmpdir)
         (mount tmpdir "/tmp" "none" MS_BIND))
 
-      (unless (file-exists? "/.ro-store")
-        (mkdir "/.ro-store")
-        (mount #$(%store-prefix) "/.ro-store" "none"
-               (logior MS_BIND MS_RDONLY)))
-
-      (let ((rw-dir (string-append target #$%backing-directory)))
+      (let* ((rw-dir (string-append target #$%backing-directory))
+             ;; FIXME: calculate work-dir from backing-directory:
+             ;; normpath(backing-directory + "../.overlayfs-workdir")
+             (work-dir (string-append target "/tmp/.overlayfs-workdir")))
         (mkdir-p rw-dir)
+        (mkdir-p work-dir)
         (mkdir-p "/.rw-store")
         #$(set-store-permissions #~rw-dir)
         #$(set-store-permissions "/.rw-store")
 
-        ;; Mount the union, then atomically make it the store.
-        (and #$(unionfs "/.ro-store" #~rw-dir "/.rw-store")
-             (begin
-               (sleep 1) ;XXX: wait for unionfs to be ready
-               (mount "/.rw-store" #$(%store-prefix) "" MS_MOVE)
-               (rmdir "/.rw-store"))))))
+        ;; Mount the overlay, then atomically make it the store.
+        (mount "none" "/.rw-store" "overlay" 0
+               (string-append "lowerdir=" #$(%store-prefix) ","
+                              "upperdir=" rw-dir ","
+                              "workdir=" work-dir))
+        (mount "/.rw-store" #$(%store-prefix) "" MS_MOVE)
+        (rmdir "/.rw-store"))))
 
 (define cow-store-service-type
   (shepherd-service-type
@@ -278,7 +265,7 @@ You have been warned.  Thanks for being so brave.
                     (allow-empty-passwords? #f)
                     (password-authentication? #t)))
 
-          ;; Since this is running on a USB stick with a unionfs as the root
+          ;; Since this is running on a USB stick with a overlayfs as the root
           ;; file system, use an appropriate cache configuration.
           (nscd-service (nscd-configuration
                          (caches %nscd-minimal-caches)))
@@ -317,10 +304,12 @@ Use Alt-F2 for documentation.
               (title 'label)
               (type "ext4"))
 
-            ;; Make /tmp a tmpfs instead of keeping the unionfs.  This is
-            ;; because FUSE creates '.fuse_hiddenXYZ' files for each open file,
-            ;; and this confuses Guix's test suite, for instance.  See
-            ;; <http://bugs.gnu.org/23056>.
+            ;; Make /tmp a tmpfs instead of keeping the overlayfs.  This
+            ;; originally was used for unionfs because FUSE creates
+            ;; '.fuse_hiddenXYZ' files for each open file, and this confuses
+            ;; Guix's test suite, for instance (see
+            ;; <http://bugs.gnu.org/23056>).  We keep this for overlayfs to be
+            ;; on the save side.
             (file-system
               (mount-point "/tmp")
               (device "none")
-- 
2.13.5

^ permalink raw reply related	[flat|nested] 13+ messages in thread

* [bug#29100] [PATCH 3/3] gnu: service: Update comment.
  2017-11-01  8:39 ` [bug#29100] [PATCH 1/3] build: " Hartmut Goebel
  2017-11-01  8:39   ` [bug#29100] [PATCH 2/3] install: " Hartmut Goebel
@ 2017-11-01  8:39   ` Hartmut Goebel
  2017-11-05 21:09     ` Ludovic Courtès
  2017-11-05 21:08   ` [bug#29100] [PATCH 1/3] build: Use overlayfs instead of unionfs Ludovic Courtès
  2 siblings, 1 reply; 13+ messages in thread
From: Hartmut Goebel @ 2017-11-01  8:39 UTC (permalink / raw)
  To: 29100

* gnu/services/base.scm(guix-activation): Update comment.
---
 gnu/services/base.scm | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/gnu/services/base.scm b/gnu/services/base.scm
index b605614ab..2ba655d94 100644
--- a/gnu/services/base.scm
+++ b/gnu/services/base.scm
@@ -1441,7 +1441,7 @@ failed to register hydra.gnu.org public key: ~a~%" status))))))))
   (match config
     (($ <guix-configuration> guix build-group build-accounts authorize-key? keys)
      ;; Assume that the store has BUILD-GROUP as its group.  We could
-     ;; otherwise call 'chown' here, but the problem is that on a COW unionfs,
+     ;; otherwise call 'chown' here, but the problem is that on a COW overlayfs,
      ;; chown leads to an entire copy of the tree, which is a bad idea.
 
      ;; Optionally authorize hydra.gnu.org's key.
-- 
2.13.5

^ permalink raw reply related	[flat|nested] 13+ messages in thread

* [bug#29100] [PATCH 2/3] install: Use overlayfs instead of unionfs.
  2017-11-01  8:39   ` [bug#29100] [PATCH 2/3] install: " Hartmut Goebel
@ 2017-11-02 17:44     ` Danny Milosavljevic
  2017-11-02 18:20       ` Hartmut Goebel
  0 siblings, 1 reply; 13+ messages in thread
From: Danny Milosavljevic @ 2017-11-02 17:44 UTC (permalink / raw)
  To: Hartmut Goebel; +Cc: 29100

[...]
> -      (let ((rw-dir (string-append target #$%backing-directory)))
> +      (let* ((rw-dir (string-append target #$%backing-directory))
> +             ;; FIXME: calculate work-dir from backing-directory:
> +             ;; normpath(backing-directory + "../.overlayfs-workdir")
> +             (work-dir (string-append target "/tmp/.overlayfs-workdir")))

What about the FIXME?

^ permalink raw reply	[flat|nested] 13+ messages in thread

* [bug#29100] [PATCH 2/3] install: Use overlayfs instead of unionfs.
  2017-11-02 17:44     ` Danny Milosavljevic
@ 2017-11-02 18:20       ` Hartmut Goebel
  2017-11-05 21:05         ` Ludovic Courtès
  0 siblings, 1 reply; 13+ messages in thread
From: Hartmut Goebel @ 2017-11-02 18:20 UTC (permalink / raw)
  To: Danny Milosavljevic; +Cc: 29100

Am 02.11.2017 um 18:44 schrieb Danny Milosavljevic:
> [...]
>> -      (let ((rw-dir (string-append target #$%backing-directory)))
>> +      (let* ((rw-dir (string-append target #$%backing-directory))
>> +             ;; FIXME: calculate work-dir from backing-directory:
>> +             ;; normpath(backing-directory + "../.overlayfs-workdir")
>> +             (work-dir (string-append target "/tmp/.overlayfs-workdir")))
> What about the FIXME?

I'll change it into a TODO. Somebody with more knowledge in scheme as to
implement this.

-- 
Regards
Hartmut Goebel

| Hartmut Goebel          | h.goebel@crazy-compilers.com               |
| www.crazy-compilers.com | compilers which you thought are impossible |

^ permalink raw reply	[flat|nested] 13+ messages in thread

* [bug#29100] [PATCH 2/3] install: Use overlayfs instead of unionfs.
  2017-11-02 18:20       ` Hartmut Goebel
@ 2017-11-05 21:05         ` Ludovic Courtès
  2017-11-06  9:33           ` Hartmut Goebel
  0 siblings, 1 reply; 13+ messages in thread
From: Ludovic Courtès @ 2017-11-05 21:05 UTC (permalink / raw)
  To: Hartmut Goebel; +Cc: 29100

Hi Hartmut,

Hartmut Goebel <h.goebel@crazy-compilers.com> skribis:

> Am 02.11.2017 um 18:44 schrieb Danny Milosavljevic:
>> [...]
>>> -      (let ((rw-dir (string-append target #$%backing-directory)))
>>> +      (let* ((rw-dir (string-append target #$%backing-directory))
>>> +             ;; FIXME: calculate work-dir from backing-directory:
>>> +             ;; normpath(backing-directory + "../.overlayfs-workdir")
>>> +             (work-dir (string-append target "/tmp/.overlayfs-workdir")))
>> What about the FIXME?
>
> I'll change it into a TODO. Somebody with more knowledge in scheme as to
> implement this.

What does this comment mean exactly?  The “has to” suggests that it’s
important.  :-)

Perhaps you mean:

  (canonicalize-path (string-append rw-dir "/../.overlayfs-workdir"))

?

Ludo’.

^ permalink raw reply	[flat|nested] 13+ messages in thread

* [bug#29100] [PATCH 1/3] build: Use overlayfs instead of unionfs.
  2017-11-01  8:39 ` [bug#29100] [PATCH 1/3] build: " Hartmut Goebel
  2017-11-01  8:39   ` [bug#29100] [PATCH 2/3] install: " Hartmut Goebel
  2017-11-01  8:39   ` [bug#29100] [PATCH 3/3] gnu: service: Update comment Hartmut Goebel
@ 2017-11-05 21:08   ` Ludovic Courtès
  2017-11-06  9:40     ` Hartmut Goebel
  2 siblings, 1 reply; 13+ messages in thread
From: Ludovic Courtès @ 2017-11-05 21:08 UTC (permalink / raw)
  To: Hartmut Goebel; +Cc: 29100

Heya,

Hartmut Goebel <h.goebel@crazy-compilers.com> skribis:

> Overlayfs is part of the kernel, while unionfs needs FUSE.  This also reduces
> the size of the initrd by ca. 4.3% (487K).

Awesome!  It’s definitely an improvement, and I’m happy that it fixes
<http://bugs.gnu.org/23056>.

> * gnu/build/linux-boot.scm (mount-root-file-system): Remove optional parameter
>   "unionfs"; mount using overlayfs instead of unionfs; new directory layout
>   requied by overlayfs; update documentation;
>   [mark-as-not-killable]: remove now unused function
>
> * gnu/system/linux-intrd.scm (file-system-packages): Remove now unused
                     ^^^
Typo.

>   packages "unionfs-fuse/static".
>   (linux-modules): Replace "fuse" by "overlay".

Nitpick: please capitalize sentences, add missing periods.

> +        ;; Make /root a overlay of the tmpfs and the actual root.

s/a/an/

> --- a/gnu/system/linux-initrd.scm
> +++ b/gnu/system/linux-initrd.scm
> @@ -236,7 +236,7 @@ FILE-SYSTEMS."
>            (list btrfs-progs/static)
>            '())
>      ,@(if volatile-root?
> -          (list unionfs-fuse/static)
> +          (list ) ;; nothing requierd in this case
>            '())))

You can remove the whole ‘if’ here.

OK with these changes, thank you!

Ludo’.

^ permalink raw reply	[flat|nested] 13+ messages in thread

* [bug#29100] [PATCH 3/3] gnu: service: Update comment.
  2017-11-01  8:39   ` [bug#29100] [PATCH 3/3] gnu: service: Update comment Hartmut Goebel
@ 2017-11-05 21:09     ` Ludovic Courtès
  0 siblings, 0 replies; 13+ messages in thread
From: Ludovic Courtès @ 2017-11-05 21:09 UTC (permalink / raw)
  To: Hartmut Goebel; +Cc: 29100

Hartmut Goebel <h.goebel@crazy-compilers.com> skribis:

> * gnu/services/base.scm(guix-activation): Update comment.
                         ^
Missing space.

Otherwise OK!

Ludo’.

^ permalink raw reply	[flat|nested] 13+ messages in thread

* [bug#29100] [PATCH 2/3] install: Use overlayfs instead of unionfs.
  2017-11-05 21:05         ` Ludovic Courtès
@ 2017-11-06  9:33           ` Hartmut Goebel
  0 siblings, 0 replies; 13+ messages in thread
From: Hartmut Goebel @ 2017-11-06  9:33 UTC (permalink / raw)
  To: Ludovic Courtès; +Cc: 29100

Am 05.11.2017 um 22:05 schrieb Ludovic Courtès:
> Perhaps you mean:
>
>   (canonicalize-path (string-append rw-dir "/../.overlayfs-workdir"))

Exactly :-) Thanks.

-- 
Regards
Hartmut Goebel

| Hartmut Goebel          | h.goebel@crazy-compilers.com               |
| www.crazy-compilers.com | compilers which you thought are impossible |

^ permalink raw reply	[flat|nested] 13+ messages in thread

* [bug#29100] [PATCH 1/3] build: Use overlayfs instead of unionfs.
  2017-11-05 21:08   ` [bug#29100] [PATCH 1/3] build: Use overlayfs instead of unionfs Ludovic Courtès
@ 2017-11-06  9:40     ` Hartmut Goebel
  2017-11-06 10:30       ` Ludovic Courtès
  0 siblings, 1 reply; 13+ messages in thread
From: Hartmut Goebel @ 2017-11-06  9:40 UTC (permalink / raw)
  To: Ludovic Courtès; +Cc: 29100

Am 05.11.2017 um 22:08 schrieb Ludovic Courtès:
>>      ,@(if volatile-root?
>> -          (list unionfs-fuse/static)
>> +          (list ) ;; nothing requierd in this case
>>            '())))
> You can remove the whole ‘if’ here.

Okay. should I remove the then unused #:key volatile-root?, too? This
would change the function's signature and may require more changes at
other places.

-- 
Regards
Hartmut Goebel

| Hartmut Goebel          | h.goebel@crazy-compilers.com               |
| www.crazy-compilers.com | compilers which you thought are impossible |

^ permalink raw reply	[flat|nested] 13+ messages in thread

* [bug#29100] [PATCH 1/3] build: Use overlayfs instead of unionfs.
  2017-11-06  9:40     ` Hartmut Goebel
@ 2017-11-06 10:30       ` Ludovic Courtès
  0 siblings, 0 replies; 13+ messages in thread
From: Ludovic Courtès @ 2017-11-06 10:30 UTC (permalink / raw)
  To: Hartmut Goebel; +Cc: 29100

Hartmut Goebel <h.goebel@crazy-compilers.com> skribis:

> Am 05.11.2017 um 22:08 schrieb Ludovic Courtès:
>>>      ,@(if volatile-root?
>>> -          (list unionfs-fuse/static)
>>> +          (list ) ;; nothing requierd in this case
>>>            '())))
>> You can remove the whole ‘if’ here.
>
> Okay. should I remove the then unused #:key volatile-root?, too?

No, I think you can keep it (and also the overlay.ko is added
conditionally based on that IIRC.)

Thanks,
Ludo’.

^ permalink raw reply	[flat|nested] 13+ messages in thread

* bug#29100: Updated, tested again and merged
  2017-11-01  8:33 [bug#29100] [PATCH 0/3] Use overlayfs instead of unionfs Hartmut Goebel
  2017-11-01  8:39 ` [bug#29100] [PATCH 1/3] build: " Hartmut Goebel
@ 2017-11-08 17:26 ` Hartmut Goebel
  1 sibling, 0 replies; 13+ messages in thread
From: Hartmut Goebel @ 2017-11-08 17:26 UTC (permalink / raw)
  To: 29100-close

Addressed all concerns and merged as
0af94ad52f65a5a62febd203e431f17642f07577.

I re-testet it, based on cd5c3979d (@master) using make check-system
TESTS=installed-os

^ permalink raw reply	[flat|nested] 13+ messages in thread

end of thread, other threads:[~2017-11-08 17:27 UTC | newest]

Thread overview: 13+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2017-11-01  8:33 [bug#29100] [PATCH 0/3] Use overlayfs instead of unionfs Hartmut Goebel
2017-11-01  8:39 ` [bug#29100] [PATCH 1/3] build: " Hartmut Goebel
2017-11-01  8:39   ` [bug#29100] [PATCH 2/3] install: " Hartmut Goebel
2017-11-02 17:44     ` Danny Milosavljevic
2017-11-02 18:20       ` Hartmut Goebel
2017-11-05 21:05         ` Ludovic Courtès
2017-11-06  9:33           ` Hartmut Goebel
2017-11-01  8:39   ` [bug#29100] [PATCH 3/3] gnu: service: Update comment Hartmut Goebel
2017-11-05 21:09     ` Ludovic Courtès
2017-11-05 21:08   ` [bug#29100] [PATCH 1/3] build: Use overlayfs instead of unionfs Ludovic Courtès
2017-11-06  9:40     ` Hartmut Goebel
2017-11-06 10:30       ` Ludovic Courtès
2017-11-08 17:26 ` bug#29100: Updated, tested again and merged Hartmut Goebel

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/guix.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).