Re: [Devel] [PATCH 1/3] fuse: Fix parse_fuse_opt() return values wrong interpretation

2018-10-30 Thread Pavel Butsykin
On 30.10.2018 11:55, Kirill Tkhai wrote:
> This function returns not 0 in case of success, and 0 in case
> of failure. So, error values like -EPERM are interpreted as
> success, which is wrong. Fix that.
> Note, that fuse has generic EINVAL return value for all types
> of unacceptable parameters.
> 
> Signed-off-by: Kirill Tkhai 

Reviewed-by: Pavel Butsykin 

> ---
>   fs/fuse/inode.c |8 
>   1 file changed, 4 insertions(+), 4 deletions(-)
> 
> diff --git a/fs/fuse/inode.c b/fs/fuse/inode.c
> index ca9a146d39fa..0695b79c4c50 100644
> --- a/fs/fuse/inode.c
> +++ b/fs/fuse/inode.c
> @@ -688,19 +688,19 @@ static int parse_fuse_opt(char *opt, struct 
> fuse_mount_data *d, int is_bdev)
>   
>   case OPT_WBCACHE:
>   if (!ve_is_super(get_exec_env()) && !fuse_ve_odirect)
> - return -EPERM;
> + return 0;
>   d->writeback_cache = 1;
>   break;
>   
>   case OPT_ODIRECT:
>   if (!ve_is_super(get_exec_env()) && !fuse_ve_odirect)
> - return -EPERM;
> + return 0;
>   d->flags |= FUSE_ODIRECT;
>   break;
>   
>   case OPT_UMOUNT_WAIT:
>   if (!ve_is_super(get_exec_env()) && !fuse_ve_odirect)
> - return -EPERM;
> + return 0;
>   d->flags |= FUSE_UMOUNT_WAIT;
>   break;
>   
> @@ -711,7 +711,7 @@ static int parse_fuse_opt(char *opt, struct 
> fuse_mount_data *d, int is_bdev)
>   char *name;
>   name = match_strdup([0]);
>   if (!name)
> - return 1;
> + return 0;
>   
>   strncpy(d->kio_name, name, FUSE_KIO_NAME);
>   d->flags |= FUSE_KDIRECT_IO;
> 

___
Devel mailing list
Devel@openvz.org
https://lists.openvz.org/mailman/listinfo/devel


[Devel] [PATCH 1/3] fuse: Fix parse_fuse_opt() return values wrong interpretation

2018-10-30 Thread Kirill Tkhai
This function returns not 0 in case of success, and 0 in case
of failure. So, error values like -EPERM are interpreted as
success, which is wrong. Fix that.
Note, that fuse has generic EINVAL return value for all types
of unacceptable parameters.

Signed-off-by: Kirill Tkhai 
---
 fs/fuse/inode.c |8 
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/fs/fuse/inode.c b/fs/fuse/inode.c
index ca9a146d39fa..0695b79c4c50 100644
--- a/fs/fuse/inode.c
+++ b/fs/fuse/inode.c
@@ -688,19 +688,19 @@ static int parse_fuse_opt(char *opt, struct 
fuse_mount_data *d, int is_bdev)
 
case OPT_WBCACHE:
if (!ve_is_super(get_exec_env()) && !fuse_ve_odirect)
-   return -EPERM;
+   return 0;
d->writeback_cache = 1;
break;
 
case OPT_ODIRECT:
if (!ve_is_super(get_exec_env()) && !fuse_ve_odirect)
-   return -EPERM;
+   return 0;
d->flags |= FUSE_ODIRECT;
break;
 
case OPT_UMOUNT_WAIT:
if (!ve_is_super(get_exec_env()) && !fuse_ve_odirect)
-   return -EPERM;
+   return 0;
d->flags |= FUSE_UMOUNT_WAIT;
break;
 
@@ -711,7 +711,7 @@ static int parse_fuse_opt(char *opt, struct fuse_mount_data 
*d, int is_bdev)
char *name;
name = match_strdup([0]);
if (!name)
-   return 1;
+   return 0;
 
strncpy(d->kio_name, name, FUSE_KIO_NAME);
d->flags |= FUSE_KDIRECT_IO;

___
Devel mailing list
Devel@openvz.org
https://lists.openvz.org/mailman/listinfo/devel