Changeset 948 in MondoRescue for branches/stable/mondo/src/common
- Timestamp:
- Nov 19, 2006, 1:27:46 AM (17 years ago)
- Location:
- branches/stable/mondo/src/common
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/stable/mondo/src/common/libmondo-archive.c
r911 r948 234 234 extern bool g_cd_recovery; 235 235 extern char *g_serial_string; 236 237 extern char *g_getfacl; 238 extern char *g_getfattr; 239 240 236 241 237 242 /** … … 1112 1117 char *archiving_filelist_fname; 1113 1118 char *archiving_afioball_fname; 1114 char *curr_xattr_list_fname ;1119 char *curr_xattr_list_fname = NULL; 1115 1120 char *curr_acl_list_fname; 1116 1121 … … 1185 1190 log_msg(4, "%s[%d:%d] - EXATing %d...", FORTY_SPACES, getpid(), 1186 1191 this_thread_no, archiving_set_no); 1187 sprintf(curr_xattr_list_fname, XATTR_LIST_FNAME_RAW_SZ, 1192 if (g_getfattr) { 1193 sprintf(curr_xattr_list_fname, XATTR_LIST_FNAME_RAW_SZ, 1188 1194 bkpinfo->tmpdir, archiving_set_no); 1189 sprintf(curr_acl_list_fname, ACL_LIST_FNAME_RAW_SZ, 1195 get_fattr_list(archiving_filelist_fname, curr_xattr_list_fname); 1196 } 1197 if (g_getfacl) { 1198 sprintf(curr_acl_list_fname, ACL_LIST_FNAME_RAW_SZ, 1190 1199 bkpinfo->tmpdir, archiving_set_no); 1191 get_fattr_list(archiving_filelist_fname, curr_xattr_list_fname);1192 get_acl_list(archiving_filelist_fname, curr_acl_list_fname);1200 get_acl_list(archiving_filelist_fname, curr_acl_list_fname); 1201 } 1193 1202 1194 1203 log_msg(4, "%s[%d:%d] - archiving %d...", FORTY_SPACES, getpid(), … … 1589 1598 int noof_threads; 1590 1599 int i; 1591 char *curr_xattr_list_fname ;1600 char *curr_xattr_list_fname = NULL; 1592 1601 char *curr_acl_list_fname; 1593 1602 int misc_counter_that_is_not_important = 0; … … 1676 1685 sprintf(storing_afioball_fname, AFIOBALL_FNAME_RAW_SZ, 1677 1686 bkpinfo->tmpdir, storing_set_no, bkpinfo->zip_suffix); 1678 sprintf(curr_xattr_list_fname, XATTR_LIST_FNAME_RAW_SZ, 1687 if (g_getfattr) { 1688 sprintf(curr_xattr_list_fname, XATTR_LIST_FNAME_RAW_SZ, 1679 1689 bkpinfo->tmpdir, storing_set_no); 1680 sprintf(curr_acl_list_fname, ACL_LIST_FNAME_RAW_SZ, 1690 } 1691 if (g_getfacl) { 1692 sprintf(curr_acl_list_fname, ACL_LIST_FNAME_RAW_SZ, 1681 1693 bkpinfo->tmpdir, storing_set_no); 1694 } 1682 1695 1683 1696 log_msg(2, "Storing set %d", storing_set_no); … … 1707 1720 NULL); 1708 1721 } else { 1709 res = 1710 move_files_to_cd(bkpinfo, storing_filelist_fname, 1722 if (g_getfacl) { 1723 if (g_getfattr) { 1724 res = move_files_to_cd(bkpinfo, storing_filelist_fname, 1711 1725 curr_xattr_list_fname, 1712 1726 curr_acl_list_fname, 1713 1727 storing_afioball_fname, NULL); 1728 } else { 1729 res = move_files_to_cd(bkpinfo, storing_filelist_fname, 1730 curr_acl_list_fname, 1731 storing_afioball_fname, NULL); 1732 } 1733 } else { 1734 if (g_getfattr) { 1735 res = move_files_to_cd(bkpinfo, storing_filelist_fname, 1736 curr_xattr_list_fname, 1737 storing_afioball_fname, NULL); 1738 } else { 1739 res = move_files_to_cd(bkpinfo, storing_filelist_fname, 1740 storing_afioball_fname, NULL); 1741 } 1742 } 1714 1743 } 1715 1744 retval += res; … … 2370 2399 2371 2400 log_msg(1, "EXAT'g set %ld", curr_set_no); 2372 sprintf(curr_xattr_list_fname, XATTR_LIST_FNAME_RAW_SZ, 2401 if (g_getfattr) { 2402 sprintf(curr_xattr_list_fname, XATTR_LIST_FNAME_RAW_SZ, 2373 2403 bkpinfo->tmpdir, curr_set_no); 2374 sprintf(curr_acl_list_fname, ACL_LIST_FNAME_RAW_SZ, 2404 get_fattr_list(curr_filelist_fname, curr_xattr_list_fname); 2405 } 2406 if (g_getfacl) { 2407 sprintf(curr_acl_list_fname, ACL_LIST_FNAME_RAW_SZ, 2375 2408 bkpinfo->tmpdir, curr_set_no); 2376 get_fattr_list(curr_filelist_fname, curr_xattr_list_fname);2377 get_acl_list(curr_filelist_fname, curr_acl_list_fname);2409 get_acl_list(curr_filelist_fname, curr_acl_list_fname); 2410 } 2378 2411 2379 2412 log_msg(1, "Archiving set %ld", curr_set_no); … … 2404 2437 res = move_files_to_stream(bkpinfo, curr_afioball_fname, NULL); 2405 2438 } else { 2406 res = 2407 move_files_to_cd(bkpinfo, curr_filelist_fname, 2408 curr_xattr_list_fname, 2409 curr_acl_list_fname, curr_afioball_fname, 2410 NULL); 2439 if (g_getfacl) { 2440 if (g_getfattr) { 2441 res = move_files_to_cd(bkpinfo, curr_filelist_fname, 2442 curr_xattr_list_fname, 2443 curr_acl_list_fname, 2444 curr_afioball_fname, NULL); 2445 } else { 2446 res = move_files_to_cd(bkpinfo, curr_filelist_fname, 2447 curr_acl_list_fname, 2448 curr_afioball_fname, NULL); 2449 } 2450 } else { 2451 if (g_getfattr) { 2452 res = move_files_to_cd(bkpinfo, curr_filelist_fname, 2453 curr_xattr_list_fname, 2454 curr_afioball_fname, NULL); 2455 } else { 2456 res = move_files_to_cd(bkpinfo, curr_filelist_fname, 2457 curr_afioball_fname, NULL); 2458 } 2459 } 2411 2460 } 2412 2461 retval += res; … … 2520 2569 "Archiving large files to media "); 2521 2570 sprintf(biggielist, "%s/archives/biggielist.txt", bkpinfo->scratchdir); 2522 sprintf(xattr_fname, XATTR_BIGGLST_FNAME_RAW_SZ, bkpinfo->tmpdir); 2523 sprintf(acl_fname, ACL_BIGGLST_FNAME_RAW_SZ, bkpinfo->tmpdir); 2571 if (g_getfattr) { 2572 sprintf(xattr_fname, XATTR_BIGGLST_FNAME_RAW_SZ, bkpinfo->tmpdir); 2573 } 2574 if (g_getfacl) { 2575 sprintf(acl_fname, ACL_BIGGLST_FNAME_RAW_SZ, bkpinfo->tmpdir); 2576 } 2524 2577 2525 2578 sprintf(command, "cp %s/biggielist.txt %s", bkpinfo->tmpdir, … … 2533 2586 } 2534 2587 2535 get_fattr_list(biggielist, xattr_fname);2536 get_acl_list(biggielist, acl_fname);2537 sprintf(command, "cp %s %s/archives/", xattr_fname,2588 if (g_getfattr) { 2589 get_fattr_list(biggielist, xattr_fname); 2590 sprintf(command, "cp %s %s/archives/", xattr_fname, 2538 2591 bkpinfo->scratchdir); 2539 paranoid_system(command); 2540 sprintf(command, "cp %s %s/archives/", acl_fname, bkpinfo->scratchdir); 2541 paranoid_system(command); 2592 paranoid_system(command); 2593 } 2594 if (g_getfacl) { 2595 get_acl_list(biggielist, acl_fname); 2596 sprintf(command, "cp %s %s/archives/", acl_fname, bkpinfo->scratchdir); 2597 paranoid_system(command); 2598 } 2542 2599 2543 2600 if (IS_THIS_A_STREAMING_BACKUP(bkpinfo->backup_media_type)) { -
branches/stable/mondo/src/common/libmondo-stream.c
r684 r948 115 115 extern bool g_sigpipe; 116 116 extern int g_tape_buffer_size_MB; 117 118 extern char *g_getfacl; 119 extern char *g_getfattr; 117 120 118 121 /** … … 443 446 444 447 // xattr 445 res = read_header_block_from_stream(ptmp_size, tmp_fname, pctrl_chr); 446 if (*pctrl_chr != BLK_START_EXAT_FILE) { 447 wrong_marker(BLK_START_EXAT_FILE, *pctrl_chr); 448 } 449 if (!strstr(tmp_fname, "xattr")) { 450 fatal_error("Wrong order, sunshine."); 451 } 452 read_file_from_stream_to_file(bkpinfo, xattr_fname, *ptmp_size); 453 res = read_header_block_from_stream(ptmp_size, tmp_fname, pctrl_chr); 454 if (*pctrl_chr != BLK_STOP_EXAT_FILE) { 455 wrong_marker(BLK_STOP_EXAT_FILE, *pctrl_chr); 448 if (g_getfattr) { 449 res = read_header_block_from_stream(ptmp_size, tmp_fname, pctrl_chr); 450 if (*pctrl_chr != BLK_START_EXAT_FILE) { 451 wrong_marker(BLK_START_EXAT_FILE, *pctrl_chr); 452 } 453 if (!strstr(tmp_fname, "xattr")) { 454 fatal_error("Wrong order, sunshine."); 455 } 456 read_file_from_stream_to_file(bkpinfo, xattr_fname, *ptmp_size); 457 res = read_header_block_from_stream(ptmp_size, tmp_fname, pctrl_chr); 458 if (*pctrl_chr != BLK_STOP_EXAT_FILE) { 459 wrong_marker(BLK_STOP_EXAT_FILE, *pctrl_chr); 460 } 461 log_msg(1, "Got xattr"); 456 462 } 457 463 // acl 458 res = read_header_block_from_stream(ptmp_size, tmp_fname, pctrl_chr); 459 if (!strstr(tmp_fname, "acl")) { 460 fatal_error("Wrong order, sunshine."); 461 } 462 if (*pctrl_chr != BLK_START_EXAT_FILE) { 463 wrong_marker(BLK_START_EXAT_FILE, *pctrl_chr); 464 } 465 read_file_from_stream_to_file(bkpinfo, acl_fname, *ptmp_size); 466 res = read_header_block_from_stream(ptmp_size, tmp_fname, pctrl_chr); 467 if (*pctrl_chr != BLK_STOP_EXAT_FILE) { 468 wrong_marker(BLK_STOP_EXAT_FILE, *pctrl_chr); 469 } 470 res = read_header_block_from_stream(ptmp_size, tmp_fname, pctrl_chr); 471 if (*pctrl_chr != BLK_STOP_EXTENDED_ATTRIBUTES) { 472 wrong_marker(BLK_STOP_EXTENDED_ATTRIBUTES, *pctrl_chr); 464 if (g_getfacl) { 465 res = read_header_block_from_stream(ptmp_size, tmp_fname, pctrl_chr); 466 if (!strstr(tmp_fname, "acl")) { 467 fatal_error("Wrong order, sunshine."); 468 } 469 if (*pctrl_chr != BLK_START_EXAT_FILE) { 470 wrong_marker(BLK_START_EXAT_FILE, *pctrl_chr); 471 } 472 read_file_from_stream_to_file(bkpinfo, acl_fname, *ptmp_size); 473 res = read_header_block_from_stream(ptmp_size, tmp_fname, pctrl_chr); 474 if (*pctrl_chr != BLK_STOP_EXAT_FILE) { 475 wrong_marker(BLK_STOP_EXAT_FILE, *pctrl_chr); 476 } 477 res = read_header_block_from_stream(ptmp_size, tmp_fname, pctrl_chr); 478 if (*pctrl_chr != BLK_STOP_EXTENDED_ATTRIBUTES) { 479 wrong_marker(BLK_STOP_EXTENDED_ATTRIBUTES, *pctrl_chr); 480 } 481 log_msg(1, "Got acl"); 473 482 } 474 483 // tarball itself 475 484 res = read_header_block_from_stream(ptmp_size, tmp_fname, pctrl_chr); 476 log_msg(1, " Got xattr and acl;now looking for afioball");485 log_msg(1, "now looking for afioball"); 477 486 return (retval); 478 487 } … … 483 492 { 484 493 int res = 0; 485 // EXATs 486 write_header_block_to_stream(length_of_file(xattr_fname), xattr_fname, 487 BLK_START_EXTENDED_ATTRIBUTES); 494 if (g_getfattr) { 488 495 // xattr 489 write_header_block_to_stream(length_of_file(xattr_fname), xattr_fname, 490 BLK_START_EXAT_FILE); 491 write_file_to_stream_from_file(bkpinfo, xattr_fname); 492 write_header_block_to_stream((off_t)-1, xattr_fname, BLK_STOP_EXAT_FILE); 496 write_header_block_to_stream(length_of_file(xattr_fname), xattr_fname, 497 BLK_START_EXTENDED_ATTRIBUTES); 498 write_header_block_to_stream(length_of_file(xattr_fname), xattr_fname, 499 BLK_START_EXAT_FILE); 500 write_file_to_stream_from_file(bkpinfo, xattr_fname); 501 write_header_block_to_stream((off_t)-1, xattr_fname, BLK_STOP_EXAT_FILE); 502 } 503 if (g_getfacl) { 493 504 // acl 494 write_header_block_to_stream(length_of_file(acl_fname), acl_fname, 495 BLK_START_EXAT_FILE); 496 write_file_to_stream_from_file(bkpinfo, acl_fname); 497 write_header_block_to_stream((off_t)-1, acl_fname, BLK_STOP_EXAT_FILE); 498 write_header_block_to_stream(length_of_file(xattr_fname), xattr_fname, 499 BLK_STOP_EXTENDED_ATTRIBUTES); 505 write_header_block_to_stream(length_of_file(acl_fname), acl_fname, 506 BLK_START_EXAT_FILE); 507 write_file_to_stream_from_file(bkpinfo, acl_fname); 508 write_header_block_to_stream((off_t)-1, acl_fname, BLK_STOP_EXAT_FILE); 509 write_header_block_to_stream(length_of_file(xattr_fname), xattr_fname, 510 BLK_STOP_EXTENDED_ATTRIBUTES); 511 } 500 512 return (res); 501 513 } -
branches/stable/mondo/src/common/libmondo-verify.c
r911 r948 124 124 int g_last_afioball_number = -1; 125 125 126 extern char *g_getfacl; 127 extern char *g_getfattr; 126 128 127 129 /** … … 807 809 malloc_string(curr_acl_list_fname); 808 810 809 sprintf(curr_xattr_list_fname, XATTR_BIGGLST_FNAME_RAW_SZ, 811 if (g_getfattr) { 812 sprintf(curr_xattr_list_fname, XATTR_BIGGLST_FNAME_RAW_SZ, 810 813 bkpinfo->tmpdir); 811 sprintf(curr_acl_list_fname, ACL_BIGGLST_FNAME_RAW_SZ, 814 } 815 if (g_getfacl) { 816 sprintf(curr_acl_list_fname, ACL_BIGGLST_FNAME_RAW_SZ, 812 817 bkpinfo->tmpdir); 818 } 813 819 log_to_screen("Verifying regular archives on tape"); 814 820 total_afioballs = get_last_filelist_number(bkpinfo) + 1; … … 835 841 ctrl_chr != BLK_STOP_AFIOBALLS; 836 842 res = read_header_block_from_stream(&size, fname, &ctrl_chr)) { 837 sprintf(curr_xattr_list_fname, XATTR_LIST_FNAME_RAW_SZ, 843 if (g_getfattr) { 844 sprintf(curr_xattr_list_fname, XATTR_LIST_FNAME_RAW_SZ, 838 845 bkpinfo->tmpdir, current_afioball_number); 839 sprintf(curr_acl_list_fname, ACL_LIST_FNAME_RAW_SZ, 846 } 847 if (g_getfacl) { 848 sprintf(curr_acl_list_fname, ACL_LIST_FNAME_RAW_SZ, 840 849 bkpinfo->tmpdir, current_afioball_number); 850 } 841 851 if (ctrl_chr == BLK_START_EXTENDED_ATTRIBUTES) { 842 852 iamhere("Reading EXAT files from tape"); … … 915 925 malloc_string(curr_acl_list_fname); 916 926 917 sprintf(curr_xattr_list_fname, XATTR_BIGGLST_FNAME_RAW_SZ, 927 if (g_getfattr) { 928 sprintf(curr_xattr_list_fname, XATTR_BIGGLST_FNAME_RAW_SZ, 918 929 bkpinfo->tmpdir); 919 sprintf(curr_acl_list_fname, ACL_BIGGLST_FNAME_RAW_SZ, 930 } 931 if (g_getfacl) { 932 sprintf(curr_acl_list_fname, ACL_BIGGLST_FNAME_RAW_SZ, 920 933 bkpinfo->tmpdir); 934 } 921 935 sprintf(comment, "Verifying all bigfiles."); 922 936 log_to_screen(comment);
Note:
See TracChangeset
for help on using the changeset viewer.