aboutsummaryrefslogtreecommitdiffstats
path: root/ipc/mqueue.c
diff options
context:
space:
mode:
Diffstat (limited to 'ipc/mqueue.c')
-rw-r--r--ipc/mqueue.c24
1 files changed, 7 insertions, 17 deletions
diff --git a/ipc/mqueue.c b/ipc/mqueue.c
index 86ee272de210..28bd64ddeda3 100644
--- a/ipc/mqueue.c
+++ b/ipc/mqueue.c
@@ -188,30 +188,20 @@ static int mqueue_fill_super(struct super_block *sb, void *data, int silent)
188{ 188{
189 struct inode *inode; 189 struct inode *inode;
190 struct ipc_namespace *ns = data; 190 struct ipc_namespace *ns = data;
191 int error;
192 191
193 sb->s_blocksize = PAGE_CACHE_SIZE; 192 sb->s_blocksize = PAGE_CACHE_SIZE;
194 sb->s_blocksize_bits = PAGE_CACHE_SHIFT; 193 sb->s_blocksize_bits = PAGE_CACHE_SHIFT;
195 sb->s_magic = MQUEUE_MAGIC; 194 sb->s_magic = MQUEUE_MAGIC;
196 sb->s_op = &mqueue_super_ops; 195 sb->s_op = &mqueue_super_ops;
197 196
198 inode = mqueue_get_inode(sb, ns, S_IFDIR | S_ISVTX | S_IRWXUGO, 197 inode = mqueue_get_inode(sb, ns, S_IFDIR | S_ISVTX | S_IRWXUGO, NULL);
199 NULL); 198 if (IS_ERR(inode))
200 if (IS_ERR(inode)) { 199 return PTR_ERR(inode);
201 error = PTR_ERR(inode);
202 goto out;
203 }
204 200
205 sb->s_root = d_alloc_root(inode); 201 sb->s_root = d_make_root(inode);
206 if (!sb->s_root) { 202 if (!sb->s_root)
207 iput(inode); 203 return -ENOMEM;
208 error = -ENOMEM; 204 return 0;
209 goto out;
210 }
211 error = 0;
212
213out:
214 return error;
215} 205}
216 206
217static struct dentry *mqueue_mount(struct file_system_type *fs_type, 207static struct dentry *mqueue_mount(struct file_system_type *fs_type,