From d1adbf38513115b5c3f74323fa90e53bff74533c Mon Sep 17 00:00:00 2001 From: Hans Reiser Date: Mon, 11 Feb 2002 05:15:52 -0800 Subject: [PATCH] [PATCH] 08-truncate_update_mtime.diff truncate now correctly sets mtime always. Before this fix, mtime was not updated if truncated file was of zero length or if new filesize was bigger then old. Problem was noticed by Matthias Andree --- fs/reiserfs/stree.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/fs/reiserfs/stree.c b/fs/reiserfs/stree.c index 43649b028aed..ec60bf9ac96b 100644 --- a/fs/reiserfs/stree.c +++ b/fs/reiserfs/stree.c @@ -1705,8 +1705,7 @@ void reiserfs_do_truncate (struct reiserfs_transaction_handle *th, } 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. */ @@ -1759,6 +1758,7 @@ void reiserfs_do_truncate (struct reiserfs_transaction_handle *th, "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; -- 2.39.5