Ignore:
Timestamp:
Sep 10, 2009, 2:07:16 AM (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)

(Backport from 2.2.9)

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/2.2.10/mondo/src/mondorestore/mondo-rstr-tools.c

    r2376 r2382  
    77#include "my-stuff.h"
    88#include "mr_mem.h"
     9#include "mr_str.h"
    910#include "../common/mondostructures.h"
    1011#include "../common/libmondo.h"
     
    562563    }
    563564
    564     if (bkpinfo->backup_media_type == nfs) {
    565         log_msg(2, "Mounting for NFS thingy");
     565    if (bkpinfo->backup_media_type == netfs) {
     566        log_msg(2, "Mounting for Network thingy");
    566567        log_msg(2, "isodir = %s", bkpinfo->isodir);
    567568        if (!strcmp(bkpinfo->isodir, "/") && am_I_in_disaster_recovery_mode()) {
     
    570571            log_msg(1, "isodir is being set to %s", bkpinfo->isodir);
    571572        }
    572         if ((bkpinfo->isodir == NULL) || (bkpinfo->nfs_remote_dir == NULL) || (bkpinfo->prefix == NULL)) {
     573        if ((bkpinfo->isodir == NULL) || (bkpinfo->netfs_remote_dir == NULL) || (bkpinfo->prefix == NULL)) {
    573574            fatal_error("Unable to prepare the iso filename");
    574575        }
    575576#ifdef __FreeBSD__
    576         mr_asprintf(mount_cmd, "/mnt/isodir/%s/%s/%s-%d.iso", bkpinfo->isodir, bkpinfo->nfs_remote_dir, bkpinfo->prefix, g_current_media_number);
     577        mr_asprintf(mount_cmd, "/mnt/isodir/%s/%s/%s-%d.iso", bkpinfo->isodir, bkpinfo->netfs_remote_dir, bkpinfo->prefix, g_current_media_number);
    577578        mddev = make_vn(mount_cmd);
    578579        mr_free(mount_cmd);
     
    580581        mr_asprintf(mount_cmd, "mount_cd9660 -r %s " MNT_CDROM, mddev);
    581582#else
    582         mr_asprintf(mount_cmd, "mount %s/%s/%s-%d.iso -t iso9660 -o loop,ro %s", bkpinfo->isodir, bkpinfo->nfs_remote_dir, bkpinfo->prefix, g_current_media_number, MNT_CDROM);
     583        mr_asprintf(mount_cmd, "mount %s/%s/%s-%d.iso -t iso9660 -o loop,ro %s", bkpinfo->isodir, bkpinfo->netfs_remote_dir, bkpinfo->prefix, g_current_media_number, MNT_CDROM);
    583584#endif
    584585
     
    744745            mr_asprintf(bkpinfo->prefix, "%s", STD_PREFIX);
    745746        }
    746     } else if (!strcmp(value, "nfs")) {
    747         bkpinfo->backup_media_type = nfs;
     747    } else if (!strcmp(value, "netfs")) {
     748        bkpinfo->backup_media_type = netfs;
    748749        bkpinfo->please_dont_eject = TRUE;
    749750        mr_free(bkpinfo->prefix);
     
    757758        if (strstr(call_program_and_get_last_line_of_output("cat " CMDLINE), "pxe")) {
    758759            /* We need to override prefix value in PXE mode as it's
    759             * already done in start-nfs */
     760            * already done in start-netfs */
    760761            envtmp1 = getenv("imgname");
    761762            if (envtmp1 == NULL) {
     
    944945mr_free(tmp);
    945946
    946 if (bkpinfo->backup_media_type == nfs) {
     947if (bkpinfo->backup_media_type == netfs) {
    947948    if (!cfgf) {
    948         if (bkpinfo->nfs_mount) {
    949             log_msg(2, "nfs_mount remains %s", bkpinfo->nfs_mount);
    950         }
    951         if (bkpinfo->nfs_remote_dir) {
    952             log_msg(2, "nfs_remote_dir remains %s", bkpinfo->nfs_remote_dir);
     949        if (bkpinfo->netfs_mount) {
     950            log_msg(2, "netfs_mount remains %s", bkpinfo->netfs_mount);
     951        }
     952        if (bkpinfo->netfs_remote_dir) {
     953            log_msg(2, "netfs_remote_dir remains %s", bkpinfo->netfs_remote_dir);
    953954        }
    954955        log_msg(2, "...cos it wouldn't make sense to abandon the values that GOT ME to this config file in the first place");
    955956    } else {
    956         mr_free(bkpinfo->nfs_mount);
    957         bkpinfo->nfs_mount = read_cfg_var(g_mondo_cfg_file, "nfs-server-mount");
    958 
    959         mr_free(bkpinfo->nfs_remote_dir);
    960         bkpinfo->nfs_remote_dir = read_cfg_var(g_mondo_cfg_file, "nfs-server-path");
    961 
    962         if (bkpinfo->nfs_mount != NULL) {
    963             log_msg(2, "nfs_mount is %s", bkpinfo->nfs_mount);
    964         }
    965         if (bkpinfo->nfs_remote_dir != NULL) {
    966             log_msg(2, "nfs_remote_dir is %s", bkpinfo->nfs_remote_dir);
     957        mr_free(bkpinfo->netfs_mount);
     958        bkpinfo->netfs_mount = read_cfg_var(g_mondo_cfg_file, "netfs-server-mount");
     959
     960        mr_free(bkpinfo->netfs_remote_dir);
     961        bkpinfo->netfs_remote_dir = read_cfg_var(g_mondo_cfg_file, "netfs-server-path");
     962
     963        if (bkpinfo->netfs_mount != NULL) {
     964            log_msg(2, "netfs_mount is %s", bkpinfo->netfs_mount);
     965        }
     966        if (bkpinfo->netfs_remote_dir != NULL) {
     967            log_msg(2, "netfs_remote_dir is %s", bkpinfo->netfs_remote_dir);
     968        }
     969        if (bkpinfo->netfs_proto != NULL) {
     970            log_msg(2, "netfs_proto is %s", bkpinfo->netfs_proto);
    967971        }
    968972    }
    969973    if (strstr(call_program_and_get_last_line_of_output("cat " CMDLINE), "pxe")) {
    970974        /* We need to override values in PXE mode as it's
    971         * already done in start-nfs */
    972         envtmp1 = getenv("nfsmount");
     975        * already done in start-netfs */
     976        envtmp1 = getenv("netfsmount");
    973977        if (envtmp1 == NULL) {
    974             fatal_error("no nfsmount variable in environment");
     978            fatal_error("no netfsmount variable in environment");
    975979        }
    976980        envtmp2 = getenv("dirimg");
     
    978982            fatal_error("no dirimg variable in environment");
    979983        }
    980         mr_free(bkpinfo->nfs_mount);
    981         mr_asprintf(bkpinfo->nfs_mount, "%s", envtmp1);
    982 
    983         mr_free(bkpinfo->nfs_remote_dir);
    984         mr_asprintf(bkpinfo->nfs_remote_dir, "%s", envtmp2);
     984        mr_free(bkpinfo->netfs_mount);
     985        mr_asprintf(bkpinfo->netfs_mount, "%s", envtmp1);
     986
     987        mr_free(bkpinfo->netfs_remote_dir);
     988        mr_asprintf(bkpinfo->netfs_remote_dir, "%s", envtmp2);
    985989    }
    986990} else if (bkpinfo->backup_media_type == iso) {
Note: See TracChangeset for help on using the changeset viewer.