[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

fs/ext2/namei.c: dir link/unlink bug? [Re: mv changes dir timestamp

From: Jim Meyering
Subject: fs/ext2/namei.c: dir link/unlink bug? [Re: mv changes dir timestamp
Date: Sun, 30 Sep 2001 11:10:16 +0200
User-agent: Gnus/5.090004 (Oort Gnus v0.04) Emacs/21.0.106

Nilmoni Deb <address@hidden> wrote:
> When I move a directory its time stamp gets changed.
> I am using mv version 4.1 (with mandrake-8.1).

Thanks a lot for reporting that!
This appears to be a bug not in GNU mv, nor even in GNU libc, but
rather in the underlying implementation in the kernel ext2 file system
support.  The offending change seems to have come in with a rewrite
of fs/ext2/namei.c that happened sometime between 2.4.4 and 2.4.9.

That file begins with this new comment:

 * Rewrite to pagecache. Almost all code had been changed, so blame me
 * if the things go wrong. Please, send bug reports to address@hidden

This demonstrates that the problem affects ext2, but not tmpfs
using a 2.4.10 kernel (notice that the timestamp doesn't change
in /t, but does in the ext2 /tmp):

  $ df -T /tmp /t
  Filesystem    Type    Size  Used Avail Use% Mounted on
  /dev/sda1     ext2    942M   52M  842M   6% /tmp
  tmpfs        tmpfs    250M  4.0k  250M   1% /t

  $ cd /t && bash /tmp/ext2-link-bug
  drwxr-xr-x    2        0 2001-09-30 10:49:38.000000000 +0200 a
  drwxr-xr-x    2        0 2001-09-30 10:49:38.000000000 +0200 b
  $ cd /tmp && bash /tmp/ext2-link-bug
  drwxr-xr-x    2     4096 2001-09-30 10:49:43.000000000 +0200 a
  drwxr-xr-x    2     4096 2001-09-30 10:49:45.000000000 +0200 b

  $ cat /tmp/ext2-link-bug
  mkdir $t
  cd $t
  mkdir a
  ls -gold --full-time a
  sleep 2
  mv a b
  ls -gold --full-time b
  cd ..
  rm -rf $t


Linux pixie 2.4.10 #1 SMP Fri Sep 28 11:50:55 CEST 2001 i686 unknown

Gnu C                  2.95.4
Gnu make               3.79.1
util-linux             2.11h
mount                  2.11h
modutils               2.4.8
e2fsprogs              1.25
Linux C Library        2.2.4
Dynamic linker (ldd)   2.2.4
Procps                 2.0.7
Net-tools              1.60
Console-tools          0.2.3
Sh-utils               2.0.11
Modules Loaded         ppp_deflate ppp_async ppp_generic slhc parport_pc lp 
parport 3c59x

reply via email to

[Prev in Thread] Current Thread [Next in Thread]