summaryrefslogtreecommitdiff
path: root/fs/xfs
diff options
context:
space:
mode:
authorChristoph Hellwig <hch@infradead.org>2010-12-07 10:16:41 +0000
committerAlex Elder <aelder@sgi.com>2010-12-09 17:07:02 -0600
commit05340d4ab2ec2b6b4962c1c41c6ea8fb550f947b (patch)
tree9368b1f2e39ef219898bf32a7a2673d85720740d /fs/xfs
parentc76febef574fd86566bbdf1a73a547a439115c25 (diff)
downloadlinux-3.10-05340d4ab2ec2b6b4962c1c41c6ea8fb550f947b.tar.gz
linux-3.10-05340d4ab2ec2b6b4962c1c41c6ea8fb550f947b.tar.bz2
linux-3.10-05340d4ab2ec2b6b4962c1c41c6ea8fb550f947b.zip
xfs: log timestamp changes to the source inode in rename
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@lst.de> Reviewed-by: Dave Chinner <dchinner@redhat.com> Signed-off-by: Alex Elder <aelder@sgi.com>
Diffstat (limited to 'fs/xfs')
-rw-r--r--fs/xfs/xfs_rename.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/fs/xfs/xfs_rename.c b/fs/xfs/xfs_rename.c
index d2af0a8381a..77a59891734 100644
--- a/fs/xfs/xfs_rename.c
+++ b/fs/xfs/xfs_rename.c
@@ -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