Changeset 900 in MondoRescue for trunk/mondo/src/common/libmondo-verify.c
- Timestamp:
- Oct 24, 2006, 8:49:18 AM (18 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/mondo/src/common/libmondo-verify.c
r783 r900 18 18 #include "libmondo-devices-EXT.h" 19 19 #include "libmondo-tools-EXT.h" 20 #include "mr_mem.h" 20 21 21 22 /*@unused@*/ … … 60 61 assert_string_is_neither_NULL_nor_zerolength(stderr_fname); 61 62 62 asprintf(&afio_found_changes, "%s.afio", ignorefiles_fname);63 mr_asprintf(&afio_found_changes, "%s.afio", ignorefiles_fname); 63 64 sync(); 64 65 … … 69 70 70 71 log_msg(1, "Now scanning log file for 'afio: ' stuff"); 71 asprintf(&command,72 mr_asprintf(&command, 72 73 "grep \"afio: \" %s | sed 's/afio: //' | grep -vx \"/dev/.*\" >> %s", 73 74 stderr_fname, afio_found_changes); 74 75 log_msg(2, command); 75 76 res = system(command); 76 paranoid_free(command);77 mr_free(command); 77 78 if (res) { 78 79 log_msg(2, "Warning - failed to think"); … … 80 81 81 82 log_msg(1, "Now scanning log file for 'star: ' stuff"); 82 asprintf(&command,83 mr_asprintf(&command, 83 84 "grep \"star: \" %s | sed 's/star: //' | grep -vx \"/dev/.*\" >> %s", 84 85 stderr_fname, afio_found_changes); 85 86 log_msg(2, command); 86 87 res = system(command); 87 paranoid_free(command);88 mr_free(command); 88 89 if (res) { 89 90 log_msg(2, "Warning - failed to think"); … … 91 92 // exclude_nonexistent_files (afio_found_changes); 92 93 afio_diffs = count_lines_in_file(afio_found_changes); 93 asprintf(&command,94 mr_asprintf(&command, 94 95 "sort %s %s %s | uniq -c | awk '{ if ($1==\"2\") {print $2;};}' | grep -v \"incheckentry xwait()\" > %s", 95 96 ignorefiles_fname, afio_found_changes, afio_found_changes, … … 97 98 log_msg(2, command); 98 99 paranoid_system(command); 99 paranoid_free(command);100 paranoid_free(afio_found_changes);100 mr_free(command); 101 mr_free(afio_found_changes); 101 102 return (afio_diffs); 102 103 } … … 145 146 } else { 146 147 retval++; 147 asprintf(&tmp, "Warning - missing set(s) between %d and %d\n",148 mr_asprintf(&tmp, "Warning - missing set(s) between %d and %d\n", 148 149 g_last_afioball_number, set_number - 1); 149 150 log_to_screen(tmp); 150 paranoid_free(tmp);151 } 152 } 153 asprintf(&tmp, "Verifying %s #%d's tarballs",151 mr_free(tmp); 152 } 153 } 154 mr_asprintf(&tmp, "Verifying %s #%d's tarballs", 154 155 bkpinfo->backup_media_string, 155 156 g_current_media_number); 156 157 open_evalcall_form(tmp); 157 paranoid_free(tmp);158 mr_free(tmp); 158 159 159 160 for (total_sets = set_number; … … 234 235 if (bkpinfo->compression_level > 0) { 235 236 if (bkpinfo->use_lzo) { 236 asprintf(&sz_exe, "lzop");237 mr_asprintf(&sz_exe, "lzop"); 237 238 } else { 238 asprintf(&sz_exe, "bzip2");239 mr_asprintf(&sz_exe, "bzip2"); 239 240 } 240 241 } else { 241 asprintf(&sz_exe, " ");242 mr_asprintf(&sz_exe, " "); 242 243 } 243 244 244 245 iamhere("before vsbf"); 245 asprintf(&tmp, "Verifying %s#%d's big files",246 mr_asprintf(&tmp, "Verifying %s#%d's big files", 246 247 bkpinfo->backup_media_string, 247 248 g_current_media_number); 248 249 open_evalcall_form(tmp); 249 paranoid_free(tmp);250 mr_free(tmp); 250 251 251 252 iamhere("after vsbf"); 252 asprintf(&mountpoint, "%s/archives", mtpt);253 mr_asprintf(&mountpoint, "%s/archives", mtpt); 253 254 if (last_bigfile_num == -1) { 254 255 bigfile_num = 0; … … 279 280 paranoid_fclose(fin); 280 281 } 281 asprintf(&tmp2, "%s/%s", bkpinfo->restore_path,282 mr_asprintf(&tmp2, "%s/%s", bkpinfo->restore_path, 282 283 biggiestruct.filename); 283 284 log_msg(2, "Opening biggiefile #%ld - '%s'", bigfile_num, tmp2); … … 286 287 retval++; 287 288 } 288 paranoid_free(tmp2);289 mr_free(tmp2); 289 290 290 291 slice_num++; … … 299 300 g_current_media_number, bigfile_num, slice_num); 300 301 if (bkpinfo->compression_level > 0) { 301 asprintf(&command, "%s -dc %s 2>> %s", sz_exe, tmp, MONDO_LOGFILE);302 mr_asprintf(&command, "%s -dc %s 2>> %s", sz_exe, tmp, MONDO_LOGFILE); 302 303 } else { 303 asprintf(&command, "cat %s", tmp);304 mr_asprintf(&command, "cat %s", tmp); 304 305 } 305 306 if ((pin = popen(command, "r"))) { … … 339 340 } 340 341 } 341 paranoid_free(command);342 mr_free(command); 342 343 slice_num++; 343 344 } 344 345 } 345 paranoid_free(tmp);346 paranoid_free(tmp1);347 paranoid_free(mountpoint);348 paranoid_free(sz_exe);346 mr_free(tmp); 347 mr_free(tmp1); 348 mr_free(mountpoint); 349 mr_free(sz_exe); 349 350 350 351 last_bigfile_num = bigfile_num; … … 355 356 close_evalcall_form(); 356 357 if (bufblkA) { 357 paranoid_free(bufblkA);358 mr_free(bufblkA); 358 359 } 359 360 if (bufblkB) { 360 paranoid_free(bufblkB);361 mr_free(bufblkB); 361 362 } 362 363 return (0); … … 397 398 398 399 /* chdir("/"); */ 399 asprintf(&outlog, "%s/afio.log", bkpinfo->tmpdir);400 mr_asprintf(&outlog, "%s/afio.log", bkpinfo->tmpdir); 400 401 401 402 /* if programmer forgot to say which compression thingy to use then find out */ … … 403 404 && strcmp(bkpinfo->zip_suffix, "lzo")) { 404 405 log_msg(2, "OK, I'm going to start using lzop."); 405 paranoid_alloc(bkpinfo->zip_exe, "lzop");406 paranoid_alloc(bkpinfo->zip_suffix, "lzo");406 mr_allocstr(bkpinfo->zip_exe, "lzop"); 407 mr_allocstr(bkpinfo->zip_suffix, "lzo"); 407 408 bkpinfo->use_lzo = TRUE; 408 409 } … … 410 411 && strcmp(bkpinfo->zip_suffix, "bz2")) { 411 412 log_msg(2, "OK, I'm going to start using bzip2."); 412 paranoid_alloc(bkpinfo->zip_exe, "bzip2");413 paranoid_alloc(bkpinfo->zip_suffix, "bz2");413 mr_allocstr(bkpinfo->zip_exe, "bzip2"); 414 mr_allocstr(bkpinfo->zip_suffix, "bz2"); 414 415 bkpinfo->use_lzo = FALSE; 415 416 } … … 418 419 bkpinfo->use_star = TRUE; 419 420 if (strstr(tarball_fname, ".bz2")) 420 asprintf(&command,421 mr_asprintf(&command, 421 422 "star -diff diffopts=mode,size,data file=%s %s >> %s 2>> %s", 422 423 tarball_fname, … … 425 426 } else { 426 427 bkpinfo->use_star = FALSE; 427 asprintf(&command, "afio -r -P %s -Z %s >> %s 2>> %s",428 mr_asprintf(&command, "afio -r -P %s -Z %s >> %s 2>> %s", 428 429 bkpinfo->zip_exe, tarball_fname, outlog, outlog); 429 430 } 430 431 log_msg(6, "command=%s", command); 431 432 paranoid_system(command); 432 paranoid_free(command);433 mr_free(command); 433 434 434 435 if (length_of_file(outlog) < 10) { 435 asprintf(&command, "cat %s >> %s", outlog, MONDO_LOGFILE);436 mr_asprintf(&command, "cat %s >> %s", outlog, MONDO_LOGFILE); 436 437 } else { 437 asprintf(&command, "cut -d':' -f%d %s | sort -u",438 mr_asprintf(&command, "cut -d':' -f%d %s | sort -u", 438 439 (bkpinfo->use_star) ? 1 : 2, outlog); 439 440 pin = popen(command, "r"); 440 441 if (pin) { 441 for ( getline(&tmp, &n, pin); !feof(pin);442 getline(&tmp, &n, pin)) {442 for (mr_getline(&tmp, &n, pin); !feof(pin); 443 mr_getline(&tmp, &n, pin)) { 443 444 if (bkpinfo->use_star) { 444 445 if (!strstr(tmp, "diffopts=")) { … … 467 468 } 468 469 paranoid_pclose(pin); 469 paranoid_free(tmp);470 mr_free(tmp); 470 471 } else { 471 472 log_OS_error(command); 472 473 } 473 474 } 474 paranoid_free(outlog);475 paranoid_free(command);475 mr_free(outlog); 476 mr_free(command); 476 477 477 478 /* chdir(old_pwd); */ … … 545 546 p++; 546 547 } 547 asprintf(&tmp, "mkdir -p %s/tmpfs", bkpinfo->tmpdir);548 mr_asprintf(&tmp, "mkdir -p %s/tmpfs", bkpinfo->tmpdir); 548 549 paranoid_system(tmp); 549 paranoid_free(tmp);550 551 asprintf(&tarball_fname, "%s/tmpfs/temporary-%s", bkpinfo->tmpdir, p);550 mr_free(tmp); 551 552 mr_asprintf(&tarball_fname, "%s/tmpfs/temporary-%s", bkpinfo->tmpdir, p); 552 553 /* BERLIOS : useless 553 asprintf(&tmp, "Temporarily copying file from tape to '%s'",554 mr_asprintf(&tmp, "Temporarily copying file from tape to '%s'", 554 555 tarball_fname); 555 556 log_it(tmp); 556 paranoid_free(tmp);557 mr_free(tmp); 557 558 */ 558 559 read_file_from_stream_to_file(bkpinfo, tarball_fname, size); 559 560 res = verify_a_tarball(bkpinfo, tarball_fname); 560 561 if (res) { 561 asprintf(&tmp,562 mr_asprintf(&tmp, 562 563 "Afioball '%s' no longer matches your live filesystem", 563 564 p); 564 565 log_msg(0, tmp); 565 paranoid_free(tmp);566 mr_free(tmp); 566 567 retval++; 567 568 } 568 569 unlink(tarball_fname); 569 paranoid_free(tarball_fname);570 mr_free(tarball_fname); 570 571 return (retval); 571 572 } … … 612 613 p++; 613 614 } 614 asprintf(&test_file, "%s/temporary-%s", bkpinfo->tmpdir, p);615 asprintf(&tmp,615 mr_asprintf(&test_file, "%s/temporary-%s", bkpinfo->tmpdir, p); 616 mr_asprintf(&tmp, 616 617 "Temporarily copying biggiefile %s's slices from tape to '%s'", 617 618 p, test_file); 618 619 log_it(tmp); 619 paranoid_free(tmp);620 mr_free(tmp); 620 621 for (res = 621 622 read_header_block_from_stream(&slice_siz, slice_fnam, &ctrl_chr); … … 629 630 res = read_file_from_stream_to_file(bkpinfo, test_file, slice_siz); 630 631 unlink(test_file); 631 paranoid_free(slice_fnam);632 mr_free(slice_fnam); 632 633 slice_fnam = (char *) &res; 633 634 res = … … 640 641 current_slice_number++; 641 642 retval += res; 642 paranoid_free(slice_fnam);643 mr_free(slice_fnam); 643 644 slice_fnam = (char *) &res; 644 645 } 645 paranoid_free(test_file);646 647 asprintf(&biggie_cksum, slice_fnam);648 paranoid_free(slice_fnam);646 mr_free(test_file); 647 648 mr_asprintf(&biggie_cksum, slice_fnam); 649 mr_free(slice_fnam); 649 650 650 651 if (biggie_cksum[0] != '\0') { 651 652 orig_cksum = calc_checksum_of_file(biggie_fname); 652 653 if (strcmp(biggie_cksum, orig_cksum)) { 653 asprintf(&tmp, "orig cksum=%s; curr cksum=%s", biggie_cksum,654 mr_asprintf(&tmp, "orig cksum=%s; curr cksum=%s", biggie_cksum, 654 655 orig_cksum); 655 656 log_msg(2, tmp); 656 paranoid_free(tmp);657 658 asprintf(&tmp, _("%s has changed on live filesystem"),657 mr_free(tmp); 658 659 mr_asprintf(&tmp, _("%s has changed on live filesystem"), 659 660 biggie_fname); 660 661 log_to_screen(tmp); 661 paranoid_free(tmp);662 663 asprintf(&tmp, "echo \"%s\" >> /tmp/biggies.changed",662 mr_free(tmp); 663 664 mr_asprintf(&tmp, "echo \"%s\" >> /tmp/biggies.changed", 664 665 biggie_fname); 665 666 system(tmp); 666 paranoid_free(tmp);667 } 668 paranoid_free(orig_cksum);669 } 670 paranoid_free(biggie_cksum);667 mr_free(tmp); 668 } 669 mr_free(orig_cksum); 670 } 671 mr_free(biggie_cksum); 671 672 672 673 return (retval); … … 702 703 assert(bkpinfo != NULL); 703 704 704 asprintf(&curr_xattr_list_fname, XATTR_BIGGLST_FNAME_RAW_SZ,705 mr_asprintf(&curr_xattr_list_fname, XATTR_BIGGLST_FNAME_RAW_SZ, 705 706 bkpinfo->tmpdir); 706 asprintf(&curr_acl_list_fname, ACL_BIGGLST_FNAME_RAW_SZ,707 mr_asprintf(&curr_acl_list_fname, ACL_BIGGLST_FNAME_RAW_SZ, 707 708 bkpinfo->tmpdir); 708 709 log_to_screen(_("Verifying regular archives on tape")); … … 726 727 wrong_marker(BLK_START_AFIOBALLS, ctrl_chr); 727 728 } 728 paranoid_free(curr_xattr_list_fname);729 paranoid_free(curr_acl_list_fname);729 mr_free(curr_xattr_list_fname); 730 mr_free(curr_acl_list_fname); 730 731 731 732 for (res = read_header_block_from_stream(&size, fname, &ctrl_chr); 732 733 ctrl_chr != BLK_STOP_AFIOBALLS; 733 734 res = read_header_block_from_stream(&size, fname, &ctrl_chr)) { 734 asprintf(&curr_xattr_list_fname, XATTR_LIST_FNAME_RAW_SZ,735 mr_asprintf(&curr_xattr_list_fname, XATTR_LIST_FNAME_RAW_SZ, 735 736 bkpinfo->tmpdir, current_afioball_number); 736 asprintf(&curr_acl_list_fname, ACL_LIST_FNAME_RAW_SZ,737 mr_asprintf(&curr_acl_list_fname, ACL_LIST_FNAME_RAW_SZ, 737 738 bkpinfo->tmpdir, current_afioball_number); 738 739 if (ctrl_chr == BLK_START_EXTENDED_ATTRIBUTES) { 739 740 iamhere("Reading EXAT files from tape"); 740 paranoid_free(fname);741 mr_free(fname); 741 742 fname = (char *) &res; 742 743 res = … … 745 746 curr_acl_list_fname); 746 747 } 747 paranoid_free(curr_xattr_list_fname);748 paranoid_free(curr_acl_list_fname);748 mr_free(curr_xattr_list_fname); 749 mr_free(curr_acl_list_fname); 749 750 750 751 if (ctrl_chr != BLK_START_AN_AFIO_OR_SLICE) { 751 752 wrong_marker(BLK_START_AN_AFIO_OR_SLICE, ctrl_chr); 752 753 } 753 asprintf(&tmp, "Verifying fileset #%ld", current_afioball_number);754 mr_asprintf(&tmp, "Verifying fileset #%ld", current_afioball_number); 754 755 /*log_it(tmp); */ 755 756 update_progress_form(tmp); 756 paranoid_free(tmp);757 mr_free(tmp); 757 758 758 759 res = verify_an_afioball_from_stream(bkpinfo, fname, size); 759 760 if (res) { 760 asprintf(&tmp, _("Afioball %ld differs from live filesystem"),761 mr_asprintf(&tmp, _("Afioball %ld differs from live filesystem"), 761 762 current_afioball_number); 762 763 log_to_screen(tmp); 763 paranoid_free(tmp);764 mr_free(tmp); 764 765 } 765 766 retval += res; 766 767 current_afioball_number++; 767 768 g_current_progress++; 768 paranoid_free(fname);769 mr_free(fname); 769 770 fname = (char *) &res; 770 771 res = read_header_block_from_stream(&size, fname, &ctrl_chr); … … 772 773 wrong_marker(BLK_STOP_AN_AFIO_OR_SLICE, ctrl_chr); 773 774 } 774 paranoid_free(fname);775 mr_free(fname); 775 776 fname = (char *) &res; 776 777 } 777 778 log_msg(1, "All done with afioballs"); 778 779 close_progress_form(); 779 paranoid_free(fname);780 mr_free(fname); 780 781 return (retval); 781 782 } … … 816 817 assert(bkpinfo != NULL); 817 818 818 asprintf(&curr_xattr_list_fname, XATTR_BIGGLST_FNAME_RAW_SZ,819 mr_asprintf(&curr_xattr_list_fname, XATTR_BIGGLST_FNAME_RAW_SZ, 819 820 bkpinfo->tmpdir); 820 asprintf(&curr_acl_list_fname, ACL_BIGGLST_FNAME_RAW_SZ,821 mr_asprintf(&curr_acl_list_fname, ACL_BIGGLST_FNAME_RAW_SZ, 821 822 bkpinfo->tmpdir); 822 asprintf(&comment, "Verifying all bigfiles.");823 mr_asprintf(&comment, "Verifying all bigfiles."); 823 824 log_to_screen(comment); 824 825 res = read_header_block_from_stream(&size, orig_fname, &ctrl_chr); … … 826 827 if (ctrl_chr == BLK_START_EXTENDED_ATTRIBUTES) { 827 828 iamhere("Grabbing the EXAT biggiefiles"); 828 paranoid_free(orig_fname);829 mr_free(orig_fname); 829 830 orig_fname = (char *) &ctrl_chr; 830 831 res = … … 834 835 } 835 836 } 836 paranoid_free(curr_xattr_list_fname);837 paranoid_free(curr_acl_list_fname);838 paranoid_free(orig_fname);837 mr_free(curr_xattr_list_fname); 838 mr_free(curr_acl_list_fname); 839 mr_free(orig_fname); 839 840 orig_fname = (char *) &ctrl_chr; 840 841 … … 847 848 _("Please wait. This may take some time."), "", 848 849 noof_biggiefiles); 849 paranoid_free(comment);850 mr_free(comment); 850 851 851 852 for (res = read_header_block_from_stream(&size, orig_fname, &ctrl_chr); … … 863 864 p++; 864 865 } 865 asprintf(&comment, _("Verifying bigfile #%ld (%ld K)"),866 mr_asprintf(&comment, _("Verifying bigfile #%ld (%ld K)"), 866 867 current_biggiefile_number, (long) size >> 10); 867 868 update_progress_form(comment); 868 paranoid_free(comment);869 870 asprintf(&logical_fname, "%s/%s", bkpinfo->restore_path,869 mr_free(comment); 870 871 mr_asprintf(&logical_fname, "%s/%s", bkpinfo->restore_path, 871 872 orig_fname); 872 873 res = 873 874 verify_a_biggiefile_from_stream(bkpinfo, logical_fname, size); 874 paranoid_free(logical_fname);875 mr_free(logical_fname); 875 876 retval += res; 876 877 current_biggiefile_number++; 877 878 g_current_progress++; 878 paranoid_free(orig_fname);879 mr_free(orig_fname); 879 880 orig_fname = (char *) &ctrl_chr; 880 881 } … … 922 923 assert(bkpinfo != NULL); 923 924 924 asprintf(&mountpoint, "%s/cdrom", bkpinfo->tmpdir);925 asprintf(&fname, "%s/%s/%s-%d.iso", bkpinfo->isodir, bkpinfo->nfs_remote_dir,925 mr_asprintf(&mountpoint, "%s/cdrom", bkpinfo->tmpdir); 926 mr_asprintf(&fname, "%s/%s/%s-%d.iso", bkpinfo->isodir, bkpinfo->nfs_remote_dir, 926 927 bkpinfo->prefix, g_current_media_number); 927 928 … … 929 930 sync(); 930 931 if (!does_file_exist(fname)) { 931 asprintf(&tmp,932 mr_asprintf(&tmp, 932 933 "%s not found; assuming you backed up to CD; verifying CD...", 933 934 fname); 934 935 log_msg(2, tmp); 935 paranoid_free(tmp);936 mr_free(tmp); 936 937 937 938 if (bkpinfo->manual_cd_tray) { … … 943 944 } 944 945 } else { 945 asprintf(&tmp, "%s found; verifying ISO...", fname);946 mr_asprintf(&tmp, "%s found; verifying ISO...", fname); 946 947 log_to_screen(tmp); 947 paranoid_free(tmp);948 mr_free(tmp); 948 949 #ifdef __FreeBSD__ 949 950 ret = 0; … … 951 952 mddevice = make_vn(fname); 952 953 if (ret) { 953 asprintf(&tmp, _("make_vn of %s failed; unable to verify ISO\n"),954 mr_asprintf(&tmp, _("make_vn of %s failed; unable to verify ISO\n"), 954 955 fname); 955 956 log_to_screen(tmp); 956 paranoid_free(tmp);957 mr_free(tmp); 957 958 return (1); 958 959 } 959 asprintf(&command, "mount_cd9660 %s %s", mddevice, mountpoint);960 mr_asprintf(&command, "mount_cd9660 %s %s", mddevice, mountpoint); 960 961 #else 961 asprintf(&command, "mount -o loop,ro -t iso9660 %s %s", fname,962 mr_asprintf(&command, "mount -o loop,ro -t iso9660 %s %s", fname, 962 963 mountpoint); 963 964 #endif 964 965 if (run_program_and_log_output(command, FALSE)) { 965 asprintf(&tmp, _("%s failed; unable to mount ISO image\n"),966 mr_asprintf(&tmp, _("%s failed; unable to mount ISO image\n"), 966 967 command); 967 968 log_to_screen(tmp); 968 paranoid_free(tmp);969 mr_free(tmp); 969 970 return (1); 970 971 } 971 paranoid_free(command);972 mr_free(command); 972 973 } 973 974 log_msg(2, "OK, I've mounted the ISO/CD\n"); 974 asprintf(&tmp, "%s/archives/NOT-THE-LAST", mountpoint);975 mr_asprintf(&tmp, "%s/archives/NOT-THE-LAST", mountpoint); 975 976 if (!does_file_exist(tmp)) { 976 977 log_msg … … 984 985 */ 985 986 } 986 paranoid_free(tmp);987 mr_free(tmp); 987 988 988 989 verify_afioballs_on_CD(bkpinfo, mountpoint); … … 992 993 #ifdef __FreeBSD__ 993 994 ret = 0; 994 asprintf(&command, "umount %s", mountpoint);995 mr_asprintf(&command, "umount %s", mountpoint); 995 996 ret += system(command); 996 997 … … 998 999 if (ret) 999 1000 #else 1000 asprintf(&command, "umount %s", mountpoint);1001 mr_asprintf(&command, "umount %s", mountpoint); 1001 1002 1002 1003 if (system(command)) 1003 1004 #endif 1004 1005 { 1005 asprintf(&tmp, "%s failed; unable to unmount ISO image\n",1006 mr_asprintf(&tmp, "%s failed; unable to unmount ISO image\n", 1006 1007 command); 1007 1008 log_to_screen(tmp); 1008 paranoid_free(tmp);1009 mr_free(tmp); 1009 1010 retval++; 1010 1011 } else { 1011 1012 log_msg(2, "OK, I've unmounted the ISO file\n"); 1012 1013 } 1013 paranoid_free(command);1014 paranoid_free(mountpoint);1014 mr_free(command); 1015 mr_free(mountpoint); 1015 1016 1016 1017 if (!does_file_exist(fname)) { 1017 asprintf(&command, "umount %s", bkpinfo->media_device);1018 mr_asprintf(&command, "umount %s", bkpinfo->media_device); 1018 1019 run_program_and_log_output(command, 2); 1019 paranoid_free(command);1020 mr_free(command); 1020 1021 1021 1022 if (!bkpinfo->please_dont_eject … … 1024 1025 } 1025 1026 } 1026 paranoid_free(fname);1027 mr_free(fname); 1027 1028 return (retval); 1028 1029 } … … 1068 1069 paranoid_system 1069 1070 ("rm -f /tmp/biggies.changed /tmp/changed.files.[0-9]* 2> /dev/null"); 1070 asprintf(&changed_files_fname, "/tmp/changed.files.%d",1071 mr_asprintf(&changed_files_fname, "/tmp/changed.files.%d", 1071 1072 (int) (random() % 32767)); 1072 asprintf(&tmp,1073 mr_asprintf(&tmp, 1073 1074 "grep -x \"%s:.*\" %s | cut -d'\"' -f2 | sort -u | awk '{print \"/\"$0;};' | tr -s '/' '/' | grep -v \"(total of\" | grep -v \"incheckentry.*xwait\" | grep -vx \"/afio:.*\" | grep -vx \"dev/.*\" > %s", 1074 1075 (bkpinfo->use_star) ? "star" : "afio", MONDO_LOGFILE, … … 1086 1087 } 1087 1088 } 1088 paranoid_free(tmp);1089 1090 asprintf(&tmp, "cat /tmp/biggies.changed >> %s", changed_files_fname);1089 mr_free(tmp); 1090 1091 mr_asprintf(&tmp, "cat /tmp/biggies.changed >> %s", changed_files_fname); 1091 1092 paranoid_system(tmp); 1092 paranoid_free(tmp);1093 mr_free(tmp); 1093 1094 1094 1095 diffs = count_lines_in_file(changed_files_fname); 1095 1096 if (diffs > 0) { 1096 asprintf(&tmp, "cp -f %s %s", changed_files_fname,1097 mr_asprintf(&tmp, "cp -f %s %s", changed_files_fname, 1097 1098 "/tmp/changed.files"); 1098 1099 run_program_and_log_output(tmp, FALSE); 1099 paranoid_free(tmp);1100 1101 asprintf(&tmp,1100 mr_free(tmp); 1101 1102 mr_asprintf(&tmp, 1102 1103 "%ld files differed from live filesystem; type less %s or less %s to see", 1103 1104 diffs, changed_files_fname, "/tmp/changed.files"); 1104 1105 log_msg(0, tmp); 1105 paranoid_free(tmp);1106 mr_free(tmp); 1106 1107 1107 1108 log_to_screen … … 1111 1112 // retval++; 1112 1113 } 1113 paranoid_free(changed_files_fname);1114 mr_free(changed_files_fname); 1114 1115 return (retval); 1115 1116 } … … 1133 1134 assert(bkpinfo != NULL); 1134 1135 assert_string_is_neither_NULL_nor_zerolength(mountpoint); 1135 asprintf(&output, "%s/archives/%d.star.%s", mountpoint, setno,1136 mr_asprintf(&output, "%s/archives/%d.star.%s", mountpoint, setno, 1136 1137 bkpinfo->zip_suffix); 1137 1138 if (!does_file_exist(output)) { 1138 paranoid_free(output);1139 asprintf(&output, "%s/archives/%d.afio.%s", mountpoint, setno,1139 mr_free(output); 1140 mr_asprintf(&output, "%s/archives/%d.afio.%s", mountpoint, setno, 1140 1141 bkpinfo->zip_suffix); 1141 1142 }
Note:
See TracChangeset
for help on using the changeset viewer.