Changeset 1086 in MondoRescue for trunk/mondo/src/mondorestore/mondo-prep.c
- Timestamp:
- Feb 2, 2007, 11:21:27 PM (17 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/mondo/src/mondorestore/mondo-prep.c
r1081 r1086 68 68 drivelist->el[lino].device, MONDO_WAS_HERE); 69 69 if (!run_program_and_log_output(command, 1)) { 70 log_msg(1, "Found MONDO_WAS_HERE marker on drive#%d (%s)",70 mr_msg(1, "Found MONDO_WAS_HERE marker on drive#%d (%s)", 71 71 lino, drivelist->el[lino].device); 72 72 mr_free(command); … … 90 90 fout = fopen(drivelist->el[lino].device, "w+"); 91 91 if (!fout) { 92 log_msg(1, "Unable to open+wipe %s",92 mr_msg(1, "Unable to open+wipe %s", 93 93 drivelist->el[lino].device); 94 94 } else { 95 95 if (1 != fwrite(buf, strlen(buf)+1, 1, fout)) { 96 log_msg(1, "Failed to wipe %s",96 mr_msg(1, "Failed to wipe %s", 97 97 drivelist->el[lino].device); 98 98 } else { 99 log_msg(1, "Successfully wiped %s",99 mr_msg(1, "Successfully wiped %s", 100 100 drivelist->el[lino].device); 101 101 } … … 114 114 } 115 115 // Still here? Cool! 116 log_msg(1, "Cool. I didn't have to wipe anything.");116 mr_msg(1, "Cool. I didn't have to wipe anything."); 117 117 } 118 118 … … 126 126 return (-1); 127 127 } 128 log_msg(5, "Writing string '%s', one char at a time", str);128 mr_msg(5, "Writing string '%s', one char at a time", str); 129 129 j = strlen(str); 130 130 for (i = 0; i < j; i++) { 131 log_msg(6, "Writing %d ('%c')", str[i], str[i]);131 mr_msg(6, "Writing %d ('%c')", str[i], str[i]); 132 132 if ((fq = fopen(FDISK_LOG, "a+"))) { 133 133 fputc(str[i], fq); … … 141 141 } 142 142 } 143 log_msg(5, "Returning");143 mr_msg(5, "Returning"); 144 144 145 145 return (i); … … 198 198 199 199 iamhere("STARTING"); 200 log_msg(1, "OK, opened i-want-my-lvm. Shutting down LVM volumes...");200 mr_msg(1, "OK, opened i-want-my-lvm. Shutting down LVM volumes..."); 201 201 tmp = find_home_of_exe("lvm"); 202 202 if (tmp) // found it :) cool … … 239 239 if (just_erase_existing_volumes) { 240 240 paranoid_fclose(fin); 241 log_msg(1, "Closed i-want-my-lvm. Finished erasing LVMs.");241 mr_msg(1, "Closed i-want-my-lvm. Finished erasing LVMs."); 242 242 sync(); 243 243 sync(); … … 245 245 sleep(1); 246 246 iamhere("ENDING"); 247 log_msg(1, "Not many errors. Returning 0.");247 mr_msg(1, "Not many errors. Returning 0."); 248 248 return (0); 249 249 } 250 250 251 log_msg(1, "OK, rewound i-want-my-lvm. Doing funky stuff...");251 mr_msg(1, "OK, rewound i-want-my-lvm. Doing funky stuff..."); 252 252 rewind(fin); 253 253 for (mr_getline(&incoming, &n1, fin); !feof(fin); mr_getline(&incoming, &n1, fin)) { … … 286 286 for (q = tmp1; *q > 32; q++); 287 287 *q = '\0'; 288 log_msg(1, "Deleting old entries at /dev/%s", tmp1);288 mr_msg(1, "Deleting old entries at /dev/%s", tmp1); 289 289 mr_asprintf(&tmp, "rm -Rf /dev/%s", tmp1); 290 290 mr_free(tmp1); … … 295 295 run_program_and_log_output(vgscan_sz, 1); 296 296 run_program_and_log_output(pvscan_sz, 1); 297 log_msg(3,297 mr_msg(3, 298 298 "After working around potentially broken i-want-my-lvm, incoming[] is now '%s'", 299 299 incoming); … … 311 311 res = run_program_and_log_output(command, 5); 312 312 } 313 log_msg(0, "%s --> %d", command, res);313 mr_msg(0, "%s --> %d", command, res); 314 314 if (res > 0) { 315 315 res = 1; … … 333 333 for (p = tmp; *p != '\0' && !isdigit(*p); p++); 334 334 extents = atol(p); 335 log_msg(5, "p='%s' --> extents=%ld", p, extents);335 mr_msg(5, "p='%s' --> extents=%ld", p, extents); 336 336 mr_free(tmp); 337 337 338 338 p = strstr(command, "-L"); 339 339 if (!p) { 340 log_msg(0, "Fiddlesticks. '%s' returned %d", command, res);340 mr_msg(0, "Fiddlesticks. '%s' returned %d", command, res); 341 341 } else { 342 342 if (lvmversion == 2) { … … 363 363 *(p + i) = ' '; 364 364 } 365 log_msg(5, "Retrying with '%s'", command);365 mr_msg(5, "Retrying with '%s'", command); 366 366 res = run_program_and_log_output(command, 5); 367 367 if (res > 0) { … … 371 371 fprintf(g_fprep, "%s\n", command); 372 372 } 373 log_msg(0, "%s --> %d", command, res);373 mr_msg(0, "%s --> %d", command, res); 374 374 if (!res) { 375 log_msg(5, "YAY! This time, it succeeded.");375 mr_msg(5, "YAY! This time, it succeeded."); 376 376 } 377 377 } 378 378 } 379 379 if (strstr(command, "vgcreate")) { 380 log_msg(0, "In case you're interested...");380 mr_msg(0, "In case you're interested..."); 381 381 run_program_and_log_output(vgscan_sz, 1); 382 382 run_program_and_log_output(pvscan_sz, 1); … … 396 396 mr_free(incoming); 397 397 398 log_msg(1, "Closed i-want-my-lvm. Finished doing funky stuff.");398 mr_msg(1, "Closed i-want-my-lvm. Finished doing funky stuff."); 399 399 sync(); 400 400 sync(); … … 403 403 iamhere("ENDING"); 404 404 if (retval > 2) { 405 log_msg(1, "%d errors. I'm reporting this.", retval);405 mr_msg(1, "%d errors. I'm reporting this.", retval); 406 406 return (retval); 407 407 } else { 408 log_msg(1, "Not many errors. Returning 0.");408 mr_msg(1, "Not many errors. Returning 0."); 409 409 return (0); 410 410 } … … 550 550 // leave straight away if raidlist is initial or has no entries 551 551 if (!raidlist || raidlist->entries == 0) { 552 log_msg(1, "No RAID arrays found.");552 mr_msg(1, "No RAID arrays found."); 553 553 return 1; 554 554 } else { 555 log_msg(1, "%d RAID arrays found.", raidlist->entries);555 mr_msg(1, "%d RAID arrays found.", raidlist->entries); 556 556 } 557 557 // find raidlist entry for requested device … … 561 561 // check whether RAID device was found in raidlist 562 562 if (i == raidlist->entries) { 563 log_msg(1, "RAID device %s not found in list.", device);563 mr_msg(1, "RAID device %s not found in list.", device); 564 564 return 1; 565 565 } … … 805 805 */ 806 806 807 log_msg(1, "Making %s", device);807 mr_msg(1, "Making %s", device); 808 808 // use mkraid if it exists, otherwise use mdadm 809 809 if (run_program_and_log_output("which mkraid", FALSE)) { 810 810 res = create_raid_device_via_mdadm(raidlist, device); 811 log_msg(1, "Creating RAID device %s via mdadm returned %d",811 mr_msg(1, "Creating RAID device %s via mdadm returned %d", 812 812 device, res); 813 813 } else { 814 814 mr_asprintf(&program, "mkraid --really-force %s", device); 815 815 res = run_program_and_log_output(program, 1); 816 log_msg(1, "%s returned %d", program, res);816 mr_msg(1, "%s returned %d", program, res); 817 817 sync(); 818 818 sleep(3); … … 834 834 835 835 if (!strcmp(format, "lvm")) { 836 log_msg(1, "Don't format %s - it's part of an lvm volume", device);836 mr_msg(1, "Don't format %s - it's part of an lvm volume", device); 837 837 return (0); 838 838 } … … 937 937 // start soft-raids now (because LVM might depend on them) 938 938 // ...and for simplicity's sake, let's format them at the same time :) 939 log_msg(1, "Stopping all RAID devices");939 mr_msg(1, "Stopping all RAID devices"); 940 940 stop_all_raid_devices(mountlist); 941 941 sync(); … … 943 943 sync(); 944 944 sleep(2); 945 log_msg(1, "Prepare soft-RAIDs"); // prep and format too945 mr_msg(1, "Prepare soft-RAIDs"); // prep and format too 946 946 for (lino = 0; lino < mountlist->entries; lino++) { 947 947 me = &mountlist->el[lino]; // the current mountlist entry 948 log_msg(2, "Examining %s", me->device);948 mr_msg(2, "Examining %s", me->device); 949 949 if (!strncmp(me->device, "/dev/md", 7)) { 950 950 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); … … 997 997 // do regulars at last 998 998 sleep(2); // woo! 999 log_msg(1, "Formatting regulars");999 mr_msg(1, "Formatting regulars"); 1000 1000 for (lino = 0; lino < mountlist->entries; lino++) { 1001 1001 me = &mountlist->el[lino]; // the current mountlist entry … … 1677 1677 sync(); 1678 1678 paranoid_pclose(pout_to_fdisk); 1679 log_msg(0,1679 mr_msg(0, 1680 1680 "------------------- fdisk.log looks like this ------------------"); 1681 1681 mr_asprintf(&tmp, "cat %s >> %s", FDISK_LOG, MONDO_LOGFILE); … … 1683 1683 mr_free(tmp); 1684 1684 1685 log_msg(0,1685 mr_msg(0, 1686 1686 "------------------- end of fdisk.log... word! ------------------"); 1687 1687 mr_asprintf(&tmp, "tail -n6 %s | grep -F \"16: \"", FDISK_LOG); … … 1803 1803 if (partsize > 0) { 1804 1804 if (!strcmp(format, "7")) { 1805 log_msg(1, "Adding 512K, just in case");1805 mr_msg(1, "Adding 512K, just in case"); 1806 1806 partsize += 512; 1807 1807 } … … 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 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 } … … 1844 1844 1845 1845 if (!retval) { 1846 log_msg(1, "Trying to set %s%d's partition type now", drive,1846 mr_msg(1, "Trying to set %s%d's partition type now", drive, 1847 1847 partno); 1848 1848 retval = … … 1850 1850 partsize); 1851 1851 if (retval) { 1852 log_msg(1, "Failed. Trying again...");1852 mr_msg(1, "Failed. Trying again..."); 1853 1853 retval = 1854 1854 set_partition_type(pout_to_fdisk, drive, partno, … … 1857 1857 } 1858 1858 if (retval) { 1859 log_msg(1, "...but failed to set type");1859 mr_msg(1, "...but failed to set type"); 1860 1860 } 1861 1861 } else { … … 1959 1959 /* mountlist=&new_mtlist; */ 1960 1960 /* extrapolate_mountlist_to_include_raid_partitions(mountlist,orig_mtlist); */ 1961 log_msg(0,1961 mr_msg(0, 1962 1962 "Mountlist, including the partitions incorporated in RAID devices:-"); 1963 1963 for (i = 0; i < mountlist->entries; i++) { 1964 1964 log_it(mountlist->el[i].device); 1965 1965 } 1966 log_msg(0, "End of mountlist.");1967 } 1968 log_msg(0, "Stopping all LVMs, just in case");1966 mr_msg(0, "End of mountlist."); 1967 } 1968 mr_msg(0, "Stopping all LVMs, just in case"); 1969 1969 if (!g_text_mode) { 1970 1970 newtSuspend(); … … 1974 1974 newtResume(); 1975 1975 } 1976 log_msg(0, "Stopping all software RAID devices, just in case");1976 mr_msg(0, "Stopping all software RAID devices, just in case"); 1977 1977 stop_all_raid_devices(mountlist); 1978 log_msg(0, "Done.");1978 mr_msg(0, "Done."); 1979 1979 1980 1980 /* … … 2096 2096 mr_free(partition); 2097 2097 2098 log_msg(1, tmp);2098 mr_msg(1, tmp); 2099 2099 mr_free(tmp); 2100 2100 if (partcode[0] != '\0' && strcmp(partcode, "83")) { /* no need to set type if 83: 83 is default */ … … 2106 2106 if (partno > 1 2107 2107 || strstr(tmp1, " (1-4)")) { 2108 log_msg(5, "Specifying partno (%d) - yay", partno);2108 mr_msg(5, "Specifying partno (%d) - yay", partno); 2109 2109 mr_asprintf(&tmp, "%d\n", partno); 2110 2110 fput_string_one_char_at_a_time(pout_to_fdisk, tmp); … … 2112 2112 mr_free(tmp1); 2113 2113 tmp1 = last_line_of_file(FDISK_LOG); 2114 log_msg(5, "A - last line = '%s'", tmp1);2114 mr_msg(5, "A - last line = '%s'", tmp1); 2115 2115 } 2116 2116 mr_free(tmp1); … … 2120 2120 mr_free(tmp); 2121 2121 tmp1 = last_line_of_file(FDISK_LOG); 2122 log_msg(5, "B - last line = '%s'",tmp1);2122 mr_msg(5, "B - last line = '%s'",tmp1); 2123 2123 mr_free(tmp1); 2124 2124 2125 2125 fput_string_one_char_at_a_time(pout_to_fdisk, "\n"); 2126 2126 tmp1 = last_line_of_file(FDISK_LOG); 2127 log_msg(5, "C - last line = '%s'",tmp1);2127 mr_msg(5, "C - last line = '%s'",tmp1); 2128 2128 mr_free(tmp1); 2129 2129 2130 2130 tmp = last_line_of_file(FDISK_LOG); 2131 2131 if (!strstr(tmp, " (m ")) { 2132 log_msg(1, "last line = '%s'; part type set failed", tmp);2132 mr_msg(1, "last line = '%s'; part type set failed", tmp); 2133 2133 res++; 2134 2134 fput_string_one_char_at_a_time(pout_to_fdisk, "\n"); … … 2140 2140 mr_asprintf(&command, "parted2fdisk %s >> %s 2>> %s", drive, 2141 2141 MONDO_LOGFILE, MONDO_LOGFILE); 2142 log_msg(5, "output = '%s'", output);2143 log_msg(5, "partno=%d; partcode=%s", partno, partcode);2144 log_msg(5, "command = '%s'", command);2142 mr_msg(5, "output = '%s'", output); 2143 mr_msg(5, "partno=%d; partcode=%s", partno, partcode); 2144 mr_msg(5, "command = '%s'", command); 2145 2145 fout = popen(command, "w"); 2146 2146 if (!fout) { … … 2189 2189 mr_asprintf(&program, "raidstart %s", raid_device); 2190 2190 #endif 2191 log_msg(1, "program = %s", program);2191 mr_msg(1, "program = %s", program); 2192 2192 res = run_program_and_log_output(program, 1); 2193 2193 if (g_fprep) { … … 2197 2197 2198 2198 if (res) { 2199 log_msg(1, "Warning - failed to start RAID device %s",2199 mr_msg(1, "Warning - failed to start RAID device %s", 2200 2200 raid_device); 2201 2201 } … … 2238 2238 } 2239 2239 #endif 2240 log_msg(1, "program = %s", program);2240 mr_msg(1, "program = %s", program); 2241 2241 res = run_program_and_log_output(program, 1); 2242 2242 if (g_fprep) { … … 2246 2246 2247 2247 if (res) { 2248 log_msg(1, "Warning - failed to stop RAID device %s", raid_device);2248 mr_msg(1, "Warning - failed to stop RAID device %s", raid_device); 2249 2249 } 2250 2250 retval += res; … … 2263 2263 (mountlist->el[i].device, RAID_DEVICE_STUB, 2264 2264 strlen(RAID_DEVICE_STUB))) { 2265 log_msg(1, "Starting %s", mountlist->el[i].device);2265 mr_msg(1, "Starting %s", mountlist->el[i].device); 2266 2266 res = start_raid_device(mountlist->el[i].device); 2267 2267 retval += res; … … 2269 2269 } 2270 2270 if (retval) { 2271 log_msg(1, "Started all s/w raid devices OK");2271 mr_msg(1, "Started all s/w raid devices OK"); 2272 2272 } else { 2273 log_msg(1, "Failed to start some/all s/w raid devices");2273 mr_msg(1, "Failed to start some/all s/w raid devices"); 2274 2274 } 2275 2275 return (retval); … … 2346 2346 paranoid_fclose(fin); 2347 2347 if (retval) { 2348 log_msg(1, "Warning - unable to stop some RAID devices");2348 mr_msg(1, "Warning - unable to stop some RAID devices"); 2349 2349 } 2350 2350 sync(); … … 2548 2548 2549 2549 if (!strcmp(drivemntlist->el[partno]->mountpoint, "image")) { 2550 log_msg(1, "Skipping %s (%s) because it's an image",2550 mr_msg(1, "Skipping %s (%s) because it's an image", 2551 2551 drivemntlist->el[partno]->device, 2552 2552 drivemntlist->el[partno]->mountpoint); … … 2626 2626 assert(drivemntlist != NULL); 2627 2627 2628 log_msg(1, "Creating list of partitions for drive %s", drive_name);2628 mr_msg(1, "Creating list of partitions for drive %s", drive_name); 2629 2629 2630 2630 mr_asprintf(&tmp_drive_name,drive_name);
Note:
See TracChangeset
for help on using the changeset viewer.