]> git.decadent.org.uk Git - nfs-utils.git/blobdiff - utils/mount/stropts.c
text-based mount.nfs: sort between permanent and temporary errors
[nfs-utils.git] / utils / mount / stropts.c
index 13523f8814bd00aa6319435fa374a9e0e92de293..b6d3a12292ff0a0ccd906010c5a831b611b1942a 100644 (file)
@@ -237,6 +237,27 @@ static int set_mandatory_options(const char *type,
        return 1;
 }
 
+/*
+ * Distinguish between permanent and temporary errors.
+ *
+ * Returns 0 if the passed-in error is temporary, thus the
+ * mount system call should be retried; returns one if the
+ * passed-in error is permanent, thus the mount system call
+ * should not be retried.
+ */
+static int is_permanent_error(int error)
+{
+       switch (error) {
+       case EACCES:
+       case ESTALE:
+       case ETIMEDOUT:
+       case ECONNREFUSED:
+               return 0;       /* temporary */
+       default:
+               return 1;       /* permanent */
+       }
+}
+
 /*
  * Reconstruct the mount option string based on a portmapper probe
  * of the server.  Returns one if the server's portmapper returned