[PATCH] doc: Suggest decreasing bytes per inode.

  • Done
  • quality assurance status badge
Details
3 participants
  • Leo Famulari
  • Ludovic Courtès
  • Mohammed Sadiq
Owner
unassigned
Submitted by
Mohammed Sadiq
Severity
normal
M
M
Mohammed Sadiq wrote on 29 Sep 2017 05:29
(address . guix-patches@gnu.org)
2026981815.9444.1506655757552@webmail.mailhostbox.com
This may not be optimal. But I believe this might be good.

On my system (with 21 GiB root partition), I was always getting
"No space left on device" error while `df -h' was reporting 7 GiB
of free space. After further investigation I found that the inode
space was filled (df -i).
From 9b44896352f63f1417e241a193267a6ffdb72017 Mon Sep 17 00:00:00 2001
From: Mohammed Sadiq <sadiq@sadiqpk.org>
Date: Fri, 29 Sep 2017 08:52:02 +0530
Subject: [PATCH] doc: Suggest decreasing bytes per inode.

By default bytes per inode is 16KiB. As the store files can be really
small the inode space may get filled and errors regarding no empty space
begins to appear.

Reducing the size to 8KiB has an overhead of about 16MiB per GiB
reserved for inode, better than having lots of cannot be used partition
space.

* doc/guix.texi (Disk Partitioning): Suggest to decrease bytes per inode
for small partitions.
---
doc/guix.texi | 11 +++++++++++
1 file changed, 11 insertions(+)

Toggle diff (24 lines)
diff --git a/doc/guix.texi b/doc/guix.texi
index 1b329d255..a150fa024 100644
--- a/doc/guix.texi
+++ b/doc/guix.texi
@@ -7998,6 +7998,17 @@ partition lives at @file{/dev/sda1}, a file system with the label
mkfs.ext4 -L my-root /dev/sda1
@end example
+As the store (@pxref{The Store}) shall be having lots of directories,
+symbolic links, and small files, the inode space may run out before
+the disk space is filled, especially if the partition size is small.
+Decreasing the bytes per inode shall be better to avoid related issues.
+So, with partition @file{/dev/sda1}, and with a label @code{my-root},
+bytes per inode can be set with:
+
+@example
+mkfs.ext4 -L my-root -i 8192 /dev/sda1
+@end example
+
@cindex encrypted disk
If you are instead planning to encrypt the root partition, you can use
the Cryptsetup/LUKS utilities to do that (see @inlinefmtifelse{html,
--
2.14.1
L
L
Ludovic Courtès wrote on 3 Oct 2017 15:14
(name . Mohammed Sadiq)(address . sadiq@sadiqpk.org)(address . 28638@debbugs.gnu.org)
87tvzg74qs.fsf@gnu.org
Hello,

Mohammed Sadiq <sadiq@sadiqpk.org> skribis:

Toggle quote (5 lines)
> On my system (with 21 GiB root partition), I was always getting
> "No space left on device" error while `df -h' was reporting 7 GiB
> of free space. After further investigation I found that the inode
> space was filled (df -i).

[...]

Toggle quote (10 lines)
> +As the store (@pxref{The Store}) shall be having lots of directories,
> +symbolic links, and small files, the inode space may run out before
> +the disk space is filled, especially if the partition size is small.
> +Decreasing the bytes per inode shall be better to avoid related issues.
> +So, with partition @file{/dev/sda1}, and with a label @code{my-root},
> +bytes per inode can be set with:
> +
> +@example
> +mkfs.ext4 -L my-root -i 8192 /dev/sda1

Are you sure that this suggestion helps fix what you experienced?

I’ve used ext4 partitions much bigger than this but I’ve never needed to
pass “-i 8192” or similar.

Could it be that the ENOSPC you experienced was due to something else,
or on some other partition?

Thanks,
Ludo’.
M
M
Mohammed Sadiq wrote on 3 Oct 2017 16:05
(name . Ludovic Courtès)(address . ludo@gnu.org)(address . 28638@debbugs.gnu.org)
587759055.67303.1507039513640@webmail.mailhostbox.com
Toggle quote (4 lines)
> On October 3, 2017 at 6:44 PM Ludovic Courtès <ludo@gnu.org> wrote:
>
>
> Hello,
Hello,

Toggle quote (3 lines)
> I’ve used ext4 partitions much bigger than this but I’ve never needed to
> pass “-i 8192” or similar.
>
The issue happens when lots of small files are stored in store.
It may be possible to reproduce this by creating a separate partition
for /gnu/store with size around 5-10 GiB (I haven't tried that way though).

Toggle quote (2 lines)
> Could it be that the ENOSPC you experienced was due to something else,
> or on some other partition?
Idk. This same error was shown when downloading a file in icecat or copying
a file in nautilus in home dir.

But of course, this patch can wait, until some others have the same issue.
Anyway, note that if no space error is shown, it can either be disk space
filled (df -h) or inode space filled (df -hi).

Thanks
L
L
Leo Famulari wrote on 3 Oct 2017 16:19
(name . Ludovic Courtès)(address . ludo@gnu.org)
20171003141950.GA23431@jasmine.lan
On Tue, Oct 03, 2017 at 03:14:35PM +0200, Ludovic Courtès wrote:
Toggle quote (16 lines)
> Mohammed Sadiq <sadiq@sadiqpk.org> skribis:
> > +As the store (@pxref{The Store}) shall be having lots of directories,
> > +symbolic links, and small files, the inode space may run out before
> > +the disk space is filled, especially if the partition size is small.
> > +Decreasing the bytes per inode shall be better to avoid related issues.
> > +So, with partition @file{/dev/sda1}, and with a label @code{my-root},
> > +bytes per inode can be set with:
> > +
> > +@example
> > +mkfs.ext4 -L my-root -i 8192 /dev/sda1
>
> Are you sure that this suggestion helps fix what you experienced?
>
> I’ve used ext4 partitions much bigger than this but I’ve never needed to
> pass “-i 8192” or similar.

I've also not run out of inodes on my ext4 system that was set up with
Debian's defaults.

Also, it may be better to recommend creating the filesystem with more
inodes than usual, rather than reducing the size of the inodes. From the
man page mkfs.ext4(8):

-N number-of-inodes
Overrides the default calculation of the number of inodes that
should be reserved for the filesystem (which is based on the
number of blocks and the bytes-per-inode ratio). This allows the
user to specify the number of desired inodes directly.

But then you are really asking for too much expertise when installing
Guix, in my opinion.
-----BEGIN PGP SIGNATURE-----

iQIzBAABCAAdFiEEsFFZSPHn08G5gDigJkb6MLrKfwgFAlnTnIYACgkQJkb6MLrK
fwgjNA/8DIiC7fvOZ360FREP3yyCkat6f1gR4Cp7vQXxBxcm6hL9QRdc8FDtLPmh
Ha8fEbfc7eIGF0BtFP988C8c0kLrFiREiAxGSsxK7pR8N80TDWtZdzyD5dt9bzSE
Sj70/ZXiaua6ltCHHFq4HLKOoWEreo2vKm05rrY+nFHhJu/ZIeUYqgbxin9//Ig+
fBEdapUKK9ZdN2/CjY5z9Rm/FYlwfLEIVcHCKD6UEi/Lgd8/rie/SZUQpVAf1GIQ
gVUtgPCSCQzWKeCeM48XbuhnFAiVfH/6pLU3SnuElD1/3ER+E9UI1qCFV4Bb/3d4
24Q6UdF3tlDJLby8qukvp714v5196M48QQJSsgYF8ec+dHy23bPSKAF0feOi2K03
sXpUalaM1Hsmmv75zUNemcu1DiIvMS0A/DNP6he1lUrW07lqRZwtpJFg5sipLBVy
WcjbMyqyN6vRubUc7R6iImy5hfYvF9m1e3DtGcZ1seJgTrf30f8UJZ2IOqrMjkhL
HxK4nekiOvZRaU3QDQFw5lcTszjIcPHgvFDyau0LxAzyZOzNX62gv57EXcM93ljM
qQjBxUiF2cKr4tB3j2tMLJpYSelEextSIzDzqGaeZeOBFMFWXmM9fk8H9xJ6HNKq
Nz7wMMhhsvTjC3yMR3r8hHVE7NDDjDJGQr5OLnWtCLu+qQyfzcQ=
=XmtW
-----END PGP SIGNATURE-----


L
L
Ludovic Courtès wrote on 7 Oct 2017 22:42
control message for bug #28638
(address . control@debbugs.gnu.org)
87sheuita2.fsf@gnu.org
tags 28638 wontfix
close 28638
?