|
@@ -641,11 +641,6 @@ static int ocfs2_link(struct dentry *old_dentry,
|
|
|
goto bail;
|
|
|
}
|
|
|
|
|
|
- if (inode->i_nlink >= OCFS2_LINK_MAX) {
|
|
|
- err = -EMLINK;
|
|
|
- goto bail;
|
|
|
- }
|
|
|
-
|
|
|
handle = ocfs2_alloc_handle(osb);
|
|
|
if (handle == NULL) {
|
|
|
err = -ENOMEM;
|
|
@@ -659,6 +654,11 @@ static int ocfs2_link(struct dentry *old_dentry,
|
|
|
goto bail;
|
|
|
}
|
|
|
|
|
|
+ if (!dir->i_nlink) {
|
|
|
+ err = -ENOENT;
|
|
|
+ goto bail;
|
|
|
+ }
|
|
|
+
|
|
|
err = ocfs2_check_dir_for_entry(dir, dentry->d_name.name,
|
|
|
dentry->d_name.len);
|
|
|
if (err)
|