--- linus.orig/fs/reiserfs/stree.c Thu, 13 Dec 2001 11:06:51 -0500 +++ linus/fs/reiserfs/stree.c Fri, 01 Feb 2002 13:35:29 -0500 @@ -1700,8 +1700,7 @@ } if ( n_file_size == 0 || n_file_size < n_new_file_size ) { - pathrelse(&s_search_path); - return; + goto update_and_out ; } /* Update key to search for the last file item. */ @@ -1754,6 +1753,7 @@ "PAP-5680: truncate did not finish: new_file_size %Ld, current %Ld, oid %d\n", n_new_file_size, n_file_size, s_item_key.on_disk_key.k_objectid); +update_and_out: if (update_timestamps) { // this is truncate, not file closing p_s_inode->i_mtime = p_s_inode->i_ctime = CURRENT_TIME;