X-Git-Url: https://git.whamcloud.com/?a=blobdiff_plain;f=lustre%2Fkernel_patches%2Fpatches%2Fext-2.4-patch-4.patch;fp=lustre%2Fkernel_patches%2Fpatches%2Fext-2.4-patch-4.patch;h=0000000000000000000000000000000000000000;hb=191061ee668400324f4505cf498f1ee2d57e4962;hp=4c8d4fa31a965153d1e68740e1d53bd1b396c91b;hpb=86f8aaddd53ca75bdf3f4d5c1c92536be2da1415;p=fs%2Flustre-release.git diff --git a/lustre/kernel_patches/patches/ext-2.4-patch-4.patch b/lustre/kernel_patches/patches/ext-2.4-patch-4.patch deleted file mode 100644 index 4c8d4fa..0000000 --- a/lustre/kernel_patches/patches/ext-2.4-patch-4.patch +++ /dev/null @@ -1,52 +0,0 @@ -# This is a BitKeeper generated patch for the following project: -# Project Name: Linux kernel tree -# -# namei.c | 21 ++++++++++++++++++++- -# 1 files changed, 20 insertions(+), 1 deletion(-) -# -# The following is the BitKeeper ChangeSet Log -# -------------------------------------------- -# 02/11/07 tytso@snap.thunk.org 1.779 -# Fix ext3 htree rename bug. -# -# This fixes an ext3 htree bug pointed out by Christopher Li; if -# adding the new name to the directory causes a split, this can cause -# the directory entry containing the old name to move to another -# block, and then the removal of the old name will fail. -# -------------------------------------------- -# -diff -Nru a/fs/ext3/namei.c b/fs/ext3/namei.c ---- a/fs/ext3/namei.c Thu Nov 7 10:57:49 2002 -+++ b/fs/ext3/namei.c Thu Nov 7 10:57:49 2002 -@@ -2173,7 +2173,30 @@ - /* - * ok, that's it - */ -- ext3_delete_entry(handle, old_dir, old_de, old_bh); -+ if (le32_to_cpu(old_de->inode) != old_inode->i_ino || -+ old_de->name_len != old_dentry->d_name.len || -+ strncmp(old_de->name, old_dentry->d_name.name, old_de->name_len) || -+ (retval = ext3_delete_entry(handle, old_dir, -+ old_de, old_bh)) == -ENOENT) { -+ /* old_de could have moved from under us during htree split, so -+ * make sure that we are deleting the right entry. We might -+ * also be pointing to a stale entry in the unused part of -+ * old_bh so just checking inum and the name isn't enough. */ -+ struct buffer_head *old_bh2; -+ struct ext3_dir_entry_2 *old_de2; -+ -+ old_bh2 = ext3_find_entry(old_dentry, &old_de2); -+ if (old_bh2) { -+ retval = ext3_delete_entry(handle, old_dir, -+ old_de2, old_bh2); -+ brelse(old_bh2); -+ } -+ } -+ if (retval) { -+ ext3_warning(old_dir->i_sb, "ext3_rename", -+ "Deleting old file (%lu), %d, error=%d", -+ old_dir->i_ino, old_dir->i_nlink, retval); -+ } - - if (new_inode) { - new_inode->i_nlink--;