From 319f923c57c640dd35679817924d063e6741b623 Mon Sep 17 00:00:00 2001 From: Ludovic Pouzenc Date: Tue, 22 Feb 2011 14:41:01 +0000 Subject: Fonctions des slices terminées, module recovery qui contient l'algo de récupération terminé aussi. Main minimaliste pour lancer des tests à droite à gauche. Mises au points à coup de valgrind et ddd, ça a l'air presque bien, il reste peut être un bug ou deux dans des cas à la con. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit La fonction slicesFindLargest est coûteuse. On peut imaginer une version qui prends en argument : - le max potentiellement trouvable (permet d'éliminer plein de parcours dans la majorité des cas vue l'utilisation qui est faite des slices dans le recovery. La fonction retournerai le premier slice qui correspond à cette valeur de maximum. - un pointeur vers le slice à partir duquel commencer la recherche, qui serait le pointeur du slice trouvé la précédente fois. Permet dans le cas général de trouver vite. Il faut quand même reprendre la liste au début jusqu'à ce pointeur si on arrive à la fin de la liste sans avoir trouvé. git-svn-id: file:///var/svn/2011-ddhardrescue/trunk@3 d3078510-dda0-49f1-841c-895ef4b7ec81 --- src/recover.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'src/recover.h') diff --git a/src/recover.h b/src/recover.h index d8b1409..84c7286 100755 --- a/src/recover.h +++ b/src/recover.h @@ -5,7 +5,7 @@ extern int end; -slices_t *recover(char *src, char *dst, char*ddOpts, address_t beginSector, address_t endSector, int depth); -int tryRecoverUntilError(slice_t *sliceToRead, address_t *firstError); +slices_t *recover(char *src, char *dst, char*ddOpts, address_t beginSector, address_t endSector/*, int depth*/); +int tryRecoverUntilError(slice_t *sliceToRead, address_t *firstError, char *src, char *dst, char*ddOpts); #endif /*RECOVER_H*/ -- cgit v1.2.3