Changeset 1236 in MondoRescue for branches/2.2.2/mondo/src/common
- Timestamp:
- Mar 12, 2007, 12:23:16 AM (17 years ago)
- Location:
- branches/2.2.2/mondo/src/common
- Files:
-
- 9 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/2.2.2/mondo/src/common/libmondo-archive.c
r998 r1236 2588 2588 assert(bkpinfo != NULL); 2589 2589 /* slice big files */ 2590 malloc_string(blah);2591 2590 malloc_string(biggielist); 2592 2591 malloc_string(xattr_fname); 2593 2592 malloc_string(acl_fname); 2594 command = malloc(1200);2595 2593 mvaddstr_and_log_it(g_currentY, 0, 2596 2594 "Archiving large files to media "); … … 2603 2601 } 2604 2602 2605 sprintf(command, "cp %s/biggielist.txt %s", bkpinfo->tmpdir,2603 asprintf(&command, "cp %s/biggielist.txt %s", bkpinfo->tmpdir, 2606 2604 biggielist); 2607 2605 paranoid_system(command); 2608 sprintf(blah, "biggielist = %s", biggielist); 2606 paranoid_free(command); 2607 2608 asprintf(&blah, "biggielist = %s", biggielist); 2609 2609 log_msg(2, blah); 2610 paranoid_free(blah); 2610 2611 2611 2612 if (!does_file_exist(biggielist)) { … … 2615 2616 if (g_getfattr) { 2616 2617 get_fattr_list(biggielist, xattr_fname); 2617 sprintf(command, "cp %s %s/archives/", xattr_fname,2618 asprintf(&command, "cp %s %s/archives/", xattr_fname, 2618 2619 bkpinfo->scratchdir); 2619 2620 paranoid_system(command); 2621 paranoid_free(command); 2620 2622 } 2621 2623 if (g_getfacl) { 2622 2624 get_acl_list(biggielist, acl_fname); 2623 sprintf(command, "cp %s %s/archives/", acl_fname, bkpinfo->scratchdir); 2625 asprintf(&command, "cp %s %s/archives/", acl_fname, 2626 bkpinfo->scratchdir); 2624 2627 paranoid_system(command); 2628 paranoid_free(command); 2625 2629 } 2626 2630 2627 2631 if (IS_THIS_A_STREAMING_BACKUP(bkpinfo->backup_media_type)) { 2628 2632 res += write_EXAT_files_to_tape(bkpinfo, xattr_fname, acl_fname); 2629 sprintf(blah, "%ld", count_lines_in_file(biggielist));2633 asprintf(&blah, "%ld", count_lines_in_file(biggielist)); 2630 2634 write_header_block_to_stream((off_t)0, blah, BLK_START_BIGGIEFILES); 2635 paranoid_free(blah); 2631 2636 } 2632 2637 res = make_slices_and_images(bkpinfo, biggielist); … … 2649 2654 return (retval); 2650 2655 } 2651 2652 2656 2653 2657 … … 3474 3478 strcpy(tmp, slice_fname(biggie_file_number, 0, bkpinfo->tmpdir, "")); 3475 3479 fout = fopen(tmp, "w"); 3480 if (fout == NULL) { 3481 mr_msg(1, "Unable to open and write to %s\n", tmp); 3482 paranoid_free(tmp); 3483 paranoid_free(suffix); 3484 return (1); 3485 } 3486 3476 3487 (void) fwrite((void *) &biggiestruct, 1, sizeof(biggiestruct), fout); 3477 3488 paranoid_fclose(fout); -
branches/2.2.2/mondo/src/common/libmondo-filelist.c
r1015 r1236 352 352 assert(maxsetsizeK > 0); 353 353 354 max_sane_size_for_a_file = 32L * 1024L;354 max_sane_size_for_a_file = 64L * 1024L; 355 355 // max_sane_size_for_a_file = maxsetsizeK*2; 356 356 // if (max_sane_size_for_a_file > 32*1024) … … 1747 1747 log_msg(1, "Calculating filelist"); 1748 1748 sprintf(exclude_paths, " %s %s %s %s %s %s . .. \ 1749 " MNT_CDROM " " MNT_FLOPPY " /media /cdrom /media/cdrecorder\1749 " MNT_CDROM " " MNT_FLOPPY " /media \ 1750 1750 /proc /sys /root/images/mondo /root/images/mindi ", excp, call_program_and_get_last_line_of_output("locate /win386.swp 2> /dev/null"), call_program_and_get_last_line_of_output("locate /hiberfil.sys 2> /dev/null"), call_program_and_get_last_line_of_output("locate /pagefile.sys 2> /dev/null"), (tmpdir[0] == '/' && tmpdir[1] == '/') ? (tmpdir + 1) : tmpdir, (scratchdir[0] == '/' && scratchdir[1] == '/') ? (scratchdir + 1) : scratchdir); 1751 1751 -
branches/2.2.2/mondo/src/common/libmondo-files.c
r1002 r1236 1245 1245 strcpy(nfs_server_ipaddr, tmp); 1246 1246 strcpy(nfs_mount, p); 1247 1247 1248 /* BERLIOS : there is a bug #67 here as it only considers the first NIC */ 1248 1249 sprintf(command, … … 1417 1418 char tmp[MAX_STR_LEN]; 1418 1419 char *p; 1420 char *q = NULL; 1421 1422 q = strrchr(filename, '.'); 1423 if (q == NULL) { 1424 return (FALSE); 1425 } 1419 1426 1420 1427 sprintf(tmp, "%s/do-not-compress-these", g_mondo_home); … … 1422 1429 return (FALSE); 1423 1430 } 1424 strcpy(do_not_compress_these, last_line_of_file(tmp)); 1431 /* BERLIOS: This is just plain WRONG !! */ 1432 strcpy(do_not_compress_these,last_line_of_file(tmp)); 1433 1425 1434 for (p = do_not_compress_these; p != NULL; p++) { 1426 1435 strcpy(tmp, p); … … 1428 1437 *(strchr(tmp, ' ')) = '\0'; 1429 1438 } 1430 if (!strcmp( sz_last_suffix(filename), tmp)) { /*printf("MATCH\n"); */1439 if (!strcmp(q, tmp)) { 1431 1440 return (TRUE); 1432 1441 } -
branches/2.2.2/mondo/src/common/libmondo-fork.c
r797 r1236 155 155 } 156 156 strip_spaces(result); 157 paranoid_free(tmp); 157 158 return (result); 158 159 } … … 201 202 log_msg(3, "Starting"); 202 203 assert(bkpinfo != NULL); 203 assert_string_is_neither_NULL_nor_zerolength(basic_call); 204 // BERLIOS: doesn't work even if the string is correct ! 205 //assert_string_is_neither_NULL_nor_zerolength(basic_call); 204 206 assert_string_is_neither_NULL_nor_zerolength(isofile); 205 207 assert_string_is_neither_NULL_nor_zerolength(logstub); -
branches/2.2.2/mondo/src/common/libmondo-mountlist.c
r541 r1236 58 58 #include "libmondo-tools-EXT.h" 59 59 #include "libmondo-string-EXT.h" 60 #include " libmondo-gui-EXT.h"60 #include "newt-specific-EXT.h" 61 61 62 62 /*@unused@*/ … … 369 369 sprintf(tmp, " %ld MB unallocated on %s.", 370 370 physical_drive_size - amount_allocated, drive); 371 log_it(tmp), strcat(flaws_str, tmp); 371 log_it(tmp); 372 strcat(flaws_str, tmp); 373 /* BERLIOS: Flawed since rev 1 !! */ 374 res++; 372 375 } 373 376 if (res) { … … 525 528 sprintf(tmp, " %ld MB unallocated on %s.", 526 529 physical_drive_size - amount_allocated, drive); 527 log_it(tmp), strcat(flaws_str, tmp); 530 log_it(tmp); 531 strcat(flaws_str, tmp); 532 /* BERLIOS: Flawed since rev 1 !! */ 533 res++; 528 534 } 529 535 -
branches/2.2.2/mondo/src/common/libmondo-string.c
r841 r1236 513 513 514 514 input = malloc(2000); 515 assert_string_is_neither_NULL_nor_zerolength(ip); 515 // BERLIOS: seems to cause invalid errors 516 //assert_string_is_neither_NULL_nor_zerolength(ip); 516 517 assert_string_is_neither_NULL_nor_zerolength(token); 517 518 assert(value != NULL); -
branches/2.2.2/mondo/src/common/libmondo-tools.c
r998 r1236 459 459 /** 460 460 * Insert modules that Mondo requires. 461 * Currently inserts @c dos, @c fat, @c vfat, and @c osstfor Linux;461 * Currently inserts @c msdos, @c vfat, and @c loop for Linux; 462 462 * @c msdosfs and @c ext2fs for FreeBSD. 463 463 */ … … 468 468 system("kldstat | grep ext2fs || kldload ext2fs 2> /dev/null"); 469 469 #else 470 system("modprobe dos &> /dev/null"); 471 system("modprobe fat &> /dev/null"); 472 system("modprobe vfat &> /dev/null"); 473 // system("modprobe osst &> /dev/null"); 470 system("modprobe -a msdos vfat loop &> /dev/null"); 474 471 #endif 475 472 } -
branches/2.2.2/mondo/src/common/libmondo-verify.c
r1003 r1236 369 369 does_file_exist(slice_fname 370 370 (bigfile_num, slice_num, mountpoint, ""))) { 371 // handle slices until end of CD371 // handle slices until end of CD 372 372 if (slice_num == 0) { 373 373 log_msg(2, "ISO=%d bigfile=%ld --START--", … … 391 391 if (!(forig = fopen(tmp, "r"))) { 392 392 log_msg(2, "Failed to open bigfile. Darn."); 393 log_to_screen(_("%s/%s not found on live filesystem"), 394 bkpinfo->restore_path, 395 biggiestruct.filename); 396 asprintf(&tmp, "echo \"%s/%s not found\" >> /tmp/biggies.changed", 397 bkpinfo->restore_path, 398 biggiestruct.filename); 399 system(tmp); 400 paranoid_free(tmp); 401 402 bigfile_num++; 403 slice_num = 0; 393 404 retval++; 405 } else { 406 slice_num++; 394 407 } 395 slice_num++;396 } else if (does_file_exist 397 ( slice_fname(bigfile_num, slice_num, mountpoint, ""))) {408 paranoid_free(tmp2); 409 } else if (does_file_exist(slice_fname(bigfile_num, slice_num, mountpoint, "")) && 410 (length_of_file(slice_fname(bigfile_num, slice_num, mountpoint, "")) == 0)) { 398 411 log_msg(2, "ISO=%d bigfile=%ld ---END---", 399 412 g_current_media_number, bigfile_num); … … 402 415 slice_num = 0; 403 416 } else { 404 log_msg(2, "ISO=%d bigfile=%ld slice=%ld \r",417 mr_msg(2, "ISO=%d bigfile=%ld slice=%ld", 405 418 g_current_media_number, bigfile_num, slice_num); 406 if ( bkpinfo->compression_level > 0) {419 if (!does_file_exist(slice_fname(bigfile_num, slice_num, mountpoint, ""))) { 407 420 sprintf(command, "%s -dc %s 2>> %s", 408 421 sz_exe, 409 slice_fname(bigfile_num, slice_num, mountpoint, 410 bkpinfo->zip_suffix), 422 slice_fname(bigfile_num, slice_num, mountpoint, bkpinfo->zip_suffix), 411 423 MONDO_LOGFILE); 412 424 } else { 413 sprintf(command, "cat %s", 414 slice_fname(bigfile_num, slice_num, mountpoint, 415 bkpinfo->zip_suffix)); 425 sprintf(command, "cat %s 2>> %s", 426 slice_fname(bigfile_num, slice_num, mountpoint, ""), MONDO_LOGFILE); 416 427 } 417 428 if ((pin = popen(command, "r"))) { … … 435 446 } 436 447 paranoid_pclose(pin); 437 if (res && !strncmp(biggiestruct.filename, " 448 if (res && !strncmp(biggiestruct.filename, "/dev/", 5)) { 438 449 log_msg(3, 439 450 "Ignoring differences between %s and live filesystem because it's a device and therefore the archives are stored via ntfsclone, not dd.", -
branches/2.2.2/mondo/src/common/my-stuff.h
r792 r1236 266 266 #define ARBITRARY_MAXIMUM 2000 ///< The maximum number of items showing at once in the mountlist or filelist editor. 267 267 #define MAX_TAPECATALOG_ENTRIES 8192 ///< The maximum number of entries in the tape catalog. 268 #define MAX_STR_LEN 380 ///< The maximum length of almost all @p char buffers in Mondo. 268 #define MAX_STR_LEN 384 ///< The maximum length of almost all @p char buffers in Mondo. 269 /// Note: Make this divisible by eight to avoid aligment issues 270 /// on 64bit platforms like ia64. 269 271 #define MAXIMUM_RAID_DEVS 32 ///< The maximum number of RAID devices in the raidlist. 270 272 #define MAXIMUM_ADDITIONAL_RAID_VARS 32 ///< The maximum number of additional RAID variables per RAID device in the raidlist.
Note:
See TracChangeset
for help on using the changeset viewer.