Bug 176127 - ext2 mv directory changes mtime
Summary: ext2 mv directory changes mtime
Keywords:
Status: CLOSED INSUFFICIENT_DATA
Alias: None
Product: Fedora
Classification: Fedora
Component: kernel
Version: 4
Hardware: i386
OS: Linux
medium
medium
Target Milestone: ---
Assignee: Stephen Tweedie
QA Contact: Brian Brock
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2005-12-19 17:35 UTC by Mike Rubel
Modified: 2007-11-30 22:11 UTC (History)
2 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2006-05-05 21:18:02 UTC
Type: ---
Embargoed:


Attachments (Terms of Use)

Description Mike Rubel 2005-12-19 17:35:31 UTC
From Bugzilla Helper:
User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.7.5) Gecko/20041107 Firefox/1.0

Description of problem:
Calling /bin/mv on a directory in an ext2 filesystem changes its mtime, whereas calling it on a file on an ext2 filesystem--or a directory OR file on an ext3 filesystem--leaves the mtime intact.

I would expect mtime to be unaffected by /bin/mv in all four cases, so this seems strange to me.  I am not positive this qualifies as a kernel issue, but I wasn't sure where else to file it.

Version-Release number of selected component (if applicable):
kernel-2.6.14-1.1653_FC4

How reproducible:
Always

Steps to Reproduce:
1. Run the following script under an ext2 filesystem:

touch foo.file
mkdir foo.dir
echo "Before mv..."
stat foo.file
stat foo.dir
sleep 61
mv foo.file bar.file
mv foo.dir bar.dir
echo "After mv..."
stat bar.file
stat bar.dir

2. Run the same script on an ext3 filesystem.

3. Notice that of the four cases (mv of file on ext2, mv of directory on ext2, mv of file on ext3, mv of directory on ext3), only the mv directory on ext2 case changes the mtime.

Actual Results:  On an ext2 filesystem:

Before mv...
  File: `foo.file'
  Size: 0               Blocks: 8          IO Block: 4096   regular empty file
Device: 1605h/5637d     Inode: 12          Links: 1
Access: (0644/-rw-r--r--)  Uid: (    0/    root)   Gid: (    0/    root)
Access: 2005-12-19 09:29:41.000000000 -0800
Modify: 2005-12-19 09:29:41.000000000 -0800
Change: 2005-12-19 09:29:41.000000000 -0800
  File: `foo.dir'
  Size: 4096            Blocks: 16         IO Block: 4096   directory
Device: 1605h/5637d     Inode: 3749921     Links: 2
Access: (0755/drwxr-xr-x)  Uid: (    0/    root)   Gid: (    0/    root)
Access: 2005-12-19 09:29:41.000000000 -0800
Modify: 2005-12-19 09:29:41.000000000 -0800
Change: 2005-12-19 09:29:41.000000000 -0800
After mv...
  File: `bar.file'
  Size: 0               Blocks: 8          IO Block: 4096   regular empty file
Device: 1605h/5637d     Inode: 12          Links: 1
Access: (0644/-rw-r--r--)  Uid: (    0/    root)   Gid: (    0/    root)
Access: 2005-12-19 09:29:41.000000000 -0800
Modify: 2005-12-19 09:29:41.000000000 -0800
Change: 2005-12-19 09:30:42.000000000 -0800
  File: `bar.dir'
  Size: 4096            Blocks: 16         IO Block: 4096   directory
Device: 1605h/5637d     Inode: 3749921     Links: 2
Access: (0755/drwxr-xr-x)  Uid: (    0/    root)   Gid: (    0/    root)
Access: 2005-12-19 09:29:41.000000000 -0800
Modify: 2005-12-19 09:30:42.000000000 -0800
Change: 2005-12-19 09:30:42.000000000 -0800


On an ext3 filesystem:

Before mv...
  File: `foo.file'
  Size: 0               Blocks: 8          IO Block: 4096   regular empty file
Device: fd01h/64769d    Inode: 12          Links: 1
Access: (0644/-rw-r--r--)  Uid: (    0/    root)   Gid: (    0/    root)
Access: 2005-12-19 09:32:46.000000000 -0800
Modify: 2005-12-19 09:32:46.000000000 -0800
Change: 2005-12-19 09:32:46.000000000 -0800
  File: `foo.dir'
  Size: 4096            Blocks: 16         IO Block: 4096   directory
Device: fd01h/64769d    Inode: 196609      Links: 2
Access: (0755/drwxr-xr-x)  Uid: (    0/    root)   Gid: (    0/    root)
Access: 2005-12-19 09:32:46.000000000 -0800
Modify: 2005-12-19 09:32:46.000000000 -0800
Change: 2005-12-19 09:32:46.000000000 -0800
After mv...
  File: `bar.file'
  Size: 0               Blocks: 8          IO Block: 4096   regular empty file
Device: fd01h/64769d    Inode: 12          Links: 1
Access: (0644/-rw-r--r--)  Uid: (    0/    root)   Gid: (    0/    root)
Access: 2005-12-19 09:32:46.000000000 -0800
Modify: 2005-12-19 09:32:46.000000000 -0800
Change: 2005-12-19 09:33:47.000000000 -0800
  File: `bar.dir'
  Size: 4096            Blocks: 16         IO Block: 4096   directory
Device: fd01h/64769d    Inode: 196609      Links: 2
Access: (0755/drwxr-xr-x)  Uid: (    0/    root)   Gid: (    0/    root)
Access: 2005-12-19 09:32:46.000000000 -0800
Modify: 2005-12-19 09:32:46.000000000 -0800
Change: 2005-12-19 09:33:47.000000000 -0800


Expected Results:  Would have expected mtime to be unaffected in all four cases.

Additional info:

Comment 1 Dave Jones 2006-02-03 05:26:08 UTC
This is a mass-update to all currently open kernel bugs.

A new kernel update has been released (Version: 2.6.15-1.1830_FC4)
based upon a new upstream kernel release.

Please retest against this new kernel, as a large number of patches
go into each upstream release, possibly including changes that
may address this problem.

This bug has been placed in NEEDINFO_REPORTER state.
Due to the large volume of inactive bugs in bugzilla, if this bug is
still in this state in two weeks time, it will be closed.

Should this bug still be relevant after this period, the reporter
can reopen the bug at any time. Any other users on the Cc: list
of this bug can request that the bug be reopened by adding a
comment to the bug.

If this bug is a problem preventing you from installing the
release this version is filed against, please see bug 169613.

Thank you.


Comment 2 John Thacker 2006-05-05 21:18:02 UTC
Closing due to previous comment.


Note You need to log in before you can comment on or make changes to this bug.