From: Andrew Morton Signed-off-by: Andrew Morton --- fs/jfs/inode.c | 26 +++++++++++++------------- 1 files changed, 13 insertions(+), 13 deletions(-) diff -puN fs/jfs/inode.c~git-jfs-fixup fs/jfs/inode.c --- devel/fs/jfs/inode.c~git-jfs-fixup 2005-08-31 17:47:20.000000000 -0700 +++ devel-akpm/fs/jfs/inode.c 2005-08-31 17:47:56.000000000 -0700 @@ -128,23 +128,23 @@ 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))) { - truncate_inode_pages(&inode->i_data, 0); + truncate_inode_pages(&inode->i_data, 0); - 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); } _