Changeset 808 in MondoRescue for trunk/mondo/mondo/common/libmondo-files.c


Ignore:
Timestamp:
Sep 22, 2006, 11:12:37 PM (18 years ago)
Author:
Bruno Cornec
Message:

merge -r793:807 $SVN_M/branches/stable
src => common for the moment it's easier to manage merges

Location:
trunk/mondo/mondo/common
Files:
1 edited
1 moved

Legend:

Unmodified
Added
Removed
  • trunk/mondo/mondo/common/libmondo-files.c

    r783 r808  
    10271027    /*@ buffers ******** */
    10281028    char *nfs_dev = NULL;
     1029    char *mac_addr = NULL;
    10291030    char *nfs_mount = NULL;
    10301031    char *nfs_client_ipaddr = NULL;
     
    10511052
    10521053    asprintf(&nfs_mount, p);
     1054    /* BERLIOS : there is a bug #67 here as it only considers the first NIC */
    10531055    asprintf(&command,
    10541056            "ifconfig | tr '\n' '#' | sed s/##// | tr '#' ' ' | tr '' '\n' | head -n1 | cut -d' ' -f1");
     
    10881090    }
    10891091    make_hole_for_dir("/var/cache/mondo-archive");
     1092    /********
     1093    * If the NFS device that found above is a bonded device,
     1094    * we need to replace it with an ethN device or the
     1095    * networking will not start during an NFS restore.
     1096    *
     1097    * If the NFS device in nfs_dev begins with the word "bond",
     1098    * look for the corresponding slave ethN device and copy it to nfs_dev.
     1099    * Using the common MAC address
     1100    ********/
     1101    if (!strncmp(nfs_dev, "bond", 4)) {
     1102        log_to_screen("Found bonding device %s; looking for corresponding ethN slave device\n", nfs_dev);
     1103        asprintf(&command,
     1104                "ifconfig %s | awk '{print $5}'", nfs_dev);
     1105        mac_addr = call_program_and_get_last_line_of_output(command);
     1106        asprintf(&command,
     1107                "ifconfig | grep -E '%s' | head -n1  | cut -d' ' -f1", mac_addr);
     1108        paranoid_free(nfs_dev);
     1109        nfs_dev = call_program_and_get_last_line_of_output(command);
     1110        paranoid_free(command);
     1111        paranoid_free(mac_addr);
     1112
     1113        log_to_screen("Replacing it with %s\n", nfs_dev);
     1114    }
    10901115
    10911116    asprintf(&tmp, "%s/NFS-DEV", bkpinfo->tmpdir);
Note: See TracChangeset for help on using the changeset viewer.