#include <config.h>
#endif
-#include <ctype.h>
#include <unistd.h>
-#include <stdio.h>
-#include <string.h>
-#include <stdlib.h>
#include <errno.h>
#include <netdb.h>
#include <time.h>
#include "xcommon.h"
#include "mount.h"
#include "nls.h"
-#include "nfs_mount.h"
#include "mount_constants.h"
#include "stropts.h"
#include "error.h"
#include "version.h"
#include "parse_dev.h"
-#ifdef HAVE_RPCSVC_NFS_PROT_H
-#include <rpcsvc/nfs_prot.h>
-#else
-#include <linux/nfs.h>
-#define nfsstat nfs_stat
+#ifndef NFS_PROGRAM
+#define NFS_PROGRAM (100003)
#endif
#ifndef NFS_PORT
-#define NFS_PORT 2049
+#define NFS_PORT (2049)
#endif
#ifndef NFS_MAXHOSTNAME
sa_family_t family; /* supported address family */
};
-static int fill_ipv4_sockaddr(const char *hostname, struct sockaddr_in *addr)
-{
- struct hostent *hp;
- addr->sin_family = AF_INET;
-
- if (inet_aton(hostname, &addr->sin_addr))
- return 1;
- if ((hp = gethostbyname(hostname)) == NULL) {
- nfs_error(_("%s: can't get address for %s\n"),
- progname, hostname);
- return 0;
- }
- if (hp->h_length > sizeof(struct in_addr)) {
- nfs_error(_("%s: got bad hp->h_length"), progname);
- hp->h_length = sizeof(struct in_addr);
- }
- memcpy(&addr->sin_addr, hp->h_addr, hp->h_length);
- return 1;
-}
-
/*
* Obtain a retry timeout value based on the value of the "retry=" option.
*
* Returns zero if the "lock" option is in effect, but statd
* can't be started. Otherwise, returns 1.
*/
-static int verify_lock_option(struct mount_options *options)
+static int nfs_verify_lock_option(struct mount_options *options)
{
if (po_rightmost(options, "nolock", "lock") == PO_KEY1_RIGHTMOST)
return 1;
} else {
if (!nfs_fix_mounthost_option(mi->family, mi->options))
return 0;
- if (!mi->fake && !verify_lock_option(mi->options))
+ if (!mi->fake && !nfs_verify_lock_option(mi->options))
return 0;
}
* passed-in error is permanent, thus the mount system call
* should not be retried.
*/
-static int is_permanent_error(int error)
+static int nfs_is_permanent_error(int error)
{
switch (error) {
case ESTALE:
*
* To handle version and transport protocol fallback properly, we
* need to parse some of the mount options in order to set up a
- * portmap probe. Mount options that rewrite_mount_options()
+ * portmap probe. Mount options that nfs_rewrite_mount_options()
* doesn't recognize are left alone.
*
* Returns a new group of mount options if successful; otherwise
* NULL is returned if some failure occurred.
*/
-static struct mount_options *rewrite_mount_options(char *str)
+static struct mount_options *nfs_rewrite_mount_options(char *str)
{
struct mount_options *options;
char *option, new_option[64];
char *retry_str = NULL;
char **extra_opts = mi->extra_opts;
- retry_options = rewrite_mount_options(*extra_opts);
+ retry_options = nfs_rewrite_mount_options(*extra_opts);
if (!retry_options)
return 0;
if (nfs_try_mount(mi))
return EX_SUCCESS;
- if (is_permanent_error(errno))
+ if (nfs_is_permanent_error(errno))
break;
if (time(NULL) > timeout) {
if (nfs_try_mount(mi))
return EX_SUCCESS;
- if (is_permanent_error(errno)) {
+ if (nfs_is_permanent_error(errno)) {
mount_error(mi->spec, mi->node, errno);
return EX_FAIL;
}
if (nfs_try_mount(mi))
return EX_SUCCESS;
- if (is_permanent_error(errno))
+ if (nfs_is_permanent_error(errno))
break;
if (time(NULL) > timeout)