Sorry for the missing subject, should be the one in this mail
On Tue, Jun 24, 2008 at 10:13:48AM +0200, Christoph Hellwig wrote:
> As reported by Michael-John Turner XFS updates the mtime on the source
> inode of a rename call in case it's a directory and changes the parent.
>
> This doesn't make any sense, is not mentioned in the standards and not
> performed by any other Linux filesystems so remove it.
>
>
> (resending this as it might have been lost in the previous thread)
>
>
> Signed-off-by: Christoph Hellwig <hch@xxxxxx>
>
> Index: linux-2.6-xfs/fs/xfs/xfs_rename.c
> ===================================================================
> --- linux-2.6-xfs.orig/fs/xfs/xfs_rename.c 2008-06-18 18:24:38.000000000
> +0200
> +++ linux-2.6-xfs/fs/xfs/xfs_rename.c 2008-06-18 18:30:17.000000000 +0200
> @@ -336,22 +336,18 @@ xfs_rename(
> ASSERT(error != EEXIST);
> if (error)
> goto abort_return;
> - xfs_ichgtime(src_ip, XFS_ICHGTIME_MOD | XFS_ICHGTIME_CHG);
> -
> - } else {
> - /*
> - * We always want to hit the ctime on the source inode.
> - * We do it in the if clause above for the 'new_parent &&
> - * src_is_directory' case, and here we get all the other
> - * cases. This isn't strictly required by the standards
> - * since the source inode isn't really being changed,
> - * but old unix file systems did it and some incremental
> - * backup programs won't work without it.
> - */
> - xfs_ichgtime(src_ip, XFS_ICHGTIME_CHG);
> }
>
> /*
> + * We always want to hit the ctime on the source inode.
> + *
> + * This isn't strictly required by the standards since the source
> + * inode isn't really being changed, but old unix file systems did
> + * it and some incremental backup programs won't work without it.
> + */
> + xfs_ichgtime(src_ip, XFS_ICHGTIME_CHG);
> +
> + /*
> * Adjust the link count on src_dp. This is necessary when
> * renaming a directory, either within one parent when
> * the target existed, or across two parent directories.
---end quoted text---
|