--- /dev/null
+From stable-bounces@linux.kernel.org Tue Sep 13 01:19:12 2005
+Date: Tue, 13 Sep 2005 04:16:09 -0400
+From: Chuck Ebbert <76306.1226@compuserve.com>
+To: linux-stable <stable@kernel.org>
+Cc: Dave Kleikamp <shaggy@austin.ibm.com>
+Subject: jfs: jfs_delete_inode must call clear_inode
+
+From: Dave Kleikamp <shaggy@austin.ibm.com>
+
+JFS: jfs_delete_inode should always call clear_inode.
+
+> From Chuck Ebbert:
+I'm submitting this patch for -stable:
+
+ - it reportedly fixes an oops
+ - it's already in 2.6.13-git
+
+Signed-off-by: Dave Kleikamp <shaggy@austin.ibm.com>
+Signed-off-by: Chris Wright <chrisw@osdl.org>
+---
+ fs/jfs/inode.c | 24 ++++++++++++------------
+ 1 files changed, 12 insertions(+), 12 deletions(-)
+
+Index: linux-2.6.13.y/fs/jfs/inode.c
+===================================================================
+--- linux-2.6.13.y.orig/fs/jfs/inode.c
++++ linux-2.6.13.y/fs/jfs/inode.c
+@@ -128,21 +128,21 @@ void jfs_delete_inode(struct inode *inod
+ {
+ jfs_info("In jfs_delete_inode, inode = 0x%p", inode);
+
+- if (is_bad_inode(inode) ||
+- (JFS_IP(inode)->fileset != cpu_to_le32(FILESYSTEM_I)))
+- return;
++ if (!is_bad_inode(inode) &&
++ (JFS_IP(inode)->fileset == cpu_to_le32(FILESYSTEM_I))) {
+
+- if (test_cflag(COMMIT_Freewmap, inode))
+- jfs_free_zero_link(inode);
++ if (test_cflag(COMMIT_Freewmap, inode))
++ jfs_free_zero_link(inode);
+
+- diFree(inode);
++ diFree(inode);
+
+- /*
+- * Free the inode from the quota allocation.
+- */
+- DQUOT_INIT(inode);
+- DQUOT_FREE_INODE(inode);
+- DQUOT_DROP(inode);
++ /*
++ * Free the inode from the quota allocation.
++ */
++ DQUOT_INIT(inode);
++ DQUOT_FREE_INODE(inode);
++ DQUOT_DROP(inode);
++ }
+
+ clear_inode(inode);
+ }