From 5f5a5ec8805598bb59fa9bb0a8d777c1cde95a35 Mon Sep 17 00:00:00 2001 From: nic Date: Thu, 18 Mar 2004 01:31:33 +0000 Subject: [PATCH] b=2123 add dcache_refcount_debug patch to hp-pnnl series --- .../patches/dcache_refcount_debug.patch | 24 ++++++++++++++++++++++ lustre/kernel_patches/series/hp-pnnl-2.4.20 | 1 + 2 files changed, 25 insertions(+) create mode 100644 lustre/kernel_patches/patches/dcache_refcount_debug.patch diff --git a/lustre/kernel_patches/patches/dcache_refcount_debug.patch b/lustre/kernel_patches/patches/dcache_refcount_debug.patch new file mode 100644 index 0000000..0eddc23 --- /dev/null +++ b/lustre/kernel_patches/patches/dcache_refcount_debug.patch @@ -0,0 +1,24 @@ +--- ./fs/dcache.c.orig 2004-01-30 14:54:45.000000000 -0700 ++++ ./fs/dcache.c 2004-02-20 14:49:18.000000000 -0700 +@@ -348,8 +348,20 @@ + dentry_stat.nr_unused--; + + /* Unused dentry with a count? */ +- if (atomic_read(&dentry->d_count)) ++ if (atomic_read(&dentry->d_count)) { ++ struct inode *inode = dentry->d_inode; ++ printk(KERN_CRIT "dentry %*s %p->%lu/%u(%p/%s) ct %d\n", ++ dentry->d_name.len, dentry->d_name.name, dentry, ++ inode ? inode->i_ino : 0, ++ inode ? inode->i_generation : 0, inode, ++ inode ? inode->i_sb ? ++ inode->i_sb->s_type->name : "" : "", ++ atomic_read(&dentry->d_count)); ++ spin_unlock(&dcache_lock); ++ set_task_state(current, TASK_UNINTERRUPTIBLE); ++ schedule(); + BUG(); ++ } + + prune_one_dentry(dentry); + if (!--count) diff --git a/lustre/kernel_patches/series/hp-pnnl-2.4.20 b/lustre/kernel_patches/series/hp-pnnl-2.4.20 index f1130c6..cb9c74c 100644 --- a/lustre/kernel_patches/series/hp-pnnl-2.4.20 +++ b/lustre/kernel_patches/series/hp-pnnl-2.4.20 @@ -43,3 +43,4 @@ ext3-xattr-ptr-arith-fix.patch procfs-ndynamic-2.4.patch ext3-truncate-buffer-head.patch inode-max-readahead-2.4.24.patch +dcache_refcount_debug.patch -- 1.8.3.1