JFS had two incorrect calls to d_delete in jfs_rmdir and jfs_unlink. They
were needed in the 2.2 kernel, and somehow they didn't do any apparent
harm until now.
Here is that patch I sent to Linus:
# This is a BitKeeper generated patch for the following project:
# Project Name: Linux kernel tree
# This patch format is intended for GNU patch command version 2.5 or higher.
# This patch includes the following deltas:
# ChangeSet 1.511 -> 1.512
# fs/jfs/namei.c 1.13 -> 1.14
#
# The following is the BitKeeper ChangeSet Log
# --------------------------------------------
# 02/07/29 shaggy@kleikamp.austin.ibm.com 1.512
# Remove d_delete call from jfs_rmdir and jfs_unlink
#
# jfs_rmdir and jfs_unlink have always called d_delete, but it hasn't
# caused a problem until 2.5.28. The call is an artifact of the 2.2
# kernel, which had gone unnoticed in 2.4 and 2.5.
# --------------------------------------------
#
diff -Nru a/fs/jfs/namei.c b/fs/jfs/namei.c
--- a/fs/jfs/namei.c Mon Jul 29 09:18:53 2002
+++ b/fs/jfs/namei.c Mon Jul 29 09:18:53 2002
@@ -399,8 +399,6 @@
IWRITE_UNLOCK(dip);
- d_delete(dentry);
-
out2:
free_UCSname(&dname);
@@ -542,8 +540,6 @@
}
IWRITE_UNLOCK(dip);
-
- d_delete(dentry);
out1:
free_UCSname(&dname);
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/