diff options
Diffstat (limited to 'ipc/mqueue.c')
| -rw-r--r-- | ipc/mqueue.c | 24 |
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 | |||
| 213 | out: | ||
| 214 | return error; | ||
| 215 | } | 205 | } |
| 216 | 206 | ||
| 217 | static struct dentry *mqueue_mount(struct file_system_type *fs_type, | 207 | static struct dentry *mqueue_mount(struct file_system_type *fs_type, |
