Subject: Adding btrfs support may break reconfigured system

From: Alex Kost <[email-masked]>
Date: Sun, 29 Jan 2017 21:03:56 +0300

Hello, recently I found that "guix system" makes a "broken" system for
me.  When I boot a freshly created system, I get something like this:

  In procedure <...> at ./gnu/build/file-systems.scm:282:4 (device)
  In procedure fport_seek: Invalid argument

and I'm thrown at the Guile promt.

The same problem (well, I think it's the same) was also reported by
roptat on #guix:

  https://gnunet.org/bot/log/guix/2017-01-28#T1277485

After bisecting the guix git checkout, I found that commit b1a505baf6¹
was the first one where my system starts to fail.  And indeed when I
reverted this commit on the latest master, guix built a working system.
Moreover, the following simple diff (it's a partial revert of that
commit) "fixes" guix for me:

diff --git a/gnu/build/file-systems.scm b/gnu/build/file-systems.scm
index 6e5c6aa..f05e035 100644
--- a/gnu/build/file-systems.scm
+++ b/gnu/build/file-systems.scm
@@ -294,15 +294,11 @@ partition field reader that returned a value."
 
 (define %partition-label-readers
   (list (partition-field-reader read-ext2-superblock
-                                ext2-superblock-volume-name)
-        (partition-field-reader read-btrfs-superblock
-                                btrfs-superblock-volume-name)))
+                                ext2-superblock-volume-name)))
 
 (define %partition-uuid-readers
   (list (partition-field-reader read-ext2-superblock
-                                ext2-superblock-uuid)
-        (partition-field-reader read-btrfs-superblock
-                                btrfs-superblock-uuid)))
+                                ext2-superblock-uuid)))
 
 (define read-partition-label
   (cut read-partition-field <> %partition-label-readers))

I don't have btrfs anywhere (only ext4).  During bisecting experiments I
used the attached system config (but the config shouldn't matter I think
as I tried various variants, and all gave me the same result).

Any idea how to dig further?  Perhaps there is something I can do in the
Guile prompt.

¹ http://git.savannah.gnu.org/cgit/guix.git/commit/?id=b1a505baf61cc771197eb44af9173f31d2bace46