unofficial mirror of help-guix@gnu.org 
 help / color / mirror / Atom feed
* Guix System ext4 index full
@ 2020-06-03 20:21 Roel Janssen
  2020-06-03 20:35 ` Tobias Geerinckx-Rice
  2020-06-03 20:43 ` Vincent Legoll
  0 siblings, 2 replies; 11+ messages in thread
From: Roel Janssen @ 2020-06-03 20:21 UTC (permalink / raw)
  To: help-guix

Dear Guix,

I'm running Guix System and I'm getting the following messages in
dmesg:
[42457.660237] EXT4-fs warning: 7076 callbacks suppressed
[42457.660240] EXT4-fs warning (device sdd3): ext4_dx_add_entry:2335:
Directory (ino: 19796947) index full, reach max htree level :2
[42457.660242] EXT4-fs warning (device sdd3): ext4_dx_add_entry:2339:
Large directory feature is not enabled on this filesystem
[42457.697840] EXT4-fs warning (device sdd3): ext4_dx_add_entry:2335:
Directory (ino: 19796947) index full, reach max htree level :2
[42457.697842] EXT4-fs warning (device sdd3): ext4_dx_add_entry:2339:
Large directory feature is not enabled on this filesystem
[42457.697930] EXT4-fs warning (device sdd3): ext4_dx_add_entry:2335:
Directory (ino: 19796947) index full, reach max htree level :2
[42457.697931] EXT4-fs warning (device sdd3): ext4_dx_add_entry:2339:
Large directory feature is not enabled on this filesystem
[42457.702879] EXT4-fs warning (device sdd3): ext4_dx_add_entry:2335:
Directory (ino: 19796947) index full, reach max htree level :2
[42457.702880] EXT4-fs warning (device sdd3): ext4_dx_add_entry:2339:
Large directory feature is not enabled on this filesystem
[42457.703994] EXT4-fs warning (device sdd3): ext4_dx_add_entry:2335:
Directory (ino: 19796947) index full, reach max htree level :2
[42457.703995] EXT4-fs warning (device sdd3): ext4_dx_add_entry:2339:
Large directory feature is not enabled on this filesystem

I used the graphical installer to install the Guix System.

Also, I cannot write to the root filesystem because the system thinks
it's full (while df shows it has ~125G free space).

Any help would be appreciated.

Kind regards,
Roel Janssen



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

* Re: Guix System ext4 index full
  2020-06-03 20:21 Guix System ext4 index full Roel Janssen
@ 2020-06-03 20:35 ` Tobias Geerinckx-Rice
  2020-06-04  9:33   ` Roel Janssen
  2020-06-03 20:43 ` Vincent Legoll
  1 sibling, 1 reply; 11+ messages in thread
From: Tobias Geerinckx-Rice @ 2020-06-03 20:35 UTC (permalink / raw)
  To: Roel Janssen; +Cc: help-guix

[-- Attachment #1: Type: text/plain, Size: 192 bytes --]

Roel,

Roel Janssen 写道:
> Large directory feature is not enabled on this filesystem

Try setting the ‘large_dir’ feature on /dev/sdd3 with tune2fs -O

Kind regards,

T G-R

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 227 bytes --]

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

* Re: Guix System ext4 index full
  2020-06-03 20:21 Guix System ext4 index full Roel Janssen
  2020-06-03 20:35 ` Tobias Geerinckx-Rice
@ 2020-06-03 20:43 ` Vincent Legoll
  2020-06-03 21:14   ` Tobias Geerinckx-Rice
  1 sibling, 1 reply; 11+ messages in thread
From: Vincent Legoll @ 2020-06-03 20:43 UTC (permalink / raw)
  To: Roel Janssen, help-guix

Hello,

On 03/06/2020 22:21, Roel Janssen wrote:
> Also, I cannot write to the root filesystem because the system thinks
> it's full (while df shows it has ~125G free space).

T
I think the filesystem (or directory) is full of inodes.

There are many forms of foulness ;-)

-- 
Vincent Legoll


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

* Re: Guix System ext4 index full
  2020-06-03 20:43 ` Vincent Legoll
@ 2020-06-03 21:14   ` Tobias Geerinckx-Rice
  2020-06-03 23:06     ` Leo Famulari
  0 siblings, 1 reply; 11+ messages in thread
From: Tobias Geerinckx-Rice @ 2020-06-03 21:14 UTC (permalink / raw)
  To: Vincent Legoll; +Cc: Roel Janssen, help-guix

[-- Attachment #1: Type: text/plain, Size: 759 bytes --]

Vincent Legoll 写道:
> I think the filesystem (or directory) is full of inodes.

No, but it's a similar hard limit, and one that not even ‘df -i’ 
will warn you about.

Ext4's dir_index feature uses hash tables to look up directory 
entries, so that for directories with a very large number of items 
(like /gnu/store!), the kernel doesn't have to do the horribly 
slow equivalent of:

  for i in *; do …; done

Unfortunately, once that hash table fills up, the premier stable 
Linux file system just… gives up and refuses to write any more 
data.  In a very cryptic way.

The large_dir flag ‘increases the limit’ (the man page does not 
say by how much) but it doesn't go away.

Your hash table is full of eels,

T G-R

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 227 bytes --]

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

* Re: Guix System ext4 index full
  2020-06-03 21:14   ` Tobias Geerinckx-Rice
@ 2020-06-03 23:06     ` Leo Famulari
  2020-06-04  9:27       ` Pierre Neidhardt
  0 siblings, 1 reply; 11+ messages in thread
From: Leo Famulari @ 2020-06-03 23:06 UTC (permalink / raw)
  To: Tobias Geerinckx-Rice; +Cc: help-guix

On Wed, Jun 03, 2020 at 11:14:23PM +0200, Tobias Geerinckx-Rice wrote:
> Unfortunately, once that hash table fills up, the premier stable Linux file
> system just… gives up and refuses to write any more data.  In a very cryptic
> way.

It's so cryptic... I wonder how often people hit this limit in practice?
Is Guix the only place it happens often? Maybe we can ask the kernel
devs to improve the error reporting here.


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

* Re: Guix System ext4 index full
  2020-06-03 23:06     ` Leo Famulari
@ 2020-06-04  9:27       ` Pierre Neidhardt
  0 siblings, 0 replies; 11+ messages in thread
From: Pierre Neidhardt @ 2020-06-04  9:27 UTC (permalink / raw)
  To: Leo Famulari, Tobias Geerinckx-Rice; +Cc: help-guix

[-- Attachment #1: Type: text/plain, Size: 137 bytes --]

I believe similar ext4 issues were mentioned recently.

A good time to test Btrfs! :)

-- 
Pierre Neidhardt
https://ambrevar.xyz/

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 487 bytes --]

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

* Re: Guix System ext4 index full
  2020-06-03 20:35 ` Tobias Geerinckx-Rice
@ 2020-06-04  9:33   ` Roel Janssen
  2020-06-04 13:05     ` Tobias Geerinckx-Rice
  0 siblings, 1 reply; 11+ messages in thread
From: Roel Janssen @ 2020-06-04  9:33 UTC (permalink / raw)
  To: Tobias Geerinckx-Rice; +Cc: help-guix

On Wed, 2020-06-03 at 22:35 +0200, Tobias Geerinckx-Rice wrote:
> Roel,
> 
> Roel Janssen 写道:
> > Large directory feature is not enabled on this filesystem
> 
> Try setting the ‘large_dir’ feature on /dev/sdd3 with tune2fs -O
> 
> Kind regards,
> 
> T G-R

Thanks for the suggestion.  So I did:
$ tune2fs -O large_dir /dev/sdd3

.. and after a reboot I get booted into a GRUB resque shell.

After booting from a live USB, I chrooted into the Guix system and when
running the following command, I get the following error:
$ guix system reconfigure /etc/config.scm
...
guix system: error: while setting up the build environment: cannot
pivot old root directory onto
'/gnu/store/4q1vpidsawmfhmqdwy4mxvjc720jxcjm-slim-
1.3.6.drv.chroot/real-root': Invalid argument

So.. do you have a suggestion for how I could boot into the Guix system
again?

Kind regards,
Roel Janssen



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

* Re: Guix System ext4 index full
  2020-06-04  9:33   ` Roel Janssen
@ 2020-06-04 13:05     ` Tobias Geerinckx-Rice
  2020-06-04 13:27       ` Tobias Geerinckx-Rice
  2020-06-04 18:55       ` Roel Janssen
  0 siblings, 2 replies; 11+ messages in thread
From: Tobias Geerinckx-Rice @ 2020-06-04 13:05 UTC (permalink / raw)
  To: Roel Janssen; +Cc: help-guix

[-- Attachment #1: Type: text/plain, Size: 1913 bytes --]

Roel,

Roel Janssen 写道:
> Thanks for the suggestion.  So I did:
> $ tune2fs -O large_dir /dev/sdd3
>
> .. and after a reboot I get booted into a GRUB resque shell.

Shart.  It seems that GRUB still[0] can't read ext4 file systems 
with features newer than 2017 :-/  I'll never recommend this again 
(I use it myself…).

The flag can't be cleared once set:

  $ sudo tune2fs -O ^large_dir img
  tune2fs 1.45.6 (20-Mar-2020)
  Clearing filesystem feature 'large_dir' not supported.

Your data's perfectly safe.  This is just a GRUB limitation.

> So.. do you have a suggestion for how I could boot into the Guix 
> system
> again?

I think realistic options are:

- Migrate to any other file system like btrfs, then use the live 
  USB's GRUB to bootstrap it using ‘configfile 
  (hdX,Y)/your/grub.cfg’ so you don't have to reinstall anything, 
  just copy.  This can even be done-in place[1], assuming you have 
  back-ups.

- Use a separate /boot partition if you want to keep using ext4 
  for large /gnus.  You'll have to manually copy each kernel & 
  friends to /boot but this can be automated in your system .scm.

> After booting from a live USB, I chrooted into the Guix system 
> and when
> running the following command, I get the following error:
> $ guix system reconfigure /etc/config.scm
> ...
> guix system: error: while setting up the build environment: 
> cannot
> pivot old root directory onto
> '/gnu/store/4q1vpidsawmfhmqdwy4mxvjc720jxcjm-slim-
> 1.3.6.drv.chroot/real-root': Invalid argument

I think your in-chroot guix is talking to the live system's 
guix-daemon.  Perhaps stopping the out-of-chroot daemon and 
starting a ‘guix-daemon --disable-chroot’ inside the chroot will 
work.

Kind regards,

T G-R

[0]: https://savannah.gnu.org/bugs/?56897
[1]: https://btrfs.wiki.kernel.org/index.php/Manpage/btrfs-convert

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 227 bytes --]

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

* Re: Guix System ext4 index full
  2020-06-04 13:05     ` Tobias Geerinckx-Rice
@ 2020-06-04 13:27       ` Tobias Geerinckx-Rice
  2020-06-04 18:55       ` Roel Janssen
  1 sibling, 0 replies; 11+ messages in thread
From: Tobias Geerinckx-Rice @ 2020-06-04 13:27 UTC (permalink / raw)
  Cc: Roel Janssen, help-guix

[-- Attachment #1: Type: text/plain, Size: 391 bytes --]

Tobias Geerinckx-Rice 写道:
> I think your in-chroot guix is talking to the live system's
> guix-daemon.  Perhaps stopping the out-of-chroot daemon and 
> starting a
> ‘guix-daemon --disable-chroot’ inside the chroot will work.

If that doesn't help, perhaps this[0] will.

Kind regards,

T G-R

[0]: 
https://lists.gnu.org/archive/html/help-guix/2018-03/msg00116.html

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 227 bytes --]

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

* Re: Guix System ext4 index full
  2020-06-04 13:05     ` Tobias Geerinckx-Rice
  2020-06-04 13:27       ` Tobias Geerinckx-Rice
@ 2020-06-04 18:55       ` Roel Janssen
  2020-06-04 19:00         ` Vincent Legoll
  1 sibling, 1 reply; 11+ messages in thread
From: Roel Janssen @ 2020-06-04 18:55 UTC (permalink / raw)
  To: Tobias Geerinckx-Rice; +Cc: help-guix

Hi Tobias,

Thanks for your help.  Don't worry, I figured I had to reinstall it,
which is okay. :)

Unfortunately, after reinstalling Guix using Btrfs as the root
filesystem I cannot seem to boot either.  The last line printed on the
screen is:
[   10.830469 ] Error: Driver 'pcspkr' is already registered,
aborting...

I think it has something to do with the "compatibility support module"
option in the BIOS, because without it I couldn't boot the LiveUSB.  It
seems that booting and installing Fedora 32 works just fine with the
same hardware, so this is definitely an area where I'd like to see Guix
improve.

Kind regards,
Roel Janssen


On Thu, 2020-06-04 at 15:05 +0200, Tobias Geerinckx-Rice wrote:
> Roel,
> 
> Roel Janssen 写道:
> > Thanks for the suggestion.  So I did:
> > $ tune2fs -O large_dir /dev/sdd3
> > 
> > .. and after a reboot I get booted into a GRUB resque shell.
> 
> Shart.  It seems that GRUB still[0] can't read ext4 file systems 
> with features newer than 2017 :-/  I'll never recommend this again 
> (I use it myself…).
> 
> The flag can't be cleared once set:
> 
>   $ sudo tune2fs -O ^large_dir img
>   tune2fs 1.45.6 (20-Mar-2020)
>   Clearing filesystem feature 'large_dir' not supported.
> 
> Your data's perfectly safe.  This is just a GRUB limitation.
> 
> > So.. do you have a suggestion for how I could boot into the Guix 
> > system
> > again?
> 
> I think realistic options are:
> 
> - Migrate to any other file system like btrfs, then use the live 
>   USB's GRUB to bootstrap it using ‘configfile 
>   (hdX,Y)/your/grub.cfg’ so you don't have to reinstall anything, 
>   just copy.  This can even be done-in place[1], assuming you have 
>   back-ups.
> 
> - Use a separate /boot partition if you want to keep using ext4 
>   for large /gnus.  You'll have to manually copy each kernel & 
>   friends to /boot but this can be automated in your system .scm.
> 
> > After booting from a live USB, I chrooted into the Guix system 
> > and when
> > running the following command, I get the following error:
> > $ guix system reconfigure /etc/config.scm
> > ...
> > guix system: error: while setting up the build environment: 
> > cannot
> > pivot old root directory onto
> > '/gnu/store/4q1vpidsawmfhmqdwy4mxvjc720jxcjm-slim-
> > 1.3.6.drv.chroot/real-root': Invalid argument
> 
> I think your in-chroot guix is talking to the live system's 
> guix-daemon.  Perhaps stopping the out-of-chroot daemon and 
> starting a ‘guix-daemon --disable-chroot’ inside the chroot will 
> work.
> 
> Kind regards,
> 
> T G-R
> 
> [0]: https://savannah.gnu.org/bugs/?56897
> [1]: https://btrfs.wiki.kernel.org/index.php/Manpage/btrfs-convert



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

* Re: Guix System ext4 index full
  2020-06-04 18:55       ` Roel Janssen
@ 2020-06-04 19:00         ` Vincent Legoll
  0 siblings, 0 replies; 11+ messages in thread
From: Vincent Legoll @ 2020-06-04 19:00 UTC (permalink / raw)
  To: Roel Janssen, Tobias Geerinckx-Rice; +Cc: help-guix

Hello Roel,

On 04/06/2020 20:55, Roel Janssen wrote:
> Thanks for your help.  Don't worry, I figured I had to reinstall it,
> which is okay. :)
> 
> Unfortunately, after reinstalling Guix using Btrfs as the root
> filesystem I cannot seem to boot either.  The last line printed on the
> screen is:
> [   10.830469 ] Error: Driver 'pcspkr' is already registered,
> aborting...
> 
> I think it has something to do with the "compatibility support module"
> option in the BIOS, because without it I couldn't boot the LiveUSB.
Did you try reverting this option back to the state it was in before
doing the USB installation ?

This may be a BIOS / UEFI bootability difference between the USB flash
disk and the installed system.

-- 
Vincent Legoll


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

end of thread, other threads:[~2020-06-04 19:00 UTC | newest]

Thread overview: 11+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-06-03 20:21 Guix System ext4 index full Roel Janssen
2020-06-03 20:35 ` Tobias Geerinckx-Rice
2020-06-04  9:33   ` Roel Janssen
2020-06-04 13:05     ` Tobias Geerinckx-Rice
2020-06-04 13:27       ` Tobias Geerinckx-Rice
2020-06-04 18:55       ` Roel Janssen
2020-06-04 19:00         ` Vincent Legoll
2020-06-03 20:43 ` Vincent Legoll
2020-06-03 21:14   ` Tobias Geerinckx-Rice
2020-06-03 23:06     ` Leo Famulari
2020-06-04  9:27       ` Pierre Neidhardt

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).