vfs: check i_nlink limits in vfs_{mkdir,rename_dir,link}
[linux-2.6-block.git] / fs / exofs / namei.c
index 9dbf0c30103033d1730c8d651d0fd9e0f87de2e0..fc7161d6bf6bb7d816a18314dab290e9b7cffda1 100644 (file)
@@ -143,9 +143,6 @@ static int exofs_link(struct dentry *old_dentry, struct inode *dir,
 {
        struct inode *inode = old_dentry->d_inode;
 
-       if (inode->i_nlink >= EXOFS_LINK_MAX)
-               return -EMLINK;
-
        inode->i_ctime = CURRENT_TIME;
        inode_inc_link_count(inode);
        ihold(inode);
@@ -156,10 +153,7 @@ static int exofs_link(struct dentry *old_dentry, struct inode *dir,
 static int exofs_mkdir(struct inode *dir, struct dentry *dentry, umode_t mode)
 {
        struct inode *inode;
-       int err = -EMLINK;
-
-       if (dir->i_nlink >= EXOFS_LINK_MAX)
-               goto out;
+       int err;
 
        inode_inc_link_count(dir);
 
@@ -275,11 +269,6 @@ static int exofs_rename(struct inode *old_dir, struct dentry *old_dentry,
                if (err)
                        goto out_dir;
        } else {
-               if (dir_de) {
-                       err = -EMLINK;
-                       if (new_dir->i_nlink >= EXOFS_LINK_MAX)
-                               goto out_dir;
-               }
                err = exofs_add_link(new_dentry, old_inode);
                if (err)
                        goto out_dir;