summaryrefslogtreecommitdiffstats
path: root/kernel/fs/exofs/namei.c
diff options
context:
space:
mode:
Diffstat (limited to 'kernel/fs/exofs/namei.c')
-rw-r--r--kernel/fs/exofs/namei.c8
1 files changed, 3 insertions, 5 deletions
diff --git a/kernel/fs/exofs/namei.c b/kernel/fs/exofs/namei.c
index 5ae25e431..994e078da 100644
--- a/kernel/fs/exofs/namei.c
+++ b/kernel/fs/exofs/namei.c
@@ -80,9 +80,6 @@ static int exofs_mknod(struct inode *dir, struct dentry *dentry, umode_t mode,
struct inode *inode;
int err;
- if (!new_valid_dev(rdev))
- return -EINVAL;
-
inode = exofs_new_inode(dir, mode);
err = PTR_ERR(inode);
if (!IS_ERR(inode)) {
@@ -113,7 +110,7 @@ static int exofs_symlink(struct inode *dir, struct dentry *dentry,
oi = exofs_i(inode);
if (l > sizeof(oi->i_data)) {
/* slow symlink */
- inode->i_op = &exofs_symlink_inode_operations;
+ inode->i_op = &page_symlink_inode_operations;
inode->i_mapping->a_ops = &exofs_aops;
memset(oi->i_data, 0, sizeof(oi->i_data));
@@ -122,7 +119,8 @@ static int exofs_symlink(struct inode *dir, struct dentry *dentry,
goto out_fail;
} else {
/* fast symlink */
- inode->i_op = &exofs_fast_symlink_inode_operations;
+ inode->i_op = &simple_symlink_inode_operations;
+ inode->i_link = (char *)oi->i_data;
memcpy(oi->i_data, symname, l);
inode->i_size = l-1;
}