Changeset 1108 in MondoRescue for branches/stable/mondo/src/mondorestore/mondo-prep.c
- Timestamp:
- Feb 8, 2007, 12:10:16 AM (17 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/stable/mondo/src/mondorestore/mondo-prep.c
r1103 r1108 86 86 drivelist->el[lino].device, MONDO_WAS_HERE); 87 87 if (!run_program_and_log_output(command, 1)) { 88 log_msg(1, "Found MONDO_WAS_HERE marker on drive#%d (%s)",88 mr_msg(1, "Found MONDO_WAS_HERE marker on drive#%d (%s)", 89 89 lino, drivelist->el[lino].device); 90 90 break; … … 108 108 fout = fopen(drivelist->el[lino].device, "w+"); 109 109 if (!fout) { 110 log_msg(1, "Unable to open+wipe %s",110 mr_msg(1, "Unable to open+wipe %s", 111 111 drivelist->el[lino].device); 112 112 } else { 113 113 if (1 != fwrite(buf, blocksize, 1, fout)) { 114 log_msg(1, "Failed to wipe %s",114 mr_msg(1, "Failed to wipe %s", 115 115 drivelist->el[lino].device); 116 116 } else { 117 log_msg(1, "Successfully wiped %s",117 mr_msg(1, "Successfully wiped %s", 118 118 drivelist->el[lino].device); 119 119 } … … 132 132 mr_free(command); 133 133 mr_free(tmp); 134 log_msg(1, "Cool. I didn't have to wipe anything.");134 mr_msg(1, "Cool. I didn't have to wipe anything."); 135 135 } 136 136 … … 148 148 return (-1); 149 149 } 150 log_msg(5, "Writing string '%s', one char at a time", str);150 mr_msg(5, "Writing string '%s', one char at a time", str); 151 151 j = strlen(str); 152 152 for (i = 0; i < j; i++) { 153 log_msg(6, "Writing %d ('%c')", str[i], str[i]);153 mr_msg(6, "Writing %d ('%c')", str[i], str[i]); 154 154 if ((fq = fopen(FDISK_LOG, "a+"))) { 155 155 fputc(str[i], fq); … … 163 163 } 164 164 } 165 log_msg(5, "Returning");165 mr_msg(5, "Returning"); 166 166 167 167 return (i); … … 244 244 // do_this_last[0] = '\0'; 245 245 iamhere("STARTING"); 246 log_msg(1, "OK, opened i-want-my-lvm. Shutting down LVM volumes...");246 mr_msg(1, "OK, opened i-want-my-lvm. Shutting down LVM volumes..."); 247 247 if (find_home_of_exe("lvm")) // found it :) cool 248 248 { … … 274 274 if (just_erase_existing_volumes) { 275 275 paranoid_fclose(fin); 276 log_msg(1, "Closed i-want-my-lvm. Finished erasing LVMs.");276 mr_msg(1, "Closed i-want-my-lvm. Finished erasing LVMs."); 277 277 retval = 0; 278 278 goto end_of_i_want_my_lvm; 279 279 } 280 280 281 log_msg(1, "OK, rewound i-want-my-lvm. Doing funky stuff...");281 mr_msg(1, "OK, rewound i-want-my-lvm. Doing funky stuff..."); 282 282 rewind(fin); 283 283 for (fgets(incoming, 512, fin); !feof(fin); fgets(incoming, 512, fin)) { … … 311 311 for (q = tmp; *q > 32; q++); 312 312 *q = '\0'; 313 log_msg(1, "Deleting old entries at /dev/%s", tmp);313 mr_msg(1, "Deleting old entries at /dev/%s", tmp); 314 314 // sprintf(command, "%s -f %s", vgremove_sz, tmp); 315 315 // run_program_and_log_output(command, 1); … … 318 318 run_program_and_log_output(vgscan_sz, 1); 319 319 run_program_and_log_output(pvscan_sz, 1); 320 log_msg(3,320 mr_msg(3, 321 321 "After working around potentially broken i-want-my-lvm, incoming[] is now '%s'", 322 322 incoming); … … 332 332 res = run_program_and_log_output(command, 5); 333 333 } 334 log_msg(0, "%s --> %d", command, res);334 mr_msg(0, "%s --> %d", command, res); 335 335 if (res > 0) { 336 336 res = 1; … … 350 350 for (p = tmp; *p != '\0' && !isdigit(*p); p++); 351 351 extents = atol(p); 352 log_msg(5, "p='%s' --> extents=%ld", p, extents);352 mr_msg(5, "p='%s' --> extents=%ld", p, extents); 353 353 p = strstr(command, "-L"); 354 354 if (!p) { 355 log_msg(0, "Fiddlesticks. '%s' returned %d", command, res);355 mr_msg(0, "Fiddlesticks. '%s' returned %d", command, res); 356 356 } else { 357 357 if (lvmversion == 2) { … … 376 376 *(p + i) = ' '; 377 377 } 378 log_msg(5, "Retrying with '%s'", command);378 mr_msg(5, "Retrying with '%s'", command); 379 379 res = run_program_and_log_output(command, 5); 380 380 if (res > 0) { … … 384 384 fprintf(g_fprep, "%s\n", command); 385 385 } 386 log_msg(0, "%s --> %d", command, res);386 mr_msg(0, "%s --> %d", command, res); 387 387 if (!res) { 388 log_msg(5, "YAY! This time, it succeeded.");388 mr_msg(5, "YAY! This time, it succeeded."); 389 389 } 390 390 } 391 391 } 392 392 if (strstr(command, "vgcreate")) { 393 log_msg(0, "In case you're interested...");393 mr_msg(0, "In case you're interested..."); 394 394 run_program_and_log_output(vgscan_sz, 1); 395 395 run_program_and_log_output(pvscan_sz, 1); … … 403 403 } 404 404 paranoid_fclose(fin); 405 log_msg(1, "Closed i-want-my-lvm. Finished doing funky stuff.");405 mr_msg(1, "Closed i-want-my-lvm. Finished doing funky stuff."); 406 406 end_of_i_want_my_lvm: 407 407 mr_free(tmp); … … 422 422 iamhere("ENDING"); 423 423 if (retval > 2) { 424 log_msg(1, "%d errors. I'm reporting this.", retval);424 mr_msg(1, "%d errors. I'm reporting this.", retval); 425 425 return (retval); 426 426 } else { 427 log_msg(1, "Not many errors. Returning 0.");427 mr_msg(1, "Not many errors. Returning 0."); 428 428 return (0); 429 429 } … … 572 572 // leave straight away if raidlist is initial or has no entries 573 573 if (!raidlist || raidlist->entries == 0) { 574 log_msg(1, "No RAID arrays found.");574 mr_msg(1, "No RAID arrays found."); 575 575 return 1; 576 576 } else { 577 log_msg(1, "%d RAID arrays found.", raidlist->entries);577 mr_msg(1, "%d RAID arrays found.", raidlist->entries); 578 578 } 579 579 // find raidlist entry for requested device … … 583 583 // check whether RAID device was found in raidlist 584 584 if (i == raidlist->entries) { 585 log_msg(1, "RAID device %s not found in list.", device);585 mr_msg(1, "RAID device %s not found in list.", device); 586 586 return 1; 587 587 } … … 809 809 } 810 810 811 log_msg(1, "Making %s", device);811 mr_msg(1, "Making %s", device); 812 812 // use mkraid if it exists, otherwise use mdadm 813 813 if (run_program_and_log_output("which mkraid", FALSE)) { 814 814 res = create_raid_device_via_mdadm(raidlist, device); 815 log_msg(1, "Creating RAID device %s via mdadm returned %d", device, res);815 mr_msg(1, "Creating RAID device %s via mdadm returned %d", device, res); 816 816 } else { 817 817 sprintf(program, "mkraid --really-force %s", device); 818 818 res = run_program_and_log_output(program, 1); 819 log_msg(1, "%s returned %d", program, res);819 mr_msg(1, "%s returned %d", program, res); 820 820 system("sync"); 821 821 sleep(3); … … 830 830 // sprintf(program, "raidstart %s", device); 831 831 // res = run_program_and_log_output(program, 1); 832 // log_msg(1, "%s returned %d", program, res);832 // mr_msg(1, "%s returned %d", program, res); 833 833 // system("sync"); sleep(1); 834 834 #endif … … 841 841 842 842 if (!strcmp(format, "lvm")) { 843 log_msg(1, "Don't format %s - it's part of an lvm volume", device);843 mr_msg(1, "Don't format %s - it's part of an lvm volume", device); 844 844 mr_free(program); 845 845 mr_free(tmp); … … 938 938 // start soft-raids now (because LVM might depend on them) 939 939 // ...and for simplicity's sake, let's format them at the same time :) 940 log_msg(1, "Stopping all RAID devices");940 mr_msg(1, "Stopping all RAID devices"); 941 941 stop_all_raid_devices(mountlist); 942 942 system("sync"); … … 944 944 system("sync"); 945 945 sleep(2); 946 log_msg(1, "Prepare soft-RAIDs"); // prep and format too946 mr_msg(1, "Prepare soft-RAIDs"); // prep and format too 947 947 for (lino = 0; lino < mountlist->entries; lino++) { 948 948 me = &mountlist->el[lino]; // the current mountlist entry 949 log_msg(2, "Examining %s", me->device);949 mr_msg(2, "Examining %s", me->device); 950 950 if (!strncmp(me->device, "/dev/md", 7)) { 951 951 if (interactively) { … … 974 974 // sleep(5); 975 975 // do LVMs now 976 log_msg(1, "Creating LVMs");976 mr_msg(1, "Creating LVMs"); 977 977 if (does_file_exist("/tmp/i-want-my-lvm")) { 978 978 wait_until_software_raids_are_prepped("/proc/mdstat", 100); … … 991 991 } 992 992 if (res) { 993 log_msg(1, "Vacuum-packing...");993 mr_msg(1, "Vacuum-packing..."); 994 994 */ 995 995 res = do_my_funky_lvm_stuff(FALSE, TRUE); … … 1013 1013 // do regulars at last 1014 1014 sleep(2); // woo! 1015 log_msg(1, "Formatting regulars");1015 mr_msg(1, "Formatting regulars"); 1016 1016 for (lino = 0; lino < mountlist->entries; lino++) { 1017 1017 me = &mountlist->el[lino]; // the current mountlist entry … … 1668 1668 system("sync"); 1669 1669 paranoid_pclose(pout_to_fdisk); 1670 log_msg(0,1670 mr_msg(0, 1671 1671 "------------------- fdisk.log looks like this ------------------"); 1672 1672 sprintf(tmp, "cat %s >> %s", FDISK_LOG, MONDO_LOGFILE); 1673 1673 system(tmp); 1674 log_msg(0,1674 mr_msg(0, 1675 1675 "------------------- end of fdisk.log... word! ------------------"); 1676 1676 sprintf(tmp, "tail -n6 %s | grep -F \"16: \"", FDISK_LOG); … … 1809 1809 if (partsize > 0) { 1810 1810 if (!strcmp(format, "7")) { 1811 log_msg(1, "Adding 512K, just in case");1811 mr_msg(1, "Adding 512K, just in case"); 1812 1812 partsize += 512; 1813 1813 } … … 1829 1829 1830 1830 if (pout_to_fdisk) { 1831 log_msg(1, "Doing the new all-in-one fdisk thing");1832 log_msg(1, "output = '%s'", output);1831 mr_msg(1, "Doing the new all-in-one fdisk thing"); 1832 mr_msg(1, "output = '%s'", output); 1833 1833 fput_string_one_char_at_a_time(pout_to_fdisk, output); 1834 1834 fput_string_one_char_at_a_time(pout_to_fdisk, "\n\np\n"); 1835 1835 strcpy(tmp, last_line_of_file(FDISK_LOG)); 1836 1836 if (strstr(tmp, " (m ")) { 1837 log_msg(1, "Successfully created %s%d", drive, partno);1837 mr_msg(1, "Successfully created %s%d", drive, partno); 1838 1838 } else { 1839 log_msg(1, "last line = %s", tmp);1840 log_msg(1, "Failed to create %s%d; sending 'Enter'...", drive,1839 mr_msg(1, "last line = %s", tmp); 1840 mr_msg(1, "Failed to create %s%d; sending 'Enter'...", drive, 1841 1841 partno); 1842 1842 } 1843 1843 if (!retval) { 1844 log_msg(1, "Trying to set %s%d's partition type now", drive,1844 mr_msg(1, "Trying to set %s%d's partition type now", drive, 1845 1845 partno); 1846 1846 retval = … … 1848 1848 partsize); 1849 1849 if (retval) { 1850 log_msg(1, "Failed. Trying again...");1850 mr_msg(1, "Failed. Trying again..."); 1851 1851 retval = 1852 1852 set_partition_type(pout_to_fdisk, drive, partno, … … 1855 1855 } 1856 1856 if (retval) { 1857 log_msg(1, "...but failed to set type");1857 mr_msg(1, "...but failed to set type"); 1858 1858 } 1859 1859 } else { … … 1952 1952 /* mountlist=&new_mtlist; */ 1953 1953 /* extrapolate_mountlist_to_include_raid_partitions(mountlist,orig_mtlist); */ 1954 log_msg(0,1954 mr_msg(0, 1955 1955 "Mountlist, including the partitions incorporated in RAID devices:-"); 1956 1956 for (i = 0; i < mountlist->entries; i++) { 1957 1957 log_it(mountlist->el[i].device); 1958 1958 } 1959 log_msg(0, "End of mountlist.");1960 } 1961 log_msg(0, "Stopping all LVMs, just in case");1959 mr_msg(0, "End of mountlist."); 1960 } 1961 mr_msg(0, "Stopping all LVMs, just in case"); 1962 1962 if (!g_text_mode) { 1963 1963 newtSuspend(); … … 1967 1967 newtResume(); 1968 1968 } 1969 log_msg(0, "Stopping all software RAID devices, just in case");1969 mr_msg(0, "Stopping all software RAID devices, just in case"); 1970 1970 stop_all_raid_devices(mountlist); 1971 log_msg(0, "Done.");1971 mr_msg(0, "Done."); 1972 1972 1973 1973 /* … … 2093 2093 sprintf(tmp, "Setting %s's type to %s (%s)", partition, format, 2094 2094 partcode); 2095 log_msg(1, tmp);2095 mr_msg(1, tmp); 2096 2096 if (partcode[0] != '\0' && strcmp(partcode, "83")) { /* no need to set type if 83: 83 is default */ 2097 2097 … … 2101 2101 if (partno > 1 2102 2102 || strstr(last_line_of_file(FDISK_LOG), " (1-4)")) { 2103 log_msg(5, "Specifying partno (%d) - yay", partno);2103 mr_msg(5, "Specifying partno (%d) - yay", partno); 2104 2104 sprintf(tmp, "%d\n", partno); 2105 2105 fput_string_one_char_at_a_time(pout_to_fdisk, tmp); 2106 log_msg(5, "A - last line = '%s'",2106 mr_msg(5, "A - last line = '%s'", 2107 2107 last_line_of_file(FDISK_LOG)); 2108 2108 } … … 2110 2110 sprintf(tmp, "%s\n", partcode); 2111 2111 fput_string_one_char_at_a_time(pout_to_fdisk, tmp); 2112 log_msg(5, "B - last line = '%s'",2112 mr_msg(5, "B - last line = '%s'", 2113 2113 last_line_of_file(FDISK_LOG)); 2114 2114 fput_string_one_char_at_a_time(pout_to_fdisk, "\n"); 2115 log_msg(5, "C - last line = '%s'",2115 mr_msg(5, "C - last line = '%s'", 2116 2116 last_line_of_file(FDISK_LOG)); 2117 2117 2118 2118 strcpy(tmp, last_line_of_file(FDISK_LOG)); 2119 2119 if (!strstr(tmp, " (m ")) { 2120 log_msg(1, "last line = '%s'; part type set failed", tmp);2120 mr_msg(1, "last line = '%s'; part type set failed", tmp); 2121 2121 res++; 2122 2122 fput_string_one_char_at_a_time(pout_to_fdisk, "\n"); … … 2128 2128 sprintf(command, "parted2fdisk %s >> %s 2>> %s", drive, 2129 2129 MONDO_LOGFILE, MONDO_LOGFILE); 2130 log_msg(5, "output = '%s'", output);2131 log_msg(5, "partno=%d; partcode=%s", partno, partcode);2132 log_msg(5, "command = '%s'", command);2130 mr_msg(5, "output = '%s'", output); 2131 mr_msg(5, "partno=%d; partcode=%s", partno, partcode); 2132 mr_msg(5, "command = '%s'", command); 2133 2133 fout = popen(command, "w"); 2134 2134 if (!fout) { … … 2180 2180 sprintf(program, "raidstart %s", raid_device); 2181 2181 #endif 2182 log_msg(1, "program = %s", program);2182 mr_msg(1, "program = %s", program); 2183 2183 res = run_program_and_log_output(program, 1); 2184 2184 if (g_fprep) { … … 2186 2186 } 2187 2187 if (res) { 2188 log_msg(1, "Warning - failed to start RAID device %s",2188 mr_msg(1, "Warning - failed to start RAID device %s", 2189 2189 raid_device); 2190 2190 } … … 2229 2229 } 2230 2230 #endif 2231 log_msg(1, "program = %s", program);2231 mr_msg(1, "program = %s", program); 2232 2232 res = run_program_and_log_output(program, 1); 2233 2233 if (g_fprep) { … … 2235 2235 } 2236 2236 if (res) { 2237 log_msg(1, "Warning - failed to stop RAID device %s", raid_device);2237 mr_msg(1, "Warning - failed to stop RAID device %s", raid_device); 2238 2238 } 2239 2239 retval += res; … … 2252 2252 (mountlist->el[i].device, RAID_DEVICE_STUB, 2253 2253 strlen(RAID_DEVICE_STUB))) { 2254 log_msg(1, "Starting %s", mountlist->el[i].device);2254 mr_msg(1, "Starting %s", mountlist->el[i].device); 2255 2255 res = start_raid_device(mountlist->el[i].device); 2256 2256 retval += res; … … 2258 2258 } 2259 2259 if (retval) { 2260 log_msg(1, "Started all s/w raid devices OK");2260 mr_msg(1, "Started all s/w raid devices OK"); 2261 2261 } else { 2262 log_msg(1, "Failed to start some/all s/w raid devices");2262 mr_msg(1, "Failed to start some/all s/w raid devices"); 2263 2263 } 2264 2264 return (retval); … … 2336 2336 paranoid_fclose(fin); 2337 2337 if (retval) { 2338 log_msg(1, "Warning - unable to stop some RAID devices");2338 mr_msg(1, "Warning - unable to stop some RAID devices"); 2339 2339 } 2340 2340 mr_free(dev); … … 2550 2550 2551 2551 if (!strcmp(drivemntlist->el[partno]->mountpoint, "image")) { 2552 log_msg(1, "Skipping %s (%s) because it's an image",2552 mr_msg(1, "Skipping %s (%s) because it's an image", 2553 2553 drivemntlist->el[partno]->device, 2554 2554 drivemntlist->el[partno]->mountpoint); … … 2627 2627 assert(drivemntlist != NULL); 2628 2628 2629 log_msg(1, "Creating list of partitions for drive %s", drive_name);2629 mr_msg(1, "Creating list of partitions for drive %s", drive_name); 2630 2630 2631 2631 tmp_drive_name = strdup(drive_name);
Note:
See TracChangeset
for help on using the changeset viewer.