pls ignore this.

On 25.12.2018 18:11, Pavel Butsykin wrote:
> There are some ioctl's that were made to service the kio module, and they
> should not be available to user app.
> 
> Also there are two ioctls PCS_IOC_NOCSUMONREAD and PCS_IOC_NOWRITEDELAY that
> must be handled in kio, otherwise they are meaningless. So let's return
> -EOPNOTSUPP unless we implement them in kio.
> 
> #VSTOR-19332
> 
> Signed-off-by: Pavel Butsykin <pbutsy...@virtuozzo.com>
> ---
>   fs/fuse/kio/pcs/pcs_fuse_kdirect.c | 19 ++++++++++++++++---
>   fs/fuse/kio/pcs/pcs_ioctl.h        |  5 +++++
>   2 files changed, 21 insertions(+), 3 deletions(-)
> 
> diff --git a/fs/fuse/kio/pcs/pcs_fuse_kdirect.c 
> b/fs/fuse/kio/pcs/pcs_fuse_kdirect.c
> index 89866370a341..13acd2e172f3 100644
> --- a/fs/fuse/kio/pcs/pcs_fuse_kdirect.c
> +++ b/fs/fuse/kio/pcs/pcs_fuse_kdirect.c
> @@ -1110,9 +1110,22 @@ static int pcs_kio_classify_req(struct fuse_conn *fc, 
> struct fuse_req *req, bool
>       case FUSE_IOCTL: {
>               struct fuse_ioctl_in const *inarg = req->in.args[0].value;
>   
> -             if (inarg->cmd != FS_IOC_FIEMAP)
> -                     return 1;
> -
> +             switch (inarg->cmd) {
> +                     case FS_IOC_FIEMAP:
> +                             break;
> +                     case PCS_IOC_NOCSUMONREAD:
> +                     case PCS_IOC_NOWRITEDELAY:
> +                             return -EOPNOTSUPP;
> +                     case PCS_IOC_INIT_KDIRECT:
> +                     case PCS_IOC_CSCONN:
> +                     case PCS_IOC_GETFILEINFO:
> +                     case PCS_IOC_KDIRECT_CLAIM:
> +                     case PCS_IOC_KDIRECT_RELEASE:
> +                     case PCS_IOC_GETMAP:
> +                             return -EPERM;
> +                     default:
> +                             return 1;
> +             }
>               break;
>       }
>       default:
> diff --git a/fs/fuse/kio/pcs/pcs_ioctl.h b/fs/fuse/kio/pcs/pcs_ioctl.h
> index 5cf40e35f881..d6c02ae66977 100644
> --- a/fs/fuse/kio/pcs/pcs_ioctl.h
> +++ b/fs/fuse/kio/pcs/pcs_ioctl.h
> @@ -78,6 +78,11 @@ struct pcs_ioc_csconn
>   #define PCS_IOC_CS_REOPEN   (PCS_IOC_CS_OPEN|PCS_IOC_CS_CLOSE)
>   };
>   
> +#define PCS_IOC_NOCSUMONREAD _IOW('V',3,u32)
> +# define PCS_IOC_NOCSUMONREAD_DATA   1
> +# define PCS_IOC_NOCSUMONREAD_METADATA       2
> +#define PCS_IOC_NOWRITEDELAY _IOW('V',4,u32)
> +
>   #define PCS_IOC_INIT_KDIRECT        _IOR('V',32, struct 
> pcs_ioc_init_kdirect)
>   #define PCS_IOC_CSCONN              _IOR('V',33, struct pcs_ioc_csconn)
>   #define PCS_IOC_GETFILEINFO _IOR('V',34, struct pcs_ioc_fileinfo)
> 

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

Reply via email to