]> git.decadent.org.uk Git - nfs-utils.git/blobdiff - utils/nfsd/nfssvc.c
nfsidmap: Added Error Logging
[nfs-utils.git] / utils / nfsd / nfssvc.c
index 7693626fc1a579110b3b163c71663a1bd11b8fcc..683008e291c6bff1016b365789d3401b5380604c 100644 (file)
 #include "nfslib.h"
 #include "xlog.h"
 
-/*
- * IPv6 support for nfsd was finished before some of the other daemons (mountd
- * and statd in particular). That could be a problem in the future if someone
- * were to boot a kernel that supports IPv6 serving with an older nfs-utils. For
- * now, hardcode the IPv6 switch into the off position until the other daemons
- * are functional.
- */
-#undef IPV6_SUPPORTED
-
 #ifndef NFSD_FS_DIR
 #define NFSD_FS_DIR      "/proc/fs/nfsd"
 #endif
@@ -183,8 +174,13 @@ nfssvc_setfds(const struct addrinfo *hints, const char *node, const char *port)
                sockfd = socket(addr->ai_family, addr->ai_socktype,
                                addr->ai_protocol);
                if (sockfd < 0) {
-                       xlog(L_ERROR, "unable to create %s %s socket: "
-                               "errno %d (%m)", family, proto, errno);
+                       if (errno == EAFNOSUPPORT)
+                               xlog(L_NOTICE, "address family %s not "
+                                               "supported by protocol %s",
+                                               family, proto);
+                       else
+                               xlog(L_ERROR, "unable to create %s %s socket: "
+                                    "errno %d (%m)", family, proto, errno);
                        rc = errno;
                        goto error;
                }
@@ -273,7 +269,7 @@ nfssvc_set_sockets(const int family, const unsigned int protobits,
 }
 
 void
-nfssvc_setvers(unsigned int ctlbits, int minorvers4)
+nfssvc_setvers(unsigned int ctlbits, int minorvers41)
 {
        int fd, n, off;
        char *ptr;
@@ -284,11 +280,9 @@ nfssvc_setvers(unsigned int ctlbits, int minorvers4)
        if (fd < 0)
                return;
 
-       n = minorvers4 >= 0 ? minorvers4 : -minorvers4;
-       if (n >= NFSD_MINMINORVERS4 && n <= NFSD_MAXMINORVERS4)
-                   off += snprintf(ptr+off, sizeof(buf) - off, "%c4.%d ",
-                                   minorvers4 > 0 ? '+' : '-',
-                                   n);
+       if (minorvers41)
+               off += snprintf(ptr+off, sizeof(buf) - off, "%c4.1",
+                               minorvers41 > 0 ? '+' : '-');
        for (n = NFSD_MINVERS; n <= NFSD_MAXVERS; n++) {
                if (NFSCTL_VERISSET(ctlbits, n))
                    off += snprintf(ptr+off, sizeof(buf) - off, "+%d ", n);