|
|
1.1 ! root 1: /*++ ! 2: ! 3: Copyright (c) 1993 - Colorado Memory Systems, Inc. ! 4: All Rights Reserved ! 5: ! 6: Module Name: ! 7: ! 8: endrest.c ! 9: ! 10: Abstract: ! 11: ! 12: Ends the restore. Flushes queues. ! 13: ! 14: Revision History: ! 15: ! 16: ! 17: ! 18: ! 19: --*/ ! 20: ! 21: // ! 22: // include files ! 23: // ! 24: ! 25: #include <ntddk.h> ! 26: #include <ntddtape.h> ! 27: #include "common.h" ! 28: #include "q117.h" ! 29: #include "protos.h" ! 30: ! 31: ! 32: STATUS ! 33: q117EndRest( ! 34: IN PQ117_CONTEXT Context ! 35: ) ! 36: ! 37: /*++ ! 38: ! 39: Routine Description: ! 40: ! 41: This routine verifies the redundancy of the rest of the backup ! 42: (updates RdncCorr, RdncUnCorr, RdncBad, RdncUnRdbl), up to the ! 43: maxrdncblk of the current volume. ! 44: ! 45: Arguments: ! 46: ! 47: Context - ! 48: ! 49: Return Value: ! 50: ! 51: NoErr, any Driver error except BadBlk, RdncUnsc, <LinkRC>. ! 52: ! 53: --*/ ! 54: ! 55: { ! 56: STATUS ret; // Return value from other routine called. ! 57: VOLUME_TABLE_ENTRY temp; ! 58: ! 59: ret=NoErr; ! 60: ! 61: // ! 62: // The only time this is true is if SelectTD() was called. ! 63: // ! 64: ! 65: if (Context->CurrentOperation.EndOfUsedTape==0) { ! 66: ! 67: while (ret==NoErr) { ! 68: ! 69: ret=q117ReadVolumeEntry(&temp,Context); ! 70: ! 71: } ! 72: ! 73: if (ret && ret == EndOfVol) { ! 74: ! 75: ret = NoErr; ! 76: ! 77: } ! 78: } ! 79: ! 80: if (!ret) { ! 81: ! 82: // ! 83: // Define the globals BytesUsed, BytesAvail, BadSectors. ! 84: // ! 85: ! 86: q117SetTpSt(Context); ! 87: q117ClearQueue(Context); ! 88: ! 89: } ! 90: ! 91: return(ret); ! 92: }
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.