Changeset 1086 in MondoRescue for trunk/mondo/src/common/libmondo-filelist.c
- Timestamp:
- Feb 2, 2007, 11:21:27 PM (17 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/mondo/src/common/libmondo-filelist.c
r1083 r1086 150 150 int retval = 0; 151 151 152 log_msg(1, "Sorting file %s", orig_fname);152 mr_msg(1, "Sorting file %s", orig_fname); 153 153 mr_asprintf(&tmp_fname, "/tmp/sort.%d.%d.%d", (int) (random() % 32768), 154 154 (int) (random() % 32768), (int) (random() % 32768)); … … 164 164 165 165 if (retval) { 166 log_msg(2, "Failed to sort %s - oh dear", orig_fname);166 mr_msg(2, "Failed to sort %s - oh dear", orig_fname); 167 167 } else { 168 log_msg(2, "Sorted %s --> %s OK. Copying it back to %s now",168 mr_msg(2, "Sorted %s --> %s OK. Copying it back to %s now", 169 169 orig_fname, tmp_fname, orig_fname); 170 170 mr_asprintf(&command, "mv -f %s %s", tmp_fname, orig_fname); … … 173 173 174 174 if (retval) { 175 log_msg(2, "Failed to copy %s back to %s - oh dear", tmp_fname,175 mr_msg(2, "Failed to copy %s back to %s - oh dear", tmp_fname, 176 176 orig_fname); 177 177 } else { 178 log_msg(2, "%s was sorted OK.", orig_fname);178 mr_msg(2, "%s was sorted OK.", orig_fname); 179 179 } 180 180 } 181 181 mr_free(tmp_fname); 182 log_msg(1, "Finished sorting file %s", orig_fname);182 mr_msg(1, "Finished sorting file %s", orig_fname); 183 183 return (retval); 184 184 } … … 325 325 mr_asprintf(&tmp, "Filelist divided into %ld sets", curr_set_no + 1); 326 326 } 327 log_msg(1, tmp);327 mr_msg(1, tmp); 328 328 mr_free(tmp); 329 329 close_evalcall_form(); … … 403 403 pattr = popen(syscall, "r"); 404 404 if (!pattr) { 405 log_msg(1, "Failed to open fattr() %s", syscall);405 mr_msg(1, "Failed to open fattr() %s", syscall); 406 406 return (1); 407 407 } 408 408 if (feof(pattr)) { 409 log_msg(1, "Failed to call fattr() %s", syscall);409 mr_msg(1, "Failed to call fattr() %s", syscall); 410 410 paranoid_pclose(pattr); 411 411 return (2); … … 433 433 434 434 if (!(fin = fopen(filelist, "r"))) { 435 log_msg(1, "Cannot openin filelist %s", filelist);435 mr_msg(1, "Cannot openin filelist %s", filelist); 436 436 return (1); 437 437 } 438 438 mr_asprintf(&pout_command, "gzip -c1 > %s", auxlist_fname); 439 439 if (!(pout = popen(pout_command, "w"))) { 440 log_msg(1, "Cannot openout auxlist_fname %s", auxlist_fname);440 mr_msg(1, "Cannot openout auxlist_fname %s", auxlist_fname); 441 441 fclose(fin); 442 442 mr_free(pout_command); … … 451 451 file_to_analyze[i - 1] = '\0'; 452 452 } 453 log_msg(8, "Analyzing %s", file_to_analyze);453 mr_msg(8, "Analyzing %s", file_to_analyze); 454 454 /* BERLIOS : to be checked */ 455 455 mr_asprintf(&strtmp, syscall_sprintf, mr_stresc(file_to_analyze, "`$\\\"", '\\')); … … 520 520 FILE *pin, *pout, *faclin; 521 521 522 log_msg(1, "set_EXAT_list(%s, %s, %s)", orig_msklist,522 mr_msg(1, "set_EXAT_list(%s, %s, %s)", orig_msklist, 523 523 original_exat_fname, executable); 524 524 if (!orig_msklist || !orig_msklist[0] 525 525 || !does_file_exist(orig_msklist)) { 526 log_msg(1,526 mr_msg(1, 527 527 "No masklist provided. I shall therefore set ALL attributes."); 528 528 mr_asprintf(&command, "gzip -dc %s | %s --restore - 2>> %s", 529 529 original_exat_fname, executable, MONDO_LOGFILE); 530 log_msg(1, "command = %s", command);530 mr_msg(1, "command = %s", command); 531 531 retval = system(command); 532 532 mr_free(command); 533 log_msg(1, "Returning w/ retval=%d", retval);533 mr_msg(1, "Returning w/ retval=%d", retval); 534 534 return (retval); 535 535 } 536 536 if (length_of_file(original_exat_fname) <= 0) { 537 log_msg(1,537 mr_msg(1, 538 538 "original_exat_fname %s is empty or missing, so no need to set EXAT list", 539 539 original_exat_fname); … … 551 551 MONDO_LOGFILE); 552 552 553 log_msg(1, "syscall_pin = %s", syscall_pin);554 log_msg(1, "syscall_pout = %s", syscall_pout);553 mr_msg(1, "syscall_pin = %s", syscall_pin); 554 mr_msg(1, "syscall_pout = %s", syscall_pout); 555 555 pout = popen(syscall_pout, "w"); 556 556 if (!pout) { … … 604 604 605 605 i = strcmp(p, q); 606 log_msg(my_depth, "'%s' v '%s' --> %d\n", p, q, i);606 mr_msg(my_depth, "'%s' v '%s' --> %d\n", p, q, i); 607 607 608 608 // printf("%s v %s --> %d\n", p, q, i); 609 609 610 610 if (i < 0) { // read another subset file in. 611 log_msg(my_depth, "Reading next subset line in\n\n");611 mr_msg(my_depth, "Reading next subset line in\n\n"); 612 612 mr_getline(¤t_subset_file, &n, faclin); 613 613 continue; … … 619 619 mr_getline(&incoming, &n, pin); 620 620 if (!i) { 621 log_msg(my_depth, "Copying master %s", q);621 mr_msg(my_depth, "Copying master %s", q); 622 622 } 623 623 // if (!i) { printf("Match --- %s\n", q); } … … 661 661 return (set_EXAT_list(masklist, fattr_fname, "setfattr")); 662 662 } else { 663 log_msg(1, "ERROR: set_EXAT_list: setfattr doesn't exist");663 mr_msg(1, "ERROR: set_EXAT_list: setfattr doesn't exist"); 664 664 return(0); 665 665 } … … 673 673 return (set_EXAT_list(masklist, acl_fname, "setfacl")); 674 674 } else { 675 log_msg(1, "ERROR: set_EXAT_list: setfacl doesn't exist");675 mr_msg(1, "ERROR: set_EXAT_list: setfacl doesn't exist"); 676 676 return(0); 677 677 } … … 748 748 char_to_add = string_to_add[0]; 749 749 if (node->right != NULL && node->ch < char_to_add) { 750 log_msg(7, "depth=%d --- going RIGHT ... %c-->%c", depth,750 mr_msg(7, "depth=%d --- going RIGHT ... %c-->%c", depth, 751 751 char_to_add, node->ch, (node->right)->ch); 752 752 return (add_string_at_node(node->right, string_to_add)); … … 754 754 // walk down tree if appropriate 755 755 if (node->down != NULL && node->ch == char_to_add) { 756 log_msg(7, "depth=%d char=%c --- going DOWN", depth, char_to_add);756 mr_msg(7, "depth=%d char=%c --- going DOWN", depth, char_to_add); 757 757 depth++; 758 758 res = add_string_at_node(node->down, string_to_add + 1); … … 762 762 763 763 if (char_to_add == '\0' && node->ch == '\0') { 764 log_msg(6, "%s already in tree", original_string);764 mr_msg(6, "%s already in tree", original_string); 765 765 return (1); 766 766 } … … 769 769 if (char_to_add < node->ch) // add to the left of node 770 770 { 771 log_msg(7, "depth=%d char=%c --- adding (left)", depth,771 mr_msg(7, "depth=%d char=%c --- adding (left)", depth, 772 772 char_to_add); 773 773 memcpy((void *) newnode, (void *) node, sizeof(struct s_node)); … … 775 775 } else if (char_to_add > node->ch) // add to the right of node 776 776 { 777 log_msg(7, "depth=%d char=%c --- adding (right)", depth,777 mr_msg(7, "depth=%d char=%c --- adding (right)", depth, 778 778 char_to_add); 779 779 newnode->right = node->right; // newnode is to the RIGHT of node … … 786 786 node->expanded = node->selected = FALSE; 787 787 if (char_to_add == '\0') { 788 log_msg(6, "Added %s OK", original_string);788 mr_msg(6, "Added %s OK", original_string); 789 789 return (0); 790 790 } 791 791 // add the rest 792 log_msg(6, "Adding remaining chars ('%s')", string_to_add + 1);792 mr_msg(6, "Adding remaining chars ('%s')", string_to_add + 1); 793 793 for (i = 1; i < noof_chars; i++) { 794 794 node->down = (struct s_node *) mr_malloc(sizeof(struct s_node)); 795 795 node = node->down; 796 796 char_to_add = string_to_add[i]; 797 log_msg(6, "Adding '%c'", char_to_add);797 mr_msg(6, "Adding '%c'", char_to_add); 798 798 node->ch = char_to_add; 799 799 node->right = node->down = NULL; … … 803 803 } 804 804 } 805 log_msg(6, "Finally - added %s OK", original_string);805 mr_msg(6, "Finally - added %s OK", original_string); 806 806 return (0); 807 807 } … … 838 838 mr_asprintf(&command_to_open_fname, "gzip -dc %s", filelist_fname); 839 839 mr_asprintf(&tmp, "zcat %s | wc -l", filelist_fname); 840 log_msg(6, "tmp = %s", tmp);840 mr_msg(6, "tmp = %s", tmp); 841 841 tmp1 = call_program_and_get_last_line_of_output(tmp); 842 842 mr_free(tmp); … … 907 907 908 908 if (depth == 0) { 909 log_msg(0, "----------------show filelist--------------");909 mr_msg(0, "----------------show filelist--------------"); 910 910 } 911 911 current_string[depth] = node->ch; 912 912 913 log_msg(3, "depth=%d", depth);913 mr_msg(3, "depth=%d", depth); 914 914 if (node->down) { 915 log_msg(3, "moving down");915 mr_msg(3, "moving down"); 916 916 depth++; 917 917 show_filelist(node->down); … … 920 920 921 921 if (!node->ch) { 922 log_msg(0, "%s\n", current_string);922 mr_msg(0, "%s\n", current_string); 923 923 } 924 924 925 925 if (node->right) { 926 log_msg(3, "moving right");926 mr_msg(3, "moving right"); 927 927 show_filelist(node->right); 928 928 } 929 929 if (depth == 0) { 930 log_msg(0, "----------------show filelist--------------");930 mr_msg(0, "----------------show filelist--------------"); 931 931 } 932 932 return; … … 986 986 for (node = filelist; node != NULL; node = node->right) { 987 987 str[depth] = node->ch; 988 log_msg(5, "depth=%d ch=%c", depth, node->ch);988 mr_msg(5, "depth=%d ch=%c", depth, node->ch); 989 989 if (!node->ch) { 990 990 // if (node->selected) … … 1340 1340 #endif 1341 1341 mr_free(find_excludes); 1342 log_msg(5, "find command = %s", strtmp);1342 mr_msg(5, "find command = %s", strtmp); 1343 1343 system(strtmp); 1344 1344 mr_free(strtmp); … … 1356 1356 find_skeleton_marker[0] = '\0'; 1357 1357 skeleton_lino = 1; 1358 log_msg(5, "entries = %ld", g_skeleton_entries);1358 mr_msg(5, "entries = %ld", g_skeleton_entries); 1359 1359 percentage = 0; 1360 1360 } else if (depth <= MAX_SKEL_DEPTH) // update evalcall form if appropriate … … 1363 1363 "grep -Fv \"%s\" %s > %s.new 2> /dev/null", dir, 1364 1364 skeleton_filelist, skeleton_filelist); 1365 // log_msg(0, "fsm = %s", find_skeleton_marker);1365 // mr_msg(0, "fsm = %s", find_skeleton_marker); 1366 1366 if (!system(find_skeleton_marker)) { 1367 1367 percentage = (int) (skeleton_lino * 100 / g_skeleton_entries); 1368 1368 skeleton_lino++; 1369 // log_msg(5, "Found %s", dir);1370 // log_msg(2, "Incrementing skeleton_lino; now %ld/%ld (%d%%)", skeleton_lino, g_skeleton_entries, percentage);1369 // mr_msg(5, "Found %s", dir); 1370 // mr_msg(2, "Incrementing skeleton_lino; now %ld/%ld (%d%%)", skeleton_lino, g_skeleton_entries, percentage); 1371 1371 sprintf(find_skeleton_marker, "mv -f %s.new %s", 1372 1372 skeleton_filelist, skeleton_filelist); 1373 // log_msg(6, "fsm = %s", find_skeleton_marker);1373 // mr_msg(6, "fsm = %s", find_skeleton_marker); 1374 1374 run_program_and_log_output(find_skeleton_marker, 8); 1375 1375 time(&this_time); … … 1390 1390 depth++; 1391 1391 1392 // log_msg(0, "Cataloguing %s", dir);1392 // mr_msg(0, "Cataloguing %s", dir); 1393 1393 if (sth[0] == ' ') { 1394 1394 mr_asprintf(&skip_these, "%s", sth); … … 1466 1466 mr_free(find_skeleton_marker); 1467 1467 unlink(skeleton_filelist); 1468 log_msg(5, "g_skeleton_entries = %ld", g_skeleton_entries);1468 mr_msg(5, "g_skeleton_entries = %ld", g_skeleton_entries); 1469 1469 } 1470 1470 return (0); … … 1565 1565 mr_free(tmp); 1566 1566 } else if (lstat(sz_datefile, &statbuf)) { 1567 log_msg(2,1567 mr_msg(2, 1568 1568 "Warning - unable to find date of previous backup. Full backup instead."); 1569 1569 differential = 0; … … 1571 1571 } else { 1572 1572 time_of_last_full_backup = statbuf.st_mtime; 1573 log_msg(2, "Differential backup. Yay.");1573 mr_msg(2, "Differential backup. Yay."); 1574 1574 } 1575 1575 mr_free(sz_datefile); … … 1577 1577 // use user-specified filelist (if specified) 1578 1578 if (userdef_filelist) { 1579 log_msg(1,1579 mr_msg(1, 1580 1580 "Using the user-specified filelist - %s - instead of calculating one", 1581 1581 userdef_filelist); … … 1586 1586 mr_free(command); 1587 1587 } else { 1588 log_msg(2, "include_paths = '%s'", include_paths);1589 log_msg(1, "Calculating filelist");1588 mr_msg(2, "include_paths = '%s'", include_paths); 1589 mr_msg(1, "Calculating filelist"); 1590 1590 tmp = call_program_and_get_last_line_of_output("locate /win386.swp 2> /dev/null"); 1591 1591 tmp1 = call_program_and_get_last_line_of_output("locate /hiberfil.sys 2> /dev/null"); … … 1598 1598 mr_free(tmp2); 1599 1599 1600 log_msg(2, "Excluding paths = '%s'", exclude_paths);1601 log_msg(2,1600 mr_msg(2, "Excluding paths = '%s'", exclude_paths); 1601 mr_msg(2, 1602 1602 "Generating skeleton filelist so that we can track our progress"); 1603 1603 mr_asprintf(&skeleton_filelist, "%s/tmpfs/skeleton.txt", tmpdir); 1604 1604 make_hole_for_file(skeleton_filelist); 1605 1605 1606 log_msg(4, "g_skeleton_entries = %ld", g_skeleton_entries);1607 log_msg(2, "Opening out filelist to %s", sz_filelist);1606 mr_msg(4, "g_skeleton_entries = %ld", g_skeleton_entries); 1607 mr_msg(2, "Opening out filelist to %s", sz_filelist); 1608 1608 if (!(fout = fopen(sz_filelist, "w"))) { 1609 1609 fatal_error("Cannot openout to sz_filelist"); … … 1611 1611 i = 0; 1612 1612 if (strlen(include_paths) == 0) { 1613 log_msg(1, "Including only '/' in %s", sz_filelist);1613 mr_msg(1, "Including only '/' in %s", sz_filelist); 1614 1614 open_and_list_dir("/", exclude_paths, fout, 1615 1615 time_of_last_full_backup, skeleton_filelist); … … 1618 1618 while (*p) { 1619 1619 q = next_entry(p); 1620 log_msg(1, "Including %s in filelist %s", q, sz_filelist);1620 mr_msg(1, "Including %s in filelist %s", q, sz_filelist); 1621 1621 open_and_list_dir(q, exclude_paths, fout, 1622 1622 time_of_last_full_backup, … … 1632 1632 mr_free(exclude_paths); 1633 1633 } 1634 log_msg(2, "Copying new filelist to scratchdir");1634 mr_msg(2, "Copying new filelist to scratchdir"); 1635 1635 mr_asprintf(&command, "mkdir -p %s/archives", scratchdir); 1636 1636 paranoid_system(command); … … 1646 1646 mr_free(sz_filelist); 1647 1647 1648 log_msg(2, "Exiting");1648 mr_msg(2, "Exiting"); 1649 1649 return (0); 1650 1650 } … … 1683 1683 noof_chars = strlen(string_to_find) + 1; /* we include the '\0' */ 1684 1684 1685 log_msg(7, "starting --- str=%s", string_to_find);1685 mr_msg(7, "starting --- str=%s", string_to_find); 1686 1686 1687 1687 /* walk across tree if necessary */ … … 1689 1689 char_to_find = string_to_find[0]; 1690 1690 if (node->right != NULL && node->ch < char_to_find) { 1691 log_msg(7, "depth=%d --- going RIGHT ... %c-->%c", depth,1691 mr_msg(7, "depth=%d --- going RIGHT ... %c-->%c", depth, 1692 1692 char_to_find, node->ch, (node->right)->ch); 1693 1693 return (find_string_at_node(node->right, string_to_find)); … … 1696 1696 /* walk down tree if appropriate */ 1697 1697 if (node->down != NULL && node->ch == char_to_find) { 1698 log_msg(7, "depth=%d char=%c --- going DOWN", depth, char_to_find);1698 mr_msg(7, "depth=%d char=%c --- going DOWN", depth, char_to_find); 1699 1699 depth++; 1700 1700 node = find_string_at_node(node->down, string_to_find + 1); … … 1704 1704 1705 1705 if (char_to_find == '\0' && node->ch == '\0') { 1706 log_msg(7, "%s is in tree", original_string);1706 mr_msg(7, "%s is in tree", original_string); 1707 1707 return (node); 1708 1708 } else { 1709 log_msg(7, "%s is NOT in tree", original_string);1709 mr_msg(7, "%s is NOT in tree", original_string); 1710 1710 return (NULL); 1711 1711 } … … 1734 1734 size_t len = 0; // Scrub's patch doesn't work without that 1735 1735 1736 // log_msg(1, "use_star = %s", (use_star)?"TRUE":"FALSE");1737 log_msg(5, "starting");1738 log_msg(5, "needles_list_fname = %s", needles_list_fname);1739 log_msg(5, "matches_list_fname = %s", matches_list_fname);1736 // mr_msg(1, "use_star = %s", (use_star)?"TRUE":"FALSE"); 1737 mr_msg(5, "starting"); 1738 mr_msg(5, "needles_list_fname = %s", needles_list_fname); 1739 mr_msg(5, "matches_list_fname = %s", matches_list_fname); 1740 1740 if (!(fin = fopen(needles_list_fname, "r"))) { 1741 1741 fatal_error("Cannot openin needles_list_fname"); … … 1759 1759 } 1760 1760 1761 log_msg(5, "Looking for '%s'", fname);1761 mr_msg(5, "Looking for '%s'", fname); 1762 1762 found_node = find_string_at_node(filelist, fname); 1763 1763 if (found_node) { … … 1768 1768 fname = tmp; 1769 1769 } 1770 log_msg(5, "Found '%s'", fname);1770 mr_msg(5, "Found '%s'", fname); 1771 1771 turn_wildcard_chars_into_literal_chars(tmp, fname); 1772 1772 fprintf(fout, "%s\n", tmp); … … 1799 1799 struct s_node *nod; 1800 1800 1801 log_msg(3, "Adding %s to filelist", list_of_files_fname);1801 mr_msg(3, "Adding %s to filelist", list_of_files_fname); 1802 1802 if (!(fin = fopen(list_of_files_fname, "r"))) { 1803 1803 iamhere(list_of_files_fname); … … 1812 1812 tmp[strlen(tmp) - 1] = '\0'; 1813 1813 } 1814 log_msg(2, "tmp = '%s'", tmp);1814 mr_msg(2, "tmp = '%s'", tmp); 1815 1815 if (!tmp[0]) { 1816 1816 continue; 1817 1817 } 1818 1818 if ((nod = find_string_at_node(filelist, tmp))) { 1819 log_msg(5, "Found '%s' in filelist already. Cool.", tmp);1819 mr_msg(5, "Found '%s' in filelist already. Cool.", tmp); 1820 1820 } else { 1821 1821 add_string_at_node(filelist, tmp); … … 1825 1825 if (nod && flag_em) { 1826 1826 toggle_path_selection(filelist, tmp, TRUE); 1827 log_msg(5, "Flagged '%s'", tmp);1827 mr_msg(5, "Flagged '%s'", tmp); 1828 1828 } 1829 1829 }
Note:
See TracChangeset
for help on using the changeset viewer.