Subject: bug#25573: closed (Re: bug#25573: Adding btrfs support may break reconfigured system)

From: [email-masked] (GNU bug Tracking System)
Date: Tue, 31 Jan 2017 22:24:02 +0000

Your bug report

#25573: Adding btrfs support may break reconfigured system

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 [email-masked].

-- 
25573: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=25573
GNU Bug Tracking System
Contact [email-masked] with problems

Subject: Re: bug#25573: Adding btrfs support may break reconfigured system
From: [email-masked] (Ludovic Courtès)
To: Alex Kost <[email-masked]>
Cc: [email-masked]
Date: Tue, 31 Jan 2017 23:23:07 +0100
List-Id: <debbugs-submit.debbugs.gnu.org>

Alex Kost <[email-masked]> skribis:

> Ludovic Courtès (2017-01-30 10:41 +0100) wrote:
>
>> Hi,
>>
>> Alex Kost <[email-masked]> skribis:
>>
>>> 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.
>>
>> I think this is due to ‘read-superblock’ trying to seek beyond the end
>> of one of the devices that’s on your machine.
>>
>> Could you try the attached patch and see if it solves the problem?
>
> Yes, guix makes a bootable system with this modification, thank you!

Fixed in 2fe4ceee18f8687de8520d28dbfefc7bc3a7e084, thanks for testing!

Ludo’.

Subject: Adding btrfs support may break reconfigured system
From: Alex Kost <[email-masked]>
To: [email-masked]
Date: Sun, 29 Jan 2017 21:03:56 +0300
List-Id: <debbugs-submit.debbugs.gnu.org>

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