Changeset 2380 in MondoRescue for branches/2.2.9/mondo/src/mondorestore


Ignore:
Timestamp:
Sep 9, 2009, 8:30:47 PM (15 years ago)
Author:
Bruno Cornec
Message:
  • Change NFS support into a NetFS support to allow for multiple protocol in addition to NFS (NEEDS TESTING)
  • Better logging to detect a potential nuke issue
Location:
branches/2.2.9/mondo/src/mondorestore
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • branches/2.2.9/mondo/src/mondorestore/mondo-rstr-newt.c

    r2355 r2380  
    22972297        strcpy(isodir_path, "/");
    22982298    }
    2299     if (does_file_exist("/tmp/NFS-SERVER-PATH")) {
    2300         strcpy(isodir_device, last_line_of_file("/tmp/NFS-SERVER-MOUNT"));
    2301         strcpy(isodir_format, "nfs");
    2302         strcpy(isodir_path, last_line_of_file("/tmp/NFS-SERVER-PATH"));
     2299    if (does_file_exist("/tmp/NETFS-SERVER-PATH")) {
     2300        strcpy(isodir_device, last_line_of_file("/tmp/NETFS-SERVER-MOUNT"));
     2301        strcpy(isodir_format, "netfs");
     2302        strcpy(isodir_path, last_line_of_file("/tmp/NETFS-SERVER-PATH"));
    23032303    }
    23042304    if (nuke_me_please) {
  • branches/2.2.9/mondo/src/mondorestore/mondo-rstr-tools.c

    r2242 r2380  
    614614    }
    615615
    616     if (bkpinfo->backup_media_type == nfs) {
    617         log_msg(2, "Mounting for NFS thingy");
     616    if (bkpinfo->backup_media_type == netfs) {
     617        log_msg(2, "Mounting for Network thingy");
    618618        log_msg(2, "isodir = %s", bkpinfo->isodir);
    619619        if ((!bkpinfo->isodir[0] || !strcmp(bkpinfo->isodir, "/"))
     
    624624#ifdef __FreeBSD__
    625625        sprintf(mount_cmd, "/mnt/isodir/%s/%s/%s-%d.iso", bkpinfo->isodir,
    626             bkpinfo->nfs_remote_dir, bkpinfo->prefix, g_current_media_number);
     626            bkpinfo->netfs_remote_dir, bkpinfo->prefix, g_current_media_number);
    627627        mddev = make_vn(mount_cmd);
    628628        sprintf(mount_cmd, "mount_cd9660 -r %s " MNT_CDROM, mddev);
    629629#else
    630630        sprintf(mount_cmd, "mount %s/%s/%s-%d.iso -t iso9660 -o loop,ro %s",
    631             bkpinfo->isodir, bkpinfo->nfs_remote_dir,
     631            bkpinfo->isodir, bkpinfo->netfs_remote_dir,
    632632            bkpinfo->prefix, g_current_media_number, MNT_CDROM);
    633633#endif
     
    805805            strcpy(bkpinfo->prefix,STD_PREFIX);
    806806    }
    807 } else if (!strcmp(value, "nfs")) {
    808     bkpinfo->backup_media_type = nfs;
     807} else if (!strcmp(value, "netfs")) {
     808    bkpinfo->backup_media_type = netfs;
    809809    bkpinfo->please_dont_eject = TRUE;
    810810    if (read_cfg_var(cfg_file, "iso-prefix", value) == 0) {
     
    816816       ("cat /proc/cmdline"), "pxe")) {
    817817        /* We need to override prefix value in PXE mode as it's
    818         * already done in start-nfs */
     818        * already done in start-netfs */
    819819        envtmp1 = getenv("imgname");
    820820        if (envtmp1 == NULL) {
     
    961961}
    962962
    963 if (bkpinfo->backup_media_type == nfs) {
     963if (bkpinfo->backup_media_type == netfs) {
    964964    if (!cfgf) {
    965         log_msg(2, "nfs_mount remains %s", bkpinfo->nfs_mount);
    966         log_msg(2, "nfs_remote_dir remains %s",
    967                 bkpinfo->nfs_remote_dir);
     965        log_msg(2, "netfs_mount remains %s", bkpinfo->netfs_mount);
     966        log_msg(2, "netfs_remote_dir remains %s",
     967                bkpinfo->netfs_remote_dir);
    968968        log_msg(2,
    969969                "...cos it wouldn't make sense to abandon the values that GOT ME to this config file in the first place");
    970970    } else {
    971         read_cfg_var(g_mondo_cfg_file, "nfs-server-mount",
    972                     bkpinfo->nfs_mount);
    973         read_cfg_var(g_mondo_cfg_file, "nfs-server-path",
    974                     bkpinfo->nfs_remote_dir);
    975         log_msg(2, "nfs_mount is %s", bkpinfo->nfs_mount);
    976         log_msg(2, "nfs_remote_dir is %s", bkpinfo->nfs_remote_dir);
     971        read_cfg_var(g_mondo_cfg_file, "netfs-server-mount",
     972                    bkpinfo->netfs_mount);
     973        read_cfg_var(g_mondo_cfg_file, "netfs-server-path",
     974                    bkpinfo->netfs_remote_dir);
     975        log_msg(2, "netfs_mount is %s", bkpinfo->netfs_mount);
     976        log_msg(2, "netfs_proto is %s", bkpinfo->netfs_proto);
     977        log_msg(2, "netfs_remote_dir is %s", bkpinfo->netfs_remote_dir);
    977978    }
    978979    if (strstr(call_program_and_get_last_line_of_output
    979980        ("cat /proc/cmdline"), "pxe")) {
    980981        /* We need to override values in PXE mode as it's
    981         * already done in start-nfs */
    982         envtmp1 = getenv("nfsmount");
     982        * already done in start-netfs */
     983        envtmp1 = getenv("netfsmount");
    983984        if (envtmp1 == NULL) {
    984             fatal_error("no nfsmount variable in environment");
     985            fatal_error("no netfsmount variable in environment");
    985986        }
    986987        envtmp2 = getenv("dirimg");
     
    988989            fatal_error("no dirimg variable in environment");
    989990        }
    990         strcpy(bkpinfo->nfs_mount,envtmp1);
    991         strcpy(bkpinfo->nfs_remote_dir,envtmp2);
     991        strcpy(bkpinfo->netfs_mount,envtmp1);
     992        strcpy(bkpinfo->netfs_remote_dir,envtmp2);
    992993    }
    993994} else if (bkpinfo->backup_media_type == iso) {
  • branches/2.2.9/mondo/src/mondorestore/mondorestore.c

    r2373 r2380  
    964964
    965965    strcpy(bkpinfo->restore_path, "/");
    966     if (!g_restoring_live_from_cd && !g_restoring_live_from_nfs) {
     966    if (!g_restoring_live_from_cd && !g_restoring_live_from_netfs) {
    967967        popup_and_OK
    968968            ("Please insert tape/CD/USB Key, then hit 'OK' to continue.");
    969969        sleep(1);
    970970    }
    971     if (!g_restoring_live_from_nfs) {
     971    if (!g_restoring_live_from_netfs) {
    972972        interactively_obtain_media_parameters_from_user(FALSE);
    973973    }
     
    990990    load_raidtab_into_raidlist(raidlist, RAIDTAB_FNAME);
    991991
    992     if (!g_restoring_live_from_nfs && (filelist = process_filelist_and_biggielist())) {
     992    if (!g_restoring_live_from_netfs && (filelist = process_filelist_and_biggielist())) {
    993993        save_filelist(filelist, "/tmp/selected-files.txt");
    994994        strcpy(old_restpath, bkpinfo->restore_path);
     
    30963096        mount_boot_if_necessary();  /* for Gentoo users */
    30973097        log_msg(2, "Still here.");
    3098         if (bkpinfo->backup_media_type == nfs) {
    3099             g_restoring_live_from_nfs = TRUE;
     3098        if (bkpinfo->backup_media_type == netfs) {
     3099            g_restoring_live_from_netfs = TRUE;
    31003100        }
    31013101        log_msg(2, "Calling restore_to_live_filesystem()");
     
    31233123        // BCO:To be reviewed
    31243124        if ((bkpinfo->restore_mode == compare) || (bkpinfo->restore_mode == nuke)) {
    3125             if (bkpinfo->backup_media_type == nfs
    3126                 && !is_this_device_mounted(bkpinfo->nfs_mount)) {
    3127                 log_msg(1, "Mounting nfs dir");
     3125            if (bkpinfo->backup_media_type == netfs
     3126                && !is_this_device_mounted(bkpinfo->netfs_mount)) {
     3127                log_msg(1, "Mounting remote %s dir", bkpinfo->netfs_proto);
    31283128                sprintf(bkpinfo->isodir, "/tmp/isodir");
    31293129                run_program_and_log_output("mkdir -p /tmp/isodir", 5);
    3130                 sprintf(tmp, "mount %s -t nfs -o nolock,ro /tmp/isodir",
    3131                         bkpinfo->nfs_mount);
     3130                if (strstr(bkpinfo->netfs_proto, "sshfs")) {
     3131                    sprintf(tmp, "sshfs -o ro /tmp/isodir",
     3132                        bkpinfo->netfs_mount);
     3133                } else {
     3134                    sprintf(tmp, "mount %s -o nolock,ro /tmp/isodir",
     3135                        bkpinfo->netfs_mount);
    31323136                run_program_and_log_output(tmp, 1);
    31333137            }
  • branches/2.2.9/mondo/src/mondorestore/mr-externs.h

    r2350 r2380  
    107107extern bool g_text_mode;
    108108extern bool g_restoring_live_from_cd;
    109 extern bool g_restoring_live_from_nfs;
     109extern bool g_restoring_live_from_netfs;
    110110extern int fput_string_one_char_at_a_time(FILE *, char *);
    111111extern char *evaluate_mountlist(struct mountlist_itself *mountlist, int *res);
Note: See TracChangeset for help on using the changeset viewer.