Changeset 2299


Ignore:
Timestamp:
Jul 23, 2009, 6:20:05 PM (10 years ago)
Author:
bruno
Message:
  • Backport a bug fix from 2.2.9 around messages displayed when formating partitions
File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/2.2.10/mondo/src/mondorestore/mondo-prep.c

    r2296 r2299  
    690690        mr_asprintf(&tmp, "Not formatting %s (it is a RAID disk)", device);
    691691        log_it(tmp);
    692         paranoid_free(tmp);
     692        mr_free(tmp);
    693693        return (0);
    694694    }
     
    702702        mr_asprintf(&tmp, "%s has a really small format type ('%s') - this is probably a hexadecimal string, which would suggest the partition is an image --- I shouldn't format it", device, format);
    703703        log_it(tmp);
    704         paranoid_free(tmp);
     704        mr_free(tmp);
    705705        return (0);
    706706    }
     
    708708        mr_asprintf(&tmp, "%s is mounted - cannot format it       ", device);
    709709        log_to_screen(tmp);
    710         paranoid_free(tmp);
     710        mr_free(tmp);
    711711        return (1);
    712712    }
     
    738738            mr_asprintf(&tmp, "Initializing Vinum device %s (this may take a *long* time)", device);
    739739            log_to_screen(tmp);
    740             paranoid_free(tmp);
     740            mr_free(tmp);
    741741
    742742            /* format raid partition */
     
    755755                mr_asprintf(&tmp, "Initializing plex: %s", line);
    756756                open_evalcall_form(tmp);
    757                 paranoid_free(tmp);
     757                mr_free(tmp);
    758758
    759759                mr_asprintf(&tmp, "vinum init %s", line);
    760760                system(tmp);
    761                 paranoid_free(tmp);
     761                mr_free(tmp);
    762762
    763763                while (1) {
    764764                    mr_asprintf(&tmp, "vinum lp -r %s | grep '^S' | head -1 | tr -s ' ' | cut -d: -f2 | cut -f1 | sed 's/^ //' | sed 's/I //' | sed 's/%%//'", line);
    765765                    FILE *pin = popen(tmp, "r");
    766                     paranoid_free(tmp);
     766                    mr_free(tmp);
    767767
    768768                    char status[MAX_STR_LEN / 4];
     
    780780            fclose(fin);
    781781            unlink("/tmp/plexes");
    782             /* retval+=res; */
    783782        }
    784783#else
    785784        mr_asprintf(&tmp, "Initializing RAID device %s", device);
    786785        log_to_screen(tmp);
    787         paranoid_free(tmp);
     786        mr_free(tmp);
    788787
    789788// Shouldn't be necessary.
     
    820819    if (!strcmp(format, "lvm")) {
    821820        log_msg(1, "Don't format %s - it's part of an lvm volume", device);
    822         paranoid_free(tmp);
    823821        return (0);
    824822    }
     
    831829
    832830    mr_asprintf(&program, "sh -c 'echo -en \"y\\ny\\ny\\n\" | %s'", tmp);
    833     paranoid_free(tmp);
     831    mr_free(tmp);
    834832
    835833    mr_asprintf(&tmp, "Formatting %s as %s", device, format);
    836834    update_progress_form(tmp);
    837     paranoid_free(tmp);
     835    mr_free(tmp);
    838836
    839837    res = run_program_and_log_output(program, FALSE);
    840     mr_asprintf(&tmp, "");
     838    if (res) {
     839        mr_strcat(tmp, "...failed");
     840    } else {
     841        mr_strcat(tmp, "...OK");
     842    }
     843    log_to_screen(tmp);
     844    mr_free(tmp);
     845
    841846    if (res && strstr(program, "kludge")) {
    842         mr_strcat(tmp, "Kludge failed; using regular mkfs.%s to format %s",
    843                 format, device);
     847        mr_asprintf(&tmp, "Kludge failed; using regular mkfs.%s to format %s", format, device);
    844848        mr_free(program);
    845849#ifdef __FreeBSD__
     
    858862            fprintf(g_fprep, "%s\n", program);
    859863        }
     864        if (retval) {
     865            mr_strcat(tmp, "...failed");
     866        } else {
     867            mr_strcat(tmp, "...OK");
     868        }
     869
     870        log_to_screen(tmp);
     871        mr_free(tmp);
     872
    860873    }
    861874    mr_free(program);
    862875    retval += res;
    863     if (retval) {
    864         mr_strcat(tmp, "...failed");
    865     } else {
    866         mr_strcat(tmp, "...OK");
    867     }
    868 
    869     log_to_screen(tmp);
    870     mr_free(tmp);
    871 
    872876    system("sync");
    873877    sleep(1);
Note: See TracChangeset for help on using the changeset viewer.