aboutsummaryrefslogtreecommitdiffstats
path: root/fs/jffs2
diff options
context:
space:
mode:
Diffstat (limited to 'fs/jffs2')
-rw-r--r--fs/jffs2/dir.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/fs/jffs2/dir.c b/fs/jffs2/dir.c
index 8f40ce4f1777..5f243cd63afc 100644
--- a/fs/jffs2/dir.c
+++ b/fs/jffs2/dir.c
@@ -820,7 +820,10 @@ static int jffs2_rename (struct inode *old_dir_i, struct dentry *old_dentry,
820 820
821 if (victim_f) { 821 if (victim_f) {
822 /* There was a victim. Kill it off nicely */ 822 /* There was a victim. Kill it off nicely */
823 drop_nlink(new_dentry->d_inode); 823 if (S_ISDIR(new_dentry->d_inode->i_mode))
824 clear_nlink(new_dentry->d_inode);
825 else
826 drop_nlink(new_dentry->d_inode);
824 /* Don't oops if the victim was a dirent pointing to an 827 /* Don't oops if the victim was a dirent pointing to an
825 inode which didn't exist. */ 828 inode which didn't exist. */
826 if (victim_f->inocache) { 829 if (victim_f->inocache) {