]> git.decadent.org.uk Git - nfs-utils.git/blobdiff - utils/mount/nfs4mount.c
mount.nfs: No need to return nfs_mount_data structs
[nfs-utils.git] / utils / mount / nfs4mount.c
index cc6eaf254719678822a811d468a71927e227fb1b..a0a1cabe40edaf34d5ab21e6a357a23e05863247 100644 (file)
@@ -25,6 +25,7 @@
 #include <netdb.h>
 #include <time.h>
 #include <sys/stat.h>
+#include <sys/mount.h>
 #include <netinet/in.h>
 #include <arpa/inet.h>
 #include <rpc/auth.h>
@@ -41,6 +42,7 @@
 #include "conn.h"
 #include "xcommon.h"
 
+#include "mount_constants.h"
 #include "nfs4_mount.h"
 #include "nfs_mount.h"
 #include "error.h"
@@ -166,8 +168,7 @@ static int get_my_ipv4addr(char *ip_addr, int len)
 }
 
 int nfs4mount(const char *spec, const char *node, int *flags,
-             char **extra_opts, char **mount_opts,
-             int running_bg)
+             char **extra_opts, int running_bg, int fake)
 {
        static struct nfs4_mount_data data;
        static char hostdir[1024];
@@ -441,8 +442,14 @@ int nfs4mount(const char *spec, const char *node, int *flags,
                continue;
        }
 
-       *mount_opts = (char *) &data;
-       /* clean up */
+       if (!fake) {
+               if (mount(spec, node, "nfs4",
+                               *flags & ~(MS_USER|MS_USERS), &data)) {
+                       mount_error(spec, node, errno);
+                       goto fail;
+               }
+       }
+
        return 0;
 
 fail: