--- x/fs/reiserfs/stree.c.~1~	2003-07-15 02:05:51.000000000 +0200
+++ x/fs/reiserfs/stree.c	2003-07-17 06:14:04.000000000 +0200
@@ -1773,6 +1773,7 @@ void reiserfs_do_truncate (struct reiser
 	  journal_begin(th, p_s_inode->i_sb, orig_len_alloc) ;
 	  reiserfs_update_inode_transaction(p_s_inode) ;
 	}
+	cond_resched();
     } while ( n_file_size > ROUND_UP (n_new_file_size) &&
 	      search_for_position_by_key(p_s_inode->i_sb, &s_item_key, &s_search_path) == POSITION_FOUND )  ;