Changeset 2323 in MondoRescue for branches/2.2.10/mondo/src/common/libmondo-stream.c
- Timestamp:
- Aug 18, 2009, 3:05:43 PM (15 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/2.2.10/mondo/src/common/libmondo-stream.c
r2321 r2323 236 236 int res; 237 237 238 mr_asprintf( &command, "mt -f %s status", dev);238 mr_asprintf(command, "mt -f %s status", dev); 239 239 res = run_program_and_log_output(command, 1); 240 240 mr_free(command); … … 268 268 mr_asprintf(&cdr_exe, "dvdrecord"); 269 269 } 270 mr_asprintf( &command, "%s -scanbus 2> /dev/null | grep -i tape | wc -l", cdr_exe);270 mr_asprintf(command, "%s -scanbus 2> /dev/null | grep -i tape | wc -l", cdr_exe); 271 271 mr_asprintf(&tmp, "%s", call_program_and_get_last_line_of_output(command)); 272 272 mr_free(command); … … 280 280 mr_free(tmp); 281 281 282 mr_asprintf( &command, "%s -scanbus 2> /dev/null | tr -s '\t' ' ' | grep \"[0-9]*,[0-9]*,[0-9]*\" | grep -v \"[0-9]*) \\*\" | grep -i TAPE | cut -d' ' -f2 | head -n1", cdr_exe);282 mr_asprintf(command, "%s -scanbus 2> /dev/null | tr -s '\t' ' ' | grep \"[0-9]*,[0-9]*,[0-9]*\" | grep -v \"[0-9]*) \\*\" | grep -i TAPE | cut -d' ' -f2 | head -n1", cdr_exe); 283 283 mr_asprintf(&tmp, "%s", call_program_and_get_last_line_of_output(command)); 284 284 mr_free(command); … … 290 290 } 291 291 mr_free(tmp); 292 mr_asprintf( &command, "%s -scanbus 2> /dev/null | tr -s '\t' ' ' | grep \"[0-9]*,[0-9]*,[0-9]*\" | grep -v \"[0-9]*) \\*\" | grep -i TAPE | cut -d' ' -f3 | cut -d')' -f1 | head -n1", cdr_exe);292 mr_asprintf(command, "%s -scanbus 2> /dev/null | tr -s '\t' ' ' | grep \"[0-9]*,[0-9]*,[0-9]*\" | grep -v \"[0-9]*) \\*\" | grep -i TAPE | cut -d' ' -f3 | cut -d')' -f1 | head -n1", cdr_exe); 293 293 mr_free(cdr_exe); 294 294 … … 372 372 } 373 373 if (strstr(fname, "xattr") == NULL) { 374 mr_asprintf( &tmp,"Wrong order expected xattr, got %s, sunshine.", fname);374 mr_asprintf(tmp,"Wrong order expected xattr, got %s, sunshine.", fname); 375 375 fatal_error(tmp); 376 376 } … … 402 402 } 403 403 if (strstr(fname, "acl") == NULL) { 404 mr_asprintf( &tmp,"Wrong order expected acl, got %s, sunshine.", fname);404 mr_asprintf(tmp,"Wrong order expected acl, got %s, sunshine.", fname); 405 405 fatal_error(tmp); 406 406 } … … 468 468 log_it("Insisting on tape #%d", tapeno); 469 469 if (g_current_media_number != tapeno) { 470 mr_asprintf( &tmp, "When the tape drive goes quiet, please insert volume %d in this series.", tapeno);470 mr_asprintf(tmp, "When the tape drive goes quiet, please insert volume %d in this series.", tapeno); 471 471 popup_and_OK(tmp); 472 472 mr_free(tmp); … … 544 544 fatal_error("Unknown type. Internal error in maintain_collection_of_recent_archives()"); 545 545 } 546 mr_asprintf( &tmpdir, "%s/tmpfs/backcatalog", bkpinfo->tmpdir);546 mr_asprintf(tmpdir, "%s/tmpfs/backcatalog", bkpinfo->tmpdir); 547 547 mkdir(tmpdir, 0x700); 548 mr_asprintf( &command, "cp -f %s %s", latest_fname, tmpdir);548 mr_asprintf(command, "cp -f %s %s", latest_fname, tmpdir); 549 549 if (run_program_and_log_output(command, 6)) { 550 550 log_it("Warning - failed to copy %s to backcatalog at %s", … … 575 575 576 576 for (i = curr - 1; i >= 0 && curr - i < 10; i--) { 577 mr_asprintf( &old_fname, "%s/%s", tmpdir, g_tapecatalog->el[i].fname);577 mr_asprintf(old_fname, "%s/%s", tmpdir, g_tapecatalog->el[i].fname); 578 578 unlink(old_fname); 579 579 mr_free(old_fname); … … 615 615 return (0); 616 616 } 617 mr_asprintf( &tmp, "mt -f %s setblk %ld", bkpinfo->media_device, internal_tape_block_size);617 mr_asprintf(tmp, "mt -f %s setblk %ld", bkpinfo->media_device, internal_tape_block_size); 618 618 res = run_program_and_log_output(tmp, 3); 619 619 mr_free(tmp); … … 684 684 685 685 log_it("Skipping OBDR headers"); 686 mr_asprintf( &command, "mt -f %s rewind",bkpinfo->media_device);686 mr_asprintf(command, "mt -f %s rewind",bkpinfo->media_device); 687 687 res = run_program_and_log_output(command, 1); 688 688 paranoid_free(command); 689 689 690 mr_asprintf( &command, "mt -f %s fsf 2",bkpinfo->media_device);690 mr_asprintf(command, "mt -f %s fsf 2",bkpinfo->media_device); 691 691 res = run_program_and_log_output(command, 1); 692 692 paranoid_free(command); … … 711 711 log_it("Creating OBDR headers"); 712 712 /* OBDR: First block 10 kB of zero bs = 512 */ 713 mr_asprintf( &command, "mt -f %s compression off",bkpinfo->media_device);713 mr_asprintf(command, "mt -f %s compression off",bkpinfo->media_device); 714 714 res = run_program_and_log_output(command, 1); 715 715 paranoid_free(command); 716 716 717 mr_asprintf( &command, "mt -f %s rewind",bkpinfo->media_device);717 mr_asprintf(command, "mt -f %s rewind",bkpinfo->media_device); 718 718 res += run_program_and_log_output(command, 1); 719 719 paranoid_free(command); … … 721 721 set_tape_block_size_with_mt(512); 722 722 723 mr_asprintf( &command, "dd if=/dev/zero of=%s bs=512 count=20",bkpinfo->media_device);723 mr_asprintf(command, "dd if=/dev/zero of=%s bs=512 count=20",bkpinfo->media_device); 724 724 res += run_program_and_log_output(command, 1); 725 725 paranoid_free(command); … … 728 728 set_tape_block_size_with_mt(2048); 729 729 730 mr_asprintf( &command, "dd if=%s of=%s bs=2048",MINDI_CACHE"/mondorescue.iso",bkpinfo->media_device);730 mr_asprintf(command, "dd if=%s of=%s bs=2048",MINDI_CACHE"/mondorescue.iso",bkpinfo->media_device); 731 731 res += run_program_and_log_output(command, 1); 732 732 paranoid_free(command); … … 795 795 796 796 insist_on_this_tape_number(1); 797 mr_asprintf( &outfname, "%s/tmp/all.tar.gz", bkpinfo->tmpdir);797 mr_asprintf(outfname, "%s/tmp/all.tar.gz", bkpinfo->tmpdir); 798 798 make_hole_for_file(outfname); 799 799 … … 858 858 (void) getcwd(old_cwd, MAX_STR_LEN); 859 859 chdir(bkpinfo->tmpdir); 860 mr_asprintf( &tmp, "tar -zxf %s ./tmp/mondo-restore.cfg 2> /dev/null", outfname);860 mr_asprintf(tmp, "tar -zxf %s ./tmp/mondo-restore.cfg 2> /dev/null", outfname); 861 861 paranoid_system(tmp); 862 862 mr_free(tmp); … … 885 885 886 886 /* add 'dummy' if testing */ 887 mr_asprintf( &command, "cdrecord -eject dev=%s speed=%d fs=24m -waiti - >> %s 2>> %s", cddev, speed, MONDO_LOGFILE, MONDO_LOGFILE);887 mr_asprintf(command, "cdrecord -eject dev=%s speed=%d fs=24m -waiti - >> %s 2>> %s", cddev, speed, MONDO_LOGFILE, MONDO_LOGFILE); 888 888 /* initialise the catalog */ 889 889 g_current_media_number = 1; … … 1058 1058 res = read_header_block_from_stream(&temp_size, temp_fname, &ctrl_chr); 1059 1059 if (orig_size != temp_size && orig_size != -1) { 1060 mr_asprintf( &tmp, "output file's size should be %ld K but is apparently %ld K", (long) size >> 10, (long) temp_size >> 10);1060 mr_asprintf(tmp, "output file's size should be %ld K but is apparently %ld K", (long) size >> 10, (long) temp_size >> 10); 1061 1061 log_to_screen(tmp); 1062 1062 mr_free(tmp); … … 1121 1121 log_msg(6, ".......................... Should be %lld", orig_size); 1122 1122 g_tape_posK += total_read_from_tape_for_this_file / 1024; 1123 mr_asprintf( &actual_cksum, "%04x%04x", crc16, crctt);1123 mr_asprintf(actual_cksum, "%04x%04x", crc16, crctt); 1124 1124 if (foutstream) { /*log_it("Finished writing to foutstream"); */ 1125 1125 } else { … … 1131 1131 } 1132 1132 if (strcmp(temp_cksum, actual_cksum)) { 1133 mr_asprintf( &tmp, "actual cksum=%s; recorded cksum=%s", actual_cksum, temp_cksum);1133 mr_asprintf(tmp, "actual cksum=%s; recorded cksum=%s", actual_cksum, temp_cksum); 1134 1134 log_to_screen(tmp); 1135 1135 mr_free(tmp); 1136 1136 1137 mr_asprintf( &tmp, "%s (%ld K) is corrupt on tape", temp_fname, (long) orig_size >> 10);1137 mr_asprintf(tmp, "%s (%ld K) is corrupt on tape", temp_fname, (long) orig_size >> 10); 1138 1138 log_to_screen(tmp); 1139 1139 mr_free(tmp); … … 1486 1486 } 1487 1487 if (bkpinfo->backup_media_type == cdstream) { 1488 mr_asprintf( &command, "cdrecord -eject dev=%s speed=%d fs=24m -waiti - >> %s 2>> %s", bkpinfo->media_device, bkpinfo->cdrw_speed, MONDO_LOGFILE, MONDO_LOGFILE);1488 mr_asprintf(command, "cdrecord -eject dev=%s speed=%d fs=24m -waiti - >> %s 2>> %s", bkpinfo->media_device, bkpinfo->cdrw_speed, MONDO_LOGFILE, MONDO_LOGFILE); 1489 1489 log_it("Opening OUT to next CD with the command"); 1490 1490 log_it(command); … … 1538 1538 last = g_tapecatalog->entries - 1; 1539 1539 for (i = 0; i <= last; i++) { 1540 mr_asprintf( &fname, "%s/tmpfs/backcatalog/%s", bkpinfo->tmpdir, g_tapecatalog->el[i].fname);1540 mr_asprintf(fname, "%s/tmpfs/backcatalog/%s", bkpinfo->tmpdir, g_tapecatalog->el[i].fname); 1541 1541 if (!does_file_exist(fname)) { 1542 1542 log_msg(6, "Can't write %s - it doesn't exist.", fname); … … 1591 1591 log_it("Data disks = %s", fname); 1592 1592 if (!does_file_exist(fname)) { 1593 mr_asprintf( &tmp, "Cannot find %s", fname);1593 mr_asprintf(tmp, "Cannot find %s", fname); 1594 1594 log_to_screen(tmp); 1595 1595 mr_free(tmp); … … 1689 1689 p++; 1690 1690 } 1691 mr_asprintf( &tmp, "Writing file '%s' to tape (%ld KB)", p, (long) filesize >> 10);1691 mr_asprintf(tmp, "Writing file '%s' to tape (%ld KB)", p, (long) filesize >> 10); 1692 1692 log_it(tmp); 1693 1693 mr_free(tmp); … … 1731 1731 } 1732 1732 paranoid_fclose(fin); 1733 mr_asprintf( &checksum, "%04x%04x", crc16, crctt);1733 mr_asprintf(checksum, "%04x%04x", crc16, crctt); 1734 1734 /* BERLIOS: what does it do ??? */ 1735 1735 write_header_block_to_stream((off_t)g_current_media_number, checksum, BLK_STOP_FILE); … … 1794 1794 fwrite(tempblock, 1, (size_t) TAPE_BLOCK_SIZE, 1795 1795 g_tape_stream) / 1024; 1796 mr_asprintf( &tmp, "%s (fname=%s, size=%ld K)", marker_to_string(control_char), p, (long) length_of_incoming_file >> 10);1796 mr_asprintf(tmp, "%s (fname=%s, size=%ld K)", marker_to_string(control_char), p, (long) length_of_incoming_file >> 10); 1797 1797 log_msg(6, tmp); 1798 1798 mr_free(tmp); … … 1821 1821 1822 1822 /*@ end vars *************************************************** */ 1823 mr_asprintf( &tmp, "Wrong marker! (Should be %s, is actually %s)", marker_to_string(should_be), marker_to_string(it_is));1823 mr_asprintf(tmp, "Wrong marker! (Should be %s, is actually %s)", marker_to_string(should_be), marker_to_string(it_is)); 1824 1824 log_to_screen(tmp); 1825 1825 mr_free(tmp);
Note:
See TracChangeset
for help on using the changeset viewer.