aboutsummaryrefslogtreecommitdiffstats
path: root/fs/jfs/inode.c
diff options
context:
space:
mode:
authorJeff Garzik <jgarzik@pobox.com>2005-09-14 08:19:08 -0400
committerJeff Garzik <jgarzik@pobox.com>2005-09-14 08:19:08 -0400
commit905ec87e93bc9e01b15c60035cd6a50c636cbaef (patch)
tree46fd7618d6511611ffc19eb0dd4d7bc6b90a41c2 /fs/jfs/inode.c
parent1d6ae775d7a948c9575658eb41184fd2e506c0df (diff)
parent2f4ba45a75d6383b4a1201169a808ffea416ffa0 (diff)
Merge /spare/repo/linux-2.6/
Diffstat (limited to 'fs/jfs/inode.c')
-rw-r--r--fs/jfs/inode.c26
1 files changed, 14 insertions, 12 deletions
diff --git a/fs/jfs/inode.c b/fs/jfs/inode.c
index 767c7ecb429e..0ec62d5310db 100644
--- a/fs/jfs/inode.c
+++ b/fs/jfs/inode.c
@@ -128,21 +128,23 @@ void jfs_delete_inode(struct inode *inode)
128{ 128{
129 jfs_info("In jfs_delete_inode, inode = 0x%p", inode); 129 jfs_info("In jfs_delete_inode, inode = 0x%p", inode);
130 130
131 if (is_bad_inode(inode) || 131 if (!is_bad_inode(inode) &&
132 (JFS_IP(inode)->fileset != cpu_to_le32(FILESYSTEM_I))) 132 (JFS_IP(inode)->fileset == cpu_to_le32(FILESYSTEM_I))) {
133 return;
134 133
135 if (test_cflag(COMMIT_Freewmap, inode)) 134 truncate_inode_pages(&inode->i_data, 0);
136 jfs_free_zero_link(inode);
137 135
138 diFree(inode); 136 if (test_cflag(COMMIT_Freewmap, inode))
137 jfs_free_zero_link(inode);
139 138
140 /* 139 diFree(inode);
141 * Free the inode from the quota allocation. 140
142 */ 141 /*
143 DQUOT_INIT(inode); 142 * Free the inode from the quota allocation.
144 DQUOT_FREE_INODE(inode); 143 */
145 DQUOT_DROP(inode); 144 DQUOT_INIT(inode);
145 DQUOT_FREE_INODE(inode);
146 DQUOT_DROP(inode);
147 }
146 148
147 clear_inode(inode); 149 clear_inode(inode);
148} 150}