GNU bug report logs - #38435
BTRFS open_ctree failed

Previous Next

Package: guix;

Reported by: raingloom <raingloom <at> riseup.net>

Date: Sat, 30 Nov 2019 13:47:01 UTC

Severity: normal

Done: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>

Bug is archived. No further changes may be made.

Full log


View this message in rfc822 format

From: help-debbugs <at> gnu.org (GNU bug Tracking System)
To: raingloom <raingloom <at> riseup.net>
Subject: bug#38435: closed (Re: bug#38435: BTRFS open_ctree failed)
Date: Mon, 01 Feb 2021 19:17:02 +0000
[Message part 1 (text/plain, inline)]
Your bug report

#38435: BTRFS open_ctree failed

which was filed against the guix package, has been closed.

The explanation is attached below, along with your original report.
If you require more details, please reply to 38435 <at> debbugs.gnu.org.

-- 
38435: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=38435
GNU Bug Tracking System
Contact help-debbugs <at> gnu.org with problems
[Message part 2 (message/rfc822, inline)]
From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: Guillaume Le Vaillant <glv <at> posteo.net>
Cc: 38435-done <at> debbugs.gnu.org, raingloom <raingloom <at> riseup.net>
Subject: Re: bug#38435: BTRFS open_ctree failed
Date: Mon, 01 Feb 2021 14:16:10 -0500
Hello,

Guillaume Le Vaillant <glv <at> posteo.net> writes:

[...]

>>> >   (file-systems (cons* (file-system
>>> >                          (device (file-system-label "GUIX"))
>>> >                          (mount-point "/")
>>> > 			 (options "lazytime,compress")
>>> >                          (type "btrfs"))
>>> >                        ;(file-system
>>> >                        ;  (device (uuid "1234-ABCD" 'fat))
>>> >                        ;  (mount-point "/boot/efi")
>>> >                        ;  (type "vfat"))
>>> >                        %base-file-systems))
>>> >  
>>> 
>>> I just tried adding the 'lazytime' option to my root file system, and
>>> I got the same error as you when booting. Could you try removing it
>>> and see if it works?
>>> 
>>> Until recently, the options declared in 'file-system' records were
>>> always ignored when mounting the root file system. Now they are taken
>>> into consideration, and I think it reveals a bug in the way file
>>> systems are mounted. If some options like 'lazytime' or 'defaults'
>>> are declared in a 'file-system' record (root file system or not),
>>> mounting it fails. However some other options like 'compress' or
>>> 'autodefrag' work fine.
>>> 
>>> I suspect Guix adds some options by default when trying to mount file
>>> systems, and maybe we end up with conflicting options or doubled
>>> options that cause problems.
>>> 
>>> 
>>> 
>>
>> I removed it and ran reconfigure and now it works.
>
> Applying patches #38462 and #38468 and changing the file system
> definition to the following should allow you to mount the root file
> system with the 'lazytime' option:
>
> (file-system
>   (device (file-system-label "GUIX"))
>   (mount-point "/")
>   (flags '(lazy-time))
>   (options "compress")
>   (type "btrfs"))

I see these earlier patches of yours got merged already and the original
issue addressed.

Thank you!

Closing.

Maxim

[Message part 3 (message/rfc822, inline)]
From: raingloom <raingloom <at> riseup.net>
To: bug-guix <at> gnu.org
Subject: BTRFS open_ctree failed
Date: Sat, 30 Nov 2019 14:45:39 +0100
This is what I get after a recent `guix system reconfigure` :
Scanning for Btrfs filesystems
[    2.342790] BTRFS error (device sda1): open_ctree failed

Previous profiles work, I haven't modified anything about my config.scm
between them.

Full output from kernel (taken by booting it from QEMU and redirecting
ttyS0 to stdio):
```
qemu-system-x86_64 -enable-kvm -cpu host -smp 2 -hda /dev/sda -m 1G
-serial stdio WARNING: Image format was not specified for '/dev/sda'
and probing guessed raw. Automatically detecting the format is
dangerous for raw images, write operations on block 0 will be
restricted. Specify the 'raw' format explicitly to remove the
restrictions. GC Warning: pthread_getattr_np or pthread_attr_getstack
failed for main thread GC Warning: Couldn't read /proc/stat Welcome,
this is GNU's early boot Guile. Use '--repl' for an initrd REPL.

loading kernel modules...
Scanning for Btrfs filesystems
[    2.342790] BTRFS error (device sda1): open_ctree failed
ERROR: In procedure mount:
In procedure mount: Invalid argument

Entering a new prompt.  Type `,bt' for a backtrace or `,q' to continue.
GNU Guile 2.2.6
Copyright (C) 1995-2019 Free Software Foundation, Inc.

Guile comes with ABSOLUTELY NO WARRANTY; for details type `,show w'.
This program is free software, and you are welcome to redistribute it
under certain conditions; type `,show c' for details.

Enter `,help' for help.
scheme@(guile-user)> ,bt
In gnu/build/linux-boot.scm:
   533:14  2 (_)
    387:8  1 (mount-root-file-system _ _ #:volatile-root? _ #:options …)
In unknown file:
           0 (mount "/dev/sda1" "/root" "btrfs" 0 "lazytime,compress")
scheme@(guile-user)> ,q  
[   42.345826] Kernel panic - not syncing: Attempted to kill init!
```
(rest of stack trace snipped for brevity's sake)

output of `guix describe` as root:
```
Generation 26	Nov 29 2019 21:22:41	(current)
  nonguix 2df6923
    repository URL: https://gitlab.com/nonguix/nonguix.git
    branch: master
    commit: 2df692312100ac5bea9ed8e8bf0032e6db100e91
  guix dac7928
    repository URL: https://git.savannah.gnu.org/git/guix.git
    branch: master
    commit: dac7928d502d9ba4fc6a9621e5b2b15019d92d5b
```

Contents of /etc/profile.scm:

```
(define use-proprietary-crap? #f)

(use-modules (gnu)
	     (gnu system nss)
	     (gnu packages shells)
	     (gnu packages package-management)
	     (gnu packages gnome))

(if use-proprietary-crap?
    (use-modules (nongnu packages linux))
    (use-modules (gnu packages linux)))

(use-service-modules desktop ssh nix)
(use-package-modules
 bootloaders
 certs
 ratpoison
 suckless
 wm)

(operating-system
  (host-name "bingobongo")
  (timezone "Europe/Budapest")
  (locale "en_US.utf8")
  (kernel
   (if use-proprietary-crap?
       linux
       linux-libre))
  (firmware (append
	     (if use-proprietary-crap?
		 (list iwlwifi-firmware)
		 '())
	     %base-firmware))

  ;; Use the UEFI variant of GRUB with the EFI System
  ;; Partition mounted on /boot/efi.
  (bootloader (bootloader-configuration
                (bootloader grub-bootloader)
                (target "/dev/sda")))

  ;; Assume the target root file system is labelled "my-root",
  ;; and the EFI System Partition has UUID 1234-ABCD.
  (file-systems (cons* (file-system
                         (device (file-system-label "GUIX"))
                         (mount-point "/")
			 (options "lazytime,compress")
                         (type "btrfs"))
                       ;(file-system
                       ;  (device (uuid "1234-ABCD" 'fat))
                       ;  (mount-point "/boot/efi")
                       ;  (type "vfat"))
                       %base-file-systems))

  (users (append (list
		  (user-account
		   (name "raingloom")
		   (comment "your friendly localhost admin")
		   (group "users")
		   (shell "/run/current-system/profile/bin/zsh")
		   (supplementary-groups '("wheel" "netdev" "audio"
  "video" "kvm")) (home-directory "/home/raingloom")))
               %base-user-accounts))

  ;; Add a bunch of window managers; we can choose one at
  ;; the log-in screen with F1.
  (packages (cons* i3-wm i3status dmenu ;window managers
                   nss-certs            ;for HTTPS access
                   zsh                  ;nicer login shell
                   gvfs
                   nix
                   gnome
                   orca
                   %base-packages))

  ;; Use the "desktop" services, which include the X11
  ;; log-in service, networking with NetworkManager, and more.
  (services
   (append (list (service nix-service-type) (service
  openssh-service-type (openssh-configuration (x11-forwarding? #t))))
  (modify-services %desktop-services
	    (elogind-service-type config =>
				  (elogind-configuration
				   (inherit config)
				   (handle-lid-switch 'ignore))))))

  ;; Allow resolution of '.local' host names with mDNS.
  (name-service-switch %mdns-host-lookup-nss))
```



This bug report was last modified 4 years and 105 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.