diff mbox

[-,nfs-utils] exportfs: report failure if asked to unexport something not exported.

Message ID 526E5CE0.5010507@RedHat.com (mailing list archive)
State New, archived
Headers show

Commit Message

Steve Dickson Oct. 28, 2013, 12:47 p.m. UTC
Hello,

On 27/10/13 23:43, NeilBrown wrote:
> 
> Currently if exportfs is asked to unexport something that is not
> exported it silently succeeds.  This is not ideal, particularly for
> scripting situations.
> 
> So report an error unless the unexport was successful.
> 
> Reported-by: Tony Asleson <tasleson@redhat.com>
> Signed-off-by: NeilBrown <neilb@suse.de>
> 
> diff --git a/utils/exportfs/exportfs.c b/utils/exportfs/exportfs.c
> index 52fc03d..c9e12db 100644
> --- a/utils/exportfs/exportfs.c
> +++ b/utils/exportfs/exportfs.c
> @@ -351,6 +351,7 @@ unexportfs(char *arg, int verbose)
>  	char		*path;
>  	char		*hname = arg;
>  	int		htype;
> +	int		success = 0;
>  
>  	if ((path = strchr(arg, ':')) != NULL)
>  		*path++ = '\0';
> @@ -397,7 +398,10 @@ unexportfs(char *arg, int verbose)
>  #endif
>  		exp->m_xtabent = 0;
>  		exp->m_mayexport = 0;
> +		success = 1;
>  	}
> +	if (!success)
> +		xlog(L_ERROR, "Could not find %s to unexport.\n", arg);
>  
>  	freeaddrinfo(ai);
>  }
> 
This does not apply due commit 232eb7ad0... But I agree with doing a xlog
on failures but I would like to cover it with the -v flag... Something 
similar to :

[PATCH] exportfs: report failure if asked to unexport something not exported.

Currently if exportfs is asked to unexport something that is not
exported it silently succeeds.  This is not ideal, particularly for
scripting situations.

So report an error when the unexport was successful and the -v flag used.

Signed-off-by: Steve Dickson <steved@redhat.com>
---
 utils/exportfs/exportfs.c | 2 ++
 1 file changed, 2 insertions(+)



steved.
--
To unsubscribe from this list: send the line "unsubscribe linux-nfs" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Comments

Steve Dickson Oct. 28, 2013, 6:29 p.m. UTC | #1
On 28/10/13 08:47, Steve Dickson wrote:
> Hello,
> 
> On 27/10/13 23:43, NeilBrown wrote:
>>
>> Currently if exportfs is asked to unexport something that is not
>> exported it silently succeeds.  This is not ideal, particularly for
>> scripting situations.
>>
>> So report an error unless the unexport was successful.
>>
>> Reported-by: Tony Asleson <tasleson@redhat.com>
>> Signed-off-by: NeilBrown <neilb@suse.de>
>>
>> diff --git a/utils/exportfs/exportfs.c b/utils/exportfs/exportfs.c
>> index 52fc03d..c9e12db 100644
>> --- a/utils/exportfs/exportfs.c
>> +++ b/utils/exportfs/exportfs.c
>> @@ -351,6 +351,7 @@ unexportfs(char *arg, int verbose)
>>  	char		*path;
>>  	char		*hname = arg;
>>  	int		htype;
>> +	int		success = 0;
>>  
>>  	if ((path = strchr(arg, ':')) != NULL)
>>  		*path++ = '\0';
>> @@ -397,7 +398,10 @@ unexportfs(char *arg, int verbose)
>>  #endif
>>  		exp->m_xtabent = 0;
>>  		exp->m_mayexport = 0;
>> +		success = 1;
>>  	}
>> +	if (!success)
>> +		xlog(L_ERROR, "Could not find %s to unexport.\n", arg);
>>  
>>  	freeaddrinfo(ai);
>>  }
>>
> This does not apply due commit 232eb7ad0... But I agree with doing a xlog
> on failures but I would like to cover it with the -v flag... Something 
> similar to :
> 
> [PATCH] exportfs: report failure if asked to unexport something not exported.
> 
> Currently if exportfs is asked to unexport something that is not
> exported it silently succeeds.  This is not ideal, particularly for
> scripting situations.
> 
> So report an error when the unexport was successful and the -v flag used.
> 
> Signed-off-by: Steve Dickson <steved@redhat.com>
Committed...

steved.

> ---
>  utils/exportfs/exportfs.c | 2 ++
>  1 file changed, 2 insertions(+)
> 
> diff --git a/utils/exportfs/exportfs.c b/utils/exportfs/exportfs.c
> index 318deb3..6962444 100644
> --- a/utils/exportfs/exportfs.c
> +++ b/utils/exportfs/exportfs.c
> @@ -413,6 +413,8 @@ unexportfs(char *arg, int verbose)
>         exp->m_mayexport = 0;
>         rc = 1;
>     }
> +   if (!rc && verbose)
> +       xlog(L_ERROR, "Could not find '%s:%s' to unexport.", arg, path);
> 
>     freeaddrinfo(ai);
>     return rc;
> 
> 
> steved.
> --
> To unsubscribe from this list: send the line "unsubscribe linux-nfs" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
> 
--
To unsubscribe from this list: send the line "unsubscribe linux-nfs" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
diff mbox

Patch

diff --git a/utils/exportfs/exportfs.c b/utils/exportfs/exportfs.c
index 318deb3..6962444 100644
--- a/utils/exportfs/exportfs.c
+++ b/utils/exportfs/exportfs.c
@@ -413,6 +413,8 @@  unexportfs(char *arg, int verbose)
        exp->m_mayexport = 0;
        rc = 1;
    }
+   if (!rc && verbose)
+       xlog(L_ERROR, "Could not find '%s:%s' to unexport.", arg, path);

    freeaddrinfo(ai);
    return rc;