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 <ktk...@virtuozzo.com>
Reviewed-by: Pavel Butsykin <pbutsy...@virtuozzo.com> > --- > 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(&args[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