From e7ffe4b5193aad1c3ed4ac85de07324eecbd848a Mon Sep 17 00:00:00 2001 From: adilger Date: Mon, 29 Sep 2003 21:26:48 +0000 Subject: [PATCH] Fix ext3 htree directory corruption in this combined htree patch. b=1516 --- lustre/kernel_patches/patches/ext3-htree.patch | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/lustre/kernel_patches/patches/ext3-htree.patch b/lustre/kernel_patches/patches/ext3-htree.patch index 7054bfd..adae2c2e 100644 --- a/lustre/kernel_patches/patches/ext3-htree.patch +++ b/lustre/kernel_patches/patches/ext3-htree.patch @@ -1396,7 +1396,7 @@ } d_add(dentry, inode); return NULL; -@@ -238,6 +964,300 @@ static inline void ext3_set_de_type(stru +@@ -238,6 +964,301 @@ static inline void ext3_set_de_type(stru de->file_type = ext3_type_by_mode[(mode & S_IFMT)>>S_SHIFT]; } @@ -1657,7 +1657,8 @@ + data1 = bh2->b_data; + + /* The 0th block becomes the root, move the dirents out */ -+ de = (struct ext3_dir_entry_2 *) &root->info; ++ de = &root->dotdot; ++ de = (struct ext3_dir_entry_2 *) ((char *)de + de->rec_len); + len = ((char *) root) + blocksize - (char *) de; + memcpy (data1, de, len); + de = (struct ext3_dir_entry_2 *) data1; -- 1.8.3.1