X-Git-Url: https://git.wh0rd.org/?a=blobdiff_plain;f=dump%2Fmain.c;h=20c2ad2be442db2d05413af784d9f88441503653;hb=refs%2Fheads%2Fmaster;hp=fa50044de5861eddeaab61dec63d92c83c672182;hpb=e3956dfb7715a21919aa66dd4209a2dc1c3c82da;p=dump.git diff --git a/dump/main.c b/dump/main.c index fa50044..20c2ad2 100644 --- a/dump/main.c +++ b/dump/main.c @@ -37,7 +37,7 @@ #ifndef lint static const char rcsid[] = - "$Id: main.c,v 1.98 2011/06/10 13:07:29 stelian Exp $"; + "$Id: main.c,v 1.99 2011/06/10 13:41:41 stelian Exp $"; #endif /* not lint */ #include @@ -85,6 +85,7 @@ static const char rcsid[] = #include "bylabel.h" #include "transformation.h" +#include "indexer.h" #ifndef SBOFF #define SBOFF (SBLOCK * DEV_BSIZE) @@ -151,13 +152,6 @@ int dev_bshift; /* log2(dev_bsize) */ int tp_bshift; /* log2(TP_BSIZE) */ dump_ino_t volinfo[TP_NINOS];/* which inode on which volume archive info */ -#ifdef USE_QFA -int gTapeposfd; -char *gTapeposfile; -char gTps[255]; -int32_t gThisDumpDate; -#endif /* USE_QFA */ - struct dumptime *dthead; /* head of the list version */ int nddates; /* number of records (might be zero) */ int ddates_in; /* we have read the increment file */ @@ -200,6 +194,8 @@ static void incompat_flags __P((int, char, char)); static char* iexclude_bitmap = NULL; /* the inode exclude bitmap */ static unsigned int iexclude_bitmap_bytes = 0; /* size of bitmap in bytes */ +Indexer *indexer = &indexer_legacy; + int main(int argc, char *argv[]) { @@ -251,10 +247,6 @@ main(int argc, char *argv[]) obsolete(&argc, &argv); -#ifdef USE_QFA - gTapeposfd = -1; -#endif /* USE_QFA */ - while ((ch = getopt(argc, argv, "0123456789A:aB:b:cd:D:e:E:f:F:h:I:" #ifdef HAVE_BZLIB @@ -415,7 +407,7 @@ main(int argc, char *argv[]) #ifdef USE_QFA case 'Q': /* create tapeposfile */ - gTapeposfile = optarg; + //gTapeposfile = optarg; // FIXME - communicate filename to indexer. tapepos = 1; break; #endif /* USE_QFA */ @@ -699,9 +691,6 @@ main(int argc, char *argv[]) msg("Date of this level %s dump: %s", level, ctime4(&spcl.c_date)); -#ifdef USE_QFA - gThisDumpDate = spcl.c_date; -#endif if (spcl.c_ddate) msg("Date of last level %s dump: %s", lastlevel, ctime4(&spcl.c_ddate)); @@ -933,22 +922,7 @@ main(int argc, char *argv[]) } #ifdef USE_QFA - if (tapepos) { - msg("writing QFA positions to %s\n", gTapeposfile); - if ((gTapeposfd = open(gTapeposfile, - O_WRONLY|O_CREAT|O_TRUNC, - S_IRUSR | S_IWUSR | S_IRGRP | S_IWGRP - | S_IROTH | S_IWOTH)) < 0) - quit("can't open tapeposfile\n"); - /* print QFA-file header */ - snprintf(gTps, sizeof(gTps), "%s\n%s\n%ld\n\n", QFA_MAGIC, QFA_VERSION, (unsigned long)spcl.c_date); - gTps[sizeof(gTps) - 1] = '\0'; - if (write(gTapeposfd, gTps, strlen(gTps)) != (ssize_t)strlen(gTps)) - quit("can't write tapeposfile\n"); - sprintf(gTps, "ino\ttapeno\ttapepos\n"); - if (write(gTapeposfd, gTps, strlen(gTps)) != (ssize_t)strlen(gTps)) - quit("can't write tapeposfile\n"); - } + indexer->openQfa(); #endif /* USE_QFA */ /* @@ -1023,6 +997,8 @@ main(int argc, char *argv[]) tend_writing = time(NULL); spcl.c_type = TS_END; + indexer->foo(); + if (Afile >= 0) { volinfo[1] = ROOTINO; memcpy(spcl.c_inos, volinfo, TP_NINOS * sizeof(dump_ino_t)); @@ -1069,8 +1045,8 @@ main(int argc, char *argv[]) spcl.c_tapea, tapekb, rate); } - if (Afile >= 0) - msg("Archiving dump to %s\n", Apath); + indexer->close(); + indexer->closeQfa(); broadcast("DUMP IS DONE!\7\7\n"); msg("DUMP IS DONE\n");