Ignore:
Timestamp:
May 5, 2013, 4:23:30 AM (11 years ago)
Author:
Bruno Cornec
Message:
 
File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/3.0/mondo/src/common/libmondo-devices.c

    r3099 r3107  
    21742174{
    21752175    char *tmp = NULL;
    2176     char *tmpro = NULL;
    21772176    char *tmp1 = NULL;
    21782177    char *mds = NULL;
     
    25292528        strcpy(tmp1, bkpinfo->netfs_proto);
    25302529        if (!popup_and_get_string
    2531             ("Network protocol", "Which protocol should I use (nfs/sshfs/smbfs) ?",
     2530            ("Network protocol", "Which protocol should I use (nfs/sshfs) ?",
    25322531             tmp1, MAX_STR_LEN)) {
    25332532            log_to_screen("User has chosen not to backup the PC");
     
    25682567            sprintf(command, "mkdir -p %s", bkpinfo->isodir);
    25692568            run_program_and_log_output(command, 5);
    2570 
    25712569            if (bkpinfo->restore_data) {
    2572                 /*  mount th FS read-only in restore mode to avoid any erase of whatever */
    2573                 mr_asprintf(&tmpro, "-o ro");
     2570                if (strstr(bkpinfo->netfs_proto, "sshfs")) {
     2571                    mr_asprintf(&tmp, "sshfs -o ro");
     2572                } else {
     2573                    mr_asprintf(&tmp, "mount -t %s -o nolock,ro", bkpinfo->netfs_proto);
     2574                }
    25742575            } else {
    2575                 mr_asprintf(&tmpro, "");
    2576             }
    2577 
    2578             /*  Build the mount string */
    2579             if (strstr(bkpinfo->netfs_proto, "smbfs")) {
    2580                 mr_asprintf(&tmp, "mount -t cifs %s %s %s",bkpinfo->netfs_mount, bkpinfo->isodir,tmpro);
    2581                 if (bkpinfo->netfs_user) {
    2582                     mr_strcat(tmp, " -o user=%s", bkpinfo->netfs_user);
     2576                if (strstr(bkpinfo->netfs_proto, "sshfs")) {
     2577                    mr_asprintf(&tmp, "sshfs");
     2578                } else {
     2579                    mr_asprintf(&tmp, "mount -t %s -o nolock", bkpinfo->netfs_proto);
    25832580                }
    2584             else {
    2585                 if (strstr(bkpinfo->netfs_proto, "sshfs")) {
    2586                     mr_asprintf(&tmp, "sshfs %s ",tmpro);
    2587                 } else {
    2588                     mr_asprintf(&tmp, "mount -t %s -o nolock %s ", bkpinfo->netfs_proto,tmpro);
    2589                 }
    2590                 if (bkpinfo->netfs_user) {
    2591                     mr_strcat(tmp, "%s@", bkpinfo->netfs_user);
    2592                 }
    2593                 mr_strcat(tmp, "%s %s", bkpinfo->netfs_mount, bkpinfo->isodir);
    2594             }
     2581            }
     2582            mr_strcat(tmp, " ");
     2583            if (bkpinfo->netfs_user) {
     2584                mr_strcat(tmp, "%s@", bkpinfo->netfs_user);
     2585            }
     2586            mr_strcat(tmp, "%s %s", bkpinfo->netfs_mount, bkpinfo->isodir);
    25952587            run_program_and_log_output(tmp, 3);
    25962588            mr_free(tmp);
     
    25982590            malloc_string(g_selfmounted_isodir);
    25992591            strcpy(g_selfmounted_isodir, bkpinfo->isodir);
    2600             }
    26012592        }
    26022593        if (!is_this_device_mounted(bkpinfo->netfs_mount)) {
Note: See TracChangeset for help on using the changeset viewer.