Re: ext4 no space left

Victor Pelt
2009-01-21T18:15:45Z

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

upgrading to 2.6.29-rc2-git1 did allow me to use most of the space but
i still can't quite use all of it. maybe this is to be expected.
(note: i'm just trying testing now, everything i used to have on my
old partition fits. i'm just trying to understand what exactly is
'full'. it seems the file system is 'holding something back'

i included a dumo of df, df -i and tune2fs -l /dev/hda2
(and partition that has ext4 is the / partition or /dev/hda2)

victor

On Wed, Jan 21, 2009 at 6:04 PM, Theodore Tso <tytso@mit.edu> wrote:
> On Wed, Jan 21, 2009 at 04:18:35PM +0100, Victor Pelt wrote:
>> i set the number mounted counter to 31, which forced fsck to run on
>> the next reboot. I rebooted, fsck didn't show any erros, but i still
>> got the no space left error when i tried to copy files to the
>> partition.
>
> OK, if a reboot didn't help, I'll bet I know what happened. E2fsprogs
> changed the default default inode ratio, which means that number of
> inodes being created is half what it was previously. If you do a "df
> -i", you'll probably see that you have exhausted the number of inodes
> in the filesystem.
>
> The default inode ratio controlled by /etc/mke2fs.conf, and is
> currently 16k. That is, it assumes the average size of files on the
> filesystem is at least 16k. (It previously was 8k.) For large
> filesystems, this is not a problem; I'm guessing that you have a small
> root filesystem, and probably are using a hard-coded /dev partition,
> so the large number of (zero-length) device files is throwing off the
> average. If you recreate the filesystem with mke2fs -I 8192, it
> should allow you to copy over all of your files in the root
> filesystem.
>
> Finally, note that we made this change for all ext2/3/4 filesystems,
> so this is not unique to ext4; it's just that you reformatted your
> root filesystem for the first time since upgrading to a newer
> e2fsprogs with the changed default, and you ran into this problem. If
> there are enough people who are using small root filesystems, maybe
> we'll need to have some adjusted hueristics. Right now we have
> "floppy" for filesystems less than 3 megs, "small" for filesystems
> less than 512 megs, and every thing else is default. Maybe we need to
> have a "medium" for filesystems smaller than 10 gigs, perhaps, and use
> a default inode ratio of 8192 for medium-sized filesystems....
>
> - Ted
>

[-- Attachment #2: dump --]
[-- Type: application/octet-stream, Size: 3288 bytes --]

df

Filesystem 1K-blocks Used Available Use% Mounted on
rootfs 5044188 4725008 62944 99% /
/dev/root 5044188 4725008 62944 99% /
rc-svcdir 1024 120 904 12% /lib/rc/init.d
udev 10240 68 10172 1% /dev
cachedir 4096 4 4092 1% /lib/splash/cache
none 776804 0 776804 0% /dev/shm
/dev/hda3 24416008 22546040 1869968 93% /opt
/dev/hda6 11560764 9970208 1003300 91% /home
tmpfs 776804 0 776804 0% /tmp
tmpfs 1331200 0 1331200 0% /var/tmp
tmpfs 776804 0 776804 0% /usr/portage/distfiles

df -i

Filesystem Inodes IUsed IFree IUse% Mounted on
rootfs 320640 261978 58662 82% /
/dev/root 320640 261978 58662 82% /
rc-svcdir 194201 94 194107 1% /lib/rc/init.d
udev 194201 1427 192774 1% /dev
cachedir 194201 2 194199 1% /lib/splash/cache
none 194201 1 194200 1% /dev/shm
/dev/hda3 2066576 54161 2012415 3% /opt
/dev/hda6 1468800 559088 909712 39% /home
tmpfs 194201 4 194197 1% /tmp
tmpfs 194201 1 194200 1% /var/tmp
tmpfs 194201 1 194200 1% /usr/portage/distfiles

tune2fs -l /dev/hda2

tune2fs 1.41.3 (12-Oct-2008)
Filesystem volume name: <none>
Last mounted on: <not available>
Filesystem UUID: bd8da577-7b58-45bc-9c94-8254f718e55a
Filesystem magic number: 0xEF53
Filesystem revision #: 1 (dynamic)
Filesystem features: has_journal ext_attr resize_inode dir_index filetype needs_recovery extent flex_bg sparse_super large_file huge_file uninit_bg dir_nlink extra_isize
Filesystem flags: signed_directory_hash
Default mount options: (none)
Filesystem state: clean
Errors behavior: Continue
Filesystem OS type: Linux
Inode count: 320640
Block count: 1281183
Reserved block count: 64059
Free blocks: 79795
Free inodes: 58662
First block: 0
Block size: 4096
Fragment size: 4096
Reserved GDT blocks: 312
Blocks per group: 32768
Fragments per group: 32768
Inodes per group: 8016
Inode blocks per group: 501
Flex block group size: 16
Filesystem created: Tue Jan 20 15:29:58 2009
Last mount time: Wed Jan 21 19:35:45 2009
Last write time: Wed Jan 21 19:35:45 2009
Mount count: 10
Maximum mount count: 30
Last checked: Wed Jan 21 00:49:50 2009
Check interval: 15552000 (6 months)
Next check after: Mon Jul 20 01:49:50 2009
Reserved blocks uid: 0 (user root)
Reserved blocks gid: 0 (group root)
First inode: 11
Inode size: 256
Required extra isize: 28
Desired extra isize: 28
Journal inode: 8
Default directory hash: half_md4
Directory Hash Seed: 04df98fa-5851-4f24-b232-c8b4738aef0f
Journal backup: inode blocks