[PATCH] xfs: log timestamp changes to the source inode in rename

Christoph Hellwig hch at infradead.org
Tue Dec 7 04:16:41 CST 2010


Now that we don't mark VFS inodes dirty anymore for internal timestamp changes,
but rely on the transaction subsystem to push them out, we need to explicitly
log the source inode in rename after updating it's timestamps to make sure
the changes actually get forced out by sync/fsync or an AIL push.

We already account for the fourth inode in the log reservation, as a rename
of directories needs to update the nlink field, so just adding the
xfs_trans_log_inode call is enough.

This fixes the xfsqa 065 regression introduced by:

	"xfs: don't use vfs writeback for pure metadata modifications"


Signed-off-by: Christoph Hellwig <hch at lst.de>

Index: xfs/fs/xfs/xfs_rename.c
===================================================================
--- xfs.orig/fs/xfs/xfs_rename.c	2010-12-07 11:05:15.661253391 +0100
+++ xfs/fs/xfs/xfs_rename.c	2010-12-07 11:05:25.139275042 +0100
@@ -297,6 +297,7 @@ xfs_rename(
 	 * it and some incremental backup programs won't work without it.
 	 */
 	xfs_trans_ichgtime(tp, src_ip, XFS_ICHGTIME_CHG);
+	xfs_trans_log_inode(tp, src_ip, XFS_ILOG_CORE);
 
 	/*
 	 * Adjust the link count on src_dp.  This is necessary when




More information about the xfs mailing list