# [EXT4] problème d'espace libre (résolu)

## loopx

Bonjour, 

J'ai acheté un disque samsung f1 de 1To, j'y ai placé tout le contenu d'un autre samsung F1 de 750Go (il était plein, ca a pris 7 heures pour la copie USB=>SATA).

Ok, tout s'est bien passé, j'ai formaté le To en 1 partition EXT4 (mkfs.ext4 -L LOOPX-DATA /dev/sdb1).

Aujourd'hui, j'ai mis ce nouveau disque (branché en SATA) dans un rack USB2. Et, je viens de constater un truc de bizare au niveau mathématique :

¢ŧ “œ→ł\¸n ¢ł@“→€¶ æ↓→ đœ→¶€[[[[[[[[[

EDIT: j'ai du tuer le X, mon clavier qui recommence à déconner (voir ligne ci-dessus ..). 

Donc, j'ai vu ceci :

```

/dev/sdc1             917G  695G  177G  80% /media/LOOPX-DATA

```

917-695=222  ... donc, j'ai perdu 50Go d'un coup!!!! 

Donc, quelqu'un pourrait m'éclairer ??????    J'ai peur de formater l'ancien disque si jamais l'EXT4 déconne ou autre ...

Heeeeeeeelp  :Sad: 

EDIT2: voici les info sur le FS :

```

loop ~ # tune2fs -l /dev/sdc1

tune2fs 1.41.4 (27-Jan-2009)

Filesystem volume name:   LOOPX-DATA

Last mounted on:          <not available>

Filesystem UUID:          7ecb2e77-5d16-402d-a44c-a1c1f02491ea

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:              61054976

Block count:              244190000

Reserved block count:     12209500

Free blocks:              58376877

Free inodes:              60628253

First block:              0

Block size:               4096

Fragment size:            4096

Reserved GDT blocks:      965

Blocks per group:         32768

Fragments per group:      32768

Inodes per group:         8192

Inode blocks per group:   512

Flex block group size:    16

Filesystem created:       Tue Mar 31 22:21:01 2009

Last mount time:          Wed Apr  1 17:44:12 2009

Last write time:          Wed Apr  1 17:44:12 2009

Mount count:              3

Maximum mount count:      27

Last checked:             Tue Mar 31 22:21:01 2009

Check interval:           15552000 (6 months)

Next check after:         Sun Sep 27 22:21:01 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:      595b38db-2eef-4c9e-9ba3-06c88b0926e0

Journal backup:           inode blocks

```

Aurais-je mal fait cela ?

EDIT3: première ligne: le nouveau, deuxième ligne: l'ancien :

```

/dev/sdc1             917G  695G  177G  80% /media/LOOPX-DATA

/dev/sdb1             699G  698G  610M 100% /mnt/extern

loop ~ # du /media/LOOPX-DATA/ -sh

695G    /media/LOOPX-DATA/

loop ~ # du /mnt/extern -sh

698G    /mnt/extern

```

En EXT4, le "du" à été plus vite   :Smile:   et en plus, bien que 3 fichier doc n'ont pas été copié sur le nouveau disque, j'ai récupéré 3Go d'espace libre ... (mais j'en ai perdu presque 50 ailleurs et ca, je comprend pas du tout ...).

      ah, une dernière :

```

/dev/sdc1 on /media/LOOPX-DATA type ext4 (rw,nosuid,nodev,uhelper=hal)

/dev/sdb1 on /mnt/extern type vfat (rw)

```

ma partition EXT4 a été monté via KDE4 ...

----------

## guilc

```
tune2fs -m0
```

C'est l'espace réservé par défaut au seul utilisateur root !

----------

## loopx

 *guilc wrote:*   

> 
> 
> ```
> tune2fs -m0
> ```
> ...

 

T'es sur  :Surprised:    j'avais entendu parler de centaine de méga, mais pas de Go  :Surprised:  :Surprised:  :Surprised: 

EDIT: comment je peux connaitre le pourcentage actuel avant de modifier cela ???

 *Quote:*   

> -m reserved-blocks-percentage
> 
>               Set  the  percentage  of the filesystem which may only be allocated by privileged processes.   Reserving some number of filesystem blocks for use by
> 
>               privileged processes is done to avoid filesystem fragmentation, and to allow system daemons, such as syslogd(, to continue to  function  correctly
> ...

 

5% de 1000 = 50Go .... Ca doit être ca  :Smile: 

----------

## loopx

Oh yeahhh

```
loop ~ # tune2fs -m0 /dev/sdc1

tune2fs 1.41.4 (27-Jan-2009)

Initialisation du pourcentage de blocs réservés à 0% (0 blocs)

loop ~ # df -h

Sys. de fich.         Tail. Occ. Disp. %Occ. Monté sur

rootfs                 19G   13G  6,2G  67% /

/dev/root              19G   13G  6,2G  67% /

rc-svcdir             1,0M   76K  948K   8% /lib/rc/init.d

udev                   10M  100K   10M   1% /dev

none                  504M     0  504M   0% /dev/shm

/dev/sda4             186G  160G   27G  86% /mnt/data

/dev/sdc1             917G  695G  223G  76% /media/LOOPX-DATA

/dev/sdb1             699G  698G  610M 100% /mnt/extern
```

That's it!

Merci pour l'info  :Smile:    et je pense que c'est aussi noté dans tune2fs -l ... (c'est pas un pourcentage, c'est juste un nombre de bloque ...).

----------

## guilc

De toute façon, les blocs réservés, sur une partition de donnée, ça sert à rien.

Tout au plus ça peut être utile sur un /var pour que la machine ne soit pas complètement flinguée en cas de FS plein, mais pour le reste, ça ne sauvera pas...

----------

## loopx

 *guilc wrote:*   

> De toute façon, les blocs réservés, sur une partition de donnée, ça sert à rien.
> 
> Tout au plus ça peut être utile sur un /var pour que la machine ne soit pas complètement flinguée en cas de FS plein, mais pour le reste, ça ne sauvera pas...

 

Tout à fait d'accord, la c'est un FS qui contient pas de /var donc, je m'en fou, mais l'option est intéressante car quand on se retrouve avec un pc qui veut plus booter car /var à 100% ... c'est lourd aussi  :Smile: 

Je vais bientot réinstaller ma Gentoo en ext4  :Razz:     Je conserverais surement cette option  :Wink: 

----------

## El_Goretto

Franchement, ext4, la suppression de fichiers de plusieurs Go, comment ça fait plaisir...  :Smile: 

----------

## loopx

 *El_Goretto wrote:*   

> Franchement, ext4, la suppression de fichiers de plusieurs Go, comment ça fait plaisir... 

 

Bah ce sont des petites choses à savoir  :Wink: 

----------

## loopx

Plop, 

je remonte ce thread car j'aurais encore et toujours des questions avec le non familier EXT4 ...

Alors voilà ... Ma nouvelle Gentoo est maintenant installé et opérationel... Mais, il y a des trucs étrange. Par exemple, au début (2.6.29), ma root partition était en EXT4 ... ca démarre ... MAIS, impossible de monter une autre partition EXT4 ... Pourquoi ? car une option du kernel à sauté (celle qui permet de prendre en charge les fichiers super énorme   :Laughing: ). Donc, en principe, si cette option n'est pas activée dans le kernel, il est impossible de monter la partition EXT4, sauf en lecture seul. Pourtant, j'ai fais des emerges etc, sur une partition EXT4 ... Donc, comment est-ce possible ? Sûrement le fait que ma partition EXT4 soit montée en EXT3 (malgré que j'ai mis EXT4 dans fstab ...) hum ...

Ok, admetons ... J'ai maintenant 3 partitions EXT4 (pour ca que j'ai bcp de question, le total fait quand meme plus de 1,5To de données ...). J'aimerais savoir (je l'avais peut êtr déjà demandé plus haut) comment connaitre exactement les options ACTIVES du filesystems. Donc, j'ai trouvé que "tune2fs :

```
loop loopx # tune2fs -l /dev/sda2

tune2fs 1.41.4 (27-Jan-2009)

Filesystem volume name:   gentoo

Last mounted on:          <not available>

Filesystem UUID:          671c334b-1e1c-49bf-8c5e-58f9391931b6

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:              1525920

Block count:              6102691

Reserved block count:     305134

Free blocks:              4511873

Free inodes:              1153393

First block:              0

Block size:               4096

Fragment size:            4096

Reserved GDT blocks:      1022

Blocks per group:         32768

Fragments per group:      32768

Inodes per group:         8160

Inode blocks per group:   510

Flex block group size:    16

Filesystem created:       Thu Apr  2 18:33:56 2009

Last mount time:          Sun Apr  5 21:07:02 2009

Last write time:          Sun Apr  5 21:07:02 2009

Mount count:              16

Maximum mount count:      23

Last checked:             Thu Apr  2 18:33:56 2009

Check interval:           15552000 (6 months)

Next check after:         Tue Sep 29 18:33:56 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

First orphan inode:       290992

Default directory hash:   half_md4

Directory Hash Seed:      bfe99009-2b56-41f4-8eb6-83c18d3de373

Journal backup:           inode blocks
```

Plus précisement, ces lignes :

```
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
```

et, pour du vrai EXT4, d'après mes lectures, il faut que "extent" soit précisé ... Ok dans mon ca et pour toutes mes partition. Mais voilà, si je monte ca différement ou quoi ... est-ce que "tune2fs" me parle bien des options ACTUELLEMENT ACTIVE ???????

Exemple :

```
loop loopx # mount

/dev/root on / type ext4 (rw,barrier=1,data=ordered)

/dev/sda6 on /mnt/data type ext4 (rw)

/dev/sdb1 on /media/LOOPX-DATA type ext4 (rw,nosuid,nodev,uhelper=hal)
```

Voilà les lignes parlant de mes 3 partitions EXT4 ... Voyez par vous même, les options de "mount" ne sont pas identique ...    Je dirais, pas identique du tout (le premier est la root, le deuxième est les data sur le meme disque, monté automatiquement via fstab et le 3ème est monté via KDE4 car c'set un disque externe).

Mon inquiétude, c'est que une de mes partitions EXT4 n'utilise pas toutes ses capacités ... Genre, extent, ce qui fragmentera, etc etc. 

Voici les lignes du fstab :

```
/dev/sda2               /               ext4            defaults        0 1

/dev/sda6               /mnt/data       ext4            defaults        0 1
```

Vous pourez le constater, j'ai mis "defaults" en espérant qu'il me monte la partition avec les options qui font que ma partition est une "vrai" EXT4 (extent etc ...) mais, je n'en ai absolument aucune certitude, ce qui me déplait  :Sad:  (surtout quand on regarde l'exemple du mount ... il me fait peur ...).

Quand j'utilise "tune2fs", mes partitions ont toute ceci :

```
Default mount options:    (none)
```

Faudrait-il que j'y place quelques choses pour que le mount "defaults" utilisent les bonnes options ? Et comment connaitre précisément les options de montages utilisée (qui se cache derrière "defaults" ?????

Merci d'avance   :Cool: 

----------

## titoucha

Je peux te confirmer que j'ai l'option extent quand à savoir pourquoi je l'ai et pas toi mystère.

J'utilise aussi default comme option de montage dans mon fstab.

----------

## loopx

 *titoucha wrote:*   

> Je peux te confirmer que j'ai l'option extent quand à savoir pourquoi je l'ai et pas toi mystère.
> 
> J'utilise aussi default comme option de montage dans mon fstab.

 

Voilà qui est très embêtant ...

----------

## El_Goretto

Je vais peut être dire une connerie (il est tard), mais je n'arrive pas à remettre la main dessus: il me semblait que toutes les nouvelles fonctionnalités étaient maintenant activées d'office, lorsqu'on faisait un mkfs.ext4 (cad pas une migration d'un ext3 via tun2fs).

Et que le mount aussi activait des options bien par défaut: 

 *http://www.ibm.com/developerworks/linux/library/l-ext4/ wrote:*   

> Be aware that the default mount options enable extents, which renders the file system unusable as an ext3 file system.

 

----------

## titoucha

Tu dois avoir raison car j'ai formaté et monté les disques avec les options par défaut et tout fonctionne.

----------

## loopx

 *titoucha wrote:*   

> Tu dois avoir raison car j'ai formaté et monté les disques avec les options par défaut et tout fonctionne.

 

Eh, moi aussi j'ai utilisé mkfs.ext4  :Sad:     pourtant, je vois pas ca dans les options de mount ...

----------

## loopx

Bon, après des recherches partout sur le google, .. j'en conclu que si on fait un "mkfs.ext4", alors les options sont activées comme il faut ... et puis c'est tout !

Donc, pour les options de mon /, ca doit pas être bien grave, ca doit surtout être des options "en plus" qui viennent ... je sais pas d'ou. note que ma partition / ext4 contient /boot ... alors qu'il est dit partout que grub ne supporte pas l'ext4. Pourtant, ca boot, la preuve   :Laughing: 

Donc, j'en conclu que tout est bien qui fini bien ... Je ne devrais pas m'inquiéter autant  :Smile: 

----------

## titoucha

Je viens de relire ton premier message et j'ai constaté que tu avais l'option extent  *Quote:*   

> 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

 

----------

## loopx

 *titoucha wrote:*   

> Je viens de relire ton premier message et j'ai constaté que tu avais l'option extent  *Quote:*   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 

 

Oui, ca je sais, mais moi je voulais savoir si cette option était bien activé avec les mounts que j'ai ...   Aucun moyen de vraiment le savoir, aucune commande ne le précise clairement ...

----------

