X-Git-Url: https://git.decadent.org.uk/gitweb/?a=blobdiff_plain;f=utils%2Fmount%2Fnfsumount.c;h=285273b9ee56c1e3601ba482bfbc8708d3ba3f74;hb=0ff226cb9dc9382c5215368a03a5bd3a69ee287a;hp=8902f0088a0533abdd3a0d64a06ac938d4231d86;hpb=97fed3061fd5c742ebd1f685e3e6dcb62e835b74;p=nfs-utils.git diff --git a/utils/mount/nfsumount.c b/utils/mount/nfsumount.c index 8902f00..285273b 100644 --- a/utils/mount/nfsumount.c +++ b/utils/mount/nfsumount.c @@ -142,7 +142,7 @@ static int del_mtab(const char *spec, const char *node) * We will need this information to get through the firewall again * to do the umount. */ -static int do_nfs_umount(const char *spec, char *opts) +static int do_nfs_umount23(const char *spec, char *opts) { char *hostname; char *dirname; @@ -190,7 +190,7 @@ static int do_nfs_umount(const char *spec, char *opts) } pmap->pm_prog = MOUNTPROG; - pmap->pm_vers = MOUNTVERS_NFSV3; + pmap->pm_vers = 0; /* unknown */ if (opts && (p = strstr(opts, "mountprog=")) && isdigit(*(p+10))) pmap->pm_prog = atoi(p+10); if (opts && (p = strstr(opts, "mountport=")) && isdigit(*(p+10))) @@ -199,8 +199,6 @@ static int do_nfs_umount(const char *spec, char *opts) pmap->pm_vers = nfsvers_to_mnt(2); if (opts && hasmntopt(&mnt, "v3")) pmap->pm_vers = nfsvers_to_mnt(3); - if (opts && hasmntopt(&mnt, "v4")) - pmap->pm_vers = nfsvers_to_mnt(4); if (opts && (p = strstr(opts, "vers=")) && isdigit(*(p+5))) pmap->pm_vers = nfsvers_to_mnt(atoi(p+5)); if (opts && (p = strstr(opts, "mountvers=")) && isdigit(*(p+10))) @@ -349,12 +347,11 @@ int nfsumount(int argc, char *argv[]) ret = 0; if (mc) { if (!lazy && strcmp(mc->m.mnt_type, "nfs4") != 0) - ret = do_nfs_umount(mc->m.mnt_fsname, mc->m.mnt_opts); - if (!ret || force) - ret = del_mtab(mc->m.mnt_fsname, mc->m.mnt_dir); + ret = do_nfs_umount23(mc->m.mnt_fsname, mc->m.mnt_opts); + ret = del_mtab(mc->m.mnt_fsname, mc->m.mnt_dir) ?: ret; } else if (*spec != '/') { if (!lazy) - ret = do_nfs_umount(spec, "tcp,v3"); + ret = do_nfs_umount23(spec, "tcp,v3"); } else ret = del_mtab(NULL, spec);