X-Git-Url: https://git.decadent.org.uk/gitweb/?p=nfs-utils.git;a=blobdiff_plain;f=utils%2Fmount%2Fnfsmount.c;h=6371d77e4d43ec718d3fa749fd25d4cd02ed636a;hp=b6a0d6041040f66b0cb7e0220ceddcec7d0654da;hb=a574c7558e33f172b6dfee53ee8df9e59c84c7b5;hpb=14f4a50b4b51bc4bdf56cfd43d8ae598579c4e6d diff --git a/utils/mount/nfsmount.c b/utils/mount/nfsmount.c index b6a0d60..6371d77 100644 --- a/utils/mount/nfsmount.c +++ b/utils/mount/nfsmount.c @@ -23,7 +23,7 @@ * * 1999-02-22 Arkadiusz Mi¶kiewicz * - added Native Language Support - * + * * Modified by Olaf Kirch and Trond Myklebust for new NFS code, * plus NFSv3 stuff. * @@ -93,7 +93,7 @@ extern char *progname; extern int verbose; extern int sloppy; -extern int linux_version_code(); +extern int linux_version_code(void); static inline enum clnt_stat nfs3_mount(CLIENT *clnt, mnt3arg_t *mnt3arg, mnt3res_t *mnt3res) @@ -273,7 +273,8 @@ parse_options(char *old_opts, struct nfs_mount_data *data, char *secflavor = opteq+1; /* see RFC 2623 */ if (nfs_mount_data_version < 5) { - printf(_("Warning: ignoring sec=%s option\n"), secflavor); + printf(_("Warning: ignoring sec=%s option\n"), + secflavor); continue; } else if (!strcmp(secflavor, "none")) data->pseudoflavor = AUTH_NONE; @@ -314,8 +315,9 @@ parse_options(char *old_opts, struct nfs_mount_data *data, int ctxlen = strlen(context); if (ctxlen > NFS_MAX_CONTEXT_LEN) { - printf(_("context parameter exceeds limit of %d\n"), - NFS_MAX_CONTEXT_LEN); + nfs_error(_("context parameter exceeds" + " limit of %d"), + NFS_MAX_CONTEXT_LEN); goto bad_parameter; } /* The context string is in the format of @@ -339,9 +341,9 @@ parse_options(char *old_opts, struct nfs_mount_data *data, val = 0; opt += 2; } - if (!strcmp(opt, "bg")) + if (!strcmp(opt, "bg")) *bg = val; - else if (!strcmp(opt, "fg")) + else if (!strcmp(opt, "fg")) *bg = !val; else if (!strcmp(opt, "soft")) { data->flags &= ~NFS_MOUNT_SOFT; @@ -427,15 +429,17 @@ parse_options(char *old_opts, struct nfs_mount_data *data, bad_option: if (sloppy) continue; - printf(_("Unsupported nfs mount option: " - "%s%s\n"), val ? "" : "no", opt); + nfs_error(_("%s: Unsupported nfs mount option:" + " %s%s"), progname, + val ? "" : "no", opt); goto out_bad; } sprintf(cbuf, val ? "%s,":"no%s,", opt); } len += strlen(cbuf); if (len >= opt_size) { - printf(_("mount: excessively long option argument\n")); + nfs_error(_("%s: excessively long option argument"), + progname); goto out_bad; } strcat(new_opts, cbuf); @@ -448,7 +452,7 @@ parse_options(char *old_opts, struct nfs_mount_data *data, } return 1; bad_parameter: - printf(_("Bad nfs mount parameter: %s\n"), opt); + nfs_error(_("%s: Bad nfs mount parameter: %s\n"), progname, opt); out_bad: return 0; } @@ -460,22 +464,22 @@ static int nfsmnt_check_compat(const struct pmap *nfs_pmap, unsigned int max_mnt_vers = (nfs_mount_data_version >= 4) ? 3 : 2; if (nfs_pmap->pm_vers == 4) { - fprintf(stderr, _("Please use '-t nfs4' " - "instead of '-o vers=4'.\n")); + nfs_error(_("%s: Please use '-t nfs4' " + "instead of '-o vers=4'"), progname); goto out_bad; } if (nfs_pmap->pm_vers) { if (nfs_pmap->pm_vers > max_nfs_vers || nfs_pmap->pm_vers < 2) { - fprintf(stderr, _("NFS version %ld is not supported.\n"), - nfs_pmap->pm_vers); + nfs_error(_("%s: NFS version %ld is not supported"), + progname, nfs_pmap->pm_vers); goto out_bad; } } if (mnt_pmap->pm_vers > max_mnt_vers) { - fprintf(stderr, _("NFS mount version %ld s not supported.\n"), - mnt_pmap->pm_vers); + nfs_error(_("%s: NFS mount version %ld s not supported"), + progname, mnt_pmap->pm_vers); goto out_bad; } @@ -486,21 +490,21 @@ out_bad: } int -nfsmount(const char *spec, const char *node, int *flags, - char **extra_opts, int running_bg, int fake) +nfsmount(const char *spec, const char *node, int flags, + char **extra_opts, int fake) { static char *prev_bg_host; char hostdir[1024]; char *hostname, *dirname, *old_opts, *mounthost = NULL; char new_opts[1024], cbuf[1024]; static struct nfs_mount_data data; - int val; + int val, running_bg = 0; static int doonce = 0; clnt_addr_t mnt_server = { &mounthost, }; clnt_addr_t nfs_server = { &hostname, }; struct sockaddr_in *nfs_saddr = &nfs_server.saddr; - struct pmap *mnt_pmap = &mnt_server.pmap, + struct pmap *mnt_pmap = &mnt_server.pmap, *nfs_pmap = &nfs_server.pmap; struct pmap save_mnt, save_nfs; @@ -517,8 +521,8 @@ nfsmount(const char *spec, const char *node, int *flags, time_t timeout; if (strlen(spec) >= sizeof(hostdir)) { - fprintf(stderr, _("mount: " - "excessively long host:dir argument\n")); + nfs_error(_("%s: excessively long host:dir argument"), + progname); goto fail; } strcpy(hostdir, spec); @@ -530,14 +534,13 @@ nfsmount(const char *spec, const char *node, int *flags, until they can be fully supported. (mack@sgi.com) */ if ((s = strchr(hostdir, ','))) { *s = '\0'; - fprintf(stderr, - _("mount: warning: " - "multiple hostnames not supported\n")); + nfs_error(_("%s: warning: " + "multiple hostnames not supported"), + progname); } } else { - fprintf(stderr, - _("mount: " - "directory to mount not in host:dir format\n")); + nfs_error(_("%s: directory to mount not in host:dir format"), + progname); goto fail; } @@ -618,7 +621,7 @@ nfsmount(const char *spec, const char *node, int *flags, data.version = nfs_mount_data_version; - if (*flags & MS_REMOUNT) + if (flags & MS_REMOUNT) goto out_ok; /* @@ -717,10 +720,9 @@ nfsmount(const char *spec, const char *node, int *flags, if (nfs_pmap->pm_vers == 2) { if (mntres.nfsv2.fhs_status != 0) { - fprintf(stderr, - _("mount: %s:%s failed, reason given by server: %s\n"), - hostname, dirname, - nfs_strerror(mntres.nfsv2.fhs_status)); + nfs_error(_("%s: %s:%s failed, reason given by server: %s"), + progname, hostname, dirname, + nfs_strerror(mntres.nfsv2.fhs_status)); goto fail; } memcpy(data.root.data, @@ -738,16 +740,15 @@ nfsmount(const char *spec, const char *node, int *flags, fhandle3 *fhandle; int i, *flavor, yum = 0; if (mntres.nfsv3.fhs_status != 0) { - fprintf(stderr, - _("mount: %s:%s failed, reason given by server: %s\n"), - hostname, dirname, - nfs_strerror(mntres.nfsv3.fhs_status)); + nfs_error(_("%s: %s:%s failed, reason given by server: %s"), + progname, hostname, dirname, + nfs_strerror(mntres.nfsv3.fhs_status)); goto fail; } #if NFS_MOUNT_VERSION >= 5 mountres = &mntres.nfsv3.mountres3_u.mountinfo; i = mountres->auth_flavors.auth_flavors_len; - if (i <= 0) + if (i <= 0) goto noauth_flavors; flavor = mountres->auth_flavors.auth_flavors_val; @@ -769,10 +770,9 @@ nfsmount(const char *spec, const char *node, int *flags, #endif } if (!yum) { - fprintf(stderr, - "mount: %s:%s failed, " - "security flavor not supported\n", - hostname, dirname); + nfs_error(_("%s: %s:%s failed, security flavor " + "not supported"), + progname, hostname, dirname); /* server has registered us in rmtab, send umount */ nfs_call_umount(&mnt_server, &dirname); goto fail; @@ -839,8 +839,8 @@ noauth_flavors: out_ok: /* Ensure we have enough padding for the following strcat()s */ if (strlen(new_opts) + strlen(s) + 30 >= sizeof(new_opts)) { - fprintf(stderr, _("mount: " - "excessively long option argument\n")); + nfs_error(_("%s: excessively long option argument"), + progname); goto fail; } @@ -862,7 +862,7 @@ noauth_flavors: if (!fake) { if (mount(spec, node, "nfs", - *flags & ~(MS_USER|MS_USERS), &data)) { + flags & ~(MS_USER|MS_USERS), &data)) { mount_error(spec, node, errno); goto fail; }