From 292baa08715c65c1b74eb4c9ebf62950f4cc9d16 Mon Sep 17 00:00:00 2001 From: adilger Date: Tue, 27 Apr 2004 22:05:22 +0000 Subject: [PATCH] Don't drop error code on revalidate. b=3285 --- lustre/kernel_patches/patches/lustre_version.patch | 2 +- lustre/kernel_patches/patches/vfs_intent-2.4.18-18-chaos65.patch | 2 +- lustre/kernel_patches/patches/vfs_intent-2.4.19-pre1.patch | 2 +- lustre/kernel_patches/patches/vfs_intent-2.4.19-suse.patch | 2 +- lustre/kernel_patches/patches/vfs_intent-2.4.20-hp.patch | 2 +- lustre/kernel_patches/patches/vfs_intent-2.4.20-rh.patch | 2 +- lustre/kernel_patches/patches/vfs_intent-2.4.20-vanilla.patch | 2 +- lustre/kernel_patches/patches/vfs_intent-2.4.21-chaos.patch | 4 ++-- lustre/kernel_patches/patches/vfs_intent-2.4.21-suse-171.patch | 6 +++--- lustre/kernel_patches/patches/vfs_intent-2.4.21-suse2.patch | 4 ++-- lustre/kernel_patches/patches/vfs_intent-2.4.22-rh.patch | 4 ++-- lustre/kernel_patches/patches/vfs_intent-2.6-suse.patch | 2 +- lustre/mdc/mdc_locks.c | 3 +++ lustre/obdclass/class_obd.c | 2 +- 14 files changed, 21 insertions(+), 18 deletions(-) diff --git a/lustre/kernel_patches/patches/lustre_version.patch b/lustre/kernel_patches/patches/lustre_version.patch index 7ebb838..77c5531 100644 --- a/lustre/kernel_patches/patches/lustre_version.patch +++ b/lustre/kernel_patches/patches/lustre_version.patch @@ -7,6 +7,6 @@ --- /dev/null Fri Aug 30 17:31:37 2002 +++ linux-2.4.18-18.8.0-l12-braam/include/linux/lustre_version.h Thu Feb 13 07:58:33 2003 @@ -0,0 +1 @@ -+#define LUSTRE_KERNEL_VERSION 34 ++#define LUSTRE_KERNEL_VERSION 35 _ diff --git a/lustre/kernel_patches/patches/vfs_intent-2.4.18-18-chaos65.patch b/lustre/kernel_patches/patches/vfs_intent-2.4.18-18-chaos65.patch index dd07ef3..a4381f5 100644 --- a/lustre/kernel_patches/patches/vfs_intent-2.4.18-18-chaos65.patch +++ b/lustre/kernel_patches/patches/vfs_intent-2.4.18-18-chaos65.patch @@ -471,7 +471,7 @@ Index: linux-2.4.18-p4smp/fs/namei.c + if (err) + break; + new = real_lookup(dentry->d_parent, -+ &dentry->d_name, 0, NULL); ++ &dentry->d_name, 0, it); + d_invalidate(dentry); + dput(dentry); + if (IS_ERR(new)) { diff --git a/lustre/kernel_patches/patches/vfs_intent-2.4.19-pre1.patch b/lustre/kernel_patches/patches/vfs_intent-2.4.19-pre1.patch index 7c4ea56..fb75b0a 100644 --- a/lustre/kernel_patches/patches/vfs_intent-2.4.19-pre1.patch +++ b/lustre/kernel_patches/patches/vfs_intent-2.4.19-pre1.patch @@ -450,7 +450,7 @@ Index: linux-2.4.19-pre1/fs/namei.c + if (err) + break; + new = real_lookup(dentry->d_parent, -+ &dentry->d_name, 0, NULL); ++ &dentry->d_name, 0, it); + d_invalidate(dentry); + dput(dentry); + if (IS_ERR(new)) { diff --git a/lustre/kernel_patches/patches/vfs_intent-2.4.19-suse.patch b/lustre/kernel_patches/patches/vfs_intent-2.4.19-suse.patch index 7741be4..8dafec7 100644 --- a/lustre/kernel_patches/patches/vfs_intent-2.4.19-suse.patch +++ b/lustre/kernel_patches/patches/vfs_intent-2.4.19-suse.patch @@ -433,7 +433,7 @@ Index: linux-2.4.19.SuSE/fs/namei.c + if (err) + break; + new = real_lookup(dentry->d_parent, -+ &dentry->d_name, 0, NULL); ++ &dentry->d_name, 0, it); + d_invalidate(dentry); + dput(dentry); + if (IS_ERR(new)) { 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 8585701..9cc6f7e 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 @@ -487,7 +487,7 @@ Index: linux/fs/namei.c + if (err) + break; + new = real_lookup(dentry->d_parent, -+ &dentry->d_name, 0, NULL); ++ &dentry->d_name, 0, it); + d_invalidate(dentry); + dput(dentry); + if (IS_ERR(new)) { diff --git a/lustre/kernel_patches/patches/vfs_intent-2.4.20-rh.patch b/lustre/kernel_patches/patches/vfs_intent-2.4.20-rh.patch index 409c8f0..2179450 100644 --- a/lustre/kernel_patches/patches/vfs_intent-2.4.20-rh.patch +++ b/lustre/kernel_patches/patches/vfs_intent-2.4.20-rh.patch @@ -377,7 +377,7 @@ Index: linux-2.4.20/fs/namei.c + if (err) + break; + new = real_lookup(dentry->d_parent, -+ &dentry->d_name, 0, NULL); ++ &dentry->d_name, 0, it); + d_invalidate(dentry); + dput(dentry); + if (IS_ERR(new)) { diff --git a/lustre/kernel_patches/patches/vfs_intent-2.4.20-vanilla.patch b/lustre/kernel_patches/patches/vfs_intent-2.4.20-vanilla.patch index 1ef0b01..9e786b2 100644 --- a/lustre/kernel_patches/patches/vfs_intent-2.4.20-vanilla.patch +++ b/lustre/kernel_patches/patches/vfs_intent-2.4.20-vanilla.patch @@ -424,7 +424,7 @@ Index: linux-2.4.24/fs/namei.c + if (err) + break; + new = real_lookup(dentry->d_parent, -+ &dentry->d_name, 0, NULL); ++ &dentry->d_name, 0, it); + d_invalidate(dentry); + dput(dentry); + if (IS_ERR(new)) { diff --git a/lustre/kernel_patches/patches/vfs_intent-2.4.21-chaos.patch b/lustre/kernel_patches/patches/vfs_intent-2.4.21-chaos.patch index 09ef2f9..c6e2ce6 100644 --- a/lustre/kernel_patches/patches/vfs_intent-2.4.21-chaos.patch +++ b/lustre/kernel_patches/patches/vfs_intent-2.4.21-chaos.patch @@ -309,11 +309,11 @@ Index: linux-ia64/fs/namei.c + if (!dentry->d_op->d_revalidate_it(dentry, 0, it)) { + struct dentry *new; + err = permission(dentry->d_parent->d_inode, -+ MAY_EXEC); ++ MAY_EXEC); + if (err) + break; + new = real_lookup(dentry->d_parent, -+ &dentry->d_name, 0, NULL); ++ &dentry->d_name, 0, it); + d_invalidate(dentry); + dput(dentry); + if (IS_ERR(new)) { diff --git a/lustre/kernel_patches/patches/vfs_intent-2.4.21-suse-171.patch b/lustre/kernel_patches/patches/vfs_intent-2.4.21-suse-171.patch index 754e756..6f79f6d 100644 --- a/lustre/kernel_patches/patches/vfs_intent-2.4.21-suse-171.patch +++ b/lustre/kernel_patches/patches/vfs_intent-2.4.21-suse-171.patch @@ -309,14 +309,14 @@ Index: linux-2.4.21-171/fs/namei.c + if (!dentry->d_op->d_revalidate_it(dentry, 0, it)) { + struct dentry *new; + err = permission(dentry->d_parent->d_inode, -+ MAY_EXEC); ++ MAY_EXEC); + if (err) + break; + new = real_lookup(dentry->d_parent, -+ &dentry->d_name, 0, NULL); ++ &dentry->d_name, 0, it); + d_invalidate(dentry); + dput(dentry); -+ if (IS_ERR(new)) { ++ if (IS_ERR(new)) { + err = PTR_ERR(new); + break; + } 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 ec3b64c..0342e3f 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 @@ -309,11 +309,11 @@ Index: linux-2.4.21-x86_64/fs/namei.c + if (!dentry->d_op->d_revalidate_it(dentry, 0, it)) { + struct dentry *new; + err = permission(dentry->d_parent->d_inode, -+ MAY_EXEC); ++ MAY_EXEC); + if (err) + break; + new = real_lookup(dentry->d_parent, -+ &dentry->d_name, 0, NULL); ++ &dentry->d_name, 0, it); + d_invalidate(dentry); + dput(dentry); + if (IS_ERR(new)) { diff --git a/lustre/kernel_patches/patches/vfs_intent-2.4.22-rh.patch b/lustre/kernel_patches/patches/vfs_intent-2.4.22-rh.patch index 29ad74f..6f44b00 100644 --- a/lustre/kernel_patches/patches/vfs_intent-2.4.22-rh.patch +++ b/lustre/kernel_patches/patches/vfs_intent-2.4.22-rh.patch @@ -297,11 +297,11 @@ + if (!dentry->d_op->d_revalidate_it(dentry, 0, it)) { + struct dentry *new; + err = permission(dentry->d_parent->d_inode, -+ MAY_EXEC); ++ MAY_EXEC); + if (err) + break; + new = real_lookup(dentry->d_parent, -+ &dentry->d_name, 0, NULL); ++ &dentry->d_name, 0, it); + d_invalidate(dentry); + dput(dentry); + if (IS_ERR(new)) { diff --git a/lustre/kernel_patches/patches/vfs_intent-2.6-suse.patch b/lustre/kernel_patches/patches/vfs_intent-2.6-suse.patch index f40f808..ecc93fd 100644 --- a/lustre/kernel_patches/patches/vfs_intent-2.6-suse.patch +++ b/lustre/kernel_patches/patches/vfs_intent-2.6-suse.patch @@ -106,7 +106,7 @@ Index: linux-2.6.4-51.0/fs/namei.c + revalidate_again: + if (!dentry->d_op->d_revalidate(dentry, nd)) { + struct dentry *new; -+ if ((err = permission(dentry->d_parent->d_inode, MAY_EXEC,nd))) ++ if ((err = permission(dentry->d_parent->d_inode, MAY_EXEC, nd))) + return err; + new = real_lookup(dentry->d_parent, &dentry->d_name, nd); + d_invalidate(dentry); diff --git a/lustre/mdc/mdc_locks.c b/lustre/mdc/mdc_locks.c index 2f9c27b..0fd4b37 100644 --- a/lustre/mdc/mdc_locks.c +++ b/lustre/mdc/mdc_locks.c @@ -342,6 +342,9 @@ int mdc_enqueue(struct obd_export *exp, spin_unlock(&req->rq_lock); } + DEBUG_REQ(D_RPCTRACE, req, "disposition: %x, status: %d", + it->d.lustre.it_disposition, it->d.lustre.it_status); + /* We know what to expect, so we do any byte flipping required here */ LASSERT(reply_buffers == 4 || reply_buffers == 3 || reply_buffers == 1); if (reply_buffers >= 3) { diff --git a/lustre/obdclass/class_obd.c b/lustre/obdclass/class_obd.c index f525c55..0c4ab42 100644 --- a/lustre/obdclass/class_obd.c +++ b/lustre/obdclass/class_obd.c @@ -646,7 +646,7 @@ static void cleanup_obdclass(void) * kernel patch */ #include #define LUSTRE_MIN_VERSION 28 -#define LUSTRE_MAX_VERSION 34 +#define LUSTRE_MAX_VERSION 35 #if (LUSTRE_KERNEL_VERSION < LUSTRE_MIN_VERSION) # error Cannot continue: Your Lustre kernel patch is older than the sources #elif (LUSTRE_KERNEL_VERSION > LUSTRE_MAX_VERSION) -- 1.8.3.1