diff options
Diffstat (limited to 'fs/ocfs2/ioctl.c')
-rw-r--r-- | fs/ocfs2/ioctl.c | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/fs/ocfs2/ioctl.c b/fs/ocfs2/ioctl.c index b74b24ecf0e4..7003d5820d79 100644 --- a/fs/ocfs2/ioctl.c +++ b/fs/ocfs2/ioctl.c | |||
@@ -119,6 +119,7 @@ int ocfs2_ioctl(struct inode * inode, struct file * filp, | |||
119 | int new_clusters; | 119 | int new_clusters; |
120 | int status; | 120 | int status; |
121 | struct ocfs2_space_resv sr; | 121 | struct ocfs2_space_resv sr; |
122 | struct ocfs2_new_group_input input; | ||
122 | 123 | ||
123 | switch (cmd) { | 124 | switch (cmd) { |
124 | case OCFS2_IOC_GETFLAGS: | 125 | case OCFS2_IOC_GETFLAGS: |
@@ -147,6 +148,12 @@ int ocfs2_ioctl(struct inode * inode, struct file * filp, | |||
147 | return -EFAULT; | 148 | return -EFAULT; |
148 | 149 | ||
149 | return ocfs2_group_extend(inode, new_clusters); | 150 | return ocfs2_group_extend(inode, new_clusters); |
151 | case OCFS2_IOC_GROUP_ADD: | ||
152 | case OCFS2_IOC_GROUP_ADD64: | ||
153 | if (copy_from_user(&input, (int __user *) arg, sizeof(input))) | ||
154 | return -EFAULT; | ||
155 | |||
156 | return ocfs2_group_add(inode, &input); | ||
150 | default: | 157 | default: |
151 | return -ENOTTY; | 158 | return -ENOTTY; |
152 | } | 159 | } |
@@ -170,6 +177,8 @@ long ocfs2_compat_ioctl(struct file *file, unsigned cmd, unsigned long arg) | |||
170 | case OCFS2_IOC_UNRESVSP: | 177 | case OCFS2_IOC_UNRESVSP: |
171 | case OCFS2_IOC_UNRESVSP64: | 178 | case OCFS2_IOC_UNRESVSP64: |
172 | case OCFS2_IOC_GROUP_EXTEND: | 179 | case OCFS2_IOC_GROUP_EXTEND: |
180 | case OCFS2_IOC_GROUP_ADD: | ||
181 | case OCFS2_IOC_GROUP_ADD64: | ||
173 | break; | 182 | break; |
174 | default: | 183 | default: |
175 | return -ENOIOCTLCMD; | 184 | return -ENOIOCTLCMD; |