[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <18430.4635.195999.326984@frecb006361.adech.frec.bull.fr>
Date: Thu, 10 Apr 2008 15:11:55 +0200
From: Solofo.Ramangalahy@...l.net
To: cmm@...ibm.com
Cc: linux-ext4@...r.kernel.org, Szabolcs Szakacsits <szaka@...s-3g.com>
Subject: Re: [PATCH] ext4: update ctime and mtime for truncate with extents.
Mingming Cao writes:
> Shouldn't we mark inode dirty after the ctime and and mtime is changed?
I should have been more careful when mimicing the non-extent case or
examine more closely the patch queue (I am just noticing
ext4-update-mtime-and-ctime-on-rename.patch). I honestly do not have
a definitive answer now, but I trust you and Jan more than me.
... so, yes, we should.
Looking back at the code, there is actually a pattern
ext4_current_time() followed by ext4_mark_inode_dirty(), but I do not
think it is worth a refactoring.
Attached the updated patch.
Thanks and sorry for the trouble,
--
solofo
ext4: update ctime and mtime for truncate with extents.
From: Solofo Ramangalahy <Solofo.Ramangalahy@...l.net>
The recently announced "Linux POSIX file system test suite"
http://ntfs3g.org/sw/qa/pjd-fstest-20080402.tgz catched a truncate
issue when using extents:
mtime and ctime are not updated despite truncate being successful.
This is the single issue catched with "default" ext4 (mkfs and mount
with minimal options).
The testsuite does not report failure with -o noextents.
With the following patch, all tests of the testsuite passes:
Signed-off-by: Solofo Ramangalahy <Solofo.Ramangalahy@...l.net>
---
fs/ext4/extents.c | 2 ++
1 file changed, 2 insertions(+)
Index: linux-2.6.25-rc8-git5-ext4-52c7a8013ad2c452551a68ff4daab4bacbe28f9d/fs/ext4/extents.c
===================================================================
--- linux-2.6.25-rc8-git5-ext4-52c7a8013ad2c452551a68ff4daab4bacbe28f9d.orig/fs/ext4/extents.c
+++ linux-2.6.25-rc8-git5-ext4-52c7a8013ad2c452551a68ff4daab4bacbe28f9d/fs/ext4/extents.c
@@ -2947,6 +2947,8 @@ out_stop:
ext4_orphan_del(handle, inode);
up_write(&EXT4_I(inode)->i_data_sem);
+ inode->i_mtime = inode->i_ctime = ext4_current_time(inode);
+ ext4_mark_inode_dirty(handle, inode);
ext4_journal_stop(handle);
}
--
To unsubscribe from this list: send the line "unsubscribe linux-ext4" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists