# [reiser4]patch/plugin "cryptcompress"

## Enlight

Aaaaaaaaaaah ça veut dire reiser4 avec la compression machin chose qui arrache tout... dilemme, horrible dilemme, je switche ou pas   :Confused: 

-- 

ndm : partie du thread sur les cj-sources déviant trop sur reiser4 et ses évolutions.

Mise en situation : LostControl vient d'annoncer la sortie du 2.6.16-cj1.

Enjoy !

----------

## yoyo

 *Enlight wrote:*   

> Aaaaaaaaaaah ça veut dire reiser4 avec la compression machin chose qui arrache tout... dilemme, horrible dilemme, je switche ou pas  

 N'est-il pas nécessaire dans ce cas de reconstruire son fs ? Il me semblait avoir vu quelque chose à ce sujet (changement de libaal et reiser4progs par exemple).

----------

## Enlight

 *yoyo wrote:*   

>  *Enlight wrote:*   Aaaaaaaaaaah ça veut dire reiser4 avec la compression machin chose qui arrache tout... dilemme, horrible dilemme, je switche ou pas   N'est-il pas nécessaire dans ce cas de reconstruire son fs ? Il me semblait avoir vu quelque chose à ce sujet (changement de libaal et reiser4progs par exemple).

 

Normalement on peut s'en tirer avec un fsck je crois, faut regarder chez namesys.

----------

## yoyo

Info tirée du wiki : HOWTO Update reiser4 partitions.

 * Update process

 wrote:*   

> fsck.reiser4 --fix /dev/hdaX
> 
> fsck.reiser4 --build-sb /dev/hdaX
> 
> debugfs.reiser4 -C /dev/hdaX
> ...

 

Enfin, normalement c'est pour un changement de libaal et reiser4progs (et il faut un livecd qui est le support de ces progs/libs).

Mes 0.02 cents

----------

## Enlight

On peut aussi faire un initrd, faut bash, mount, fsck.reiser4 ,pivot_root, leur libs... un p'tit script, une entrée dans le grub.conf et zou!

----------

## LostControl

 *Enlight wrote:*   

> Aaaaaaaaaaah ça veut dire reiser4 avec la compression machin chose qui arrache tout... dilemme, horrible dilemme, je switche ou pas  

 

Euh... Est-ce que tu peux développer un peu ? Tu as des sources à ce sujet ?

Merci

----------

## Enlight

namesys.com -> benchmarks -> linux 2.6.15-mm4 reiser4 vs reiser4 cryptcompress vs ext3.

----------

## ultrabug

 *Enlight wrote:*   

> namesys.com -> benchmarks -> linux 2.6.15-mm4 reiser4 vs reiser4 cryptcompress vs ext3.

 

Et tout s'éclaircit...   :Rolling Eyes:   :Surprised: 

EDIT_D_M : post de yoyo issu du thread des cj-sources *yoyo wrote:*   

>  *Enlight wrote:*   namesys.com -> benchmarks -> linux 2.6.15-mm4 reiser4 vs reiser4 cryptcompress vs ext3. Si j'ai bien tout saisi, il faut reformater sa partition avec les options "kivontbien". Il n'y a pas moyen de conserver ses données ?
> 
> Et ce fameux patch/plugin "cryptcompress", il est intégré dans le patch "reiser4-for-2.6.16-rc6-mm2" ?

 

----------

## Enlight

 *yoyo wrote:*   

>  *Enlight wrote:*   namesys.com -> benchmarks -> linux 2.6.15-mm4 reiser4 vs reiser4 cryptcompress vs ext3. Si j'ai bien tout saisi, il faut reformater sa partition avec les options "kivontbien". Il n'y a pas moyen de conserver ses données ?
> 
> Et ce fameux patch/plugin "cryptcompress", il est intégré dans le patch "reiser4-for-2.6.16-rc6-mm2" ?
> 
> ...
> ...

 

Je regarde ce soir si on peut arriver à la même chose avec les debugfs et fsck. Si c'est bon je prépare un ch'ti script.

----------

## Enlight

pu*** j'avais pas vu qu'il fallait des patchs (kernel ET reiser4progs) supplémentaires pour le cryptcompress... je suis obligé d'attendre la semaine prochaine pour tester.

je prie pour que les patch against mm-sources passe sur les cj parceque des mm sources qui bootent j'en ai encore pas vu des masses... (2.6.15-mm3 freeze sur freeing memory, mm4 n'arrive pas a lire correctement "root=/dev/hda1" et tentent un boot via NFS :/ )

----------

## yoyo

 *Enlight wrote:*   

> pu*** j'avais pas vu qu'il fallait des patchs (kernel ET reiser4progs) supplémentaires pour le cryptcompress... je suis obligé d'attendre la semaine prochaine pour tester.

 Tu es sûr de ça ???

Il n'est pas déjà inclus dans le patch reiser4-for-mm ? Et pour reiser4progs les patchs datent de quand ?

----------

## Enlight

sur et certain, j'ai voyagé dans les sources hier soir vérifié 20 fois mon ./configure --help etc...

le patch est dans downloads/tmp et j'ai pas le net chez wam, pas de lecteur disquette etc...   :Crying or Very sad: 

----------

## yoyo

En effet, il y a même un reiser4progs-1.0.6.tar.gz dans ce dossier. Je ne sais pas s'il est bien stable. Et la série de patch est à appliquée au noyau donc le RIP liveCD ne doit pas l'avoir etc.

Mouais, tout ça me semble encore trop vert. /me passe son tour.  :Mr. Green: 

PS : arrêtons de squatter le thread des cj. Je me demande d'ailleurs si je ne vais pas splitter la partie reiser4 ...

----------

## Enlight

 *yoyo wrote:*   

> En effet, il y a même un reiser4progs-1.0.6.tar.gz dans ce dossier. Je ne sais pas s'il est bien stable. Et la série de patch est à appliquée au noyau donc le RIP liveCD ne doit pas l'avoir etc.
> 
> Mouais, tout ça me semble encore trop vert. /me passe son tour. 
> 
> PS : arrêtons de squatter le thread des cj. Je me demande d'ailleurs si je ne vais pas splitter la partie reiser4 ...

 

Je vote le split, j'avais encore plein de trucs dont j'avais envie de parler là dessus.

----------

## yoyo

 *Enlight wrote:*   

> Je vote le split, j'avais encore plein de trucs dont j'avais envie de parler là dessus.

 Done !

En souhaitant que ça ne parte pas en troll (rapport aux benchs du début de thread).   :Rolling Eyes:   :Arrow: 

 :Arrow:   Ce sujet traite de l'évolution de reiser4 et n'a pas pour but de dénigrer les autres fs. Depuis le temps qu'on nous bassine avec "reiser4 est _modulaire_, il pourra donc évoluer et inclure de nouvelles fonctionnalités qui déchirent tout !!" et bien en voila une !

J'attends de voir avec impatience comment elle va s'intégrer (reformatage de partition nécessaire ou simple reconstruction du fs etc.) et ce qu'elle va apporter (vitesse, stabilité, utilisation cpu etc.).

Enjoy !

----------

## Enlight

yoyo, tu pourrais tester un truc s'il te plait? si tu downloade le patch cryptcompress (dans le répertoire /tmp du ftp namesys) pour les 2.6.15-mm4 est-ce que tu arrives à le dézipper?

C'est pour savoir si j'ai joué de malchance, mais j'ai droit à not in gz format.... alors que c'est du gz normalement   :Confused: 

----------

## yoyo

Tu parles bien du patch qui se trouve ici : ftp://ftp.namesys.com/pub/tmp/cryptcompress_patches/2.6.15-mm4/patches ?

Parce que je l'ai récupéré (wget) et gunzippé sans aucun problème (enfin je suppose que tu le sais, mais il n'est pas utile de dézipper un patch pour l'appliquer; zcat fonctionne très bien   :Wink:   ).

Enjoy !

PS : si tu as encore des problèmes, je peux te le faire suivre par mail (M.P. moi).

----------

## Enlight

Oui je sais pour zcat; enfin bref y'a une malédiction qui veut m'empecher de tester   :Crying or Very sad:  j'ai enregistré le patch sur clé usb chez un pote et arrivé chez moi... pfft disparu, je l'ai gravé ce WE parmis des tonnes d'autres sources... c'est le seul à être corrompu sur le cd   :Rolling Eyes: 

----------

## Enlight

yoyo, je suis une buse!!!! le support cryptcompress EST dans les CJ et mm depuis belle lurette, il faut activer ZLIB_INFLATE en plus du reiser4 et hop, magie.

----------

## yoyo

oui, mais comment savoir s'il a été utilisé lors de la création du fs et le cas échéant comment le "convertir" ??

----------

## Enlight

 *yoyo wrote:*   

> oui, mais comment savoir s'il a été utilisé lors de la création du fs et le cas échéant comment le "convertir" ??

 

Pour convertir faut voir du côté du reiser4utils tweaké comme j'ai fait un diff je pourrais voir si il y'a quelque chose à faire.

pour créer il faut avoir ZLIB_INFLATE et reiser4 dans le kernel, utiliser la version modifiée de mkfs.reiser4 et mkfs.reiser4 -o create=create -ccreg40,compressMode18 /dev/*

----------

## yoyo

 *Enlight wrote:*   

> Pour convertir faut voir du côté du reiser4utils tweaké comme j'ai fait un diff je pourrais voir si il y'a quelque chose à faire.

 Ok, merci bien.   :Wink: 

 *Enlight wrote:*   

> pour créer il faut avoir ZLIB_INFLATE et reiser4 dans le kernel, utiliser la version modifiée de mkfs.reiser4 et mkfs.reiser4 -o create=create -ccreg40,compressMode18 /dev/*

 la version modifiée de mkfs.reiser4 ??

Au fait, tu as fait des bench ?

----------

## Enlight

la version modifiée de mkfs.reiser4 est celle obtenue en installant le reiser4progs-1.0.5 modifié du répertoire /tmp de namesys.

J' ai pas encore benché, jeme suis apperçu hier soir que le plugin de compression était dans les mm, j'ai vérifié dans les CJ, greppé pour savoir comment l'activer, puis je me suis couché (parcequ'ence moment le boulot c'est 7H30 - 22H00) sans avoir le temps de tester.

Mais si tu veux je te poste comment proceder pour tester sans risques. Parceque ça me tue de pas pouvoir essayer!

----------

## yoyo

 *Enlight wrote:*   

> la version modifiée de mkfs.reiser4 est celle obtenue en installant le reiser4progs-1.0.5 modifié du répertoire /tmp de namesys.

 OK

 *Enlight wrote:*   

> J' ai pas encore benché, jeme suis apperçu hier soir que le plugin de compression était dans les mm, j'ai vérifié dans les CJ, greppé pour savoir comment l'activer, puis je me suis couché (parcequ'ence moment le boulot c'est 7H30 - 22H00) sans avoir le temps de tester.

   :Laughing: 

Je n'ai pas vu où ça s'activait mais un grep me dit que j'ai bien le support de ZLIB_INFLATE (et même de ZLIB_DEFLATE).

 *Enlight wrote:*   

> Mais si tu veux je te poste comment proceder pour tester sans risques. Parceque ça me tue de pas pouvoir essayer!

 Je veux bien oui. Et tant qu'on y est, quels sont les outils de bench hdd/fs simple et efficace ?

EDIT : j'ai déjà récupéré le dernier RIPcd (en date du 26/03) pour me faire une sauvegarde.

----------

## Enlight

```
fdisk -l

#en premier lieu tu regarde la géomètrie de ton disque dûr

#et tu completeras la suite en fonction (là où je mets les ???)

taille_secteur= ???#512 ou 1024 normalement

nb_secteurs=63 #toujours

nb_tetes= ??? # 16 ou 255 normalement

taille_image=4 # en gigas, tu adaptes au besoin

# vive la géomètrie MS-DOS

octets_par_cylindre=$(($taille_secteur*$nb_secteurs*$nb_tetes))

nb_cylindres=$((taille_image*1024*1024*1024/$octets_par_cylindre))

mon_image=/home/yoyo/disque.img # tu mets ce que tu veux

# création dun disque vierge (low-format) tation cest long !

dd if=/dev/zero of=$mon_image bs=$octets_par_cylindre count=$nb_cylindres

#association avec un loop device (/dev/loop/0 -> /dev/loop/9)

losetup /dev/loop/0 $mon_image

#partitionnement : tu crées juste une primaire

fdisk C $nb-cylindres H $nb_tetes S $nbsecteurs U $taille_secteurs

# à mon avis va falloire rtfmer la ligne au dessus parceque de tête, chaud chaud !

#on associe un loop device à la premiere partition

losetup o $(($nb_secteurs*$taille_secteur)) /dev/loop/1 $mon_image

#formatage (enfin) vérifie peut être la commande elle est marquée

#dans les benchs namesys

mkfs.reiser4 o create=create ccreg40,compressMode18 /dev/loop1

#après ça tu montes ton image où tu veux

mount t reiser4 o noatime,nodiratime /dev/loop1 $où_tu_veux

#et pour les benchs jutilise time sur les commandes dinstall gentoo (détarrage stage3

copie de larbre de portage etc...

```

pfiou c'est de tête j'espère pas m'être trompé!

----------

## yoyo

ok, merci beaucoup.

En regardant dans portage, j'ai vu iozone qui ne m'a pas l'air mal pour les tests de fs.

Et pour le test, je vais faire ça à la barbare (j'ai pas assez confiance pour toucher la géométrie du disque etc.) : iozone=>livecd=>tar complet de mon système=>mkfs.reiser4 -les_options_qui_vont_bien=>untar=>reboot.

Les test iozone ont l'air d'être très longs ils tourneront donc la nuit; du coup pas de résultat avant quelques jours ...   :Rolling Eyes: 

----------

## Enlight

 *yoyo wrote:*   

> ok, merci beaucoup.
> 
> En regardant dans portage, j'ai vu iozone qui ne m'a pas l'air mal pour les tests de fs.
> 
> Et pour le test, je vais faire ça à la barbare (j'ai pas assez confiance pour toucher la géométrie du disque etc.) : iozone=>livecd=>tar complet de mon système=>mkfs.reiser4 -les_options_qui_vont_bien=>untar=>reboot.
> ...

 

ah mais attends mon truc c'est pour créer un disque virtuel dans un fichier et tester pas pour une install complete, en fait le début sert à ajuster la géomètrie du "faux" disque sur le vrai.

----------

## yoyo

Ça change tout !!

Je teste de ce pas ...  :Wink: 

----------

## Enlight

ok si t'as des questions hésites pas, et dis nous si ça "torche" tout!   :Very Happy: 

----------

## yoyo

 *Enlight wrote:*   

> ok si t'as des questions hésites pas, et dis nous si ça "torche" tout!  

 J'en ai ...   :Mr. Green: 

Tu peux te connecter à jabber ou pas (ça sera plus simple) ?

- comment dd fait pour créer un disque vierge sans abimer la partition déjà existante (il lui faut bien un espace ou les secteurs sont contigus etc.) ?

- la taille de secteur : je  suppose que c'est 512 mais je préfère demander confirmation : 

```
# fdisk -l

Disque /dev/hda: 80.0 Go, 80060424192 octets

255 têtes, 63 secteurs/piste, 9733 cylindres

Unités = cylindres de 16065 * 512 = 8225280 octets

Périphérique Amorce    Début         Fin      Blocs    Id  Système

/dev/hda1   *           1        2550    20482843+   7  HPFS/NTFS

/dev/hda2            2551        2556       48195   83  Linux

/dev/hda3            2557        2619      506047+  82  Linux swap / Solaris

/dev/hda4            2620        9733    57143205    5  Extended

/dev/hda5            2620        4444    14659281    b  W95 FAT32

/dev/hda6            4445        8092    29302528+  83  Linux

/dev/hda7            8093        9733    13181301   83  Linux
```

- comme tu le vois, je n'ai plus de partition primaire disponible. Celà pose un problème ??

----------

## yoyo

Attends, te casse pas la tête, j'ai un hdd sur port usb2 de dispo avec une partition que je peux reformater sans problème.  :Mr. Green: 

Je teste dessus.   :Wink: 

----------

## Enlight

 *Quote:*   

> - Tu peux te connecter à jabber ou pas (ça sera plus simple) ?

 Nop sorry

 *Quote:*   

> - comment dd fait pour créer un disque vierge sans abimer la partition déjà existante (il lui faut bien un espace ou les secteurs sont contigus etc.) ?

 

 *Quote:*   

> 
> 
> C'est très simple, le of= est un fichier, donc on crée un énorme fichier plein de zéros
> 
> 

 

 *Quote:*   

> 
> 
> - la taille de secteur : je  suppose que c'est 512 mais je préfère demander confirmation : [code]# fdisk -l
> 
> Disque /dev/hda: 80.0 Go, 80060424192 octets
> ...

 

oui

 *Quote:*   

> 
> 
> - comme tu le vois, je n'ai plus de partition primaire disponible. Celà pose un problème ??

 

Un 2è disque dur évidemment c'est plus simple, mais c'est pas geek  :Mr. Green:  tu vois un seul disque dur, un seul lecteur cd et le floppy qui crame et pourf d'un coup y'a du challenge  :Mr. Green: 

----------

## Enlight

Pas de retour???

----------

## yoyo

J'ai des erreurs au montage ...    :Sad: 

```
<4>reiser4[mount(23578)]: init_read_super (fs/reiser4/init_super.c:604)[nikita-2608]:

WARNING: sda2: wrong master super block magic
```

 avec le reiser4progs-1.0.5 qui se trouve ici : ftp://ftp.namesys.com/pub/tmp/cryptcompress_patches/2.6.15-mm4

Alors que j'ai le patch pour 2.6.16 (cj2 inside).

Je vais essayer avec la version 1.0.6 mais je me demande si ça ne serait pas un problème avec la libaal qui n'est pas adaptée ...

PS : j'ai aussi un warning à la fin du "make install" : 

```
Running /sbin/ldconfig

/sbin/ldconfig: File /usr/lib/libgdbm.so.2 is empty, not checked.
```

C'est peut-être lié ?

EDIT : la ligne d'erreur au montage :

```
mount -t reiser4 /dev/mem_hdd2 /mnt/mem_ext2/ -o noatime

mount: type erroné de système de fichiers, option erronée, super bloc erroné sur /dev/mem_hdd2,

       codepage manquante ou autre erreur
```

EDIT bis : j'ai tenté un "debugfs" : 

```
debugfs.reiser4 /dev/mem_hdd2

debugfs.reiser4 1.0.5

Copyright (C) 2001-2005 by Hans Reiser, licensing governed by reiser4progs/COPYING. 

Fatal: Wrong magic found in the master super block.                                                                                      

Error: Can't open reiser4 on /dev/mem_hdd2
```

----------

## Enlight

Ah ouais... c'est pas gagné   :Confused:  je tenterai ma chance à l'occase....

----------

## yoyo

Mais il y a une série de patchs dans le répertoire 2.6.16-rc6-mm1. Ils sont à appliquer ou ils sont déjà inclus dans le patch pour 2.6.16 ??

----------

## Enlight

C'est là que j'ai du mal à comprendre, dans les CJ/mm-15 dans fs/reiser4/plugins tu as un dossier "compress" avec des trucs qui ne s'activent que si on a ZLIB_INFLATE.

Pourtant le patch cryptcompress pour 2.6.15-mm4 s'appele enable cryptcompress, tandis que ceux pour le rc 2.6.16 semblent n'être que des bugfixes... va comprendre charles faudrait lire les changelogs...

----------

## yoyo

Bon, j'ai enfin réussi à faire les tests ...   :Very Happy: 

Il faudra qu'on m'explique ... 

```
# echo $PATH

/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin: etc.
```

logiquement, le premier trouvé est celui qui est utilisé non ?? Alors pourquoi j'ai été obligé de spécifier le chemin pour pouvoir utiliser le mkfs fraîchement installé ???   :Evil or Very Mad: 

Enfin bref voila les résultats :

```
# /usr/local/sbin/mkfs.reiser4 /dev/mem_hdd2

/usr/local/sbin/mkfs.reiser4 1.0.5

Copyright (C) 2001-2005 by Hans Reiser, licensing governed by reiser4progs/COPYING. 

Block size 4096 will be used.                                                                                                            

Linux 2.6.16-cj2 is detected.                                                                                                            

Uuid 4874677e-e56a-497e-901b-d14107e5d6d7 will be used.                                                                                  

Reiser4 is going to be created on /dev/mem_hdd2.                                                                                         

(Yes/No): y

Creating reiser4 on /dev/mem_hdd2 ... done                                                                                               

# mount -t reiser4 /dev/mem_hdd2 /mnt/mem_ext2/ -o noatime

# time cp -a /usr/portage /mnt/mem_ext2/

real    3m29.893s

user    0m0.917s

sys     0m26.594s

# umount /mnt/mem_ext2

# /usr/local/sbin/mkfs.reiser4 -o create=create_ccreg40,compressMode=col8 /dev/mem_hdd2

/usr/local/sbin/mkfs.reiser4 1.0.5

Copyright (C) 2001-2005 by Hans Reiser, licensing governed by reiser4progs/COPYING. 

Overriding the plugin profile by "create=create_ccreg40,compressMode=col8".                                                              

Block size 4096 will be used.                                                                                                            

Linux 2.6.16-cj2 is detected.                                                                                                            

Uuid cb05e7b0-2c6e-46eb-8afe-550a161b5121 will be used.                                                                                  

Reiser4 is going to be created on /dev/mem_hdd2.                                                                                         

(Yes/No): y

Creating reiser4 on /dev/mem_hdd2 ... done                                                                                               

# mount -t reiser4 /dev/mem_hdd2 /mnt/mem_ext2/ -o noatime

# time cp -a /usr/portage /mnt/mem_ext2/

real    3m41.707s

user    0m0.913s

sys     0m31.587s
```

Donc apparemment le cryptcompress n'apporte rien ... Je vais essayer de faire des tests un peu plus complets.

Pour info, mon /usr/portage fait environ 2.3Go avec des tailles de fichiers comprises entre 100Mo et quelques octets.

PS : je me demande si le débit n'est pas conditionné par le port usb (mon cpu est en pleine charge lors de la copie PIV@2.66GHz)...

EDIT : J'hallucine méchamment !!!   :Shocked: 

```
# du -sh /mnt/mem_ext2

15M     /mnt/mem_ext2

# ll -rS /mnt/mem_ext2/portage/distfiles/|tail

-rw-rw-r--    1 root portage   36M mar  2  2005 linux-2.6.11.tar.bz2

-rw-rw-r--    1 root portage   38M jan  3 06:03 linux-2.6.15.tar.bz2

-rw-rw-r--    1 root portage   39M mar 20 07:22 linux-2.6.16.tar.bz2

-rw-rw-r--    1 yoyo portage   42M déc  5 02:32 AdobeReader_fra-7.0.5-1.i386.rpm

-rw-rw-r--    1 yoyo portage   43M fév  9  2005 X11R6.8.2-src.tar.bz2

-rw-rw-r--    1 yoyo portage   50M mar 24  2003 tetex-texmf-2.0.2.tar.gz

-rw-rw-r--    1 yoyo portage   53M déc 15 16:41 OOO_2_0_1-lang.tar.bz2

-rw-rw-r--    1 yoyo portage   91M mar 24  2003 phobia3-linux.tar.bz2

-rw-rw-r--    1 yoyo portage  105M déc 15 18:18 OOO_2_0_1-core.tar.bz2
```

Je veux bien qu'il y ait une compression mais là c'est du jamais vu ...

----------

## Enlight

 *Quote:*   

> real    3m41.707s 
> 
> user    0m0.913s 
> 
> sys     0m31.587s

 

tu as les mêmes résultats sans cryptcompress? bon de toute façon r4 explose déjà tout sur les deplacement de petits fichiers (avec un autre fs t'aurais mis 10mn), je pense que cryptcompress fait surtout gagner sur les gros, et qu'en plus ça doit se sentir beaucoup plus de cryptcompress a cryptcompress (ça fait quoi si tu le duplique sur le dd de test?)

edit : ah tien je serais bien curieux de savoir si un kernel optimisé pour la taille ou l'exec ça joue la dessus, vu qu'en général y'a pas mal d'histoires d'alignement etc...

----------

## galerkin

Je suis bien interessé pour faire aussi des tests sur ma machine vu que j'ai une partition qui ne sert à rien...

Seul problème, je suis un peu boeuf, car je ne trouve pas le plugin à activer dans le noyau via make xconfig

j'utilise les sources 2.6.16-cj1

Quelqu'un peut me donner un coup de pouce?

je posterai ici mes résultats dès que possible

----------

## Enlight

A priori le CONFIG_ZLIB_INFLATE est en quelque sorte une dépendance, donc ce n'est pas l'utilisateur qui coche ou non. donc fs -> reiser4 support (desactive tout ce qui est debugging dans le kernel).

la commande pour créer est donnée un peu plus haut dans un poste de yoyo. fais nous des benchs et ids nous-en des nouvelles.

----------

## galerkin

Bon je dois déjà l'avoir dans ce cas   :Very Happy: 

La je suis au boulot, donc j'essaie ca ce soir si tout va bien

----------

## yoyo

Bon, j'ai créée les fichiers pour faire le test mais j'ai un problème au niveau du fdisk ... Je ne vois pas :

- 1 à quoi il sert

- 2 je lance fdisk -C 522 -H 255 -S 63 -b 512 il m'envoie bouler, fdisk -C 522 -H 255 -S 63 -b 512 /dev/loop/0 j'arrive sur le menu de fdisk et si je fais "écrire et quitter" j'obtiens 

```
Commande (m pour l'aide): w

La table de partitions a été altérée!

Appel de ioctl() pour relire la table de partitions.

AVERTISSEMENT: la re-lecture de la table de partitions a échoué avec l'erreur 16: Périphérique ou ressource occupé.

Le kernel va continuer d'utiliser l'ancienne table.

La nouvelle table sera utilisé lors du prochain réamorçage.

Synchronisation des disques.
```

et le losetup -o ne passe pas ...   :Sad: 

----------

## Enlight

ben le fdisk c'est bon normalement.

sinon losetup -o $((63*512)) /dev/loop1 $lefichier  devrait passer

----------

## yoyo

ben non ... 

```
losetup -o $((63*512)) /dev/loop0 /root/disque1.img

ioctl: LOOP_SET_FD: Périphérique ou ressource occupé
```

A mais attends, ça doit être fait sur un loop libre ????

----------

## Enlight

ah ben oui mais regarde, moi je disais de prendre /dev/loop1 car loop0 est déjà associé avec le début de l'image et /dev/loop1 je l'associe avec l'image mais en utilisant un décalage donc c'est comme si on avait

loop0 = hdx

loop1 = hdx1

pour détacher un loop device on fait losetup -d /dev/loopX

----------

## yoyo

Merci pour les précisions.   :Wink: 

Bon quelques résultats :

```
# df

/dev/loop/3           3,8G  256K  3,8G   1% /mnt/mem_hdd

/dev/loop/2           3,8G  256K  3,8G   1% /mnt/mem_ext2

# time cp -a /usr/portage /mnt/mem_ext2/

real    9m5.682s

user    0m1.062s

sys     0m30.431s

# time cp -a /mnt/mem_ext2/ /mnt/mem_hdd/

real    6m42.958s

user    0m1.192s

sys     0m43.593s
```

ici, loop2 et 3 sont formattés avec le cryptcompress. La première copie se fait donc de reiser4 "standard" vers reiser4 "cryptcompress" et la seconde de reiser4 "cryptcompress" vers reiser4 "cryptcompress".

Mias les données étaient peut-être en cache (pour un partie, je n'ai que 512Mo de ram pour un total de 2.3Go de fichiers copier).

Je fais les mêmes tests avec le reiser4 "standard" et j'édite mon post.

DONE :

```
# time cp -a /usr/portage /mnt/mem_ext2/

real    7m18.279s

user    0m1.043s

sys     0m29.128s

# time cp -a /mnt/mem_ext2/ /mnt/mem_hdd/

real    7m13.742s

user    0m0.971s

sys     0m26.147s
```

Je vous laisse faire les commentaires, moi je dois y aller.

----------

## galerkin

1ère partie de mes tests :

/ est en xfs(pour info)

```

 ./mkfs.reiser4 -o create=create_ccreg40,compressMode=col8 /dev/sda8

reiser4progs-1.0.5/progs/mkfs/.libs/lt-mkfs.reiser4 1.0.5

Copyright (C) 2001-2005 by Hans Reiser, licensing governed by

reiser4progs/COPYING.

Overriding the plugin profile by "create=create_ccreg40,compressMode=col8".

Block size 4096 will be used.

Linux 2.6.15-archck7 is detected.

Uuid 69ab8874-67ab-4966-8399-292e4ec653f5 will be used.

Reiser4 is going to be created on /dev/sda8.

(Yes/No): y

Creating reiser4 on /dev/sda8 ... done

 mkfs # mount /dev/sda8 /mnt/floppy/

 # time cp -a /usr/portage /mnt/floppy

real    5m23.227s

user    0m0.748s

sys     0m28.809su -sk /usr/portage/

2876776 /usr/portage/

 du -sk /mnt/floppy/usr/portage 

15321   .         

mkfs.xfs /dev/sda8

meta-data=/dev/sda8              isize=256    agcount=16, agsize=751038 blks

         =                       sectsz=512   attr=0

data     =                       bsize=4096   blocks=12016608, imaxpct=25

         =                       sunit=0      swidth=0 blks, unwritten=1

naming   =version 2              bsize=4096

log      =internal log           bsize=4096   blocks=5867, version=1

         =                       sectsz=512   sunit=0 blks

realtime =none                   extsz=65536  blocks=0, rtextents=0

# mount /dev/sda8 /mnt/floppy/

# time cp -a /usr/portage /mnt/floppy

real    15m37.423s

user    0m0.943s

sys     0m28.846s

```

même test avec ext3 environ 11mins

test avec reiser4 "normal" sans le plugin 3mins 55

je ferai des tests plus complets ce weekend, mais

reiser4 ca roxe ...   :Wink: 

----------

## Enlight

C'est marrant moi c'est ext3 11mn xfs 10mn et r4 dans les 3mn, peut être ton xfs n'était il pas monté en noatime.

Par contre faut pas réver c'est le cas extrême ou reiser4 tue tout grace aux smart tails en faitgrosso modo là ou les autres fs écrivent 1ko avncent de 3ko réecrivent 1ko, reiser4 agrège tout ça et écrit en continu, du coup les seeks sont quasi inexistants.

Sinon chez moi le ccreg40 c'est pas le pied, le disque gratte comme un malade même quand les transfert est censé être achevé... quand à ce que j'ai vu dans les sources, le compressMode=col8 ne fait que dalle tant qu'on a pas le patch spécial ( voir /usr/src/linux/fs/reiser4/plugins/compress/compress.mode.h)

par contre moi je suis en 2.6.15-cj4 donc c'est p'tet pas le cas avec les versions supérieures.

----------

## galerkin

oui j'ai oublié de mettre noatime ceci explique peut être cela!   :Embarassed: 

en fait je n'ai pas réussi à créer ma partition en reiser4 avec le plugin create=create_ccreg40,compressMode=col8 avec un noyau 2.6.16-cj1

j'avais toujours la même erreur, j'ai utilisé alors les sources archck 2.6.15-4. et là plus aucun problème de fonctionnement.

la ou je suis le plus étonné c'est la taille des données sur la partition, c'est mininuscule

----------

## yoyo

 *galerkin wrote:*   

> la ou je suis le plus étonné c'est la taille des données sur la partition, c'est mininuscule

 ++

 *yoyo wrote:*   

> EDIT : J'hallucine méchamment !!! 
> 
> ```
> # du -sh /mnt/mem_ext2
> 
> ...

 Si quelqu'un peut m'expliquer comment c'est possible d'avoir un fichier de 105Mo dans un répertoire dont la taille est de 15Mo (sans faire de liens) ...

----------

## Enlight

Bon alors hier soir j'ai joué un peu et je suis   :Shocked: 

basiquement le test est le suivant : je crée une image de 6Go que je formatte et monte, puis j'y copie une archive de stage3 depuis l'exterieur (2secondes a peu près avec tous les fs donc pas très significatif) j'y copie de puis mon file system (xfs non optimisé) l'arbre de portage(1), je détarre l'archive du stage 3(2), puis je copie l'arbre de portage (dans l'image) vers usr(3).

donc de base avec XFS (aucune option) c'était

1) 10 mn

2) 52 s

3) 7 mn

reiser 4 :

1) environ 3 minutes

2) 47s

3) 2,30mn

Et là!!!!

mkfs -f -b size=4096k -d agcount=2 -i size=1024 disk.img

mount -t xfs -o loop,noatime,nodiratime,logbufs=8,biosize=16 disk.img mounpoint

1) 5.35

2) 34s

3) 1.20 

Oui mesdames et messieurs, là on ne reconnait plus son FS!!!!!!! et de plus en diminuant agcount et en augmentant la taille des inodes, j'ai retrouvé le silence que j'avait perdu en passant à l'amd64 et que je n'avais qu'avec r4. Par contre le premier chiffre je pense que c'est du au fait que mon / a de très mauvaises options par défaut et que ses 8 groupes d'allocation opriment les 2 de mon disk.img // reiser4 éttant moins "nice", mais bon ce n'est qu'un supposition.

Bien donc j'ai continué avec r4 par curiosité, le 1 est resté constant, les options noatime,nodiratime,max_scan_node_chépukoi=15000 (voir /usr/src/linux/documentation/filesystems/reiser4.txt, c'est l'option qui dit combien de node on scanne au max pendant un flush) mon fait tomber le 2) à 37s et le 3)à55.

j'ai aussi créee un r4 en tails=tail40 le 2 est remonté à 40s mais le 3) est tombé à... 22s!!!

Bref le tweak c'est carrément sympa et on se rends compte que ça sert à rien d'être en r4 si on ne modifie pas un minimum le comportement par défaut.

Celà dit j'ai vu que finalement r4 n'a plus son defragmenteur on the fly et fragmente effectivement beaucoup, tandis que mon XFS me fait une image de 6Go en seulement 8 extents... bref je vais encore jouer un moment je pênse!!!!

----------

## _droop_

Salut Enlight,

Je me posais une question : tu n'as pas peur que le fait de faire tes test en loop ne change pas les performances (de manière aléatoire) par rapport à un fs directement sur une partition ?

Avec le loop, tu n'introduis pas 2 niveaux de cache ? (le cache du fs que tu teste et le cache de ta partition /)

Moi j'en sais trop rien, mais je crois que ca vaut le coup de se poser la question...

Amuses toi bien pour tes prochains bench   :Wink: 

----------

## Enlight

Je me suis posé la question, effectivement, mais dans la mesure où mes benchs sont assez cohérents avec ceux effectués par yoyo sur un disque à part, je me dit que ça devrait aller, de plus l'image fait tout de même 6Go et pour essayer de purger un eventuel cache résiduel (entre les 2 cp de l'arbre de portage), j'intercale d'autres opérations qui bufferisent énormément (en gros je cat mon /usr/lib vers dev/null).

Celà dit quoiqu'il en soit ça n'enlève rien au fait que j'ai plus que doublé l'efficacité de mon FS sur certaines opérations.   :Very Happy: 

----------

