 truncate_inode_pages(&inode->i_data, 0); 
void ext3_delete_inode (struct inode * inode){	handle_t *handle;	if (is_bad_inode(inode))		goto no_delete;	handle = start_transaction(inode);	if (IS_ERR(handle)) {		/* If we're going to skip the normal cleanup, we still		 * need to make sure that the in-core orphan linked list		 * is properly cleaned up. */		ext3_orphan_del(NULL, inode);		goto no_delete;	}	if (IS_SYNC(inode))		handle->h_sync = 1;	inode->i_size = 0;	if (inode->i_blocks)		ext3_truncate(inode);	/*	 * Kill off the orphan record which ext3_truncate created.	 * AKPM: I think this can be inside the above `if'.	 * Note that ext3_orphan_del() has to be able to cope with the	 * deletion of a non-existent orphan - this is because we don't	 * know if ext3_truncate() actually created an orphan record.	 * (Well, we could do this if we need to, but heck - it works)	 */	ext3_orphan_del(handle, inode);	EXT3_I(inode)->i_dtime	= get_seconds();	/* 	 * One subtle ordering requirement: if anything has gone wrong	 * (transaction abort, IO errors, whatever), then we can still	 * do these next steps (the fs will already have been marked as	 * having errors), but we can't free the inode if the mark_dirty	 * fails.  	 */	if (ext3_mark_inode_dirty(handle, inode))		/* If that failed, just do the required in-core inode clear. */		clear_inode(inode);	else		ext3_free_inode(handle, inode);	ext3_journal_stop(handle);	return;no_delete:	clear_inode(inode);	/* We must guarantee clearing of inode... */}
10457	/local/tlutelli/issta_data/temp/c/2005_temp/2005/10457/fef266580e5cf897a1b63528fc6b1185e2d6bb87/inode.c/clean/fs/ext3/inode.c