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 /fs/sysv | |
| parent | c35eebe9939f55b9d51631d03301a7af19090dcc (diff) | |
switch sysv
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Diffstat (limited to 'fs/sysv')
| -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 b5e68da2db32..b427b1208c26 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 | |||
| 48 | struct inode * inode = NULL; | 48 | struct inode * inode = NULL; |
| 49 | ino_t ino; | 49 | ino_t ino; |
| 50 | 50 | ||
| 51 | d_set_d_op(dentry, dir->i_sb->s_root->d_op); | ||
| 52 | if (dentry->d_name.len > SYSV_NAMELEN) | 51 | if (dentry->d_name.len > SYSV_NAMELEN) |
| 53 | return ERR_PTR(-ENAMETOOLONG); | 52 | return ERR_PTR(-ENAMETOOLONG); |
| 54 | ino = sysv_inode_by_name(dentry); | 53 | ino = sysv_inode_by_name(dentry); |
diff --git a/fs/sysv/super.c b/fs/sysv/super.c index 76712aefc4ab..f60c196913ea 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) | |||
| 332 | sb->s_magic = SYSV_MAGIC_BASE + sbi->s_type; | 332 | sb->s_magic = SYSV_MAGIC_BASE + sbi->s_type; |
| 333 | /* set up enough so that it can read an inode */ | 333 | /* set up enough so that it can read an inode */ |
| 334 | sb->s_op = &sysv_sops; | 334 | sb->s_op = &sysv_sops; |
| 335 | if (sbi->s_forced_ro) | ||
| 336 | sb->s_flags |= MS_RDONLY; | ||
| 337 | if (sbi->s_truncate) | ||
| 338 | sb->s_d_op = &sysv_dentry_operations; | ||
| 335 | root_inode = sysv_iget(sb, SYSV_ROOT_INO); | 339 | root_inode = sysv_iget(sb, SYSV_ROOT_INO); |
| 336 | if (IS_ERR(root_inode)) { | 340 | if (IS_ERR(root_inode)) { |
| 337 | printk("SysV FS: get root inode failed\n"); | 341 | 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 | printk("SysV FS: get root dentry failed\n"); | 347 | printk("SysV FS: get root dentry failed\n"); |
| 344 | return 0; | 348 | return 0; |
| 345 | } | 349 | } |
| 346 | if (sbi->s_forced_ro) | ||
| 347 | sb->s_flags |= MS_RDONLY; | ||
| 348 | if (sbi->s_truncate) | ||
| 349 | d_set_d_op(sb->s_root, &sysv_dentry_operations); | ||
| 350 | return 1; | 350 | return 1; |
| 351 | } | 351 | } |
| 352 | 352 | ||
