--- 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 ) ;