Thread (36 messages) 36 messages, 6 authors, 2014-12-02

Re: [PATCH-v4 1/7] vfs: split update_time() into update_time() and write_time()

From: "Theodore Ts'o" <tytso@mit.edu>
Date: 2014-12-02 15:09:12
Also in: linux-ext4, linux-fsdevel, linux-xfs

On Tue, Dec 02, 2014 at 01:20:33AM -0800, Christoph Hellwig wrote:
Why do you need the additional I_DIRTY flag?  A "lesser"
__mark_inode_dirty should never override a stronger one.
Agreed, will fix.
Otherwise this looks fine to me, except that I would split the default
implementation into a new generic_update_time helper.
Sure, I can do that.
quoted
XFS doesn't have a ->dirty_time yet, but that way XFS would be able to
use the I_DIRTY_TIME flag to log the journal timestamps if it so
desires, and perhaps drop the need for it to use update_time().
We will probably always need a ->update_time to proide proper locking
around the timestamp updates.
Couldn't you let the VFS set the inode timesstamps and then have xfs's
->dirty_time(inode, I_DIRTY_TIME) copy the timestamps to the on-disk
inode structure under the appropriate lock, or am I missing something?
In the current from the generic lazytime might even be a loss for XFS as
we're already really good at batching updates from multiple inodes in
the same cluster for the in-place writeback, so I really don't want
to just enable it without those optimizations without a lot of testing.
Fair enough; it's not surprising that this might be much more
effective as an optimization for ext4, for no other reason that
timestamp updates are so much heavyweight for us.  I suspect that it
should be a win for btrfs, though, and it should definitely be a win
for those file systems that don't use journalling at all.

    	       	       	    	      		     - Ted
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help