]> git.ipfire.org Git - people/pmueller/ipfire-2.x.git/blobdiff - src/patches/suse-2.6.27.31/patches.fixes/ext2_mtime_update_on_rename.diff
Added missing Xen Kernel Patches which were not commited because
[people/pmueller/ipfire-2.x.git] / src / patches / suse-2.6.27.31 / patches.fixes / ext2_mtime_update_on_rename.diff
diff --git a/src/patches/suse-2.6.27.31/patches.fixes/ext2_mtime_update_on_rename.diff b/src/patches/suse-2.6.27.31/patches.fixes/ext2_mtime_update_on_rename.diff
new file mode 100644 (file)
index 0000000..15d5a50
--- /dev/null
@@ -0,0 +1,31 @@
+From: Jan Kara <jack@suse.cz>
+Subject: [PATCH] ext2: Do not update mtime of a move directory when parent has not changed
+References: bnc#493392
+Patch-mainline: 2.6.30
+
+If the parent of the moved directory has not changed, there's no real
+reason to change mtime. Specs doesn't seem to say anything about this
+particular case and e.g. ext3 does not change mtime in this case.
+So we become a tiny bit more consistent.
+
+Spotted by ronny.pretzsch@dfs.de, initial fix by Jörn Engel <joern@logfs.org>.
+
+Signed-off-by: Jan Kara <jack@suse.cz>
+---
+ fs/ext2/namei.c |    5 ++++-
+ 1 file changed, 4 insertions(+), 1 deletion(-)
+
+--- a/fs/ext2/namei.c
++++ b/fs/ext2/namei.c
+@@ -355,7 +355,10 @@ static int ext2_rename (struct inode * o
+       inode_dec_link_count(old_inode);
+       if (dir_de) {
+-              ext2_set_link(old_inode, dir_de, dir_page, new_dir);
++              /* Set link only if parent has changed and thus avoid setting
++               * of mtime of the moved directory on a pure rename. */
++              if (old_dir != new_dir)
++                      ext2_set_link(old_inode, dir_de, dir_page, new_dir);
+               inode_dec_link_count(old_dir);
+       }
+       return 0;