mount() can return EACCES for servers which permit 4.0
but are configured not to allow 4.1 This is currently
only handled by the default case, so these mounts fail
without retrying a lower minor.
Add handling for EACCES to be retried with a lower
minor version.
Signed-off-by: Frank Sorenson <[email protected]>
---
utils/mount/stropts.c | 3 +++
1 file changed, 3 insertions(+)
diff --git a/utils/mount/stropts.c b/utils/mount/stropts.c
index 1d30d34..4401314 100644
--- a/utils/mount/stropts.c
+++ b/utils/mount/stropts.c
@@ -862,6 +862,9 @@ check_result:
case EINVAL:
/* A less clear indication that our client
* does not support NFSv4 minor version. */
+ case EACCES:
+ /* An unclear indication that the server
+ * may not support NFSv4 minor version. */
if (mi->version.v_mode != V_SPECIFIC) {
if (mi->version.minor > 0) {
mi->version.minor--;
--
2.13.5
On 09/07/2017 11:14 AM, Frank Sorenson wrote:
> mount() can return EACCES for servers which permit 4.0
> but are configured not to allow 4.1 This is currently
> only handled by the default case, so these mounts fail
> without retrying a lower minor.
>
> Add handling for EACCES to be retried with a lower
> minor version.
>
> Signed-off-by: Frank Sorenson <[email protected]>
Committed...
steved.
> ---
> utils/mount/stropts.c | 3 +++
> 1 file changed, 3 insertions(+)
>
> diff --git a/utils/mount/stropts.c b/utils/mount/stropts.c
> index 1d30d34..4401314 100644
> --- a/utils/mount/stropts.c
> +++ b/utils/mount/stropts.c
> @@ -862,6 +862,9 @@ check_result:
> case EINVAL:
> /* A less clear indication that our client
> * does not support NFSv4 minor version. */
> + case EACCES:
> + /* An unclear indication that the server
> + * may not support NFSv4 minor version. */
> if (mi->version.v_mode != V_SPECIFIC) {
> if (mi->version.minor > 0) {
> mi->version.minor--;
>