From 7f47315422f6846ea700fc7826f47b10dbfe086d Mon Sep 17 00:00:00 2001 From: Ludovic Pouzenc Date: Sat, 14 May 2011 19:43:45 +0000 Subject: sliceSplitEvt -> sliceEvtSplit ; Suppressino compteur de debug, modification initialisation algo (pour qu'il devienne capable de démarrer une liste de slices non vide, pour la reprise d'une restauration) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit git-svn-id: file:///var/svn/2011-ddhardrescue/trunk@17 d3078510-dda0-49f1-841c-895ef4b7ec81 --- src/recover.c | 14 +++++--------- 1 file changed, 5 insertions(+), 9 deletions(-) diff --git a/src/recover.c b/src/recover.c index 9b1719b..8d47853 100644 --- a/src/recover.c +++ b/src/recover.c @@ -2,15 +2,13 @@ #include #include "recover.h" - -extern unsigned long c; - void recover(slices_evt_t *slicesEvt, char *src, char *dst, char *ddOpts) { slice_t *sliceToRead; address_t firstError=0, median, foundMax=0; int res; - sliceToRead=slicesEvt->data->first; + //sliceToRead=slicesEvt->data->first; + sliceToRead=slicesFindLargest(slicesEvt->data, S_UNKNOWN); while (!end) { // try to recover sliceToRead and split it if read error switch ( tryRecoverUntilError(sliceToRead, &firstError, src, dst, ddOpts) ) { @@ -20,10 +18,10 @@ void recover(slices_evt_t *slicesEvt, char *src, char *dst, char *ddOpts) { break; case EIO: // slice recovery has encountered a readerror - res=sliceSplitEvt(slicesEvt, sliceToRead, firstError, S_RECOVERED, S_UNREADABLE, S_UNKNOWN); + res=sliceEvtSplit(slicesEvt, sliceToRead, firstError, S_RECOVERED, S_UNREADABLE, S_UNKNOWN); if (res<1) { //TODO - printf("sliceSplit return %d\n", res); + printf("sliceEvtSplit return %d\n", res); exit(5); } break; @@ -43,7 +41,7 @@ void recover(slices_evt_t *slicesEvt, char *src, char *dst, char *ddOpts) { median=(sliceToRead->begin+sliceToRead->end)/2; - res=sliceSplitEvt(slicesEvt, sliceToRead, median, S_UNKNOWN, S_UNKNOWN, S_UNKNOWN); + res=sliceEvtSplit(slicesEvt, sliceToRead, median, S_UNKNOWN, S_UNKNOWN, S_UNKNOWN); switch (res) { case 1: // No split, try analyse this zone @@ -80,8 +78,6 @@ int tryRecoverUntilError(slice_t *sliceToRead, address_t *firstError, char *src, int res; address_t seek, count; - c++; //XXX This is a debug counter - seek=sliceToRead->begin; count=sliceToRead->end - seek + 1; // res=snprintf(ddinvocation, 255, "dd %s %s %s seek=%lld skip=%lld count=%lld", src, dst, ddOpts, seek, seek, count); -- cgit v1.2.3