aboutsummaryrefslogtreecommitdiffstats
path: root/fs/ufs
diff options
context:
space:
mode:
Diffstat (limited to 'fs/ufs')
-rw-r--r--fs/ufs/inode.c1
-rw-r--r--fs/ufs/namei.c14
-rw-r--r--fs/ufs/super.c8
3 files changed, 4 insertions, 19 deletions
diff --git a/fs/ufs/inode.c b/fs/ufs/inode.c
index 9094e1d917be..7cdd3953d67e 100644
--- a/fs/ufs/inode.c
+++ b/fs/ufs/inode.c
@@ -26,7 +26,6 @@
26 */ 26 */
27 27
28#include <asm/uaccess.h> 28#include <asm/uaccess.h>
29#include <asm/system.h>
30 29
31#include <linux/errno.h> 30#include <linux/errno.h>
32#include <linux/fs.h> 31#include <linux/fs.h>
diff --git a/fs/ufs/namei.c b/fs/ufs/namei.c
index 38cac199edff..a2281cadefa1 100644
--- a/fs/ufs/namei.c
+++ b/fs/ufs/namei.c
@@ -166,10 +166,6 @@ static int ufs_link (struct dentry * old_dentry, struct inode * dir,
166 int error; 166 int error;
167 167
168 lock_ufs(dir->i_sb); 168 lock_ufs(dir->i_sb);
169 if (inode->i_nlink >= UFS_LINK_MAX) {
170 unlock_ufs(dir->i_sb);
171 return -EMLINK;
172 }
173 169
174 inode->i_ctime = CURRENT_TIME_SEC; 170 inode->i_ctime = CURRENT_TIME_SEC;
175 inode_inc_link_count(inode); 171 inode_inc_link_count(inode);
@@ -183,10 +179,7 @@ static int ufs_link (struct dentry * old_dentry, struct inode * dir,
183static int ufs_mkdir(struct inode * dir, struct dentry * dentry, umode_t mode) 179static int ufs_mkdir(struct inode * dir, struct dentry * dentry, umode_t mode)
184{ 180{
185 struct inode * inode; 181 struct inode * inode;
186 int err = -EMLINK; 182 int err;
187
188 if (dir->i_nlink >= UFS_LINK_MAX)
189 goto out;
190 183
191 lock_ufs(dir->i_sb); 184 lock_ufs(dir->i_sb);
192 inode_inc_link_count(dir); 185 inode_inc_link_count(dir);
@@ -305,11 +298,6 @@ static int ufs_rename(struct inode *old_dir, struct dentry *old_dentry,
305 drop_nlink(new_inode); 298 drop_nlink(new_inode);
306 inode_dec_link_count(new_inode); 299 inode_dec_link_count(new_inode);
307 } else { 300 } else {
308 if (dir_de) {
309 err = -EMLINK;
310 if (new_dir->i_nlink >= UFS_LINK_MAX)
311 goto out_dir;
312 }
313 err = ufs_add_link(new_dentry, old_inode); 301 err = ufs_add_link(new_dentry, old_inode);
314 if (err) 302 if (err)
315 goto out_dir; 303 goto out_dir;
diff --git a/fs/ufs/super.c b/fs/ufs/super.c
index 5246ee3e5607..ac8e279eccc6 100644
--- a/fs/ufs/super.c
+++ b/fs/ufs/super.c
@@ -73,7 +73,6 @@
73#include <stdarg.h> 73#include <stdarg.h>
74 74
75#include <asm/uaccess.h> 75#include <asm/uaccess.h>
76#include <asm/system.h>
77 76
78#include <linux/errno.h> 77#include <linux/errno.h>
79#include <linux/fs.h> 78#include <linux/fs.h>
@@ -1157,16 +1156,17 @@ magic_found:
1157 "fast symlink size (%u)\n", uspi->s_maxsymlinklen); 1156 "fast symlink size (%u)\n", uspi->s_maxsymlinklen);
1158 uspi->s_maxsymlinklen = maxsymlen; 1157 uspi->s_maxsymlinklen = maxsymlen;
1159 } 1158 }
1159 sb->s_max_links = UFS_LINK_MAX;
1160 1160
1161 inode = ufs_iget(sb, UFS_ROOTINO); 1161 inode = ufs_iget(sb, UFS_ROOTINO);
1162 if (IS_ERR(inode)) { 1162 if (IS_ERR(inode)) {
1163 ret = PTR_ERR(inode); 1163 ret = PTR_ERR(inode);
1164 goto failed; 1164 goto failed;
1165 } 1165 }
1166 sb->s_root = d_alloc_root(inode); 1166 sb->s_root = d_make_root(inode);
1167 if (!sb->s_root) { 1167 if (!sb->s_root) {
1168 ret = -ENOMEM; 1168 ret = -ENOMEM;
1169 goto dalloc_failed; 1169 goto failed;
1170 } 1170 }
1171 1171
1172 ufs_setup_cstotal(sb); 1172 ufs_setup_cstotal(sb);
@@ -1180,8 +1180,6 @@ magic_found:
1180 UFSD("EXIT\n"); 1180 UFSD("EXIT\n");
1181 return 0; 1181 return 0;
1182 1182
1183dalloc_failed:
1184 iput(inode);
1185failed: 1183failed:
1186 if (ubh) 1184 if (ubh)
1187 ubh_brelse_uspi (uspi); 1185 ubh_brelse_uspi (uspi);