diff options
author | Chuck Lever <chuck.lever@oracle.com> | 2007-10-10 15:06:46 -0400 |
---|---|---|
committer | Neil Brown <neilb@suse.de> | 2007-10-11 11:03:18 +1000 |
commit | 4d5e8d3e948a83e3960d63ff2d537a62bee4fa4a (patch) | |
tree | 70b9c62ca54e778f19168482238dc01101898ebf | |
parent | ec565223d509f1537c38ae01d330fb24e4305da9 (diff) | |
download | nfs-utils-4d5e8d3e948a83e3960d63ff2d537a62bee4fa4a.tar.gz nfs-utils-4d5e8d3e948a83e3960d63ff2d537a62bee4fa4a.tar.xz nfs-utils-4d5e8d3e948a83e3960d63ff2d537a62bee4fa4a.zip |
text-based mount.nfs: Plug "fg" and "bg" processing into nfsmount_string()
We have all the pre-requisites now, so add "fg" and "bg" mount processing
to text-based NFS mounts.
Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
Signed-off-by: Neil Brown <neilb@suse.de>
-rw-r--r-- | utils/mount/stropts.c | 26 |
1 files changed, 13 insertions, 13 deletions
diff --git a/utils/mount/stropts.c b/utils/mount/stropts.c index 2d717fb..cf40313 100644 --- a/utils/mount/stropts.c +++ b/utils/mount/stropts.c @@ -681,32 +681,32 @@ int nfsmount_string(const char *spec, const char *node, const char *type, struct mount_options *options = NULL; struct sockaddr_in saddr; char *hostname; - int err, retval = EX_FAIL; + int retval = EX_FAIL; if (!parse_devname(spec, &hostname)) - goto out; - err = fill_ipv4_sockaddr(hostname, &saddr); - free(hostname); - if (!err) - goto out; + return retval; + if (!fill_ipv4_sockaddr(hostname, &saddr)) + goto fail; options = po_split(*extra_opts); if (!options) { nfs_error(_("%s: internal option parsing error"), progname); - goto out; + goto fail; } if (!set_mandatory_options(type, &saddr, options)) goto out; - if (try_mount(spec, node, type, flags, options, fake, extra_opts)) { - mount_error(spec, node, errno); - goto out; - } - - retval = EX_SUCCESS; + if (po_rightmost(options, "bg", "fg") == PO_KEY1_RIGHTMOST) + retval = nfsmount_bg(spec, node, type, hostname, flags, + options, fake, child, extra_opts); + else + retval = nfsmount_fg(spec, node, type, flags, options, + fake, extra_opts); out: po_destroy(options); +fail: + free(hostname); return retval; } |