Re: [PATCH v3 3/5] fs: Wire up SED/Opal to ioctl

2016-12-19 Thread Christoph Hellwig
> @@ -853,6 +854,7 @@ struct file {
>  #ifdef CONFIG_SECURITY
>   void*f_security;
>  #endif
> + struct sed_context  *f_sedctx;

Adding a new field to the global struct file for a block driver
feature is not acceptable.  And I don't really see why it would
be nessecary anyway.


[PATCH v3 3/5] fs: Wire up SED/Opal to ioctl

2016-12-19 Thread Scott Bauer
Adds a new sed_context pointer to file struct, for char devs who wish
to suppor SED.
Adds ioctl handling code.

Signed-off-by: Scott Bauer 
Signed-off-by: Rafael Antognolli 
---
 fs/ioctl.c | 3 +++
 include/linux/fs.h | 2 ++
 2 files changed, 5 insertions(+)

diff --git a/fs/ioctl.c b/fs/ioctl.c
index cb9b029..77def42 100644
--- a/fs/ioctl.c
+++ b/fs/ioctl.c
@@ -15,6 +15,7 @@
 #include 
 #include 
 #include 
+#include 
 #include "internal.h"
 
 #include 
@@ -679,6 +680,8 @@ int do_vfs_ioctl(struct file *filp, unsigned int fd, 
unsigned int cmd,
default:
if (S_ISREG(inode->i_mode))
error = file_ioctl(filp, cmd, arg);
+   else if (is_sed_ioctl(cmd))
+   error = fdev_sed_ioctl(filp, cmd, arg);
else
error = vfs_ioctl(filp, cmd, arg);
break;
diff --git a/include/linux/fs.h b/include/linux/fs.h
index 2ba0743..75a99e5 100644
--- a/include/linux/fs.h
+++ b/include/linux/fs.h
@@ -55,6 +55,7 @@ struct workqueue_struct;
 struct iov_iter;
 struct fscrypt_info;
 struct fscrypt_operations;
+struct sed_context;
 
 extern void __init inode_init(void);
 extern void __init inode_init_early(void);
@@ -853,6 +854,7 @@ struct file {
 #ifdef CONFIG_SECURITY
void*f_security;
 #endif
+   struct sed_context  *f_sedctx;
/* needed for tty driver, and maybe others */
void*private_data;
 
-- 
2.7.4