Changeset 956 in MondoRescue for trunk/mondo/src/common/libmondo-archive.c
- Timestamp:
- Nov 21, 2006, 1:42:46 AM (17 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/mondo/src/common/libmondo-archive.c
r914 r956 75 75 extern bool g_cd_recovery; 76 76 extern char *g_serial_string; 77 78 extern char *g_getfacl; 79 extern char *g_getfattr; 80 81 77 82 78 83 /** … … 538 543 /*@ buffer ************************************************************ */ 539 544 char *tmp = NULL; 545 char *tmp1 = NULL; 540 546 char *command = NULL; 541 547 char *use_lzo_sz = NULL; … … 552 558 char *value = NULL; 553 559 char *bootdev = NULL; 554 555 560 556 561 … … 802 807 } 803 808 mr_free(tmp); 809 810 if (g_getfattr) { 811 asprintf(&tmp1, "%s/XATTR", bkpinfo->tmpdir); 812 if (write_one_liner_data_file(tmp1, "TRUE")) { 813 log_msg(1, "%ld: Unable to write one-liner XATTR", 814 __LINE__); 815 } 816 paranoid_free(tmp1); 817 } 818 if (g_getfacl) { 819 asprintf(&tmp1, "%s/ACL", bkpinfo->tmpdir); 820 if (write_one_liner_data_file(tmp1, "TRUE")) { 821 log_msg(1, "%ld: Unable to write one-liner ACL", 822 __LINE__); 823 } 824 paranoid_free(tmp1); 825 } 804 826 805 827 estimated_total_noof_slices = … … 975 997 char *archiving_filelist_fname; 976 998 char *archiving_afioball_fname; 977 char *curr_xattr_list_fname ;999 char *curr_xattr_list_fname = NULL; 978 1000 char *curr_acl_list_fname; 979 1001 … … 1046 1068 log_msg(4, "%s[%d:%d] - EXATing %d...", FORTY_SPACES, getpid(), 1047 1069 this_thread_no, archiving_set_no); 1048 mr_asprintf(&curr_xattr_list_fname, XATTR_LIST_FNAME_RAW_SZ, 1049 bkpinfo->tmpdir, archiving_set_no); 1050 mr_asprintf(&curr_acl_list_fname, ACL_LIST_FNAME_RAW_SZ, 1051 bkpinfo->tmpdir, archiving_set_no); 1052 get_fattr_list(archiving_filelist_fname, curr_xattr_list_fname); 1053 mr_free(curr_xattr_list_fname); 1054 get_acl_list(archiving_filelist_fname, curr_acl_list_fname); 1055 mr_free(curr_acl_list_fname); 1070 if (g_getfattr) { 1071 mr_asprintf(&curr_xattr_list_fname, XATTR_LIST_FNAME_RAW_SZ, 1072 bkpinfo->tmpdir, archiving_set_no); 1073 get_fattr_list(archiving_filelist_fname, curr_xattr_list_fname); 1074 mr_free(curr_xattr_list_fname); 1075 } 1076 if (g_getfacl) { 1077 mr_asprintf(&curr_acl_list_fname, ACL_LIST_FNAME_RAW_SZ, 1078 bkpinfo->tmpdir, archiving_set_no); 1079 get_acl_list(archiving_filelist_fname, curr_acl_list_fname); 1080 mr_free(curr_acl_list_fname); 1081 } 1056 1082 1057 1083 log_msg(4, "%s[%d:%d] - archiving %d...", FORTY_SPACES, getpid(), … … 1432 1458 int noof_threads; 1433 1459 int i; 1434 char *curr_xattr_list_fname ;1460 char *curr_xattr_list_fname = NULL; 1435 1461 char *curr_acl_list_fname; 1436 1462 int misc_counter_that_is_not_important = 0; … … 1515 1541 // store set N 1516 1542 mr_asprintf(&storing_filelist_fname, FILELIST_FNAME_RAW_SZ, 1517 1543 bkpinfo->tmpdir, storing_set_no); 1518 1544 mr_asprintf(&storing_afioball_fname, AFIOBALL_FNAME_RAW_SZ, 1519 bkpinfo->tmpdir, storing_set_no, bkpinfo->zip_suffix); 1520 mr_asprintf(&curr_xattr_list_fname, XATTR_LIST_FNAME_RAW_SZ, 1521 bkpinfo->tmpdir, storing_set_no); 1522 mr_asprintf(&curr_acl_list_fname, ACL_LIST_FNAME_RAW_SZ, 1523 bkpinfo->tmpdir, storing_set_no); 1545 bkpinfo->tmpdir, storing_set_no, bkpinfo->zip_suffix); 1546 if (g_getfattr) { 1547 mr_asprintf(&curr_xattr_list_fname, XATTR_LIST_FNAME_RAW_SZ, 1548 bkpinfo->tmpdir, storing_set_no); 1549 } 1550 if (g_getfacl) { 1551 mr_asprintf(&curr_acl_list_fname, ACL_LIST_FNAME_RAW_SZ, 1552 bkpinfo->tmpdir, storing_set_no); 1553 } 1524 1554 1525 1555 log_msg(2, "Storing set %d", storing_set_no); … … 1549 1579 NULL); 1550 1580 } else { 1551 res = 1552 move_files_to_cd(bkpinfo, storing_filelist_fname, 1581 if (g_getfacl) { 1582 if (g_getfattr) { 1583 res = move_files_to_cd(bkpinfo, storing_filelist_fname, 1553 1584 curr_xattr_list_fname, 1554 1585 curr_acl_list_fname, 1555 1586 storing_afioball_fname, NULL); 1587 } else { 1588 res = move_files_to_cd(bkpinfo, storing_filelist_fname, 1589 curr_acl_list_fname, 1590 storing_afioball_fname, NULL); 1591 } 1592 } else { 1593 if (g_getfattr) { 1594 res = move_files_to_cd(bkpinfo, storing_filelist_fname, 1595 curr_xattr_list_fname, 1596 storing_afioball_fname, NULL); 1597 } else { 1598 res = move_files_to_cd(bkpinfo, storing_filelist_fname, 1599 storing_afioball_fname, NULL); 1600 } 1601 } 1556 1602 } 1557 1603 mr_free(storing_filelist_fname); … … 2165 2211 2166 2212 log_msg(1, "EXAT'g set %ld", curr_set_no); 2167 mr_asprintf(&curr_xattr_list_fname, XATTR_LIST_FNAME_RAW_SZ, 2168 bkpinfo->tmpdir, curr_set_no); 2169 mr_asprintf(&curr_acl_list_fname, ACL_LIST_FNAME_RAW_SZ, 2170 bkpinfo->tmpdir, curr_set_no); 2171 get_fattr_list(curr_filelist_fname, curr_xattr_list_fname); 2172 get_acl_list(curr_filelist_fname, curr_acl_list_fname); 2213 if (g_getfattr) { 2214 mr_asprintf(&curr_xattr_list_fname, XATTR_LIST_FNAME_RAW_SZ, 2215 bkpinfo->tmpdir, curr_set_no); 2216 get_fattr_list(curr_filelist_fname, curr_xattr_list_fname); 2217 } 2218 if (g_getfacl) { 2219 mr_asprintf(&curr_acl_list_fname, ACL_LIST_FNAME_RAW_SZ, 2220 bkpinfo->tmpdir, curr_set_no); 2221 get_acl_list(curr_filelist_fname, curr_acl_list_fname); 2222 } 2173 2223 2174 2224 log_msg(1, "Archiving set %ld", curr_set_no); … … 2200 2250 res = move_files_to_stream(bkpinfo, curr_afioball_fname, NULL); 2201 2251 } else { 2202 res = 2203 move_files_to_cd(bkpinfo, curr_filelist_fname, 2204 curr_xattr_list_fname, 2205 curr_acl_list_fname, curr_afioball_fname, 2206 NULL); 2252 if (g_getfacl) { 2253 if (g_getfattr) { 2254 res = move_files_to_cd(bkpinfo, curr_filelist_fname, 2255 curr_xattr_list_fname, 2256 curr_acl_list_fname, 2257 curr_afioball_fname, NULL); 2258 } else { 2259 res = move_files_to_cd(bkpinfo, curr_filelist_fname, 2260 curr_acl_list_fname, 2261 curr_afioball_fname, NULL); 2262 } 2263 } else { 2264 if (g_getfattr) { 2265 res = move_files_to_cd(bkpinfo, curr_filelist_fname, 2266 curr_xattr_list_fname, 2267 curr_afioball_fname, NULL); 2268 } else { 2269 res = move_files_to_cd(bkpinfo, curr_filelist_fname, 2270 curr_afioball_fname, NULL); 2271 } 2272 } 2207 2273 } 2208 2274 retval += res; … … 2315 2381 mr_asprintf(&biggielist, "%s/archives/biggielist.txt", 2316 2382 bkpinfo->scratchdir); 2317 mr_asprintf(&xattr_fname, XATTR_BIGGLST_FNAME_RAW_SZ, bkpinfo->tmpdir); 2318 mr_asprintf(&acl_fname, ACL_BIGGLST_FNAME_RAW_SZ, bkpinfo->tmpdir); 2383 if (g_getfattr) { 2384 mr_asprintf(&xattr_fname, XATTR_BIGGLST_FNAME_RAW_SZ, bkpinfo->tmpdir); 2385 } 2386 if (g_getfacl) { 2387 mr_asprintf(&acl_fname, ACL_BIGGLST_FNAME_RAW_SZ, bkpinfo->tmpdir); 2388 } 2319 2389 2320 2390 mr_asprintf(&command, "cp %s/biggielist.txt %s", bkpinfo->tmpdir, … … 2331 2401 } 2332 2402 2333 get_fattr_list(biggielist, xattr_fname); 2334 get_acl_list(biggielist, acl_fname); 2335 mr_asprintf(&command, "cp %s %s/archives/", xattr_fname, 2403 if (g_getfattr) { 2404 get_fattr_list(biggielist, xattr_fname); 2405 mr_asprintf(&command, "cp %s %s/archives/", xattr_fname, 2406 bkpinfo->scratchdir); 2407 paranoid_system(command); 2408 mr_free(command); 2409 } 2410 if (g_getfacl) { 2411 get_acl_list(biggielist, acl_fname); 2412 mr_asprintf(&command, "cp %s %s/archives/", acl_fname, 2336 2413 bkpinfo->scratchdir); 2337 paranoid_system(command); 2338 mr_free(command); 2339 2340 mr_asprintf(&command, "cp %s %s/archives/", acl_fname, 2341 bkpinfo->scratchdir); 2342 paranoid_system(command); 2343 mr_free(command); 2414 paranoid_system(command); 2415 mr_free(command); 2416 } 2344 2417 2345 2418 if (IS_THIS_A_STREAMING_BACKUP(bkpinfo->backup_media_type)) { … … 2349 2422 mr_free(blah); 2350 2423 } 2351 mr_free(xattr_fname); 2352 mr_free(acl_fname); 2424 if (g_getfattr) { 2425 mr_free(xattr_fname); 2426 } 2427 if (g_getfacl) { 2428 mr_free(acl_fname); 2429 } 2353 2430 2354 2431 res = make_slices_and_images(bkpinfo, biggielist);
Note:
See TracChangeset
for help on using the changeset viewer.