2005-09-15 01:04:46

by Chris Wright

[permalink] [raw]
Subject: [PATCH 08/11] jfs: jfs_delete_inode must call clear_inode

-stable review patch. If anyone has any objections, please let us know.
------------------

> From Chuck Ebbert:
I'm submitting this patch for -stable:

- it reportedly fixes an oops
- it's already in 2.6.13-git

JFS: jfs_delete_inode should always call clear_inode.

Signed-off-by: Dave Kleikamp <[email protected]>
Signed-off-by: Chris Wright <[email protected]>
---
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);
}

--