ext4: Don't update ctime for non-extent-mapped inodes

Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]
From: Linux Kernel Mailing List
Date: Thursday, June 18, 2009 - 3:04 pm

Gitweb:     http://git.kernel.org/linus/4159175058987cb68aefd0e9eec2598b795363b4
Commit:     4159175058987cb68aefd0e9eec2598b795363b4
Parent:     de9a55b841132f7ae097f6e31ccebad2d5030cf5
Author:     Theodore Ts'o <tytso@mit.edu>
AuthorDate: Mon Jun 15 03:41:23 2009 -0400
Committer:  Theodore Ts'o <tytso@mit.edu>
CommitDate: Mon Jun 15 03:41:23 2009 -0400

    ext4: Don't update ctime for non-extent-mapped inodes
    
    The VFS handles updating ctime, so we don't need to update the inode's
    ctime in ext4_splace_branch() to update the direct or indirect blocks.
    This was harmless when we did this in ext3, but in ext4, thanks to
    delayed allocation, updating the ctime in ext4_splice_branch() can
    cause the ctime to mysteriously jump when the blocks are finally
    allocated.
    
    Thanks to Björn Steinbrink for pointing out this problem on the git
    mailing list.
    
    Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
---
 fs/ext4/inode.c |    6 +-----
 1 files changed, 1 insertions(+), 5 deletions(-)

diff --git a/fs/ext4/inode.c b/fs/ext4/inode.c
index 8d0908a..7c17ae2 100644
--- a/fs/ext4/inode.c
+++ b/fs/ext4/inode.c
@@ -856,10 +856,6 @@ static int ext4_splice_branch(handle_t *handle, struct inode *inode,
 	}
 
 	/* We are done with atomic stuff, now do the rest of housekeeping */
-
-	inode->i_ctime = ext4_current_time(inode);
-	ext4_mark_inode_dirty(handle, inode);
-
 	/* had we spliced it onto indirect block? */
 	if (where->bh) {
 		/*
@@ -878,8 +874,8 @@ static int ext4_splice_branch(handle_t *handle, struct inode *inode,
 	} else {
 		/*
 		 * OK, we spliced it into the inode itself on a direct block.
-		 * Inode was dirtied above.
 		 */
+		ext4_mark_inode_dirty(handle, inode);
 		jbd_debug(5, "splicing direct\n");
 	}
 	return err;
--
To unsubscribe from this list: send the line "unsubscribe git-commits-head" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]

Messages in current thread:
ext4: Don't update ctime for non-extent-mapped inodes, Linux Kernel Mailing ..., (Thu Jun 18, 3:04 pm)