diff options
author | Al Viro <viro@zeniv.linux.org.uk> | 2010-12-18 11:16:30 -0500 |
---|---|---|
committer | Al Viro <viro@zeniv.linux.org.uk> | 2011-01-12 20:02:44 -0500 |
commit | 30304aba6a053f114092cea6643a96ac2902bc5a (patch) | |
tree | b4ff88e5ccf79a26e0eab6709ac33a9920cfc54b | |
parent | c35eebe9939f55b9d51631d03301a7af19090dcc (diff) | |
download | op-kernel-dev-30304aba6a053f114092cea6643a96ac2902bc5a.zip op-kernel-dev-30304aba6a053f114092cea6643a96ac2902bc5a.tar.gz |
switch sysv
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
-rw-r--r-- | fs/sysv/namei.c | 1 | ||||
-rw-r--r-- | fs/sysv/super.c | 8 |
2 files changed, 4 insertions, 5 deletions
diff --git a/fs/sysv/namei.c b/fs/sysv/namei.c index b5e68da..b427b12 100644 --- a/fs/sysv/namei.c +++ b/fs/sysv/namei.c @@ -48,7 +48,6 @@ static struct dentry *sysv_lookup(struct inode * dir, struct dentry * dentry, st struct inode * inode = NULL; ino_t ino; - d_set_d_op(dentry, dir->i_sb->s_root->d_op); if (dentry->d_name.len > SYSV_NAMELEN) return ERR_PTR(-ENAMETOOLONG); ino = sysv_inode_by_name(dentry); diff --git a/fs/sysv/super.c b/fs/sysv/super.c index 76712ae..f60c196 100644 --- a/fs/sysv/super.c +++ b/fs/sysv/super.c @@ -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; /* set up enough so that it can read an inode */ 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); if (IS_ERR(root_inode)) { 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) printk("SysV FS: get root dentry failed\n"); 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; } |