提交 30304aba 编写于 作者: A Al Viro

switch sysv

Signed-off-by: NAl Viro <viro@zeniv.linux.org.uk>
上级 c35eebe9
...@@ -48,7 +48,6 @@ static struct dentry *sysv_lookup(struct inode * dir, struct dentry * dentry, st ...@@ -48,7 +48,6 @@ static struct dentry *sysv_lookup(struct inode * dir, struct dentry * dentry, st
struct inode * inode = NULL; struct inode * inode = NULL;
ino_t ino; ino_t ino;
d_set_d_op(dentry, dir->i_sb->s_root->d_op);
if (dentry->d_name.len > SYSV_NAMELEN) if (dentry->d_name.len > SYSV_NAMELEN)
return ERR_PTR(-ENAMETOOLONG); return ERR_PTR(-ENAMETOOLONG);
ino = sysv_inode_by_name(dentry); ino = sysv_inode_by_name(dentry);
......
...@@ -332,6 +332,10 @@ static int complete_read_super(struct super_block *sb, int silent, int size) ...@@ -332,6 +332,10 @@ static int complete_read_super(struct super_block *sb, int silent, int size)
sb->s_magic = SYSV_MAGIC_BASE + sbi->s_type; sb->s_magic = SYSV_MAGIC_BASE + sbi->s_type;
/* set up enough so that it can read an inode */ /* set up enough so that it can read an inode */
sb->s_op = &sysv_sops; sb->s_op = &sysv_sops;
if (sbi->s_forced_ro)
sb->s_flags |= MS_RDONLY;
if (sbi->s_truncate)
sb->s_d_op = &sysv_dentry_operations;
root_inode = sysv_iget(sb, SYSV_ROOT_INO); root_inode = sysv_iget(sb, SYSV_ROOT_INO);
if (IS_ERR(root_inode)) { if (IS_ERR(root_inode)) {
printk("SysV FS: get root inode failed\n"); printk("SysV FS: get root inode failed\n");
...@@ -343,10 +347,6 @@ static int complete_read_super(struct super_block *sb, int silent, int size) ...@@ -343,10 +347,6 @@ static int complete_read_super(struct super_block *sb, int silent, int size)
printk("SysV FS: get root dentry failed\n"); printk("SysV FS: get root dentry failed\n");
return 0; return 0;
} }
if (sbi->s_forced_ro)
sb->s_flags |= MS_RDONLY;
if (sbi->s_truncate)
d_set_d_op(sb->s_root, &sysv_dentry_operations);
return 1; return 1;
} }
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册