From a98d71564498663d6d4f2da4117a898746fa73d1 Mon Sep 17 00:00:00 2001 From: adilger Date: Tue, 14 Sep 2004 22:36:54 +0000 Subject: [PATCH] Merge b1_4_smallfix from b1_4 (20040914_1215) (land b_confobd, liblustre fixes) --- lustre/kernel_patches/patches/vfs_intent-2.4.20-hp.patch | 9 ++++++++- lustre/kernel_patches/patches/vfs_intent-2.4.21-suse2.patch | 9 ++++++++- 2 files changed, 16 insertions(+), 2 deletions(-) diff --git a/lustre/kernel_patches/patches/vfs_intent-2.4.20-hp.patch b/lustre/kernel_patches/patches/vfs_intent-2.4.20-hp.patch index 2af2a04..8014b63 100644 --- a/lustre/kernel_patches/patches/vfs_intent-2.4.20-hp.patch +++ b/lustre/kernel_patches/patches/vfs_intent-2.4.20-hp.patch @@ -357,7 +357,7 @@ Index: linux/fs/namei.c break; } goto return_base; -@@ -633,6 +687,27 @@ +@@ -633,6 +687,34 @@ * Check the cached dentry for staleness. */ dentry = nd->dentry; @@ -381,6 +381,13 @@ Index: linux/fs/namei.c + } + if (!nd->dentry->d_inode) + goto no_inode; ++ if (lookup_flags & LOOKUP_DIRECTORY) { ++ err = -ENOTDIR; ++ if (!nd->dentry->d_inode->i_op || ++ (!nd->dentry->d_inode->i_op->lookup && ++ !nd->dentry->d_inode->i_op->lookup_it)) ++ break; ++ } + } else if (dentry && dentry->d_op && dentry->d_op->d_revalidate) { err = -ESTALE; diff --git a/lustre/kernel_patches/patches/vfs_intent-2.4.21-suse2.patch b/lustre/kernel_patches/patches/vfs_intent-2.4.21-suse2.patch index 85f8cf4..aca56c7 100644 --- a/lustre/kernel_patches/patches/vfs_intent-2.4.21-suse2.patch +++ b/lustre/kernel_patches/patches/vfs_intent-2.4.21-suse2.patch @@ -300,7 +300,7 @@ Index: linux-2.4.21-x86_64/fs/namei.c break; } goto return_base; -@@ -643,6 +680,27 @@ +@@ -643,6 +680,34 @@ * Check the cached dentry for staleness. */ dentry = nd->dentry; @@ -324,6 +324,13 @@ Index: linux-2.4.21-x86_64/fs/namei.c + } + if (!nd->dentry->d_inode) + goto no_inode; ++ if (lookup_flags & LOOKUP_DIRECTORY) { ++ err = -ENOTDIR; ++ if (!nd->dentry->d_inode->i_op || ++ (!nd->dentry->d_inode->i_op->lookup && ++ !nd->dentry->d_inode->i_op->lookup_it)) ++ break; ++ } + } else if (dentry && dentry->d_op && dentry->d_op->d_revalidate) { err = -ESTALE; -- 1.8.3.1