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