aboutsummaryrefslogtreecommitdiffstats
path: root/fs/jfs/inode.c
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@g5.osdl.org>2005-09-11 13:14:54 -0400
committerLinus Torvalds <torvalds@g5.osdl.org>2005-09-11 13:14:54 -0400
commit32983696a48a6c41d99f3eca82ba7510a552d843 (patch)
treeab793556d6a9d2d4e0f366eed58e74b8e705cd8c /fs/jfs/inode.c
parentce1289adeb67b5480f35cb257cbf6e9881153783 (diff)
parent1d15b10f95d4c4295a0f2288c7be7b6a005490da (diff)
Merge branch 'for-linus' from kernel.org:/.../shaggy/jfs-2.6 manually
Clash due to new delete_inode behavior (the filesystem now needs to do the truncate_inode_pages() call itself). Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'fs/jfs/inode.c')
-rw-r--r--fs/jfs/inode.c26
1 files changed, 13 insertions, 13 deletions
diff --git a/fs/jfs/inode.c b/fs/jfs/inode.c
index cff352f4ec18..0ec62d5310db 100644
--- a/fs/jfs/inode.c
+++ b/fs/jfs/inode.c
@@ -128,23 +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 truncate_inode_pages(&inode->i_data, 0); 134 truncate_inode_pages(&inode->i_data, 0);
136 135
137 if (test_cflag(COMMIT_Freewmap, inode)) 136 if (test_cflag(COMMIT_Freewmap, inode))
138 jfs_free_zero_link(inode); 137 jfs_free_zero_link(inode);
139 138
140 diFree(inode); 139 diFree(inode);
141 140
142 /* 141 /*
143 * Free the inode from the quota allocation. 142 * Free the inode from the quota allocation.
144 */ 143 */
145 DQUOT_INIT(inode); 144 DQUOT_INIT(inode);
146 DQUOT_FREE_INODE(inode); 145 DQUOT_FREE_INODE(inode);
147 DQUOT_DROP(inode); 146 DQUOT_DROP(inode);
147 }
148 148
149 clear_inode(inode); 149 clear_inode(inode);
150} 150}