Annotation of cci/sys/stand/vdfmt/exercise.c, revision 1.1

1.1     ! root        1: #include       "vdfmt.h"
        !             2: 
        !             3: #define        verbose 1
        !             4: 
        !             5: /*
        !             6: **
        !             7: */
        !             8: 
        !             9: exercise()
        !            10: {
        !            11:        int             cyl, trk;
        !            12:        dskadr          ead, sad;
        !            13: 
        !            14:        print("Starting disk exercise on ");
        !            15:        printf("controller %d, drive %d, ", cur.controller, cur.drive);
        !            16:        printf("type %s.\n",CURRENT->type_name);
        !            17: 
        !            18:        if(read_bad_sector_map() == true) {
        !            19:                if(bad_map->bs_id != D_INFO.id) {
        !            20:                        print("Module serial numbers do not match!\n");
        !            21:                        print("Use `info' to find the real serial number.\n");
        !            22:                        _longjmp(abort_environ, 1);
        !            23:                }
        !            24:        }
        !            25:        else if(is_formatted() == false) {
        !            26:                print("Can not exercise unformatted drives!\n");
        !            27:                _longjmp(abort_environ, 1);
        !            28:        }
        !            29:        print("Starting read test.\n");
        !            30:        cur.state = exec;
        !            31:        sad.track = sad.sector = 0;
        !            32:        indent();
        !            33:        for(sad.cylinder=0; sad.cylinder<CURRENT->ncyl; sad.cylinder++) {
        !            34:                print("pass %d...\n", sad.cylinder);
        !            35:                for(cyl=0; cyl<CURRENT->ncyl-NUMSYS; cyl++){
        !            36:                        ead.cylinder = cyl;
        !            37:                        for(trk=0; trk<CURRENT->ntrak; trk++) {
        !            38:                                ead.track = trk;
        !            39:                                ead.sector = 0;
        !            40:                                access_dsk((char *)scratch, &sad, SEEK, 1, 1);
        !            41:                                verify_track(&ead, 16, verbose);
        !            42:                                if(kill_processes == true)
        !            43:                                        goto exit;
        !            44:                        }
        !            45:                }
        !            46:        }
        !            47:        exdent(2);
        !            48: exit:  sync_bad_sector_map();
        !            49:        printf("Exercise completed successfully.\n");
        !            50: }
        !            51: 

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.