Subject: bug#35472: Boot bind mount device path incorrect

From: Leo Famulari <[email-masked]>
Date: Mon, 9 Aug 2021 18:58:22 -0400

On Mon, Apr 29, 2019 at 12:27:58AM +0900, rendaw wrote:
> Package: guix
> Version: 0.16.0

Reproduced with 1.3.0ish.

> I specified a needed-at-boot bind mount from "/x/y" to "/y" but this
> failed with the error:
> 
> ERROR: In procedure stat:
> In procedure stat: No such file or directory: "/x/y"
> 
> At boot "/x" is actually mounted at "/root/x" so the bind mount path
> should be "/root/x/y" -- making such a change causes the boot to work.

To reproduce this bug:

# mkdir -p /foo/bar
# mkdir -p /bar

Add this to the file-systems field of your config.scm:

(file-system
  (device "/foo/bar")
  (mount-point "/bar")
  (type "none")
  (check? #f)
  (needed-for-boot? #t)
  (flags '(bind-mount)))

Your system should fail to boot.